
:root{--ink:#241b22;--plum:#4b1731;--plum-deep:#321020;--coral:#ed6d5f;--mist:#e6e9e8;--paper:#f5f2ed;--white:#fffdfa;--blue:#697c8b;--line:rgba(36,27,34,.22);--pad:clamp(1.25rem,4vw,4.5rem)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:7rem}
body{margin:0;min-width:320px;color:var(--ink);background:var(--paper);font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif;font-size:1rem;line-height:1.55;-webkit-font-smoothing:antialiased}
img{display:block;width:100%;max-width:100%}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:3px solid var(--coral);outline-offset:4px}
.skip-link{position:fixed;z-index:100;top:.5rem;left:.5rem;padding:.75rem 1rem;color:#fff;background:var(--plum);transform:translateY(-140%)}
.skip-link:focus{transform:translateY(0)}
.demo-bar{min-height:28px;padding:.35rem var(--pad);color:rgba(255,255,255,.86);background:var(--plum-deep);font-size:.69rem;letter-spacing:.07em;text-align:center;text-transform:uppercase}
.site-header{position:relative;z-index:10;display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr);align-items:center;min-height:76px;padding:0 var(--pad);border-bottom:1px solid var(--line);background:var(--paper)}
.wordmark{display:inline-flex;align-items:center;gap:.75rem;width:fit-content;font-size:.78rem;font-weight:800;letter-spacing:.05em;line-height:1.05;text-transform:uppercase}
.wordmark-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid currentColor;border-radius:50%;font-size:.68rem}
.main-nav{display:flex;gap:clamp(1.25rem,3vw,3.4rem);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.main-nav a,.text-link,.inline-call{border-bottom:1px solid transparent}
.main-nav a:hover,.text-link:hover,.inline-call:hover{border-color:currentColor}
.header-call{justify-self:end;display:inline-flex;align-items:center;justify-content:center;gap:.75rem;min-height:46px;padding:.6rem 1rem;color:var(--white);background:var(--plum);font-size:.79rem;font-weight:800;letter-spacing:.04em}
.hero{position:relative;display:grid;grid-template-columns:minmax(0,43%) minmax(0,57%);min-height:calc(100svh - 104px);max-height:850px;overflow:hidden;background:var(--paper)}
.hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:clamp(3rem,7vh,6rem) clamp(2rem,5vw,5.5rem) clamp(4rem,8vh,7rem) var(--pad)}
.eyebrow{display:flex;align-items:center;gap:1rem;margin:0 0 1.6rem;color:var(--plum);font-size:.73rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.eyebrow span+span{display:flex;align-items:center;gap:1rem}
.eyebrow span+span:before{width:38px;height:1px;background:var(--coral);content:""}
h1,h2{margin:0;font-weight:850;letter-spacing:-.055em;line-height:.94}
h1{max-width:8.5ch;font-size:clamp(3.55rem,5.8vw,6.1rem)}
.hero-intro{max-width:35rem;margin:1.8rem 0 0;color:#554c52;font-family:"Helvetica Neue",Arial,sans-serif;font-size:clamp(1rem,1.25vw,1.17rem);line-height:1.65}
.hero-actions{display:flex;align-items:center;gap:1.5rem;margin-top:2rem}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-height:50px;padding:.85rem 1.2rem;font-size:.76rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.button-primary{min-width:185px;color:#fff;background:var(--plum)}
.text-link,.inline-call{display:inline-flex;align-items:center;gap:.7rem;min-height:44px;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.hero-visual{position:relative;min-width:0;margin:0;background:#897b75}
.hero-visual img{height:100%;object-fit:cover;object-position:61% center}
figcaption{position:absolute;right:.9rem;bottom:.7rem;padding:.25rem .45rem;color:rgba(255,255,255,.94);background:rgba(36,27,34,.7);font-size:.63rem;letter-spacing:.05em}
.hero-thread{position:absolute;z-index:3;bottom:0;left:var(--pad);width:calc(43% - var(--pad));border-bottom:1px dashed var(--coral);color:var(--plum)}
.hero-thread span{position:absolute;right:0;bottom:.55rem;font-size:.72rem;font-weight:800}
.intro-section{display:grid;grid-template-columns:minmax(155px,.55fr) minmax(0,1.6fr) minmax(260px,.85fr);gap:clamp(2rem,5vw,6rem);padding:clamp(6rem,11vw,10rem) var(--pad);background:var(--white)}
.chapter-label{display:flex;align-items:flex-start;gap:1rem;padding-top:.65rem;font-size:.7rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.chapter-label span:first-child{display:inline-grid;flex:0 0 auto;place-items:center;width:38px;height:22px;border:1px solid var(--coral);color:var(--plum)}
.chapter-label:after{flex:1;min-width:20px;margin-top:.72rem;border-top:1px dashed currentColor;opacity:.35;content:""}
.intro-heading h2{max-width:12ch;font-size:clamp(2.8rem,5vw,5.7rem)}
.intro-copy{align-self:end;min-width:0;font-family:"Helvetica Neue",Arial,sans-serif}
.intro-copy p{margin:0 0 1.35rem;color:#5a5056;line-height:1.75}
.inline-call{color:var(--plum);font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif}
.work-section{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(390px,.65fr);min-height:760px;color:var(--white);background:var(--plum)}
.work-photo{position:relative;min-width:0;min-height:620px;margin:0}
.work-photo img{height:100%;object-fit:cover;object-position:center}
.work-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:clamp(4rem,7vw,7rem) var(--pad)}
.chapter-label-light span:first-child{color:var(--white)}
.work-copy .kicker{margin:clamp(3.5rem,7vh,6rem) 0 1.2rem;color:#f3b8af;font-size:.73rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.work-copy h2{max-width:9ch;font-size:clamp(3rem,4.5vw,5.3rem)}
.work-copy>p:not(.kicker){max-width:35rem;margin:1.8rem 0 2.6rem;color:rgba(255,255,255,.76);font-family:"Helvetica Neue",Arial,sans-serif;line-height:1.7}
.facts{border-top:1px solid rgba(255,255,255,.28)}
.facts>div{display:grid;grid-template-columns:34px 1fr;gap:0 .9rem;padding:1.05rem 0;border-bottom:1px solid rgba(255,255,255,.28)}
.fact-index{grid-row:1/span 2;color:var(--coral);font-weight:800}
.facts strong{font-size:.9rem}
.facts small{color:rgba(255,255,255,.58);font-family:"Helvetica Neue",Arial,sans-serif}
.detail-section{position:relative;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(3rem,8vw,8rem);align-items:center;padding:clamp(6rem,10vw,10rem) calc(var(--pad) + 2.5rem) clamp(6rem,10vw,10rem) var(--pad);background:var(--mist)}
.detail-copy{min-width:0}
.detail-copy h2{max-width:10ch;margin-top:clamp(3rem,6vw,6rem);font-size:clamp(3.1rem,5.8vw,6.3rem)}
.detail-copy>p{max-width:35rem;margin:1.8rem 0 2rem;color:#574e54;font-family:"Helvetica Neue",Arial,sans-serif;line-height:1.75}
.button-outline{min-width:200px;border:1px solid var(--plum);color:var(--plum)}
.detail-photo{position:relative;min-width:0;margin:0}
.detail-photo img{aspect-ratio:1;object-fit:cover}
.vertical-note{position:absolute;top:50%;right:.55rem;margin:0;color:var(--blue);font-size:.62rem;font-weight:800;letter-spacing:.16em;writing-mode:vertical-rl;transform:translateY(-50%)}
.contact-section{padding:clamp(4rem,7vw,7rem) var(--pad);color:var(--white);background:var(--plum-deep)}
.contact-top{display:flex;justify-content:space-between;align-items:start}
.contact-top .chapter-label{width:min(360px,44%)}
.contact-top>p{margin:0;color:#f3b8af;font-size:.71rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.contact-main{display:grid;grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr);gap:clamp(2rem,7vw,8rem);align-items:end;margin:clamp(4rem,8vw,8rem) 0 4rem}
.contact-main h2{max-width:8ch;font-size:clamp(3.1rem,6.2vw,7rem)}
.contact-call{display:grid;grid-template-columns:1fr auto;gap:.5rem;min-width:0;padding:1.25rem 0 .8rem;border-top:1px solid rgba(255,255,255,.55);border-bottom:1px solid rgba(255,255,255,.55)}
.contact-call-label{grid-column:1/-1;color:#f3b8af;font-size:.7rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.contact-number{min-width:0;font-size:clamp(2rem,4.5vw,4.8rem);font-weight:850;letter-spacing:-.045em;line-height:1}
.contact-arrow{align-self:end;color:var(--coral);font-size:2.3rem;line-height:1}
address{display:flex;gap:2rem;padding-top:1.5rem;border-top:1px dashed rgba(255,255,255,.3);font-family:"Helvetica Neue",Arial,sans-serif;font-size:.82rem;font-style:normal}
footer{display:grid;grid-template-columns:1fr auto auto;gap:2rem;align-items:end;padding:2.5rem var(--pad);background:var(--paper);font-size:.68rem;letter-spacing:.05em;text-transform:uppercase}
footer p{margin:0}footer p:last-child{color:#6c6268;text-align:right}
@media(max-width:980px){
.site-header{grid-template-columns:1fr auto}.main-nav{display:none}
.hero{grid-template-columns:1fr;grid-template-rows:auto minmax(260px,38vh);min-height:auto;max-height:none}
.hero-copy{padding-top:clamp(2.8rem,7vw,4.5rem);padding-bottom:3rem}
h1{max-width:12ch;font-size:clamp(3.6rem,9vw,5.8rem)}
.hero-visual{min-height:260px}.hero-visual img{object-position:64% 54%}.hero-thread{display:none}
.intro-section{grid-template-columns:minmax(130px,.4fr) minmax(0,1.4fr)}
.intro-section>.chapter-label{grid-column:1/-1}
.intro-heading{grid-column:2}
.intro-copy{grid-column:2;max-width:38rem}
.work-section{grid-template-columns:1fr}.work-photo{min-height:520px}.work-copy{padding-top:4.5rem;padding-bottom:4.5rem}
.detail-section{gap:3.2rem}.contact-main{grid-template-columns:1fr}
}
@media(max-width:640px){
:root{--pad:1.15rem}html{scroll-padding-top:5.5rem}
.demo-bar{min-height:24px;font-size:.56rem;letter-spacing:.05em}
.site-header{min-height:62px}.wordmark{gap:.5rem;font-size:.67rem}.wordmark-mark{width:36px;height:36px}
.header-call{width:44px;height:44px;padding:0}.call-label{position:absolute;overflow:hidden;width:1px;height:1px;clip-path:inset(50%);white-space:nowrap}
.hero{grid-template-rows:auto 220px}.hero-copy{justify-content:flex-start;padding-top:2.2rem;padding-bottom:2.15rem}
.eyebrow{gap:.65rem;margin-bottom:1.05rem;font-size:.62rem;letter-spacing:.09em}.eyebrow span+span{gap:.65rem}.eyebrow span+span:before{width:22px}
h1{max-width:none;font-size:clamp(2.85rem,13.1vw,3.35rem);line-height:.96}
.hero-intro{margin-top:1rem;font-size:.91rem;line-height:1.5}.hero-actions{gap:.9rem;margin-top:1.25rem}
.button{min-height:46px;padding:.7rem .9rem}.button-primary{min-width:154px}.text-link{font-size:.66rem}
figcaption{max-width:calc(100% - 1.2rem);right:.6rem;bottom:.5rem;font-size:.55rem}
.intro-section{grid-template-columns:1fr;gap:2rem;padding-top:4.8rem;padding-bottom:5rem}.intro-heading,.intro-copy{grid-column:auto}
.intro-heading h2{font-size:clamp(2.65rem,12vw,3.5rem)}.chapter-label{padding:0}
.work-section{min-height:0}.work-photo{min-height:335px}.work-photo img{object-position:56% center}
.work-copy{padding-top:3.8rem;padding-bottom:4.2rem}.work-copy .kicker{margin-top:3rem}.work-copy h2{max-width:10ch;font-size:3.25rem}
.detail-section{grid-template-columns:1fr;padding:4.8rem var(--pad)}.detail-copy h2{margin-top:3rem;font-size:3.45rem}
.detail-photo{margin-top:.5rem}.vertical-note{display:none}
.contact-section{padding-top:4.4rem;padding-bottom:4.5rem}.contact-top .chapter-label{width:68%}
.contact-main{gap:2.5rem;margin:4rem 0 3.5rem}.contact-main h2{max-width:9ch;font-size:3.7rem}
.contact-number{font-size:clamp(2rem,10vw,2.8rem)}address{flex-direction:column;gap:.15rem}
footer{grid-template-columns:1fr;align-items:start;padding-top:2.8rem;padding-bottom:2.8rem}
footer p:last-child{text-align:left}
}
@media(max-width:380px){
h1{font-size:2.65rem}.hero-actions{align-items:flex-start;flex-direction:column}.hero{grid-template-rows:auto 200px}.contact-main h2{font-size:3.25rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
