/* GLOW DETAIL V5.31 — editorial dark revamp; top-up to V5.30. */
:root{--bg:#171819;--paper:#222325;--ink:#f1efed;--muted:#aeaaa7;--gold:#d6c5b4;--champagne:#d6c5b4;--line:#414144;--shadow:0 18px 40px rgba(0,0,0,.22)}
html{color-scheme:dark;scroll-padding-top:82px}
body{background:#171819!important;color:#f1efed!important}
body, button, input, select, textarea{font-family:Inter,Arial,Helvetica,sans-serif}
.site{background:#171819}
.site-header{position:relative!important;z-index:80!important;background:#141516!important;border-bottom:1px solid rgba(255,255,255,.12)!important;color:#fff!important}
.header-inner{height:74px}
.site-header .logo.gd30-header-logo{filter:none}
.site-header .gd30-monogram,.site-header .gd30-wordmark{filter:brightness(0) invert(1)}
.site-header .gd30-slash{background:#e9e3df}
.site-header .gd30-word-group small{color:#ddd2c8;letter-spacing:1.4px}
.site-header .menu a{color:#eae8e6;font-weight:550;font-size:13px;letter-spacing:.015em}
.site-header .menu a:hover,.site-header .menu a.current{color:#fff}
.site-header .menu a:after{background:#dad6d2;height:1px}
.site-header .header-social{display:inline-flex;color:#f0efec;font-size:12px;border:1px solid #434444;border-radius:50%;align-items:center;justify-content:center;width:38px;height:38px}
.site-header .btn-gold{background:#dccdbb!important;color:#181819!important;border:0!important;box-shadow:none!important;font-weight:650}
.btn{font-weight:650;letter-spacing:0;border-radius:12px}
.btn-gold,.booking-send{background:#d9c8b7!important;color:#131313!important;border:0!important;box-shadow:none!important}
.btn-line{background:#262729!important;color:#f2f0ef!important;border:1px solid rgba(255,255,255,.14)!important}
.btn-line:hover{background:#37383a!important;color:#fff!important;box-shadow:none!important}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,0,0,.18)!important}
.gold{color:#d5c5b7!important}
/* Approved real-photo landing header. No other AI-made imagery introduced. */
.home-stage.gd-v531-hero{min-height:610px!important;height:auto!important;background:#171819!important;display:block!important;position:relative;overflow:hidden;isolation:isolate}
.home-stage.gd-v531-hero::before,.home-stage.gd-v531-hero::after{display:none!important}
.gd-v531-hero-media{position:absolute;inset:0;z-index:-2}
.gd-v531-hero-media img{height:100%;width:100%;object-fit:cover;object-position:center 52%;display:block;filter:saturate(.82) brightness(.85)}
.gd-v531-hero-tint{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,11,12,.97) 0%,rgba(10,11,12,.93) 26%,rgba(10,11,12,.52) 55%,rgba(10,11,12,.23) 100%),linear-gradient(0deg,rgba(15,15,16,.35),transparent 38%)}
.gd-v531-hero-inner{min-height:610px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;padding:58px 0 65px;position:relative;z-index:2;text-align:left}
.gd-v531-overline{font-size:11px;letter-spacing:.24em;font-weight:600;color:#dad6d2;line-height:1.8;margin-bottom:25px}
.gd-v531-overline i{display:inline-block;width:3px;height:3px;background:#d8cbc0;border-radius:100%;vertical-align:middle;margin:0 8px}
.gd-v531-hero h1{font-family:Inter,Arial,Helvetica,sans-serif!important;font-weight:850!important;font-style:normal!important;font-size:clamp(68px,7.5vw,112px)!important;line-height:.89!important;letter-spacing:-.07em!important;color:#fff!important;max-width:650px;margin:0 0 30px!important}
.gd-v531-hero h1 span{display:block;color:#e0d0bd;font-weight:850!important;font-style:normal!important;letter-spacing:-.07em!important}
.gd-v531-hero p{font-size:clamp(18px,1.5vw,22px);line-height:1.4;max-width:505px;color:#e7e4e0;margin:0 0 30px}
.gd-v531-buttons{display:flex;flex-wrap:wrap;gap:12px}
.gd-v531-buttons .btn{min-height:52px;padding:0 26px;border-radius:13px}
.gd-v531-primary{background:#dbcebf;color:#161718!important;border:0;font-weight:750}
.gd-v531-secondary{background:rgba(30,31,33,.92);border:1px solid rgba(255,255,255,.16);color:#eee}
.gd-v531-hero-meta{margin-top:29px;display:flex;align-items:center;gap:18px;color:#b9b6b4;font-size:12px;letter-spacing:.04em}
.gd-v531-divider{display:inline-block;width:1px;height:15px;background:#666}
.gd-v531-directions{background:linear-gradient(180deg,#252526 0%,#1a1b1c 72%,#171819 100%)!important;padding:46px 0 48px;color:#f5f3f1}
.gd-v531-section-kicker{display:flex;align-items:center;justify-content:center;gap:18px;letter-spacing:.31em;font-size:10px;color:#b9b6b4;margin:0 0 14px;font-weight:650}
.gd-v531-section-kicker:before,.gd-v531-section-kicker:after{content:'';width:44px;height:1px;background:#77716d;opacity:.7}
.gd-v531-directions h2{text-align:center;font-family:Inter,Arial,Helvetica,sans-serif!important;font-size:clamp(25px,3vw,39px);font-weight:790;letter-spacing:-.036em;line-height:1.2;margin:0 auto 30px;color:#fff}
.gd-v531-directions h2 span{color:#cfc0b1}
.gd-v531-cards{display:grid;grid-template-columns:1fr 1fr;gap:21px}
.gd-v531-card{height:266px;position:relative;overflow:hidden;isolation:isolate;border:1px solid rgba(255,255,255,.20);border-radius:18px;background:#222;display:block;box-shadow:0 6px 35px rgba(0,0,0,.12);transition:transform .25s,border-color .25s}
.gd-v531-card:hover{transform:translateY(-3px);border-color:#8a8683}
.gd-v531-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 52%;filter:saturate(.75) brightness(.92)}
.gd-v531-prism>img{object-position:50% 52%}
.gd-v531-card-tint{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.57) 22%,rgba(0,0,0,.12) 67%)}
.gd-v531-card-content{position:absolute;left:35px;bottom:25px;right:82px;z-index:2}
.gd-v531-card-title{font-size:clamp(32px,3vw,43px);font-weight:800;letter-spacing:-.055em;line-height:1;color:#fff}
.gd-v531-card-subtitle{font-size:10px;letter-spacing:.28em;margin-top:8px;font-weight:650;color:#ece9e5}
.gd-v531-arrow{position:absolute;right:26px;bottom:23px;display:grid;place-items:center;width:42px;height:42px;background:rgba(25,26,27,.86);color:#fff;border-radius:50%;font-size:24px;z-index:2}
.gd-v531-links{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;align-items:center;margin:32px 0 0}
.gd-v531-links a{display:flex;gap:13px;align-items:center;font-size:13px;line-height:1.36;color:#e4e1dd;padding:7px 11px;min-height:62px}
.gd-v531-links a:not(:first-child){border-left:1px solid rgba(255,255,255,.15)}
.gd-v531-links a:hover{color:#fff}
.gd-v531-icon{font-size:25px;line-height:1;color:#d2c3b6;min-width:28px;text-align:center;font-family:Arial,sans-serif}
.gd-v531-photo-note{color:#878683;font-size:11px;text-align:center;margin:25px 0 0;line-height:1.5}
.gd-v531-photo-note a{text-decoration:underline;color:#bbb}
/* Sitewide dark design — retain structural class names and original scripts. */
main>section:not(.gd-v531-hero):not(.gd-v531-directions),.page-heading,.page-services,.works-area,.gd-about-page,.home-contact-section,.home-works,.why,.gd-featured,.gd-comparison,.gd-process,.gd-faq,.gd-service-finder{background:#1b1c1e!important;color:#f3f1ef!important}
main>section:nth-child(even):not(.gd-v531-directions):not(.gd-v531-hero){background:#1f2022!important}
.page-heading{background:linear-gradient(135deg,#252628,#191a1c)!important;border-bottom:1px solid #393a3c!important}
.page-heading h1,.page-services h1,.services-heading h1,.page-heading p,.gd-about-page h1,.gd-about-page h2,.gd-about-page h3,.gd-optics-page h1,.gd-optics-page h2{color:#f3f1ee!important}
.eyebrow,.small-eyebrow,.gd-eyebrow,.gd-optics-kicker,.gd-about-kicker{color:#cfc0b2!important}
.page-heading p,.section-header p,.page-services p,.gd-about-page p,.home-contact-section p,.why-item p,.service-description{color:#bdb9b6}
.page-services::before,.page-services::after{display:none!important}
.services-heading h1,.services-heading h1 span{color:#f6f4f0!important}
.gd-service-group,.gd-service-structure-note,.gd-contacts-divisions,.gd-contact-division,.gd-about-model-note,.gd-about-directions,.gd-about-manifesto,.gd-about-process,.gd-about-projects,.gd-about-cta{background:#202123!important;color:#f4f2ef!important}
.gd-service-group{border-color:#38383a!important}
.gd-service-structure-note,.gd-about-model-note,.gd-contact-division{border:1px solid #3d3d3e!important}
.gd-contact-division-top span{background:#363636!important;color:#f1f1f1!important}
.gd-service-brand-heading{color:#fff!important}
.service-grid .service-tile,.service-tile{border:1px solid #4c4c4c!important;box-shadow:none!important}
.service-text .line-icon,.line-icon{color:#d2c5b7}
.arrow-dot{border-color:#777!important;color:#fff!important}
.services-why{background:#1f2022!important}
.quick-shell{background:#262729!important;border:1px solid #434345!important;color:#efeeeb!important;box-shadow:none!important}
.quick-item:not(:last-child),.why-item:not(:last-child){border-color:#454547!important}
.quick-item span,.quick-item strong,.why-item strong{color:#efeeee!important}
.why-item p,.quick-item span{color:#aca9a6!important}
.why-title:before,.why-title:after{background:#6b6b6b!important}
.why-grid{color:#fff!important}
.project,.works-card,.gd-featured-card,.gd-work-card{background:#27282a!important;color:#f7f6f3!important;border:1px solid #404143!important;box-shadow:none!important}
.project-foot p,.works-card p{color:#bcbab8!important}
.filter{background:#2a2b2d!important;border:1px solid #4b4c4e!important;color:#ddd!important}
.filter[aria-pressed=true],.filter:hover{background:#d1c0ae!important;color:#151515!important;border-color:#d1c0ae!important}
.shot,.project-pics{background:#343537!important}
.shot-label{border-color:#777!important}
.cta-banner{background:linear-gradient(120deg,#323334,#222326)!important;color:#fff!important;border:1px solid #474749!important;box-shadow:none!important}
.cta-banner:after{opacity:.28!important}
.cta-banner h2,.cta-banner p{color:#eee!important}
.gd-about-hero,.gd-about-manifesto,.gd-about-directions,.gd-about-process,.gd-about-projects{background-color:#1b1c1e!important}
.gd-about-page .gd-about-card,.gd-about-page .gd-about-direction-card,.gd-about-page .gd-about-step,.gd-faq-items details,.gd-process-step,.gd-optics-issue,.gd-optics-solution,.gd-contact-division,.contact-card,.contact-panel,.gd-finder-card{background:#292a2c!important;border-color:#404143!important;color:#f1f0ed!important;box-shadow:none!important}
.gd-faq-items details summary,.gd-faq-items details p,.gd-process-step p,.gd-optics-page p,.gd-about-page .gd-about-card p{color:#e0dcd8!important}
.gd-process-number{color:#d8c8b9!important}
.service-detail-hero,.service-immersive,.gd-optics-page section{background-color:#1c1d1f!important;color:#f4f1ee!important}
.service-detail-hero{background:linear-gradient(112deg,#292a2c,#151617)!important}
.service-detail-hero:before,.service-detail-hero:after{opacity:.2!important}
.gd-optics-page .gd-optics-issues,.gd-optics-page .gd-optics-solutions,.gd-optics-page .gd-optics-proof{background:#202123!important}
.gd-optics-page a{color:inherit}
.gd-contact-division *,.gd-about-model-note *{color:inherit}
.map-wrap,.map-bottom{background:#222325!important;color:#ddd!important;border-color:#414143!important}
.map-hint{color:#bbb!important}
.home-contact-section .contact-facts{color:#d4d2d0}
.footer{background:#111213!important;color:#d7d7d7!important;border-top:1px solid #414143}
.footer a{color:#e5ddd6!important}
/* Consistent, high-contrast booking modal. All original form names and JS retained. */
.booking-dialog{background:#262729!important;color:#f5f2ef!important;border:1px solid #4a4b4d!important}
.booking-dialog .booking-top p,.booking-dialog .booking-row label,.booking-consent,.booking-transfer p,.booking-success p{color:#c7c3be!important}
.booking-dialog input:not([type=checkbox]),.booking-dialog select,.booking-dialog textarea{background:#1a1b1d!important;color:#fff!important;border:1px solid #59595c!important}
.booking-dialog input::placeholder,.booking-dialog textarea::placeholder{color:#989898!important}
.booking-dialog .booking-close{color:#fff!important;background:#373839!important;border:1px solid #555!important}
.booking-dialog .booking-success,.booking-dialog .booking-transfer{background:#262729!important;color:#fff!important}
.gd-floating-booking{background:#d7c8b8!important;color:#171718!important;border-color:#d7c8b8!important}
/* Fixes for all-page back-to-top, cookie controls, and local cards. */
.gd-analytics-banner,.gd-cookie-banner{background:#262729!important;border:1px solid #48494a!important;color:#f0efee!important}
input,textarea,select{accent-color:#d5c5b6}
:focus-visible{outline:2px solid #cfc0b4!important;outline-offset:3px!important}
@media(max-width:1000px){
 .site-header .header-social{display:none}
 .gd-v531-hero-inner{min-height:560px}
 .gd-v531-links{grid-template-columns:repeat(3,1fr);row-gap:13px}
 .gd-v531-links a:nth-child(4){border-left:0}
}
@media(max-width:800px){
 .site-header .menu{background:#1c1d1f!important;border-bottom:1px solid #3c3d3e!important;box-shadow:0 12px 30px #0008!important}
 .site-header .menu a{color:#fff!important}
 .site-header .menu-button{display:inline-flex;background:#2a2b2d!important;color:#f9f8f6!important;border-color:#4a4a4a!important}
 .gd-v531-hero{min-height:680px!important}
 .gd-v531-hero-media img{object-position:60% 35%}
 .gd-v531-hero-tint{background:linear-gradient(0deg,rgba(11,12,13,.98) 0%,rgba(11,12,13,.87) 39%,rgba(11,12,13,.26) 78%,rgba(11,12,13,.18) 100%)}
 .gd-v531-hero-inner{justify-content:flex-end;min-height:680px;padding-top:270px;padding-bottom:48px}
 .gd-v531-hero h1{font-size:clamp(59px,12vw,84px)!important;margin-bottom:21px!important}
 .gd-v531-hero p{font-size:17px;max-width:440px}
 .gd-v531-directions h2{font-size:clamp(25px,4.8vw,34px)}
 .gd-v531-card{height:220px}
 .gd-v531-card-content{left:24px;bottom:19px}
}
@media(max-width:600px){
 .wrap{width:calc(100% - 36px)}
 .site-header .gd30-word-group small{display:none}
 .gd-v531-hero,.gd-v531-hero-inner{min-height:650px!important}
 .gd-v531-overline{font-size:9px;letter-spacing:.18em;line-height:1.6;margin-bottom:16px}
 .gd-v531-overline i{margin:0 4px}
 .gd-v531-hero h1{font-size:clamp(59px,14vw,76px)!important}
 .gd-v531-hero p{font-size:16px;margin-bottom:25px}
 .gd-v531-buttons .btn{font-size:12px;min-height:45px;padding:0 17px}
 .gd-v531-hero-meta{font-size:11px;gap:10px;flex-wrap:wrap}
 .gd-v531-hero-inner{padding-bottom:39px}
 .gd-v531-directions{padding:43px 0 40px}
 .gd-v531-section-kicker{font-size:9px;gap:7px;letter-spacing:.17em}
 .gd-v531-section-kicker:before,.gd-v531-section-kicker:after{width:26px}
 .gd-v531-directions h2{font-size:27px;line-height:1.23;margin:0 0 23px}
 .gd-v531-directions h2 span{display:block}
 .gd-v531-cards{grid-template-columns:1fr;gap:14px}
 .gd-v531-card{height:220px;border-radius:14px}
 .gd-v531-card-title{font-size:36px}
 .gd-v531-card-subtitle{font-size:9px;letter-spacing:.15em}
 .gd-v531-links{grid-template-columns:repeat(2,1fr);gap:2px 0;margin-top:22px}
 .gd-v531-links a{font-size:11px;min-height:66px;padding:8px}
 .gd-v531-links a:nth-child(odd){border-left:0}
 .gd-v531-links a:nth-child(even){border-left:1px solid #414143}
 .gd-v531-icon{font-size:22px;min-width:24px}
 .gd-v531-photo-note{font-size:10px;margin:18px 0 0}
 .booking-dialog{border-radius:16px!important}
}
@media(prefers-reduced-motion:reduce){.gd-v531-card,.gd-v531-hero img{transition:none!important}}
/* Header cleanup: remove legacy pill and obsolete amber hamburger lines. */
@media(min-width:801px){.site-header .menu{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important}}
.site-header .menu-button::before{background:linear-gradient(to bottom,#f0f0f0 0 2px,transparent 2px 7px,#f0f0f0 7px 9px,transparent 9px 15px,#f0f0f0 15px 17px)!important}
.site-header .menu-button:hover,.site-header .menu-button[aria-expanded="true"]{background:#323335!important;border-color:#707070!important;box-shadow:none!important}
