
:root {
  --gcb-ink: #1d1d1b;
  --gcb-muted: #686862;
  --gcb-ivory: #f7f5f0;
  --gcb-paper: #fffdf9;
  --gcb-line: #dedbd2;
  --gcb-walnut: #8b654a;
  --gcb-sage: #7b8872;
  --gcb-terra: #c66a4a;
  --gcb-radius: 18px;
}
html { scroll-behavior: smooth; }
body { background: var(--gcb-ivory) !important; color: var(--gcb-ink) !important; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; letter-spacing: 0; }
body h1, body h2, body h3, body h4, body .f-h1, body .f-h2 { font-family: Georgia, "Times New Roman", serif; color: var(--gcb-ink); letter-spacing: -.035em; }
body a { color: inherit; }
.container, .container-fluid, .container-full { max-width: 1320px; }
.container-fluid { padding-left: clamp(20px, 4vw, 64px); padding-right: clamp(20px, 4vw, 64px); }
.f-section-py, .f-section-my { padding-top: clamp(48px, 7vw, 104px); padding-bottom: clamp(48px, 7vw, 104px); }
.f-button, button.f-button, .gcb-button { border-radius: 999px !important; text-transform: none !important; font-weight: 650; letter-spacing: .01em; min-height: 48px; padding: 0 24px; transition: transform .25s ease, background .25s ease, color .25s ease; }
.f-button:hover, .gcb-button:hover { transform: translateY(-2px); }
.f-button--primary, .gcb-button--dark { background: var(--gcb-ink) !important; color: white !important; border-color: var(--gcb-ink) !important; }
.f-button--secondary, .gcb-button--outline { background: transparent !important; color: var(--gcb-ink) !important; border: 1px solid var(--gcb-ink) !important; }
.f-gradient, [class*=f-color-] { --color-foreground: var(--gcb-ink); }
.f-header { z-index: 50; }
.f-header__desktop, .f-header__mobile { background: rgba(247,245,240,.94) !important; color: var(--gcb-ink) !important; backdrop-filter: blur(16px); border-bottom: 1px solid rgba(29,29,27,.1); }
.f-header__desktop .f-menu__link--main, .f-header__mobile a { color: var(--gcb-ink) !important; font-weight: 600; }
.f-logo strong { font: 700 1.6rem/1 Georgia,serif; letter-spacing: .12em; color: var(--gcb-ink); }
.f-promotion, .f-promotion__text, .f-scrolling-promotion { background: var(--gcb-ink) !important; color: white !important; }
.f-promotion__text { font-size: 12px !important; letter-spacing: .1em; text-transform: uppercase; }
.f-footer { background: var(--gcb-ink) !important; color: #f7f5f0 !important; }
.f-footer h3, .f-footer a, .f-footer p, .f-footer span { color: #f7f5f0 !important; }
.f-footer input { background: rgba(255,255,255,.09) !important; border-color: rgba(255,255,255,.35) !important; color: white !important; border-radius: 999px !important; }
.f-footer .f-button { background: #f7f5f0 !important; color: var(--gcb-ink) !important; }
.f-product-card { background: transparent !important; }
.f-product-card__media { border-radius: var(--gcb-radius); overflow: hidden; background: #ece9e1; }
.f-product-card__title { font-size: 15px; line-height: 1.35; font-weight: 600; }
.f-product-card__price { color: var(--gcb-ink); font-weight: 700; }
.f-collection-page-header { background: var(--gcb-ivory) !important; }
.f-collection-page-header__wrapper { border-radius: 0 !important; min-height: 260px; }
.facest-filters-section, .f-product-page, .main-page, .f-section { color: var(--gcb-ink); }
.f-collection-products { row-gap: 36px; }
.f-collection-products .f-product-card__media { aspect-ratio: 1 / 1; }
.f-product-card__media img { transition: transform .45s ease; }
.f-product-card:hover .f-product-card__media img { transform: scale(1.035); }
.f-product-card__actions { opacity: 1 !important; }
.f-product-card__quick-add { border-radius: 999px !important; }
.f-product { background: var(--gcb-paper); }
.f-product__media, .f-product__info { border-radius: var(--gcb-radius); }
.f-product-form button[type=submit], .f-product__info .f-button--primary { border-radius: 999px !important; min-height: 56px; }
.f-product-details-tabs, .f-product__description { max-width: 900px; margin-inline: auto; }
.f-page-title { padding-top: 56px; padding-bottom: 40px; }
.rte a { text-decoration-color: var(--gcb-terra); }
.form-field { border-radius: 12px !important; background: var(--gcb-paper) !important; border-color: var(--gcb-line) !important; }
/* the custom sections below */
.gcb-section { padding: clamp(64px, 9vw, 128px) 0; }
.gcb-wrap { width: min(1320px, calc(100% - 40px)); margin: 0 auto; }
.gcb-eyebrow { color: var(--gcb-walnut); text-transform: uppercase; font-size: 11px; letter-spacing: .16em; font-weight: 700; margin-bottom: 18px; }
.gcb-heading { font-size: clamp(38px, 5vw, 76px); line-height: .98; margin: 0; }
.gcb-lede { color: var(--gcb-muted); font-size: clamp(16px, 1.3vw, 20px); line-height: 1.6; max-width: 560px; }
.gcb-home-hero { min-height: min(720px, calc(100vh - 112px)); display: flex; align-items: flex-end; position: relative; overflow: hidden; background: #c5b9aa; }
.gcb-home-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(21,20,18,.72), rgba(21,20,18,.05) 70%), var(--gcb-hero-image) center/cover; }
.gcb-home-hero__content { position: relative; z-index: 1; color: white; padding: clamp(80px, 13vw, 180px) 0 76px; }
.gcb-home-hero .gcb-eyebrow { color: #e8d6c9; }
.gcb-home-hero .gcb-heading { color: white; max-width: 760px; }
.gcb-home-hero .gcb-lede { color: rgba(255,255,255,.82); }
.gcb-home-hero .gcb-button--outline { color: white !important; border-color: rgba(255,255,255,.7) !important; }
.gcb-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.gcb-button { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.gcb-section-head { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 34px; }
.gcb-section-head h2 { font-size: clamp(32px, 4vw, 54px); margin: 0; line-height: 1; }
.gcb-section-head p { margin: 0; max-width: 460px; color: var(--gcb-muted); line-height: 1.6; }
.gcb-categories { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.gcb-category { position: relative; min-height: 330px; overflow: hidden; border-radius: var(--gcb-radius); background: #d8d2c9; }
.gcb-category img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.gcb-category::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(0,0,0,.72)); }
.gcb-category:hover img { transform: scale(1.05); }
.gcb-category__copy { position: absolute; z-index: 1; inset: auto 20px 22px; color: white; }
.gcb-category__copy h3 { color: white; margin: 0 0 4px; font-size: 25px; }
.gcb-category__copy span { font-size: 13px; opacity: .8; }
.gcb-products-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 18px; }
.gcb-product-card { min-width: 0; }
.gcb-product-card__image { display: block; border-radius: 14px; overflow: hidden; background: #ebe8e0; aspect-ratio: 1 / 1; }
.gcb-product-card__image img { width: 100%; height: 100%; display: block; object-fit: contain; transition: transform .5s ease; }
.gcb-product-card:hover .gcb-product-card__image img { transform: scale(1.04); }
.gcb-product-card__meta { padding-top: 13px; display: flex; justify-content: space-between; gap: 10px; align-items: start; }
.gcb-product-card__meta h3 { font-family: inherit; font-size: 14px; letter-spacing: 0; line-height: 1.35; margin: 0; font-weight: 600; }
.gcb-product-card__price { white-space: nowrap; font-size: 14px; font-weight: 700; }
.gcb-editorial { display: grid; grid-template-columns: 1.12fr .88fr; min-height: 520px; background: #e4e1d8; border-radius: var(--gcb-radius); overflow: hidden; }
.gcb-editorial__image { min-height: 420px; background: center/cover no-repeat; }
.gcb-editorial__copy { padding: clamp(38px, 6vw, 88px); display: flex; flex-direction: column; justify-content: center; }
.gcb-editorial__copy h2 { font-size: clamp(34px, 4.5vw, 62px); line-height: 1; margin: 0 0 20px; }
.gcb-editorial__copy p { color: var(--gcb-muted); line-height: 1.7; max-width: 450px; }
.gcb-trust { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--gcb-line); border-bottom: 1px solid var(--gcb-line); }
.gcb-trust article { padding: 26px 20px; border-right: 1px solid var(--gcb-line); }
.gcb-trust article:last-child { border-right: 0; }
.gcb-trust strong { display: block; font: 22px Georgia,serif; margin-bottom: 8px; }
.gcb-trust span { color: var(--gcb-muted); font-size: 13px; line-height: 1.5; }
.gcb-newsletter { background: var(--gcb-sage); color: white; border-radius: var(--gcb-radius); text-align: center; padding: clamp(46px, 8vw, 90px) 20px; }
.gcb-newsletter h2 { color: white; font-size: clamp(34px, 4.5vw, 58px); margin: 0 0 12px; }
.gcb-newsletter p { opacity: .82; }
.gcb-newsletter form { width: min(480px, 100%); margin: 28px auto 0; display: flex; gap: 8px; }
.gcb-newsletter input { flex: 1; min-width: 0; border: 0; border-radius: 999px; padding: 0 20px; min-height: 52px; }
.gcb-newsletter button { border: 0; background: var(--gcb-ink); color: white; min-height: 52px; padding: 0 22px; border-radius: 999px; font-weight: 700; }
.gcb-editorial-page { background: var(--gcb-paper); }
.gcb-page-hero { min-height: 410px; display:flex; align-items:flex-end; padding: 80px 0 60px; background: var(--gcb-paper); }
.gcb-page-hero h1 { font-size: clamp(48px, 7vw, 96px); margin: 0; }
.gcb-about-hero { min-height: 560px; border-radius: var(--gcb-radius); background: center/cover no-repeat; display:flex; align-items:flex-end; overflow:hidden; position:relative; }
.gcb-about-hero::after { content:""; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,rgba(0,0,0,.7)); }
.gcb-about-hero__copy { position:relative; z-index:1; padding: clamp(30px,6vw,82px); color:#fff; }
.gcb-about-hero__copy h1 { color:#fff; font-size:clamp(44px,7vw,92px); max-width:760px; margin:0; }
.gcb-story { display:grid; grid-template-columns: .9fr 1.1fr; gap: clamp(32px, 7vw, 100px); align-items:center; }
.gcb-story h2 { font-size:clamp(34px,4vw,58px); margin:0 0 18px; }
.gcb-story p { color:var(--gcb-muted); line-height:1.8; }
.gcb-story img { width:100%; border-radius:var(--gcb-radius); aspect-ratio: 4/3; object-fit:cover; }
.gcb-values { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.gcb-value { background:var(--gcb-ivory); padding:28px; border-radius:14px; min-height:170px; }
.gcb-value strong { font: 28px Georgia,serif; display:block; margin-bottom:10px; }
.gcb-value p { margin:0; color:var(--gcb-muted); line-height:1.6; font-size:14px; }
.gcb-faq { max-width:920px; margin:0 auto; }
.gcb-faq__body { background:var(--gcb-paper); border-radius:var(--gcb-radius); padding: clamp(24px,5vw,64px); }
.gcb-faq__body h2, .gcb-faq__body h3 { margin-top: 30px; }
.gcb-faq__body table { width:100%; border-collapse:collapse; margin: 20px 0; }
.gcb-faq__body td { border:1px solid var(--gcb-line); padding:12px; }
.gcb-contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(24px,5vw,80px); align-items:start; }
.gcb-contact-card { background:var(--gcb-ink); color:white; border-radius:var(--gcb-radius); padding:clamp(30px,5vw,64px); }
.gcb-contact-card h1 { color:white; font-size:clamp(42px,6vw,76px); margin:0 0 20px; }
.gcb-contact-card p { opacity:.78; line-height:1.7; }
.gcb-contact-form { background:var(--gcb-paper); border-radius:var(--gcb-radius); padding:clamp(24px,5vw,58px); }
.gcb-contact-form .form-field { min-height:52px; width:100%; padding:14px 16px; }
.gcb-contact-form textarea { min-height:160px; }
.gcb-contact-form__row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.gcb-404 { text-align:center; min-height:60vh; display:grid; place-items:center; padding:80px 20px; }
.gcb-404 h1 { font-size:clamp(80px,15vw,200px); margin:0; line-height:.8; }
@media (max-width: 900px) { .gcb-categories { grid-template-columns:repeat(3,1fr); } .gcb-category { min-height:260px; } .gcb-products-grid { grid-template-columns:repeat(2,1fr); gap:26px 12px; } .gcb-editorial, .gcb-story, .gcb-contact-grid { grid-template-columns:1fr; } .gcb-editorial__image { min-height:320px; } .gcb-trust { grid-template-columns:repeat(2,1fr); } .gcb-trust article:nth-child(2) { border-right:0; } .gcb-trust article:nth-child(-n+2) { border-bottom:1px solid var(--gcb-line); } .gcb-values { grid-template-columns:1fr; } }
@media (max-width: 560px) { .gcb-section-head { display:block; } .gcb-section-head p { margin-top:14px; } .gcb-categories { grid-template-columns:repeat(2,1fr); } .gcb-category:last-child { grid-column:span 2; min-height:220px; } .gcb-newsletter form { display:block; } .gcb-newsletter input, .gcb-newsletter button { width:100%; } .gcb-newsletter button { margin-top:8px; } .gcb-contact-form__row { grid-template-columns:1fr; } }

/* GCBROACH expanded editorial modules */
.gcb-section--tight { padding-top: clamp(38px, 5vw, 72px); padding-bottom: clamp(38px, 5vw, 72px); }
.gcb-section--paper { background: var(--gcb-paper); }
.gcb-section--dark { background: var(--gcb-ink); color: var(--gcb-paper); }
.gcb-section--sage { background: var(--gcb-sage); color: white; }
.gcb-section--dark h2, .gcb-section--dark h3, .gcb-section--sage h2 { color: white; }
.gcb-button--light { background: var(--gcb-paper) !important; color: var(--gcb-ink) !important; border-color: var(--gcb-paper) !important; }
.gcb-home-intro { padding-bottom: clamp(48px, 7vw, 92px); }
.gcb-home-intro__grid { display:grid; grid-template-columns: .7fr 1fr 1fr; gap: 24px; align-items:end; border-top:1px solid var(--gcb-line); padding-top:32px; }
.gcb-home-intro h2 { font-size:clamp(36px,5vw,68px); line-height:.98; margin:0; }
.gcb-home-intro p { max-width:370px; color:var(--gcb-muted); line-height:1.7; margin:0 0 4px; }
.gcb-home-quicklinks { border-top:1px solid var(--gcb-line); border-bottom:1px solid var(--gcb-line); padding:22px 0; }
.gcb-home-quicklinks .gcb-eyebrow { margin:0 0 14px; }
.gcb-quicklinks { display:flex; flex-wrap:wrap; gap:10px; }
.gcb-quicklinks a { border:1px solid var(--gcb-line); border-radius:999px; padding:12px 16px; text-decoration:none; background:var(--gcb-paper); font-weight:600; }
.gcb-quicklinks a span { color:var(--gcb-walnut); margin-left:14px; }
.gcb-room-edit { display:grid; grid-template-columns:1.15fr .85fr; min-height:560px; gap:14px; }
.gcb-room-edit a, .gcb-dual-edit a { position:relative; display:block; overflow:hidden; border-radius:var(--gcb-radius); color:white; min-height:250px; }
.gcb-room-edit img, .gcb-dual-edit img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
.gcb-room-edit a:hover img, .gcb-dual-edit a:hover img { transform:scale(1.04); }
.gcb-room-edit__lead { min-height:560px !important; }
.gcb-room-edit a:after, .gcb-dual-edit a:after { content:""; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,rgba(0,0,0,.75)); }
.gcb-room-edit a span, .gcb-dual-edit a span, .gcb-room-edit a strong, .gcb-dual-edit a strong { position:absolute; z-index:1; left:24px; bottom:22px; }
.gcb-room-edit a strong, .gcb-dual-edit a strong { bottom:46px; color:white; font:28px Georgia,serif; }
.gcb-room-edit a small, .gcb-dual-edit a span { bottom:20px; font-size:13px; opacity:.86; }
.gcb-room-edit__stack { display:grid; grid-template-rows:1fr 1fr; gap:14px; }
.gcb-dual-edit { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.gcb-dual-edit a { min-height:440px; }
.gcb-lighting-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.gcb-lighting-grid a { position:relative; aspect-ratio:1/1.12; border-radius:var(--gcb-radius); overflow:hidden; background:#ebe8e0; }
.gcb-lighting-grid img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.gcb-lighting-grid a:hover img { transform:scale(1.05); }
.gcb-lighting-grid a:after { content:""; position:absolute; inset:55% 0 0; background:linear-gradient(transparent,rgba(0,0,0,.65)); }
.gcb-lighting-grid span { position:absolute; z-index:1; left:18px; bottom:16px; color:white; font:22px Georgia,serif; }
.gcb-feature-product { display:grid; grid-template-columns:1fr 1fr; min-height:500px; align-items:stretch; }
.gcb-feature-product__image { background:#ebe8e0; border-radius:var(--gcb-radius) 0 0 var(--gcb-radius); overflow:hidden; }
.gcb-feature-product__image img { width:100%; height:100%; object-fit:contain; display:block; }
.gcb-feature-product__copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(32px,7vw,96px); background:#2b2924; border-radius:0 var(--gcb-radius) var(--gcb-radius) 0; }
.gcb-feature-product__copy h2 { font-size:clamp(36px,4vw,62px); line-height:1; margin:0 0 20px; }
.gcb-feature-product__copy p { color:#c9c3b8; line-height:1.7; max-width:420px; }
.gcb-materials { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--gcb-line); border-bottom:1px solid var(--gcb-line); }
.gcb-materials a { padding:28px 18px; border-right:1px solid var(--gcb-line); text-decoration:none; }
.gcb-materials a:last-child { border-right:0; }
.gcb-materials__swatch { display:block; width:100%; aspect-ratio:1.6; border-radius:12px; margin-bottom:18px; }
.gcb-materials__swatch--wood { background:linear-gradient(135deg,#b48357,#5c3c28); }
.gcb-materials__swatch--linen { background:linear-gradient(135deg,#e6dece,#b4a28a); }
.gcb-materials__swatch--stone { background:linear-gradient(135deg,#d0cbc0,#8d8c84); }
.gcb-materials__swatch--brass { background:linear-gradient(135deg,#f0d28b,#98733a); }
.gcb-materials strong, .gcb-materials small { display:block; }
.gcb-materials strong { font:23px Georgia,serif; }
.gcb-materials small { color:var(--gcb-muted); margin-top:5px; font-size:12px; }
.gcb-guidance { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(32px,8vw,120px); align-items:center; }
.gcb-guidance h2 { font-size:clamp(36px,4.5vw,60px); line-height:1; margin:0 0 18px; }
.gcb-guidance p { color:var(--gcb-muted); line-height:1.7; max-width:390px; }
.gcb-guidance__list > div { display:grid; grid-template-columns:55px 1fr; gap:16px; padding:23px 0; border-top:1px solid var(--gcb-line); }
.gcb-guidance__list b { color:var(--gcb-walnut); font:24px Georgia,serif; }
.gcb-guidance__list span { color:var(--gcb-muted); line-height:1.55; }
.gcb-guidance__list strong { color:var(--gcb-ink); display:block; margin-bottom:4px; }
.gcb-price-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.gcb-price-grid a { background:var(--gcb-ivory); border-radius:var(--gcb-radius); min-height:180px; padding:28px; display:flex; flex-direction:column; justify-content:flex-end; text-decoration:none; transition:transform .25s ease, background .25s ease; }
.gcb-price-grid a:hover { transform:translateY(-4px); background:#e9e4d9; }
.gcb-price-grid strong { font:28px Georgia,serif; }
.gcb-price-grid span { color:var(--gcb-muted); margin-top:8px; font-size:13px; }
.gcb-approach { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:end; }
.gcb-section--sage .gcb-eyebrow { color:#e4d8c4; }
.gcb-approach h2 { color:white; font-size:clamp(36px,5vw,68px); line-height:.98; margin:0; }
.gcb-approach p { color:rgba(255,255,255,.8); line-height:1.7; max-width:440px; }
.gcb-services { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--gcb-line); border-bottom:1px solid var(--gcb-line); }
.gcb-services article { padding:28px 18px; border-right:1px solid var(--gcb-line); }
.gcb-services article:last-child { border-right:0; }
.gcb-services b { display:block; font:21px Georgia,serif; margin-bottom:9px; }
.gcb-services span { color:var(--gcb-muted); font-size:13px; line-height:1.5; }
.gcb-quote { text-align:center; max-width:850px; margin:0 auto; }
.gcb-quote blockquote { font:clamp(32px,5vw,62px)/1.08 Georgia,serif; margin:0 0 22px; letter-spacing:-.035em; }
.gcb-quote > span { color:var(--gcb-muted); font-size:13px; }
.gcb-faq-teaser, .gcb-contact-bottom, .gcb-page-cta { display:flex; justify-content:space-between; align-items:end; gap:24px; }
.gcb-faq-teaser h2, .gcb-contact-bottom h2, .gcb-page-cta h2 { font-size:clamp(34px,4vw,56px); line-height:1; margin:0; }
.gcb-faq-teaser p { color:var(--gcb-muted); max-width:450px; line-height:1.6; }
.gcb-about-stats { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--gcb-line); border-bottom:1px solid var(--gcb-line); }
.gcb-about-stats div { padding:28px 18px; border-right:1px solid var(--gcb-line); }
.gcb-about-stats div:last-child { border-right:0; }
.gcb-about-stats strong { display:block; font:clamp(30px,4vw,48px) Georgia,serif; }
.gcb-about-stats span { color:var(--gcb-muted); font-size:13px; }
.gcb-timeline { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.gcb-timeline > div { padding:28px; background:var(--gcb-ivory); border-radius:14px; min-height:230px; }
.gcb-timeline span { color:var(--gcb-walnut); font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.gcb-timeline h3 { font-size:28px; margin:34px 0 10px; }
.gcb-timeline p { color:var(--gcb-muted); line-height:1.6; margin:0; font-size:14px; }
.gcb-process { display:grid; grid-template-columns:.8fr 1.2fr; gap:40px; align-items:center; }
.gcb-process h2 { font-size:clamp(36px,4.5vw,62px); line-height:1; margin:0; }
.gcb-process__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.gcb-process__grid > div { padding:24px 18px; border:1px solid rgba(255,255,255,.18); border-radius:14px; }
.gcb-process__grid b { display:block; color:#d6b89c; margin-bottom:28px; }
.gcb-process__grid strong, .gcb-process__grid span { display:block; }
.gcb-process__grid strong { color:white; font:21px Georgia,serif; }
.gcb-process__grid span { color:rgba(255,255,255,.7); font-size:13px; line-height:1.5; margin-top:7px; }
.gcb-contact-intro { display:grid; grid-template-columns:1fr 1fr; gap:32px; padding:36px 0 70px; border-bottom:1px solid var(--gcb-line); }
.gcb-contact-intro h2 { font-size:clamp(36px,4vw,58px); margin:0 0 14px; }
.gcb-contact-intro p { max-width:480px; color:var(--gcb-muted); line-height:1.7; }
.gcb-contact-details { display:grid; grid-template-columns:1fr 1fr; gap:14px; align-self:end; }
.gcb-contact-details div { border-left:2px solid var(--gcb-walnut); padding-left:16px; }
.gcb-contact-details span, .gcb-contact-details strong { display:block; }
.gcb-contact-details span { color:var(--gcb-muted); font-size:12px; margin-bottom:6px; }
.gcb-contact-details strong { font-size:14px; line-height:1.5; }
.gcb-contact-topics { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.gcb-contact-topics a { padding:25px; background:var(--gcb-paper); border-radius:14px; text-decoration:none; border:1px solid var(--gcb-line); }
.gcb-contact-topics span { color:var(--gcb-walnut); font-size:12px; }
.gcb-contact-topics strong, .gcb-contact-topics small { display:block; }
.gcb-contact-topics strong { font:24px Georgia,serif; margin:24px 0 8px; }
.gcb-contact-topics small { color:var(--gcb-muted); line-height:1.5; }
.gcb-contact-card h2 { color:white; font:clamp(34px,4vw,56px) Georgia,serif; line-height:1; margin:0 0 20px; }
.gcb-contact-card__note { border-top:1px solid rgba(255,255,255,.25); margin-top:34px; padding-top:18px; }
.gcb-contact-card__note b, .gcb-contact-card__note span { display:block; }
.gcb-contact-card__note span { color:rgba(255,255,255,.7); margin-top:5px; font-size:13px; }
.gcb-form-consent { display:block; color:var(--gcb-muted); font-size:12px; margin:16px 0; }
.gcb-form-consent input { accent-color:var(--gcb-ink); }
.gcb-faq-intro { display:flex; justify-content:space-between; align-items:end; gap:24px; padding:34px 0; border-top:1px solid var(--gcb-line); }
.gcb-faq-intro h2 { font-size:clamp(34px,4vw,58px); line-height:1; margin:0; }
.gcb-faq-intro p { color:var(--gcb-muted); max-width:380px; line-height:1.6; }
.gcb-faq-topics { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; padding-bottom:70px; }
.gcb-faq-topics a { background:var(--gcb-ivory); border-radius:14px; padding:22px; text-decoration:none; }
.gcb-faq-topics span, .gcb-faq-topics small { color:var(--gcb-muted); font-size:12px; }
.gcb-faq-topics strong, .gcb-faq-topics small { display:block; }
.gcb-faq-topics strong { font:23px Georgia,serif; margin:30px 0 6px; }
.gcb-faq-accordion { max-width:920px; margin:0 auto; border-top:1px solid var(--gcb-line); }
.gcb-faq-accordion details { border-bottom:1px solid var(--gcb-line); }
.gcb-faq-accordion summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; padding:25px 0; font:26px Georgia,serif; }
.gcb-faq-accordion summary::-webkit-details-marker { display:none; }
.gcb-faq-accordion summary b { color:var(--gcb-walnut); font:28px Arial,sans-serif; }
.gcb-faq-accordion details[open] summary b { transform:rotate(45deg); }
.gcb-faq-accordion details > div { padding:0 40px 25px 0; color:var(--gcb-muted); line-height:1.7; max-width:720px; }
.gcb-faq-accordion a { text-decoration-color:var(--gcb-terra); }
@media (max-width:900px) { .gcb-home-intro__grid, .gcb-guidance, .gcb-approach, .gcb-process, .gcb-contact-intro { grid-template-columns:1fr; } .gcb-room-edit { min-height:0; } .gcb-room-edit__lead { min-height:420px !important; } .gcb-lighting-grid { grid-template-columns:repeat(2,1fr); } .gcb-materials, .gcb-services { grid-template-columns:repeat(2,1fr); } .gcb-materials a:nth-child(2), .gcb-services article:nth-child(2) { border-right:0; } .gcb-materials a:nth-child(-n+2), .gcb-services article:nth-child(-n+2) { border-bottom:1px solid var(--gcb-line); } .gcb-price-grid, .gcb-timeline { grid-template-columns:1fr; } .gcb-timeline > div { min-height:0; } .gcb-process__grid { grid-template-columns:1fr; } .gcb-faq-topics { grid-template-columns:repeat(2,1fr); } .gcb-contact-details { align-self:start; } }
@media (max-width:560px) { .gcb-room-edit, .gcb-dual-edit, .gcb-feature-product { grid-template-columns:1fr; } .gcb-room-edit__lead { min-height:360px !important; } .gcb-room-edit__stack { grid-template-rows:repeat(2,220px); } .gcb-dual-edit a { min-height:320px; } .gcb-feature-product__image { min-height:300px; border-radius:var(--gcb-radius) var(--gcb-radius) 0 0; } .gcb-feature-product__copy { border-radius:0 0 var(--gcb-radius) var(--gcb-radius); } .gcb-about-stats { grid-template-columns:repeat(2,1fr); } .gcb-about-stats div:nth-child(2) { border-right:0; } .gcb-about-stats div:nth-child(-n+2) { border-bottom:1px solid var(--gcb-line); } .gcb-contact-topics { grid-template-columns:1fr; } .gcb-contact-details { grid-template-columns:1fr; } .gcb-faq-intro, .gcb-faq-teaser, .gcb-contact-bottom, .gcb-page-cta { display:block; } .gcb-faq-intro p { margin-top:14px; } .gcb-faq-teaser .gcb-button, .gcb-contact-bottom .gcb-button, .gcb-page-cta .gcb-button { margin-top:22px; } }
