#hero{position:relative;display:flex;align-items:flex-end;min-height:calc(100svh - var(--header-h));padding-block:clamp(5rem,20vh,13rem) 5vh;overflow:hidden;background:var(--c-dark-bg);color:var(--c-dark-text)}
#hero .hero__media{position:absolute;inset:0;z-index:0}
#hero .hero__media img{width:100%;height:100%;object-fit:cover;object-position:20% 20%;border-radius:0}
#hero .hero__scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(12,29,43,.93) 0%,rgba(12,29,43,.88) 45%,rgba(12,29,43,.35) 68%,rgba(12,29,43,.08) 85%,rgba(12,29,43,0) 100%);pointer-events:none}
#hero .hero__inner{position:relative;z-index:2}
#hero .hero__copy{max-width:34rem}
#hero .question-kicker{color:var(--c-accent);margin-bottom:12px}
#hero h1{color:var(--c-dark-text);font-family:var(--ff-display);font-weight:400;font-size:clamp(2rem,8.5vw,2.6rem);line-height:1.06;letter-spacing:-0.015em}
#hero .hero__sub{margin-top:var(--sp-3);max-width:32rem;font-family:var(--ff-body);font-weight:400;font-size:1.0625rem;line-height:1.55;color:rgba(237,231,218,.87)}
#hero .hero__ctas{display:flex;flex-direction:column;align-items:stretch;gap:var(--sp-3);margin-top:var(--sp-4)}
#hero .btn--primary{min-height:52px;width:100%}
#hero .hero__tel{font-family:var(--ff-body);font-weight:500;font-size:1.0625rem;letter-spacing:.02em;color:var(--c-dark-text);text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
#hero .hero__tel:hover{color:var(--c-accent)}
#hero .hero__link{display:inline-flex;align-items:center;min-height:44px;font-family:var(--ff-body);font-weight:500;font-size:1rem;color:var(--c-dark-text)}
#hero .hero__circ{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-left:.6rem;border:1px solid rgba(237,231,218,.55);border-radius:50%;font-size:.8125rem;line-height:1}
@media (min-width:560px){#hero .hero__ctas{flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-4)}#hero .btn--primary{width:auto}}
@media (min-width:768px){#hero h1{font-size:clamp(2.6rem,5.4vw,4.4rem)}#hero .hero__scrim{background:linear-gradient(to top,rgba(12,29,43,.90) 0%,rgba(12,29,43,.82) 35%,rgba(12,29,43,.28) 58%,rgba(12,29,43,.05) 80%,rgba(12,29,43,0) 100%),linear-gradient(to right,rgba(12,29,43,.50) 0%,rgba(12,29,43,.18) 40%,rgba(12,29,43,0) 60%)}}

#what-we-do{background:var(--c-bg)}
#what-we-do .wwd__head{max-width:52ch}
#what-we-do h2{color:var(--c-primary);font-weight:600;font-size:clamp(1.75rem,1.4rem + 1vw,2.375rem)}
#what-we-do .wwd__lead{margin-top:var(--sp-3);max-width:52ch;color:var(--c-text)}
#what-we-do .wwd__panels{display:grid;grid-template-columns:1fr;gap:0;margin-top:clamp(2rem,4vw,3rem);background:var(--c-surface);border:1px solid var(--c-rule-light);border-radius:var(--radius)}
#what-we-do .service-panel{padding:clamp(1.5rem,1rem + 1.6vw,2rem);background:var(--c-surface)}
#what-we-do .service-panel + .service-panel{border-top:1px solid var(--c-rule-light)}
#what-we-do .wwd__glyph{display:block;width:9px;height:9px;background:var(--c-accent);transform:rotate(45deg);margin:0 0 var(--sp-3) 2px;transition:transform var(--mo-dur) var(--mo-ease)}
#what-we-do .service-panel h3{color:var(--c-primary);font-family:var(--ff-display);font-weight:600;font-size:1.3125rem;line-height:1.2}
#what-we-do .service-panel p{margin-top:10px;max-width:36ch;font-size:1.03125rem;line-height:1.6}
@media (min-width:900px){#what-we-do .wwd__panels{grid-template-columns:repeat(3,minmax(0,1fr))}#what-we-do .service-panel + .service-panel{border-top:0;border-left:1px solid var(--c-rule-light)}}
@media (prefers-reduced-motion:no-preference){#what-we-do .service-panel:hover .wwd__glyph,#what-we-do .service-panel:focus-within .wwd__glyph{transform:rotate(0deg)}}

#who-we-work-with{position:relative;display:flex;align-items:center;min-height:70svh;padding-block:clamp(3rem,2rem + 4vw,4.5rem);overflow:hidden;background:var(--c-dark-bg)}
#who-we-work-with .wwww__img{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%;border-radius:0}
#who-we-work-with .wwww__scrim{position:absolute;inset:0;z-index:1;background:rgba(12,29,43,.72);pointer-events:none}
#who-we-work-with .wwww__inner{position:relative;z-index:2}
#who-we-work-with .wwww__head{max-width:34rem;margin-inline:auto;text-align:center}
#who-we-work-with .question-kicker{justify-content:center;color:var(--c-accent)}
#who-we-work-with h2{color:var(--c-dark-text);font-weight:600;font-size:clamp(1.625rem,1.3rem + .9vw,2.125rem)}
#who-we-work-with .wwww__cols{display:grid;grid-template-columns:1fr;gap:var(--sp-4);max-width:46rem;margin:clamp(1.75rem,3vw,2.5rem) auto 0}
#who-we-work-with .wwww__glyph{display:block;width:8px;height:8px;background:var(--c-accent);transform:rotate(45deg);margin-bottom:var(--sp-2)}
#who-we-work-with .wwww__label{font-weight:500;font-size:1rem;letter-spacing:.03em;color:var(--c-dark-text);margin-bottom:6px}
#who-we-work-with .wwww__col p{max-width:30ch;font-size:1rem;line-height:1.6;color:rgba(237,231,218,.9)}
#who-we-work-with .wwww__link{display:inline-flex;align-items:center;min-height:44px;margin-top:clamp(1.5rem,3vw,2rem);font-weight:500;font-size:1rem;color:var(--c-dark-text)}
#who-we-work-with .wwww__circ{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-left:.6rem;border:1px solid rgba(237,231,218,.55);border-radius:50%;font-size:.8125rem;line-height:1}
@media (min-width:768px){#who-we-work-with{min-height:62vh}#who-we-work-with .wwww__cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,4vw,3.5rem)}}

#where-we-work{padding-block:clamp(3rem,2.25rem + 3vw,4.75rem);overflow:hidden}
#where-we-work .www__grid{display:grid;grid-template-columns:1fr;gap:clamp(1.75rem,3vw,3rem);align-items:center}
#where-we-work h2{color:var(--c-dark-text);font-weight:600;font-size:clamp(1.625rem,1.3rem + .9vw,2.125rem)}
#where-we-work .www__copy p{margin-top:var(--sp-3);max-width:34ch;font-size:1.0625rem;line-height:1.65;color:rgba(237,231,218,.94)}
#where-we-work .www__map{margin:0;min-width:0}
#where-we-work .www__map svg{width:100%;height:auto;max-width:34rem;margin-inline:auto}
#where-we-work .map__label{font-family:var(--ff-body);font-weight:500;font-size:11px;letter-spacing:.02em;fill:var(--c-dark-text)}
#where-we-work .map__label--home{font-weight:700;font-size:12.5px}
#where-we-work .map__ring-label{font-family:var(--ff-body);font-weight:700;font-size:9.5px;letter-spacing:.16em;fill:rgba(237,231,218,.7)}
#where-we-work figcaption{margin-top:var(--sp-2);font-family:var(--ff-body);font-size:.8125rem;letter-spacing:.02em;color:rgba(237,231,218,.72);text-align:center}
@media (min-width:900px){#where-we-work .www__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2.5rem,5vw,4.5rem)}#where-we-work figcaption{text-align:left}}

#about-blue-diamond-dynasty{position:relative;overflow:hidden;background:var(--c-bg)}
#about-blue-diamond-dynasty .about__grid{display:grid;grid-template-columns:1fr}
#about-blue-diamond-dynasty .about__media{margin:0;border-radius:0;overflow:hidden}
#about-blue-diamond-dynasty .about__media img{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;object-position:20% 20%;border-radius:0}
#about-blue-diamond-dynasty .about__body{padding-inline:var(--gutter);padding-block:clamp(2.5rem,2rem + 3vw,4rem)}
#about-blue-diamond-dynasty .about__inner{max-width:36rem;margin-inline:auto}
#about-blue-diamond-dynasty h2{color:var(--c-primary);font-weight:600;font-size:clamp(1.75rem,1.4rem + 1vw,2.375rem)}
#about-blue-diamond-dynasty .about__inner p{margin-top:var(--sp-3);max-width:58ch;font-size:1.09375rem;line-height:1.65}
#about-blue-diamond-dynasty .plain-answer{margin-block:32px}
@media (min-width:1100px){#about-blue-diamond-dynasty .about__grid{grid-template-columns:42% minmax(0,1fr);align-items:center}#about-blue-diamond-dynasty .about__media img{aspect-ratio:auto;height:clamp(30rem,42vw,40rem)}#about-blue-diamond-dynasty .about__body{padding-left:clamp(2.5rem,4vw,4.5rem);padding-right:max(var(--gutter),calc(50vw - 38rem));padding-block:clamp(3.5rem,6vw,5.5rem)}#about-blue-diamond-dynasty .about__inner{margin-inline:0;max-width:34rem}}

#talk-to-us{background:var(--c-bg)}
#talk-to-us .talk__grid{display:grid;grid-template-columns:1fr;gap:clamp(2rem,4vw,3.5rem);align-items:start}
#talk-to-us h2{color:var(--c-primary);font-weight:600;font-size:clamp(1.75rem,1.4rem + 1vw,2.375rem)}
#talk-to-us .talk__tel{display:inline-block;margin-top:var(--sp-3);font-family:var(--ff-display);font-weight:400;font-size:clamp(2.2rem,4.4vw,3.4rem);line-height:1.05;letter-spacing:-0.015em;color:var(--c-primary);text-decoration:none}
#talk-to-us .talk__tel:hover,#talk-to-us .talk__tel:focus-visible{color:var(--c-primary-dark)}
#talk-to-us .talk__note{margin-top:var(--sp-2);max-width:34ch;font-weight:500;font-size:1rem;line-height:1.6}
#talk-to-us .talk__card{background:var(--c-surface);border:1px solid var(--c-rule-light);border-radius:var(--radius);padding:clamp(1.5rem,1.1rem + 1.6vw,2rem)}
#talk-to-us .talk__formtitle{font-family:var(--ff-display);font-weight:600;font-size:1.25rem;color:var(--c-primary);margin-bottom:var(--sp-3)}
#talk-to-us .field + .field{margin-top:var(--sp-3)}
#talk-to-us .field label{display:block;margin-bottom:6px;font-family:var(--ff-body);font-weight:500;font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--c-primary)}
#talk-to-us .field input,#talk-to-us .field textarea{width:100%;min-height:44px;padding:.55rem 0;background:transparent;color:var(--c-text);border:0;border-bottom:1px solid var(--c-rule-light);border-radius:0;font-family:var(--ff-body);font-size:1rem;line-height:1.5;transition:border-color var(--mo-dur) var(--mo-ease)}
#talk-to-us .field textarea{min-height:104px;resize:vertical}
#talk-to-us .field input:focus,#talk-to-us .field textarea:focus{border-bottom-color:var(--c-primary)}
#talk-to-us .talk__submit{width:100%;min-height:52px;margin-top:var(--sp-4)}
@media (min-width:900px){#talk-to-us .talk__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(2.5rem,5vw,4.5rem)}}/* Owner review 2026-08-19: the callers CTA sat flush left under centred
   columns; display:table shrink-wraps so margin auto really centres it. */
#who-we-work-with .wwww__link{display:table;margin-inline:auto}
