:root{--bg:hsl(130 26% 13%);--fg:hsl(40 32% 90%);--card:hsl(130 22% 10%);--gold:#B48A52;--gold-hi:#C69D66;--secondary:hsl(130 18% 18%);--muted:hsl(130 15% 17%);--mfg:hsl(37 15% 60%);--border:hsl(130 12% 22%);--serif:"Lora",Georgia,serif;--sans:"DM Sans",-apple-system,sans-serif;--max:80rem;--pad:clamp(1.25rem,4vw,3rem)}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--fg);font-family:var(--sans);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}
::selection{background:var(--gold);color:var(--bg)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.eyebrow{font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:500;display:block;margin-bottom:1.1rem}
.eyebrow.dim{color:var(--mfg)}
h1,h2{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.01em;text-wrap:balance}
h1{font-size:clamp(2.6rem,6.5vw,5.25rem)}h2{font-size:clamp(2rem,4vw,3.25rem)}
h3{font-size:1rem;font-weight:500;line-height:1.35}
em{font-style:italic;color:var(--gold)}
.lead{font-size:1.075rem;color:var(--mfg);max-width:34rem}
.body{color:var(--mfg);max-width:36rem}.body+.body{margin-top:1.25rem}
.small{font-size:.875rem;color:var(--mfg)}
.sec{padding:clamp(5rem,10vw,9rem) 0;border-top:1px solid color-mix(in srgb,var(--border) 60%,transparent);position:relative}
.sec.alt{background:var(--card)}
.ghost{position:absolute;font-family:var(--serif);font-weight:400;line-height:.8;color:var(--fg);opacity:.045;pointer-events:none;user-select:none;white-space:nowrap}
.btn{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2rem;font-size:.875rem;letter-spacing:.03em;border:1px solid transparent;cursor:pointer;font-family:var(--sans);transition:background .3s,border-color .3s;border-radius:2px}
.btn svg{width:16px;height:16px;transition:transform .3s}.btn:hover svg{transform:translateX(4px)}
.btn-gold{background:var(--gold);color:var(--bg);font-weight:500}.btn-gold:hover{background:var(--gold-hi)}
.btn-line{border-color:var(--border);color:var(--fg)}.btn-line:hover{background:var(--secondary)}
.link{color:var(--gold);font-size:.9rem;border-bottom:1px solid transparent;transition:border-color .3s}.link:hover{border-color:var(--gold)}
/* brand */
.brand{display:flex;align-items:center;gap:.8rem;color:var(--gold)}
.brand svg{width:30px;height:30px}
.brand b{font-family:var(--serif);font-weight:400;font-size:1.3rem;color:var(--fg);line-height:1;display:block;letter-spacing:.005em}
.brand small{font-size:.55rem;letter-spacing:.42em;color:var(--mfg);display:block;margin-top:.35rem}
/* nav */
.nav{position:fixed;inset:0 0 auto;z-index:50;height:5rem;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:100%}
.menu{display:flex;gap:2.5rem;list-style:none}
.menu a{font-size:.85rem;color:var(--mfg);transition:color .25s}.menu a:hover,.menu a[aria-current]{color:var(--gold)}
.menu a.pill{border:1px solid var(--border);padding:.55rem 1.1rem;color:var(--fg)}.menu a.pill:hover,.menu a.pill[aria-current]{border-color:var(--gold);color:var(--gold)}
.burger{display:none;background:none;border:0;cursor:pointer;width:40px;height:40px;position:relative;margin-right:-8px}
.burger span{position:absolute;left:9px;right:9px;height:1.5px;background:var(--fg);transition:transform .3s}
.burger span:first-child{top:15px}.burger span:last-child{top:23px}
.burger[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.burger[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.drawer{display:none}
@media (max-width:900px){.menu{display:none}.burger{display:block}
.drawer{display:block;position:fixed;inset:5rem 0 auto;z-index:49;background:var(--bg);border-bottom:1px solid var(--border);padding:.5rem var(--pad) 2rem;transform:translateY(-120%);transition:transform .35s ease}
.drawer.open{transform:none}.drawer a{display:block;padding:1rem 0;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent);font-family:var(--serif);font-size:1.4rem}.drawer a[aria-current]{color:var(--gold)}}
main{padding-top:5rem;min-height:100vh}
/* hero */
.hero{min-height:calc(100vh - 5rem);display:grid;grid-template-columns:1.15fr .85fr;overflow:hidden;position:relative}
.hero .copy{display:flex;flex-direction:column;justify-content:center;padding:6rem var(--pad) 6rem max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));position:relative;z-index:2}
.hero h1{margin-bottom:1.75rem}
.ctas{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.5rem}
.hero .art{position:relative;overflow:hidden}
.hero .art img{width:100%;height:100%;object-fit:cover;filter:saturate(.85)}
.hero .art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 0%,transparent 35%)}
.hero .badge{position:absolute;left:-1px;bottom:3rem;z-index:3;background:var(--bg);border:1px solid var(--border);border-left:0;padding:1.25rem 1.75rem;display:flex;gap:1rem;align-items:center}
.hero .badge b{font-family:var(--serif);font-weight:400;font-size:2.4rem;color:var(--gold);line-height:1}
.hero .badge span{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mfg);line-height:1.6}
@media (max-width:900px){.hero{grid-template-columns:1fr;min-height:0}.hero .copy{padding:4.5rem var(--pad) 3rem}.hero .art{height:52vh}.hero .art::after{background:linear-gradient(180deg,var(--bg) 0%,transparent 30%)}}
.phead{padding:clamp(5rem,9vw,8rem) 0 clamp(3rem,6vw,5rem);overflow:hidden;position:relative}
.phead h1{margin-bottom:2rem;max-width:44rem}
.phead .ghost{font-size:clamp(10rem,22vw,20rem);right:-1rem;top:52%;transform:translateY(-50%)}
.split{display:grid;grid-template-columns:5fr 7fr;gap:clamp(2.5rem,6vw,6rem);align-items:start}
.split.even{grid-template-columns:1fr 1fr}
@media (max-width:900px){.split,.split.even{grid-template-columns:1fr}}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem}
.stat{border-top:1px solid var(--border);padding-top:1.25rem}
.stat b{font-family:var(--serif);font-weight:400;font-size:clamp(1.75rem,3vw,2.4rem);color:var(--gold);display:block;line-height:1}
.stat span{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mfg);display:block;margin-top:.75rem}
.traits{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--border);border:1px solid var(--border);margin-top:3.5rem}
.trait{background:var(--card);padding:2rem 1.75rem 2.25rem;transition:background .3s}.trait:hover{background:var(--muted)}
.trait .n{font-family:var(--serif);font-size:2.4rem;color:color-mix(in srgb,var(--fg) 22%,transparent);line-height:1;display:block;margin-bottom:1.5rem;transition:color .3s}.trait:hover .n{color:var(--gold)}
.trait p{font-size:.85rem;color:var(--mfg);margin-top:.5rem}
@media (max-width:1024px){.traits{grid-template-columns:repeat(2,1fr)}.trait:last-child{grid-column:span 2}}
@media (max-width:520px){.traits{grid-template-columns:1fr}.trait:last-child{grid-column:auto}}
.philo{display:grid;grid-template-columns:1fr 1fr;min-height:36rem}
.philo .img{background:url(img/architecture.jpg) center/cover}
.philo .txt{padding:clamp(4rem,8vw,7rem) var(--pad);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.philo .ghost{font-size:16rem;right:-2rem;bottom:-2rem}
@media (max-width:900px){.philo{grid-template-columns:1fr}.philo .img{min-height:22rem}}
.numlist{list-style:none;border-top:1px solid var(--border)}
.numlist li{display:flex;gap:1.75rem;align-items:baseline;padding:1.35rem 0;border-bottom:1px solid var(--border)}
.numlist i{font-style:normal;font-family:var(--serif);color:var(--gold);opacity:.7;font-size:.9rem;min-width:1.5rem}
.principles{border-top:1px solid var(--border);margin-top:2rem}
.pr{display:grid;grid-template-columns:4rem 1fr 1.2fr;gap:1.5rem;padding:2.1rem 0;border-bottom:1px solid var(--border);align-items:baseline;transition:padding .3s}
.pr:hover{padding-left:.75rem}.pr:hover .n{color:var(--gold)}
.pr .n{font-family:var(--serif);font-size:1.5rem;color:color-mix(in srgb,var(--fg) 25%,transparent);transition:color .3s}
.pr h3{font-size:1.15rem}.pr p{color:var(--mfg);font-size:.95rem}
@media (max-width:760px){.pr{grid-template-columns:3rem 1fr}.pr p{grid-column:2}}
.qualities{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border)}
.q{padding:2.5rem 2rem;border-bottom:1px solid var(--border);border-right:1px solid var(--border);display:flex;gap:1.25rem}
.q:nth-child(3n){border-right:0}
.q svg{width:20px;height:20px;color:var(--gold);flex:none;margin-top:.15rem}
.q p{font-size:.88rem;color:var(--mfg);margin-top:.35rem}
@media (max-width:900px){.qualities{grid-template-columns:1fr 1fr}.q:nth-child(3n){border-right:1px solid var(--border)}.q:nth-child(2n){border-right:0}}
@media (max-width:560px){.qualities{grid-template-columns:1fr}.q{border-right:0!important;padding:2rem 0}}
.side{border-left:1px solid var(--border);padding-left:2rem;display:grid;gap:2rem}
.side p{font-size:.88rem;color:var(--mfg);margin-top:-.5rem}
.story{display:grid;grid-template-columns:4fr 7fr;gap:clamp(2.5rem,6vw,6rem);align-items:start}
.story img{width:100%;aspect-ratio:3/4;object-fit:cover;position:sticky;top:7rem}
.story blockquote p{font-family:var(--serif);font-style:italic;font-size:clamp(1.1rem,1.8vw,1.35rem);line-height:1.65;color:color-mix(in srgb,var(--fg) 92%,transparent)}
.story blockquote p+p{margin-top:1.5rem}
@media (max-width:900px){.story{grid-template-columns:1fr}.story img{position:static;aspect-ratio:4/3}}
.pull{font-family:var(--serif);font-style:italic;font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.35;max-width:46rem;margin-bottom:2.5rem}
.pullwrap{display:grid;grid-template-columns:7fr 5fr;gap:4rem;align-items:center}
.pullwrap img{width:100%;aspect-ratio:4/3;object-fit:cover}
@media (max-width:900px){.pullwrap{grid-template-columns:1fr;gap:3rem}}
.practice{display:grid;grid-template-columns:repeat(3,1fr);gap:3.5rem 3rem}
.practice div::before{content:"";display:block;width:2rem;height:1px;background:var(--gold);margin-bottom:1.5rem}
.practice p{font-size:.9rem;color:var(--mfg);margin-top:.6rem}
@media (max-width:900px){.practice{grid-template-columns:1fr 1fr}}@media (max-width:560px){.practice{grid-template-columns:1fr}}
.faq{max-width:48rem;border-top:1px solid var(--border);margin-top:3rem}
.faq details{border-bottom:1px solid var(--border)}
.faq summary{list-style:none;cursor:pointer;padding:1.6rem 0;display:flex;justify-content:space-between;gap:1rem;font-weight:500}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--serif);color:var(--gold);font-size:1.4rem;line-height:1;transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--mfg);font-size:.95rem;padding:0 0 1.75rem;max-width:40rem}
.cta{text-align:center;padding:clamp(6rem,11vw,9rem) 0;overflow:hidden}
.cta .mk{width:56px;height:56px;color:var(--gold);margin:0 auto 2rem}
.cta h2{max-width:40rem;margin:0 auto 1.5rem}.cta p{color:var(--mfg);max-width:30rem;margin:0 auto 2.5rem}
.share{border-left:1px solid var(--gold);padding-left:1.5rem;margin-top:2.5rem}
.share ul{list-style:none;font-size:.9rem;color:var(--mfg);display:grid;gap:.5rem}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:2rem}@media (max-width:560px){.frow{grid-template-columns:1fr;gap:0}}
.field{margin-bottom:2rem}
.field label{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mfg);display:block}
.req{color:var(--gold)}
.field input,.field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--border);color:var(--fg);font:inherit;padding:.7rem 0;transition:border-color .3s;border-radius:0}
.field textarea{resize:vertical;min-height:5.5rem}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--gold)}
.field.err input{border-color:#c46a5a}.field .msg{font-size:.78rem;color:#e09a8b;margin-top:.4rem;display:none}.field.err .msg{display:block}
.sent{border:1px solid var(--border);background:var(--card);padding:3rem 2.5rem}.sent h2{font-size:2rem;margin-bottom:1rem}.sent p{color:var(--mfg)}
footer{border-top:1px solid color-mix(in srgb,var(--border) 60%,transparent);padding:5rem 0 2.5rem;background:var(--card)}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:3rem}
.fgrid ul{list-style:none;display:grid;gap:.7rem;font-size:.88rem}.fgrid ul a{color:var(--mfg)}.fgrid ul a:hover{color:var(--gold)}
.fbot{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid color-mix(in srgb,var(--border) 60%,transparent);margin-top:4rem;padding-top:2rem;font-size:.75rem;color:var(--mfg)}
@media (max-width:760px){.fgrid{grid-template-columns:1fr}}
.rv{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}
.split.wide{grid-template-columns:7fr 4fr}@media (max-width:900px){.split.wide{grid-template-columns:1fr}.side{border-left:0;border-top:1px solid var(--border);padding:2rem 0 0}}

.brand .lockup,.lockup{height:2.15rem;width:auto;max-width:none;display:block}.lockup .lk-frame{stroke:#B48A52}.lockup .lk-leaf{fill:#B48A52}.lockup .lk-word{fill:#EEE8DD}.lockup .lk-cap{fill:#A89D8A}
footer .brand .lockup{height:2.6rem}
