@font-face{font-family:"PPNeueMachina";src:url("/_astro/fonts/42f2ebafcdaaa05b.woff2") format("woff2");font-display:swap;font-weight:300}
@font-face{font-family:"PPNeueMachina";src:url("/_astro/fonts/bf9988b34912f264.woff2") format("woff2");font-display:swap;font-weight:800}
@font-face{font-family:"HelveticaNeueChesa";src:url("/_astro/fonts/2697e19cf6136e3f.woff2") format("woff2");font-display:swap;font-weight:500}
@font-face{font-family:"HelveticaNeueChesa";src:url("/_astro/fonts/dd0513744807dcd7.woff2") format("woff2");font-display:swap;font-weight:700}
:root{--paper:#f2efe7;--white:#fff;--ink:#0e0d0d;--hair:#d7d1c6;--hair-dark:#2a2825;--warm:#8a6a45;--muted:#68645c;--display:"PPNeueMachina","Helvetica Neue",sans-serif;--sans:"HelveticaNeueChesa","Helvetica Neue",sans-serif;--serif:Georgia,"Iowan Old Style",serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
:focus-visible{outline:2px solid var(--warm);outline-offset:3px}
.skip{position:absolute;left:-9999px;z-index:500;background:var(--ink);color:#fff;padding:12px 18px}.skip:focus{left:0}
.container{width:min(100% - 64px,1360px);margin-inline:auto}
.eyebrow{margin:0 0 14px;color:var(--warm);font:700 .69rem/1 var(--sans);letter-spacing:.23em;text-transform:uppercase}
.eyebrow .slash{margin:0 8px;color:#aaa39a}
h1,h2,h3{margin:0;font-family:var(--display);font-weight:800;line-height:.94;letter-spacing:-.02em;text-transform:uppercase}
h1{font-size:clamp(3.1rem,8vw,8.6rem);max-width:11ch}
h2{font-size:clamp(2rem,5vw,5.4rem)}
h3{font-size:clamp(1.35rem,2.3vw,2.5rem)}
.site-header{position:sticky;top:0;z-index:200;background:rgba(14,13,13,.97);border-bottom:1px solid var(--hair-dark);backdrop-filter:blur(12px)}
.header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding-block:14px}
.brand{display:inline-flex;align-items:center;color:#fff;font:800 .95rem/1 var(--display);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.brand::before{content:"";width:7px;height:7px;margin-right:9px;border-radius:50%;background:var(--warm)}
.nav{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;color:#cfccc3;font-size:.69rem;letter-spacing:.15em;text-transform:uppercase}
.nav a:hover,.nav a[aria-current="page"]{color:#fff}
.phone{padding:11px 16px;background:#fff;color:var(--ink);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.hero{position:relative;min-height:92svh;display:flex;align-items:flex-end;overflow:hidden;background:#1b1916;color:#fff}
.hero-image{position:absolute;inset:0;height:100%;object-fit:cover;transform:scale(1.015)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,9,8,.08),rgba(10,9,8,.22) 44%,rgba(10,9,8,.88))}
.hero-copy{position:relative;z-index:1;padding-block:clamp(90px,13vw,180px) 64px}
.hero .eyebrow{color:#e8e2d7}
.hero-lede{max-width:62ch;margin:24px 0 0;font:clamp(1.04rem,1.45vw,1.28rem)/1.62 var(--serif);color:#f2eee7}
.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:30px}
.button{display:inline-flex;align-items:center;min-height:48px;padding:14px 22px;border:1px solid var(--ink);background:var(--ink);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;cursor:pointer}
.button.light{border-color:#fff;background:#fff;color:var(--ink)}
.text-link{padding-block:10px;border-bottom:1px solid currentColor;font-size:.72rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.facts{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--hair);background:#fff}
.fact{min-height:150px;padding:30px;border-right:1px solid var(--hair)}
.fact:last-child{border-right:0}
.fact b{display:block;margin-bottom:10px;font:800 clamp(1.35rem,2vw,2rem)/1 var(--display);text-transform:uppercase}
.fact span{color:var(--muted);font:1rem/1.45 var(--serif)}
.intro{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(50px,8vw,130px);padding-block:clamp(80px,11vw,150px)}
.intro h2{max-width:12ch}
.intro-copy{align-self:end}
.intro-copy p{margin:0 0 22px;font:clamp(1.08rem,1.3vw,1.25rem)/1.7 var(--serif)}
.frame{position:relative;overflow:hidden;background:#171512}
.frame img{height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.6,.2,1)}
.frame:hover img{transform:scale(1.025)}
.collage{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:47vw 30vw;max-height:1120px;gap:2px;background:var(--ink)}
.collage .wide{grid-row:1/3}
.collage-caption{position:absolute;left:18px;bottom:16px;color:#fff;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 1px 10px #000}
.offerings{padding-block:clamp(80px,10vw,140px);background:var(--ink);color:#fff}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;padding-bottom:28px;border-bottom:1px solid var(--hair-dark)}
.section-head p{max-width:52ch;margin:0;color:#c9c4ba;font-family:var(--serif)}
.offering-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:46px;border:1px solid var(--hair-dark)}
.offering{display:flex;flex-direction:column;min-height:620px;padding:clamp(28px,4vw,58px);border-right:1px solid var(--hair-dark)}
.offering:last-child{border-right:0}
.offering h3{max-width:10ch;margin-bottom:26px}
.offering p{max-width:48ch;color:#cbc6bd;font:1.06rem/1.65 var(--serif)}
.offering ul{margin:24px 0 34px;padding:0;list-style:none;border-top:1px solid var(--hair-dark)}
.offering li{padding:12px 0;border-bottom:1px solid var(--hair-dark);color:#eee9df;font-size:.84rem;letter-spacing:.07em;text-transform:uppercase}
.offering .button{margin-top:auto;align-self:flex-start;background:#fff;color:var(--ink);border-color:#fff}
.story{display:grid;grid-template-columns:1fr 1fr;min-height:76vh;background:#fff}
.story:nth-child(even) .story-image{order:2}
.story:nth-child(even) .story-copy{order:1}
.story-image{overflow:hidden;background:#1a1815}
.story-image img{height:100%;min-height:560px;object-fit:cover}
.story-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,7vw,110px)}
.story-copy p{max-width:50ch;margin:20px 0 0;color:var(--muted);font:1.08rem/1.7 var(--serif)}
.gallery-section{padding-block:clamp(70px,9vw,130px)}
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px;margin-top:44px}
.gallery-grid figure{grid-column:span 4;margin:0;overflow:hidden;background:#d7d1c6}
.gallery-grid figure:nth-child(5n+1),.gallery-grid figure:nth-child(5n+4){grid-column:span 8}
.gallery-grid img{aspect-ratio:4/3;object-fit:cover;transition:transform .7s ease}
.gallery-grid figure:nth-child(5n+1) img,.gallery-grid figure:nth-child(5n+4) img{aspect-ratio:2/1}
.gallery-grid figure:hover img{transform:scale(1.02)}
.inquiry{padding-block:clamp(80px,10vw,140px);background:#fff}
.inquiry-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,8vw,130px)}
.inquiry-copy p{max-width:48ch;color:var(--muted);font:1.08rem/1.7 var(--serif)}
.form{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px;padding:clamp(26px,4vw,48px);border:1px solid var(--hair);background:var(--paper)}
.field{display:flex;flex-direction:column;gap:7px}.field.wide{grid-column:1/-1}
.field label{font-size:.67rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.field input,.field select,.field textarea{width:100%;padding:13px 14px;border:1px solid var(--hair);border-radius:0;background:#fff;color:var(--ink);font-family:var(--serif)}
.field textarea{min-height:130px;resize:vertical}
.check{grid-column:1/-1;display:flex;gap:10px;align-items:flex-start;color:var(--muted);font: .92rem/1.45 var(--serif)}
.check input{margin-top:4px}.form .button{grid-column:1/-1;justify-content:center}
.form-note{grid-column:1/-1;margin:0;color:var(--muted);font:.88rem/1.5 var(--serif)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.legal-note{padding:26px 0;border-top:1px solid var(--hair);color:var(--muted);font:.84rem/1.6 var(--serif)}
.footer{padding:70px 0 28px;background:var(--ink);color:#aaa69d}
.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:40px;margin-bottom:44px}
.footer h3{color:#fff;font-size:1.5rem}.footer h4{margin:0 0 12px;color:#fff;font-size:.69rem;letter-spacing:.2em;text-transform:uppercase}
.footer p{max-width:34ch;font-family:var(--serif)}.footer a{display:block;padding:4px 0}.footer a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:20px;border-top:1px solid var(--hair-dark);font-size:.69rem;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:1050px){.header-inner{grid-template-columns:auto auto}.nav{grid-column:1/-1;order:3;justify-content:flex-start}.facts{grid-template-columns:repeat(3,1fr)}.fact:nth-child(3){border-right:0}.intro,.inquiry-layout{grid-template-columns:1fr}.offering{min-height:560px}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.container{width:min(100% - 40px,1360px)}.site-header{position:relative}.header-inner{grid-template-columns:1fr}.phone{display:none}.nav{order:0;gap:13px;font-size:.64rem}.hero{min-height:82svh}.hero-image{object-position:42% center}.facts{grid-template-columns:1fr 1fr}.fact{min-height:125px;padding:22px}.fact:nth-child(2n){border-right:0}.fact:last-child{grid-column:1/-1}.collage{grid-template-columns:1fr;grid-template-rows:68vw 58vw 58vw;max-height:none}.collage .wide{grid-row:auto}.section-head{display:block}.section-head p{margin-top:20px}.offering-grid,.story{grid-template-columns:1fr}.offering{min-height:auto;border-right:0;border-bottom:1px solid var(--hair-dark)}.offering .button{margin-top:20px}.story:nth-child(even) .story-image,.story:nth-child(even) .story-copy{order:initial}.story-image img{min-height:360px}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid figure,.gallery-grid figure:nth-child(5n+1),.gallery-grid figure:nth-child(5n+4){grid-column:span 1}.gallery-grid figure:nth-child(5n+1) img,.gallery-grid figure:nth-child(5n+4) img{aspect-ratio:4/3}.form{grid-template-columns:1fr}.field.wide,.check,.form .button,.form-note{grid-column:1}.footer-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:no-preference){.reveal.in{animation:reveal .75s cubic-bezier(.2,.6,.2,1) both}.hero-copy>*{animation:rise .8s both}.hero-copy>*:nth-child(2){animation-delay:.1s}.hero-copy>*:nth-child(3){animation-delay:.2s}.hero-copy>*:nth-child(4){animation-delay:.3s}@keyframes reveal{from{opacity:.25;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}}
