/* Palette: original rose and plum, softened with warm paper tones. */
@font-face{font-family:'Tea Sans';src:url('tea-sans.ttf') format('truetype');font-display:swap}

@font-face{font-family:'Tea Serif';src:url('tea-serif.otf') format('opentype');font-display:swap}

@font-face{font-family:'Tea Serif';src:url('tea-serif-italic.otf') format('opentype');font-style:italic;font-display:swap}

:root{--paper:#faf5f1;--pink:#f1e1e1;--rose:#e6c6cb;--ink:#533444;--text:#5d4a50;--muted:#6d5962;--accent:#8a425c;--line:#d9c3c9;--white:#fffaf7;--serif:'Cormorant Garamond','Tea Serif',serif;--sans:'Inter','Tea Sans',sans-serif;--max:1160px}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--text);font:400 16px/1.8 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}
button,input,textarea{font:inherit}
button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}
a,button{touch-action:manipulation}
button{cursor:pointer}
button:disabled{cursor:wait}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,video:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
::selection{color:var(--ink);background:var(--rose)}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{color:var(--ink);font-family:var(--serif);font-weight:400}
h1{font-size:clamp(48px,5.5vw,80px);line-height:1.06;letter-spacing:-.045em;margin:20px 0 28px}
h2{font-size:clamp(36px,4.3vw,56px);line-height:1.14;letter-spacing:-.035em;margin:14px 0 26px}
h3{font-size:30px;line-height:1.22;margin:12px 0 18px}
h1 em,h2 em{color:var(--accent);font-weight:400}
p+p{margin-top:20px}
p{max-width:65ch}
img,video{display:block;max-width:100%;height:auto}
img{object-fit:cover}
figure{min-width:0}
figcaption{font-size:12px;line-height:1.65;color:var(--muted);margin-top:18px}
strong{font-weight:600}
.wrap{max-width:var(--max);width:calc(100% - 112px);margin-inline:auto}
.eyebrow{font:500 11px/1.7 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--accent)}
.lead{font-size:17px;line-height:1.85;max-width:46ch}
.small{font-size:12px;line-height:1.8;color:var(--muted)}
.header{background:rgba(250,245,241,.97);position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(217,195,201,.55)}
.nav-wrap{min-height:102px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.brand{font-family:var(--serif);font-size:31px;line-height:1.2;text-decoration:none;color:var(--ink);white-space:nowrap}
.brand span{display:block;font:400 9px/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase;margin-top:9px}
.header nav{display:flex;align-items:center;gap:30px}
.header nav a{font-size:12px;text-decoration:none;padding:12px 0}
.header nav a:hover,.header nav a[aria-current]{color:var(--accent);text-decoration:underline}
.menu-toggle{border:1px solid var(--line);background:transparent;padding:8px 16px;color:var(--ink);border-radius:22px;font-size:13px}
.skip{position:fixed;top:8px;left:8px;background:var(--white);padding:12px;z-index:99;transform:translateY(-180%)}
.skip:focus{transform:none}

/* Editorial hero and naturally asymmetric image edges. */
.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;padding-block:64px 70px}
.hero-copy{padding-block:20px}
.hero-photo{position:relative;padding:10px 14px 0 0}
.hero-photo::before{content:'';position:absolute;background:var(--pink);inset:28px 0 37px 22px;border-radius:38% 27% 33% 21% / 25% 17% 27% 36%;z-index:-1}
.hero-photo img{width:100%;height:580px;object-position:center 48%}
.organic{border-radius:35% 24% 31% 18% / 21% 15% 26% 31%}
.hero-photo figcaption{padding-left:24px}
.hero-note{margin-top:26px}
.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:30px}
.button{display:inline-flex;justify-content:center;align-items:center;text-align:center;min-height:50px;padding:14px 25px;border:1px solid var(--accent);border-radius:30px;background:var(--accent);color:#fffaf7;text-decoration:none;font-size:12px;font-weight:500;line-height:1.6;transition:background .2s,transform .2s}
.button:hover{background:#71344b;transform:translateY(-2px)}
.button.secondary{background:transparent;color:var(--accent)}
.button.secondary:hover{background:var(--pink)}
.text-link{font-size:12px;font-weight:500;text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:5px;color:var(--ink);display:inline-block}
.text-link:hover{color:var(--accent)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}
.recognition{background:var(--pink);padding-block:80px}
.recognition p{font-size:15px}
.recognition .prose{padding-top:12px}
.section,.offers{padding-block:90px}
.offer-list{margin-top:44px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.offer-list article{padding:38px 28px;display:flex;flex-direction:column}
.offer-list article:first-child{padding-left:0}
.offer-list article:last-child{padding-right:0}
.offer-list article+article{border-left:1px solid var(--line)}
.offer-list h3{font-size:34px;min-height:82px}
.offer-list h3 a{text-decoration:none}
.offer-list h3 a:hover{color:var(--accent)}
.offer-list article>p:not(.eyebrow){font-size:14px}
.offer-end{margin-top:auto;padding-top:30px}
.offer-end span{display:block;font-size:11px}
.offer-end strong{display:block;font-size:16px;margin-top:7px;margin-bottom:20px}
.session-intro{background:#f5e9e7;padding-block:84px}
.session-intro .lead{max-width:600px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;margin:45px 0 30px}
.steps p{font-size:14px}
.step-number{display:block;font-family:var(--serif);font-size:27px;color:var(--accent);border-bottom:1px solid var(--line);padding-bottom:12px}
.steps h3{font-size:28px;margin-top:23px}
.about{align-items:center;padding-block:100px}
.about figure{max-width:415px}
.about img{height:560px;width:100%;object-position:center 52%;border-radius:22% 35% 20% 29% / 15% 24% 30% 18%}
.about p:not(.eyebrow){font-size:14px}
.about .text-link{margin-top:26px}
.video-section{background:#eeddde;padding-block:75px}
.video-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:120px;align-items:center}
.video-grid p{font-size:15px}
.video-grid figure{max-width:310px;margin-inline:auto}
.video-grid video{width:100%;border-radius:100px 55px 70px 30px;box-shadow:0 15px 45px #53344412}
.video-grid figcaption{max-width:300px}
.invitation{padding-block:95px 105px;text-align:center}
.invitation p{margin-inline:auto}
.invitation .button{margin-top:30px}
.invitation h2{font-size:clamp(42px,5vw,65px)}

/* Service pages, checkout context and native accessible disclosures. */
.inner-hero{padding-top:55px;padding-bottom:55px}
.inner-hero h1{font-size:clamp(48px,5.4vw,75px)}
.inner-hero p:not(.eyebrow):not(.lead){font-size:14px}
.inner-hero .hero-photo img{height:510px}
.facts{display:grid;grid-template-columns:repeat(4,1fr);padding:27px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts>div{padding:8px 18px;border-left:1px solid var(--line)}
.facts>div:first-child{padding-left:0;border:0}
.facts strong{display:block;font-size:16px;color:var(--ink);margin-bottom:5px}
.facts span{font-size:11px}
.soft-section{background:#f3e6e4;padding-block:70px}
.soft-section h3:first-child{margin-top:0}
.payment-section{background:#eeddde;padding-block:80px}
.payment-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:100px;align-items:center}
.payment-grid>div>p{font-size:14px}
.payment-grid>div>p.small{font-size:12px}
.payment-grid .text-link{margin-top:20px}
.payment-card{background:var(--white);border:1px solid #ddc4cd;padding:44px 32px;border-radius:6px 52px 6px 38px;text-align:center}
.payment-card>p{margin-inline:auto}
.payment-card .price{font-family:var(--serif);font-size:78px;line-height:1.2;color:var(--ink);margin-block:15px}
.price span{font:500 13px var(--sans);margin-left:10px}
.payment-card .button{margin-top:24px;width:100%}
.payment-card .small{margin-top:17px}
.faq{max-width:850px;padding-block:80px 10px}
.faq details{border-bottom:1px solid var(--line);padding:21px 0}
.faq summary{font-size:15px;font-weight:500;color:var(--ink);cursor:pointer;padding-right:20px}
.faq details p{font-size:14px;padding-top:14px}
.note{border-left:3px solid var(--accent);padding:16px 24px;background:#f2e5e5;margin:28px 0;font-size:14px}
.note p{margin-top:10px}
.note p:first-child{margin:0}

/* Forms use Netlify's native POST endpoint, usable without JavaScript. */
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:95px;padding-block:75px 100px}
.contact-layout h1{font-size:65px}
.contact-direct{padding-block:28px}
.contact-direct .eyebrow{display:block;margin-bottom:6px}
.contact-direct>a{margin-top:25px}
.contact-form{background:var(--white);padding:35px;border:1px solid var(--line);border-radius:5px 42px 5px 28px}
.contact-form label{display:block;font-size:13px;color:var(--ink);margin-bottom:8px}
.contact-form input:not([type=hidden]),.contact-form textarea{width:100%;border:1px solid #b99aa7;border-radius:6px;background:var(--paper);padding:12px;color:var(--ink);font-size:16px;margin-bottom:22px}
.contact-form textarea{resize:vertical;min-height:125px}
.contact-form .button{margin-top:20px}
.contact-form .small{margin-top:0;margin-bottom:12px}
.optional{font-size:11px;color:var(--muted)}
.reading{max-width:780px;padding-block:70px 100px}
.reading h1{font-size:65px}
.reading h2{font-size:33px;margin:42px 0 16px}
.reading p{font-size:14px}
.reading .contact-form{margin-top:35px}
.reading>.button{margin-top:22px}
.short-page{padding-block:90px 140px;max-width:780px;min-height:65vh}
.short-page .button{margin-top:35px}
.short-page p{max-width:58ch}

footer{background:#eadbda;border-top:1px solid var(--line);padding-block:55px 75px}
.footer-grid{display:grid;grid-template-columns:1.1fr .85fr 1fr 1.1fr;gap:35px}
.footer-grid h2{font:500 12px var(--sans);margin:3px 0 18px}
.footer-grid p,.footer-grid a:not(.brand){font-size:11px;line-height:1.95}
.footer-grid>div>a:not(.brand){display:block;text-decoration:none;margin-bottom:4px;overflow-wrap:anywhere}
.footer-grid a:hover{text-decoration:underline}
.footer-grid .brand{font-size:28px;display:block;margin-bottom:15px}
.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #d3bfc3;margin-top:40px;padding-top:22px;font-size:10px;color:var(--muted)}
.whatsapp{position:fixed;right:20px;bottom:18px;z-index:25;padding:11px 18px;border:1px solid #b991a0;border-radius:26px;background:#fffaf7f5;color:var(--ink);font-size:11px;text-decoration:none;box-shadow:0 4px 22px #53344412}
.whatsapp span{font-weight:600}
.whatsapp:hover{background:var(--pink)}

/* Progressive enhancement: content stays visible if JS or observers fail. */
.reveal{opacity:1}
.reveal.enter{animation:appear .65s ease both}
@keyframes appear{from{opacity:.4;transform:translateY(15px)}
to{opacity:1;transform:none}
}

@media(min-width:1500px){:root{--max:1240px}
.hero-photo img{height:620px}
.hero{gap:100px}
}

@media(max-width:1050px){.wrap{width:calc(100% - 64px)}
.header nav{gap:20px}
.hero{gap:35px}
.hero-photo img{height:520px}
.split{gap:50px}
.payment-grid,.video-grid{gap:60px}
.contact-layout{gap:45px}
.offer-list h3{font-size:29px}
.offer-list article{padding:30px 20px}
.footer-grid{grid-template-columns:1fr 1fr;gap:35px 70px}
}

@media(max-width:780px){html{scroll-padding-top:90px}
.wrap{width:calc(100% - 44px)}
.nav-wrap{min-height:84px;flex-wrap:wrap;gap:12px;padding-block:16px}
.brand{font-size:27px}
.brand span{font-size:8px;margin-top:6px}
.header nav{width:100%;flex-wrap:wrap;gap:5px 23px}
.header nav a{font-size:13px}
.menu-toggle:not([hidden]){display:block}
.nav-enhanced nav:not(.is-open){display:none}
.nav-enhanced nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0;padding-top:12px}
.nav-enhanced nav.is-open a{padding:13px 0;border-top:1px solid var(--line)}
.hero{gap:30px;padding-block:35px 50px;grid-template-columns:1fr 1fr}
.hero-photo img,.inner-hero .hero-photo img{height:420px}
.hero h1{font-size:49px}
.hero .lead{font-size:14px}
.hero .eyebrow{font-size:9px}
.hero .actions{gap:15px}
.hero .button{font-size:11px;padding:12px 18px}
.hero-photo figcaption{font-size:10px;padding-left:10px}
.split{gap:35px}
.recognition{padding-block:55px}
.section,.offers{padding-block:60px}
.offer-list{grid-template-columns:1fr}
.offer-list article,.offer-list article:first-child,.offer-list article:last-child{padding:26px 0}
.offer-list article+article{border-left:0;border-top:1px solid var(--line)}
.offer-list h3{min-height:0;font-size:34px}
.offer-list article>p:not(.eyebrow){max-width:70ch}
.offer-end{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding-top:18px}
.offer-end strong{margin-bottom:0}
.offer-end .text-link{white-space:nowrap}
.steps{gap:25px}
.steps h3{font-size:25px}
.steps p{font-size:13px}
.about{padding-block:65px}
.about img{height:490px}
.about p:not(.eyebrow){font-size:13px}
.video-grid{gap:40px}
.video-grid figure{max-width:250px}
.payment-grid{gap:35px}
.payment-card{padding:30px 22px}
.payment-card .price{font-size:65px}
.facts{grid-template-columns:1fr 1fr;gap:15px}
.facts>div:nth-child(3){border-left:0;padding-left:0}
.contact-layout{grid-template-columns:1fr;gap:35px;padding-top:45px}
.contact-layout h1{font-size:58px}
.contact-layout .lead{max-width:60ch}
.contact-direct{display:flex;flex-wrap:wrap;align-items:start;gap:25px}
.contact-direct p+p{margin-top:0}
.contact-direct>a{margin-top:5px}
.contact-form{padding:28px}
.reading h1{font-size:52px}
.invitation{padding-block:65px 75px}
}

@media(max-width:560px){body{font-size:15px}
.wrap{width:calc(100% - 40px)}
.hero{grid-template-columns:1fr;gap:28px}
.hero-copy{padding-block:0}
.hero h1{font-size:58px;margin-block:16px 22px}
.hero .eyebrow{font-size:9px;letter-spacing:.08em}
.hero .lead{font-size:15px}
.hero .button{font-size:12px}
.hero-photo{padding:0 10px 0 0;max-width:380px;width:100%;margin-inline:auto}
.hero-photo img,.inner-hero .hero-photo img{height:440px;object-position:center 45%}
.hero-photo figcaption{font-size:11px}
.hero-note{margin-top:19px}
.hero-photo::before{inset:14px 0 34px 18px}
.split,.video-grid,.payment-grid{grid-template-columns:1fr;gap:25px}
.recognition p{font-size:14px}
.recognition h2{margin-bottom:0}
.steps{grid-template-columns:1fr;gap:22px;margin-top:30px}
.steps article{display:grid;grid-template-columns:35px 1fr;gap:0 18px}
.steps .step-number{grid-row:1 / 3;border:0;padding:0;line-height:1.4}
.steps h3{margin:0 0 12px;font-size:29px}
.steps p{font-size:14px;grid-column:2}
.session-intro{padding-block:55px}
.about{gap:38px}
.about figure{max-width:330px;margin-inline:auto}
.about img{height:430px;object-position:center 53%}
.about p:not(.eyebrow){font-size:14px}
.video-section{padding-block:55px}
.video-grid figure{max-width:270px}
.video-grid video{border-radius:65px 38px 55px 25px}
.payment-section{padding-block:55px}
.payment-card{padding:32px 26px}
.payment-card .price{font-size:76px}
.faq{padding-top:55px}
.faq summary{font-size:14px}
.offer-end{align-items:start;flex-direction:column;gap:14px}
.facts strong{font-size:14px}
.facts span{font-size:11px}
.facts>div{padding-inline:12px}
.facts{gap:10px}
.contact-layout h1,.reading h1{font-size:50px}
.contact-direct{display:block}
.contact-direct p+p{margin-top:20px}
.contact-direct>a{margin-top:22px}
.contact-form{padding:25px 20px}
.contact-form .button{width:100%}
.footer-grid{grid-template-columns:1fr 1fr;gap:35px 20px}
.footer-grid>div:first-child{grid-column:1 / -1}
.footer-grid>div:last-child{grid-column:1 / -1}
.footer-bottom{gap:20px;align-items:start}
.whatsapp{right:12px;bottom:12px;font-size:10px;padding:10px 15px}
.whatsapp span{display:none}
.reading{padding-block:45px 70px}
.short-page{padding-block:65px 100px}
.note{padding:14px 18px}
}

@media(max-width:360px){.hero h1{font-size:51px}
.hero-photo img,.inner-hero .hero-photo img{height:380px}
.button{padding-inline:18px}
.brand{font-size:25px}
.brand span{font-size:7px}
.footer-grid{grid-template-columns:1fr}
.footer-grid>div{grid-column:1!important}
.facts strong{font-size:13px}
.payment-card{padding:25px 20px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*::before,*::after{animation:none!important;transition:none!important}
}

@media print{.header,.whatsapp,.menu-toggle,.actions,footer,.button{display:none}
body{background:#fff;color:#000}
.wrap{width:100%}
.hero{padding-block:20px}
.reveal{opacity:1}
.reading{max-width:none}
.contact-form{break-inside:avoid}
}

.practice-photo{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px;padding-bottom:90px}
.practice-photo img{height:540px;width:100%;object-position:center 65%;border-radius:20% 32% 18% 30% / 15% 22% 29% 19%}
.practice-photo p{font-size:14px}
@media(max-width:780px){.practice-photo{gap:35px;padding-bottom:60px}
.practice-photo img{height:410px}
}
@media(max-width:560px){.practice-photo{grid-template-columns:1fr;gap:30px}
.practice-photo img{height:450px;object-position:center 70%}
}

/* Revision: clearer calls to action and distinct program cards. */
.button,.hero .button{font-size:16px;min-height:56px;padding:15px 27px}
.button.secondary{border-width:1.5px}
.hero .actions{gap:16px}
.offer-list.offer-cards{border:0;gap:24px;align-items:stretch}
.offer-list.offer-cards article{padding:36px 28px;background:#fffaf7;border:1px solid #dfc4cd;border-radius:32px;box-shadow:0 12px 36px #66314f0a;text-align:center;transition:box-shadow .2s,border-color .2s}
.offer-list.offer-cards article:hover{border-color:#b98196;box-shadow:0 15px 40px #66314f14}
.offer-cards h3{font-size:35px;font-weight:600;min-height:86px;margin:24px 0 20px}
.offer-list.offer-cards article>p:not(.eyebrow){font-size:16px;line-height:1.85}
.offer-cards .offer-end{display:flex;flex-direction:column;align-items:center;gap:0;padding-top:30px;width:100%}
.offer-cards .offer-end .offer-date{font-size:14px;line-height:1.65;min-height:48px}
.offer-cards .offer-end .offer-price{font:600 34px/1.3 var(--serif);margin:20px 0 26px;color:var(--ink)}
.offer-cards .button{width:100%;margin-top:auto}
.invitation h2{max-width:850px;margin-inline:auto}
.program-date,.inner-hero p.program-date{font-size:21px;line-height:1.5;color:var(--accent);margin-bottom:14px;max-width:100%}
.inline-date{font-size:18px;color:var(--ink)}
.whatsapp{font-size:13px;background:var(--accent);color:var(--white);border-color:var(--accent);padding:13px 20px}
.whatsapp:hover{background:#71344b}
/* Native disclosure navigation: touch and keyboard support without a dependency. */
.program-menu{position:relative;color:var(--ink)}
.program-menu>summary{list-style:none;cursor:pointer;font-size:12px;padding:12px 0;text-underline-offset:5px}
.program-menu>summary::-webkit-details-marker{display:none}
.program-menu[open]>summary,.program-menu>summary:hover{text-decoration:underline;color:var(--accent)}
.program-submenu{position:absolute;top:100%;left:-20px;min-width:240px;padding:12px 20px;background:var(--white);border:1px solid var(--line);border-radius:8px 24px 8px 16px;box-shadow:0 12px 30px #53344416}
.header .program-submenu a{display:block;padding:12px 0;font-size:14px}
@media(max-width:1050px){.offer-list.offer-cards{gap:18px}.offer-list.offer-cards article{padding:30px 22px}.offer-cards h3{font-size:31px}}
@media(max-width:780px){.offer-list.offer-cards{grid-template-columns:1fr;gap:24px}.offer-list.offer-cards article{padding:34px;max-width:620px;width:100%;margin-inline:auto}.offer-cards h3{min-height:0;font-size:36px}.offer-cards .offer-end .offer-date{min-height:0}.offer-cards .button{max-width:340px}.program-menu>summary{font-size:13px;padding:13px 0;border-top:1px solid var(--line)}.program-submenu{position:static;min-width:0;box-shadow:none;margin:0 0 12px;padding:5px 20px;border-radius:15px}.header .program-submenu a{font-size:14px}.program-date,.inner-hero p.program-date{font-size:19px}}
@media(max-width:560px){.offer-list.offer-cards article{padding:30px 24px}.offer-cards h3{font-size:33px}.button,.hero .button{font-size:16px;padding:14px 22px}.hero .actions .button{flex:1 1 auto}.program-date,.inner-hero p.program-date{font-size:20px}.whatsapp{font-size:12px}.invitation h2{font-size:40px}}
/* Clear numerals and a prominent edition date. */
.payment-card .price{font-family:var(--sans);font-size:68px;font-weight:600;font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.035em}
.offer-cards .offer-end .offer-price{font-family:var(--sans);font-size:31px;font-weight:600;font-variant-numeric:lining-nums tabular-nums}
.inner-hero p.program-date{font-family:var(--sans);font-size:clamp(25px,3vw,38px);line-height:1.35;color:var(--ink);background:var(--pink);border-left:4px solid var(--accent);padding:16px 20px;margin-bottom:22px;letter-spacing:0;font-variant-numeric:lining-nums}
.detail-section{padding-block:60px}.detail-section>p:not(.eyebrow){font-size:16px;margin-top:20px;max-width:78ch}.detail-section>.button{margin-top:28px}.detail-section>h2{max-width:900px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-block:30px}.detail-grid article{padding:26px 28px;border:1px solid var(--line);border-radius:8px 28px 8px 20px;background:var(--white)}.detail-grid h3{font-size:29px;margin:0 0 16px}.detail-grid p{font-size:15px}.copy-columns{display:grid;grid-template-columns:1fr 1fr;gap:45px}.copy-columns p+p{margin-top:0}.included-note{background:var(--pink);padding:20px 24px;border-radius:10px}.legal-table{width:100%;border-collapse:collapse;font-size:13px;margin-block:25px}.legal-table th,.legal-table td{padding:14px 12px;text-align:left;border:1px solid var(--line);vertical-align:top}.legal-table th{background:var(--pink)}.legal-table-wrap{overflow-x:auto}.reading nav{display:flex;flex-wrap:wrap;gap:10px 18px;margin-block:28px;font-size:13px}.reading ul,.reading ol{font-size:14px;line-height:1.9;padding-left:22px}.reading li+li{margin-top:10px}
@media(max-width:560px){.detail-grid,.copy-columns{grid-template-columns:1fr;gap:20px}.detail-section{padding-block:42px}.detail-grid article{padding:23px}.inner-hero p.program-date{font-size:26px;padding:14px 16px}.payment-card .price{font-size:60px}.legal-table{min-width:560px}}
/* A quiet closing invitation, subordinate to the page content. */
.invitation{padding-block:45px 55px}
.invitation h2{font-size:30px;line-height:1.35;letter-spacing:-.015em;max-width:640px;margin-block:10px 16px}
.invitation h2 br{display:none}
.invitation h2 em{color:inherit}
.invitation .lead{font-size:15px;max-width:62ch}
.invitation .eyebrow{font-size:10px}
.invitation .button{margin-top:22px}
@media(max-width:560px){.invitation{padding-block:35px 45px}.invitation h2{font-size:25px;max-width:100%}.invitation .lead{font-size:14px}}

/* Readable legal pages and long brand descriptor. */
.legal h1{font-size:clamp(32px,5vw,52px)}
.legal h2{font-size:28px;margin-top:38px}
.legal p{font-size:16px;line-height:1.75}
.legal nav{display:block;line-height:2}
.brand span{white-space:normal;max-width:300px;font-size:10px;line-height:1.4}

/* Fine serif figures, consistent across headings, dates and body copy. */
@font-face{font-family:'Tea Numerals';src:url('tea-numerals.woff') format('woff');font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0030-0039}
:root{--sans:'Tea Numerals','Inter','Tea Sans',sans-serif;--serif:'Tea Numerals','Cormorant Garamond','Tea Serif',serif}
.payment-card .price{display:flex;align-items:baseline;justify-content:center;gap:12px;font-family:var(--serif);font-size:58px;font-weight:400;font-style:normal;line-height:1.15;letter-spacing:0;font-variant-numeric:lining-nums proportional-nums}
.payment-card .price span{font-family:'Inter','Tea Sans',sans-serif;font-size:16px;font-weight:400;line-height:1.4;letter-spacing:.06em;margin:0;white-space:nowrap}
.offer-cards .offer-end .offer-price{font-family:var(--serif);font-size:30px;font-weight:400;letter-spacing:0;font-variant-numeric:lining-nums proportional-nums}
@media(max-width:560px){.payment-card .price{font-size:50px;gap:10px}.payment-card .price span{font-size:15px}}

/* Program destinations are always visible; no disclosure or focus-close handler. */
.header nav{gap:24px}
.online-programs{display:flex;flex-direction:column;gap:3px;align-items:flex-start;flex-shrink:0}
.online-programs-label{display:inline-block;padding:3px 12px;border-radius:14px;background:var(--accent);color:var(--white);font:500 12px/1.6 var(--sans);letter-spacing:.025em}
.online-programs-links{display:flex;gap:18px}
.header .online-programs-links a{display:block;padding:9px 0;font-size:13px;white-space:nowrap}
.header .online-programs-links a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px}
@media(min-width:781px) and (max-width:1100px){.nav-wrap{flex-wrap:wrap;justify-content:center;gap:12px;padding-block:18px}.header nav{width:100%;justify-content:center;gap:24px}}
@media(max-width:780px){.online-programs{width:100%;padding:14px 0 5px;gap:8px}.online-programs-links{width:100%;flex-direction:column;gap:0}.header .online-programs-links a{padding:12px 0;font-size:14px}.online-programs-label{font-size:12px}.header nav{gap:5px 23px}}
