:root{--bg:#f1f3f1;--ink:#17201d;--muted:#647067;--accent:#5b6b56;--soft:#c9d0c7;--paper:#fff;--line:#d5ddd5;--rail:104px;--max:1180px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body.tone-fjord{--bg:#edf3f3;--ink:#111f25;--muted:#5a6b70;--accent:#3e6c77;--soft:#b8cbd0;--paper:#fff;--line:#d1dcdd}body.tone-moss{--bg:#f0f4ec;--ink:#172217;--muted:#5f6d5c;--accent:#527246;--soft:#bfccad;--paper:#fff;--line:#d7e1d0}body.tone-stone{--bg:#f2efea;--ink:#211e1c;--muted:#6e655f;--accent:#6e635a;--soft:#c9b8a5;--paper:#fff;--line:#ded5ca}body.tone-birch{--bg:#f5f0e6;--ink:#1f211e;--muted:#706a5a;--accent:#9d7e3b;--soft:#dfcfa9;--paper:#fff;--line:#e5d9bf}body.tone-brick{--bg:#f4eee8;--ink:#251b17;--muted:#745f56;--accent:#9a563e;--soft:#d6b6a6;--paper:#fff;--line:#dfcec5}body.tone-clinic{--bg:#f4f8f6;--ink:#172421;--muted:#5d706a;--accent:#6c9487;--soft:#cfdfda;--paper:#fff;--line:#d7e4df}body.tone-charcoal{--bg:#eeefeb;--ink:#171a18;--muted:#626961;--accent:#526151;--soft:#c3c7bd;--paper:#fff;--line:#d7dbd2}body.tone-winter{--bg:#f1f2f0;--ink:#1b2023;--muted:#68737a;--accent:#74828b;--soft:#cfd6d8;--paper:#fff;--line:#d9dddd}body.tone-estate{--bg:#f1f3f1;--ink:#17201d;--muted:#627066;--accent:#5b6b56;--soft:#c9d0c7;--paper:#fff;--line:#d5ddd5}body.tone-night{--bg:#eef0f5;--ink:#101824;--muted:#626b7a;--accent:#9b7a3b;--soft:#cad0dc;--paper:#fff;--line:#d4d9e5}*{box-sizing:border-box}html{background:var(--bg);color:var(--ink);scroll-behavior:smooth;overflow-x:hidden}body{margin:0;background:var(--bg);font-size:17px;line-height:1.62;letter-spacing:0;overflow-x:hidden}img{display:block;width:100%;max-width:100%;object-fit:cover}a{color:inherit;text-underline-offset:.22em}button,input,textarea{font:inherit}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;line-height:1.02;margin:0 0 18px;overflow-wrap:break-word}h1{font-size:clamp(42px,7.4vw,104px)}h2{font-size:clamp(30px,4.7vw,64px)}p{margin:0 0 18px}.skip-link{position:absolute;top:-90px;left:18px;z-index:100;background:var(--ink);color:#fff;padding:10px 14px}.skip-link:focus{top:18px}.rail{position:fixed;z-index:60;inset:0 auto 0 0;width:var(--rail);background:var(--ink);color:#fff;display:grid;grid-template-rows:auto 1fr auto;align-items:center;justify-items:center;padding:18px 12px}.rail a{text-decoration:none}.rail-mark{writing-mode:vertical-rl;transform:rotate(180deg);font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.rail-phone{writing-mode:vertical-rl;transform:rotate(180deg);font-weight:850;font-size:13px}.topbar{position:fixed;z-index:58;left:var(--rail);right:0;top:0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:14px clamp(16px,4vw,48px);background:color-mix(in srgb,var(--bg) 86%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ink) 12%,transparent);backdrop-filter:blur(18px)}.mark{display:inline-flex;background:var(--bg);outline:1px solid color-mix(in srgb,var(--ink) 10%,transparent)}.mark img{width:188px;height:auto}.nav{display:flex;justify-content:center;gap:clamp(10px,1.7vw,24px)}.nav a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none;font-size:14px;font-weight:850;border-bottom:2px solid transparent}.nav a:hover,.nav a[aria-current=page]{border-color:var(--accent)}.call{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink);padding:8px 13px;text-decoration:none;font-weight:850}.nav-toggle{display:none;width:50px;height:50px;border:1px solid var(--ink);background:var(--paper);align-items:center;justify-content:center;flex-direction:column;gap:7px}.nav-toggle span{width:24px;height:2px;background:currentColor}.page{margin-left:var(--rail)}.hero{min-height:96svh;display:grid;grid-template-columns:minmax(22px,1fr) minmax(0,520px) minmax(0,760px) minmax(22px,1fr);grid-template-rows:1fr auto;align-items:end;padding-top:82px}.hero-media{grid-column:1/5;grid-row:1/3;height:96svh;min-height:680px;position:relative}.hero-media img{height:100%}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 86%,transparent) 28%,rgba(255,255,255,0) 63%),linear-gradient(180deg,rgba(0,0,0,0) 40%,color-mix(in srgb,var(--bg) 92%,transparent) 100%)}.hero-copy{grid-column:2/4;grid-row:1;position:relative;z-index:2;max-width:900px;padding:150px 0 88px}.hero-copy p{max-width:710px}.metric-strip{grid-column:2/4;grid-row:2;position:relative;z-index:3;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);margin-bottom:28px}.metric-strip div{padding:16px 18px;border-right:1px solid var(--line)}.metric-strip span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);font-weight:900}.kicker{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:950;color:var(--accent)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--ink);background:var(--ink);color:#fff;text-decoration:none;font-weight:900;padding:12px 18px;cursor:pointer}.btn.ghost{background:transparent;color:var(--ink)}.slab{width:min(var(--max),calc(100% - 36px));margin:96px auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:54px}.slab-text{font-size:22px;line-height:1.46}.directory{width:min(var(--max),calc(100% - 36px));margin:80px auto;border-top:1px solid var(--line)}.directory a{display:grid;grid-template-columns:120px 1fr 1.2fr auto;gap:22px;align-items:center;min-height:132px;text-decoration:none;border-bottom:1px solid var(--line);padding:22px 0}.directory a span{color:var(--accent);font-weight:950}.directory h2{font-size:34px;margin:0}.directory p{margin:0;color:var(--muted)}.arrow{font-size:30px}.marquee{margin:100px 0;display:grid;grid-template-columns:minmax(22px,1fr) minmax(0,520px) minmax(0,660px) minmax(22px,1fr);align-items:stretch}.marquee img{grid-column:1/3;height:620px}.marquee-copy{grid-column:3/5;background:var(--ink);color:#fff;padding:54px max(22px,calc((100vw - var(--rail) - var(--max))/2)) 54px 54px;display:flex;flex-direction:column;justify-content:center}.marquee-copy .kicker{color:var(--soft)}.process{width:min(var(--max),calc(100% - 36px));margin:90px auto;display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.process article{background:var(--paper);padding:24px;min-height:230px}.process span{font-weight:950;color:var(--accent)}.gallery{width:min(var(--max),calc(100% - 36px));margin:90px auto;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery figure{margin:0;background:var(--paper);border:1px solid var(--line)}.gallery figure:nth-child(1),.gallery figure:nth-child(6){grid-column:span 2}.gallery img{height:280px}.gallery figure:nth-child(1) img,.gallery figure:nth-child(6) img{height:410px}.gallery figcaption{padding:12px 14px;color:var(--muted);font-size:15px}.subhero{width:min(var(--max),calc(100% - 36px));margin:0 auto;padding:158px 0 70px;display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:end}.subhero img{height:460px;border:1px solid var(--line)}.article{width:min(920px,calc(100% - 36px));margin:0 auto 90px}.article.wide{width:min(var(--max),calc(100% - 36px));display:grid;grid-template-columns:1fr 1fr;gap:44px}.article h2{margin-top:40px}.article ul{padding-left:22px}.article li{margin:8px 0}.contact-section{width:min(var(--max),calc(100% - 36px));margin:90px auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:42px;align-items:start}.contact-card,.mail-form{background:var(--paper);border:1px solid var(--line);padding:28px}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:grid;gap:7px;margin-bottom:14px;font-weight:850}input,textarea{width:100%;min-height:48px;border:1px solid var(--line);background:#fff;color:var(--ink);padding:11px 12px}textarea{resize:vertical}.note{font-size:14px;color:var(--muted)}.faq{width:min(940px,calc(100% - 36px));margin:0 auto 90px;border-top:1px solid var(--line)}.faq-row{border-bottom:1px solid var(--line)}.faq-row button{width:100%;min-height:64px;border:0;background:transparent;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 0;font-weight:900;cursor:pointer}.faq-row button:after{content:"+";font-size:26px}.faq-row button[aria-expanded=true]:after{content:"-"}.faq-row div{color:var(--muted);padding-bottom:18px}.legal{width:min(920px,calc(100% - 36px));margin:0 auto;padding:150px 0 80px}.legal h2{font-family:inherit;font-size:21px;line-height:1.3;margin-top:34px}.footer{margin-left:var(--rail);background:var(--ink);color:rgba(255,255,255,.74);padding:64px clamp(18px,5vw,64px) 28px}.footer-inner{width:min(var(--max),100%);margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:36px}.footer img{width:188px;background:var(--bg);margin-bottom:16px}.footer strong{display:block;color:#fff;margin-bottom:10px;text-transform:uppercase;letter-spacing:.12em;font-size:12px}.footer a,.footer button{display:block;color:inherit;margin:8px 0;background:none;border:0;padding:0;text-align:left;text-decoration:underline;cursor:pointer}.footer-bottom{width:min(var(--max),100%);margin:34px auto 0;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.footer-bottom nav{display:flex;gap:18px;flex-wrap:wrap}.cookie{position:fixed;left:calc(var(--rail) + 18px);right:18px;bottom:18px;z-index:90;max-width:980px;margin:0 auto;background:var(--paper);border:1px solid var(--line);box-shadow:0 18px 54px rgba(0,0,0,.22);padding:20px;display:grid;grid-template-columns:1fr auto;gap:18px}.cookie[hidden],.cookie-panel[hidden]{display:none}.cookie p{color:var(--muted);font-size:15px}.cookie-buttons{display:flex;flex-wrap:wrap;gap:10px}.cookie-buttons button,.cookie-panel button{min-height:44px;border:1px solid var(--ink);background:var(--ink);color:#fff;padding:9px 12px;cursor:pointer}.cookie-buttons button:nth-child(2),.cookie-buttons button:nth-child(3),.cookie-panel button:nth-of-type(2){background:transparent;color:var(--ink)}.cookie-panel{grid-column:1/-1;border-top:1px solid var(--line);padding-top:14px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}@media(max-width:1060px){:root{--rail:0px}.rail{display:none}.page,.footer{margin-left:0}.topbar{left:0;display:flex;justify-content:space-between}.call{display:none}.nav-toggle{display:flex;flex:0 0 50px}.nav{display:none;position:fixed;top:78px;left:16px;right:16px;background:var(--paper);border:1px solid var(--line);padding:18px;box-shadow:0 24px 58px rgba(0,0,0,.18);flex-direction:column}.topbar.nav-open .nav{display:flex}.hero{grid-template-columns:18px 1fr 18px}.hero-copy,.metric-strip{grid-column:2}.metric-strip{grid-template-columns:1fr 1fr}.slab,.subhero,.article.wide,.contact-section,.footer-inner{grid-template-columns:1fr}.marquee{grid-template-columns:18px 1fr 18px}.marquee img,.marquee-copy{grid-column:1/4}.process{grid-template-columns:1fr 1fr}.directory a{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.cookie{left:18px}}@media(max-width:600px){body{font-size:16px}h1{font-size:40px}.topbar{padding:12px 14px}.mark img{width:156px}.hero-media,.hero-media img{min-height:86svh}.hero-copy{padding:126px 0 48px}.metric-strip{grid-template-columns:1fr;margin-bottom:12px}.directory a{min-height:auto}.marquee img,.subhero img,.gallery img,.gallery figure:nth-child(1) img,.gallery figure:nth-child(6) img{height:285px}.process,.gallery,.two{grid-template-columns:1fr}.gallery figure:nth-child(1),.gallery figure:nth-child(6){grid-column:auto}.marquee-copy,.mail-form,.contact-card{padding:22px}.cookie-buttons{display:grid;grid-template-columns:1fr}.cookie-buttons button{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}