:root{--surface:#ffffff;--soft:#f5f5f7;--ink:#1d1d1f;--muted:#626269;--accent:#315773;--line:#d8d8df;--glass:rgba(255,255,255,.94);--on-accent:#fff;--scroll-thumb:#919199;--scroll-track:#f5f5f7;--scroll-hover:#626269;--scroll-active:#315773;color-scheme:light dark;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--surface);font-synthesis:none;font-size:16px}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}*::-webkit-scrollbar{width:12px;height:12px}*::-webkit-scrollbar-track{background:var(--scroll-track)}*::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border:3px solid var(--scroll-track);border-radius:8px}*::-webkit-scrollbar-thumb:hover{background:var(--scroll-hover)}*::-webkit-scrollbar-thumb:active{background:var(--scroll-active)}html{scrollbar-gutter:stable;scroll-padding-top:110px}body{margin:0}a{color:inherit;text-decoration:none;cursor:pointer}a:hover{color:var(--accent)}a:active,button:active{opacity:.75}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:5px}a,button{scroll-margin-block:110px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{letter-spacing:-.055em;line-height:1.06;font-weight:650;text-wrap:balance}h1{font-size:clamp(3rem,6.5vw,6rem)}h2{font-size:clamp(2.4rem,4.5vw,4rem)}h3{font-size:1.75rem;letter-spacing:-.035em}h1 span,h2 span{color:var(--muted)}p{color:var(--muted);line-height:1.65;font-size:1.0625rem}p+p{margin-top:20px}svg{width:20px;height:20px;flex-shrink:0}img{display:block;max-width:100%;height:auto}.wrap{max-width:1160px;width:calc(100% - 96px);margin-inline:auto}.section{padding-block:110px}.eyebrow,.small-label{font-size:.8125rem;font-weight:600;letter-spacing:.03em;color:var(--muted);display:block;margin-bottom:20px}.header{position:sticky;top:0;z-index:20;background:var(--glass);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:80px}.brand{display:flex;align-items:baseline;gap:13px;white-space:nowrap}.brand-name{font-size:2rem;font-weight:750;letter-spacing:-.09em}.brand-name>span{color:var(--accent)}.brand-descriptor{font-size:.75rem;color:var(--muted);letter-spacing:.015em}nav{display:flex;gap:28px;align-items:center}nav a{font-size:.8125rem;min-height:44px;display:flex;align-items:center}nav a[aria-current]{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:2px}.button{display:inline-flex;gap:16px;align-items:center;justify-content:center;min-height:50px;padding:14px 24px;border-radius:99px;background:var(--accent);color:var(--on-accent);font-size:.9375rem;font-weight:550;transition:filter .18s,box-shadow .18s}.button:hover{color:var(--on-accent);filter:brightness(1.12);box-shadow:0 4px 16px #00000012}.header-call{min-height:44px;padding:11px 18px;font-size:.8125rem}.header-call svg{width:16px}.text-link{display:inline-flex;align-items:center;gap:10px;color:var(--accent);font-size:1rem;min-height:44px;padding-block:10px}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.text-link svg{transition:transform .18s}.actions{display:flex;justify-content:center;gap:28px;align-items:center;flex-wrap:wrap}.home-intro{text-align:center;padding-top:72px;padding-bottom:45px}.home-intro h1{font-size:clamp(3.25rem,7vw,6.5rem);line-height:1.02}.lead{font-size:1.25rem;line-height:1.5;max-width:650px;margin:24px auto 30px}.hero-photo{max-width:1320px}.hero-media{position:relative;overflow:hidden;border-radius:28px;height:565px;background:#403e35}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 47%;filter:brightness(1.04)}.hero-media:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.7))}.photo-caption{position:absolute;z-index:1;bottom:38px;left:42px;right:30px;color:white}.photo-caption span{font-size:2rem;letter-spacing:-.04em;font-weight:600}.photo-caption p{font-size:.875rem;color:#fff;margin-top:8px}.hero-photo>figcaption{font-size:.75rem;color:var(--muted);text-align:right;margin-top:14px}.statement{text-align:center;max-width:820px}.statement>p:not(.eyebrow){max-width:610px;margin:28px auto 20px;font-size:1.1875rem}.feature{display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:55px;background:var(--soft);border-radius:28px;padding:48px}.feature-copy p:not(.eyebrow){margin:24px 0 15px}.feature figure{min-width:0}.feature img{border-radius:18px;width:100%;aspect-ratio:1.05;object-fit:cover;object-position:50% 20%}.feature figcaption{font-size:.75rem;color:var(--muted);margin-top:12px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px}.section-heading>p{max-width:400px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.project-card{border-radius:26px;overflow:hidden;background:var(--soft)}.photo-frame{aspect-ratio:1;overflow:hidden}.photo-frame img{width:100%;height:100%;object-fit:cover}.attic img{filter:brightness(1.15);object-position:50% 43%}.wall img{object-position:50% 35%}.project-card figcaption{padding:30px 32px 34px}.project-card .eyebrow{margin-bottom:12px}.project-card figcaption p{font-size:.9375rem;margin-top:13px}.personal{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:90px}.body-large{font-size:1.75rem;font-weight:550;letter-spacing:-.03em;color:var(--ink);margin-bottom:16px}.personal .text-link{margin-top:18px}.closing{text-align:center;background:var(--soft);border-radius:28px;padding:75px 30px;margin-bottom:90px}.closing>p:not(.eyebrow){margin:24px auto 28px}.quiet-phone{display:block;width:fit-content;margin:12px auto 0;min-height:44px;padding:12px;font-size:.9375rem;color:var(--muted)}footer{background:var(--soft);padding:50px 0 20px}.footer-main{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;padding-bottom:35px}.footer-main>div{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:.8125rem;color:var(--muted)}.footer-main .brand{color:var(--ink)}.footer-main strong{color:var(--ink);font-weight:600;margin-bottom:6px}.footer-main p{font-size:.8125rem;margin-top:5px}.footer-main a:not(.brand){min-height:44px;display:flex;align-items:center}.footer-bottom{border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:.75rem;color:var(--muted)}.footer-bottom>div{display:flex;gap:24px}.footer-bottom a{min-height:44px;display:flex;align-items:center}.intro{text-align:center;padding:80px 0 60px}.intro .lead{margin-bottom:0}.service-photo{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center;margin-bottom:80px}.service-photo img{border-radius:24px;width:100%}.service-photo figcaption{font-size:.75rem;color:var(--muted);margin-top:14px}.service-photo h2{font-size:2.8rem}.service-photo p:not(.eyebrow){margin-top:24px}.audience-section,.principles{background:var(--soft)}.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:45px}.audience-grid article{padding:40px;background:var(--surface);border-radius:24px}.audience-grid p{margin-top:22px}.prepare{display:grid;grid-template-columns:1fr 1fr;gap:80px}.prepare h2{font-size:3rem}.identity{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;align-items:center;padding-bottom:90px}.identity h2{font-size:2.6rem}.identity-copy p:not(.eyebrow){margin-top:25px}.identity .button{margin-top:25px}.brand-original{background:white;border-radius:24px;padding:20px}.brand-original img{width:100%;border-radius:20px}.brand-original figcaption{font-size:.75rem;text-align:center;color:#626269;padding:12px}.principles{margin-bottom:80px;text-align:center}.principles h2{font-size:clamp(3.5rem,7vw,6rem)}.principles p:last-child{max-width:560px;margin:30px auto 0}.contact-cards{display:grid;grid-template-columns:1.2fr 1fr;gap:25px}.contact-cards article{padding:42px;border-radius:26px;background:var(--soft)}.contact-cards h2{font-size:1.75rem;letter-spacing:-.035em;margin-bottom:28px}.phone-card{border:1px solid var(--line)}.phone-number{display:flex;align-items:center;gap:14px;width:fit-content;max-width:100%;font-size:clamp(1.6rem,3vw,2.6rem);letter-spacing:-.055em;font-weight:600;color:var(--accent);padding-block:12px;margin-bottom:22px}.phone-number svg{width:26px}.contact-cards p{font-size:.875rem}.address-card address{font-size:1.0625rem;line-height:1.7;font-style:normal;margin-bottom:25px}.page-intro{max-width:900px;padding-top:70px;padding-bottom:50px}.page-intro .lead{margin-inline:0}.legal{max-width:900px;padding-bottom:90px}.legal h2{font-size:1.6rem;letter-spacing:-.025em;margin:32px 0 18px}.legal a{text-decoration:underline}.notice{background:var(--soft);border-radius:20px;padding:30px;margin-top:30px}.notice h2{margin-top:0}.skip{position:fixed;top:-100px;left:20px;padding:16px;background:var(--surface);z-index:50}.skip:focus{top:10px}.menu-toggle,.mobile-dock{display:none}
@media(prefers-color-scheme:dark){:root{--surface:#151517;--soft:#222225;--ink:#f5f5f7;--muted:#b2b2bb;--accent:#a7c8e0;--line:#414147;--glass:rgba(21,21,23,.94);--on-accent:#172a38;--scroll-thumb:#777780;--scroll-track:#222225;--scroll-hover:#b2b2bb;--scroll-active:#a7c8e0}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.text-link:hover svg{transform:translateX(3px)}}
@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.brand-descriptor{display:none}.header-inner{gap:20px}nav{gap:20px}.hero-media{height:500px}.feature{padding:32px;gap:35px}.section-heading{align-items:start}.section-heading>p{max-width:310px}.personal,.identity,.service-photo{gap:40px}.contact-cards article{padding:30px}}
@media(max-width:760px){html{scroll-padding-top:90px}.wrap{width:calc(100% - 36px)}.header-inner{min-height:70px;flex-wrap:wrap;gap:0}.brand-name{font-size:1.8rem}.brand-descriptor{display:inline}.header-call{display:none}.menu-toggle:not([hidden]){display:flex;align-items:center;gap:12px;min-height:44px;background:var(--soft);border:1px solid var(--line);color:var(--ink);border-radius:99px;padding:10px 17px;font-size:.875rem}nav{width:100%;flex-direction:column;align-items:stretch;gap:2px;padding-block:12px}nav a{padding:12px 8px;font-size:1rem}.js nav:not(.open){display:none}.section{padding-block:70px}.home-intro{padding:48px 0 32px}.home-intro h1{font-size:clamp(2.8rem,10vw,4.6rem)}.lead{font-size:1.125rem}.actions{gap:12px}.eyebrow{font-size:.75rem;margin-bottom:18px}.hero-media{height:auto;aspect-ratio:.95;border-radius:22px}.hero-media img{position:absolute;inset:0;object-position:center}.photo-caption{bottom:24px;left:24px;right:18px}.photo-caption span{font-size:1.5rem}.photo-caption p{font-size:.8125rem;max-width:210px}.hero-photo>figcaption{text-align:left;font-size:.6875rem}.statement>p:not(.eyebrow){font-size:1.0625rem}.feature,.personal,.prepare,.identity,.service-photo,.contact-cards{grid-template-columns:1fr;gap:30px}.feature{padding:28px;border-radius:24px}.feature img{aspect-ratio:1.2}.section-heading{display:block;margin-bottom:28px}.section-heading>p{max-width:100%;margin-top:24px}.project-grid{grid-template-columns:1fr;gap:24px}.project-card figcaption{padding:26px}.photo-frame{aspect-ratio:1}.personal{gap:25px}.closing{padding:50px 22px;margin-bottom:55px}.closing h2{font-size:2.25rem}.footer-main{grid-template-columns:1fr 1fr;gap:30px}.footer-main>div:first-child{grid-column:1/-1}.footer-bottom{align-items:start;flex-direction:column;gap:8px}.footer-bottom>div{gap:28px}footer{padding-bottom:110px}.mobile-dock{position:fixed;z-index:25;bottom:0;left:0;right:0;display:flex;justify-content:center;background:var(--glass);backdrop-filter:blur(18px);padding:10px 18px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}.mobile-dock .button{width:100%;max-width:420px;min-height:48px}.intro{padding:50px 0 40px}.intro h1{font-size:clamp(2.5rem,9vw,4rem)}.service-photo{margin-bottom:55px}.service-photo h2,.identity h2,.prepare h2{font-size:2.3rem}.audience-grid{grid-template-columns:1fr;margin-top:30px}.audience-grid article{padding:28px}.identity{padding-bottom:60px}.brand-original{max-width:430px;margin-inline:auto}.principles{margin-bottom:55px}.contact-cards article{padding:28px}.phone-number{font-size:clamp(1.5rem,7vw,2.4rem)}.page-intro{padding-top:50px;padding-bottom:30px}.legal{padding-bottom:60px}.legal h2{font-size:1.5rem}.notice{padding:24px}a,button{scroll-margin-block:100px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important;transform:none!important}}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.header,.mobile-dock{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(prefers-contrast:more){:root{--muted:var(--ink);--line:var(--ink)}}
@media(forced-colors:active){*{scrollbar-color:auto}.button,.menu-toggle,.project-card,.contact-cards article{border:1px solid ButtonText}.photo-caption{background:Canvas;color:CanvasText}.photo-caption p{color:CanvasText}}
/* Preserve the complete staircase photograph within a quiet architectural panel. */
.hero-media{display:grid;grid-template-columns:.7fr 1fr;height:auto;background:#242625}
.hero-media img{grid-column:2;width:100%;height:auto;aspect-ratio:1;object-fit:cover;position:static}
.hero-media:after{display:none}
.photo-caption{left:44px;right:auto;top:50%;bottom:auto;width:32%;transform:translateY(-50%)}
.photo-caption span{font-size:clamp(2rem,4vw,3.8rem);line-height:1.05;display:block;max-width:300px}
.photo-caption p{line-height:1.6;margin-top:22px;max-width:220px}
@media(max-width:760px){.hero-media{display:flex;flex-direction:column;aspect-ratio:auto}.hero-media img{aspect-ratio:1;height:auto;position:static}.photo-caption{position:static;transform:none;width:auto;padding:26px}.photo-caption span{font-size:1.75rem;max-width:none}.photo-caption p{max-width:none;margin-top:10px}}

.email-contact{padding-top:22px;border-top:1px solid var(--line);margin-top:24px}.email-contact .small-label{margin-bottom:10px}.email-link{color:var(--accent);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere;min-height:44px;display:inline-flex;align-items:center}.legal code{overflow-wrap:anywhere}.footer-bottom>div{flex-wrap:wrap}
.request-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding-top:70px;padding-bottom:90px;border-top:1px solid var(--line)}.request-heading p:not(.eyebrow){margin-top:22px}.request-heading p:last-child{font-size:.875rem}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:25px}.field label{display:block;font-size:.9375rem;font-weight:550;margin-bottom:10px}.field label span{font-weight:400;color:var(--muted)}.field input,.field textarea{display:block;width:100%;font:inherit;font-size:1rem;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;min-height:48px;padding:12px 14px}.field textarea{min-height:180px;resize:none;field-sizing:content}.field input:focus-visible,.field textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.field [aria-invalid=true]{border-color:var(--error)}:root{--error:#a52323;--success:#205c3c}.field-error{font-size:.8125rem;color:var(--error);margin-top:8px;min-height:20px}.privacy-note{font-size:.875rem;margin:22px 0;line-height:1.6}.privacy-note a{text-decoration:underline;color:var(--accent)}#request-form .button{min-width:210px;border:0;font:inherit}.button:disabled{opacity:.65;cursor:wait;box-shadow:none;filter:none}.request-status,.request-error{font-size:.9375rem;line-height:1.6;margin-top:18px;scroll-margin-block:120px}.request-status{color:var(--success)}.request-error{color:var(--error)}.request-status:empty,.request-error:empty{margin:0}.honeypot{display:none!important}@media(prefers-color-scheme:dark){:root{--error:#ffb4b0;--success:#a8d9b5}}@media(max-width:760px){.request-section{grid-template-columns:1fr;gap:30px;padding-block:50px}.field-grid{grid-template-columns:1fr;gap:18px}.request-heading h2{font-size:2.4rem}}
body{padding-bottom:var(--cookie-space,0px)}.cookie-notice{position:fixed;left:24px;bottom:24px;z-index:35;width:min(410px,calc(100% - 48px));max-height:55dvh;overflow:auto;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:22px;box-shadow:0 10px 45px #0002;padding:24px}.cookie-notice[hidden],.cookie-reopen[hidden]{display:none}.cookie-notice h2{font-size:1.35rem;letter-spacing:-.03em;margin-bottom:12px}.cookie-notice p{font-size:.9375rem;line-height:1.6}.cookie-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:18px}.cookie-actions a{font-size:.875rem;min-height:44px;display:flex;align-items:center;text-decoration:underline;color:var(--accent)}.cookie-actions .button{font:inherit;font-size:.875rem;border:0;min-height:44px}.cookie-reopen{border:0;padding:0;background:transparent;color:inherit;font:inherit;min-height:44px}.cookie-reopen:hover{color:var(--accent);text-decoration:underline}.cookie-notice :is(a,button){scroll-margin-block:120px}@media(max-width:760px){.cookie-notice{left:18px;bottom:calc(82px + env(safe-area-inset-bottom));width:calc(100% - 36px);padding:22px;max-height:45dvh}.cookie-notice h2{font-size:1.25rem}}
