:root{
  --ink:#f5f2ea;--deep:#efebe0;--surf:#ffffff;--raised:#faf8f2;
  --rim:#ded7c4;--rim2:#cfc6ac;
  --b:#a87d3a;--b2:#8a6520;--bw:rgba(168,125,58,.08);
  --parch:#1a1917;--ivory:#2a2620;--st:#6b6455;--st2:#4a4438;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;background:#f5f2ea;}
body{background:#f5f2ea !important;color:#2a2620;font-family:'Jost',sans-serif;font-weight:300;line-height:1.75;overflow-x:hidden;}
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:9997;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E");}
.page{display:none;min-height:100vh;background:#f5f2ea;}.page.active{display:block;background:#f5f2ea;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:500;padding:1.8rem 6vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid transparent;transition:background .5s,border-color .5s;}
nav.s{background:rgba(245,242,234,.95);border-color:var(--rim);backdrop-filter:blur(24px);}
.logo{font-family:'Libre Caslon Display',serif;font-style:normal;font-size:1.5rem;color:var(--b);cursor:pointer;display:flex;align-items:center;gap:.7rem;}
.logo span{font-style:normal;font-family:'DM Mono',monospace;font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;color:var(--st);}
.nav-l{display:flex;list-style:none;}
.nav-l a{font-family:'DM Mono',monospace;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--st);text-decoration:none;padding:.5rem 1.3rem;transition:color .2s;cursor:pointer;text-shadow:0 1px 8px rgba(245,242,234,.9),0 1px 2px rgba(245,242,234,.9);}
.nav-l a:hover,.nav-l a.on{color:var(--b);}
.nbtn{font-family:'DM Mono',monospace;font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:var(--b);border:none;padding:.75rem 1.8rem;cursor:pointer;transition:background .2s,transform .15s;}
.nbtn:hover{background:var(--b2);transform:translateY(-1px);}

/* FLOAT */

/* BTNS */
.bb{font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:var(--b);border:none;padding:1.05rem 2.5rem;cursor:pointer;transition:background .2s,transform .15s;display:inline-block;text-decoration:none;}
.bb:hover{background:var(--b2);transform:translateY(-1px);}
.bo{font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--st2);background:transparent;border:1px solid var(--rim2);padding:1.05rem 2.5rem;cursor:pointer;transition:color .2s,border-color .2s;display:inline-block;text-decoration:none;}
.bo:hover{color:var(--ivory);border-color:var(--st);}

/* SHARED TYPOGRAPHY */
.ey{font-family:'DM Mono',monospace;font-size:.54rem;letter-spacing:.28em;text-transform:uppercase;color:var(--b);margin-bottom:1.4rem;display:flex;align-items:center;gap:1rem;}
.ey::after{content:'';flex:0 0 28px;height:1px;background:var(--b);opacity:.5;}
.disp{font-family:'Libre Caslon Display',serif;font-weight:400;font-size:clamp(2.8rem,5.5vw,6rem);line-height:1.0;color:var(--parch);margin-bottom:1.4rem;letter-spacing:-.01em;}
.disp em{font-style:italic;color:var(--b);}
.bl{font-size:1.05rem;color:var(--st2);line-height:1.85;max-width:520px;}

/* REVEAL */
.r{opacity:0;transform:translateY(22px);transition:opacity .9s ease,transform .9s ease;}
.r.in{opacity:1;transform:none;}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}

/* HERO */
.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;text-align:right;padding:10rem 6vw 6rem;position:relative;overflow:hidden;}
.hero-photo{position:absolute;inset:0;background-size:cover;background-position:15% 40%;filter:contrast(1.04) brightness(.97) saturate(.92);opacity:.96;}
.hero-photo::after{content:'';}
.hero-photo-fallback{display:none;}
.hero-overlay{position:absolute;inset:0;background:
  linear-gradient(255deg,#f5f2ea 0%,rgba(245,242,234,.82) 30%,rgba(245,242,234,.62) 46%,rgba(245,242,234,.4) 60%,rgba(245,242,234,.12) 76%,transparent 92%),
  linear-gradient(to top,#f5f2ea 0%,rgba(245,242,234,.45) 12%,transparent 28%);
}
.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at 72% 40%,rgba(184,154,106,.055) 0%,transparent 65%),radial-gradient(ellipse 35% 50% at 10% 80%,rgba(184,154,106,.03) 0%,transparent 55%);}
@media(max-width:900px){
  .hero-photo{opacity:.35;}
  .hero-overlay{background:linear-gradient(to bottom,rgba(245,242,234,.55) 0%,#f5f2ea 55%,#f5f2ea 100%);}
}
.threshold-mark{position:absolute;right:-4%;top:8%;height:88%;width:auto;color:var(--b);opacity:.05;pointer-events:none;z-index:1;}
@media(max-width:900px){.threshold-mark{display:none;}}
.h-over{position:relative;z-index:2;font-family:'DM Mono',monospace;font-size:.56rem;letter-spacing:.28em;text-transform:uppercase;color:var(--st);margin-bottom:2.5rem;display:flex;align-items:center;justify-content:flex-end;gap:1.2rem;animation:fu .9s ease both;text-shadow:0 1px 12px rgba(245,242,234,.9);}
.h-over::before{content:'';width:28px;height:1px;background:var(--b);opacity:.6;}
.h1{position:relative;z-index:2;font-family:'Libre Caslon Display',serif;font-size:clamp(4rem,8.5vw,9.5rem);font-weight:400;line-height:.91;letter-spacing:-.02em;color:var(--parch);margin-bottom:3rem;animation:fu .9s .1s ease both;text-shadow:0 2px 30px rgba(245,242,234,.95),0 2px 10px rgba(245,242,234,.95),0 0 60px rgba(245,242,234,.7);}
.h1 em{font-style:italic;color:var(--b);display:block;}
.h1 .lt{font-weight:300;color:var(--st2);}
.h-row{position:relative;z-index:2;display:grid;grid-template-columns:auto 1fr;gap:6rem;align-items:start;animation:fu .9s .2s ease both;}
.h-desc{font-size:1rem;color:var(--st2);max-width:400px;line-height:1.85;margin-bottom:2.2rem;}
.h-acts{display:flex;gap:1rem;flex-wrap:wrap;}
.h-aside{border-left:1px solid var(--rim);padding-left:3rem;display:flex;flex-direction:column;gap:1.8rem;}
.a-lbl{font-family:'DM Mono',monospace;font-size:.5rem;letter-spacing:.22em;text-transform:uppercase;color:var(--st);margin-bottom:.3rem;}
.a-val{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:300;color:var(--b);line-height:1;}
.a-sub{font-size:.76rem;color:var(--st);margin-top:.2rem;}

/* MARQUEE */
.mq{border-top:1px solid var(--rim);border-bottom:1px solid var(--rim);padding:.9rem 0;overflow:hidden;background:#efebe0;}
.mq-i{display:flex;white-space:nowrap;animation:mq 32s linear infinite;}
.mq-i i{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:.95rem;font-weight:300;color:var(--st);padding:0 3rem;letter-spacing:.04em;}
.mq-i i b{color:var(--b);font-weight:400;font-style:normal;margin-right:2.5rem;}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* PHILOSOPHY */
.phil{padding:9rem 6vw;}
.phil-g{display:grid;grid-template-columns:1fr 1fr;gap:8rem;align-items:start;margin-top:5rem;}
.pq{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.6rem,2.8vw,2.6rem);font-weight:300;color:var(--parch);line-height:1.45;margin-bottom:2rem;}
.pq em{font-style:normal;color:var(--b);}
.pa{font-family:'DM Mono',monospace;font-size:.54rem;letter-spacing:.2em;text-transform:uppercase;color:var(--st);display:flex;align-items:center;gap:1rem;}
.pa::before{content:'';width:22px;height:1px;background:var(--b);opacity:.5;}
.pill{display:grid;grid-template-columns:3rem 1fr;gap:1.2rem;padding:2rem 0;border-bottom:1px solid var(--rim);}
.pill:first-child{border-top:1px solid var(--rim);}
.pill-n{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:2rem;font-weight:300;color:var(--b);opacity:.35;line-height:1;padding-top:.1rem;}
.pill-t{font-size:.9rem;font-weight:500;color:var(--parch);margin-bottom:.4rem;}
.pill-d{font-size:.88rem;color:var(--st2);line-height:1.75;}

/* AI */
.ai{padding:9rem 6vw;background:#efebe0;}
.ai-g{display:grid;grid-template-columns:1fr 1fr;gap:7rem;align-items:center;margin-top:5rem;}
.mock{background:#ffffff;border:1px solid var(--rim);position:relative;overflow:hidden;}
.mock::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--b),transparent);}
.mbar{background:#efebe0;border-bottom:1px solid var(--rim);padding:.8rem 1.4rem;display:flex;align-items:center;gap:.5rem;}
.md{width:7px;height:7px;border-radius:50%;}
.mbar-t{flex:1;text-align:center;font-family:'DM Mono',monospace;font-size:.53rem;letter-spacing:.14em;text-transform:uppercase;color:var(--st);}
.mbody{padding:1.8rem;}
.mu{border:1px dashed var(--rim2);padding:1.5rem;text-align:center;margin-bottom:1.5rem;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1rem;color:var(--st);}
.mf{display:flex;align-items:center;justify-content:space-between;background:#faf8f2;border:1px solid var(--rim);padding:.85rem 1.1rem;margin-bottom:.6rem;font-size:.78rem;}
.mf-l{color:var(--st2);}
.chip{font-family:'DM Mono',monospace;font-size:.5rem;letter-spacing:.12em;text-transform:uppercase;padding:.22rem .6rem;border:1px solid;}
.cr{color:#c87070;border-color:rgba(200,112,112,.25);background:rgba(200,112,112,.06);}
.cy{color:#c4a055;border-color:rgba(196,160,85,.25);background:rgba(196,160,85,.06);}
.cg{color:#72ae85;border-color:rgba(114,174,133,.25);background:rgba(114,174,133,.06);}
.ms{margin-top:1.2rem;background:var(--bw);border:1px solid rgba(184,154,106,.15);padding:1.1rem 1.3rem;}
.ms-l{font-family:'DM Mono',monospace;font-size:.5rem;letter-spacing:.18em;text-transform:uppercase;color:var(--b);margin-bottom:.5rem;}
.ms-t{font-size:.78rem;color:var(--st2);line-height:1.65;}
.ai-fs{display:flex;flex-direction:column;gap:2rem;margin-top:3rem;}
.af{display:flex;gap:1.4rem;align-items:flex-start;}
.af-i{width:40px;height:40px;flex-shrink:0;border:1px solid var(--rim2);background:var(--bw);display:flex;align-items:center;justify-content:center;font-size:1rem;}
.af-t{font-size:.9rem;font-weight:400;color:var(--parch);margin-bottom:.3rem;}
.af-b{font-size:.85rem;color:var(--st2);line-height:1.7;}

/* TESTIMONIALS */
.tst{padding:9rem 6vw;}
.tr{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rim);margin-top:5rem;align-items:start;}
.tc{background:#ffffff;padding:3rem 2.5rem;position:relative;}
.tc:nth-child(2){margin-top:2.5rem;}
.tc:nth-child(3){margin-top:5rem;}
@media(max-width:900px){.tc:nth-child(2),.tc:nth-child(3){margin-top:0;}}
.tc-b{font-size:.92rem;color:var(--st2);line-height:1.8;margin-bottom:0;position:relative;z-index:1;}
.tc-n{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:500;color:var(--parch);margin-bottom:1rem;line-height:1.2;}
.tc-r{font-family:'DM Mono',monospace;font-size:.54rem;letter-spacing:.2em;text-transform:uppercase;color:var(--b);margin-bottom:.9rem;}
.logos{display:flex;align-items:center;justify-content:center;gap:4rem;padding:2.8rem 0;flex-wrap:wrap;border-top:1px solid var(--rim);margin-top:3rem;}
.li{font-family:'Cormorant Garamond',serif;font-size:.9rem;letter-spacing:.12em;color:var(--st);opacity:.38;transition:opacity .25s;font-style:italic;}
.li:hover{opacity:.7;}

/* NEWSLETTER */
.nl{background:#efebe0;border-top:1px solid var(--rim);padding:5rem 6vw;display:flex;align-items:center;justify-content:space-between;gap:3rem;flex-wrap:wrap;}
.nl-t{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:400;color:var(--parch);margin-bottom:.4rem;}
.nl-s{font-size:.85rem;color:var(--st2);}
.nl-f{display:flex;}
.nl-in{background:#ffffff;border:1px solid var(--rim2);border-right:none;padding:.95rem 1.5rem;font-family:'Jost',sans-serif;font-size:.85rem;color:var(--ivory);outline:none;width:280px;}
.nl-in::placeholder{color:var(--st);}
.nl-in:focus{border-color:var(--b);}
.nl-btn{font-family:'DM Mono',monospace;font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:var(--b);border:none;padding:.95rem 1.4rem;cursor:pointer;}
.nl-btn:hover{background:var(--b2);}

/* CTA BAND */
.ctab{padding:9rem 6vw;text-align:center;position:relative;overflow:hidden;}
.ctab::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 55% 70% at 50% 50%,rgba(184,154,106,.055) 0%,transparent 65%);}
.ctab .ey{justify-content:center;}.ctab .ey::after{display:none;}
.ctab .disp{max-width:700px;margin:0 auto 1.2rem;}
.ctab .bl{margin:0 auto 2.8rem;text-align:center;}
.cta-acts{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;position:relative;z-index:1;}

/* ABOUT */
.ab-hero{padding:11rem 6vw 6rem;border-bottom:1px solid var(--rim);position:relative;overflow:hidden;}
.ab-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 40% 60% at 18% 55%,rgba(184,154,106,.04) 0%,transparent 65%);}
.ab-g{display:grid;grid-template-columns:1.1fr 1fr;gap:7rem;align-items:center;position:relative;z-index:1;}
.bio{background:#ffffff;border:1px solid var(--rim);padding:3rem;position:relative;}
.bio::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--b),transparent 70%);}
.bio-av{width:44px;height:1px;background:var(--b);opacity:.5;margin-bottom:1.8rem;}
.bio-n{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:500;color:var(--parch);margin-bottom:.2rem;}
.bio-ti{font-family:'DM Mono',monospace;font-size:.54rem;letter-spacing:.18em;text-transform:uppercase;color:var(--b);margin-bottom:1.8rem;}
.bio-c{font-size:.85rem;color:var(--st2);padding:.65rem 0;border-bottom:1px solid var(--rim);display:flex;gap:.8rem;align-items:flex-start;}
.bio-c::before{content:'—';color:var(--b);flex-shrink:0;opacity:.6;}
.bio-c:last-child{border-bottom:none;}
.about-sec{padding:7rem 6vw;}.about-sec.alt{background:#efebe0;}
.qps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rim);margin-top:4rem;}
.qp{background:#ffffff;padding:3rem 2.5rem;transition:background .3s;}
.qp:hover{background:#faf8f2;}
.qp-n{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:4rem;font-weight:300;color:var(--b);opacity:.18;line-height:1;margin-bottom:1.5rem;}
.qp-t{font-size:.9rem;font-weight:500;color:var(--parch);margin-bottom:.6rem;}
.qp-b{font-size:.85rem;color:var(--st2);line-height:1.75;}
.miss{padding:8rem 6vw;text-align:center;max-width:780px;margin:0 auto;}
.mq2{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.6rem,2.8vw,2.5rem);font-weight:300;color:var(--parch);line-height:1.5;margin-bottom:2rem;}
.mq2 em{font-style:normal;color:var(--b);}
.mat{font-family:'DM Mono',monospace;font-size:.53rem;letter-spacing:.2em;text-transform:uppercase;color:var(--st);}

/* SERVICES */
.sv-hero{padding:11rem 6vw 6rem;border-bottom:1px solid var(--rim);}
.pr-g{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rim);margin-top:4rem;}
.pc{background:#ffffff;padding:3.5rem 2.8rem;position:relative;display:flex;flex-direction:column;}
.pc.feat{background:#faf8f2;transform:scale(1.04);position:relative;z-index:1;box-shadow:0 30px 60px -30px rgba(26,25,23,.18);}
@media(max-width:900px){.pc.feat{transform:none;}}
.pc.feat::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--b);}
.pc-badge{font-family:'DM Mono',monospace;font-size:.5rem;letter-spacing:.18em;text-transform:uppercase;color:#fff;background:var(--b);padding:.28rem .7rem;display:inline-block;margin-bottom:1.2rem;}
.pc-track{font-family:'DM Mono',monospace;font-size:.48rem;letter-spacing:.22em;text-transform:uppercase;color:var(--b);margin-bottom:1.1rem;}
@media(min-width:901px){.pc.split::after{content:'';position:absolute;top:2rem;bottom:2rem;right:-1px;width:1px;background:var(--rim2);z-index:2;}}
.pc-tier{font-family:'DM Mono',monospace;font-size:.53rem;letter-spacing:.2em;text-transform:uppercase;color:var(--st);margin-bottom:.5rem;}
.pc-p{font-family:'Cormorant Garamond',serif;font-size:4.2rem;font-weight:300;color:var(--parch);line-height:1;margin-bottom:.2rem;}
.pc-p sup{font-size:1.8rem;vertical-align:super;font-weight:300;}
.pc-from{font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--st);vertical-align:middle;margin-right:.15rem;}
.pc-per{font-size:.74rem;color:var(--st);margin-bottom:2.2rem;}
.pr-terms{font-size:.78rem;color:var(--st);line-height:1.75;max-width:760px;margin-top:2.2rem;opacity:.9;}
.pc-repl{font-size:.72rem;color:var(--st);line-height:1.55;margin-top:-1.6rem;margin-bottom:2.2rem;opacity:.85;}
.pc-hr{border:none;border-top:1px solid var(--rim);margin:1.5rem 0;}
.pc-ai{display:flex;align-items:center;gap:.5rem;font-family:'DM Mono',monospace;font-size:.5rem;letter-spacing:.14em;text-transform:uppercase;color:var(--b);background:var(--bw);border:1px solid rgba(184,154,106,.18);padding:.5rem .9rem;margin-bottom:1.8rem;}
.nw{display:grid;grid-template-columns:1.15fr 1fr;gap:5rem;align-items:start;}
.nw-l{list-style:none;margin-top:1.6rem;}
.nw-l li{font-size:.88rem;color:var(--st2);padding:.6rem 0;border-bottom:1px solid var(--rim);display:flex;gap:.9rem;line-height:1.6;}
.nw-l li:last-child{border-bottom:none;}
.nw-l li::before{content:'\2014';color:var(--b);opacity:.6;flex-shrink:0;}
.nw-note{background:var(--bw);border:1px solid rgba(168,125,58,.22);padding:1.8rem;margin-top:2.4rem;}
.nw-note .lbl{font-family:'DM Mono',monospace;font-size:.5rem;letter-spacing:.22em;text-transform:uppercase;color:var(--b);margin-bottom:.9rem;}
.nw-note .big{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:400;color:var(--parch);line-height:1.45;margin-bottom:.9rem;}
.nw-note p{font-size:.82rem;color:var(--st);line-height:1.8;}
@media(max-width:900px){.nw{grid-template-columns:1fr;gap:2.5rem;}}
.pc-for{font-size:.82rem;color:var(--st);line-height:1.6;margin-top:.5rem;}
.pc-fs{list-style:none;flex:1;margin-bottom:2.5rem;}
.pc-fs li{font-size:.85rem;color:var(--st2);padding:.55rem 0;border-bottom:1px solid rgba(0,0,0,.06);display:flex;gap:.8rem;align-items:flex-start;line-height:1.6;}
.pc-fs li::before{content:'—';color:var(--b);opacity:.6;flex-shrink:0;}
.co-g{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rim);margin-top:4rem;}
.cc{background:#ffffff;padding:3.5rem;position:relative;overflow:hidden;}
.cc::before{content:'';position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--b);transform:scaleY(0);transition:transform .4s ease;transform-origin:top;}
.cc:hover::before{transform:scaleY(1);}
.cc-ic{font-size:1.8rem;margin-bottom:1.5rem;}
.cc-t{font-family:'Libre Caslon Display',serif;font-size:2.2rem;font-weight:400;color:var(--parch);margin-bottom:.4rem;}
.cc-p{font-family:'DM Mono',monospace;font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;color:var(--b);margin-bottom:1.2rem;}
.cc-b{font-size:.88rem;color:var(--st2);line-height:1.8;}

/* PORTAL */
.po-hero{padding:11rem 6vw 6rem;border-bottom:1px solid var(--rim);}
.pmock{background:#ffffff;border:1px solid var(--rim);max-width:920px;margin:4rem auto 0;overflow:hidden;position:relative;}
.pmock::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--b),transparent);}
.ptop{background:#efebe0;border-bottom:1px solid var(--rim);padding:.85rem 1.6rem;display:flex;align-items:center;justify-content:space-between;}
.ptop-t{font-family:'DM Mono',monospace;font-size:.53rem;letter-spacing:.18em;text-transform:uppercase;color:var(--st);}
.pst{font-family:'DM Mono',monospace;font-size:.5rem;letter-spacing:.14em;color:#72ae85;display:flex;align-items:center;gap:.4rem;}
.pst::before{content:'●';animation:blink 2s infinite;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}
.pbody{display:grid;grid-template-columns:210px 1fr;}
.psb{border-right:1px solid var(--rim);padding:1.5rem 0;}
.pni{display:flex;align-items:center;gap:.75rem;padding:.7rem 1.5rem;font-size:.78rem;color:var(--st2);cursor:pointer;transition:color .2s,background .2s;}
.pni.on{color:var(--b);background:var(--bw);}
.pni:hover{color:var(--ivory);}
.pm{padding:2rem;}
.pcards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;}
.pcard{background:#faf8f2;border:1px solid var(--rim);padding:1.2rem;}
.pcard-n{font-family:'Cormorant Garamond',serif;font-size:2.4rem;font-weight:300;color:var(--b);line-height:1;}
.pcard-l{font-size:.68rem;color:var(--st2);margin-top:.3rem;}
.ctr{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;background:#faf8f2;border:1px solid var(--rim);margin-bottom:.5rem;font-size:.78rem;}
.ctr-n{color:var(--ivory);}
.ctr-d{color:var(--st);font-family:'DM Mono',monospace;font-size:.54rem;}
.tgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--rim);margin-top:4rem;}
.tool{background:#ffffff;padding:3rem;position:relative;transition:background .3s;}
.tool:hover{background:#faf8f2;}
.tool-b{position:absolute;top:2rem;right:2rem;font-family:'DM Mono',monospace;font-size:.48rem;letter-spacing:.14em;text-transform:uppercase;color:var(--b);border:1px solid rgba(184,154,106,.2);padding:.2rem .55rem;}
.tool-ic{font-size:1.6rem;margin-bottom:1.2rem;}
.tool-t{font-size:.9rem;font-weight:500;color:var(--parch);margin-bottom:.5rem;}
.tool-d{font-size:.85rem;color:var(--st2);line-height:1.75;}

/* RESOURCES */
.rs-hero{padding:11rem 6vw 6rem;border-bottom:1px solid var(--rim);}
.agrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rim);margin-top:4rem;}
.art{background:#ffffff;padding:2.8rem;cursor:pointer;transition:background .25s;position:relative;overflow:hidden;}
.art:hover{background:#faf8f2;}
.art::after{content:'↗';position:absolute;top:1.8rem;right:1.8rem;color:var(--st);font-size:.8rem;transition:color .2s,transform .2s;}
.art:hover::after{color:var(--b);transform:translate(2px,-2px);}
.art-c{font-family:'DM Mono',monospace;font-size:.5rem;letter-spacing:.2em;text-transform:uppercase;color:var(--b);margin-bottom:1rem;}
.art-t{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:500;color:var(--parch);line-height:1.3;margin-bottom:.8rem;}
.art-b{font-size:.85rem;color:var(--st2);line-height:1.75;margin-bottom:1.5rem;}
.art-m{font-family:'DM Mono',monospace;font-size:.5rem;letter-spacing:.14em;text-transform:uppercase;color:var(--st);}
.lead-sec{padding:7rem 6vw;background:#efebe0;text-align:center;}
.lbox{background:#ffffff;border:1px solid var(--rim);padding:4.5rem;max-width:580px;margin:0 auto;position:relative;}
.lbox::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--b);}
.lbox-t{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:2rem;font-weight:400;color:var(--parch);margin-bottom:.6rem;}
.lbox-s{font-size:.85rem;color:var(--st2);margin-bottom:2.2rem;line-height:1.7;}
.lf{display:flex;gap:0;max-width:400px;margin:0 auto;}

/* CONTACT */
.ct-hero{padding:11rem 6vw 6rem;border-bottom:1px solid var(--rim);}
.ct-g{display:grid;grid-template-columns:1fr 1.2fr;gap:7rem;padding:7rem 6vw;align-items:start;}
.cdet{display:flex;gap:1.3rem;align-items:flex-start;padding:1.6rem 0;border-bottom:1px solid var(--rim);}
.cdet:first-of-type{border-top:1px solid var(--rim);}
.cico{width:38px;height:38px;flex-shrink:0;border:1px solid var(--rim2);background:var(--bw);display:flex;align-items:center;justify-content:center;font-size:.9rem;}
.c-lbl{font-family:'DM Mono',monospace;font-size:.5rem;letter-spacing:.18em;text-transform:uppercase;color:var(--st);margin-bottom:.3rem;}
.c-val{font-size:.88rem;color:var(--ivory);}
.cal-b{background:#ffffff;border:1px solid var(--rim);padding:3rem;text-align:center;margin-top:2.5rem;position:relative;}
.cal-b::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--b),transparent);}
.cal-t{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:400;color:var(--parch);margin-bottom:.5rem;}
.cal-s{font-size:.8rem;color:var(--st2);margin-bottom:1.8rem;line-height:1.6;}
.cf{display:flex;flex-direction:column;gap:1.3rem;}
.cfr{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.cfg{display:flex;flex-direction:column;gap:.4rem;}
.cf-l{font-family:'DM Mono',monospace;font-size:.5rem;letter-spacing:.18em;text-transform:uppercase;color:var(--st);}
.cf-i,.cf-s,.cf-ta{background:#ffffff;border:1px solid var(--rim2);padding:.95rem 1.2rem;font-family:'Jost',sans-serif;font-size:.85rem;color:var(--ivory);outline:none;transition:border-color .2s;width:100%;}
.cf-i::placeholder,.cf-ta::placeholder{color:var(--st);}
.cf-i:focus,.cf-s:focus,.cf-ta:focus{border-color:var(--b);}
.cf-s{appearance:none;cursor:pointer;}
.cf-ta{resize:vertical;min-height:130px;}
.cf-note{font-family:'DM Mono',monospace;font-size:.5rem;letter-spacing:.14em;color:var(--st);text-transform:uppercase;text-align:center;margin-top:.5rem;}

/* FOOTER */
footer{background:#efebe0;border-top:1px solid var(--rim);padding:5rem 6vw 2.5rem;}
.ft-t{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:5rem;padding-bottom:3.5rem;border-bottom:1px solid var(--rim);margin-bottom:2rem;}
.ft-brand{font-family:'Libre Caslon Display',serif;font-style:normal;font-size:1.7rem;font-weight:400;color:var(--b);margin-bottom:.8rem;}
.ft-d{font-size:.85rem;color:var(--st2);line-height:1.8;max-width:280px;margin-bottom:1.8rem;}
.ft-ig{display:inline-flex;align-items:center;gap:.6rem;margin-bottom:1.8rem;font-family:'DM Mono',monospace;font-size:.55rem;letter-spacing:.16em;text-transform:uppercase;color:var(--st);text-decoration:none;transition:color .2s;}
.ft-ig svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;}
.ft-ig:hover{color:var(--b);}
.ft-ch{font-family:'DM Mono',monospace;font-size:.5rem;letter-spacing:.22em;text-transform:uppercase;color:var(--st);margin-bottom:1.3rem;}
.ft-ls{list-style:none;display:flex;flex-direction:column;gap:.7rem;}
.ft-ls a{font-size:.85rem;color:var(--st2);text-decoration:none;transition:color .2s;cursor:pointer;}
.ft-ls a:hover{color:var(--b);}
.ft-b{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;}
.ft-copy{font-family:'DM Mono',monospace;font-size:.5rem;letter-spacing:.14em;text-transform:uppercase;color:var(--st);}
.ft-leg{display:flex;gap:2rem;list-style:none;}
.ft-leg a{font-family:'DM Mono',monospace;font-size:.48rem;letter-spacing:.14em;text-transform:uppercase;color:var(--st);text-decoration:none;}
.ft-leg a:hover{color:var(--st2);}
.ft-legal{font-family:'Inter',sans-serif;font-size:.68rem;line-height:1.6;color:var(--st);border-top:1px solid var(--rim);padding-top:1.2rem;margin-top:1.6rem;max-width:64rem;}

@keyframes fu{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

@media(max-width:900px){
  nav{padding:1.2rem 5vw;}.nav-l{display:none;}
  .h-row,.phil-g,.ai-g,.ab-g,.pr-g,.co-g,.tgrid,.ct-g,.cfr,.tr,.agrid,.qps{grid-template-columns:1fr;}
  .h-aside{border-left:none;border-top:1px solid var(--rim);padding:2rem 0 0;flex-direction:row;flex-wrap:wrap;gap:2rem;}
  .pbody{grid-template-columns:1fr;}.psb{display:none;}
  .ft-t{grid-template-columns:1fr 1fr;}
    .hero{padding:8rem 6vw 4rem;}
  .ct-g,.phil,.ai,.tst{padding-left:5vw;padding-right:5vw;}
}

.login-card{position:relative;z-index:2;background:rgba(255,255,255,.94);border:1px solid var(--rim);border-radius:4px;padding:3rem 2.8rem 2.4rem;max-width:30rem;width:92%;box-shadow:0 30px 60px -20px rgba(0,0,0,.25);}
.login-form{display:flex;flex-direction:column;text-align:left;margin-top:1.6rem;}
.login-lbl{font-family:'DM Mono',monospace;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--st2);margin:.9rem 0 .35rem;}
.login-lbl:first-child{margin-top:0;}
.login-inp{font-family:'Inter',sans-serif;font-size:.95rem;padding:.75rem .9rem;border:1px solid var(--rim);border-radius:3px;background:#fff;color:var(--parch);}
.login-inp:focus{outline:none;border-color:var(--b);}
.login-note{margin-top:1.3rem;font-size:.8rem;color:var(--st2);text-align:center;}

@keyframes cfflash{0%,100%{border-color:var(--rim2);box-shadow:none;}25%,75%{border-color:var(--b);box-shadow:0 0 0 3px rgba(168,125,58,.14);}}
.cf-flash{animation:cfflash 1.9s ease;}
.ic{width:17px;height:17px;display:block;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;}
.af-i,.cico{color:var(--b);}
.cc-ic .ic{width:22px;height:22px;}
.bio-lead{font-size:.9rem;color:var(--st2);line-height:1.8;margin-bottom:1.8rem;}
.nl-status{font-family:'DM Mono',monospace;font-size:.48rem;letter-spacing:.14em;text-transform:uppercase;color:var(--st);margin-top:.45rem;min-height:.8rem;}
.nl-status.err{color:#c87070;}.nl-status.ok{color:#5f9c76;}
.cf-status{font-family:'DM Mono',monospace;font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;text-align:center;line-height:1.7;min-height:1rem;}
.cf-status.err{color:#c87070;}
.cf-status.ok{color:#5f9c76;}
.pay-block{margin-top:2rem;padding-top:1.6rem;border-top:1px solid var(--rim);text-align:center;}
.pay-lbl{font-family:'DM Mono',monospace;font-size:.5rem;letter-spacing:.22em;text-transform:uppercase;color:var(--b);margin-bottom:.7rem;}
.pay-txt{font-size:.78rem;color:var(--st2);line-height:1.65;margin-bottom:1.3rem;}
.pay-btn{width:100%;text-align:center;padding:.9rem 1rem;}

/* MOBILE NAV */
.mtog{display:none;background:none;border:none;padding:.45rem .2rem;cursor:pointer;flex-direction:column;justify-content:center;gap:5px;width:30px;}
.mtog span{display:block;height:1px;width:22px;background:var(--st2);transition:transform .32s ease,opacity .2s ease,background .2s;}
.mtog.open span{background:var(--b);}
.mtog.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.mtog.open span:nth-child(2){opacity:0;}
.mtog.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
.mdraw{display:none;}
@media(max-width:900px){
  .mtog{display:flex;}
  .mdraw{display:block;position:fixed;top:0;left:0;right:0;z-index:499;background:rgba(245,242,234,.985);backdrop-filter:blur(24px);border-bottom:1px solid var(--rim);padding:5.4rem 5vw 1.4rem;transform:translateY(-102%);opacity:0;pointer-events:none;transition:transform .38s cubic-bezier(.4,0,.2,1),opacity .28s ease;box-shadow:0 24px 48px -24px rgba(26,25,23,.18);}
  .mdraw.open{transform:translateY(0);opacity:1;pointer-events:auto;}
  .mdraw a{display:flex;align-items:center;justify-content:space-between;font-family:'DM Mono',monospace;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--st2);text-decoration:none;padding:1.05rem .2rem;border-bottom:1px solid var(--rim);cursor:pointer;transition:color .2s;}
  .mdraw a:last-child{border-bottom:none;}
  .mdraw a.on{color:var(--b);}
  .mdraw a::after{content:'\2192';opacity:.35;font-size:.8rem;}
  .mdraw a.on::after{opacity:.7;}
}

.band{position:relative;height:clamp(300px,55vh,600px);background-size:cover;background-position:center 40%;background-repeat:no-repeat;display:flex;align-items:flex-end;}
.band::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(20,18,15,.15) 0%,rgba(20,18,15,0) 40%,rgba(20,18,15,.55) 100%);}
.band-c{position:relative;z-index:2;padding:0 6vw 3.4rem;max-width:1400px;margin:0 auto;width:100%;}
.band-q{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.35rem,3vw,2.1rem);font-weight:300;color:#f5f2ea;line-height:1.4;max-width:640px;text-shadow:0 2px 24px rgba(0,0,0,.5);}
@media(max-width:900px){.band{background-position:center;}}

/* mirrored hero — text left, photo reading right */
.hero.flip{align-items:flex-start;text-align:left;}
.hero.flip .hero-overlay{background:
  linear-gradient(105deg,#f5f2ea 0%,rgba(245,242,234,.82) 30%,rgba(245,242,234,.62) 46%,rgba(245,242,234,.4) 60%,rgba(245,242,234,.12) 76%,transparent 92%),
  linear-gradient(to top,#f5f2ea 0%,rgba(245,242,234,.45) 12%,transparent 28%);}
.hero.flip .hero-bg{background:radial-gradient(ellipse 60% 70% at 28% 40%,rgba(184,154,106,.055) 0%,transparent 65%),radial-gradient(ellipse 35% 50% at 90% 80%,rgba(184,154,106,.03) 0%,transparent 55%);}
.hero.flip .hero.flip .ey{flex-direction:row-reverse;}
@media(max-width:900px){
  .hero.flip .hero-overlay{background:linear-gradient(to bottom,rgba(245,242,234,.55) 0%,#f5f2ea 55%,#f5f2ea 100%);}
}

/* login hero — fields directly on the photo, no panel */
.lg-hero{align-items:stretch;justify-content:flex-end;text-align:left;padding:11rem 6vw 4rem;}
.lg-hero .hero-photo{background-position:28% 42% !important;}
.lg-ovl{background:linear-gradient(to bottom,rgba(245,242,234,0) 0%,rgba(245,242,234,.05) 34%,rgba(245,242,234,.30) 52%,rgba(245,242,234,.72) 66%,rgba(245,242,234,.93) 78%,#f5f2ea 90%);}
.lg-wrap{position:relative;z-index:2;width:100%;max-width:1180px;margin:0 auto;}
.lg-head{margin-bottom:2.4rem;}
.lg-head .h1{color:#16150f;text-shadow:0 2px 22px rgba(245,242,234,.85);}
.lg-head .h-over{color:#3a3428;text-shadow:0 1px 14px rgba(245,242,234,.9);}
.lg-bar{background:none;border:none;box-shadow:none;padding:0;backdrop-filter:none;}
.lg-row{display:flex;gap:2.6rem;align-items:flex-end;}
.lg-fld{flex:1;display:flex;flex-direction:column;min-width:0;}
.lg-fld .login-lbl{margin:0 0 .55rem;color:#3a3428;font-weight:400;}
.lg-fld .login-inp{background:none;border:none;border-bottom:2px solid rgba(58,52,40,.55);border-radius:0;padding:.55rem 0;color:#16150f;font-size:.98rem;transition:border-color .2s;}
.lg-fld .login-inp:focus{outline:none;border-bottom-color:var(--b);}
.lg-fld .login-inp::placeholder{color:rgba(58,52,40,.45);}
.lg-btn{flex:0 0 auto;padding:.85rem 3rem;}
.lg-foot{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:2.2rem;padding-top:1.4rem;border-top:1px solid rgba(58,52,40,.22);}
.lg-note{font-size:.84rem;color:#3a3428;line-height:1.7;max-width:44rem;background:none;border:none;padding:0;margin:0;}
.lg-note a{color:var(--b);text-decoration:underline;}
.lg-sub{flex:0 0 auto;padding:.75rem 1.7rem;border-color:rgba(58,52,40,.4);color:#2a2620;}
@media(max-width:900px){
  .lg-hero{padding:8.5rem 5vw 3rem;}
  .lg-hero .hero-photo{background-position:32% 38% !important;}
  .lg-ovl{background:linear-gradient(to bottom,rgba(245,242,234,.05) 0%,rgba(245,242,234,.45) 34%,rgba(245,242,234,.9) 54%,#f5f2ea 68%);}
  .lg-row{flex-direction:column;align-items:stretch;gap:1.6rem;}
  .lg-btn{width:100%;}
  .lg-foot{flex-direction:column;align-items:stretch;gap:1.2rem;}
  .lg-sub{width:100%;}
}

/* nav legibility over dark heroes */
nav#nav::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;
  background:linear-gradient(to bottom,rgba(245,242,234,.92) 0%,rgba(245,242,234,.62) 55%,rgba(245,242,234,0) 100%);
  transition:opacity .3s;}
nav#nav.s::before{opacity:0;}

/* left-aligned heroes: eyebrow starts at the left edge, not the right */
.hero.flip .h-over,.lg-hero .h-over{justify-content:flex-start;}

/* legal pages */
.lg-page{padding:11rem 6vw 6rem;max-width:820px;margin:0 auto;}
.lg-page h1{font-family:'Libre Caslon Display',serif;font-weight:400;font-size:clamp(2.1rem,4.5vw,3.2rem);line-height:1.1;color:var(--parch);margin-bottom:1rem;}
.lg-date{font-family:'DM Mono',monospace;font-size:.54rem;letter-spacing:.2em;text-transform:uppercase;color:var(--st);margin-bottom:3rem;padding-bottom:1.6rem;border-bottom:1px solid var(--rim);}
.lg-page h2{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:500;color:var(--parch);margin:2.8rem 0 .9rem;}
.lg-page p{font-size:.94rem;color:var(--st2);line-height:1.9;margin-bottom:1.1rem;}
.lg-page ul{list-style:none;margin:0 0 1.3rem;}
.lg-page li{font-size:.94rem;color:var(--st2);line-height:1.8;padding:.45rem 0 .45rem 1.5rem;position:relative;}
.lg-page li::before{content:'\2014';position:absolute;left:0;color:var(--b);opacity:.6;}
.lg-page a{color:var(--b);}
.lg-note{background:var(--bw);border:1px solid rgba(168,125,58,.2);padding:1.5rem 1.7rem;margin:2.4rem 0;font-size:.88rem;color:var(--st2);line-height:1.8;}

/* letter */
.letter-bleed{margin:3.5rem -6vw -6.5rem;}
.letter-bleed img{width:100%;height:auto;display:block;}
@media(max-width:900px){.letter-bleed{margin:2.4rem -5vw -4.5rem;}}
.letter-sec{padding:6.5rem 6vw;background:#efebe0;border-top:1px solid var(--rim);border-bottom:1px solid var(--rim);}
.letter{max-width:980px;margin:0 auto;}
.letter .ey{margin-bottom:1.4rem;}
.letter h2{font-family:'Libre Caslon Display',serif;font-weight:400;font-size:clamp(1.8rem,3.6vw,2.6rem);line-height:1.12;color:var(--parch);margin-bottom:2rem;}
.letter h2 em{font-style:italic;color:var(--b);}
.letter .hand-lead{font-family:'Petit Formal Script',cursive;font-size:clamp(1.5rem,2.8vw,2rem);line-height:1.5;color:var(--b);margin-bottom:2.2rem;padding-bottom:1.8rem;border-bottom:1px solid var(--rim2);}
.letter-photo{width:100%;height:auto;display:block;}
.letter-cols{column-count:2;column-gap:3.4rem;}
.letter p{font-family:'Cormorant Garamond',serif;font-size:1.14rem;font-weight:400;line-height:1.72;color:var(--st2);margin-bottom:1.15rem;break-inside:avoid;}
.letter .sign{margin-top:2.4rem;padding-top:1.6rem;border-top:1px solid var(--rim2);}
.letter .sign-name{font-family:'Petit Formal Script',cursive;font-size:2.2rem;color:var(--b);line-height:1.2;}
.letter .sign-sub{font-family:'DM Mono',monospace;font-size:.54rem;letter-spacing:.2em;text-transform:uppercase;color:var(--st);margin-top:.6rem;}
@media(max-width:900px){
  .letter-sec{padding:4.5rem 5vw;}
  .letter-cols{column-count:1;}
  .letter p{font-size:1.1rem;}
  }

/* who we serve — stack on mobile */
.ws-box{border:1px solid var(--rim);padding:5rem;position:relative;max-width:1100px;margin:0 auto;}
.ws-grid{display:grid;grid-template-columns:1fr 2fr;gap:6rem;align-items:start;}
@media(max-width:900px){
  .ws-box{padding:2.6rem 1.6rem;}
  .ws-grid{grid-template-columns:1fr;gap:2.2rem;}
}
