:root{--bg:#0a0a0a;--fg:#f2efe9;--mute:#9a968e;--line:#2a2927;--gold:#b08d57;color-scheme:dark;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bg);color:var(--fg);font:300 17px/1.6 Jost,"Helvetica Neue",Arial,sans-serif}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:rgba(10,10,10,.94);z-index:41}
body.noscroll{overflow:hidden}
a{color:inherit;text-decoration:none}
.wrap{max-width:1100px;margin:0 auto;padding:0 24px}
.topo{position:fixed;inset:0;z-index:-1;pointer-events:none;background:url(/assets/topo.svg) center/cover no-repeat}

/* menu */
.bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:rgba(10,10,10,.94);border-bottom:1px solid var(--line)}
.bar .in{display:flex;justify-content:space-between;align-items:center;height:64px}
.brand{font:400 15px/1 Jost,sans-serif;letter-spacing:.42em;text-transform:uppercase}
.menu{display:flex;align-items:center;gap:30px;font-size:12px;letter-spacing:.22em;text-transform:uppercase}
.menu a{padding:6px 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.menu a:hover{color:var(--gold)}
.menu a[aria-current="page"]{border-bottom-color:var(--gold)}
.menu a.cta{border:1px solid var(--gold);color:var(--gold);padding:10px 18px}
.menu a.cta[aria-current="page"]{background:var(--gold);color:#0a0a0a}
.burger{display:none;width:44px;height:44px;margin-right:-10px;background:none;border:0;cursor:pointer;position:relative;color:var(--fg)}
.burger span{position:absolute;left:11px;right:11px;height:1px;background:currentColor;transition:transform .25s,top .25s}
.burger span:nth-child(1){top:18px}.burger span:nth-child(2){top:26px}
.burger[aria-expanded="true"] span:nth-child(1){top:22px;transform:rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){top:22px;transform:rotate(-45deg)}
@media(max-width:860px){
.burger{display:block}
.menu{display:none;position:fixed;left:0;right:0;bottom:0;top:calc(env(safe-area-inset-top,0px) + 65px);flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;padding:28px 24px;background:rgba(10,10,10,.985);overflow-y:auto}
.menu.open{display:flex}
.menu a{font:300 40px/1.1 "Cormorant Garamond",Georgia,serif;letter-spacing:0;text-transform:none;padding:14px 0;width:100%;border-bottom:1px solid var(--line)}
.menu a[aria-current="page"]{color:var(--gold);border-bottom-color:var(--line)}
.menu a.cta{border:0;padding:14px 0;color:var(--gold)}
.menu a.cta[aria-current="page"]{background:none;color:var(--gold)}
}

/* views */
main{animation:fade .45s ease both}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){main{animation:none}}
.page-head{padding-top:12vh;padding-bottom:0}
section{padding:12vh 0;border-top:1px solid var(--line)}
main>section:first-child,main>.page-head+section{border-top:0}
.page-head+section{padding-top:6vh}

.hero{padding:6vh 0 12vh}
.logo{width:150px;height:150px;border-radius:50%;display:block;margin-bottom:48px}
.eyebrow{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:14px}
.eyebrow::before{content:"";width:40px;border-top:1px solid var(--gold)}
h1{font:300 clamp(46px,9vw,112px)/.98 "Cormorant Garamond",Georgia,serif;margin:24px 0 28px;letter-spacing:-.01em}
h1 em,h2 em,h1.t em{color:var(--mute)}
.lead{max-width:520px;color:var(--mute);font-size:19px}
.btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.btn{font-size:12px;letter-spacing:.22em;text-transform:uppercase;padding:16px 26px;border:1px solid var(--line);background:rgba(10,10,10,.6)}
.btn:hover{border-color:var(--gold)}
.btn.gold{background:var(--gold);border-color:var(--gold);color:#0a0a0a;font-weight:500}
h2,h1.t{font:300 clamp(34px,5.5vw,64px)/1.05 "Cormorant Garamond",Georgia,serif;margin:14px 0 56px;max-width:760px}
.steps{display:grid;gap:1px;background:var(--line);grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.step{background:rgba(10,10,10,.92);padding:36px 28px 40px}
.step small{color:var(--gold);letter-spacing:.3em;font-size:11px;text-transform:uppercase}
.step h3{font:400 30px/1.1 "Cormorant Garamond",Georgia,serif;margin:12px 0 4px}
.step p.sub{margin:0 0 18px;color:var(--mute);font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.step ul{list-style:none;margin:0;padding:0}
.step li{padding:9px 0;border-top:1px solid var(--line);font-size:16px}
.step li::before{content:"✓";color:var(--gold);margin-right:10px}
.vals{display:grid;gap:44px 40px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.vals h3{font:400 13px/1 Jost,sans-serif;letter-spacing:.26em;text-transform:uppercase;margin:0 0 10px;color:var(--gold)}
.vals p{margin:0;color:var(--mute)}

.tiles{display:grid;gap:1px;background:var(--line);grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.tile{background:rgba(10,10,10,.92);padding:32px 26px 36px;display:block;transition:background .2s}
.tile:hover{background:#141413}
.tile small{color:var(--gold);letter-spacing:.3em;font-size:11px;text-transform:uppercase}
.tile h3{font:400 32px/1.1 "Cormorant Garamond",Georgia,serif;margin:12px 0 8px}
.tile p{margin:0 0 18px;color:var(--mute);font-size:15px}
.tile span{color:var(--gold);font-size:20px}

.filters{display:flex;flex-wrap:wrap;gap:10px;margin:-20px 0 34px}
.filters button{font:400 12px/1 Jost,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--mute);background:rgba(10,10,10,.6);border:1px solid var(--line);padding:12px 18px;cursor:pointer}
.filters button:hover{color:var(--fg)}
.filters button[aria-pressed="true"]{color:#0a0a0a;background:var(--gold);border-color:var(--gold)}
.gal{columns:3 260px;column-gap:14px}.gal figure{break-inside:avoid;margin:0 0 14px;position:relative;cursor:zoom-in;border:1px solid var(--line)}.gal figure[hidden]{display:none}.gal img{width:100%;display:block}.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 12px;background:linear-gradient(transparent,rgba(0,0,0,.8));font-size:11px;letter-spacing:.2em;text-transform:uppercase}
.lb{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;padding:20px;cursor:zoom-out}.lb.on{display:flex}.lb img{max-width:100%;max-height:100%;object-fit:contain}

.posts{display:grid;gap:1px;background:var(--line);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.post{background:rgba(10,10,10,.92);padding:32px 28px}
.post small{color:var(--gold);letter-spacing:.26em;font-size:11px;text-transform:uppercase}
.post h3{font:400 28px/1.15 "Cormorant Garamond",Georgia,serif;margin:12px 0 14px}
.post p{color:var(--mute);margin:0 0 12px;font-size:16px}
details{border-top:1px solid var(--line);padding:22px 0}
details:last-of-type{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;font:400 26px/1.25 "Cormorant Garamond",Georgia,serif}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";float:right;color:var(--gold);margin-left:16px}
details[open] summary::after{content:"–"}
details>p{color:var(--mute);margin:14px 0 0;max-width:680px}
.post details{border:0;padding:0}
.post summary{font:400 12px Jost,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--fg)}

.about{display:grid;gap:56px;grid-template-columns:1fr}
@media(min-width:860px){.about{grid-template-columns:1.3fr 1fr;align-items:start}}
.about p{color:var(--mute);margin:0 0 20px;max-width:560px}
.about .logo{width:min(260px,70%);height:auto;aspect-ratio:1;margin:0}

.contact{text-align:center}
.contact h2,.contact h1.t{margin-left:auto;margin-right:auto}
.contact .big{display:block;font:300 clamp(28px,5vw,52px)/1.3 "Cormorant Garamond",Georgia,serif;overflow-wrap:anywhere}
.contact .big:hover{color:var(--gold)}
.contact .note{color:var(--mute);font-size:15px;margin:28px auto 0;max-width:460px}

footer{padding:36px 0 48px;border-top:1px solid var(--line);color:var(--mute);font-size:12px;letter-spacing:.2em;text-transform:uppercase;text-align:center;background:rgba(10,10,10,.6)}
footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;margin-bottom:22px}
footer nav a:hover{color:var(--gold)}

.steps,.tiles,.posts{background:none;gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.step,.tile,.post{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
@media(min-width:900px){.steps.six{grid-template-columns:repeat(3,1fr)}}
@media(min-width:700px){.posts.four{grid-template-columns:repeat(2,1fr)}}
.gal img{height:auto}.logo{height:auto}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:#0a0a0a;padding:10px 16px;z-index:100}.skip:focus{left:8px;top:8px}
.prose{max-width:680px;margin:0 auto}.prose h2{font-family:Cormorant Garamond,serif;font-weight:300;font-size:30px;margin:2em 0 .5em}.prose p,.prose li{color:#cdc9c1;font-size:18px;line-height:1.75}.prose ul{padding-left:1.2em}.prose h1.t{margin:.3em 0 .5em}.lede{font-size:21px!important;color:#e8e4dc!important}.more{color:var(--gold);font-size:13px;letter-spacing:.18em;text-transform:uppercase}.posts .post h3 a:hover{color:var(--gold)}.morelist{list-style:none;padding:0}.morelist a{color:var(--gold)}.cta-block{margin-top:56px;padding-top:32px;border-top:1px solid var(--line)}
.crumbs{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin:0 0 18px}.crumbs a:hover{color:var(--gold)}
