@font-face{font-family:Geist;src:url('./fonts/geist-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--font-geist-sans:Geist,Arial,Helvetica,sans-serif;--font-geist-mono:ui-monospace,SFMono-Regular,Consolas,monospace}
:root{--navy:#062b5c;--navy2:#0a376e;--silver:#b8bec5;--steel:#858c94;--charcoal:#222a33;--paper:#f4f6f8;--white:#fff;--ink:#121a23;--muted:#66717c}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:var(--font-geist-sans),Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #6fa6dd;outline-offset:3px}.shell{width:min(1200px,calc(100% - 48px));margin:auto}.topbar{background:#031a39;color:#cdd5df;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.topbar-inner{min-height:32px;display:flex;align-items:center;justify-content:space-between}.topbar a{color:white;font-weight:700}.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);border-bottom:1px solid #e3e7eb;backdrop-filter:blur(14px)}.nav-wrap{min-height:82px;display:flex;align-items:center;gap:28px}.brand{width:238px;flex:0 0 auto}.brand img{width:100%;height:62px;object-fit:contain;object-position:left center}.nav-links{margin-left:auto;display:flex;align-items:center;gap:21px;color:#46515d;font-size:13px}.nav-links a{flex:0 0 auto;padding:31px 0 27px;border-bottom:3px solid transparent;white-space:nowrap}.nav-links a:hover,.nav-links a.active{color:var(--navy);border-color:var(--navy)}.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 20px;border:1px solid transparent;font-size:13px;font-weight:750;letter-spacing:.01em;transition:.2s ease}.nav-cta{background:var(--navy);color:white}.nav-cta:hover,.navy-button:hover{background:var(--navy2);transform:translateY(-1px)}
.hero,.page-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 80% 12%,rgba(87,139,198,.3),transparent 28%),linear-gradient(135deg,#021936,var(--navy) 55%,#0a376e);color:white}.hero-grid{position:absolute;inset:0;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.2) 1px,transparent 1px);background-size:74px 74px;mask-image:linear-gradient(90deg,#000,transparent)}.hero-layout{position:relative;display:grid;grid-template-columns:1.08fr .72fr;align-items:center;gap:82px;min-height:690px;padding:70px 0}.hero h1,.page-hero h1{margin:0;font-size:clamp(52px,6vw,82px);line-height:.96;letter-spacing:-.055em;font-weight:650}.hero h1 span{display:block;color:var(--silver);font-weight:390}.hero-lead{max-width:680px;margin:30px 0 0;color:#d5dee8;font-size:18px;line-height:1.7}.kicker{margin:0 0 18px;color:#6f7b87;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.kicker.light{color:#c5d0dc}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.light-button{background:white;color:var(--navy)}.light-button:hover{background:#e8edf2}.outline-button{border-color:rgba(255,255,255,.35);color:white}.outline-button:hover{background:rgba(255,255,255,.08)}.hero-proof{display:flex;gap:0;margin-top:48px;padding-top:25px;border-top:1px solid rgba(255,255,255,.16)}.hero-proof div{display:flex;flex-direction:column;gap:5px;padding:0 28px;border-right:1px solid rgba(255,255,255,.16)}.hero-proof div:first-child{padding-left:0}.hero-proof div:last-child{border:0}.hero-proof strong{font-size:14px}.hero-proof span{color:#aebdca;font-size:11px}.hero-visual{position:relative}.hero-visual>img{width:100%;height:520px;object-fit:cover;box-shadow:0 35px 65px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.32)}.hero-caption{position:absolute;left:-28px;bottom:28px;background:#fff;color:var(--navy);padding:17px 20px;box-shadow:0 16px 35px rgba(0,0,0,.25)}.hero-caption span{display:block;margin-bottom:5px;color:#737e89;font-size:9px;letter-spacing:.15em;text-transform:uppercase}.hero-caption strong{font-size:15px}
.section{padding:104px 0}.grey{background:var(--paper)}.section-head{display:grid;grid-template-columns:1.1fr .7fr;gap:70px;align-items:end;margin-bottom:46px}.section-head h2,.split h2,.contact-grid h2{margin:0;color:var(--navy);font-size:clamp(35px,4.4vw,56px);line-height:1.04;letter-spacing:-.045em;font-weight:600}.section-head>p,.section-head>.text-link{margin:0;color:var(--muted);font-size:16px;line-height:1.7}.text-link{color:var(--navy)!important;font-weight:750}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{min-height:365px;padding:31px;display:flex;flex-direction:column;border:1px solid #dfe4e8;background:#f7f8fa;transition:.2s ease}.service-card:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(6,43,92,.1)}.service-card.dark{background:var(--navy);color:white}.service-card>span{color:#8c98a4;font-size:12px;letter-spacing:.15em}.service-card h3{margin:70px 0 16px;color:var(--navy);font-size:30px;line-height:1.05;letter-spacing:-.035em}.service-card.dark h3{color:white}.service-card p{margin:0;color:#64707b;line-height:1.7}.service-card.dark p{color:#c7d2de}.service-card small{margin-top:auto;font-size:12px;font-weight:750}.feature-band{padding:105px 0;background:var(--charcoal);color:white}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:78px;align-items:center}.feature-image img{width:100%;height:580px;object-fit:cover}.feature-grid h2,.cta-inner h2{margin:0;font-size:clamp(38px,4.4vw,58px);line-height:1.04;letter-spacing:-.045em;font-weight:590}.feature-grid>div>p:not(.kicker){color:#c9d0d7;line-height:1.8}.feature-grid ol{list-style:none;margin:35px 0 0;padding:0;border-top:1px solid rgba(255,255,255,.15)}.feature-grid li{padding:15px 0;border-bottom:1px solid rgba(255,255,255,.15);font-weight:650}.feature-grid li span{display:inline-block;width:55px;color:#92a0ad;font-size:11px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.project-card{background:white;border:1px solid #e1e5e9}.project-card.wide{grid-column:span 2}.project-image{height:270px;overflow:hidden;background:#dfe3e6}.project-card.wide .project-image{height:420px}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.project-card:hover img{transform:scale(1.025)}.project-copy{padding:24px}.project-copy>span{display:block;min-height:1.4em;overflow:visible;color:var(--navy2);font-size:10px;font-weight:800;line-height:1.4;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap}.project-copy h3{margin:10px 0 10px;color:var(--navy);font-size:23px;letter-spacing:-.03em}.project-copy p{margin:0;color:var(--muted);font-size:14px;line-height:1.65}.cta-band{padding:80px 0;background:var(--navy);color:white}.cta-inner{display:grid;grid-template-columns:1fr .75fr;gap:80px;align-items:center}.cta-inner>div:last-child{display:flex;align-items:center;gap:26px}.cta-inner p:not(.kicker){margin:0;color:#cbd6e1;line-height:1.65}.cta-inner .button{flex:0 0 auto}
.page-hero-grid{display:grid;grid-template-columns:1fr .7fr;gap:75px;align-items:center;min-height:510px;padding:60px 0}.page-hero h1{font-size:clamp(46px,5.2vw,70px)}.page-hero-grid>div:first-child>p:last-child{max-width:650px;color:#d1dce7;font-size:17px;line-height:1.75}.page-hero-image img{width:100%;height:355px;object-fit:cover;border:1px solid rgba(255,255,255,.3);box-shadow:0 25px 55px rgba(0,0,0,.3)}.split{display:grid;grid-template-columns:1fr .72fr;gap:100px;align-items:start}.split>div:first-child>p:not(.kicker){color:var(--muted);font-size:16px;line-height:1.8}.check-list{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:32px 0 0;padding:0;list-style:none;border-top:1px solid #d9dee3}.check-list li{padding:16px 14px 16px 25px;border-bottom:1px solid #d9dee3;position:relative}.check-list li:before{content:"";position:absolute;left:0;top:22px;width:8px;height:8px;background:var(--navy)}.stat-panel,.quote-panel{padding:48px;background:var(--navy);color:white}.stat-panel strong{display:block;font-size:66px;letter-spacing:-.06em}.stat-panel span{color:#c5d0dc}.stat-panel hr{margin:32px 0;border:0;border-top:1px solid rgba(255,255,255,.2)}.stat-panel p{margin:0;color:#c5d0dc;line-height:1.7}.quote-panel{font-size:35px;line-height:1.2}.quote-panel p{margin:0 0 20px}.quote-panel span{font-size:14px;color:#c5d0dc}.portfolio-index{display:flex;flex-wrap:wrap;gap:12px 22px;margin-bottom:35px;padding-bottom:19px;border-bottom:1px solid #d9dee3}.portfolio-index span{position:relative;overflow:visible;color:#596571;font-size:11px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.portfolio-index span:not(:last-child):after{content:"·";position:absolute;right:-14px;color:#a8b0b8}.values{display:grid;gap:0;border-top:1px solid #dce1e5}.values>div{padding:22px 0;border-bottom:1px solid #dce1e5}.values span{color:#87939f;font-size:11px}.values h3{margin:7px 0;color:var(--navy);font-size:23px}.values p{margin:0;color:var(--muted);line-height:1.6}.contact-grid{display:grid;grid-template-columns:.7fr 1fr;gap:90px}.contact-line{display:flex;flex-direction:column;gap:7px;padding:22px 0;border-bottom:1px solid #dce1e5}.contact-line span{color:#7b8792;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.contact-line strong{color:var(--navy);font-size:20px}.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:35px;background:var(--paper);border:1px solid #e0e4e7;scroll-margin-top:138px}.quote-form label{display:flex;flex-direction:column;gap:8px;color:#44505b;font-size:12px;font-weight:750}.quote-form label.full{grid-column:1/-1}.quote-form input,.quote-form select,.quote-form textarea{width:100%;border:1px solid #cad1d7;background:#fff;padding:13px;color:#15202a}.quote-form textarea{resize:vertical}.navy-button{background:var(--navy);color:white;border:0}.whatsapp-button{border-color:var(--navy);background:transparent;color:var(--navy)}
footer{padding:66px 0 22px;background:#111922;color:#aab4be}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .7fr;gap:80px;padding-bottom:45px}.footer-brand{display:flex;align-items:center;gap:14px;width:max-content;color:white}.footer-brand-mark{display:block;width:58px;height:58px;overflow:hidden;position:relative;background:white}.footer-brand-mark img{position:absolute;width:120px;max-width:none;height:120px;object-fit:cover;left:-31px;top:-13px}.footer-brand-words{display:flex;align-items:baseline;gap:7px}.footer-brand-words strong{margin:0!important;font-size:24px!important;letter-spacing:-.045em!important;text-transform:none!important}.footer-brand-words>span{font-size:15px;color:#d7dee5}.footer-grid>div{display:flex;flex-direction:column;gap:10px;font-size:13px}.footer-grid>div>strong{margin-bottom:8px;color:white;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.footer-grid p{margin:8px 0}.footer-bottom{display:flex;justify-content:space-between;padding-top:18px;border-top:1px solid #2a323b;font-size:11px}
.footer-approved-link{width:max-content;margin-top:8px;padding-top:10px;border-top:1px solid #303943;color:#fff;font-weight:720}
.approved-installer-detail .stat-panel strong{font-size:clamp(45px,5vw,66px)}

/* About — experience-led editorial presentation */
.about-story-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:100px;align-items:start}
.about-story h2{max-width:760px;margin:0;color:var(--navy);font-size:clamp(39px,4.7vw,61px);font-weight:590;line-height:1.02;letter-spacing:-.05em}
.about-story-grid>div>p:not(.kicker){max-width:780px;margin:26px 0 0;color:var(--muted);font-size:16px;line-height:1.82}
.about-since{padding:42px;background:var(--navy);color:white}
.about-since>span{display:block;color:#9fb0c0;font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.about-since strong{display:block;margin:16px 0 24px;font-size:78px;font-weight:560;line-height:.9;letter-spacing:-.07em}
.about-since p{margin:0;padding-top:24px;border-top:1px solid rgba(255,255,255,.2);color:#c7d2dd;font-size:14px;line-height:1.7}
.about-service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d8dee3;border-left:1px solid #d8dee3}
.about-service-grid>div{display:grid;grid-template-columns:35px 1fr;gap:15px;align-items:start;min-height:140px;padding:28px;border-right:1px solid #d8dee3;border-bottom:1px solid #d8dee3;background:white}
.about-service-grid span{color:#84909b;font-size:10px;font-weight:800;letter-spacing:.12em}
.about-service-grid strong{color:var(--navy);font-size:17px;font-weight:620;line-height:1.4}
.about-collaboration{padding:96px 0;background:radial-gradient(circle at 85% 0,rgba(87,139,198,.16),transparent 30%),#071829;color:white}
.about-collaboration-grid{display:grid;grid-template-columns:1fr .82fr;gap:100px;align-items:start}
.about-collaboration h2{max-width:700px;margin:0;font-size:clamp(39px,4.7vw,61px);font-weight:570;line-height:1.02;letter-spacing:-.05em}
.about-collaboration-grid>div:last-child>p{margin:0;color:#bdc9d4;font-size:16px;line-height:1.82}
.about-disciplines{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}
.about-disciplines span{padding:10px 13px;border:1px solid rgba(255,255,255,.24);color:#dce4eb;font-size:9px;font-weight:760;letter-spacing:.1em;text-transform:uppercase}
.about-signature{padding:35px 0;background:#eef1f4;border-bottom:1px solid #d9dfe4}
.about-signature .shell{display:grid;grid-template-columns:repeat(5,1fr)}
.about-signature span{padding:8px 20px;border-right:1px solid #cbd2d8;color:var(--navy);font-size:14px;font-weight:720;text-align:center}
.about-signature span:first-child{padding-left:0;text-align:left}.about-signature span:last-child{padding-right:0;border-right:0;text-align:right}
@media(max-width:900px){.about-story-grid,.about-collaboration-grid{grid-template-columns:1fr;gap:45px}.about-service-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.about-since{padding:32px}.about-since strong{font-size:66px}.about-service-grid{grid-template-columns:1fr}.about-service-grid>div{min-height:105px;padding:23px}.about-collaboration{padding:72px 0}.about-signature .shell{grid-template-columns:1fr}.about-signature span,.about-signature span:first-child,.about-signature span:last-child{padding:12px 0;border-right:0;border-bottom:1px solid #cbd2d8;text-align:left}.about-signature span:last-child{border-bottom:0}}
@media(max-width:1180px){.nav-links{display:none}.nav-cta{margin-left:auto}.hero-layout{gap:45px}.project-grid{grid-template-columns:repeat(2,1fr)}.project-card.wide{grid-column:span 1}.project-card.wide .project-image{height:270px}.cta-inner>div:last-child{display:block}.cta-inner .button{margin-top:20px}}
@media(max-width:760px){.shell{width:min(100% - 30px,1200px)}.topbar-inner span{display:none}.topbar-inner{justify-content:center}.site-header{position:relative}.nav-wrap{min-height:70px}.brand{width:190px}.brand img{height:52px}.nav-cta{padding:0 13px;min-height:42px;font-size:11px}.hero-layout,.page-hero-grid,.feature-grid,.split,.contact-grid,.cta-inner,.section-head{grid-template-columns:1fr}.hero-layout{padding:58px 0 70px;min-height:0}.hero h1{font-size:49px}.hero-visual{display:none}.hero-proof{overflow-x:auto}.hero-proof div{min-width:130px;padding:0 16px}.section{padding:72px 0}.section-head{gap:20px}.section-head h2,.split h2,.contact-grid h2{font-size:38px}.service-grid,.project-grid{grid-template-columns:1fr}.service-card{min-height:310px}.feature-band{padding:72px 0}.feature-grid{gap:35px}.feature-image img{height:390px}.cta-inner{gap:24px}.page-hero-grid{min-height:0;padding:55px 0;gap:36px}.page-hero h1{font-size:44px}.page-hero-image img{height:280px}.split{gap:38px}.check-list{grid-template-columns:1fr}.stat-panel,.quote-panel{padding:34px}.project-image,.project-card.wide .project-image{height:250px}.contact-grid{gap:45px}.quote-form{grid-template-columns:1fr;padding:22px}.quote-form label.full{grid-column:auto}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:8px}}

.brand{display:flex;align-items:center;gap:11px;color:var(--navy)}
.brand-mark{display:block;width:54px;height:54px;overflow:hidden;position:relative;background:white;flex:0 0 auto}
.brand-mark img{position:absolute;width:112px;max-width:none;height:112px;object-fit:cover;left:-29px;top:-12px}
.brand-words{display:flex;align-items:baseline;gap:6px;white-space:nowrap}
.brand-words strong{font-size:23px;letter-spacing:-.045em}
.brand-words>span{font-size:15px;letter-spacing:-.025em}
@media(max-width:760px){.brand{width:176px}.brand-mark{width:46px;height:46px}.brand-mark img{width:96px;height:96px;left:-25px;top:-10px}.brand-words strong{font-size:20px}.brand-words>span{font-size:13px}}

/* Keep the complete DGWS logo mark visible. The source artwork is square, so
   these frames centre the full door/window outline instead of clipping its
   lower rail. */
.brand-mark img{
  width:106px;
  height:106px;
  left:-26px;
  top:-17px;
}
.footer-brand-mark img{
  width:114px;
  height:114px;
  left:-28px;
  top:-18px;
}
@media(max-width:760px){
  .brand-mark img{
    width:90px;
    height:90px;
    left:-22px;
    top:-14px;
  }
}

/* Keep approved project photographs fully visible at every breakpoint. */
.hero-visual>img,
.page-hero-image img,
.feature-image img,
.project-image img{
  object-fit:contain;
  object-position:center;
}
.hero-visual>img,
.page-hero-image img{
  background:#071a2e;
}
.feature-image{
  background:#151e28;
}
.project-image{
  background:linear-gradient(145deg,#eef1f4,#dce2e7);
}
.project-image img{
  transition:filter .25s ease;
}
.project-card:hover img{
  transform:none;
  filter:brightness(.97);
}

/* Keep every Projects-page lead photograph on the same visual baseline. */
.projects-page-grid{
  grid-auto-rows:1fr;
}
.projects-page-grid .project-card{
  display:flex;
  height:100%;
  flex-direction:column;
}
.projects-page-grid .project-image,
.projects-page-grid .project-card.wide .project-image{
  height:270px;
}
.projects-page-grid .project-image img{
  object-fit:cover;
  object-position:center center;
}
.projects-page-grid .project-copy{
  display:flex;
  flex:1;
  flex-direction:column;
}
.projects-page-grid .project-copy small{
  margin-top:auto;
  padding-top:18px;
}

/* Home-page selected work — static editorial presentation */
.featured-work{overflow:hidden;padding:92px 0 82px;background:radial-gradient(circle at 85% 0,rgba(87,139,198,.16),transparent 28%),#071829;color:white}
.featured-work-heading{display:grid;grid-template-columns:1.12fr .68fr;gap:80px;align-items:end}
.featured-work-heading h2{margin:0;font-size:clamp(39px,4.8vw,64px);font-weight:570;line-height:1.02;letter-spacing:-.05em}
.featured-work-heading h2 span{display:block;color:var(--silver);font-weight:390}
.featured-work-heading>div:last-child{padding-bottom:5px}
.featured-work-heading>div:last-child p{margin:0 0 22px;color:#b8c5d2;font-size:15px;line-height:1.75}
.featured-work-heading a{display:inline-flex;align-items:center;gap:9px;color:white;font-size:12px;font-weight:780;letter-spacing:.02em;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:5px}
.featured-work-editorial{margin-top:54px}
.featured-work-lead{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(285px,.65fr);border:1px solid rgba(255,255,255,.22);background:#0b2238;transition:border-color .2s ease}
.featured-work-lead:hover,.featured-work-lead:focus-visible{border-color:rgba(255,255,255,.58)}
.featured-work-lead-image{display:block;aspect-ratio:16/9;overflow:hidden;background:#051423}
.featured-work-lead-image img{width:100%;height:100%;object-fit:contain;object-position:center;transition:filter .25s ease}
.featured-work-lead:hover img{filter:brightness(.96)}
.featured-work-lead-copy{display:flex;min-width:0;flex-direction:column;padding:clamp(30px,4vw,52px)}
.featured-work-lead-copy small{color:#8298ab;font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.featured-work-lead-copy>span{margin-top:auto;color:#a9bac9;font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.featured-work-lead-copy strong{margin-top:12px;font-size:clamp(27px,2.7vw,39px);font-weight:580;line-height:1.05;letter-spacing:-.04em}
.featured-work-lead-copy p{margin:18px 0 28px;color:#b8c5d2;font-size:14px;line-height:1.72}
.featured-work-lead-copy em{color:white;font-size:11px;font-style:normal;font-weight:760}
.featured-work-index{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid rgba(255,255,255,.22)}
.featured-work-index>a{display:grid;grid-template-columns:36px 1fr auto;gap:17px;align-items:center;min-height:128px;padding:24px 25px;border-right:1px solid rgba(255,255,255,.22);transition:background-color .2s ease}
.featured-work-index>a:first-child{border-left:1px solid rgba(255,255,255,.22)}
.featured-work-index>a:hover,.featured-work-index>a:focus-visible{background:rgba(255,255,255,.045)}
.featured-work-number{align-self:start;padding-top:4px;color:#758a9d;font-size:9px;font-weight:800;letter-spacing:.14em}
.featured-work-index-copy{display:flex;min-width:0;flex-direction:column;gap:8px}
.featured-work-index-copy small{color:#8fa4b6;font-size:8px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.featured-work-index-copy strong{font-size:16px;font-weight:620;line-height:1.2;letter-spacing:-.02em}
.featured-work-index>a em{color:#aebdca;font-size:9px;font-style:normal;font-weight:740;white-space:nowrap}

@media(max-width:760px){
  .projects-page-grid{grid-auto-rows:auto}
  .featured-work{padding:70px 0 64px}
  .featured-work-heading{grid-template-columns:1fr;gap:24px}
  .featured-work-heading h2{font-size:41px}
  .featured-work-heading>div:last-child{padding:0}
  .featured-work-editorial{margin-top:38px}
  .featured-work-lead{grid-template-columns:1fr}
  .featured-work-lead-copy{min-height:310px;padding:28px 25px 30px}
  .featured-work-lead-copy strong{font-size:31px}
  .featured-work-index{grid-template-columns:1fr}
  .featured-work-index>a{min-height:104px;padding:21px 20px;border-left:1px solid rgba(255,255,255,.22);border-right:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22)}
  .featured-work-index>a:last-child{border-bottom:0}
}

/* The Constantia feature photograph is panoramic: show the full façade without
   creating a tall letterboxed image block in the home-page hero. */
.hero-visual{padding-bottom:58px}
.hero-visual>img{height:auto;max-height:none}
.hero-caption{bottom:10px}

/* Project case studies */
.project-link{display:block}.project-link .project-card{height:100%}.project-copy small{display:block;margin-top:18px;color:var(--navy);font-size:12px;font-weight:800}.project-link:hover .project-card{border-color:#aeb8c2;box-shadow:0 16px 34px rgba(6,43,92,.1)}
.project-detail-hero{background:radial-gradient(circle at 78% 10%,rgba(87,139,198,.28),transparent 28%),linear-gradient(135deg,#021936,var(--navy) 58%,#0a376e);color:white}.project-detail-hero-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:65px;align-items:center;padding:70px 0}.project-detail-hero h1{margin:0;font-size:clamp(48px,6vw,78px);line-height:.96;letter-spacing:-.055em;font-weight:620}.project-detail-hero p:not(.kicker){max-width:590px;color:#d1dce7;font-size:17px;line-height:1.75}.back-link{display:inline-block;margin-bottom:40px;color:#c7d3df;font-size:12px;font-weight:750}.project-detail-hero-image{background:#061a30}.project-detail-hero-image img{width:100%;height:auto;max-height:590px;object-fit:contain;box-shadow:0 30px 65px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.28)}
.project-detail{padding-bottom:78px}.detail-intro{display:grid;grid-template-columns:1fr .7fr;gap:90px;align-items:start}.detail-intro h2{margin:0;color:var(--navy);font-size:clamp(36px,4.4vw,58px);line-height:1.03;letter-spacing:-.045em;font-weight:600}.detail-intro>div>p:not(.kicker){color:var(--muted);font-size:16px;line-height:1.8}.detail-intro dl{margin:0;border-top:1px solid #d9dee3}.detail-intro dl div{display:grid;grid-template-columns:100px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid #d9dee3}.detail-intro dt{color:#7b8792;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.detail-intro dd{margin:0;color:var(--navy);font-size:14px;font-weight:700}
.project-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.project-story-grid figure{margin:0;background:white;border:1px solid #dfe4e8}.project-story-grid figure.story-wide{grid-column:1/-1}.project-story-grid img{width:100%;height:auto;max-height:680px;object-fit:contain;background:#e2e7eb}.project-story-grid figcaption{display:grid;grid-template-columns:42px 1fr;gap:4px 14px;padding:22px}.project-story-grid figcaption span{grid-row:1/3;color:#8a96a2;font-size:11px;font-weight:800}.project-story-grid figcaption strong{color:var(--navy);font-size:18px}.project-story-grid figcaption small{color:var(--muted);font-size:13px;line-height:1.5}
@media(max-width:760px){.project-detail-hero-grid,.detail-intro,.project-story-grid{grid-template-columns:1fr}.project-detail-hero-grid{padding:48px 0 58px;gap:34px}.project-detail-hero h1{font-size:46px}.back-link{margin-bottom:28px}.project-story-grid figure.story-wide{grid-column:auto}.project-detail-hero-image img{max-height:none}.detail-intro{gap:40px}}

/* Homepage — immersive architectural opening */
.home-hero{
  min-height:clamp(680px,calc(100svh - 114px),860px);
  display:flex;
  align-items:stretch;
  background:#050c13;
}
.home-hero-media,.home-hero-shade{position:absolute;inset:0}
.home-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 56%}
.home-hero-shade{
  z-index:1;
  background:
    linear-gradient(90deg,rgba(2,10,18,.91) 0%,rgba(2,10,18,.7) 38%,rgba(2,10,18,.14) 72%,rgba(2,10,18,.24) 100%),
    linear-gradient(0deg,rgba(2,10,18,.82) 0%,transparent 46%);
}
.home-hero-layout{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1fr) 310px;
  gap:80px;
  align-items:end;
  width:min(1200px,calc(100% - 48px));
  margin:auto;
  padding-top:clamp(105px,14vh,165px);
  padding-bottom:116px;
}
.home-hero .hero-copy{max-width:760px}
.home-hero h1{max-width:800px;font-size:clamp(56px,6.5vw,94px);line-height:.92}
.home-hero .hero-lead{max-width:640px;color:#e1e7ec;font-size:17px;line-height:1.65;text-shadow:0 2px 18px rgba(0,0,0,.28)}
.home-hero-project{
  align-self:end;
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:24px 25px;
  border:1px solid rgba(255,255,255,.38);
  background:rgba(3,17,29,.62);
  backdrop-filter:blur(12px);
  transition:background-color .2s ease,border-color .2s ease;
}
.home-hero-project:hover,.home-hero-project:focus-visible{background:rgba(3,17,29,.82);border-color:rgba(255,255,255,.75)}
.home-hero-project span{color:#aebdca;font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.home-hero-project strong{font-size:19px;font-weight:600;letter-spacing:-.02em}
.home-hero-project small{margin-top:12px;color:#fff;font-size:11px;font-weight:760}
.home-hero-proof{position:absolute;z-index:2;right:0;bottom:0;left:0;border-top:1px solid rgba(255,255,255,.2);background:rgba(2,11,19,.64);backdrop-filter:blur(10px)}
.home-hero-proof .shell{display:grid;grid-template-columns:repeat(4,1fr)}
.home-hero-proof span{padding:20px 24px;border-right:1px solid rgba(255,255,255,.18);color:#dce4eb;font-size:10px;font-weight:750;letter-spacing:.11em;text-align:center;text-transform:uppercase}
.home-hero-proof span:first-child{padding-left:0;text-align:left}
.home-hero-proof span:last-child{padding-right:0;border-right:0;text-align:right}

@media(max-width:900px){
  .home-hero-layout{grid-template-columns:1fr;gap:36px}
  .home-hero-project{width:min(100%,310px)}
}
@media(max-width:760px){
  .home-hero{min-height:760px}
  .home-hero-media img{object-position:54% center}
  .home-hero-shade{background:linear-gradient(0deg,rgba(2,10,18,.96) 0%,rgba(2,10,18,.72) 42%,rgba(2,10,18,.12) 76%)}
  .home-hero-layout{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:24px;width:min(1200px,calc(100% - 30px));padding-top:240px;padding-bottom:106px}
  .home-hero h1{font-size:clamp(46px,13vw,62px)}
  .home-hero .hero-lead{margin-top:22px;font-size:15px;line-height:1.62}
  .home-hero .hero-actions{margin-top:25px}
  .home-hero-project{display:none}
  .home-hero-proof .shell{grid-template-columns:1fr 1fr}
  .home-hero-proof span{padding:13px 10px;border-bottom:1px solid rgba(255,255,255,.14);font-size:8px;text-align:left}
  .home-hero-proof span:first-child{padding-left:0}
  .home-hero-proof span:nth-child(2){border-right:0}
  .home-hero-proof span:nth-child(3){padding-left:0;border-bottom:0}
  .home-hero-proof span:last-child{padding-right:10px;border-bottom:0;text-align:left}
}

/* Constantia — premium architectural case study */
.constantia-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 76% 12%,rgba(75,126,184,.2),transparent 28%),#031a39;color:white}
.constantia-hero:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.1;background-image:linear-gradient(rgba(255,255,255,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.22) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,transparent 4%,#000 48%,transparent 100%)}
.constantia-hero-inner{position:relative;z-index:1;padding:58px 0 64px}
.constantia-hero-topline{display:flex;align-items:center;justify-content:space-between;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.18);color:#b9c7d5;font-size:10px;font-weight:720;letter-spacing:.14em;text-transform:uppercase}
.constantia-back{transition:color .2s ease}.constantia-back:hover{color:white}
.constantia-title-grid{display:grid;grid-template-columns:1.1fr .66fr;gap:100px;align-items:end;padding:72px 0 66px}
.constantia-title-grid h1{margin:0;font-size:clamp(70px,10vw,134px);font-weight:540;line-height:.78;letter-spacing:-.075em}
.constantia-title-grid .kicker{margin-bottom:30px}
.constantia-intro{margin:0 0 -3px;color:#cfdae5;font-size:18px;line-height:1.75}
.constantia-meta{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}
.constantia-meta div{min-height:89px;padding:22px 26px;border-right:1px solid rgba(255,255,255,.18)}
.constantia-meta div:first-child{padding-left:0}.constantia-meta div:last-child{border-right:0}
.constantia-meta span,.constantia-meta strong{display:block}.constantia-meta span{margin-bottom:8px;color:#8fa2b4;font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.constantia-meta strong{font-size:13px;font-weight:610}

.constantia-facade{background:#031a39;padding:0 24px 86px}
.constantia-facade figure{position:relative;width:min(1500px,100%);margin:0 auto;overflow:hidden;background:#071727;box-shadow:0 42px 90px rgba(0,0,0,.32)}
.constantia-facade img{width:100%;height:auto}
.constantia-facade figcaption{position:absolute;left:0;bottom:0;display:flex;align-items:center;gap:28px;padding:18px 24px;background:rgba(3,26,57,.94);color:white;backdrop-filter:blur(10px)}
.constantia-facade figcaption span{color:#9fb0c0;font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.constantia-facade figcaption strong{font-size:12px;font-weight:620}

.constantia-overview{padding:126px 0 132px;background:#f7f5f0}
.constantia-overview-grid{display:grid;grid-template-columns:1.08fr .72fr;gap:116px;align-items:start}
.constantia-story h2,.constantia-gallery-heading h2,.constantia-signoff h2{margin:0;color:var(--navy);font-size:clamp(43px,5.1vw,68px);font-weight:560;line-height:1.01;letter-spacing:-.055em}
.constantia-story .constantia-lead{margin:36px 0 22px;color:#263544;font-size:19px;line-height:1.75}
.constantia-story>p:last-of-type{margin:0;color:#65717c;font-size:15px;line-height:1.85}
.constantia-delivery{display:grid;grid-template-columns:repeat(3,1fr);margin-top:54px;border-top:1px solid #cfd4d7;border-bottom:1px solid #cfd4d7}
.constantia-delivery div{min-height:140px;padding:22px 18px 20px;border-right:1px solid #cfd4d7}.constantia-delivery div:first-child{padding-left:0}.constantia-delivery div:last-child{border-right:0}
.constantia-delivery span,.constantia-delivery strong,.constantia-delivery small{display:block}.constantia-delivery span{margin-bottom:29px;color:#8a959f;font-size:10px;font-weight:800}.constantia-delivery strong{margin-bottom:7px;color:var(--navy);font-size:15px}.constantia-delivery small{color:#75808a;font-size:11px;line-height:1.45}
.constantia-specs{position:relative;margin-top:5px;padding:0 38px 34px;background:var(--navy);color:white;box-shadow:0 28px 60px rgba(6,43,92,.16)}
.constantia-specs:before{content:"";position:absolute;top:0;left:0;width:5px;height:100%;background:var(--silver)}
.constantia-specs-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:27px 0 24px;border-bottom:1px solid rgba(255,255,255,.2)}
.constantia-specs-heading span{font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.constantia-specs-heading strong{color:#aebdcb;font-size:9px;letter-spacing:.08em}
.constantia-specs dl{margin:0}.constantia-specs dl div{display:grid;grid-template-columns:84px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.15)}
.constantia-specs dt{color:#91a4b7;font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.constantia-specs dd{margin:0;font-size:13px;font-weight:590;line-height:1.5}
.constantia-specs>p{margin:26px 0 0;color:#b7c6d5;font-size:12px;line-height:1.7}

.constantia-gallery{padding:126px 0 140px;background:#111922;color:white}
.constantia-gallery-heading{display:grid;grid-template-columns:1fr .58fr;gap:100px;align-items:end;margin-bottom:66px}
.constantia-gallery-heading h2{color:white}.constantia-gallery-heading>p{margin:0;color:#aeb9c4;font-size:15px;line-height:1.8}
.constantia-gallery-grid{display:grid;grid-template-columns:1.28fr .72fr;gap:28px;align-items:start}
.constantia-gallery figure{margin:0}.constantia-gallery figure img{width:100%;height:auto;background:#070c11}
.constantia-interior{margin-top:165px!important}
.constantia-gallery figcaption{display:grid;grid-template-columns:112px 1fr;gap:7px 24px;padding:23px 0;border-bottom:1px solid #333d47}
.constantia-gallery figcaption span{grid-row:1/3;color:#7f8d9a;font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.constantia-gallery figcaption strong{font-size:15px;font-weight:650}.constantia-gallery figcaption small{color:#8f9ba6;font-size:11px;line-height:1.55}

.constantia-signoff{padding:132px 0;background:#fff;text-align:center}
.constantia-signoff-inner{max-width:820px}.constantia-signoff h2{color:var(--navy)}
.constantia-signoff-inner>p:not(.kicker){max-width:620px;margin:28px auto 34px;color:#65717c;font-size:16px;line-height:1.8}

@media(max-width:980px){
  .constantia-title-grid{grid-template-columns:1fr;gap:40px}.constantia-intro{max-width:700px}.constantia-overview-grid{grid-template-columns:1fr;gap:70px}.constantia-specs{max-width:680px}.constantia-gallery-grid{grid-template-columns:1fr 1fr}.constantia-gallery-heading{gap:55px}
}
@media(max-width:760px){
  .constantia-hero-inner{padding:38px 0 42px}.constantia-hero-topline{padding-bottom:24px}.constantia-title-grid{padding:52px 0 44px}.constantia-title-grid h1{font-size:68px}.constantia-intro{font-size:16px}.constantia-meta{grid-template-columns:1fr 1fr}.constantia-meta div{min-height:78px;padding:17px 16px}.constantia-meta div:first-child{padding-left:16px}.constantia-meta div:nth-child(2){border-right:0}.constantia-meta div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.18)}
  .constantia-facade{padding:0 0 58px}.constantia-facade figure{box-shadow:none}.constantia-facade figcaption{position:static;justify-content:space-between;padding:15px}
  .constantia-overview{padding:78px 0 82px}.constantia-overview-grid{gap:54px}.constantia-story h2,.constantia-gallery-heading h2,.constantia-signoff h2{font-size:43px}.constantia-story .constantia-lead{font-size:17px}.constantia-delivery{grid-template-columns:1fr}.constantia-delivery div,.constantia-delivery div:first-child{min-height:0;padding:18px 0;border-right:0;border-bottom:1px solid #cfd4d7}.constantia-delivery div:last-child{border-bottom:0}.constantia-delivery span{display:inline-block;width:42px;margin:0}.constantia-delivery strong{display:inline-block}.constantia-delivery small{margin:7px 0 0 46px}.constantia-specs{padding:0 25px 28px}.constantia-specs dl div{grid-template-columns:76px 1fr}
  .constantia-gallery{padding:78px 0 86px}.constantia-gallery-heading,.constantia-gallery-grid{grid-template-columns:1fr;gap:38px}.constantia-gallery-heading{margin-bottom:42px}.constantia-gallery-heading>p{max-width:560px}.constantia-interior{margin-top:10px!important}.constantia-gallery figcaption{grid-template-columns:92px 1fr}.constantia-signoff{padding:84px 0}
}

/* Loch Lynne — premium structural-conversion case study */
.loch-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 80% 8%,rgba(92,143,198,.18),transparent 30%),#031a39;color:white}
.loch-hero:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.09;background-image:linear-gradient(rgba(255,255,255,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.2) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,transparent,#000 48%,transparent)}
.loch-hero-inner{position:relative;z-index:1;padding:58px 0 64px}
.loch-hero-topline{display:flex;align-items:center;justify-content:space-between;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.18);color:#b9c7d5;font-size:10px;font-weight:720;letter-spacing:.14em;text-transform:uppercase}
.loch-hero-topline a{transition:color .2s ease}.loch-hero-topline a:hover{color:white}
.loch-title-grid{display:grid;grid-template-columns:1.08fr .62fr;gap:100px;align-items:end;padding:70px 0 66px}
.loch-title-grid h1{margin:0;font-size:clamp(63px,8.7vw,118px);font-weight:545;line-height:.79;letter-spacing:-.07em}
.loch-title-grid h1 span{display:inline-block;color:#b8c1ca;font-size:.58em;font-weight:380;letter-spacing:-.055em}
.loch-title-grid .kicker{margin-bottom:31px}
.loch-intro{margin:0 0 -3px;color:#cfdae5;font-size:18px;line-height:1.75}
.loch-meta{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}
.loch-meta div{min-height:89px;padding:22px 26px;border-right:1px solid rgba(255,255,255,.18)}
.loch-meta div:first-child{padding-left:0}.loch-meta div:last-child{border-right:0}
.loch-meta span,.loch-meta strong{display:block}.loch-meta span{margin-bottom:8px;color:#8fa2b4;font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.loch-meta strong{font-size:13px;font-weight:610}

.loch-facade{background:#031a39;padding:0 24px 92px}
.loch-facade figure{position:relative;width:min(1520px,100%);margin:0 auto;overflow:hidden;background:#071727;box-shadow:0 42px 90px rgba(0,0,0,.34)}
.loch-facade img{width:100%;height:auto}
.loch-facade figcaption{position:absolute;left:0;bottom:0;display:flex;align-items:center;gap:28px;padding:18px 24px;background:rgba(3,26,57,.94);color:white;backdrop-filter:blur(10px)}
.loch-facade figcaption span{color:#9fb0c0;font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.loch-facade figcaption strong{font-size:12px;font-weight:620}

.loch-overview{padding:128px 0 134px;background:#f7f5f0}
.loch-overview-grid{display:grid;grid-template-columns:1.08fr .72fr;gap:116px;align-items:start}
.loch-story h2,.loch-process-heading h2,.loch-signoff h2{margin:0;color:var(--navy);font-size:clamp(43px,5.1vw,68px);font-weight:560;line-height:1.01;letter-spacing:-.055em}
.loch-story .loch-lead{margin:36px 0 22px;color:#263544;font-size:19px;line-height:1.75}
.loch-story>p:last-of-type{margin:0;color:#65717c;font-size:15px;line-height:1.85}
.loch-delivery{display:grid;grid-template-columns:repeat(3,1fr);margin-top:54px;border-top:1px solid #cfd4d7;border-bottom:1px solid #cfd4d7}
.loch-delivery div{min-height:148px;padding:22px 18px 20px;border-right:1px solid #cfd4d7}.loch-delivery div:first-child{padding-left:0}.loch-delivery div:last-child{border-right:0}
.loch-delivery span,.loch-delivery strong,.loch-delivery small{display:block}.loch-delivery span{margin-bottom:29px;color:#8a959f;font-size:10px;font-weight:800}.loch-delivery strong{margin-bottom:7px;color:var(--navy);font-size:15px}.loch-delivery small{color:#75808a;font-size:11px;line-height:1.45}
.loch-specs{position:relative;margin-top:5px;padding:0 38px 34px;background:#19242e;color:white;box-shadow:0 28px 60px rgba(3,26,57,.17)}
.loch-specs:before{content:"";position:absolute;top:0;left:0;width:5px;height:100%;background:var(--silver)}
.loch-specs-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:27px 0 24px;border-bottom:1px solid rgba(255,255,255,.2)}
.loch-specs-heading span{font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.loch-specs-heading strong{color:#aebdcb;font-size:9px;letter-spacing:.08em}
.loch-specs dl{margin:0}.loch-specs dl div{display:grid;grid-template-columns:84px 1fr;gap:18px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.15)}
.loch-specs dt{color:#91a4b7;font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.loch-specs dd{margin:0;font-size:13px;font-weight:590;line-height:1.5}
.loch-specs>p{margin:26px 0 0;color:#b7c6d5;font-size:12px;line-height:1.7}

.loch-process{padding:126px 0 142px;background:#111922;color:white}
.loch-process-heading{display:grid;grid-template-columns:1fr .58fr;gap:100px;align-items:end;margin-bottom:66px}
.loch-process-heading h2{color:white}.loch-process-heading>p{margin:0;color:#aeb9c4;font-size:15px;line-height:1.8}
.loch-process-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;align-items:start}
.loch-process figure{margin:0}.loch-process figure img{width:100%;height:auto;background:#070c11}
.loch-installation{margin-top:132px!important}
.loch-process figcaption{display:grid;grid-template-columns:112px 1fr;gap:7px 24px;padding:23px 0;border-bottom:1px solid #333d47}
.loch-process figcaption span{grid-row:1/3;color:#7f8d9a;font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.loch-process figcaption strong{font-size:15px;font-weight:650}.loch-process figcaption small{color:#8f9ba6;font-size:11px;line-height:1.55}

.loch-signoff{padding:132px 0;background:white;text-align:center}
.loch-signoff-inner{max-width:850px}.loch-signoff h2{color:var(--navy)}
.loch-signoff-inner>p:not(.kicker){max-width:650px;margin:28px auto 34px;color:#65717c;font-size:16px;line-height:1.8}

@media(max-width:980px){
  .loch-title-grid{grid-template-columns:1fr;gap:42px}.loch-intro{max-width:700px}.loch-overview-grid{grid-template-columns:1fr;gap:70px}.loch-specs{max-width:680px}.loch-process-grid{grid-template-columns:1fr 1fr}.loch-process-heading{gap:55px}
}
@media(max-width:760px){
  .loch-hero-inner{padding:38px 0 42px}.loch-hero-topline{padding-bottom:24px}.loch-title-grid{padding:52px 0 44px}.loch-title-grid h1{font-size:64px}.loch-title-grid h1 span{font-size:.58em}.loch-intro{font-size:16px}.loch-meta{grid-template-columns:1fr 1fr}.loch-meta div{min-height:78px;padding:17px 16px}.loch-meta div:first-child{padding-left:16px}.loch-meta div:nth-child(2){border-right:0}.loch-meta div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.18)}
  .loch-facade{padding:0 0 58px}.loch-facade figure{box-shadow:none}.loch-facade figcaption{position:static;justify-content:space-between;padding:15px}
  .loch-overview{padding:78px 0 82px}.loch-overview-grid{gap:54px}.loch-story h2,.loch-process-heading h2,.loch-signoff h2{font-size:43px}.loch-story .loch-lead{font-size:17px}.loch-delivery{grid-template-columns:1fr}.loch-delivery div,.loch-delivery div:first-child{min-height:0;padding:18px 0;border-right:0;border-bottom:1px solid #cfd4d7}.loch-delivery div:last-child{border-bottom:0}.loch-delivery span{display:inline-block;width:42px;margin:0}.loch-delivery strong{display:inline-block}.loch-delivery small{margin:7px 0 0 46px}.loch-specs{padding:0 25px 28px}.loch-specs dl div{grid-template-columns:76px 1fr}
  .loch-process{padding:78px 0 86px}.loch-process-heading,.loch-process-grid{grid-template-columns:1fr;gap:38px}.loch-process-heading{margin-bottom:42px}.loch-process-heading>p{max-width:560px}.loch-installation{margin-top:10px!important}.loch-process figcaption{grid-template-columns:92px 1fr}.loch-signoff{padding:84px 0}
}

/* Shared premium project case-study system */
.project-case{--case-accent:#d9b31c;--case-accent-deep:#a08312;--case-accent-muted:#d6bf67;--case-surface:#f6f2e9;--case-border:#cfc8b8;--case-image-bg:#d9d2c4;--case-spec-bg:#171c21;--case-spec-label:#a8a37d;--case-hero:radial-gradient(circle at 78% 12%,rgba(220,173,17,.16),transparent 30%),linear-gradient(132deg,#031a39 0%,#061f3d 58%,#171a1c 100%)}
.project-case.constantia-theme{--case-accent:#b9cad8;--case-accent-deep:#667f95;--case-accent-muted:#b9cad8;--case-surface:#f7f5f0;--case-border:#cfd4d7;--case-image-bg:#d8dcdf;--case-spec-bg:#031a39;--case-spec-label:#91a4b7;--case-hero:radial-gradient(circle at 76% 12%,rgba(75,126,184,.2),transparent 28%),linear-gradient(132deg,#031a39 0%,#062650 62%,#111922 100%)}
.project-case.loch-theme{--case-accent:#bec8d0;--case-accent-deep:#748797;--case-accent-muted:#c2ccd4;--case-surface:#f4f3ef;--case-border:#ccd1d4;--case-image-bg:#d6d9da;--case-spec-bg:#19242e;--case-spec-label:#9ca8b2;--case-hero:radial-gradient(circle at 77% 11%,rgba(196,206,214,.15),transparent 30%),linear-gradient(132deg,#031a39 0%,#071f39 58%,#18212a 100%)}
.project-case.aluminium-theme{--case-accent:#bdd5df;--case-accent-deep:#587b8a;--case-accent-muted:#b9d1da;--case-surface:#f4f7f7;--case-border:#cbd6da;--case-image-bg:#d8e0e2;--case-spec-bg:#102b38;--case-spec-label:#8fb2c0;--case-hero:radial-gradient(circle at 77% 10%,rgba(118,180,201,.2),transparent 30%),linear-gradient(132deg,#031a39 0%,#082b43 58%,#102c35 100%)}
.project-case.heritage-theme{--case-accent:#d5b48e;--case-accent-deep:#8b6744;--case-accent-muted:#d6b892;--case-surface:#f5f1ea;--case-border:#d4c8b9;--case-image-bg:#ded5c8;--case-spec-bg:#25231f;--case-spec-label:#b9a084;--case-hero:radial-gradient(circle at 78% 11%,rgba(177,125,70,.19),transparent 29%),linear-gradient(132deg,#031a39 0%,#162b3d 54%,#2c2822 100%)}
.project-case.industrial-theme{--case-accent:#bfc8cc;--case-accent-deep:#6d7b81;--case-accent-muted:#c5ced2;--case-surface:#f2f3f2;--case-border:#c8cecf;--case-image-bg:#d3d7d8;--case-spec-bg:#182126;--case-spec-label:#96a3a8;--case-hero:radial-gradient(circle at 77% 11%,rgba(167,182,189,.16),transparent 29%),linear-gradient(132deg,#031a39 0%,#10283a 55%,#1d2529 100%)}
.local-hero{position:relative;overflow:hidden;background:var(--case-hero);color:white}
.local-hero:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.09;background-image:linear-gradient(rgba(255,255,255,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.2) 1px,transparent 1px);background-size:88px 88px;mask-image:linear-gradient(90deg,transparent 5%,#000 48%,transparent 100%)}
.local-hero-inner{position:relative;z-index:1;padding:58px 0 64px}
.local-hero-topline{display:flex;align-items:center;justify-content:space-between;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.18);color:#b9c7d5;font-size:10px;font-weight:720;letter-spacing:.14em;text-transform:uppercase}
.local-hero-topline a{transition:color .2s ease}.local-hero-topline a:hover{color:white}
.local-title-grid{display:grid;grid-template-columns:1.08fr .62fr;gap:100px;align-items:end;padding:70px 0 66px}
.local-title-grid h1{margin:0;font-size:clamp(68px,8vw,118px);font-weight:545;line-height:.82;letter-spacing:-.07em}
.local-title-grid h1,.local-story h2,.local-details-heading h2,.local-gallery-heading h2,.local-signoff h2{text-wrap:balance}
.local-title-grid h1 span{display:inline-block;color:var(--case-accent);font-weight:390}
.local-title-grid .kicker{margin-bottom:31px}.local-kicker{color:var(--case-accent)!important}
.local-intro{margin:0 0 -3px;color:#d1dbe4;font-size:18px;line-height:1.75;text-wrap:pretty}
.local-meta{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}
.local-meta div{min-height:89px;padding:22px 26px;border-right:1px solid rgba(255,255,255,.18)}
.local-meta div:first-child{padding-left:0}.local-meta div:last-child{border-right:0}
.local-meta span,.local-meta strong{display:block}.local-meta span{margin-bottom:8px;color:#8fa2b4;font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.local-meta strong{font-size:13px;font-weight:610}

.local-facade{background:#031a39;padding:0 24px 92px}
.local-facade figure{position:relative;width:min(1520px,100%);margin:0 auto;overflow:hidden;border:1px solid rgba(255,255,255,.14);background:#0b1218;box-shadow:0 42px 90px rgba(0,0,0,.36)}
.local-facade img{display:block;width:100%;height:auto}
.local-facade figcaption{position:absolute;left:0;bottom:0;display:flex;align-items:center;gap:28px;padding:18px 24px;background:rgba(3,26,57,.95);color:white;backdrop-filter:blur(10px)}
.local-facade figcaption span{color:var(--case-accent);font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.local-facade figcaption strong{font-size:12px;font-weight:620}

.local-overview{padding:128px 0 134px;background:var(--case-surface)}
.local-overview-grid{display:grid;grid-template-columns:1.08fr .72fr;gap:116px;align-items:start}
.local-story h2,.local-details-heading h2,.local-signoff h2{margin:0;color:var(--navy);font-size:clamp(43px,5.1vw,68px);font-weight:560;line-height:1.01;letter-spacing:-.055em}
.local-story .local-lead{margin:36px 0 22px;color:#263544;font-size:19px;line-height:1.75}
.local-story>p:last-of-type{margin:0;color:#65717c;font-size:15px;line-height:1.85}
.local-delivery{display:grid;grid-template-columns:repeat(3,1fr);margin-top:54px;border-top:1px solid var(--case-border);border-bottom:1px solid var(--case-border)}
.local-delivery div{min-height:152px;padding:22px 18px 20px;border-right:1px solid var(--case-border)}.local-delivery div:first-child{padding-left:0}.local-delivery div:last-child{border-right:0}
.local-delivery span,.local-delivery strong,.local-delivery small{display:block}.local-delivery span{margin-bottom:29px;color:var(--case-accent-deep);font-size:10px;font-weight:800}.local-delivery strong{margin-bottom:7px;color:var(--navy);font-size:15px}.local-delivery small{color:#75808a;font-size:11px;line-height:1.45}
.local-specs{position:relative;margin-top:5px;padding:0 38px 34px;background:var(--case-spec-bg);color:white;box-shadow:0 28px 60px rgba(3,26,57,.18)}
.local-specs:before{content:"";position:absolute;top:0;left:0;width:5px;height:100%;background:var(--case-accent)}
.local-specs-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:27px 0 24px;border-bottom:1px solid rgba(255,255,255,.2)}
.local-specs-heading span{font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.local-specs-heading strong{color:var(--case-accent-muted);font-size:9px;letter-spacing:.08em}
.local-specs dl{margin:0}.local-specs dl div{display:grid;grid-template-columns:84px 1fr;gap:18px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.15)}
.local-specs dt{color:var(--case-spec-label);font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.local-specs dd{margin:0;font-size:13px;font-weight:590;line-height:1.5}
.local-specs>p{margin:26px 0 0;color:#b7c2cc;font-size:12px;line-height:1.7}

.local-details{padding:126px 0 142px;background:#111922;color:white}
.local-details-heading{display:grid;grid-template-columns:1fr .58fr;gap:100px;align-items:end;margin-bottom:70px}
.local-details-heading h2{color:white}.local-details-heading>p{margin:0;color:#aeb9c4;font-size:15px;line-height:1.8}
.local-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.local-detail-grid article{min-height:305px;padding:32px 30px 34px;border:1px solid #303b45;background:linear-gradient(145deg,#171f27,#111922)}
.local-detail-grid article>span{color:var(--case-accent);font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.local-detail-rule{width:42px;height:2px;margin:47px 0 29px;background:var(--case-accent)}
.local-detail-grid h3{margin:0 0 17px;font-size:23px;font-weight:610;letter-spacing:-.025em}.local-detail-grid p{margin:0;color:#9ba8b4;font-size:13px;line-height:1.75}

.local-gallery{padding:128px 0 142px;background:var(--case-surface)}
.local-gallery-heading{display:grid;grid-template-columns:1fr .58fr;gap:100px;align-items:end;margin-bottom:64px}
.local-gallery-heading h2{margin:0;color:var(--navy);font-size:clamp(43px,5.1vw,68px);font-weight:560;line-height:1.01;letter-spacing:-.055em}
.local-gallery-heading>p{margin:0;color:#65717c;font-size:15px;line-height:1.8}
.local-gallery figure{margin:0}
.local-gallery img{display:block;width:100%;height:auto;border:1px solid rgba(3,26,57,.1);background:var(--case-image-bg);box-shadow:0 24px 58px rgba(3,26,57,.08)}
.local-gallery-finished{display:grid;gap:58px}
.local-gallery-finished figure{position:relative}
.local-gallery-finished figure:before{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(3,26,57,.12)}
.local-gallery figcaption{display:grid;grid-template-columns:130px minmax(170px,.7fr) 1fr;gap:12px 28px;align-items:start;padding:22px 0;border-bottom:1px solid var(--case-border);color:var(--navy)}
.local-gallery figcaption span{color:var(--case-accent-deep);font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.local-gallery figcaption strong{font-size:15px;font-weight:650}
.local-gallery figcaption small{color:#6f7a83;font-size:11px;line-height:1.55}
.local-gallery-process{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:80px}
.local-gallery-process figure{min-width:0}
.local-gallery-process figcaption{grid-template-columns:112px 1fr}
.local-gallery-process figcaption small{grid-column:2}

.local-signoff{padding:132px 0;background:white;text-align:center}
.local-signoff-inner{max-width:850px}.local-signoff h2{color:var(--navy)}
.local-signoff-inner>p:not(.kicker){max-width:650px;margin:28px auto 34px;color:#65717c;font-size:16px;line-height:1.8}

.local-project-nav{background:#031a39;color:white;border-top:1px solid rgba(255,255,255,.15)}
.local-project-nav-inner{display:grid;grid-template-columns:1fr 190px 1fr;align-items:stretch;min-height:154px}
.local-project-nav a{display:flex;flex-direction:column;justify-content:center;color:white;transition:background .22s ease,color .22s ease}
.local-project-nav-link{padding:28px 34px}
.local-project-nav-link.next{text-align:right;align-items:flex-end;border-left:1px solid rgba(255,255,255,.15)}
.local-project-nav-link.previous{border-right:1px solid rgba(255,255,255,.15)}
.local-project-nav-link span,.local-project-index span{margin-bottom:13px;color:var(--case-accent);font-size:9px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.local-project-nav-link strong{font-size:20px;font-weight:610;letter-spacing:-.02em}
.local-project-nav-link small{margin-top:7px;color:#90a2b3;font-size:10px;letter-spacing:.05em}
.local-project-index{align-items:center;padding:28px 18px;text-align:center}
.local-project-index strong{font-size:12px;font-weight:650;letter-spacing:.16em}
.local-project-nav a:hover,.local-project-nav a:focus-visible{background:rgba(255,255,255,.07)}

@media(max-width:980px){
  .local-title-grid{grid-template-columns:1fr;gap:42px}.local-intro{max-width:700px}.local-overview-grid{grid-template-columns:1fr;gap:70px}.local-specs{max-width:680px}.local-details-heading,.local-gallery-heading{gap:55px}.local-detail-grid{gap:18px}
}
@media(max-width:760px){
  .local-hero-inner{padding:38px 0 42px}.local-hero-topline{padding-bottom:24px}.local-title-grid{padding:52px 0 44px}.local-title-grid h1{font-size:clamp(50px,16vw,68px);overflow-wrap:anywhere}.local-intro{font-size:16px}.local-meta{grid-template-columns:1fr 1fr}.local-meta div{min-height:78px;padding:17px 16px}.local-meta div:first-child{padding-left:16px}.local-meta div:nth-child(2){border-right:0}.local-meta div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.18)}
  .local-facade{padding:0 0 58px}.local-facade figure{box-shadow:none}.local-facade figcaption{position:static;justify-content:space-between;padding:15px}
  .local-overview{padding:78px 0 82px}.local-overview-grid{gap:54px}.local-story h2,.local-details-heading h2,.local-signoff h2{font-size:43px}.local-story .local-lead{font-size:17px}.local-delivery{grid-template-columns:1fr}.local-delivery div,.local-delivery div:first-child{min-height:0;padding:18px 0;border-right:0;border-bottom:1px solid var(--case-border)}.local-delivery div:last-child{border-bottom:0}.local-delivery span{display:inline-block;width:42px;margin:0}.local-delivery strong{display:inline-block}.local-delivery small{margin:7px 0 0 46px}.local-specs{padding:0 25px 28px}.local-specs dl div{grid-template-columns:76px 1fr}
  .local-details{padding:78px 0 86px}.local-details-heading,.local-detail-grid{grid-template-columns:1fr;gap:26px}.local-details-heading{margin-bottom:42px}.local-details-heading>p{max-width:560px}.local-detail-grid article{min-height:245px}.local-detail-rule{margin:38px 0 24px}
  .local-gallery{padding:78px 0 88px}.local-gallery-heading,.local-gallery-process{grid-template-columns:1fr;gap:28px}.local-gallery-heading{margin-bottom:42px}.local-gallery-heading>p{max-width:560px}.local-gallery-finished{gap:42px}.local-gallery-process{margin-top:52px}.local-gallery figcaption,.local-gallery-process figcaption{grid-template-columns:92px 1fr;gap:8px 16px}.local-gallery figcaption small{grid-column:2}.local-signoff{padding:84px 0}
  .local-project-nav-inner{grid-template-columns:1fr 1fr;min-height:0;padding:0}.local-project-nav-link{min-width:0;padding:27px 20px}.local-project-nav-link.previous{border-right:1px solid rgba(255,255,255,.15)}.local-project-nav-link.next{border-left:0}.local-project-nav-link strong{font-size:16px}.local-project-index{grid-column:1/-1;grid-row:1;padding:20px;border-bottom:1px solid rgba(255,255,255,.15)}.local-project-nav-link.previous,.local-project-nav-link.next{grid-row:2}
}

/* Site-wide authority, service-depth and enquiry sections */
.nav-cta{white-space:nowrap}
.proof-strip{border-top:1px solid #dbe0e4;border-bottom:1px solid #dbe0e4;background:#f7f5f0}
.proof-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.proof-grid>div{display:grid;grid-template-columns:34px 1fr;gap:5px 12px;min-height:112px;padding:27px 24px;border-right:1px solid #d4d7d8;align-content:center}
.proof-grid>div:first-child{padding-left:0}.proof-grid>div:last-child{border-right:0}
.proof-grid span{grid-row:1/3;color:#7f8b96;font-size:9px;font-weight:800;letter-spacing:.14em}
.proof-grid strong{color:var(--navy);font-size:15px;letter-spacing:-.01em}
.proof-grid small{color:#69747e;font-size:11px;line-height:1.45}

/* Approved-installer credential */
.nu-glaze-band{padding:68px 0;border-bottom:1px solid #dbe0e4;background:#fff}
.nu-glaze-grid{display:grid;grid-template-columns:220px minmax(0,1fr) 200px;gap:48px;align-items:center}
.nu-glaze-badge{display:flex;align-items:center;justify-content:center;min-height:148px;padding:18px 20px;border:1px solid #dce1e5;background:#fff}
.nu-glaze-badge img{width:100%;height:auto;max-height:122px;object-fit:contain}
.nu-glaze-copy{min-width:0}.nu-glaze-copy h2{max-width:700px;margin:0;color:var(--navy);font-size:clamp(30px,3.4vw,45px);font-weight:590;line-height:1.08;letter-spacing:-.045em;text-wrap:balance}
.nu-glaze-copy>p:last-child{max-width:720px;margin:20px 0 0;color:var(--muted);font-size:14px;line-height:1.75}
.nu-glaze-note{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:28px;border-left:1px solid #dbe0e4}
.nu-glaze-note span{color:#87939e;font-size:9px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.nu-glaze-note strong{margin:12px 0 10px;color:var(--navy);font-size:27px;font-weight:620;letter-spacing:-.035em}
.nu-glaze-note small{color:#67727d;font-size:11px;line-height:1.55}
.footer-credential{width:max-content;margin-top:8px;padding-top:12px;border-top:1px solid #303b45;color:#d9e0e6;font-weight:700}

.why-section{background:#f7f5f0}
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #cfd5d9;border-left:1px solid #cfd5d9}
.why-grid article{min-height:255px;padding:34px 36px;border-right:1px solid #cfd5d9;border-bottom:1px solid #cfd5d9;background:rgba(255,255,255,.42)}
.why-grid article>span,.method-grid article>span{color:#89949e;font-size:10px;font-weight:800;letter-spacing:.15em}
.why-grid h3,.method-grid h3{margin:58px 0 14px;color:var(--navy);font-size:25px;font-weight:610;letter-spacing:-.035em}
.why-grid p,.method-grid p{margin:0;color:#66727d;font-size:14px;line-height:1.75}

.service-method{background:radial-gradient(circle at 84% 4%,rgba(87,139,198,.15),transparent 27%),#111922;color:white}
.service-method .section-head h2{color:white}.service-method .section-head>p{color:#aeb9c4}
.service-method .kicker{color:#aebdcc}
.method-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #34404b;border-left:1px solid #34404b}
.method-grid article{min-height:315px;padding:34px;border-right:1px solid #34404b;border-bottom:1px solid #34404b;background:rgba(255,255,255,.018)}
.method-grid article>span{color:#9aabb9}.method-grid h3{margin-top:74px;color:white}.method-grid p{color:#aeb9c4}

.compact-section{padding-top:84px;padding-bottom:96px}
.faq-layout{display:grid;grid-template-columns:.62fr 1fr;gap:110px;align-items:start}
.faq-layout h2{margin:0;color:var(--navy);font-size:clamp(38px,4.4vw,58px);font-weight:590;line-height:1.02;letter-spacing:-.045em}
.faq-list{border-top:1px solid #d7dde1}
.faq-list details{border-bottom:1px solid #d7dde1}
.faq-list summary{position:relative;padding:23px 48px 23px 0;color:var(--navy);font-size:16px;font-weight:680;cursor:pointer;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";position:absolute;right:5px;top:19px;color:#75818c;font-size:23px;font-weight:350}
.faq-list details[open] summary:after{content:"−"}
.faq-list p{max-width:720px;margin:0;padding:0 48px 24px 0;color:#66727d;font-size:14px;line-height:1.75}

.portfolio-proof{border-top:1px solid #dbe0e4;border-bottom:1px solid #dbe0e4;background:#f7f5f0}
.portfolio-proof-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.portfolio-proof-grid>div{min-height:128px;padding:27px 25px;border-right:1px solid #d4d8db;display:flex;flex-direction:column;justify-content:center}
.portfolio-proof-grid>div:first-child{padding-left:0}.portfolio-proof-grid>div:last-child{border-right:0}
.portfolio-proof-grid strong{color:var(--navy);font-size:36px;font-weight:560;letter-spacing:-.055em}
.portfolio-proof-grid span{margin-top:5px;color:#69747e;font-size:11px;line-height:1.45}
.service-portfolio-grid{grid-template-columns:repeat(2,1fr)}

.contact-intro{margin:-4px 0 18px;color:#66727d;font-size:15px;line-height:1.7}
.contact-hero{overflow:hidden;background:radial-gradient(circle at 12% 10%,rgba(87,139,198,.22),transparent 29%),linear-gradient(135deg,#021936,#062b5c 58%,#0a376e);color:white}
.contact-hero-grid{display:grid;grid-template-columns:.78fr 1fr;gap:84px;align-items:start;padding:72px 0 78px}
.contact-hero-copy{padding-top:29px}.contact-hero-copy h1{max-width:660px;margin:0;font-size:clamp(48px,5.5vw,72px);font-weight:600;line-height:.98;letter-spacing:-.055em}
.contact-hero-copy>p:not(.kicker){max-width:620px;margin:28px 0 0;color:#d0dbe6;font-size:16px;line-height:1.78}
.contact-hero-proof{display:flex;flex-wrap:wrap;gap:10px;margin-top:35px}.contact-hero-proof span{padding:9px 11px;border:1px solid rgba(255,255,255,.25);color:#d9e2ea;font-size:9px;font-weight:760;letter-spacing:.09em;text-transform:uppercase}
.contact-hero .quote-form{background:#fff;border:0;box-shadow:0 28px 65px rgba(0,0,0,.27)}
.contact-support{background:#fff}.contact-support-grid{display:grid;grid-template-columns:1fr .72fr;gap:100px;align-items:start}
.contact-support h2{max-width:650px;margin:0;color:var(--navy);font-size:clamp(35px,4.4vw,56px);font-weight:600;line-height:1.04;letter-spacing:-.045em}
.enquiry-checklist.contact-checklist{margin-top:0;padding:37px 38px;border-left-width:5px}.contact-checklist ul{margin-top:24px}.contact-checklist li{padding-top:10px;padding-bottom:10px}
.enquiry-checklist{margin-top:35px;padding:27px 28px;background:#f7f5f0;border-left:4px solid var(--navy)}
.enquiry-checklist>span{color:var(--navy);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.enquiry-checklist ul{margin:18px 0 0;padding:0;list-style:none}.enquiry-checklist li{position:relative;padding:7px 0 7px 20px;color:#56616c;font-size:13px}.enquiry-checklist li:before{content:"";position:absolute;left:0;top:13px;width:6px;height:6px;background:var(--navy)}
.form-note{grid-column:1/-1;margin:2px 0 0;color:#74808b;font-size:11px;line-height:1.55}
.form-note a{text-decoration:underline;text-underline-offset:2px}
.quote-form-heading{grid-column:1/-1;margin-bottom:5px;padding-bottom:22px;border-bottom:1px solid #d5dbe0}
.quote-form-heading>span{display:block;color:#73808c;font-size:9px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.quote-form-heading>strong{display:block;margin-top:9px;color:var(--navy);font-size:27px;font-weight:610;letter-spacing:-.035em}
.quote-form-heading>p{max-width:650px;margin:10px 0 0;color:#65717c;font-size:12px;line-height:1.65}
.quote-form input,.quote-form select{min-height:48px}.quote-form textarea{min-height:135px}
.quote-submit,.quote-email{width:100%;min-height:50px;cursor:pointer}
.contact-process{padding:88px 0 96px;background:radial-gradient(circle at 85% 0,rgba(87,139,198,.16),transparent 30%),#071829;color:white}
.contact-process-heading{display:grid;grid-template-columns:.7fr 1fr;gap:70px;align-items:end;margin-bottom:42px}
.contact-process-heading h2{max-width:720px;margin:0;font-size:clamp(38px,4.5vw,58px);font-weight:570;line-height:1.03;letter-spacing:-.05em}
.contact-process-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.2);border-left:1px solid rgba(255,255,255,.2)}
.contact-process-grid article{min-height:235px;padding:29px 31px;border-right:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}
.contact-process-grid span{color:#8fa4b6;font-size:10px;font-weight:800;letter-spacing:.15em}
.contact-process-grid strong{display:block;margin:54px 0 14px;font-size:20px;font-weight:620}
.contact-process-grid p{margin:0;color:#aebbc7;font-size:13px;line-height:1.7}
footer small{max-width:360px;color:#84909b;font-size:11px;line-height:1.6}
.quote-panel span strong{display:block;margin-bottom:5px;color:white;font-size:16px}

@media(max-width:980px){
  .proof-grid,.portfolio-proof-grid{grid-template-columns:repeat(2,1fr)}
  .proof-grid>div:nth-child(2),.portfolio-proof-grid>div:nth-child(2){border-right:0}
  .proof-grid>div:nth-child(-n+2),.portfolio-proof-grid>div:nth-child(-n+2){border-bottom:1px solid #d4d8db}
  .proof-grid>div:first-child,.portfolio-proof-grid>div:first-child{padding-left:24px}
  .faq-layout{gap:60px}
  .contact-hero-grid{gap:48px}.contact-support-grid{gap:55px}
}
@media(max-width:760px){
  .proof-grid,.portfolio-proof-grid,.why-grid,.method-grid,.faq-layout{grid-template-columns:1fr}
  .proof-grid>div,.proof-grid>div:first-child,.portfolio-proof-grid>div,.portfolio-proof-grid>div:first-child{min-height:92px;padding:21px 18px;border-right:0;border-bottom:1px solid #d4d8db}
  .proof-grid>div:last-child,.portfolio-proof-grid>div:last-child{border-bottom:0}
  .why-grid article{min-height:225px;padding:28px}.why-grid h3{margin-top:46px}
  .method-grid article{min-height:265px;padding:28px}.method-grid h3{margin-top:54px}
  .faq-layout{gap:38px}.compact-section{padding-top:68px;padding-bottom:74px}
  .faq-list summary{padding-right:36px}.faq-list p{padding-right:18px}
  .form-note{grid-column:auto}
  .quote-form-heading{grid-column:auto}.quote-form-heading>strong{font-size:25px}
  .contact-process{padding:70px 0 78px}.contact-process-heading,.contact-process-grid{grid-template-columns:1fr}.contact-process-heading{gap:12px;margin-bottom:34px}.contact-process-heading h2{font-size:38px}.contact-process-grid article{min-height:190px;padding:25px}.contact-process-grid strong{margin-top:40px}
  .service-portfolio-grid{grid-template-columns:1fr}
  .contact-hero-grid,.contact-support-grid{grid-template-columns:1fr}.contact-hero-grid{gap:34px;padding:52px 0 62px}.contact-hero-copy{padding-top:0}.contact-hero-copy h1{font-size:45px}.contact-hero-copy>p:not(.kicker){font-size:15px}.contact-hero-proof{margin-top:27px}.contact-hero .quote-form{padding:22px;scroll-margin-top:96px;box-shadow:0 18px 42px rgba(0,0,0,.24)}.contact-support-grid{gap:38px}.contact-checklist{margin-top:0;padding:29px 26px}.contact-support h2{font-size:38px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Responsive navigation and always-available mobile contact actions */
.mobile-nav,.mobile-actions{display:none}
.mobile-nav{position:relative;z-index:50;flex:0 0 auto}
.mobile-nav-trigger{display:flex;align-items:center;justify-content:center;gap:10px;min-width:76px;min-height:48px;padding:0 13px;border:1px solid #cfd6dc;background:white;color:var(--navy);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.mobile-nav-trigger i{display:flex;width:16px;flex-direction:column;gap:3px}
.mobile-nav-trigger b{display:block;width:16px;height:1px;background:currentColor;transition:transform .18s ease,opacity .18s ease}
.mobile-nav[data-open="true"] .mobile-nav-trigger{background:var(--navy);color:white;border-color:var(--navy)}
.mobile-nav[data-open="true"] .mobile-nav-trigger b:nth-child(1){transform:translateY(4px) rotate(45deg)}
.mobile-nav[data-open="true"] .mobile-nav-trigger b:nth-child(2){opacity:0}
.mobile-nav[data-open="true"] .mobile-nav-trigger b:nth-child(3){transform:translateY(-4px) rotate(-45deg)}
.mobile-nav-panel{position:absolute;top:calc(100% + 17px);right:0;width:min(360px,calc(100vw - 30px));padding:10px;background:#061c34;color:white;box-shadow:0 22px 55px rgba(2,18,35,.28)}
.mobile-nav-panel a{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 15px;border-bottom:1px solid rgba(255,255,255,.14);font-size:14px;font-weight:620}
.mobile-nav-panel a:last-child{border-bottom:0}.mobile-nav-panel a.active{background:rgba(255,255,255,.09)}.mobile-nav-panel a span{color:#9fb0c0}
@media(max-width:1180px){.mobile-nav{display:block}}
@media(max-width:760px){
  body{padding-bottom:72px}.site-header{position:sticky}.nav-cta{display:none}.mobile-nav{margin-left:auto}
  .mobile-nav-panel{top:calc(100% + 11px)}
  .mobile-actions{position:fixed;z-index:60;right:0;bottom:0;left:0;display:grid;grid-template-columns:.72fr 1.28fr;min-height:64px;padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid #d4dae0;box-shadow:0 -8px 28px rgba(3,26,57,.12)}
  .mobile-actions a{display:flex;min-height:64px;flex-direction:column;justify-content:center;padding:8px 15px;color:var(--navy)}
  .mobile-actions a:first-child{border-right:1px solid #d4dae0}.mobile-actions a:last-child{background:var(--navy);color:#fff}
  .mobile-actions span{margin-bottom:3px;color:#7e8b97;font-size:8px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.mobile-actions a:last-child span{color:#aebdca}
.mobile-actions strong{font-size:12px;font-weight:760;white-space:nowrap}
}

/* Nu-Glaze page: keep every text block in a deliberate column at each width. */
@media(min-width:761px) and (max-width:1050px){
  .nu-glaze-band{padding:58px 0}
  .nu-glaze-grid{grid-template-columns:190px minmax(0,1fr);gap:40px 44px;align-items:center}
  .nu-glaze-badge{min-height:138px;padding:16px}
  .nu-glaze-copy h2{font-size:clamp(31px,4.1vw,39px)}
  .nu-glaze-note{grid-column:1/-1;display:grid;grid-template-columns:140px 170px minmax(0,1fr);gap:24px;align-items:center;align-self:auto;padding:24px 0 0;border-top:1px solid #dbe0e4;border-left:0}
  .nu-glaze-note strong{margin:0}
  .approved-installer-detail{grid-template-columns:1fr;gap:42px}
  .approved-installer-detail .stat-panel{max-width:620px}
}
@media(max-width:760px){
  .nu-glaze-band{padding:50px 0}
  .nu-glaze-grid{grid-template-columns:minmax(0,1fr);gap:30px;align-items:start}
  .nu-glaze-badge{width:min(100%,280px);min-height:126px;padding:17px}
  .nu-glaze-copy{width:100%}
  .nu-glaze-copy h2{max-width:520px;font-size:32px;line-height:1.1;letter-spacing:-.035em}
  .nu-glaze-copy>p:last-child{margin-top:17px;font-size:14px;line-height:1.72}
  .nu-glaze-note{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;align-self:auto;padding:24px 0 0;border-top:1px solid #dbe0e4;border-left:0}
  .nu-glaze-note strong{margin:4px 0 2px;font-size:25px}
  .nu-glaze-note small{max-width:330px}
  .approved-installer-detail{grid-template-columns:minmax(0,1fr);gap:36px}
  .approved-installer-detail .stat-panel strong{font-size:48px}
}

body.admin-bar .site-header{top:32px}.dgws-fallback{min-height:65vh;padding-top:110px;padding-bottom:110px}.dgws-fallback h1{max-width:850px;color:var(--navy);font-size:clamp(42px,6vw,72px);line-height:1.03;letter-spacing:-.05em}.dgws-fallback p{color:var(--muted);font-size:17px;line-height:1.7}@media(max-width:782px){body.admin-bar .site-header{top:46px}}
