:root{--paper:#fff;--surface:#fff;--ink:#292a28;--green:#1f1f1f;--green-dark:#292a28;--rose:#cfa5ad;--rose-panel:#1f1f1f;--rose-deep:#925663;--rose-soft:#f7f4f5;--taupe:#ecebea;--line:rgba(41,42,40,.16);--max:1220px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:"museo-sans","Helvetica Neue",Arial,sans-serif;font-size:17px;font-weight:300;line-height:1.6}a{color:inherit}img{display:block;max-width:100%}.shell{width:min(var(--max),calc(100% - 48px));margin:auto;min-width:0}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:white;padding:10px;z-index:30}
header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{width:67px;height:56px;object-fit:contain}.navlinks{display:flex;align-items:center;gap:27px}.navlinks a{text-decoration:none;font-size:.88rem}.navlinks a[aria-current="page"]{color:var(--rose-deep)}.nav-toggle{display:none;border:0;background:none;font:inherit;font-size:.9rem}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:white;border:1px solid var(--green);padding:13px 19px;text-decoration:none;font-size:.9rem;font-weight:500}.button:hover{background:var(--green-dark)}.button.light{background:transparent;color:var(--ink);border-color:var(--ink)}
.home-main{min-height:calc(100vh - 78px);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr)}.home-message{padding:clamp(70px,9vw,140px) max(28px,7vw);display:flex;flex-direction:column;justify-content:center;box-shadow:inset 10px 0 0 var(--rose)}.kicker{font-size:.74rem;text-transform:uppercase;letter-spacing:.14em;color:var(--ink);font-weight:500;margin:0 0 28px}.home-message h1,.page-hero h1{font-weight:100;font-size:clamp(3.4rem,7vw,7.2rem);line-height:.92;letter-spacing:-.052em;margin:0;max-width:11ch}.home-message h1 em,.page-hero h1 em{font-style:normal;color:var(--ink);font-weight:300}.lead{font-size:clamp(1.05rem,1.6vw,1.28rem);max-width:720px;margin:34px 0 0}.home-links{background:var(--rose-panel);color:#fff;display:grid;grid-template-rows:repeat(4,1fr)}.home-link{padding:28px clamp(28px,4vw,52px);border-bottom:1px solid rgba(255,255,255,.18);text-decoration:none;display:flex;align-items:center;justify-content:space-between;gap:20px;transition:background .2s,color .2s}.home-link:hover{background:var(--green-dark);color:#fff}.home-link:last-child{border:0}.home-link span{font-size:clamp(1.45rem,2.5vw,2.3rem);letter-spacing:-.03em}.home-link small{display:block;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;opacity:.62}.home-link b{font-size:1.5rem;font-weight:100}
.page-hero{padding:clamp(80px,10vw,150px) 0 clamp(65px,8vw,110px);border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(3.2rem,6vw,6.4rem);max-width:13ch}.page-hero .lead{max-width:760px}.section{padding:clamp(72px,9vw,120px) 0;border-bottom:1px solid var(--line)}.section.rose{background:var(--rose-soft)}.section.green{background:var(--green);color:var(--paper)}.section-head{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;margin-bottom:60px}.section-head h2,.copy h2{font-weight:100;font-size:clamp(2.5rem,4.8vw,5rem);line-height:.98;letter-spacing:-.045em;margin:0}.section-head p{font-size:1.12rem;max-width:650px;margin:8px 0 0}
.clarity{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;padding:clamp(34px,5vw,64px);background:var(--paper);border:1px solid rgba(146,86,99,.28);box-shadow:inset 5px 0 0 var(--rose-deep)}.clarity h2{font-size:clamp(2.6rem,4.5vw,4.7rem);font-weight:100;margin:26px 0 18px}.clarity p{max-width:650px;color:#555650}.clarity ul{list-style:none;margin:0;padding:0;display:grid;align-content:center}.clarity li{padding:14px 0;border-bottom:1px solid var(--line)}.clarity li:first-child{border-top:1px solid var(--line)}.path-label{display:flex;align-items:center;gap:18px;margin:34px 0 18px;color:var(--rose-deep);font-size:.72rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.path-label:before,.path-label:after{content:"";height:1px;background:rgba(146,86,99,.35);flex:1}.offers{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(146,86,99,.28);border:1px solid rgba(146,86,99,.28)}.offers-followup{grid-template-columns:repeat(2,1fr)}.offer{padding:38px 32px;background:#fff9f9;box-shadow:inset 0 5px 0 var(--rose);min-height:420px}.offer-num,.label{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--rose-deep);font-weight:500}.offer h2{font-size:2.3rem;font-weight:300;margin:48px 0 18px}.offer p{color:#555650}.offer ul{padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.offer li{border:1px solid var(--line);padding:7px 10px;font-size:.8rem;background:rgba(255,255,255,.45)}.note{max-width:850px;margin:34px 0 0;color:#555650}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.step{padding:30px;background:var(--paper);min-height:220px}.step b{color:var(--rose-deep);font-size:.76rem;letter-spacing:.12em}.step h3{font-weight:300;font-size:1.4rem;margin:34px 0 12px}.step p{font-size:.92rem;margin:0}
.case-intro,.about-grid,.contact-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:8vw;align-items:start}.case-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(41,42,40,.25);border:1px solid rgba(41,42,40,.25);margin-top:58px}.case-card{background:#eae3da;padding:30px;min-height:250px}.case-card h3{font-weight:300;font-size:1.65rem;margin:48px 0 14px}.case-story{display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw;align-items:start;margin:85px 0 34px}.case-story h2{font-weight:100;font-size:clamp(2.1rem,4vw,4rem);line-height:1;letter-spacing:-.04em;margin:12px 0 0}.case-story p{max-width:680px;margin:0 0 18px}.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.visual{margin:0;overflow:hidden;background:#ddd}.visual img{width:100%;height:100%;object-fit:cover}.visual.wide{grid-column:span 12;aspect-ratio:16/9}.visual.half{grid-column:span 6;aspect-ratio:4/3}.visual figcaption{position:absolute;left:-9999px}.testimonial{font-size:clamp(1.45rem,2.4vw,2.15rem);line-height:1.3;margin:0}
.project-entry{display:grid;grid-template-columns:1.25fr .75fr;min-width:0;color:inherit;border:1px solid var(--line);background:var(--rose-soft);transition:transform .25s ease,box-shadow .25s ease}.project-entry:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(41,42,40,.09)}.project-image{min-height:520px;overflow:hidden;background:#ddd}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.project-entry:hover .project-image img{transform:scale(1.015)}.project-copy{min-width:0;padding:clamp(34px,5vw,64px);display:flex;flex-direction:column;justify-content:center}.project-copy h2{font-weight:100;font-size:clamp(2.6rem,4.5vw,4.8rem);line-height:.98;letter-spacing:-.045em;margin:36px 0 22px}.project-copy p{color:#555650;overflow-wrap:break-word;hyphens:manual}.project-link{margin-top:48px;font-weight:500}.project-link b{color:var(--rose-deep);margin-left:6px}.project-coming{margin-top:28px;padding:24px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px}.project-coming p{margin:0;color:#666}.back-link{text-decoration:underline;text-underline-offset:4px}
.about-visual{position:relative;padding:0 13% 15% 0}.about-full{width:100%;aspect-ratio:2/3;object-fit:cover}.about-portrait{position:absolute;right:0;bottom:0;width:45%;aspect-ratio:2/3;object-fit:cover;border:10px solid var(--rose-soft);box-shadow:0 16px 42px rgba(41,42,40,.12)}.statement{font-size:1.4rem;line-height:1.3;margin:38px 0 0;max-width:21ch}.copy h2{margin-bottom:32px}.facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:34px}.fact{border-top:1px solid var(--line);padding-top:16px}.fact strong{display:block;font-size:1.28rem;font-weight:500}
.voices{padding:clamp(54px,7vw,84px) 0;border-bottom:1px solid var(--line);box-shadow:inset 8px 0 0 var(--rose);background:var(--rose-soft)}.voices .kicker{margin-bottom:32px}.voice-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,84px)}.voice{margin:0}.voice blockquote{margin:0;font-size:clamp(1.35rem,2.25vw,2rem);line-height:1.35;letter-spacing:-.02em}.voice figcaption{margin-top:22px;font-size:.74rem;text-transform:uppercase;letter-spacing:.11em;color:#666}
.contact-grid h2{font-weight:100;font-size:clamp(2.8rem,5vw,5.2rem);line-height:.98;letter-spacing:-.045em;margin:0}.direct{display:flex;gap:18px;flex-wrap:wrap;margin-top:25px}.form{display:grid;gap:13px}.form label{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em}.form input,.form textarea{width:100%;border:0;border-bottom:1px solid rgba(248,244,236,.65);background:transparent;color:var(--paper);padding:11px 0 13px;font:inherit}.form textarea{min-height:130px}.form button{margin-top:12px;border:0;background:var(--paper);color:var(--green);padding:15px 20px;font-weight:500;cursor:pointer}.form button:disabled{opacity:.65;cursor:wait}.form-status{min-height:1.4em;margin:4px 0 0;font-weight:500}.form-note{font-size:.74rem;opacity:.75}
.legal-hero{padding-bottom:clamp(50px,6vw,80px)}.legal-hero h1{max-width:none}.legal-copy{max-width:820px}.legal-copy h2{font-size:clamp(1.5rem,2.5vw,2.2rem);font-weight:300;margin:52px 0 16px}.legal-copy h2:first-child{margin-top:0}.legal-copy p{color:#555650}.legal-status{margin-top:60px;font-size:.8rem}.form-note a{text-decoration:underline;text-underline-offset:3px}
footer{padding:28px 0;background:var(--ink);color:#d4d0c9}.foot{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.77rem}.foot-brand{display:flex;align-items:center;gap:14px}.foot-logo{width:42px;height:38px;object-fit:contain;filter:invert(1);opacity:.9}.foot-links{display:flex;gap:16px;flex-wrap:wrap}.legal-note{padding-top:20px;font-size:.72rem;color:#888}.mobile-break{display:none}
@media(max-width:900px){.home-main{grid-template-columns:1fr}.home-message{min-height:70vh}.home-links{grid-template-rows:none;grid-template-columns:1fr 1fr}.offers,.steps,.case-cards,.clarity,.project-entry{grid-template-columns:1fr}.project-image{min-height:auto;aspect-ratio:16/10}.offer{min-height:auto}.section-head,.case-intro,.about-grid,.contact-grid,.case-story{grid-template-columns:1fr}.about-visual{max-width:620px;margin:0 auto 60px}}
@media(max-width:700px){.nav-toggle{display:block}.navlinks{display:none;position:absolute;left:0;right:0;top:68px;background:var(--paper);padding:22px 24px 28px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}.navlinks.open{display:flex}nav{min-height:68px}.brand img{width:57px;height:48px}.shell{width:min(var(--max),calc(100% - 32px))}.home-message{padding:68px 24px;min-width:0}.home-message h1{font-size:clamp(2.55rem,12vw,3rem)}.page-hero h1{font-size:clamp(2.55rem,12vw,3rem)}.home-message h1,.page-hero h1,.section-head h2,.clarity h2,.offer h2,.copy h2,.project-copy h2,.case-story h2,.contact-grid h2{max-width:100%;overflow-wrap:normal;word-break:normal;hyphens:manual}.clarity h2{line-height:.98}.mobile-break{display:inline}.lead{max-width:100%;overflow-wrap:break-word}.home-links{grid-template-columns:1fr}.home-link{min-height:126px}.gallery{gap:10px}.visual.half{grid-column:span 12;aspect-ratio:16/10}.facts,.voice-grid{grid-template-columns:1fr}.voice-grid{gap:38px}.about-portrait{border-width:6px}.foot{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
