:root{--paper:#f3f0e9;--paper-2:#e9e5dc;--ink:#252723;--muted:#696b63;--gold:#c7a86c;--gold-dark:#85672f;--line:#d5d1c7;--coal:#232622;--white:#faf8f2;--gutter:clamp(22px,4.45vw,72px);--serif:'IvyPresto Headline',Georgia,serif;--sans:'Apercu Pro',Arial,sans-serif;--ease:cubic-bezier(.22,.68,.12,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}::selection{background:#d4bc8b;color:var(--ink)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}img{display:block;max-width:100%;height:auto}svg{display:block;flex-shrink:0}h1,h2,h3,p,figure,dl,dd{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.04;letter-spacing:-.045em;text-wrap:balance}h1{font-size:clamp(64px,6.8vw,108px)}h2{font-size:clamp(48px,4.8vw,78px)}h3{font-size:34px}h1 em,h2 em,h3 em{font-weight:400;color:var(--gold-dark)}p{text-wrap:pretty}p+p{margin-top:20px}ul{padding:0;margin:0;list-style:none}[hidden]{display:none!important}.wrap{width:calc(100% - var(--gutter)*2);max-width:1440px;margin-inline:auto}.section{padding:clamp(80px,8.5vw,136px) 0}.eyebrow,.num,.project-index,.project-number{display:block;font-size:10px;font-weight:400;text-transform:uppercase;line-height:1.6;letter-spacing:.15em}.eyebrow{margin-bottom:25px;color:var(--muted)}.arrow{width:20px;height:20px;transition:transform .3s var(--ease)}a:hover>.arrow,.button:hover .arrow{transform:translate(3px,-3px)}.button{display:inline-flex;gap:30px;align-items:center;justify-content:space-between;min-height:54px;padding:16px 23px;background:var(--ink);border:1px solid var(--ink);border-radius:2px;color:var(--white);font-size:13px;line-height:1.3;font-weight:400;transition:background .25s,color .25s}.button:hover{background:#454a41}.button.gold-button{background:#dec38e;border-color:#dec38e;color:#242720}.button.gold-button:hover{background:#efdaad}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;font-size:13px;font-weight:400;line-height:1.5;border-bottom:1px solid currentColor;padding-bottom:7px}.text-link .arrow{width:17px;height:17px}.skip{position:fixed;z-index:1000;top:12px;left:20px;transform:translateY(-150%);background:var(--gold);padding:12px 20px;color:var(--ink)}.skip:focus{transform:none}:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid #a9823e;outline-offset:5px}.reading-progress{height:2px;background:var(--gold);position:fixed;inset:0 0 auto;z-index:220;transform:scaleX(0);transform-origin:left;pointer-events:none}
/* The masthead changes with the surface underneath it. */
.masthead{position:fixed;top:18px;left:var(--gutter);right:var(--gutter);z-index:100;color:var(--ink);transition:top .35s,left .35s,right .35s}.nav-wrap{height:81px;display:flex;gap:35px;align-items:center;border:1px solid transparent;border-radius:13px;padding:0 0;transition:padding .4s,background .4s,box-shadow .4s,border-color .4s}.brand{display:inline-flex;align-items:center;gap:13px;flex-shrink:0}.brand img{width:40px;height:43px;object-fit:contain}.brand strong{font-family:var(--sans);font-size:29px;line-height:1;letter-spacing:.135em;font-weight:400;display:block}.brand small{font-size:8px;line-height:1;letter-spacing:.22em;display:block;margin-top:9px}.desktop-nav{display:flex;align-items:center;gap:30px;margin-left:auto;font-size:12px}.desktop-nav>a{position:relative;padding:8px 0;white-space:nowrap}.desktop-nav>a:after{content:'';position:absolute;left:0;right:0;bottom:2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.desktop-nav>a:hover:after,.desktop-nav>a[aria-current]:after{transform:scaleX(1)}.nav-contact{display:flex;align-items:center;gap:25px;padding:13px 18px;border:1px solid #70756865;font-size:12px;white-space:nowrap;border-radius:2px}.nav-contact .arrow{width:16px;height:16px}.over-media:not(.scrolled),.masthead.is-dark{color:var(--white)}.over-media:not(.scrolled) .nav-contact,.masthead.is-dark .nav-contact{border-color:#ffffff6b}.masthead.scrolled{top:10px}.masthead.scrolled .nav-wrap{height:74px;padding-inline:22px;border-radius:20px;background:linear-gradient(135deg,#ffffff75,#ffffff0a 48%,#ffffff30),#f3f0e97a;border-color:#ffffffe0;box-shadow:0 12px 36px #1015101a,0 2px 8px #1015100a,inset 0 1px 0 #fffffff0,inset 0 -1px 0 #ffffff70;-webkit-backdrop-filter:blur(30px) saturate(1.65);backdrop-filter:blur(30px) saturate(1.65)}.masthead.scrolled.is-dark .nav-wrap{background:linear-gradient(135deg,#ffffff24,#ffffff03 48%,#ffffff10),#23262291;border-color:#ffffff45;box-shadow:0 12px 36px #0003,0 2px 8px #0001,inset 0 1px 0 #ffffff65,inset 0 -1px 0 #ffffff14}.menu-toggle{display:none;background:none;border:0;padding:12px 0;color:inherit;align-items:center;gap:12px;font-size:11px}.menu-toggle i{display:block;position:relative;width:20px;height:10px;border-block:1px solid currentColor}.site-menu{background:var(--coal);color:var(--white);padding:32px var(--gutter);margin:0;inset:0;max-width:none;max-height:none;width:100%;height:100svh;border:0;overflow:auto}.site-menu::backdrop{background:var(--coal)}.menu-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:28px;border-bottom:1px solid #ffffff28}.menu-close{background:none;border:0;color:inherit;display:flex;align-items:center;gap:15px;padding:10px;font-size:12px}.menu-close span{font-size:28px}.menu-body{display:grid;grid-template-columns:1fr .6fr;align-items:end;gap:60px;padding-top:35px}.menu-body nav{display:grid}.menu-body nav>a{display:flex;align-items:center;gap:25px;font-family:var(--serif);font-size:clamp(36px,5vw,65px);letter-spacing:-.035em;line-height:1.2;padding:12px 0}.menu-body nav small{font:10px var(--sans);color:var(--gold);align-self:start;padding-top:8px}.menu-body nav .arrow{margin-left:auto}.menu-details .eyebrow{color:var(--gold)}.menu-details>a{display:block;font-size:16px;margin-bottom:8px}.menu-details>p{font-size:13px;color:#acaea5;margin-top:30px}
/* Opening scene: real work, a quiet frame and generous editorial type. */
.hero-pin{height:122svh;min-height:840px}.hero{height:100svh;min-height:700px;position:sticky;top:0;display:flex;align-items:center;background:var(--paper);color:var(--white);overflow:hidden}.hero-media{position:absolute;inset:0;background:#363c31;overflow:hidden}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1s var(--ease)}.hero-slide.is-active{opacity:1}.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:50% 47%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#151b16a8 0%,#19201844 65%,#141a1614),linear-gradient(180deg,#161b1761,transparent 25%,#171c1733 58%,#141a17ad)}.hero-grid{position:absolute;inset:0 var(--gutter);display:flex;justify-content:space-between;pointer-events:none;opacity:.13}.hero-grid i{height:100%;border-left:1px solid #fff}.hero-content{position:relative;z-index:1;padding-top:130px;padding-bottom:160px}.hero-content>.eyebrow{color:#ebece3;font-size:10px;letter-spacing:.15em;display:flex;align-items:center;gap:16px;margin-bottom:35px}.label-divider{width:34px;height:1px;background:var(--gold)}.hero h1{font-size:clamp(72px,7.75vw,126px);line-height:1.015;letter-spacing:-.052em;text-wrap:initial}.hero h1 em{color:#e5cfaa;letter-spacing:-.057em}.hero-copy-row{display:flex;justify-content:space-between;align-items:flex-end;max-width:1040px;gap:50px;margin-top:35px}.hero-copy-row>p{max-width:380px;font-size:14px;line-height:1.8;color:#ebede5}.hero-actions{display:flex;align-items:center;gap:29px;flex-wrap:wrap}.hero-actions .text-link{color:#fff;font-size:12px;border-color:#ffffff7a}.hero-bottom{position:absolute;z-index:2;left:0;right:0;bottom:31px;border-top:1px solid #ffffff38;padding-top:22px;display:flex;align-items:center;gap:40px}.scroll-cue{display:flex;align-items:center;gap:15px;font-size:9px;letter-spacing:.14em;text-transform:uppercase}.scroll-line{display:block;height:31px;border-left:1px solid #e5cfaa}.hero-feature{margin-left:auto;display:grid;grid-template-columns:100px 230px;align-items:center;gap:20px}.hero-feature>.eyebrow{margin:0;font-size:8px;color:#d5dbcf}.hero-feature>a{display:grid;grid-template-columns:1fr 20px;column-gap:30px;font-family:var(--serif);font-size:25px;letter-spacing:-.02em;line-height:1.2}.hero-feature small{font:9px/1.6 var(--sans);grid-row:2;letter-spacing:.08em;margin-top:4px;color:#d8dfd1}.hero-feature .arrow{grid-column:2;grid-row:1/3;align-self:center}.hero-controls{display:flex;gap:8px}.hero-controls button{width:36px;height:36px;padding:0;border:1px solid #ffffff50;color:#e1e6dc;background:transparent;border-radius:50%;font-size:10px}.hero-controls button[aria-pressed=true]{color:var(--ink);background:var(--paper);border-color:var(--paper)}
/* The intro reads like a statement, with a small practical ledger underneath. */
.introduction{padding-top:85px}.intro-editorial{display:grid;grid-template-columns:1fr 3fr;gap:45px}.intro-label .eyebrow{margin:10px 0 50px}.intro-label>img{width:72px;height:auto;opacity:.8}.intro-editorial h2{font-size:clamp(42px,4.55vw,76px);line-height:1.12;letter-spacing:-.038em}.intro-description{max-width:500px;margin:36px 0 0 auto}.intro-description p{font-size:15px;color:var(--muted);line-height:1.9}.intro-description .text-link{margin-top:30px}.project-ledger{display:grid;grid-template-columns:repeat(3,1fr);margin-top:82px;border-block:1px solid var(--line)}.project-ledger>div{padding:26px 35px;border-right:1px solid var(--line)}.project-ledger>div:first-child{padding-left:0}.project-ledger>div:last-child{border:0}.project-ledger span{display:block;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.project-ledger strong{font-size:14px;font-weight:400}.work-section{background:var(--paper-2);padding:90px 0}.work-heading{display:grid;grid-template-columns:1.25fr 1fr auto;gap:50px;align-items:end;margin-bottom:50px}.work-heading h2{font-size:clamp(60px,6.2vw,94px)}.work-heading p{font-size:14px;color:var(--muted);padding-bottom:6px}.work-heading .text-link{white-space:nowrap;margin-bottom:8px}.work-stack{padding-inline:var(--gutter)}.work-panel{position:sticky;top:104px;height:76svh;min-height:580px;max-height:870px;overflow:hidden;background:var(--coal);border-radius:5px;color:var(--white);margin-bottom:24px;transform-origin:50% 0}.work-panel:last-child{margin:0}.work-photo{position:absolute;inset:0}.work-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;transition:transform 1s var(--ease)}.work-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,#0b100b12 40%,#151d17db 100%)}.work-panel:hover .work-photo img{transform:scale(1.025)}.work-caption{position:absolute;bottom:40px;left:40px;right:40px;display:grid;grid-template-columns:65px 1fr auto;gap:30px;align-items:end;pointer-events:none}.work-caption a{pointer-events:auto}.work-caption .eyebrow{font-size:9px;color:#e0e1d9;margin-bottom:16px}.work-caption h3{font-size:clamp(54px,5.7vw,90px);letter-spacing:-.045em}.work-caption p{font-size:13px;color:#d2d6cc;margin-top:9px}.work-number{font-size:32px;font-family:var(--serif);line-height:1;margin-bottom:5px}.work-number>span{display:block;font:9px var(--sans);margin-top:8px;color:#c4cbbd}.round-arrow{width:60px;height:60px;border:1px solid #ffffff70;border-radius:50%;display:grid;place-items:center}.round-arrow .arrow{width:25px;height:25px}.section-head{display:grid;grid-template-columns:1.3fr .75fr;align-items:end;gap:100px;margin-bottom:55px}.section-head>p,.section-head>div>p{font-size:15px;line-height:1.8;color:var(--muted);max-width:410px}.section-head .text-link{margin-top:22px}.capability-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px;align-items:stretch}.capability-photo{position:relative;min-height:570px;overflow:hidden}.capability-photo img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:40%}.capability-photo:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#1119)}.capability-photo>span{position:absolute;z-index:1;bottom:28px;left:30px;font-family:var(--serif);font-size:33px;font-style:italic;color:white;letter-spacing:-.025em}.capability-accordions{border-top:1px solid var(--line)}.capability-accordions details{border-bottom:1px solid var(--line)}.capability-accordions summary{list-style:none;display:grid;grid-template-columns:34px 1fr 20px;gap:17px;align-items:center;padding:29px 0;cursor:pointer}.capability-accordions summary::-webkit-details-marker{display:none}.capability-accordions h3{font-size:32px;line-height:1.1}.capability-accordions .num{font-size:9px;color:var(--gold-dark)}.plus{position:relative;width:18px;height:18px}.plus:before,.plus:after{position:absolute;content:'';height:1px;width:14px;background:currentColor;left:2px;top:8px}.plus:after{transform:rotate(90deg);transition:transform .2s}details[open] .plus:after{transform:rotate(0)}.capability-copy{padding:0 20px 28px 51px}.capability-copy p{color:var(--muted);font-size:14px;max-width:370px}.capability-copy .text-link{margin-top:23px;font-size:12px}.craft-band{display:grid;grid-template-columns:1fr 1fr;background:var(--coal);color:var(--white);min-height:590px}.craft-image{position:relative;min-height:100%}.craft-image img{position:absolute;width:100%;height:100%;object-fit:cover}.craft-copy{align-self:center;padding:80px var(--gutter)}.craft-copy .eyebrow{color:#c4c6b9}.craft-copy h2{font-size:clamp(43px,4.1vw,68px)}.craft-copy h2 em{color:#d4ba86}.craft-copy p{font-size:14px;line-height:1.85;color:#c6cabe;margin-top:28px;max-width:450px}.craft-copy .text-link{margin-top:28px;font-size:12px}.process-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.process-title>p{font-size:15px;color:var(--muted);max-width:410px;margin-top:30px}.process-title .text-link{margin-top:30px}.process-steps{border-top:1px solid var(--line)}.process-steps article{padding:34px 0;display:grid;grid-template-columns:45px 1fr;gap:24px;border-bottom:1px solid var(--line)}.process-steps .num{font-size:11px;color:var(--gold-dark);margin-top:6px}.process-steps h3{font-size:33px}.process-steps p{font-size:14px;color:var(--muted);line-height:1.8;margin-top:15px;max-width:420px}.founder-section{background:var(--paper-2)}.founder{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.founder-image{position:relative;padding-right:25px;padding-bottom:28px}.founder-image:before{content:'';position:absolute;inset:25px 0 0 25px;border:1px solid #b6ac973f}.founder-photo{width:100%;aspect-ratio:4/4.4;object-fit:cover;object-position:57% center;position:relative}.portrait-caption{display:block;padding:14px 0 0;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.founder h2{font-size:clamp(45px,4.6vw,72px)}.founder p{font-size:15px;line-height:1.9;color:var(--muted);margin-top:27px;max-width:500px}.founder-sign{padding-block:27px;margin-block:0 15px;border-bottom:1px solid #cfc8ba;max-width:360px}.founder-signature{display:block;width:clamp(240px,24vw,310px);max-width:100%;height:auto}.founder-sign .founder-signature+span{margin-top:0}.founder-sign span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-top:10px}.founder-sign a{font-size:12px;overflow-wrap:anywhere}
/* A quiet but expansive close. */
.cta{padding:80px 0 50px;background:var(--coal);color:var(--white)}.cta-top{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff28;padding-top:22px}.cta .eyebrow{font-size:9px;color:#c5cabb}.cta-main{display:flex;align-items:center;justify-content:space-between;gap:60px;margin:40px 0 50px}.cta h2{font-size:clamp(64px,7.4vw,118px);letter-spacing:-.05em;line-height:1.05}.cta h2 em{color:#cdb486}.circle-link{border:1px solid #bba878;width:125px;height:125px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;color:#e0c695;transition:background .3s,color .3s}.circle-link .arrow{height:48px;width:48px;stroke-width:1}.circle-link:hover{background:var(--gold);color:var(--ink)}.cta-bottom{display:flex;justify-content:space-between;gap:35px;align-items:center;color:#b9c0af;font-size:13px}.cta-bottom>a{display:flex;gap:18px;align-items:center;color:#f3f0e9}.footer{background:#1c201c;color:#e4e7dd;padding-top:68px;overflow:hidden}.footer-grid{display:grid;grid-template-columns:1.25fr .65fr 1fr;gap:60px}.footer .eyebrow{font-size:9px;color:#a8b29e;margin-bottom:22px}.footer-grid p{font-family:var(--serif);font-size:30px;line-height:1.2;letter-spacing:-.02em;margin-bottom:25px}.footer-address{font-size:12px;line-height:1.8;color:#aab3a2}.footer-grid ul{font-size:13px;line-height:2.25}.footer-connect>a{display:block;font-size:13px}.footer-connect .footer-phone{font-family:var(--serif);font-size:36px;line-height:1.2;letter-spacing:-.02em;margin-bottom:14px}.social-links{display:flex;gap:25px;flex-wrap:wrap;margin-top:26px}.social-links a{display:flex;gap:12px;align-items:center;font-size:11px}.social-links .arrow{height:13px;width:13px}.footer-wordmark{display:block;text-align:center;position:relative;margin:70px -5px 35px;font-size:clamp(100px,20.1vw,310px);font-family:var(--sans);line-height:.85;letter-spacing:.035em;font-weight:400;color:#b9bea842}.footer-wordmark>span{display:block;font-size:9px;letter-spacing:.55em;line-height:1;margin-top:24px;color:#aab29c}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid #ffffff1c;padding:22px 0 27px;font-size:9px;color:#a3ad9c}.back-top{white-space:nowrap}
/* Portfolio and case studies. */
.page-intro{padding:190px 0 70px}.page-intro .wrap{display:block}.page-intro .eyebrow{margin-bottom:25px}.page-intro h1{max-width:1070px;font-size:clamp(64px,6.7vw,106px);line-height:1.06}.page-intro p{margin-top:28px;max-width:550px;font-size:16px;line-height:1.85;color:var(--muted)}.page-intro.split .wrap{display:grid;grid-template-columns:1.4fr .6fr;gap:70px;align-items:end}.page-intro.split h1{font-size:clamp(60px,6vw,95px)}.page-intro.split p{margin:0 0 8px;font-size:14px}.portfolio-section{padding-top:15px}.filter-toolbar,.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line);margin-bottom:42px}.filter-bar{display:flex;gap:32px;flex-wrap:wrap}.filter{padding:17px 0;background:none;border:0;border-bottom:1px solid transparent;font-size:12px;color:var(--muted)}.filter[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--ink)}.filter small{font-size:9px;vertical-align:super;margin-left:7px;color:var(--gold-dark)}.filter-toolbar .eyebrow{font-size:9px;margin:0;white-space:nowrap}.project-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:60px 45px;align-items:start}.project-card.offset{margin-top:125px}.project-card .image-frame{position:relative;aspect-ratio:1.3;overflow:hidden;background:#d3d1c7}.project-card:nth-child(3) .image-frame{aspect-ratio:1}.project-card img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.project-card:hover img{transform:scale(1.035)}.image-corner{position:absolute;right:20px;bottom:20px;display:flex;align-items:center;gap:14px;font-size:10px;background:#f3f0e9eb;color:var(--ink);padding:12px 15px;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s;backdrop-filter:blur(8px)}a:hover>.image-corner,a:focus-visible>.image-corner,.project-card:hover .image-corner{opacity:1;transform:none}.image-corner .arrow{width:15px;height:15px}.project-info{display:flex;justify-content:space-between;align-items:start;gap:25px;padding-top:22px}.project-index{color:var(--muted);font-size:8px;letter-spacing:.1em;margin-bottom:12px}.project-info h3{font-size:clamp(34px,3.1vw,49px)}.project-number{color:#8d8d81;font-size:10px;padding-top:3px}.case-hero{position:relative;height:87svh;min-height:610px;max-height:1100px;background:var(--coal);color:var(--white)}.case-hero>img{position:absolute;width:100%;height:100%;object-fit:cover}.case-shade{position:absolute;inset:0;background:linear-gradient(#131a164d,transparent 35%,#141c16c9)}.case-hero>.wrap{position:relative;height:100%;padding-top:155px;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:66px}.case-back{position:absolute;top:145px;font-size:11px}.case-title .eyebrow{color:#e0e4d6;font-size:9px;margin-bottom:24px}.case-title h1{font-size:clamp(75px,9.4vw,146px);line-height:1;letter-spacing:-.05em}.case-title p{margin-top:20px;font-size:15px;color:#e6e7df}.case-gallery-link{position:absolute;right:0;bottom:70px;display:flex;align-items:center;gap:25px;font-size:12px}.case-facts{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.case-facts>div{padding:30px 25px;border-right:1px solid var(--line)}.case-facts>div:first-child{padding-left:0}.case-facts>div:last-child{border:0}.case-facts dt{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}.case-facts dd{font-size:13px}.case-story{display:grid;grid-template-columns:1.1fr .9fr;gap:100px}.case-story h2{font-size:clamp(45px,4.3vw,68px)}.case-intro{font-size:15px;line-height:1.9;color:var(--muted);margin-top:33px;max-width:500px}.case-chapters article{border-top:1px solid var(--line);padding-top:24px;margin-bottom:31px}.case-chapters .eyebrow{color:var(--gold-dark);font-size:9px;margin-bottom:14px}.case-chapters p{font-size:14px;line-height:1.85;color:var(--muted)}.gallery-section{background:var(--paper-2);padding-top:85px}.gallery-instruction{display:block;font-size:10px;letter-spacing:.025em;color:var(--muted);margin-top:19px}.gallery-count{font-size:10px;color:var(--muted);white-space:nowrap}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px 28px}.gallery-grid figure{min-width:0}.gallery-grid figure>a{display:block;aspect-ratio:1.5;position:relative;overflow:hidden;background:#d6d2c7}.gallery-grid figure>a>img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}.gallery-grid figure>a:hover>img{transform:scale(1.035)}.gallery-grid figcaption{display:flex;gap:17px;font-size:11px;line-height:1.6;padding-top:13px;color:var(--muted)}.gallery-grid figcaption span{font-size:9px;flex-shrink:0;padding-top:2px;color:var(--gold-dark)}.next-project>a{display:block;position:relative;height:530px;overflow:hidden;background:var(--coal);color:white}.next-project img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.5);transition:transform 1s var(--ease)}.next-project a:hover img{transform:scale(1.025)}.next-project .wrap{position:relative;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.next-project .eyebrow{font-size:9px;color:#e5e6dd}.next-project h2{font-size:clamp(65px,7.2vw,108px);display:flex;align-items:center;gap:70px}.next-project h2 .arrow{width:55px;height:55px;stroke-width:1}.next-project .wrap>span:last-child{font-size:12px;margin-top:25px;color:#cbd1c2}.lightbox{position:fixed;inset:0;border:0;width:100%;height:100svh;max-height:none;max-width:none;background:#171b17f7;color:var(--white);padding:25px 35px;margin:0;overflow:hidden}.lightbox::backdrop{background:#171b17}.lightbox-top,.lightbox-bottom{display:flex;justify-content:space-between;gap:30px;align-items:center;font-size:12px}.lightbox-top{height:45px;border-bottom:1px solid #ffffff20;padding-bottom:15px}.lightbox button{color:inherit;background:none;border:1px solid #ffffff40;padding:8px 14px;font-size:12px}.lightbox-close{border:0!important}.lightbox-inner{height:calc(100% - 120px);display:grid;grid-template-columns:50px 1fr 50px;gap:25px;align-items:center;padding:20px 0}.lightbox-inner img{width:100%;height:100%;min-height:0;object-fit:contain}.lightbox-prev,.lightbox-next{height:45px}.lightbox-bottom{height:60px}.lightbox-caption{font-size:12px;color:#d7decf}.lightbox-count{font-size:10px;white-space:nowrap}
/* Remaining pages share the same architecture and rhythm. */
.services-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:45px 1fr .7fr 24px;gap:30px;align-items:center;padding:32px 0;border-bottom:1px solid var(--line);transition:padding .3s}.service-row:hover{padding-left:14px;padding-right:14px}.service-row .num{font-size:9px;color:var(--gold-dark)}.service-row h3{font-size:38px}.service-row p{font-size:13px;color:var(--muted)}.wide-photo{width:100%;height:60svh;min-height:380px;max-height:700px;object-fit:cover}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:100px}.service-detail p{font-size:16px;color:var(--muted);line-height:1.85}.service-detail .button{margin-top:30px}.plain-list{margin-top:30px}.plain-list li{padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}.plain-list li:first-child{border-top:1px solid var(--line)}.section-tint{background:var(--paper-2)}.dark{background:var(--coal);color:var(--white)}.dark h2 em{color:#d5bd8c}.dark .eyebrow{color:#c2c9b7}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:65px}.process-item{padding-top:25px;border-top:1px solid #ffffff35}.process-item .num{color:#cdb481;font-size:10px;margin-bottom:27px}.process-item h3{font-size:36px;margin-bottom:20px}.process-item p{font-size:14px;line-height:1.85;color:#bec6b4}.faq{max-width:950px}.faq h2{margin-bottom:45px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{list-style:none;font-size:17px;padding:25px 35px 25px 0;cursor:pointer;position:relative;line-height:1.5}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:3px;top:22px;font-size:23px;color:var(--gold-dark)}.faq details[open] summary:after{content:'−'}.faq details p{padding:0 45px 25px 0;font-size:14px;color:var(--muted);line-height:1.85}.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px;align-items:start}.contact-grid>div:last-child{background:#fbfaf5;border:1px solid #d8d4c8;padding:42px}.contact-item{padding-bottom:27px;margin-bottom:26px;border-bottom:1px solid var(--line)}.contact-item small{display:block;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.contact-item a{display:block;font-size:clamp(14px,1.6vw,22px);line-height:1.5;overflow-wrap:anywhere}.contact-item:first-of-type>a{font-family:var(--serif);font-size:38px;letter-spacing:-.03em}.contact-item p{font-size:14px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.field{display:flex;flex-direction:column;gap:9px;min-width:0}.field.full{grid-column:1/-1}.field label{font-size:12px;line-height:1.5}.field input,.field select,.field textarea{width:100%;border:1px solid #cbc9bc;border-radius:0;background:var(--white);padding:13px 14px;min-height:49px;color:var(--ink);font-size:16px;line-height:1.5}.field textarea{resize:vertical;min-height:145px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold-dark)}.form-note{font-size:10px;color:var(--muted);line-height:1.8;margin:25px 0}.form-note a{text-decoration:underline;text-underline-offset:3px}.form-status{font-size:12px;margin-top:18px;color:#8b391e}.article{max-width:790px;margin:0 auto;padding:50px 0 110px;font-size:16px;line-height:1.9}.article h2{font-size:37px;line-height:1.16;letter-spacing:-.03em;margin:40px 0 20px}.article p{margin:20px 0;color:#5b6055}.article a:not(.text-link){text-decoration:underline;text-underline-offset:4px}.article-meta{font-size:11px;letter-spacing:.04em}.note-box{font-size:12px;line-height:1.8;padding:22px 25px;border-left:2px solid var(--gold);background:#e9e4d8;color:#626658;margin-top:35px}.article-list{border-top:1px solid var(--line)}.article-row{display:grid;grid-template-columns:180px 1fr 30px;align-items:center;gap:45px;padding:37px 0;border-bottom:1px solid var(--line)}.article-row small{font-size:10px;color:var(--muted);line-height:1.7}.article-row h3{font-size:36px}.article-row:hover h3{color:var(--gold-dark)}
/* Progressive enhancement: content stays visible if scripts or motion are unavailable. */
.reveal{transition:opacity .8s var(--ease),transform .9s var(--ease)}.reveal.is-pending{opacity:0;transform:translateY(22px)}.hero-content{animation:hero-in 1.3s var(--ease) both}@keyframes hero-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
@media(min-width:1700px){.masthead{max-width:1440px;left:50%;right:auto;width:calc(100% - var(--gutter)*2);transform:translateX(-50%)}.work-stack{max-width:1584px;margin-inline:auto}.hero-content{padding-top:150px}.footer-wordmark{font-size:300px}}
@media(max-width:1150px){.desktop-nav{gap:20px}.nav-wrap{gap:23px}.brand strong{font-size:25px}.brand img{width:35px;height:38px}.brand small{font-size:7px}.nav-contact{gap:15px;padding:12px 15px}.hero h1{font-size:8.6vw}.hero-copy-row{gap:30px}.hero-actions{gap:20px}.hero-copy-row>p{max-width:340px}.section-head,.process-layout,.case-story,.service-detail,.founder{gap:60px}.capability-layout{gap:45px}.capability-accordions h3{font-size:28px}.capability-photo{min-height:530px}.work-heading{gap:35px;grid-template-columns:1fr 1fr}.work-heading .text-link{grid-column:2;justify-self:start}.work-heading>p{margin-bottom:-10px}.work-heading>div{grid-row:1/3}.contact-grid{gap:50px}.contact-grid>div:last-child{padding:30px}.footer-grid{gap:45px}.hero-feature{grid-template-columns:80px 200px;gap:15px}.hero-bottom{gap:25px}.page-intro.split .wrap{gap:45px;grid-template-columns:1.25fr .75fr}.page-intro.split h1{font-size:6.5vw}.service-row{grid-template-columns:30px 1fr .7fr 20px;gap:24px}.service-row h3{font-size:32px}.case-gallery-link{bottom:48px}.case-hero>.wrap{padding-bottom:110px}.case-title h1{font-size:11vw}.footer-wordmark{font-size:19.4vw}}
@media(max-width:950px){.desktop-nav{display:none}.nav-contact{margin-left:auto}.menu-toggle{display:flex}.masthead{top:11px}.nav-wrap{height:77px}.masthead.scrolled .nav-wrap{height:68px;padding-inline:18px}.masthead.scrolled .brand strong{font-size:24px}.hero-content>.eyebrow{font-size:9px}.hero{min-height:730px}.hero-pin{min-height:880px}.hero h1{font-size:9.35vw}.hero-copy-row{display:block;margin-top:29px}.hero-actions{margin-top:25px}.hero-copy-row>p{max-width:410px}.hero-feature>.eyebrow{display:none}.hero-feature{display:block}.hero-bottom{gap:24px}.intro-editorial{grid-template-columns:140px 1fr;gap:30px}.intro-editorial h2{font-size:5.7vw}.intro-label .eyebrow{font-size:8px}.intro-label>img{width:55px}.intro-description{max-width:460px}.section-head{grid-template-columns:1.15fr .85fr;gap:35px}.section-head h2{font-size:5.7vw}.section-head>p,.section-head>div>p{font-size:14px}.capability-layout{gap:30px;grid-template-columns:.8fr 1fr}.capability-accordions summary{gap:10px;grid-template-columns:25px 1fr 15px;padding-block:26px}.capability-copy{padding-left:35px}.capability-accordions h3{font-size:26px}.capability-photo{min-height:520px}.capability-photo>span{font-size:27px;left:20px;bottom:25px}.craft-copy{padding:60px 35px}.craft-copy h2{font-size:42px}.craft-band{min-height:520px}.process-layout,.founder,.case-story{gap:45px}.process-title h2,.founder h2,.case-story h2{font-size:48px}.process-steps h3{font-size:29px}.process-steps article{gap:13px;grid-template-columns:30px 1fr;padding-block:28px}.work-panel{top:89px;min-height:530px}.work-caption{left:30px;right:30px;bottom:30px;gap:20px;grid-template-columns:45px 1fr auto}.work-caption h3{font-size:58px}.work-caption .eyebrow{font-size:8px}.page-intro{padding-top:160px}.page-intro.split .wrap{grid-template-columns:1fr;gap:28px}.page-intro.split h1{font-size:76px}.page-intro.split p{max-width:520px}.case-facts{grid-template-columns:1fr 1fr}.case-facts>div{padding:22px 25px}.case-facts>div:nth-child(2){border-right:0}.case-facts>div:nth-child(3){padding-left:0;border-top:1px solid var(--line)}.case-facts>div:nth-child(4){border-top:1px solid var(--line)}.footer-grid{grid-template-columns:1fr .6fr 1.1fr;gap:25px}.footer-connect>a{font-size:11px}.footer-connect .footer-phone{font-size:29px}.footer-bottom{flex-wrap:wrap;column-gap:24px;row-gap:9px;font-size:8px}.service-detail{gap:45px}.service-detail h2{font-size:48px}.service-row{grid-template-columns:25px 1fr 20px;gap:20px}.service-row p{grid-column:2;grid-row:2;max-width:420px;margin-top:-10px}.service-row>.arrow{grid-column:3;grid-row:1/3}.service-row h3{font-size:35px}.contact-grid{grid-template-columns:.75fr 1.25fr;gap:30px}.contact-grid>div:last-child{padding:24px}.contact-item a{font-size:14px}.form-grid{gap:18px}.article-row{grid-template-columns:130px 1fr 25px;gap:25px}.article-row h3{font-size:29px}.cta h2{font-size:8vw}.circle-link{width:95px;height:95px}.circle-link .arrow{width:35px;height:35px}.cta-bottom{align-items:start;font-size:11px}.cta-bottom p{max-width:280px}.cta-top .eyebrow{font-size:8px}}
@media(max-width:700px){:root{--gutter:23px}body{font-size:15px}h1{font-size:58px}h2{font-size:45px}.section{padding:76px 0}.eyebrow{font-size:9px;margin-bottom:22px}.masthead{left:20px;right:20px;top:12px}.nav-wrap{gap:18px;height:67px}.brand{gap:10px}.brand img{width:31px;height:34px}.brand strong{font-size:24px}.brand small{font-size:6.5px;letter-spacing:.18em;margin-top:8px}.nav-contact{display:none}.menu-toggle{margin-left:auto;font-size:10px;gap:10px}.masthead.scrolled{left:12px;right:12px;top:8px}.masthead.scrolled .nav-wrap{padding-inline:14px;height:64px}.masthead.scrolled .brand strong{font-size:22px}.masthead.scrolled .brand img{width:28px;height:30px}.menu-head{padding-bottom:22px}.site-menu{padding:23px}.menu-body{grid-template-columns:1fr;gap:38px;padding-top:25px}.menu-body nav>a{font-size:40px;padding:9px 0;gap:18px}.menu-body nav small{font-size:8px}.menu-details>a{font-size:13px}.menu-details>p{margin-top:20px;font-size:12px}.menu-details .eyebrow{margin-bottom:15px}.hero-pin{height:auto;min-height:0}.hero{position:relative;height:100svh;min-height:780px;max-height:1040px;align-items:flex-start}.hero-slide img{object-position:54% 50%}.hero-shade{background:linear-gradient(180deg,#17211784 0%,#1a231968 28%,#1c241865 63%,#1a2416d6 100%)}.hero-content{padding-top:170px;padding-bottom:220px}.hero-content>.eyebrow{display:block;font-size:8px;line-height:2;letter-spacing:.11em;max-width:300px;margin-bottom:28px}.label-divider{display:inline-block;vertical-align:middle;width:18px;margin:0 7px}.hero h1{font-size:clamp(49px,12.25vw,77px);line-height:1.1;letter-spacing:-.055em}.hero h1 em{letter-spacing:-.055em}.hero-copy-row{margin-top:28px}.hero-copy-row>p{font-size:13px;line-height:1.9;max-width:325px}.hero-actions{margin-top:29px;gap:24px;align-items:flex-start;flex-direction:column}.hero-actions .button{min-height:50px;font-size:12px;padding:15px 19px;gap:35px}.hero-actions .text-link{font-size:11px;padding-bottom:5px}.hero-bottom{bottom:26px;display:grid;grid-template-columns:1fr auto;gap:15px;padding-top:20px}.scroll-cue{display:none}.hero-feature{margin:0}.hero-feature>a{font-size:25px;max-width:225px;grid-template-columns:1fr 18px;gap:14px}.hero-feature small{font-size:8px;margin-top:3px}.hero-feature .arrow{width:16px;height:16px}.hero-controls{gap:6px}.hero-controls button{height:29px;width:29px;font-size:8px}.introduction{padding-top:67px}.intro-editorial{grid-template-columns:1fr;gap:28px}.intro-label{display:flex;align-items:center;justify-content:space-between}.intro-label .eyebrow{font-size:9px;margin:0}.intro-label>img{width:35px;height:38px}.intro-editorial h2{font-size:clamp(36px,8.9vw,54px);line-height:1.18;letter-spacing:-.04em}.intro-description{margin-top:29px;margin-left:0}.intro-description p{font-size:14px;line-height:1.9}.intro-description .text-link{font-size:12px;margin-top:25px}.project-ledger{margin-top:45px;grid-template-columns:1fr;border-bottom:0}.project-ledger>div,.project-ledger>div:first-child{padding:19px 0;border:0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.project-ledger>div:last-child{border-bottom:1px solid var(--line)}.project-ledger span{font-size:8px;margin:0;letter-spacing:.09em}.project-ledger strong{font-size:11px}.work-section{padding:65px 0}.work-heading{display:block;margin-bottom:35px}.work-heading h2{font-size:60px}.work-heading p{font-size:13px;margin:24px 0 22px;line-height:1.8}.work-heading .text-link{font-size:12px}.work-stack{padding-inline:12px}.work-panel{position:relative;top:auto;min-height:0;height:570px;margin-bottom:16px;border-radius:3px}.work-photo img{object-position:50% center}.work-caption{left:23px;right:23px;bottom:28px;grid-template-columns:1fr auto;gap:18px}.work-number{grid-column:1/-1;font-size:19px;margin:0;display:flex;gap:7px;align-items:baseline}.work-number>span{font-size:8px;margin:0}.work-caption .eyebrow{font-size:7px;line-height:1.8;margin-bottom:15px;max-width:260px}.work-caption h3{font-size:43px;line-height:1.02}.work-caption p{font-size:11px;max-width:240px;margin-top:13px}.round-arrow{width:43px;height:43px}.round-arrow .arrow{width:19px;height:19px}.section-head{grid-template-columns:1fr;gap:26px;margin-bottom:32px}.section-head h2{font-size:45px}.section-head>p,.section-head>div>p{font-size:14px;max-width:none;line-height:1.85}.capability-layout{grid-template-columns:1fr;gap:32px}.capability-photo{min-height:0;aspect-ratio:1.18}.capability-photo img{object-position:50%}.capability-photo>span{font-size:32px;left:23px;bottom:24px}.capability-accordions h3{font-size:28px}.capability-accordions summary{grid-template-columns:25px 1fr 16px;gap:13px;padding-block:25px}.capability-copy{padding-left:38px}.capability-copy p{font-size:13px}.capability-copy .text-link{font-size:11px;margin-top:20px}.craft-band{grid-template-columns:1fr;min-height:0}.craft-image{height:350px}.craft-copy{padding:55px var(--gutter) 65px}.craft-copy h2{font-size:46px}.craft-copy p{font-size:13px;margin-top:26px}.craft-copy .text-link{font-size:11px;gap:18px}.process-layout{grid-template-columns:1fr;gap:39px}.process-title h2{font-size:47px}.process-title>p{font-size:14px;margin-top:25px}.process-title .text-link{font-size:12px;margin-top:25px}.process-steps article{padding:26px 0;grid-template-columns:30px 1fr;gap:18px}.process-steps h3{font-size:31px}.process-steps p{font-size:13px;margin-top:13px}.founder{grid-template-columns:1fr;gap:38px}.founder-image{padding-right:20px;padding-bottom:20px}.founder-photo{aspect-ratio:1.12;object-position:58% 44%}.portrait-caption{font-size:8px;padding-top:12px}.founder h2{font-size:46px}.founder p{font-size:14px;margin-top:23px}.founder-sign{padding-top:24px;margin-bottom:24px}.founder .text-link{font-size:12px}.cta{padding:55px 0 40px}.cta-top{display:block;padding-top:20px}.cta-top>.eyebrow{font-size:8px;margin-bottom:0}.cta-top>.eyebrow:last-child{display:none}.cta-main{gap:20px;margin:36px 0;align-items:flex-end}.cta h2{font-size:clamp(42px,10vw,61px);line-height:1.12;letter-spacing:-.055em}.circle-link{width:53px;height:53px;margin-bottom:5px}.circle-link .arrow{height:25px;width:25px}.cta-bottom{display:block;font-size:11px}.cta-bottom p{max-width:280px}.cta-bottom>a{font-size:12px;margin-top:22px;gap:20px}.footer{padding-top:47px}.footer-grid{grid-template-columns:1.2fr 1fr;gap:36px 30px}.footer-grid>div:first-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px 30px}.footer-grid>div:first-child .eyebrow{grid-column:1/-1;margin-bottom:13px}.footer-grid p{font-size:30px;margin:0}.footer-address{font-size:10px;align-self:end}.footer-grid .eyebrow{font-size:8px;margin-bottom:14px}.footer-grid>div:nth-child(2){grid-column:2;grid-row:2}.footer-grid>div:nth-child(3){grid-column:1;grid-row:2}.footer-grid ul{font-size:12px;line-height:2.3}.footer-connect .footer-phone{font-size:27px;margin-bottom:13px}.footer-connect>a{font-size:10px;overflow-wrap:anywhere}.social-links{display:block;margin-top:24px}.social-links a{font-size:10px;margin-top:10px;gap:10px}.social-links .arrow{width:12px;height:12px}.footer-wordmark{font-size:20vw;letter-spacing:0;margin:50px -5px 30px;line-height:.88}.footer-wordmark>span{font-size:7px;margin-top:17px;letter-spacing:.33em}.footer-bottom{display:grid;grid-template-columns:1fr auto;gap:12px 15px;font-size:8px;padding:20px 0 25px}.footer-bottom>span:nth-child(2){grid-column:1;grid-row:2}.footer-bottom>a:nth-child(3){grid-column:2;grid-row:1}.footer-bottom>a:nth-child(4){grid-column:2;grid-row:2}.page-intro{padding:135px 0 48px}.page-intro .eyebrow{font-size:8px;margin-bottom:22px}.page-intro h1,.page-intro.split h1{font-size:clamp(46px,11.9vw,72px);line-height:1.09}.page-intro .wrap,.page-intro.split .wrap{display:block}.page-intro p,.page-intro.split p{font-size:14px;margin-top:25px;line-height:1.85}.portfolio-section{padding-top:0}.filter-toolbar,.gallery-toolbar{display:block;margin-bottom:30px}.filter-bar{gap:24px;flex-wrap:nowrap;overflow-x:auto}.filter{font-size:10px;padding:15px 0;white-space:nowrap}.filter small{font-size:7px;margin-left:4px}.filter-toolbar .eyebrow{display:none}.project-grid{grid-template-columns:1fr;gap:40px}.project-card.offset{margin:0}.project-card .image-frame,.project-card:nth-child(3) .image-frame{aspect-ratio:1.15}.project-info{padding-top:19px}.project-index{font-size:8px;letter-spacing:.07em;margin-bottom:10px}.project-info h3{font-size:37px}.project-number{font-size:9px}.image-corner{right:13px;bottom:13px;opacity:1;transform:none;font-size:8px;padding:9px 12px;gap:11px}.image-corner .arrow{width:12px;height:12px}.case-hero{height:83svh;min-height:650px;max-height:900px}.case-hero>.wrap{padding-top:128px;padding-bottom:124px}.case-back{top:124px;font-size:10px}.case-title .eyebrow{font-size:8px;line-height:1.8;margin-bottom:22px;max-width:260px}.case-title h1{font-size:clamp(58px,15vw,90px);line-height:1.06;max-width:500px}.case-title p{font-size:13px;line-height:1.8;max-width:270px;margin-top:20px}.case-gallery-link{right:auto;left:0;bottom:49px;font-size:11px;gap:20px}.case-facts>div{padding:20px 15px}.case-facts dt{font-size:8px;margin-bottom:8px}.case-facts dd{font-size:11px;line-height:1.6}.case-story{grid-template-columns:1fr;gap:39px}.case-story h2{font-size:44px}.case-intro{font-size:14px;line-height:1.9;margin-top:27px}.case-chapters .eyebrow{font-size:8px}.case-chapters p{font-size:13px}.case-chapters article{padding-top:23px;margin-bottom:24px}.case-chapters article:last-child{margin:0}.gallery-section .section-head h2{font-size:43px}.gallery-instruction{font-size:10px;margin-top:17px}.gallery-toolbar{position:relative}.gallery-count{display:block;font-size:9px;margin:12px 0}.gallery-grid{grid-template-columns:1fr;gap:29px}.gallery-grid figure>a{aspect-ratio:1.4}.gallery-grid figcaption{font-size:10px;gap:13px;padding-top:12px}.next-project>a{height:400px}.next-project .eyebrow{font-size:8px}.next-project h2{font-size:53px;gap:23px;line-height:1.08}.next-project h2 .arrow{width:32px;height:32px}.next-project .wrap>span:last-child{font-size:11px;margin-top:20px}.lightbox{padding:18px 15px}.lightbox-top{font-size:10px;height:40px}.lightbox-top button{font-size:11px;padding:6px}.lightbox-inner{height:calc(100% - 140px);display:flex;justify-content:center;padding:15px 0;position:relative}.lightbox-inner img{width:100%;height:100%;object-fit:contain}.lightbox-prev,.lightbox-next{position:absolute;bottom:-42px;height:36px!important;width:40px;padding:3px!important;z-index:2}.lightbox-prev{left:0}.lightbox-next{right:0}.lightbox-bottom{height:90px;align-items:start;padding-top:50px;gap:15px}.lightbox-caption{font-size:10px}.lightbox-count{font-size:9px}.services-list{margin-top:0}.service-row{padding-block:26px;grid-template-columns:20px 1fr 19px;gap:16px}.service-row h3{font-size:30px}.service-row p{font-size:12px;line-height:1.8;max-width:290px}.service-row .num{font-size:8px}.service-row:hover{padding-left:0;padding-right:0}.wide-photo{height:340px;min-height:0}.service-detail{grid-template-columns:1fr;gap:28px}.service-detail h2{font-size:45px}.service-detail p{font-size:14px}.plain-list li{font-size:12px;padding-block:12px}.process-grid{grid-template-columns:1fr;gap:29px;margin-top:40px}.process-item{padding-top:23px}.process-item .num{font-size:9px;margin-bottom:20px}.process-item h3{font-size:33px;margin-bottom:15px}.process-item p{font-size:13px}.faq h2{font-size:44px;margin-bottom:34px}.faq summary{font-size:15px;padding-block:22px}.faq details p{font-size:13px;padding-right:25px;padding-bottom:22px}.faq summary:after{top:19px}.contact-grid{grid-template-columns:1fr;gap:37px}.contact-grid>div:first-child{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.contact-grid>div:first-child>.eyebrow{grid-column:1/-1}.contact-item{padding-bottom:18px;margin-bottom:20px}.contact-item small{font-size:8px}.contact-item a{font-size:12px}.contact-item:first-of-type>a{font-size:27px}.contact-item p{font-size:12px}.contact-grid>div:last-child{padding:28px 22px}.form-grid{grid-template-columns:1fr;gap:21px}.field label{font-size:11px}.field input,.field select,.field textarea{font-size:16px}.form-note{font-size:9px}.contact-grid .button{width:100%;font-size:12px}.article{font-size:14px;line-height:1.9;padding-bottom:70px}.article h2{font-size:30px;margin-top:30px}.note-box{font-size:11px;padding:19px 20px}.article-row{grid-template-columns:1fr 22px;gap:15px;padding-block:26px}.article-row small{grid-column:1/-1;font-size:9px}.article-row h3{font-size:29px}.article-row .arrow{width:18px;height:18px}.article-list{margin-top:26px}}
@media(max-width:370px){:root{--gutter:19px}.hero h1{font-size:12vw}.hero-content{padding-top:150px}.hero{min-height:755px}.hero-actions{gap:20px}.hero-content>.eyebrow{font-size:7px}.hero-feature>a{font-size:23px;gap:10px}.hero-controls{gap:4px}.hero-controls button{width:26px;height:26px}.cta-main{gap:12px}.cta h2{font-size:39px}.circle-link{width:42px;height:42px}.filter-bar{gap:19px}.filter{font-size:9px}.work-caption h3{font-size:38px}.footer-connect .footer-phone{font-size:23px}.capability-accordions h3{font-size:25px}}
@media(min-width:701px) and (max-height:760px){.hero{min-height:660px}.hero-content{padding-top:130px;padding-bottom:130px}.hero-content>.eyebrow{margin-bottom:25px}.hero h1{font-size:min(7.5vw,100px)}.hero-copy-row{margin-top:24px}.hero-bottom{bottom:25px}.hero-pin{min-height:790px}.case-hero{min-height:590px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-pin{height:auto;min-height:0}.hero{position:relative}.hero-media,.hero-content,.work-panel{transform:none!important;clip-path:none!important;opacity:1!important}.work-panel{position:relative;top:auto}.reveal.is-pending{opacity:1;transform:none}.hero-slide img{transform:none}.reading-progress{display:none}}
/* Project films load only when requested, with a direct viewing link alongside. */
.film-section{background:#2d312a;color:var(--white)}.film-section .eyebrow{color:#c7ccbc}.film-section h2 em{color:#d7bd88}.film-section .section-head>p{color:#c0c7b5}.film-layout{display:grid;grid-template-columns:1.5fr .7fr;gap:65px;align-items:center}.film-stage{position:relative;aspect-ratio:16/9;min-height:200px;background:#1a2119;overflow:hidden}.film-cover{position:absolute;inset:0;background:#1f281e;color:#ead5ad;display:flex;align-items:center;justify-content:center;overflow:hidden}.film-cover:after{content:'';position:absolute;inset:15px;border:1px solid #b8c6a128;pointer-events:none;z-index:1}.film-cover>.eyebrow{position:absolute;left:33px;top:27px;font-size:8px;z-index:2}.film-monogram{font:400 280px/.8 var(--serif);letter-spacing:-.05em;color:#b6be9f13;position:absolute;right:40px;bottom:-15px}.film-play{position:relative;z-index:3;display:grid;place-items:center;width:76px;height:76px;border:1px solid #d6c3969e;color:#f2ddb1;background:#252b22b5;border-radius:50%;backdrop-filter:blur(8px);transition:background .3s,transform .3s}.film-play:hover{background:#c7a86c;color:#20271d;transform:scale(1.04)}.film-play svg{margin-left:3px}.film-cover-title{position:absolute;z-index:2;bottom:31px;left:34px;font-family:var(--serif);font-size:31px;line-height:1.1;letter-spacing:-.02em;color:#f3eedf}.film-description .eyebrow{font-size:8px;margin-bottom:22px}.film-description h3{font-size:42px}.film-description p{font-size:13px;line-height:1.9;color:#c1c8b7;margin-top:22px}.film-text-play{background:none;border:0;border-bottom:1px solid #c8cbbf80;color:inherit;padding-inline:0;margin-top:28px;font-size:12px;cursor:pointer}.youtube-fallback{display:flex;align-items:center;gap:12px;font-size:10px;color:#b7c0ab;margin-top:24px}.youtube-fallback .arrow{width:13px;height:13px}.film-stage iframe{display:block;position:absolute;inset:0;width:100%;height:100%;border:0}.film-stage.is-playing{background:black}.film-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.66}.film-poster[hidden]{display:none}.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 35px}.video-card>.eyebrow{margin-top:22px;margin-bottom:14px;font-size:8px}.video-card h3{font-size:34px}.video-card p{font-size:13px;line-height:1.85;color:var(--muted);margin-top:15px}.video-card>.text-link{font-size:11px;margin-top:20px}.video-card .film-play{width:62px;height:62px}.video-card .film-monogram{font-size:200px}.article-list{margin-top:40px}
@media(max-width:950px){.film-layout{gap:35px;grid-template-columns:1.15fr .85fr}.film-description h3{font-size:36px}.film-description p{font-size:12px}.film-cover-title{font-size:25px}.film-play{width:60px;height:60px}.film-cover>.eyebrow{left:25px;top:23px}}
@media(max-width:700px){.film-layout{grid-template-columns:1fr;gap:29px}.film-description h3{font-size:36px}.film-description .eyebrow{margin-bottom:16px}.film-description p{font-size:13px;margin-top:18px}.film-text-play{margin-top:23px;font-size:12px}.youtube-fallback{margin-top:20px;font-size:10px}.film-cover-title{font-size:24px;left:24px;bottom:22px}.film-cover>.eyebrow{font-size:7px;left:24px;top:22px}.film-play{width:56px;height:56px}.film-play svg{width:20px;height:20px}.film-cover:after{inset:10px}.film-monogram{font-size:210px;right:20px}.video-grid{grid-template-columns:1fr;gap:37px}.video-card h3{font-size:32px}.video-card .film-play{width:55px;height:55px}.video-card>.eyebrow{margin-top:20px}.video-card .film-stage{aspect-ratio:1.65}.article-list{margin-top:30px}}
@media(min-width:371px) and (max-width:700px){.hero h1{font-size:clamp(44px,12.15vw,77px)}}
@media(min-width:701px) and (max-height:760px){.hero{height:100svh;min-height:100svh}.hero-pin{min-height:122svh}.hero-content{padding-top:110px;padding-bottom:110px}}
@media(min-width:701px) and (max-height:600px){.hero h1{font-size:min(6.8vw,82px)}.hero-content>.eyebrow{margin-bottom:20px}.hero-copy-row{margin-top:20px}.hero-bottom{bottom:20px;padding-top:17px}}

/* Original project photography, revealed through an accessible range input. */
.transformation-section{background:var(--paper-2)}
.transformation-section .section-head{margin-bottom:48px}
.transformation-section .section-head>p{max-width:310px;color:var(--muted)}
.comparison-tabs{display:flex;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:28px;gap:0}
.comparison-tabs button{position:relative;flex:1;display:grid;grid-template-columns:25px 1fr;gap:2px 12px;text-align:left;padding:23px 22px 23px 0;color:var(--muted);background:none;border:0;font-size:18px;line-height:1.3}
.comparison-tabs button+button{padding-left:26px;border-left:1px solid var(--line)}
.comparison-tabs button>span{grid-row:1/3;font-size:10px;letter-spacing:.08em;padding-top:4px;color:var(--gold-dark)}
.comparison-tabs button>small{grid-column:2;font-size:11px;font-weight:400;line-height:1.6;margin-top:4px}
.comparison-tabs button:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.comparison-tabs button[aria-selected=true]{color:var(--ink)}
.comparison-tabs button[aria-selected=true]:after{transform:scaleX(1)}
.comparison-tabs button:hover{color:var(--ink)}
.comparison-tabs button:focus-visible{outline:2px solid var(--gold-dark);outline-offset:-5px}
.comparison-frame{position:relative;isolation:isolate;aspect-ratio:16/10;overflow:hidden;background:var(--coal);--position:50%}
.comparison-before,.comparison-after{position:absolute;inset:0;overflow:hidden}
.comparison-frame img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;user-select:none;pointer-events:none}
.comparison-before{clip-path:inset(0 calc(100% - var(--position)) 0 0)}
.comparison-label{position:absolute;top:24px;padding:7px 13px;background:#232622e6;color:var(--white);font-size:10px;letter-spacing:.1em;text-transform:uppercase;pointer-events:none;z-index:2}
.label-before{left:24px}.label-after{right:24px}
.comparison-divider{position:absolute;top:0;bottom:0;left:var(--position);width:2px;transform:translateX(-1px);background:var(--white);pointer-events:none;z-index:3;box-shadow:0 0 12px #0003}
.comparison-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:62px;height:62px;display:grid;place-items:center;border-radius:50%;color:var(--ink);background:var(--white);box-shadow:0 2px 20px #0003;border:1px solid #fffc}
.comparison-range{position:absolute;inset:0;z-index:4;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y}
.comparison-frame:focus-within{outline:3px solid var(--gold-dark);outline-offset:5px}
.comparison-frame:focus-within .comparison-handle{background:var(--gold)}
.comparison-hint{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);padding:7px 15px;background:#232622e6;color:var(--white);border-radius:30px;font-size:10px;letter-spacing:.08em;pointer-events:none;z-index:3;white-space:nowrap;transition:opacity .2s}
.comparison-frame.is-used .comparison-hint{opacity:0}
.comparison-caption{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:26px 0 28px;border-bottom:1px solid var(--line)}
.comparison-caption .eyebrow{margin-bottom:9px;font-size:9px}.comparison-caption h3{font-size:clamp(30px,3vw,48px)}
.comparison-caption-detail{font-size:12px;line-height:1.6;text-align:right;color:var(--muted)}
.comparison-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:20px}
.comparison-bottom>p{font-size:11px;line-height:1.6;color:var(--muted);max-width:450px}
.comparison-navigation{display:flex;gap:18px;align-items:center;flex-shrink:0}
.comparison-navigation>span{font-size:10px;letter-spacing:.15em;min-width:47px;text-align:center;font-variant-numeric:tabular-nums}
.comparison-navigation button{display:grid;place-items:center;width:46px;height:46px;background:transparent;color:var(--ink);border:1px solid #b5b3a9;border-radius:50%;font-size:20px;transition:background .2s,color .2s}
.comparison-navigation button:hover{background:var(--ink);color:var(--paper)}
.comparison-navigation button:focus-visible{outline:2px solid var(--gold-dark);outline-offset:4px}
.case-transformations .comparison-frame{aspect-ratio:16/10;max-height:800px}
@media(min-width:1600px){.hero-media{max-width:1980px;margin-inline:auto}.comparison-frame{max-height:840px}}
@media(max-width:700px){
 .transformation-section .section-head{margin-bottom:30px}.comparison-tabs{margin-bottom:18px}.comparison-tabs button{font-size:12px;padding:17px 9px 17px 0;display:block}.comparison-tabs button+button{padding-left:13px}.comparison-tabs button>span{display:block;font-size:9px;padding:0;margin-bottom:9px}.comparison-tabs button>small{display:block;font-size:9px;line-height:1.4;margin-top:6px}
 .comparison-frame,.case-transformations .comparison-frame{aspect-ratio:4/3}.comparison-label{top:13px;padding:6px 9px;font-size:8px}.label-before{left:13px}.label-after{right:13px}.comparison-handle{width:48px;height:48px}.comparison-hint{font-size:9px;bottom:13px;padding:5px 12px}
 .comparison-caption{padding:20px 0;gap:18px;align-items:flex-start}.comparison-caption .eyebrow{max-width:220px;font-size:8px}.comparison-caption .text-link{font-size:10px;gap:10px;line-height:1.4;max-width:120px;margin-top:3px}.comparison-caption .text-link .arrow{width:16px;height:16px}.comparison-caption-detail{font-size:10px}.comparison-bottom{gap:16px;align-items:flex-start}.comparison-bottom>p{font-size:9px;max-width:190px}.comparison-navigation{gap:10px}.comparison-navigation button{width:36px;height:36px}.comparison-navigation>span{font-size:9px;min-width:38px}
}
@media(prefers-reduced-motion:reduce){.comparison-tabs button:after,.comparison-hint,.comparison-navigation button{transition:none}}

/* Each project's complete media is accessible directly from the portfolio. */
.project-card-main{display:block}
.project-media-nav{display:flex;flex-wrap:wrap;gap:10px 23px;padding:17px 0 20px;border-bottom:1px solid var(--line)}
.project-media-nav a{display:inline-flex;align-items:center;gap:9px;font-size:11px;line-height:1.5;padding:5px 0;color:var(--muted)}
.project-media-nav a>span{font-size:9px;color:var(--gold-dark)}
.project-media-nav a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:5px}
.project-media-nav .project-video-link{color:var(--ink)}
.project-media-nav a:focus-visible,.gallery-jump-links a:focus-visible{outline:2px solid var(--gold-dark);outline-offset:5px}
.case-media-shortcuts{display:flex;align-items:center;flex-wrap:wrap;gap:12px 28px;padding:20px 0;border-bottom:1px solid var(--line)}
.case-media-shortcuts>.eyebrow{margin:0;font-size:9px}.case-media-shortcuts .project-media-nav{border:0;padding:0;flex:1;gap:24px}
.case-comparison-shortcut{font-size:10px;color:var(--gold-dark)}
.gallery-jump-links{display:flex;flex-wrap:wrap;gap:14px 32px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:50px}
.gallery-jump-links a{display:inline-flex;gap:13px;align-items:center;font-size:12px}.gallery-jump-links a>span{font-size:10px;color:var(--gold-dark)}
.gallery-stage-title{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:30px}
.gallery-stage-title .eyebrow{margin-bottom:12px}.gallery-stage-title h3{font-size:clamp(34px,3.5vw,54px)}
.gallery-photo-total{font-size:11px;color:var(--muted);flex-shrink:0}
.project-photo-stage{scroll-margin-top:115px}.project-photo-stage+.project-photo-stage{padding-top:90px;margin-top:80px;border-top:1px solid var(--line)}
.project-film .film-description .video-source-note{font-size:10px;line-height:1.6;opacity:.75;margin-top:18px}
.portfolio-native-film video{display:block;width:100%;aspect-ratio:16/9;background:#151a14;object-fit:contain}
.portfolio-native-film .native-film-caption{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:20px;font-size:12px}
.portfolio-native-film .native-film-caption span{color:#bcbfaf;font-size:11px}
@media(max-width:700px){.project-media-nav{gap:8px 17px;padding:12px 0 17px}.project-media-nav a{font-size:10px}.case-media-shortcuts{gap:12px}.case-media-shortcuts>.eyebrow{width:100%}.case-media-shortcuts .project-media-nav{gap:15px;flex-basis:100%}.gallery-jump-links{gap:14px 22px;margin-bottom:35px}.gallery-jump-links a{font-size:11px;gap:8px}.gallery-stage-title{align-items:center}.gallery-photo-total{font-size:9px}.project-photo-stage+.project-photo-stage{padding-top:60px;margin-top:55px}.portfolio-native-film .native-film-caption{align-items:flex-start;flex-direction:column;gap:8px}}

/* The original KPS film, edge to edge behind the home-page headline. */
.hero-video-media{max-width:none!important}
.hero-video-poster,.hero-cover-video{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 50%}
.hero-cover-video{opacity:0;transition:opacity .65s ease;pointer-events:none}
.hero-video-media.has-video-frame .hero-cover-video{opacity:1}
.hero-video-media .hero-shade{background:linear-gradient(90deg,#121a13a8 0%,#151d1466 56%,#151a1433),linear-gradient(180deg,#151d1470,transparent 27%,#141b143d 64%,#111b14bc)}
.hero-video-controls{flex-shrink:0}
.hero-video-toggle{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;min-width:123px;padding:10px 14px;border:1px solid #faf8f270;border-radius:30px;background:#18201942;backdrop-filter:blur(8px);color:var(--white);font-size:10px;letter-spacing:.035em;transition:background .2s,border-color .2s}
.hero-video-toggle:hover{background:#faf8f225;border-color:var(--white)}
.hero-video-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.hero-video-toggle .hero-pause-icon,.hero-video-toggle.is-playing .hero-play-icon{display:none}
.hero-video-toggle.is-playing .hero-pause-icon{display:block}
.hero-film-feature{min-width:0}
@media(max-width:700px){.hero-video-media .hero-shade{background:linear-gradient(180deg,#121b148c 0%,#17201977 45%,#182018a6 77%,#142017e6 100%)}.hero-bottom{grid-template-columns:minmax(0,1fr) auto}.hero-film-feature>a{font-size:22px;max-width:none;column-gap:10px}.hero-film-feature small{font-size:7px}.hero-video-toggle{font-size:9px;gap:8px;min-width:103px;padding:9px 11px}.hero-video-poster,.hero-cover-video{object-position:50% 50%}}
@media(prefers-reduced-motion:reduce){.hero-cover-video{transition:none}}

/* Service-area guides and renovation planning, within the existing editorial system. */
.breadcrumbs{padding-top:142px;font-size:11px;line-height:1.7;color:var(--muted)}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:6px 12px;list-style:none;margin:0;padding:0}
.breadcrumbs li+li:before{content:'/';display:inline-block;margin-right:12px;color:#898b83}
.breadcrumbs a:hover{text-decoration:underline;text-underline-offset:4px}
.breadcrumbs [aria-current]{color:var(--ink)}
.breadcrumbs+.page-intro{padding-top:35px}
.area-teaser{border-top:1px solid var(--line)}
.area-teaser-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:10%;align-items:start}
.area-teaser h2{font-size:clamp(44px,4.7vw,72px)}
.area-teaser p{max-width:520px;margin:28px 0;color:var(--muted);font-size:14px}
.area-teaser-links{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.area-teaser-links a{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);font-size:13px}
.area-teaser-links a:hover{color:var(--gold-dark)}
.area-teaser-links .arrow{width:15px;height:15px}
.local-work-intro{padding-top:25px}
.area-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.area-guide-card{display:flex;flex-direction:column;padding:35px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s}
.area-guide-card:hover{background:var(--paper-2)}
.area-guide-card .eyebrow{font-size:9px;margin-bottom:28px}
.area-guide-card h3{font-size:clamp(32px,3vw,44px);margin-bottom:20px}
.area-guide-card p{color:var(--muted);font-size:13px;line-height:1.85;margin-bottom:30px}
.area-guide-card .text-link{align-self:flex-start;margin-top:auto}
.area-search{display:grid;grid-template-columns:minmax(0,560px) 1fr;gap:8px 30px;align-items:center;margin-bottom:50px}
.area-search label{grid-column:1/-1;font-size:12px}
.area-search input{width:100%;min-width:0;border:1px solid #a9a89d;background:var(--paper);border-radius:2px;padding:15px 18px;color:var(--ink);font-size:14px}
.area-search p{font-size:12px;color:var(--muted);margin:0}
.area-region-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px 45px}
.area-region h3{font-size:32px;margin-bottom:18px}
.area-region>p{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:25px}
.area-region li{border-top:1px solid #cbc6ba}
.area-region li:last-child{border-bottom:1px solid #cbc6ba}
.area-region li a{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:10px 0;font-size:13px}
.area-region .arrow{width:14px;height:14px}
.area-region a:hover{color:var(--gold-dark)}
.area-outside{display:grid;grid-template-columns:.7fr 1fr auto;align-items:center;gap:30px;border-top:1px solid #bbb6ab;margin-top:60px;padding-top:40px}
.area-outside h3{font-size:32px}.area-outside p{font-size:13px;line-height:1.8;color:var(--muted)}
.local-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.local-service-card{display:flex;flex-direction:column;border-top:1px solid #aaa99d;padding:30px 0 15px}
.local-service-card h3{font-size:36px;margin-bottom:22px}
.local-service-card p{font-size:14px;line-height:1.85;color:var(--muted);margin-bottom:28px}
.local-service-card .text-link{margin-top:auto;align-self:flex-start}
.local-lead-image .wide-photo{height:clamp(280px,40vw,560px);width:100%;object-fit:cover}
.local-lead-image>p{font-size:11px;color:var(--muted);margin-top:15px;line-height:1.7}
.local-story-grid{display:grid;grid-template-columns:1.25fr .65fr;gap:12%;align-items:start}
.local-story-grid h2{font-size:clamp(43px,4.5vw,68px);margin-bottom:30px}
.local-story-grid p{font-size:15px;line-height:1.9;color:var(--muted)}
.local-story-grid .button{margin-top:30px}
.local-story-grid .plain-list{margin-top:28px}
.local-planning{border-top:1px solid var(--ink);padding-top:24px}
.local-planning h3{font-size:32px;margin-bottom:30px}
.local-planning li{font-size:13px;line-height:1.9;color:var(--muted);border-top:1px solid var(--line);padding:16px 0}
.local-project-single{grid-template-columns:minmax(0,800px);max-width:950px}
.local-next{display:grid;grid-template-columns:1.3fr .7fr;gap:8%;align-items:center}
.local-next p{font-size:14px;color:var(--muted);margin-bottom:25px}
.local-next .text-link{display:flex;width:fit-content;margin-top:25px}
.case-local-link{padding-block:0 65px}
@media(max-width:1100px){.area-guide-grid,.area-region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.area-teaser-grid{gap:6%;grid-template-columns:1fr .8fr}.area-teaser-links{grid-template-columns:1fr}.area-outside{grid-template-columns:1fr 1.5fr}.area-outside .button{grid-column:2;justify-self:start}.local-story-grid{gap:7%;grid-template-columns:1.15fr .75fr}.local-service-grid{gap:24px}.local-service-card h3{font-size:30px}}
@media(max-width:700px){.breadcrumbs{padding-top:124px;font-size:10px}.breadcrumbs+.page-intro{padding-top:28px}.area-teaser-grid,.local-story-grid,.local-next,.area-outside{grid-template-columns:1fr;gap:35px}.area-teaser-links{grid-template-columns:1fr 1fr;gap:0 20px}.area-teaser-links a{font-size:12px}.area-guide-grid,.area-region-grid,.local-service-grid{grid-template-columns:1fr}.area-guide-card{padding:28px}.area-search{grid-template-columns:1fr;gap:10px}.area-search input{font-size:16px}.area-region-grid{gap:45px}.area-outside{gap:22px}.area-outside .button{grid-column:auto;justify-self:start}.local-story-grid{gap:55px}.local-story-grid h2{font-size:43px}.local-story-grid p{font-size:14px}.local-lead-image .wide-photo{height:310px}.local-service-card{padding-top:24px}.local-service-card h3{font-size:34px}.local-next h2{font-size:46px}.area-teaser h2{font-size:44px}.local-work-intro{padding-top:10px}}
@media(prefers-reduced-motion:reduce){.area-guide-card{transition:none}}

/* Klasic Exteriors, integrated with the KPS editorial palette and typography. */
.ext-hero{position:relative;isolation:isolate;min-height:780px;height:90svh;max-height:1100px;background:var(--coal);color:var(--white);overflow:hidden}
.ext-hero .hero-media{position:absolute;inset:0;z-index:-1;max-width:none}
.ext-hero-photo{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:55% 42%}
.ext-hero .hero-shade{background:linear-gradient(90deg,#151c15cf,#151c1580 62%,#151c1526),linear-gradient(0deg,#141b14c4,transparent 55%,#151b1559)}
.ext-hero-content{padding-top:clamp(175px,18vh,245px);position:relative}
.ext-hero-content>.eyebrow{color:#ece5d4;margin-bottom:34px}
.ext-hero h1{font-size:clamp(68px,7.8vw,126px);max-width:970px;line-height:.99}
.ext-hero h1 em{color:#dfc58f}
.ext-hero-content>p{max-width:510px;margin-top:30px;color:#ecebe0;font-size:15px;line-height:1.85}
.ext-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:25px 35px;margin-top:34px}
.ext-hero-actions .text-link{font-size:12px}
.ext-hero-bottom{position:absolute;bottom:34px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:24px}
.ext-hero-bottom>span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;display:flex;align-items:center;gap:20px}
.ext-hero-bottom i{height:1px;width:30px;background:#ddd7c6}
.ext-hero-project{display:flex;align-items:center;gap:22px;font-size:12px;line-height:1.5;padding:12px 0;border-bottom:1px solid #faf8f260}
.ext-hero-project small{display:block;font-size:8px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:5px;color:#e4e2d7}
.ext-hero-project:hover{border-color:var(--gold);color:var(--gold)}
.exterior-nav{display:flex;gap:22px;align-items:center;overflow-x:auto;border-bottom:1px solid var(--line);padding:25px 0;scrollbar-width:thin}
.exterior-nav a{white-space:nowrap;font-size:11px;padding:5px 0;color:var(--muted)}
.exterior-nav a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:5px}
.page-intro+.exterior-nav{margin-top:-25px;margin-bottom:40px}
.ext-audiences{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.ext-audiences>a{display:flex;flex-direction:column;min-width:0}
.ext-audiences>a>div{overflow:hidden;aspect-ratio:4/3;margin-bottom:27px;background:var(--paper-2)}
.ext-audiences img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.ext-audiences a:hover img{transform:scale(1.025)}
.ext-audiences .eyebrow{font-size:9px;margin-bottom:14px}
.ext-audiences h3{font-size:38px;margin-bottom:19px}
.ext-audiences p{font-size:13px;line-height:1.85;color:var(--muted);margin-bottom:25px}
.ext-audiences .text-link{align-self:flex-start;margin-top:auto}
.ext-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-left:1px solid var(--line);border-top:1px solid var(--line)}
.ext-service-card{display:flex;flex-direction:column;padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s}
.ext-service-card:hover{background:var(--paper)}
.ext-service-card .eyebrow{font-size:9px;margin-bottom:25px}
.ext-service-card h3{font-size:38px;margin-bottom:22px}
.ext-service-card p{font-size:13px;line-height:1.9;color:var(--muted);margin-bottom:27px}
.ext-service-card .text-link{align-self:flex-start;margin-top:auto;font-size:12px}
.ext-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:55px 30px}
.ext-guide-card{display:flex;flex-direction:column;min-width:0}
.ext-guide-card>div{aspect-ratio:16/10;overflow:hidden;margin-bottom:24px;background:var(--paper-2)}
.ext-guide-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.ext-guide-card:hover img{transform:scale(1.025)}
.ext-guide-card .eyebrow{font-size:9px;margin-bottom:15px}
.ext-guide-card h3{font-size:34px;line-height:1.08;margin-bottom:18px}
.ext-guide-card p{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:24px}
.ext-guide-card .text-link{align-self:flex-start;margin-top:auto}
.ext-home-feature{border-block:1px solid var(--line)}
.ext-home-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:7%;align-items:center}
.ext-home-grid>div>p{font-size:14px;color:var(--muted);line-height:1.9;margin:28px 0}
.ext-home-photo{display:block;position:relative;overflow:hidden}
.ext-home-photo img{width:100%;height:100%;min-height:360px;object-fit:cover}
.ext-home-photo span{display:block;font-size:10px;color:var(--muted);margin-top:14px}
.ext-home-grid h2{font-size:clamp(44px,4.7vw,72px)}
.ext-area-copy{font-size:14px;color:var(--muted);margin:28px 0;max-width:530px}
.ext-local-links{display:flex;gap:20px 30px;flex-wrap:wrap}
.ext-local-action{display:flex;flex-wrap:wrap;gap:30px;align-items:center;margin-top:40px}
.ext-project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px 35px}
.ext-project-gallery figure>a{display:block;position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--paper-2)}
.ext-project-gallery img{width:100%;height:100%;object-fit:cover}
.ext-project-gallery figcaption{padding-top:24px}
.ext-project-gallery h3{font-size:34px;margin-bottom:14px}
.ext-project-gallery p{color:var(--muted);font-size:13px;line-height:1.8;max-width:500px}
.ext-project-gallery figure:last-child>a{aspect-ratio:auto;min-height:300px;display:grid;place-items:center}
.ext-project-gallery figure:last-child img{max-width:450px;height:auto;object-fit:contain}
.ext-article-layout{display:grid;grid-template-columns:250px minmax(0,850px);gap:8%;align-items:start}
.ext-article-menu{position:sticky;top:125px;padding-top:5px}
.ext-article-menu nav{display:grid;gap:16px;margin-bottom:35px}
.ext-article-menu nav a{font-size:12px;line-height:1.7;color:var(--muted);padding-bottom:14px;border-bottom:1px solid var(--line)}
.ext-article-menu nav a:hover{color:var(--ink)}
.ext-article{max-width:none;width:100%;padding:0 0 110px;margin:0}
.ext-article>figure{margin-bottom:45px}
.ext-article>figure img{width:100%;aspect-ratio:16/9;object-fit:cover}
.ext-article>section{margin:0 0 40px;scroll-margin-top:120px}
.ext-article h2{font-size:36px;margin:0 0 24px;line-height:1.1}
.ext-article p{font-size:15px;line-height:1.9}
.ext-article ul{list-style:disc;padding-left:22px;margin:24px 0}
.ext-article li{font-size:15px;line-height:1.9;margin:10px 0}
.ext-article-next{padding:35px;background:var(--paper-2);margin-top:55px}
.ext-article-next .button{margin-top:25px}
.ext-article-next .text-link{display:flex;width:fit-content;margin-top:25px}
.exterior-cta .wrap{display:grid;grid-template-columns:1.3fr .7fr;gap:8%;align-items:center}
.exterior-cta h2{font-size:clamp(48px,4.7vw,74px)}
.exterior-cta h2 em{color:var(--gold)}
.exterior-cta p{max-width:550px;color:#c6c9be;margin-top:25px;font-size:14px}
.exterior-cta .wrap>div:last-child{display:grid;justify-content:end;gap:18px;font-size:13px}
.exterior-cta .wrap>div:last-child>a:last-child{text-align:center}
.ext-form-group{border:0;margin:0 0 32px;padding:0;min-width:0}
.ext-form-group legend{font-size:11px;letter-spacing:.13em;text-transform:uppercase;padding:0 0 22px;width:100%;margin-bottom:25px;border-bottom:1px solid var(--line)}
.exterior-contact-route{padding:25px;border:1px solid var(--line);margin-bottom:35px}
.exterior-contact-route .eyebrow{margin-bottom:16px;font-size:9px}
@media(min-width:951px) and (max-width:1150px){.desktop-nav{gap:17px;font-size:11px}.nav-wrap{gap:22px}.nav-contact{padding:11px 13px;gap:14px}.brand{gap:9px}.brand strong{font-size:26px}}
@media(max-width:1100px){.ext-service-grid,.ext-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ext-audiences{gap:22px}.ext-audiences h3{font-size:32px}.ext-article-layout{grid-template-columns:210px minmax(0,1fr);gap:6%}.exterior-cta .wrap{gap:5%;grid-template-columns:1.2fr .8fr}.ext-home-grid{gap:5%}}
@media(max-width:700px){.ext-hero-photo{object-position:68% 42%}.ext-hero-project{font-size:10px;gap:12px}.ext-hero-project small{font-size:7px;letter-spacing:.1em}.ext-hero-project .arrow{width:16px;height:16px}.ext-hero{min-height:735px;height:94svh;max-height:1000px}.ext-hero-content{padding-top:165px}.ext-hero h1{font-size:clamp(57px,14vw,78px);line-height:1.04}.ext-hero-content>.eyebrow{font-size:8px;max-width:230px;margin-bottom:27px;line-height:1.9}.ext-hero-content>p{font-size:14px;max-width:390px;margin-top:26px}.ext-hero-actions{gap:24px;margin-top:30px;align-items:flex-start;flex-direction:column}.ext-hero-bottom{bottom:25px;gap:12px}.ext-hero-bottom>span{display:block;font-size:8px;line-height:1.8;max-width:140px}.ext-hero-bottom i{display:none}.ext-hero .hero-shade{background:linear-gradient(90deg,#152016ae,#151b157a),linear-gradient(0deg,#101810d9,transparent 65%)}.exterior-nav{gap:23px;padding:20px 0}.page-intro+.exterior-nav{margin-top:-15px;margin-bottom:30px}.ext-audiences,.ext-service-grid,.ext-guide-grid,.ext-project-gallery,.ext-home-grid,.exterior-cta .wrap{grid-template-columns:1fr}.ext-audiences{gap:48px}.ext-audiences h3{font-size:38px}.ext-service-card{padding:29px}.ext-guide-grid{gap:45px}.ext-home-grid{gap:35px}.ext-home-photo img{min-height:0;aspect-ratio:4/3;object-fit:cover}.ext-home-grid h2{font-size:46px}.ext-home-grid>div>p{margin:25px 0}.ext-project-gallery{gap:45px}.ext-article-layout{grid-template-columns:1fr;gap:35px}.ext-article-menu{position:static}.ext-article-menu nav{grid-template-columns:1fr 1fr;gap:12px 20px;margin-bottom:20px}.ext-article-menu .eyebrow{margin-bottom:18px}.ext-article{padding-bottom:65px}.ext-article h2{font-size:32px}.ext-article p,.ext-article li{font-size:14px}.ext-article-next{padding:25px}.exterior-cta .wrap{gap:35px}.exterior-cta .wrap>div:last-child{justify-content:start}.exterior-cta h2{font-size:46px}.ext-local-links{gap:20px 24px}.ext-local-links .text-link{font-size:12px;gap:20px}.ext-local-action{gap:25px}.ext-form-group .form-grid{gap:22px}.ext-project-gallery figure:last-child>a{min-height:200px}}
@media(prefers-reduced-motion:reduce){.ext-audiences img,.ext-guide-card img,.ext-service-card{transition:none}}

/* Full metro directory: searchable community and county coverage. */
.area-directory{scroll-margin-top:105px}
.area-directory-tools{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto;align-items:end;gap:14px 22px;margin:35px 0 20px}
.area-directory-tools label{display:block;font-size:12px;margin-bottom:10px}
.area-directory-tools input,.area-directory-tools select{width:100%;min-width:0;border:1px solid #a9a89d;border-radius:2px;background:var(--paper);padding:15px;color:var(--ink);font:inherit;font-size:14px;min-height:51px}
.area-directory-tools input:focus-visible,.area-directory-tools select:focus-visible,.area-reset:focus-visible{outline:2px solid var(--gold-dark);outline-offset:4px}
.area-directory-tools [data-area-status]{grid-column:1/-1;font-size:12px;color:var(--muted);margin:0}
.area-reset{min-height:51px;padding:12px 18px;border:1px solid var(--line);background:transparent;font-size:12px;white-space:nowrap}
.area-reset:hover{border-color:var(--ink)}
.area-directory-help{font-size:12px;color:var(--muted);margin-bottom:45px;max-width:780px}
.area-region-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-top:1px solid var(--ink);padding-top:24px}
.area-region-heading h3{font-size:30px}
.area-region-heading>span{font-size:9px;white-space:nowrap;color:var(--muted);padding-top:10px}
.area-region li{scroll-margin-top:120px}
.area-region[hidden],.area-region li[hidden]{display:none!important}
@media(max-width:900px){.area-directory-tools{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.area-reset{justify-self:start}.area-directory-tools [data-area-status]{grid-column:2;align-self:center}}
@media(max-width:700px){.area-directory-tools{grid-template-columns:1fr;gap:18px;margin-top:25px}.area-directory-tools input,.area-directory-tools select{font-size:16px}.area-directory-tools [data-area-status]{grid-column:1}.area-reset{width:100%;justify-self:stretch}.area-region-heading h3{font-size:32px}.area-directory-help{margin-bottom:35px}}

/* Project inquiries: clear routing and distinct exterior estimate styling. */
.inquiry-intro{padding-bottom:52px}.inquiry-intro h1{font-size:clamp(53px,6vw,92px)}.inquiry-intro p{max-width:650px;margin-top:25px;color:var(--muted);font-size:16px}.inquiry-paths{padding-bottom:50px}.inquiry-paths-heading{display:flex;align-items:baseline;gap:24px;justify-content:space-between;margin-bottom:19px}.inquiry-paths-heading h2{font:500 15px/1.5 var(--sans);letter-spacing:0}.inquiry-paths-heading p{font-size:12px;color:var(--muted)}.inquiry-path-options{display:grid;grid-template-columns:1fr 1fr;gap:18px}.inquiry-path{position:relative;display:flex;flex-direction:column;align-items:start;padding:25px 30px 28px;border:1px solid #bdbdb2;min-width:0;transition:background .2s,border-color .2s}.inquiry-path-top{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;margin-bottom:12px}.inquiry-path .eyebrow{margin:0;font-size:9px}.inquiry-path-top small{font-size:10px;padding:3px 9px;border:1px solid currentColor;border-radius:20px;white-space:nowrap}.inquiry-path strong{font:400 clamp(24px,2.5vw,35px)/1.12 var(--serif);letter-spacing:-.025em;padding-right:30px}.inquiry-path>span:not(.inquiry-path-top){font-size:12px;line-height:1.65;margin-top:10px;max-width:430px;padding-right:22px}.inquiry-path>.arrow{position:absolute;right:27px;bottom:30px;width:17px;height:17px}.inquiry-path-project.is-current,.inquiry-path-project:hover{background:#e7dfcf;border-color:#90774f}.inquiry-path-exterior.is-current,.inquiry-path-exterior:hover{background:#254437;border-color:#254437;color:#fffdf6}.inquiry-path-exterior.is-current .eyebrow,.inquiry-path-exterior:hover .eyebrow{color:#d6e5d9}.inquiry-path.is-current{box-shadow:inset 0 -3px currentColor}.inquiry-section{padding-top:32px}.inquiry-layout{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(35px,5vw,80px);align-items:start}.inquiry-aside{min-width:0}.inquiry-photo img{width:100%;aspect-ratio:1.3;object-fit:cover}.inquiry-photo figcaption{font-size:9px;letter-spacing:.04em;color:var(--muted);padding-top:10px}.inquiry-aside h2{font-size:clamp(40px,3.8vw,62px);margin:33px 0 20px}.inquiry-aside>p,.exterior-aside-copy>p{font-size:14px;color:var(--muted)}.inquiry-help{padding:24px 0;border-block:1px solid var(--line);margin-top:28px;font-size:13px}.inquiry-help strong{font-weight:400}.inquiry-help p{font-size:12px;color:var(--muted);margin-top:8px}.inquiry-direct{padding-top:30px}.inquiry-direct .eyebrow{margin-bottom:12px}.inquiry-direct>a{display:block;overflow-wrap:anywhere;font-size:13px}.inquiry-direct .inquiry-phone{font:400 34px/1.3 var(--serif);letter-spacing:-.03em;margin-bottom:9px}.inquiry-direct p{margin:23px 0;font-size:12px;color:var(--muted)}.inquiry-direct>a.text-link{display:inline-flex;font-size:12px}.inquiry-form-card{min-width:0;padding:clamp(25px,3.5vw,55px);background:#fcfbf7;border:1px solid #d8d4c8;border-top:4px solid #ab8b53}.inquiry-form-heading{margin-bottom:35px}.inquiry-form-heading .eyebrow{font-size:9px;margin-bottom:15px}.inquiry-form-heading h2{font-size:clamp(32px,3vw,47px)}.inquiry-form-heading p{margin-top:14px;color:var(--muted);font-size:13px}.inquiry-group{border:0;padding:0;margin:0 0 35px;min-width:0}.inquiry-group legend{display:flex;align-items:center;gap:11px;font-size:14px;font-weight:400;line-height:1.4;width:100%;padding:0 0 17px;margin-bottom:22px;border-bottom:1px solid var(--line)}.inquiry-group legend>span{font-size:10px;font-weight:400;display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border:1px solid #b9ad96;border-radius:50%;flex-shrink:0}.inquiry-group .form-grid{gap:21px}.inquiry-group .field label{font-size:12px;font-weight:400}.inquiry-group .field label>span{font-size:10px;font-weight:400;color:var(--muted);margin-left:5px}.inquiry-group .field input,.inquiry-group .field select,.inquiry-group .field textarea{background:#fffefb}.inquiry-group .field-help,.exterior-service-group>.field-help{font-size:11px;line-height:1.7;color:var(--muted);margin:0}.field-help a{text-decoration:underline;text-underline-offset:3px}.inquiry-submit{width:100%;font-size:13px;text-align:left;gap:15px}.inquiry-form-card .form-note{font-size:11px}.inquiry-form-card .form-status:empty{display:none}.exterior-inquiry-intro h1 em{color:#345b48}.exterior-inquiry-section{background:#e7ece5;padding-top:65px}.exterior-inquiry-layout{gap:clamp(25px,3.5vw,55px)}.exterior-inquiry-aside{background:#254437;color:#fffdf6}.exterior-inquiry-aside .inquiry-photo img{aspect-ratio:1.32}.exterior-inquiry-aside .inquiry-photo figcaption{padding:13px 23px;color:#e0e8df;background:#1e382d;font-size:9px}.exterior-aside-copy{padding:clamp(24px,3vw,42px)}.exterior-aside-copy>.eyebrow{color:#d5e2d3;margin-bottom:20px}.exterior-aside-copy h2{margin-top:0;font-size:clamp(36px,3.6vw,56px)}.exterior-aside-copy h2 em{color:#d3be8e}.exterior-aside-copy>p,.exterior-inquiry-aside .inquiry-direct p,.exterior-inquiry-aside .inquiry-direct .eyebrow{color:#dbe4da}.inquiry-next-steps{list-style:none;margin:33px 0 0;padding:0}.inquiry-next-steps li{display:flex;gap:14px;padding:21px 0;border-top:1px solid #5a7262}.inquiry-next-steps li>span{color:#d3be8e;font-size:10px;padding-top:3px}.inquiry-next-steps strong{font-size:13px;font-weight:400}.inquiry-next-steps p{font-size:12px;color:#dbe4da;margin-top:6px;line-height:1.7}.exterior-inquiry-aside .inquiry-direct{border-top:1px solid #5a7262;margin-top:5px}.exterior-form-card{border:1px solid #c7d1c4;border-top:4px solid #345b48;background:#fbfcf8}.exterior-form-card .inquiry-form-heading .eyebrow{color:#345b48}.exterior-form-card .inquiry-group legend>span{border-color:#91a591;color:#315441}.exterior-service-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.exterior-service-choice{position:relative;display:flex;align-items:flex-start;gap:10px;border:1px solid #b7c4b5;background:#fffefb;min-height:88px;padding:15px 13px;cursor:pointer;transition:background .2s,border-color .2s;min-width:0}.exterior-service-choice input{margin:4px 0 0;flex-shrink:0;width:16px;height:16px;accent-color:#315441}.exterior-service-choice>span{display:flex;flex-direction:column;gap:5px;min-width:0}.exterior-service-choice strong{font-size:13px;font-weight:400;line-height:1.5}.exterior-service-choice small{font-size:10px;line-height:1.6;color:#5c685d}.exterior-service-choice:has(input:checked){background:#e2ebdf;border-color:#315441;box-shadow:inset 0 0 0 1px #315441}.exterior-service-choice:has(input:focus-visible){outline:2px solid #315441;outline-offset:3px}.exterior-service-choice:last-child{grid-column:1/-1;min-height:72px}.exterior-project-details{margin-top:25px}.exterior-form-card .field input:focus,.exterior-form-card .field select:focus,.exterior-form-card .field textarea:focus{border-color:#315441}.exterior-form-card .inquiry-submit{background:#254437;border-color:#254437}.exterior-form-card .inquiry-submit:hover{background:#365b47}.inquiry-form-card input:focus-visible,.inquiry-form-card select:focus-visible,.inquiry-form-card textarea:focus-visible{outline:2px solid #85672f;outline-offset:2px}.exterior-form-card input:focus-visible,.exterior-form-card select:focus-visible,.exterior-form-card textarea:focus-visible{outline-color:#315441}
@media(max-width:1000px){.inquiry-layout{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:28px}.inquiry-form-card{padding:28px}.inquiry-path{padding:23px}.exterior-service-choice{padding:12px 10px;gap:8px}.inquiry-direct .inquiry-phone{font-size:28px}}
@media(max-width:850px){.inquiry-layout{grid-template-columns:1fr;gap:35px}.inquiry-form-card{grid-row:1;padding:35px}.inquiry-aside .inquiry-photo img{aspect-ratio:1.8}.inquiry-aside>h2{font-size:48px}.inquiry-path-options{gap:12px}.inquiry-path{padding:20px}.inquiry-path-top{align-items:flex-start}.inquiry-path-top small{font-size:9px}.inquiry-path .eyebrow{font-size:8px}.inquiry-path>.arrow{right:18px;bottom:25px}.exterior-aside-copy{padding:32px}.exterior-inquiry-section{padding-top:35px}}
@media(max-width:580px){.inquiry-intro{padding-bottom:35px}.inquiry-intro h1{font-size:clamp(45px,11.5vw,65px)}.inquiry-intro p{font-size:14px}.inquiry-paths{padding-bottom:30px}.inquiry-paths-heading{display:block}.inquiry-paths-heading p{margin-top:4px}.inquiry-path-options{grid-template-columns:1fr;gap:12px}.inquiry-path{padding:19px 20px}.inquiry-path-top{margin-bottom:9px}.inquiry-path strong{font-size:27px}.inquiry-path>span:not(.inquiry-path-top){margin-top:7px;font-size:11px}.inquiry-path .eyebrow{font-size:9px}.inquiry-section{padding-top:15px}.exterior-inquiry-section{padding-top:28px}.inquiry-form-card{padding:27px 20px}.inquiry-form-heading{margin-bottom:27px}.inquiry-form-heading h2{font-size:34px}.inquiry-form-heading p{font-size:12px}.inquiry-group .form-grid{grid-template-columns:1fr;gap:19px}.inquiry-group legend{font-size:13px;gap:9px}.inquiry-group{margin-bottom:29px}.exterior-service-choices{gap:8px}.exterior-service-choice strong{font-size:12px}.exterior-service-choice small{font-size:10px}.exterior-service-choice{padding:12px 9px;gap:7px;min-height:104px}.exterior-service-choice input{width:14px;height:14px}.exterior-service-choice:last-child{min-height:70px}.inquiry-aside h2{font-size:44px}.inquiry-direct .inquiry-phone{font-size:32px}.exterior-aside-copy{padding:27px 23px}.inquiry-photo figcaption{font-size:8px}}
@media(prefers-reduced-motion:reduce){.inquiry-path,.exterior-service-choice{transition:none}}

/* Service imagery follows the open service; mobile keeps it beside the description. */
.capability-photo{background:var(--paper-2)}
.capability-photo:after{content:none}
.capability-visual{position:absolute;inset:0;overflow:hidden}
.capability-visual:after{content:'';position:absolute;inset:48% 0 0;background:linear-gradient(transparent,#101710cf)}
.capability-visual img{object-position:50% 50%}
.capability-visual[data-capability-visual="commercial"] img{object-position:57% 50%}
.capability-visual figcaption{position:absolute;z-index:1;left:30px;right:25px;bottom:30px;color:var(--white)}
.capability-visual figcaption small{display:block;font-size:9px;letter-spacing:.1em;text-transform:uppercase;line-height:1.6;margin-bottom:12px}
.capability-visual figcaption span{display:block;font:italic clamp(29px,2.6vw,39px)/1.12 var(--serif);letter-spacing:-.025em;text-wrap:balance}
.capability-visual:not([hidden]){animation:capability-image-in .35s ease-out}
.capability-inline-photo{display:none}
@keyframes capability-image-in{from{opacity:.35}to{opacity:1}}
@media(max-width:950px){.capability-visual figcaption{left:22px;right:18px;bottom:25px}.capability-visual figcaption span{font-size:30px}.capability-visual figcaption small{font-size:8px}}
@media(max-width:700px){.capability-photo{display:none}.capability-layout{display:block}.capability-inline-photo{display:block;margin:0 0 22px}.capability-inline-photo img{position:static;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center}.capability-inline-photo figcaption{padding-top:10px;line-height:1.5}.capability-inline-photo figcaption small{font-size:9px;color:var(--muted)}.capability-inline-photo figcaption span{display:block;font:italic 24px/1.25 var(--serif);letter-spacing:-.02em;margin-top:4px}.capability-copy{padding-right:0}}
@media(prefers-reduced-motion:reduce){.capability-visual:not([hidden]){animation:none}}

/* Selected material surfaces stay behind live text and project photography.
   Paper and marble fill each section without seams or layout changes. */
.material-limestone{
 --muted:#55574f;--gold-dark:#755a29;--line:#c6beaf;
 background-color:#e9e3d7;
 background-image:url('/assets/material-crumpled-limestone.webp');
 background-size:cover;
 background-position:center;
 background-repeat:no-repeat;
}
.material-charcoal{
 background-color:#252d27;color:#f5f1e6;
 background-image:linear-gradient(rgb(16 21 16 / 55%),rgb(16 21 16 / 55%)),url('/assets/material-charcoal-marble.webp');
 background-size:cover;
 background-position:center;
 background-repeat:no-repeat;
}
/* Keep the small contact and footer copy legible over the lightest veins. */
.footer.material-charcoal .eyebrow,.footer.material-charcoal .footer-address,.footer.material-charcoal .footer-bottom,.footer.material-charcoal .footer-wordmark>span,.cta.material-charcoal .cta-bottom{color:#c5cabb}
.exterior-cta.material-charcoal .eyebrow{color:#ddcaa6}
@media print{.material-limestone,.material-charcoal{background-image:none}}

/* Live from the job site: an editorial, progressively enhanced Instagram feed. */
.jobsite-heading{align-items:end}.jobsite-intro{max-width:445px}.jobsite-intro>p{font-size:15px;color:var(--muted);line-height:1.8;margin-bottom:24px}.jobsite-intro .text-link{font-size:12px}
.jobsite-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 0 22px;border-bottom:1px solid var(--line);margin-bottom:26px}.jobsite-bar>p{font-size:11px;color:var(--muted);max-width:680px;line-height:1.7}.jobsite-controls{display:flex;gap:8px}.jobsite-controls button{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:transparent;font-size:20px}.jobsite-controls button:hover{background:#ffffff50}.jobsite-controls button:disabled{opacity:.3;cursor:default}
.jobsite-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 60px)/4);gap:20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#9b8d72 transparent;list-style:none;padding:0 0 22px;margin:0}.jobsite-card{min-width:0;scroll-snap-align:start}.jobsite-media{position:relative;display:block;aspect-ratio:1;width:100%;padding:0;border:0;overflow:hidden;background:#d7d1c4;color:var(--white);text-align:left}.jobsite-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}.jobsite-media:hover img{transform:scale(1.025)}.jobsite-badge{position:absolute;top:14px;left:14px;padding:5px 9px;background:#20261ee8;color:#faf8f2;font-size:8px;letter-spacing:.09em;text-transform:uppercase;line-height:1.5}.jobsite-open,.jobsite-play{position:absolute;right:16px;bottom:16px;width:35px;height:35px;display:grid;place-items:center;border:1px solid #ffffff70;background:#20261ec9;border-radius:50%;color:#faf8f2;font-size:19px}.jobsite-open .arrow{width:16px;height:16px}.jobsite-play{width:48px;height:48px;right:calc(50% - 24px);bottom:calc(50% - 24px);font-size:17px;padding-left:3px;background:#20261ecc}.jobsite-caption{padding-top:17px}.jobsite-date{display:block;font-size:9px;color:var(--muted);letter-spacing:.03em;line-height:1.6;margin-bottom:10px}.jobsite-caption h3{font-size:clamp(23px,2.1vw,33px);line-height:1.14;letter-spacing:-.025em}.jobsite-post-copy{font-size:13px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.jobsite-caption h3+.jobsite-post-copy{margin-top:12px}.jobsite-post-link{display:inline-block;font-size:10px;border-bottom:1px solid var(--ink);margin-top:12px}.jobsite-foot{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:24px;margin-top:9px}.jobsite-foot>span{font-size:11px;color:var(--muted)}.jobsite-foot .text-link{font-size:12px}.jobsite-image-fallback{position:absolute;inset:0;display:grid;place-content:center;text-align:center;padding:30px;color:var(--ink);font-size:13px}
.jobsite-dialog{border:0;background:var(--paper);color:var(--ink);padding:25px;width:min(620px,calc(100vw - 32px));max-height:92dvh;overflow:auto}.jobsite-dialog::backdrop{background:#101510d9}.jobsite-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.jobsite-dialog-head .eyebrow{font-size:8px}.jobsite-dialog-head button{background:none;border:0;color:var(--ink);font-size:12px;padding:8px}.jobsite-dialog video{display:block;width:100%;max-height:65dvh;background:#111;object-fit:contain}.jobsite-dialog>p{font-size:13px;line-height:1.7;margin:20px 0;white-space:pre-line;overflow-wrap:anywhere}.jobsite-dialog>.text-link{font-size:12px}.jobsite-track:focus-visible,.jobsite-section button:focus-visible,.jobsite-section a:focus-visible{outline:2px solid var(--gold-dark);outline-offset:4px}
@media(max-width:1000px){.jobsite-track{grid-auto-columns:calc((100% - 40px)/3)}.jobsite-intro{max-width:365px}}
@media(max-width:700px){.jobsite-heading{display:block}.jobsite-intro{max-width:none;margin-top:25px}.jobsite-intro>p{font-size:14px;max-width:410px}.jobsite-track{grid-auto-columns:78%;gap:16px;margin-right:calc(-1*var(--gutter));padding-right:var(--gutter);scroll-padding-right:var(--gutter)}.jobsite-bar{gap:15px;align-items:center}.jobsite-bar>p{font-size:10px}.jobsite-controls button{width:34px;height:34px}.jobsite-caption h3{font-size:29px}.jobsite-foot{display:block}.jobsite-foot .text-link{margin-top:15px}.jobsite-dialog{padding:20px}.jobsite-dialog-head .eyebrow{max-width:200px}}
@media(prefers-reduced-motion:reduce){.jobsite-media img{transition:none}.jobsite-media:hover img{transform:none}}
/* Keep navigation legible when glass is unsupported or transparency is reduced. */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.masthead.scrolled .nav-wrap{background:#f3f0e9f5}.masthead.scrolled.is-dark .nav-wrap{background:#232622f5}}
@media(prefers-reduced-transparency:reduce){.masthead.scrolled .nav-wrap{background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none}.masthead.scrolled.is-dark .nav-wrap{background:var(--coal)}}

