@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/manrope-400.ttf') format('truetype')}
@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/manrope-500.ttf') format('truetype')}
@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/manrope-600.ttf') format('truetype')}
@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/manrope-700.ttf') format('truetype')}
@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/manrope-800.ttf') format('truetype')}

:root{
  --paper:#f3f1ec;--paper-2:#e9e7e1;--white:#fff;--ink:#141517;--ink-2:#202225;
  --muted:#666762;--line:#d8d6cf;--lime:#def232;--lime-soft:#e9f970;
  --max:1600px;--gutter:40px;--radius:24px;--title:3.625rem;--subtitle:1.125rem;
  --title-md:1.6875rem;--text-sm:.9375rem;--space:112px;--ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:var(--text-sm);line-height:1.6}
button,input,select,textarea{font:inherit;color:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
figure{margin:0}
p{margin:18px 0 0}
h1,h2,h3{font-weight:500}
h1,h2{font-size:var(--title);line-height:1.1;letter-spacing:-.055em;margin:18px 0 0}
h3{font-size:var(--title-md);line-height:1.25;letter-spacing:-.035em;margin:16px 0 0}
::selection{background:var(--lime);color:var(--ink)}
:focus-visible{outline:3px solid #7b8900;outline-offset:5px}
.dark-card :focus-visible,.dark :focus-visible,.hero-ref :focus-visible,.footer-ref :focus-visible{outline-color:var(--lime)}
[hidden]{display:none!important}
.skip-link{position:fixed;top:8px;left:16px;z-index:100;background:var(--ink);color:#fff;padding:12px 20px;border-radius:8px;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.container,.content-narrow{width:min(calc(100% - var(--gutter)*2),var(--max));margin-inline:auto}
.container-wide{width:calc(100% - 24px);max-width:1760px;margin-inline:auto}
.section-card{width:calc(100% - 24px);max-width:1760px;margin:12px auto 0;border-radius:var(--radius);position:relative}
.section-card>.content-narrow{width:min(calc(100% - var(--gutter)*2),var(--max))}
.paper-card{background:var(--paper)}
.white-card{background:var(--white)}
.dark-card,.dark{background:var(--ink);color:#fff}
.section-label,.eyebrow,.kicker,.mono{display:inline-block;font-size:var(--text-sm);color:var(--muted);line-height:1.4;font-weight:500}
.section-label::before{content:'('}.section-label::after{content:')'}
.section-label.accent,.dark .eyebrow,.accent-text{color:var(--lime)}
.kicker.light{color:#fff}
.lead,.small-lead{font-size:var(--subtitle);line-height:1.65;color:var(--muted)}
.text-link{display:inline-flex;align-items:center;gap:20px;font-size:var(--text-sm);font-weight:600;border-bottom:1px solid currentColor;padding:5px 0;margin-top:26px;transition:opacity .2s}
.text-link:hover{opacity:.6}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:24px;min-height:48px;padding:14px 22px;border:1px solid transparent;border-radius:11px;background:var(--ink);color:#fff;font-size:var(--text-sm);font-weight:600;line-height:1.3;transition:background .2s,color .2s,transform .2s}
.btn:hover{transform:translateY(-2px);background:var(--lime);color:var(--ink)}
.btn.lime{background:var(--lime);color:var(--ink)}
.btn.lime:hover{background:#fff;color:var(--ink);border-color:var(--ink)}
.btn.glass{background:#ffffff14;border:1px solid #ffffff55;color:#fff;backdrop-filter:blur(8px)}
.btn.glass:hover,.btn.light:hover{background:#fff;color:var(--ink)}
.btn.light{background:transparent;border-color:#ffffff66;color:#fff}
.btn.full{width:100%}
.btn.dark-small{margin-top:28px}
.two-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}

/* Navigation */
.site-header{position:sticky;top:0;z-index:50;background:#f3f1ecf2;border-bottom:1px solid #14151712;backdrop-filter:blur(14px)}
.nav-wrap{height:80px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:8px;white-space:nowrap}
.brand-home{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.brand-name{font-size:25px;line-height:1;font-weight:750;letter-spacing:-.05em}
.brand small{font-size:12px;color:var(--muted);margin-left:2px}
.nav{display:flex;align-items:center;gap:2px}
.nav-link{display:block;background:transparent;border:0;padding:11px 12px;font-size:var(--text-sm);white-space:nowrap;border-radius:9px;transition:background .2s}
.nav-link:hover,.nav-link.active,.has-mega.open .nav-link{background:var(--paper-2)}
.mega-trigger span{display:inline-block;font-size:12px;margin-left:4px;transform:rotate(180deg);transition:transform .2s}
.has-mega.open .mega-trigger span{transform:none}
.nav-actions{display:flex;align-items:center;gap:12px}
.nav-actions>.btn{min-height:46px;padding-inline:18px}
.menu-toggle{display:none;background:transparent;border:1px solid var(--line);border-radius:8px;width:44px;height:44px;font-size:24px;line-height:1}
.mobile-menu{display:none;background:var(--paper);padding:8px var(--gutter) 24px;border-top:1px solid var(--line);max-height:calc(100svh - 76px);overflow:auto}
.mobile-menu.open{display:grid}
.mobile-menu a{padding:12px 0;border-bottom:1px solid var(--line);font-size:18px}
.mega-menu{position:absolute;top:100%;left:0;right:0;background:var(--paper);border-top:1px solid var(--line);box-shadow:0 20px 35px #00000010;padding:32px 0;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s,visibility .2s,transform .2s}
.mega-menu[inert]{pointer-events:none}
.site-header.mega-open .mega-menu{opacity:1;visibility:visible;transform:none}
.mega-grid{display:grid;grid-template-columns:1.25fr .85fr .85fr;gap:28px}
.mega-services{border-top:1px solid var(--line)}
.mega-services a{display:grid;grid-template-columns:28px 1fr;gap:4px 12px;padding:13px 0;border-bottom:1px solid var(--line)}
.mega-services a>span{color:var(--muted);font-size:13px;grid-row:span 2;align-self:center}
.mega-services b{font-size:18px;font-weight:500}
.mega-services em{grid-column:2;font-style:normal;color:var(--muted);font-size:13px}
.mega-services a:hover b{text-decoration:underline;text-underline-offset:5px}
.mega-card{height:320px;position:relative;border-radius:16px;overflow:hidden}
.mega-card::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 30%,#000b);pointer-events:none}
.mega-card div{position:absolute;z-index:1;bottom:22px;left:22px;right:22px;color:#fff}
.mega-card b{display:block;font-size:20px;line-height:1.3;margin-bottom:8px}
.mega-card span{font-size:15px}

/* Hero */
.hero-ref{position:relative;min-height:720px;height:calc(100svh - 92px);max-height:940px;border-radius:var(--radius);overflow:hidden;background:var(--ink);isolation:isolate;color:#fff}
.hero-ref-bg{position:absolute;inset:0;object-position:center;filter:none;z-index:-3}
.hero-ref-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#11131528 0%,#1113150d 35%,#11131590 63%,#111315ed 100%);z-index:-2;pointer-events:none}
.hero-word{position:absolute;top:12%;left:20px;right:20px;font-size:clamp(100px,18.7vw,330px);font-weight:650;line-height:.95;letter-spacing:-.075em;text-align:center;white-space:nowrap;color:#fffffff2;pointer-events:none}
.hero-mini-tag{position:absolute;left:var(--gutter);top:34px;font-size:13px;font-weight:600;letter-spacing:.12em;color:#ffffffb8}
.hero-copy-ref{position:absolute;left:var(--gutter);right:var(--gutter);bottom:112px;display:grid;grid-template-columns:1.35fr .9fr;gap:64px;align-items:end}
.hero-copy-ref h1{font-size:var(--title);max-width:710px;line-height:1.08;margin-top:17px;font-weight:500;letter-spacing:-.055em}
.hero-actions{max-width:460px;justify-self:end}
.hero-actions p{font-size:var(--subtitle);line-height:1.6;color:#ffffffcf;margin:0 0 26px}
.hero-buttons{display:flex;flex-wrap:wrap;gap:10px}
.service-ribbon{position:absolute;bottom:0;left:0;right:0;padding:0 var(--gutter);border-top:1px solid #ffffff24;background:#14151777;pointer-events:none}
.ribbon-inner{width:100%;display:flex;align-items:center;flex-wrap:wrap;gap:12px 30px;min-height:74px;margin:0;max-width:none;padding:15px 0}
.ribbon-inner span{font-size:14px;white-space:nowrap;display:inline-flex;gap:9px;align-items:center;color:#ffffffe0}
.ribbon-inner span::before{content:'✓';color:var(--lime);font-size:16px}

/* Intro */
.intro-block{padding:var(--space) 0;display:grid;grid-template-columns:.82fr 1.18fr;grid-template-areas:'copy copy' 'image stats';gap:64px 80px;align-items:center}
.intro-copy{grid-area:copy;max-width:1080px}
.intro-copy h2{max-width:1050px}
.intro-copy p{max-width:850px;font-size:var(--subtitle);color:var(--muted);line-height:1.65;margin-top:24px}
.intro-image-card{grid-area:image;width:100%;height:490px;position:relative;border-radius:18px;overflow:hidden}
.intro-image-card>span{position:absolute;bottom:14px;left:14px;right:14px;background:#141517d9;color:#fff;padding:10px 13px;font-size:13px;border-radius:8px}
.intro-stats{grid-area:stats;display:grid;gap:0}
.intro-stats>div{display:grid;grid-template-columns:155px 1fr;gap:24px;padding:30px 0;border-top:1px solid var(--line);align-items:center}
.intro-stats>div:last-child{border-bottom:1px solid var(--line)}
.intro-stats strong{font-size:58px;line-height:1.05;font-weight:500;letter-spacing:-.065em}
.intro-stats span{font-size:var(--text-sm);max-width:270px;color:var(--muted)}

/* Services */
.accountable-grid{padding:var(--space) 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:'head head' 'media list';gap:56px 64px;align-items:start}
.section-intro{grid-area:head;max-width:800px}
.section-intro p{font-size:var(--subtitle);color:var(--muted);line-height:1.65;max-width:720px;margin-top:22px}
.accountable-left{grid-area:media;align-self:stretch}
.accountable-right{grid-area:list;min-width:0}
.sticky-service-media{position:sticky;top:112px;min-height:460px;height:560px;border-radius:16px;overflow:hidden;background:var(--paper-2)}
.service-image-frame{height:100%;overflow:hidden}
.service-image-frame img{transition:opacity .3s,transform .7s var(--ease)}
.is-swapping .service-image-frame img{opacity:.4;transform:scale(1.02)}
.image-caption figcaption{position:absolute;left:16px;right:16px;bottom:16px;background:#141517db;padding:12px 14px;color:#fff;border-radius:8px;font-size:13px}
.service-accordion{border-top:1px solid var(--ink)}
.service-accordion-item{border-bottom:1px solid var(--line)}
.service-accordion-trigger{display:grid;grid-template-columns:32px minmax(0,1fr) 24px;gap:14px;width:100%;background:transparent;border:0;text-align:left;align-items:start;padding:23px 0}
.service-accordion-trigger>span{font-size:13px;color:var(--muted);grid-row:1/3;padding-top:7px}
.service-accordion-trigger b{font-size:var(--title-md);font-weight:500;line-height:1.25;letter-spacing:-.035em}
.service-accordion-trigger em{grid-column:2;grid-row:2;font-style:normal;font-size:var(--text-sm);color:var(--muted);line-height:1.4;margin-top:0}
.service-accordion-trigger i{grid-column:3;grid-row:1;font-style:normal;font-size:23px;text-align:center;line-height:1.3}
.service-accordion-trigger:hover b{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.service-accordion-panel>div{padding:0 28px 26px 46px}
.service-accordion-panel p{font-size:var(--text-sm);line-height:1.7;color:var(--muted);margin:0}
.service-accordion-panel ul{list-style:none;padding:0;display:grid;gap:9px;margin:20px 0;font-size:var(--text-sm)}
.service-accordion-panel li{padding-left:20px;position:relative}
.service-accordion-panel li::before{content:'✓';position:absolute;left:0;color:#6a7800}
.service-accordion-panel a{display:inline-block;font-size:var(--text-sm);font-weight:600;border-bottom:1px solid currentColor;padding:4px 0;margin-top:10px}

/* Planning document */
.paperwork-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center;padding:var(--space) 0}
.paperwork p{font-size:var(--subtitle);line-height:1.65;color:#bcbdb8;max-width:580px;margin-top:22px}
.check-list{list-style:none;margin:32px 0 0;padding:0;max-width:580px}
.check-list li{display:grid;grid-template-columns:32px 1fr;gap:14px;align-items:center;padding:16px 0;border-top:1px solid #ffffff24;font-size:var(--text-sm)}
.check-list li:last-child{border-bottom:1px solid #ffffff24}
.check-list span{color:var(--lime);font-size:13px}
.document-card{width:100%;max-width:540px;justify-self:end;padding:36px;border-radius:17px;background:var(--lime);color:var(--ink);box-shadow:0 18px 0 #2b2d2e}
.doc-top{display:flex;justify-content:space-between;gap:15px;font-size:13px;font-weight:600;letter-spacing:.04em}
.doc-top small{font-size:13px;font-weight:400}
.doc-years{font-size:112px;line-height:1;font-weight:500;letter-spacing:-.07em;margin-top:42px}
.doc-years span{font-size:24px;letter-spacing:-.02em;margin-left:14px}
.document-card>p{font-size:var(--text-sm);color:#303329;margin:8px 0 30px}
.doc-lines{border-top:1px solid #14151755}
.doc-lines>div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid #14151735;font-size:var(--text-sm)}
.doc-lines b{font-weight:500}
.document-card footer{display:flex;justify-content:space-between;gap:20px;margin-top:30px;font-size:13px}
.document-card footer b{border:1px solid #14151766;border-radius:100px;padding:2px 10px;font-weight:500}

/* Materials */
.materials-section{padding:var(--space) 0}
.materials-head{max-width:900px;margin-bottom:40px}
.materials-head p{font-size:var(--subtitle);line-height:1.65;max-width:760px;color:var(--muted);margin-top:22px}
.brand-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 28px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:40px 0}
.brand-row span{font-size:15px;letter-spacing:.04em;font-weight:700;color:#555650}
.material-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.material-feature>img{height:560px;border-radius:18px}
.material-info{padding:12px 0}
.material-info h3{margin-top:20px}
.material-info p{font-size:var(--text-sm);color:var(--muted);line-height:1.75;max-width:530px;margin:22px 0 30px}
.spec-row{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:15px 0;font-size:var(--text-sm)}
.spec-row:last-of-type{border-bottom:1px solid var(--line)}
.spec-row b{font-weight:500;text-align:right}

/* Featured project */
.project-dark-grid{padding:var(--space) 0;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-areas:'head head' 'media copy';gap:56px 64px;align-items:center}
.project-section-intro{grid-area:head;max-width:830px}
.project-media{grid-area:media;min-width:0}
.project-media img{height:580px;border-radius:16px}
.project-dark-copy{grid-area:copy;min-width:0}
.project-dark-copy h3{font-size:var(--title-md);font-weight:500;line-height:1.4;margin-top:14px}
.project-dark-copy p{color:#bcbdb8;font-size:var(--text-sm);line-height:1.75;margin-top:24px}
.project-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;border-top:1px solid #ffffff26;border-bottom:1px solid #ffffff26;margin-top:32px}
.project-facts>div{padding:20px 0}
.project-facts span{display:block;color:#aeb0aa;font-size:13px}
.project-facts b{display:block;font-size:var(--text-sm);font-weight:500;margin-top:8px}

/* Estimators */
.estimator-home-grid{padding:var(--space) 0;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:80px;align-items:start}
.estimator-home h2{max-width:580px}
.estimator-home p{font-size:var(--subtitle);line-height:1.65;color:var(--muted);max-width:540px;margin-top:22px}
.mini-estimator-card{background:#fff;padding:32px;border:1px solid var(--line);border-radius:18px;min-width:0}
.mini-est-head{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding-bottom:22px;font-size:13px;font-weight:600;letter-spacing:.04em}
.mini-est-head small{font-size:12px;font-weight:400;letter-spacing:0;color:var(--muted);text-align:right}
.mini-estimator-card>label{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:var(--text-sm);font-weight:600;margin:24px 0 12px}
.mini-estimator-card>label b{font-weight:500}
input[type=range]{width:100%;height:24px;cursor:pointer;accent-color:var(--ink);margin:12px 0;touch-action:pan-y}
.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 0}
.choice{position:relative;cursor:pointer;display:block;min-width:0}
.choice input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}
.choice span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:10px 8px;font-size:var(--text-sm);border:1px solid var(--line);border-radius:8px;line-height:1.35;transition:background .2s,color .2s,border-color .2s}
.choice input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.choice input:focus-visible{outline:none}
.choice input:focus-visible+span{outline:3px solid #7b8900;outline-offset:3px}
.choice:hover span{border-color:var(--ink)}
.mini-estimator-card select,.quick-form select{width:100%;background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px;font-size:var(--text-sm);min-height:48px;cursor:pointer}
.estimate-black{background:var(--ink);color:#fff;padding:26px;border-radius:12px;margin:24px 0 20px}
.estimate-black small{display:block;font-size:12px;letter-spacing:.04em;color:#c9cbc3}
.estimate-black strong{display:block;font-size:clamp(27px,2.3vw,36px);line-height:1.2;letter-spacing:-.045em;margin:12px 0;font-weight:500}
.estimate-black>span{display:block;font-size:13px;color:#bcbeb5}
.estimator{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:start}
.estimator-form{border-top:1px solid var(--ink)}
.estimate-step{padding:24px 0;border-bottom:1px solid var(--line)}
.estimate-step>label{display:flex;justify-content:space-between;gap:18px;font-size:18px}
.hint{font-size:13px;color:var(--muted);margin-top:6px}
.estimate-result{background:var(--ink);color:#fff;border-radius:18px;padding:36px;position:sticky;top:112px;min-width:0}
.estimate-result>.eyebrow{color:var(--lime)}
.estimate-result .price{font-size:clamp(27px,3vw,43px);line-height:1.25;letter-spacing:-.045em;margin:24px 0 14px}
.estimate-result .range{font-size:13px;color:#bcbeb7}
.breakdown{border-top:1px solid #ffffff30;margin-top:28px}
.breakdown .line{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #ffffff24;font-size:var(--text-sm)}
.breakdown strong{text-align:right;font-weight:500}
.note-box{background:var(--paper-2);padding:24px;border-left:3px solid var(--ink);font-size:var(--text-sm);line-height:1.6}

/* Progress, reviews and questions */
.protection-card{overflow:hidden;background:var(--ink);color:#fff}
.protection-card>img,.final-cta>img{position:absolute;inset:0}
.protection-overlay,.final-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#141517ed,#141517bc);pointer-events:none}
.protection-grid{padding:88px 0;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px;align-items:start;position:relative;z-index:1}
.protection-grid .btn{margin-top:30px}
.protection-list{display:grid}
.protection-list article{display:grid;grid-template-columns:32px 1fr;gap:16px;padding:24px 0;border-top:1px solid #ffffff36}
.protection-list article:last-child{border-bottom:1px solid #ffffff36}
.protection-list article>span{font-size:13px;color:var(--lime);padding-top:6px}
.protection-list h3{margin:0;font-size:var(--title-md);font-weight:500}
.protection-list p{font-size:var(--text-sm);color:#cdcec7;line-height:1.7;margin-top:12px;max-width:570px}
.testimonials-section{padding:var(--space) 0}
.testimonials-head{max-width:950px;margin-bottom:50px}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;align-items:start}
.testimonial-grid article{border-top:1px solid var(--line);padding-top:24px}
.testimonial-grid p{margin:0;font-size:22px;line-height:1.55;letter-spacing:-.025em}
.testimonial-grid footer{display:flex;align-items:center;gap:14px;margin-top:24px}
.avatar{height:44px;width:44px;border-radius:50%;background:var(--paper-2);display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}
.testimonial-grid b{display:block;font-size:var(--text-sm);font-weight:600}
.testimonial-grid small{display:block;font-size:13px;color:var(--muted);margin-top:3px}
.faq-home{padding:var(--space) 0}
.faq-home-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px;align-items:start}
.faq-callout{display:grid;gap:12px;max-width:410px;margin-top:28px;color:var(--muted);font-size:var(--text-sm)}
.faq-callout b{color:var(--ink);font-weight:500}
.faq-callout a{display:block;justify-self:start;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:3px}
.faq{border-top:1px solid var(--ink)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{display:flex;align-items:start;justify-content:space-between;gap:28px;padding:22px 0;font-size:18px;line-height:1.5;cursor:pointer;background:transparent;border:0;text-align:left;width:100%}
.faq-q span:last-child{font-size:24px;line-height:1.15;flex-shrink:0;font-weight:400}
.faq-a{padding:0 40px 24px 0;font-size:var(--text-sm);line-height:1.75;color:var(--muted)}

/* Journal and contact */
.notes-section{padding:var(--space) 0}
.notes-head{max-width:900px;margin-bottom:48px}
.notes-head>.text-link{margin-top:22px}
.notes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.notes-grid img{height:300px;border-radius:16px}
.notes-grid article>span{display:block;font-size:13px;color:var(--muted);margin-top:22px}
.notes-grid h3{font-size:var(--title-md);font-weight:500;margin-top:12px;line-height:1.3}
.notes-grid p{font-size:var(--text-sm);color:var(--muted);line-height:1.7;margin-top:14px}
.final-cta{background:var(--ink);overflow:hidden;color:#fff}
.final-grid{padding:88px 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;align-items:center;position:relative;z-index:1}
.final-grid h2{max-width:600px}
.final-grid ul{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:12px}
.final-grid li{font-size:var(--text-sm)}
.final-grid li::before{content:'✓';margin-right:12px;color:var(--lime)}
.quick-form{padding:32px;background:#fff;color:var(--ink);border-radius:18px;min-width:0}
.quick-head{padding-bottom:22px;border-bottom:1px solid var(--line);display:grid;gap:7px}
.quick-head b{font-size:var(--title-md);font-weight:500;line-height:1.3;letter-spacing:-.035em}
.quick-head span{font-size:13px;color:var(--muted)}
.quick-form label{display:grid;gap:9px;margin:20px 0 0;font-size:var(--text-sm)}
.quick-form input{min-width:0;width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;font-size:var(--text-sm);min-height:48px;background:#fff}
.quick-form>.btn{margin-top:22px}
.quick-form>p{font-size:13px;color:var(--muted);margin-top:14px}
.form-status{font-size:var(--text-sm);padding:16px;background:var(--paper-2);border-radius:8px}

/* Footer */
.footer-ref{margin-top:12px;background:var(--ink);color:#fff;padding:64px 0 26px}
.footer-top{display:grid;grid-template-columns:.7fr 1.3fr;gap:64px;align-items:start;padding-bottom:46px}
.footer-brand-small{display:flex;align-items:center;gap:8px;white-space:nowrap}
.footer-brand-small>span{font-size:32px;line-height:1}
.footer-brand-small b{font-size:25px;letter-spacing:-.05em}
.footer-brand-small small{font-size:12px;color:#bdbfb6}
.footer-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
.footer-cols b{display:block;font-size:13px;color:#a9aca2;font-weight:500;margin-bottom:18px}
.footer-cols a,.footer-cols span{display:block;font-size:var(--text-sm);margin-top:9px}
.footer-cols a:hover{text-decoration:underline;text-underline-offset:5px}

.footer-bottom{border-top:1px solid #ffffff26;padding-top:22px;display:flex;justify-content:space-between;gap:16px;font-size:12px;color:#a9aca2}

/* Internal pages */
.page-hero{padding:88px 0 80px}
.breadcrumb{font-size:13px;color:var(--muted);margin-bottom:30px}
.breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.page-hero-grid{max-width:1000px}
.display-md,.heading{font-size:var(--title);line-height:1.1;letter-spacing:-.055em;margin:0;font-weight:500}
.page-hero-grid h1{max-width:930px}
.page-hero-grid aside{max-width:780px;margin-top:24px}
.page-hero-grid .lead{margin:0;font-size:var(--subtitle)}
.page-hero-grid aside .btn{margin-top:26px}
.page-image{width:calc(100% - 24px);max-width:1760px;margin:auto;height:640px;border-radius:var(--radius);overflow:hidden}
.section{padding:var(--space) 0}
.section-head{display:grid;gap:18px;max-width:980px;margin-bottom:50px}
.section-head h2{margin:0}
.section-head .lead{max-width:780px;margin-top:22px}
.service-browser-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
.service-browser-media{position:sticky;top:112px;height:620px;border-radius:18px;overflow:hidden;background:var(--paper-2)}
.service-browser-media::after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#141517cc);pointer-events:none}
.service-browser-title{position:absolute;bottom:24px;left:24px;right:24px;display:flex;justify-content:space-between;gap:20px;color:#fff;z-index:1;font-size:var(--text-sm)}
.service-browser-title strong{font-size:20px;font-weight:500}
.scope-table{border-top:1px solid var(--ink)}
.scope-row{display:grid;grid-template-columns:1.15fr .7fr 1.15fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--line);font-size:var(--text-sm)}
.scope-row.head{color:var(--muted);font-size:13px}
.estimator-band{width:calc(100% - 24px);max-width:1760px;margin:12px auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-radius:var(--radius);overflow:hidden;background:#fff}
.estimator-image{min-height:560px;height:100%}
.estimator-copy{padding:64px;align-self:center;min-width:0}
.estimator-copy .display-md{font-size:var(--title);margin:20px 0}
.estimator-copy .btn{margin-top:28px}
.filters{display:flex;gap:10px;margin-bottom:36px;flex-wrap:wrap}
.filter-btn{background:transparent;border:1px solid var(--line);border-radius:100px;padding:11px 20px;min-height:44px;font-size:var(--text-sm)}
.filter-btn.active,.filter-btn:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px 28px}
.project-tile .img{height:500px;border-radius:18px;overflow:hidden}
.project-tile .img img{transition:transform .7s var(--ease)}
.project-tile:hover .img img{transform:scale(1.025)}
.project-tile h2{font-size:var(--title-md);letter-spacing:-.035em;margin:20px 0 12px}
.project-meta{display:flex;justify-content:space-between;gap:18px;font-size:var(--text-sm);color:var(--muted)}
.project-tile.hide{display:none}
.story-grid{display:grid;grid-template-columns:.5fr 1.5fr;gap:70px}
.story-copy p{font-size:var(--subtitle);line-height:1.7;color:var(--muted);margin:24px 0 0}
.story-copy .about-statement{font-size:38px;line-height:1.3;letter-spacing:-.035em;color:var(--ink);margin:0}
.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;border-top:1px solid var(--line)}
.principle{padding-top:26px}
.principle h3{margin-top:28px}
.principle p{font-size:var(--text-sm);color:var(--muted);line-height:1.7;margin-top:18px}
.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;border-top:1px solid #ffffff26}
.process-step{padding-top:28px}
.process-step .n{font-size:13px;color:var(--lime)}
.process-step h3{font-size:var(--title-md);margin-top:32px}
.process-step p{font-size:var(--text-sm);color:#bcbeb5;margin-top:18px;line-height:1.7}
.contact-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:80px;align-items:start}
.contact-heading{margin-top:18px}
.contact-intro-panel .lead{font-size:var(--subtitle);margin-top:22px}
.contact-steps{margin-top:30px;border-top:1px solid var(--line)}
.contact-steps>div{display:grid;grid-template-columns:30px 100px 1fr;gap:14px;padding:20px 0;border-bottom:1px solid var(--line);align-items:start;font-size:var(--text-sm)}
.contact-steps span{color:var(--muted);font-size:13px;padding-top:3px}
.contact-steps b{font-weight:500}
.contact-steps p{margin:0;font-size:var(--text-sm);color:var(--muted)}
.form{display:grid;gap:24px;background:#fff;padding:32px;border:1px solid var(--line);border-radius:18px;min-width:0}
.field{display:grid;gap:12px;min-width:0}
.field label{font-size:var(--text-sm)}
.field input,.field select,.field textarea{width:100%;min-width:0;background:transparent;border:0;border-bottom:1px solid var(--line);padding:12px 0;font-size:var(--text-sm);border-radius:0;min-height:48px}
.field textarea{min-height:150px;resize:vertical}
.form-note{font-size:13px;color:var(--muted);line-height:1.6}

/* Motion adds no transforms to containers with sticky content. */
.reveal-item{opacity:0;transform:translateY(18px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
.reveal-item.revealed{opacity:1;transform:none}
@media(min-width:1700px){.hero-word{font-size:315px}.hero-copy-ref{left:64px;right:64px}.hero-mini-tag{left:64px}.service-ribbon{padding-inline:64px}}
@media(max-width:1200px){
  .nav-wrap{gap:18px}.nav-link{padding-inline:8px}.brand small{display:none}.hero-copy-ref{gap:36px;grid-template-columns:1.2fr 1fr}
  .hero-buttons{gap:8px}.hero-buttons .btn{padding-inline:16px}.footer-top{grid-template-columns:1fr;gap:36px}
  .doc-years{font-size:100px}.document-card{padding:30px}.estimator-copy{padding:44px}
}
@media(max-width:1080px){
  .nav{display:none}.menu-toggle{display:block}.mega-menu{display:none}.nav-actions{margin-left:auto}
  .hero-copy-ref{grid-template-columns:1fr;gap:24px;bottom:118px}.hero-actions{max-width:650px;justify-self:start}
  .hero-actions p{max-width:590px;margin-bottom:20px}.hero-word{top:10%}.hero-ref{min-height:820px}
  .intro-block{gap:50px}.intro-stats>div{grid-template-columns:120px 1fr;gap:16px}.intro-stats strong{font-size:48px}
  .accountable-grid,.material-feature,.project-dark-grid,.paperwork-grid,.faq-home-grid,.service-browser-grid{column-gap:40px}
  .estimator-home-grid,.final-grid,.contact-layout,.estimator{gap:44px}
  .estimate-black{padding:22px}.mini-estimator-card,.quick-form,.form{padding:26px}
  .protection-grid{gap:44px}.testimonial-grid{gap:24px}.notes-grid{gap:24px}.notes-grid img{height:260px}
}
@media(max-width:900px){
  :root{--gutter:28px;--space:88px}
  .intro-block{grid-template-columns:1fr 1fr;column-gap:36px}.intro-image-card{height:430px}.intro-stats>div{grid-template-columns:1fr;gap:12px;padding:20px 0}
  .accountable-grid{grid-template-columns:1fr;grid-template-areas:'head' 'media' 'list';gap:36px}
  .sticky-service-media{position:relative;top:auto;height:460px;min-height:0}
  .paperwork-grid,.material-feature,.estimator-home-grid,.protection-grid,.faq-home-grid,.final-grid,.contact-layout,.estimator,.service-browser-grid{grid-template-columns:1fr;gap:44px}
  .document-card{justify-self:stretch;max-width:none}.doc-years{font-size:112px}
  .material-feature>img{height:500px}.material-info{padding:0}
  .project-dark-grid{grid-template-columns:1fr;grid-template-areas:'head' 'media' 'copy';gap:36px}.project-media img{height:520px}
  .estimator-home h2,.estimator-home p{max-width:750px}.mini-estimator-card{max-width:none}
  .estimate-black strong{font-size:36px}.testimonials-head{max-width:none}.testimonial-grid{grid-template-columns:1fr;gap:32px}
  .testimonial-grid p{max-width:720px;font-size:var(--title-md)}
  .notes-grid{grid-template-columns:1fr;gap:40px}.notes-grid article{display:grid;grid-template-columns:.9fr 1.1fr;grid-template-rows:auto auto 1fr;gap:12px 28px}
  .notes-grid img{grid-row:1/4;height:280px}.notes-grid article>span{margin:0;align-self:end}.notes-grid h3{margin:0}.notes-grid p{margin:0;align-self:start}
  .final-grid h2{max-width:720px}.quick-form{max-width:720px;width:100%}
  .page-image{height:530px}.service-browser-media{position:relative;top:auto;height:500px}
  .estimator-band{grid-template-columns:1fr}.estimator-image{height:460px;min-height:0}.estimator-copy{padding:48px}
  .project-tile .img{height:390px}.story-grid{grid-template-columns:1fr;gap:28px}.principles{gap:26px}.process-grid{grid-template-columns:1fr 1fr;gap:36px}
  .estimate-result{position:relative;top:auto}.contact-intro-panel{max-width:740px}
}
@media(max-width:600px){
  :root{--gutter:20px;--title:2.375rem;--subtitle:1.125rem;--title-md:1.5rem;--radius:18px;--space:68px}
  html{scroll-padding-top:88px}.container-wide,.section-card,.page-image,.estimator-band{width:calc(100% - 16px)}
  .section-card>.content-narrow{width:calc(100% - 36px)}
  .nav-wrap{height:72px;gap:12px}.brand-home{width:24px;height:24px}.brand-name{font-size:22px}.nav-actions>.btn{display:none}
  .hero-ref{min-height:720px;max-height:none;height:calc(100svh - 84px)}
  .hero-word{top:13%;left:8px;right:8px;font-size:18.4vw;line-height:1.05;letter-spacing:-.065em}
  .hero-mini-tag{top:25px;left:22px;font-size:11px;letter-spacing:.1em}
  .hero-copy-ref{left:22px;right:22px;bottom:140px;gap:24px}
  .hero-copy-ref h1{font-size:40px;max-width:390px;line-height:1.08;margin-top:14px}
  .hero-actions p{font-size:16px;line-height:1.65;max-width:400px;margin-bottom:22px}
  .hero-buttons{flex-wrap:wrap}.hero-buttons .btn{font-size:14px;padding:13px 16px;min-height:46px}
  .service-ribbon{padding-inline:22px}.ribbon-inner{min-height:106px;gap:10px 17px;padding:17px 0}.ribbon-inner span{font-size:12px;gap:7px}
  .intro-block{grid-template-columns:1fr;grid-template-areas:'copy' 'image' 'stats';gap:32px}.intro-image-card{height:350px}.intro-copy h2{font-size:var(--title)}
  .intro-stats>div{grid-template-columns:115px 1fr;gap:20px;padding:24px 0}.intro-stats strong{font-size:48px}
  .section-intro p,.materials-head p,.paperwork p,.estimator-home p,.intro-copy p{font-size:var(--subtitle)}
  .accountable-grid,.project-dark-grid{row-gap:32px}.sticky-service-media{height:340px}.image-caption figcaption{font-size:12px;left:12px;right:12px;bottom:12px}
  .service-accordion-trigger{padding:22px 0;grid-template-columns:25px minmax(0,1fr) 20px;gap:10px}
  .service-accordion-trigger b{font-size:24px}.service-accordion-trigger em{font-size:13px}.service-accordion-panel>div{padding:0 0 24px 35px}
  .paperwork-grid{gap:36px}.document-card{padding:26px;border-radius:14px}.doc-years{font-size:96px;margin-top:34px}.doc-years span{font-size:22px;margin-left:9px}
  .doc-top{font-size:12px}.doc-top small{font-size:12px}.doc-lines>div{font-size:15px}.check-list li{padding:15px 0}
  .brand-row{justify-content:start;gap:20px 24px;margin:30px 0}.brand-row span{font-size:13px}
  .material-feature>img{height:360px}.material-feature{gap:28px}.material-info h3{margin-top:15px}.spec-row{font-size:14px;gap:15px}
  .project-media img{height:340px}.project-dark-copy h3{font-size:24px}.project-facts{gap:10px}.project-facts b{font-size:14px}.project-facts span{font-size:12px}
  .estimator-home-grid{gap:32px}.mini-estimator-card,.quick-form,.form{padding:22px}
  .mini-est-head{flex-wrap:wrap;gap:6px;padding-bottom:18px}.mini-est-head small{text-align:left}
  .choice-grid{gap:6px}.choice span{font-size:13px;padding:10px 6px;min-height:46px}
  .estimate-black{padding:22px 18px}.estimate-black strong{font-size:29px}
  .protection-grid,.final-grid{padding:64px 0;gap:40px}.protection-list article{gap:12px}.protection-list h3{font-size:24px}.protection-list article>span{padding-top:5px}
  .testimonials-head{margin-bottom:32px}.testimonial-grid p{font-size:23px}.testimonial-grid footer{margin-top:20px}
  .faq-home-grid{gap:34px}.faq-q{font-size:18px;gap:20px}.faq-a{padding-right:10px}
  .notes-head{margin-bottom:32px}.notes-grid article{display:block}.notes-grid img{height:280px}.notes-grid article>span{margin-top:20px}.notes-grid h3{margin-top:10px}.notes-grid p{margin-top:14px}
  .final-grid h2{max-width:440px}.two-fields{grid-template-columns:1fr;gap:0}.quick-form .two-fields{gap:0}.form .two-fields{gap:24px}
  .footer-ref{padding-top:46px}.footer-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}.footer-cols a{font-size:14px}
  .footer-top{gap:32px;padding-bottom:32px}.footer-bottom{flex-direction:column;gap:7px;font-size:12px}
  .page-hero{padding:52px 0}.page-hero-grid h1{font-size:var(--title)}.breadcrumb{margin-bottom:24px}.page-hero-grid aside{margin-top:22px}
  .page-image{height:350px}.service-browser-media{height:370px}.service-browser-title{left:18px;right:18px;bottom:18px}
  .scope-row{grid-template-columns:1fr .7fr 1.1fr;gap:12px;font-size:13px;padding:18px 0}.scope-row.head{font-size:12px}
  .estimator-image{height:340px}.estimator-copy{padding:40px 22px}.section-head{gap:14px;margin-bottom:32px}
  .project-grid{grid-template-columns:1fr;gap:40px}.project-tile .img{height:350px}.project-meta{font-size:13px}
  .story-copy .about-statement{font-size:30px}.principles,.process-grid{grid-template-columns:1fr;gap:32px}.principle{padding-top:20px}.principle h3,.process-step h3{margin-top:18px}
  .process-step{padding-top:0}.process-grid{padding-top:28px}.estimate-result{padding:26px}.estimate-result .price{font-size:32px}
  .estimate-step>label{font-size:17px}.contact-layout{gap:34px}.contact-steps>div{grid-template-columns:26px 85px 1fr;gap:10px}.contact-steps p{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}
  .reveal-item{opacity:1;transform:none}
}
