@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--burgundy:#52182e;--deep:#2c111d;--gold:#c9a358;--ivory:#faf7f0;--cream:#f1e9da;--ink:#201b1b;--muted:#635c5b;--line:#d9cbb9;--white:#fff;--shadow:0 16px 45px #2c111d17}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font:16px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.wrap{width:min(1200px,calc(100% - 48px));margin:auto}.skip{position:absolute;top:-100px;background:#fff;padding:10px;z-index:20}.skip:focus{top:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;line-height:1.12;margin:0 0 .5em;font-weight:600}h1{font-size:clamp(3rem,6vw,5.7rem);letter-spacing:-.035em}h2{font-size:clamp(2.2rem,4vw,3.7rem);letter-spacing:-.025em}h3{font-size:1.6rem}p{margin:.3em 0 1.2em}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:.78rem;font-weight:700;color:#a47831;margin:0 0 1.1rem}.lead{font-size:1.2rem;line-height:1.6}.quiet,.fineprint{font-size:.88rem;color:var(--muted)}.section{padding:100px 0}.section-intro{max-width:680px;color:var(--muted)}
.site-header{background:var(--ivory);border-bottom:1px solid #e8dfd3;position:sticky;top:0;z-index:10}.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand img{height:48px;max-width:210px;object-fit:contain}.site-header nav{display:flex;align-items:center;gap:27px}.site-header nav a{text-decoration:none;font-weight:700;font-size:.9rem}.site-header nav a:hover{text-decoration:underline;text-underline-offset:5px}.nav-book{background:var(--burgundy);padding:12px 19px;color:#fff!important;border-radius:3px}.menu-button{display:none;border:0;background:transparent;font-weight:700}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;border:1px solid transparent;border-radius:3px;padding:14px 22px;font-weight:700;line-height:1.25;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button.gold{background:var(--gold);color:#20130d}.button.outline{border-color:#dfbd7b;color:var(--ivory);background:transparent}.button.outline-dark{border-color:var(--burgundy);color:var(--burgundy)}.button.burgundy{background:var(--burgundy);color:#fff}.button.small{font-size:.9rem;padding:10px 14px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin:34px 0 22px}
.hero{background:radial-gradient(circle at 32% 28%,#783b47 0%,var(--burgundy) 44%,var(--deep) 100%);color:var(--ivory);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:7%;min-height:650px}.hero-copy{padding:85px 0}.hero-copy .eyebrow{color:#eacb8b}.hero-copy .lead{max-width:580px}.hero-copy .quiet{color:#e0ccc6}.hero-media{height:580px;align-self:end;position:relative;box-shadow:-20px -20px 0 #b6904a33}.hero-media img{height:100%;width:100%;object-fit:cover;object-position:center 25%;filter:saturate(.86)}.image-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#211019d9);padding:60px 25px 24px;font-family:Georgia,serif;font-size:1.35rem}.image-caption small{font:14px 'DM Sans',sans-serif}
.audience-section{background:var(--ivory)}.choice-row{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0 0}.choice{background:transparent;border:1px solid var(--line);padding:13px 17px;border-radius:3px;font-size:.93rem;font-weight:700}.choice.active,.choice:hover{background:var(--burgundy);border-color:var(--burgundy);color:#fff}.audience-result{border:1px solid var(--line);border-top:4px solid var(--gold);background:#fff;box-shadow:var(--shadow);display:flex;justify-content:space-between;align-items:center;gap:28px;padding:35px 40px;margin-top:15px}.audience-result h3{font-size:2rem}.audience-result p:last-child{margin-bottom:0;max-width:700px}
.services-section{background:var(--cream)}.card-grid{display:grid;gap:20px}.card-grid.three{grid-template-columns:repeat(3,1fr)}.service-card{background:#fff;padding:34px;border:1px solid #e7ddcd;min-height:310px;display:flex;flex-direction:column}.card-no{color:#aa7d37;font-size:.85rem;font-weight:700;letter-spacing:.1em;margin-bottom:42px}.service-card p{color:var(--muted)}.service-card a{margin-top:auto;font-weight:700;text-decoration:none;color:var(--burgundy)}.service-card a:hover{text-decoration:underline}
.doll-section{background:#fff}.doll-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;align-items:start}.doll-media{position:sticky;top:110px;background:var(--cream);padding:14px;box-shadow:var(--shadow)}.doll-media img{width:100%;max-height:730px;object-fit:contain}.track-tabs{border-bottom:1px solid var(--line);display:flex;gap:5px;margin:26px 0 20px}.track-tabs button{border:0;background:none;padding:12px 17px;color:var(--muted);font-weight:700}.track-tabs button.active{color:var(--burgundy);box-shadow:inset 0 -3px var(--gold)}.track-panel{padding:5px 0}.reflection{background:var(--ivory);border-left:4px solid var(--gold);padding:21px 24px;margin:22px 0}.reflection p{font-family:Georgia,serif;font-size:1.18rem;margin:7px 0}.text-button{border:0;background:transparent;color:var(--burgundy);font-weight:700;padding:5px 0;margin-right:18px;text-decoration:underline;text-underline-offset:3px}.avatar-callout{display:flex;gap:17px;padding:24px;background:#f1e9da;border:1px solid var(--line);margin-top:20px}.avatar-symbol{background:var(--burgundy);color:var(--gold);width:56px;height:56px;border-radius:50%;display:grid;place-items:center;flex:none;font-size:1.5rem}.avatar-callout small{display:block;color:var(--muted);margin-top:9px}
.events-section{background:var(--ivory)}.section-top{display:flex;align-items:end;justify-content:space-between;gap:30px}.section-top p{max-width:730px}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0}.event-card{background:#fff;border:1px solid var(--line);padding:25px;display:flex;flex-direction:column;min-height:250px}.event-card .month{font-size:.8rem;color:#8b5a27;text-transform:uppercase;letter-spacing:.17em;font-weight:700}.event-card h3{font-size:1.45rem;margin:22px 0 8px}.event-card .date{font-weight:700;color:var(--burgundy)}.event-card button{margin-top:auto;align-self:flex-start;border:0;background:none;padding:0;color:var(--burgundy);font-weight:700;text-decoration:underline;text-underline-offset:4px}.pathways{background:var(--deep);color:#fff}.pathways .eyebrow{color:var(--gold)}.path-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.path-grid>div{border:1px solid #a4878066;padding:32px}.path-grid p{color:#e8ded8}
footer{background:#1d1519;color:#ede4df;padding:55px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:60px}.footer-grid img{width:200px;max-height:65px;object-fit:contain;object-position:left}.footer-grid p{max-width:360px}.footer-grid>div{display:flex;align-items:flex-start;flex-direction:column;gap:9px}.footer-grid strong{color:var(--gold)}.footer-grid a{text-decoration:none}.copyright{border-top:1px solid #ffffff2b;padding-top:20px;margin-top:40px;font-size:.85rem;color:#c0b5b1}
dialog{border:0;border-top:5px solid var(--gold);padding:35px;width:min(640px,calc(100% - 25px));max-height:90vh;box-shadow:0 25px 80px #0006;color:var(--ink)}dialog::backdrop{background:#1a0a14cc}.dialog-close{float:right;border:0;background:none;font-size:2rem}.dialog-flyer{display:flex;gap:20px;background:var(--ivory);padding:15px;margin:20px 0}.dialog-flyer img{width:145px;height:150px;object-fit:cover}.dialog-flyer p{font-size:.9rem}
.page-hero{padding:75px 0;background:var(--deep);color:#fff}.page-hero .eyebrow{color:var(--gold)}.page-hero h1{font-size:clamp(2.7rem,5vw,4.7rem)}.booking-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:35px}.booking-form{padding:38px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.booking-form label{font-weight:700;display:block;margin:18px 0 6px}.booking-form input,.booking-form select,.booking-form textarea{width:100%;border:1px solid #bfb0a7;padding:12px;background:#fff;border-radius:2px;color:var(--ink)}.booking-form .two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-form fieldset{border:0;padding:0;margin:0}.booking-form legend{font-weight:700;margin:22px 0 9px}.time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.time-grid button{padding:11px;border:1px solid var(--line);background:var(--ivory)}.time-grid button.active{border-color:var(--burgundy);background:var(--burgundy);color:#fff}.booking-side{background:var(--cream);padding:30px;align-self:start}.booking-side ul{padding-left:20px}.booking-side li{margin-bottom:10px}.form-status{padding:15px;background:#f1e9da;border-left:4px solid var(--gold);margin-top:18px}.form-status[hidden]{display:none}
@media(max-width:900px){.site-header nav{display:none;position:absolute;left:0;right:0;top:82px;background:var(--ivory);padding:20px 24px;flex-direction:column;align-items:stretch;box-shadow:var(--shadow)}.site-header nav.open{display:flex}.menu-button{display:block}.hero-grid{grid-template-columns:1fr 0.8fr;gap:3%}.hero-media{height:520px}.card-grid.three,.event-grid{grid-template-columns:repeat(2,1fr)}.doll-grid{gap:5%}}
@media(max-width:680px){.wrap{width:min(100% - 32px,1200px)}.section{padding:65px 0}.hero-grid,.doll-grid,.booking-layout{grid-template-columns:1fr}.hero-copy{padding:64px 0 30px}.hero-media{height:350px;width:100%;box-shadow:none}.hero-media img{object-position:center 20%}.audience-result{display:block;padding:27px}.audience-result .button{margin-top:18px}.choice{flex:1 1 42%;font-size:.83rem}.card-grid.three,.event-grid,.path-grid,.footer-grid{grid-template-columns:1fr}.service-card{min-height:250px}.card-no{margin-bottom:24px}.doll-media{position:static;max-height:480px}.doll-media img{max-height:450px}.section-top{display:block}.section-top .button{margin-bottom:20px}.booking-form{padding:22px}.booking-form .two{grid-template-columns:1fr}.time-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{gap:25px}.dialog-flyer{display:block}.dialog-flyer img{width:100%;height:170px;object-fit:contain}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.trap{display:none}.consent{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important}.consent input{width:auto!important;margin-top:7px}.qr{width:130px;height:130px}.partner-list{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.partner-list .service-card{min-height:110px}.two input{width:100%;padding:12px;border:1px solid var(--line)}video{width:100%;margin-top:18px}.site-header nav a[aria-current]{color:var(--burgundy);text-decoration:underline;text-underline-offset:6px}.dialog-close{min-width:44px;min-height:44px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a56c17;outline-offset:3px}.button:hover{transform:none}dialog .booking-form{padding:20px}blockquote{border-left:3px solid var(--gold);padding:15px;font-family:Georgia,serif;font-size:1.4rem}a.button{white-space:normal}@media(max-width:680px){.partner-list{grid-template-columns:1fr}.site-header .brand img{max-width:160px}.avatar-callout{padding:18px}.choice-row button{min-height:44px}}@media print{.site-header,footer,.actions{display:none}}

.journal-cover{display:block;width:100%;height:330px;object-fit:contain;background:#f5eee3;border-radius:12px;margin-bottom:18px}.journal-cover-detail{height:auto;max-height:560px;width:100%;margin:0 auto 24px} @media(max-width:600px){.journal-cover{height:360px}.journal-cover-detail{height:auto;max-height:480px}}
