:root{--ink:#3b3a35;--ink-2:#55544d;--sage:#9aab8f;--sage-d:#71856a;--sage-dd:#5d6f57;--sage-l:#e9eee4;--sage-xl:#f3f5ef;--gold:#b49a6c;--gold-l:#d9c9a8;
--cream:#f6f2ea;--paper:#fbf9f4;--line:#e4ddcf;--muted:#7c7a71;
--serif:"Cormorant Garamond",Georgia,serif;--sans:Jost,system-ui,-apple-system,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);font-weight:300;font-size:17.5px;line-height:1.8;color:var(--ink-2);background:var(--paper);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:var(--sage-dd);text-decoration-color:var(--gold-l);text-underline-offset:3px}a:hover{color:var(--gold)}
b,strong{font-weight:500;color:var(--ink)}
h1,h2,h3,h4{font-family:var(--serif);color:var(--ink);font-weight:300;line-height:1.12;margin:0 0 .55em}
h1{font-size:clamp(2.8rem,5.8vw,4.6rem);letter-spacing:-.005em}h1 em,h2 em{font-style:normal}
h2{font-size:clamp(2.1rem,3.8vw,3.1rem)}h3{font-size:1.65rem;font-weight:400}
h4{font-family:var(--sans);font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;font-weight:500;color:var(--gold)}
p{margin:0 0 1.1em}.wrap{max-width:1180px;margin:0 auto;padding:0 32px}.narrow{max-width:780px}
.eyebrow{display:inline-flex;align-items:center;gap:14px;font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:1.4rem}
.eyebrow::before{content:"";width:36px;height:1px;background:var(--gold)}
.center .eyebrow::after{content:"";width:36px;height:1px;background:var(--gold)}
.lede{font-size:1.2rem;color:var(--ink-2)}.muted{color:var(--muted)}
.btn{display:inline-block;padding:1.05em 2.1em;border-radius:2px;background:var(--sage-d);color:#fff;text-decoration:none;font-weight:400;font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--sage-d);transition:.25s}
.btn:hover{background:var(--sage-dd);border-color:var(--sage-dd);color:#fff}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--gold-l)}.btn-outline:hover{background:transparent;color:var(--sage-dd);border-color:var(--gold)}
.btn-small{padding:.85em 1.4em;font-size:.7rem}
.btn-light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.btn-light:hover{background:#fff;color:var(--sage-dd);border-color:#fff}
.btn-ghost-light{background:transparent;color:var(--ink);border-color:var(--gold)}.btn-ghost-light:hover{background:var(--paper);color:var(--ink)}
.actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:2.2rem}.actions.center{justify-content:center}
.site-header{position:sticky;top:0;z-index:20;background:rgba(251,249,244,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:88px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink)}
.brand span{display:flex;flex-direction:column;line-height:1.2}.brand strong{font-family:var(--serif);font-size:1.55rem;font-weight:400;letter-spacing:.02em}
.brand small{font-size:.66rem;color:var(--muted);letter-spacing:.2em;text-transform:uppercase;margin-top:3px}
.nav{display:flex;align-items:center;gap:34px}.nav a:not(.btn){color:var(--ink-2);text-decoration:none;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;font-weight:400}
.nav a[aria-current]:not(.btn){color:var(--sage-dd);box-shadow:0 1px 0 var(--gold)}.nav a:not(.btn):hover{color:var(--gold)}
.nav-toggle,.nav-burger{display:none}
section{padding:120px 0}.alt{background:var(--cream)}.sage{background:var(--sage-l)}
.hero{padding:96px 0 120px;background:linear-gradient(180deg,var(--paper) 0%,var(--sage-xl) 100%)}
.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:80px;align-items:center}
.hero-photo{margin:0}.hero-photo .frame{position:relative;padding:22px 22px 0 0}
.hero-photo .frame::before{content:"";position:absolute;top:0;right:0;width:calc(100% - 22px);height:calc(100% - 22px);border:1px solid var(--gold-l);border-radius:240px 240px 4px 4px}
.hero-photo img{position:relative;border-radius:240px 240px 4px 4px;aspect-ratio:4/5;object-fit:cover;width:calc(100% - 22px)}
.hero-photo figcaption{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);text-align:center;margin-top:22px;padding-right:22px}
.hero .contact-line{margin-top:2rem;font-size:.95rem;color:var(--muted);padding-top:1.6rem;border-top:1px solid var(--line)}
.creds{display:flex;flex-direction:column;gap:0;margin-top:.5rem;border-top:1px solid var(--line)}
.cred{padding:20px 0;border-bottom:1px solid var(--line);font-size:.9rem;color:var(--muted);display:flex;align-items:baseline;gap:18px}
.cred b{font-family:var(--serif);font-size:1.7rem;color:var(--sage-d);font-weight:300;min-width:110px}
.features{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}
.feature{padding:48px 36px;border-right:1px solid var(--line);text-align:center}.feature:last-child{border-right:0}
.feature h3{font-size:1.45rem;margin-bottom:.35em}.feature h3::after{content:"";display:block;width:24px;height:1px;background:var(--gold);margin:14px auto 0}
.feature p{font-size:.94rem;margin:0;color:var(--muted)}
.section-head{max-width:740px;margin-bottom:64px}.section-head.center{text-align:center;margin-left:auto;margin-right:auto}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:32px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:52px 48px;transition:.3s}
.card:hover{border-color:var(--gold-l);box-shadow:0 24px 50px -30px rgba(80,90,70,.35)}
.card .eyebrow{margin-bottom:1rem}.card-links{display:flex;gap:26px;flex-wrap:wrap;margin-top:1.6rem}
.card-links a{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;font-weight:400;text-decoration:none;color:var(--sage-dd);border-bottom:1px solid var(--gold-l);padding-bottom:3px}
.card-links a:hover{color:var(--gold);border-color:var(--gold)}
.pillar{border-top:1px solid var(--gold-l);padding-top:30px}.pillar h3{font-size:1.6rem}
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
.step{position:relative;padding-top:78px}.step::before{counter-increment:s;content:counter(s,upper-roman) ".";position:absolute;top:0;left:0;font-family:var(--serif);font-style:normal;font-weight:300;font-size:3rem;color:var(--gold);line-height:1}
.faq{max-width:840px;margin:0 auto;border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line);padding:26px 0}
.faq summary{cursor:pointer;list-style:none;font-family:var(--serif);font-size:1.5rem;font-weight:400;color:var(--ink);display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";color:var(--gold);font-family:var(--sans);font-weight:200;font-size:1.7rem;line-height:1}
.faq details[open] summary::after{content:"–"}.faq details p{margin:16px 0 0;max-width:720px}
.cta{background:var(--sage);color:var(--ink);text-align:center;position:relative}
.cta::before{content:"";position:absolute;inset:28px;border:1px solid rgba(255,255,255,.45);pointer-events:none}
.cta h2{color:var(--ink)}.cta p{color:#3f463b}.cta-inner{max-width:780px;position:relative}.cta a{color:var(--ink)}
.page-hero{padding:110px 0 80px;background:linear-gradient(180deg,var(--paper) 0%,var(--sage-xl) 100%);border-bottom:1px solid var(--line)}
.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}
.specialty{padding:40px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:250px 1fr;gap:48px}
.specialty .tag{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:500;padding-top:10px}
.list{padding:0;margin:0 0 1em;list-style:none}.list li{padding:12px 0 12px 30px;position:relative;border-bottom:1px solid var(--line)}
.list li::before{content:"";position:absolute;left:4px;top:24px;width:12px;height:1px;background:var(--gold)}
.facts div{padding:16px 0;border-bottom:1px solid var(--line)}.facts div:last-child{border-bottom:0}
.notice{background:var(--sage-xl);border-left:1px solid var(--gold);padding:20px 24px;font-size:.95rem}
.contact-card{background:var(--sage-l);color:var(--ink-2);border:1px solid var(--line);border-radius:4px;padding:52px}
.contact-card h3{color:var(--ink)}.contact-card a{color:var(--sage-dd)}
.big-link{font-family:var(--serif);font-size:2rem;font-weight:300;display:block;text-decoration:none;margin:.25em 0;color:var(--ink)!important}
.big-link:hover{color:var(--gold)!important}
.site-footer{background:var(--cream);color:var(--muted);padding:88px 0 32px;font-size:.92rem;border-top:1px solid var(--gold-l)}
.site-footer h4{color:var(--gold)}.site-footer a{color:var(--sage-dd)}.brand-light{color:var(--ink);margin-bottom:18px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:48px}
.footer-bottom{border-top:1px solid var(--line);margin-top:56px;padding-top:26px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.82rem}
.footer-bottom p{margin:0}
@media (max-width:900px){
  section{padding:76px 0}.hero{padding:56px 0 76px}.page-hero{padding:72px 0 56px}
  .hero-grid,.split,.grid-2,.grid-3,.steps,.footer-grid{grid-template-columns:1fr;gap:40px}
  .hero-photo{max-width:380px;margin:0 auto}
  .features{grid-template-columns:1fr 1fr}.feature:nth-child(2){border-right:0}.feature:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .specialty{grid-template-columns:1fr;gap:6px}
  .nav-burger{display:flex;flex-direction:column;gap:6px;cursor:pointer;padding:10px}
  .nav-burger span{width:26px;height:1px;background:var(--ink)}
  .nav{display:none;position:absolute;top:88px;left:0;right:0;background:var(--paper);flex-direction:column;align-items:flex-start;padding:24px 32px 32px;gap:20px;border-bottom:1px solid var(--line)}
  .nav-toggle:checked ~ .nav{display:flex}
  .card,.contact-card{padding:36px 30px}.cta::before{inset:14px}
}
@media (max-width:520px){.features{grid-template-columns:1fr}.feature{border-right:0;border-bottom:1px solid var(--line)}.brand small{display:none}}

.book-feature{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:80px;align-items:center}
.book-cover{aspect-ratio:2/3;background:var(--sage,#8a9a7e);color:#fbf8f1;border-radius:3px 8px 8px 3px;padding:44px 34px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:inset 10px 0 0 rgba(0,0,0,.08),0 24px 50px -18px rgba(40,40,30,.35);border:1px solid rgba(201,176,122,.6);position:relative}
.book-cover:after{content:"";position:absolute;inset:14px;border:1px solid rgba(232,214,170,.55);pointer-events:none}
.book-kicker{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#e8d6aa}
.book-title{font-family:var(--serif,Georgia,serif);font-size:1.75rem;line-height:1.2}
.book-author{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:#e8d6aa}
@media(max-width:820px){.book-feature{grid-template-columns:1fr;gap:44px}.book-cover{max-width:260px}}
/* Resources */
.shop-item{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:80px;align-items:start}
.shop-item+.shop-item{margin-top:120px;padding-top:120px;border-top:1px solid var(--line)}
.shop-cover{position:sticky;top:130px}
.shop-cover img{width:100%;box-shadow:0 30px 60px -30px rgba(40,50,45,.45),0 2px 6px rgba(40,50,45,.12);border-radius:2px}
.shop-item h2{margin-bottom:.2em}.shop-sub{font-family:var(--serif);font-size:1.45rem;color:var(--ink-2);line-height:1.35;margin-bottom:1.4em}
.shop-price{display:flex;align-items:baseline;gap:18px;margin:2rem 0 0}.shop-price b{font-family:var(--serif);font-weight:300;font-size:2.6rem;color:var(--ink)}
.shop-facts{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.shop-list{list-style:none;padding:0;margin:0 0 1.6em}.shop-list li{position:relative;padding:.45em 0 .45em 30px;border-bottom:1px solid var(--line)}
.shop-list li::before{content:"";position:absolute;left:0;top:1.15em;width:14px;height:1px;background:var(--gold)}
.shop-note{margin-top:2.2rem;font-size:.86rem;color:var(--muted)}
.checkout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:56px;align-items:start;max-width:880px;margin:0 auto}
.checkout img{width:100%;box-shadow:0 20px 40px -24px rgba(40,50,45,.45)}
.field{display:block;margin-bottom:22px}.field span{display:block;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);margin-bottom:8px}
.field input{width:100%;font:inherit;padding:14px 16px;border:1px solid var(--line);background:#fff;border-radius:2px;color:var(--ink)}
.field input:focus{outline:none;border-color:var(--sage-d)}
.form-error{color:#8a4b3c;background:#f7ece6;padding:12px 16px;border-radius:2px;font-size:.95rem}
.pay-box{background:#fff;border:1px solid var(--line);padding:32px;border-radius:2px;margin:1.5rem 0}
.pay-box button{margin-top:22px;width:100%;cursor:pointer;font-family:inherit}.pay-box button:disabled{opacity:.5;cursor:default}
@media(max-width:860px){.shop-item{grid-template-columns:1fr;gap:44px}.shop-cover{position:static;max-width:360px}.checkout{grid-template-columns:1fr;gap:32px}.checkout img{max-width:180px}}
.form-error:empty{display:none}
.shop-cover{max-width:340px}
.shop-cover img,.checkout img{height:auto}
/* Elegant backgrounds: fine paper grain, soft champagne and sage light, gold hairlines */
:root{--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .32 0 0 0 0 .25 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
body{background-color:#faf7f0;background-image:var(--grain);background-attachment:fixed}
.hero,.page-hero{position:relative;overflow:hidden;background-color:#faf7f0;background-image:
  radial-gradient(ellipse 60% 70% at 8% 0%,rgba(217,201,168,.32) 0%,rgba(217,201,168,0) 70%),
  radial-gradient(ellipse 55% 75% at 100% 100%,rgba(154,171,143,.26) 0%,rgba(154,171,143,0) 70%),
  linear-gradient(180deg,#fbf9f4 0%,#f2f4ec 100%)}
.hero::after,.page-hero::after{content:"";position:absolute;inset:0;background-image:var(--grain);pointer-events:none}
.hero>.wrap,.page-hero>.wrap{position:relative;z-index:1}
.page-hero{border-bottom:0}
.page-hero::before{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(1180px,calc(100% - 64px));height:1px;background:linear-gradient(90deg,transparent,var(--gold-l) 20%,var(--gold-l) 80%,transparent)}
.alt{background-color:#f5f0e6;background-image:var(--grain),radial-gradient(ellipse 70% 90% at 50% 0%,rgba(255,255,255,.55),rgba(255,255,255,0) 70%);position:relative}
.sage{background-color:#e7ece1;background-image:var(--grain),radial-gradient(ellipse 70% 90% at 50% 0%,rgba(255,255,255,.45),rgba(255,255,255,0) 70%);position:relative}
.alt::before,.sage::before,.alt::after,.sage::after{content:"";position:absolute;left:50%;transform:translateX(-50%);width:min(1180px,calc(100% - 64px));height:1px;background:linear-gradient(90deg,transparent,rgba(180,154,108,.45) 20%,rgba(180,154,108,.45) 80%,transparent)}
.alt::before,.sage::before{top:0}.alt::after,.sage::after{bottom:0}
.alt>.wrap,.sage>.wrap{position:relative}
.cta{background-color:var(--sage);background-image:var(--grain),radial-gradient(ellipse 60% 80% at 50% 0%,rgba(255,255,255,.22),rgba(255,255,255,0) 70%),radial-gradient(ellipse 50% 70% at 100% 100%,rgba(113,133,106,.35),rgba(113,133,106,0) 70%)}
.site-footer{background-color:#f3eee3;background-image:var(--grain)}
.card,.features{background-color:rgba(253,251,247,.85)}
/* Signature quote */
.quote{padding:110px 0;text-align:center}
.quote figure{max-width:880px;margin:0 auto}
.quote figure::before{content:"";display:block;width:1px;height:56px;margin:0 auto 40px;background:var(--gold-l)}
.quote blockquote{margin:0;font-family:var(--serif);font-weight:300;font-size:clamp(1.8rem,3.2vw,2.6rem);line-height:1.35;color:var(--ink)}
.quote figcaption{margin-top:2rem;font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);font-weight:500}
@media (max-width:900px){.quote{padding:72px 0}}
/* Credentials band */
.cred-band{border-top:1px solid var(--line);background:var(--paper)}
.cred-band .wrap{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 0;padding-top:22px;padding-bottom:22px}
.cred-band span{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-2);font-weight:400;padding:0 22px;position:relative}
.cred-band span+span::before{content:"";position:absolute;left:-2px;top:50%;width:4px;height:4px;margin-top:-2px;transform:rotate(45deg);background:var(--gold-l)}
.cred-band a{color:inherit;text-decoration:none;border-bottom:1px solid var(--gold-l)}.cred-band a:hover{color:var(--gold)}
@media (max-width:900px){.cred-band span{padding:0 14px;font-size:.64rem}}
.center-text{text-align:center}
/* ===== Photography, leaf motif, arches ===== */
/* quote over a wide photograph */
.quote-band{position:relative;padding:150px 0;background:#f3efe6 url(/images/band.jpg) center/cover no-repeat}
.quote-band::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 55% 75% at 50% 50%,rgba(250,247,240,.9) 0%,rgba(250,247,240,.6) 60%,rgba(250,247,240,.15) 100%)}
.quote-band .wrap{position:relative}
.quote-band figure::before{background:var(--gold)}
/* arched photos in cards */
.card-media{padding-top:44px}
.card-media img.arch{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:999px 999px 2px 2px;margin:0 auto 40px;max-width:420px}
/* privacy: text beside an arched photo */
.media-split{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:center;margin-bottom:72px}
.media-split .section-head{margin-bottom:0}
.arch-frame{margin:0;position:relative;padding:18px 0 0 18px;max-width:380px;justify-self:end}
.arch-frame::before{content:"";position:absolute;top:0;left:0;width:calc(100% - 18px);height:calc(100% - 18px);border:1px solid var(--gold-l);border-radius:999px 999px 4px 4px}
.arch-frame img{position:relative;width:calc(100% - 0px);aspect-ratio:3/4;object-fit:cover;border-radius:999px 999px 4px 4px}
/* leaf watermark from the logo */
.leafmark,.cta,.page-hero,.site-footer{position:relative;overflow:hidden}
.leafmark::after,.cta::after{content:"";position:absolute;pointer-events:none;background:url(/images/leaf.png) center/contain no-repeat}
.leafmark::after{right:-90px;bottom:-110px;width:440px;height:440px;opacity:.12;transform:rotate(-12deg)}
.leafmark>.wrap{position:relative;z-index:1}
.page-hero>.wrap::after{content:"";position:absolute;right:-40px;top:50%;width:320px;height:320px;transform:translateY(-50%) rotate(-10deg);background:url(/images/leaf.png) center/contain no-repeat;opacity:.1;pointer-events:none}
.page-hero>.wrap{position:relative}
.cta::after{left:-110px;bottom:-130px;width:400px;height:400px;opacity:.16;transform:rotate(8deg);filter:brightness(1.6)}
.cta>*{position:relative}
.site-footer .footer-grid{position:relative}
.site-footer::before{content:"";position:absolute;right:-60px;bottom:-80px;width:340px;height:340px;background:url(/images/leaf.png) center/contain no-repeat;opacity:.08;transform:rotate(15deg);pointer-events:none;left:auto;top:auto}
@media (max-width:900px){
  .quote-band{padding:96px 0}
  .media-split{grid-template-columns:1fr;gap:40px;margin-bottom:48px}.arch-frame{justify-self:center;max-width:300px}
  .card-media img.arch{max-width:320px}
  .leafmark::after{width:260px;height:260px;right:-70px;bottom:-70px}.page-hero>.wrap::after{width:200px;height:200px;right:-60px}
  .cta::after{width:240px;height:240px}
}
