:root{--teal:#0f6e6b;--teal-deep:#0a5553;--sand:#f3ead8;--sand-deep:#e7dcc6;--coral:#e36a4a;--coral-deep:#c85436;--ink:#1c2a28;--muted:#5e6b68;--paper:#fffaf3;--white:#fff;--max:1140px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--sand);font-family:"Segoe UI","Candara","Calibri",sans-serif;line-height:1.62}
a{color:inherit;text-decoration:none}
a:hover{color:var(--coral)}
img{max-width:100%;display:block}
.container{width:min(var(--max),calc(100% - 36px));margin:0 auto}
.narrow{max-width:720px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{position:sticky;top:0;z-index:8;padding:14px 0 8px;background:linear-gradient(180deg,var(--sand) 70%,transparent)}
.header-shell{display:flex;align-items:center;gap:22px;min-height:64px;padding:8px 16px 8px 10px;background:var(--white);border-radius:999px;box-shadow:0 10px 28px rgba(15,110,107,.12)}
.brand{display:inline-flex;align-items:center;gap:10px;font-weight:750;letter-spacing:-.03em;font-size:1.12rem}
.brand-icon{width:36px;height:36px;border-radius:50%}
.brand-mark{color:var(--muted);font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.header-shell nav{display:flex;gap:8px;margin-left:auto}
.header-shell nav a{color:var(--muted);padding:.42rem .86rem;border-radius:999px;font-size:.92rem}
.header-shell nav a.active,.header-shell nav a:hover{color:var(--teal);background:var(--sand)}
.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--teal);border-radius:999px;background:var(--teal);color:var(--white);padding:.78rem 1.2rem;font:inherit;font-weight:700;cursor:pointer}
.button:hover{background:var(--teal-deep);border-color:var(--teal-deep);color:var(--white)}
.button-small{padding:.48rem .95rem;font-size:.88rem}
.button-ghost{background:transparent;color:var(--coral);border-color:var(--coral)}
.button-ghost:hover{background:var(--coral);color:var(--white)}
.button-light{background:var(--white);color:var(--teal);border-color:var(--white)}
.button-light:hover{background:var(--sand);color:var(--teal-deep)}
.eyebrow{margin:0 0 10px;color:var(--coral);font-size:.76rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase}
.lead{font-size:1.12rem;color:var(--muted);max-width:640px}
.hero{padding:28px 0 56px}
.hero-pair{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.hero h1,.page-mast h1{margin:0;font-size:clamp(2.35rem,5.4vw,4.35rem);line-height:.98;letter-spacing:-.055em;font-weight:750}
.hero h1{max-width:16ch}
.page-mast h1{max-width:18em}
.hero h1 em{font-style:normal;color:var(--teal)}
.hero-actions{display:flex;align-items:center;gap:18px;margin-top:26px;flex-wrap:wrap}
.text-link{color:var(--coral);font-weight:700}
.hero-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:36px}
.hero-chips div{background:var(--white);border-radius:999px;padding:.55rem 1rem;display:flex;gap:8px;align-items:baseline}
.hero-chips strong{color:var(--teal);font-size:1.05rem}
.hero-chips span{color:var(--muted);font-size:.78rem}
.hero-disc{justify-self:center;width:min(430px,100%);aspect-ratio:1;border-radius:50%;padding:14px;background:var(--white);box-shadow:0 18px 40px rgba(15,110,107,.16)}
.hero-disc img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.topic-row{display:flex;flex-wrap:wrap;gap:10px;padding:0 0 10px}
.topic-row span{background:var(--teal);color:var(--sand);border-radius:999px;padding:.38rem .9rem;font-size:.8rem;font-weight:700;letter-spacing:.04em}
.section{padding:78px 0}
.section-sand{background:var(--sand-deep)}
.section-teal{background:var(--teal);color:var(--paper)}
.section-teal .eyebrow{color:#f6c4b6}
.section-teal p{color:#d5e6e4}
.intro-lane{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.intro-lane h2,.mast-copy h2,.invite-band h2{margin:0;font-size:clamp(1.85rem,3.6vw,2.85rem);line-height:1.08;letter-spacing:-.04em}
.intro-lane p{color:var(--muted)}
.step-board{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.step-tile{background:rgba(255,250,243,.1);border:1px solid rgba(243,234,216,.22);border-radius:28px;padding:26px 24px}
.step-tile h3{margin:12px 0 8px;font-size:1.28rem}
.step-tile p{margin:0;color:#d5e6e4}
.step-num{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:50%;background:var(--coral);color:var(--white);font-weight:750}
.mast-row{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}
.mast-row h2{margin:0;font-size:clamp(1.85rem,3.6vw,2.85rem);line-height:1.08;letter-spacing:-.04em}
.session-stack{display:grid;gap:14px}
.session-row{display:grid;grid-template-columns:92px 148px minmax(0,1fr) auto;gap:22px;align-items:center;background:var(--white);border-radius:32px;padding:16px 22px 16px 10px;box-shadow:0 8px 22px rgba(28,42,40,.06)}
.session-row:hover{color:inherit;transform:translateY(-2px)}
.session-num{font-size:clamp(2.4rem,4vw,3.4rem);font-weight:750;color:var(--teal);letter-spacing:-.08em;line-height:.9;text-align:center}
.session-shot{width:148px;height:108px;border-radius:22px;overflow:hidden}
.session-shot img{width:100%;height:100%;object-fit:cover}
.session-copy h3{margin:0 0 6px;font-size:1.35rem}
.session-copy p{margin:0;color:var(--muted)}
.session-copy strong,.sheet-price{color:var(--coral);font-size:1.12rem}
.pull-block{display:grid;grid-template-columns:.92fr 1.08fr;gap:48px;align-items:center}
.pull-photo{border-radius:36px;overflow:hidden;min-height:420px}
.pull-photo img{width:100%;height:420px;object-fit:cover}
.pull-copy blockquote{margin:12px 0 18px;font-size:clamp(1.7rem,3.4vw,2.7rem);line-height:1.12;letter-spacing:-.04em;font-weight:650}
.pull-copy p{color:var(--muted)}
.format-lane{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.format-tile{background:var(--white);color:var(--ink);border-radius:28px;padding:26px;display:grid;gap:10px;box-shadow:0 8px 20px rgba(28,42,40,.05)}
.format-tile h3{margin:0;font-size:1.28rem}
.format-tile p{margin:0;color:var(--muted)}
.section-teal .format-tile p{color:var(--muted)}
.format-tile strong{color:var(--coral)}
.voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.voice-card{background:var(--white);border-radius:30px;padding:24px;display:flex;flex-direction:column;gap:16px}
.voice-card blockquote{margin:0;font-size:1.08rem;line-height:1.4}
.voice-who{display:flex;align-items:center;gap:12px;margin-top:auto}
.voice-who img{width:52px;height:52px;border-radius:50%;object-fit:cover}
.voice-who strong{font-size:.9rem;color:var(--muted);font-weight:650}
.ask-list{display:grid;gap:10px;max-width:820px}
.ask-list details{background:var(--white);border-radius:22px;padding:8px 20px}
.ask-list summary{display:flex;justify-content:space-between;gap:16px;cursor:pointer;font-weight:700;padding:12px 0}
.ask-list summary span{color:var(--coral);font-size:1.35rem;font-weight:500}
.ask-list details p{margin:0 0 14px;color:var(--muted);max-width:680px}
.invite-band{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.invite-band p{color:#d5e6e4}
.letter-band{padding:70px 0;background:var(--paper)}
.letter-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:42px;align-items:center}
.letter-grid h2{margin:0 0 12px;font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.08}
.letter-grid p{margin:0;color:var(--muted);max-width:460px}
.letter-row{display:flex;gap:8px}
.letter-row input[type=email]{flex:1;min-width:0;border:1px solid var(--sand-deep);border-radius:999px;padding:.85rem 1.1rem;font:inherit;background:var(--white)}
.letter-row input[type=email]:focus,.ask-form input:focus,.ask-form textarea:focus,.ask-form select:focus{outline:2px solid var(--coral);outline-offset:1px}
.letter-note{margin-top:10px;font-size:.78rem;color:var(--muted)}
.page-hero{padding:48px 0 56px}
.page-hero h1{margin:0 0 12px;font-size:clamp(2rem,4.4vw,3.4rem);line-height:1.08}
.page-hero .lead{max-width:640px;color:var(--muted)}
.page-hero .button{margin-top:22px}
.page-mast{padding:42px 0 36px}
.page-mast-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.page-photo{border-radius:32px;overflow:hidden}
.page-photo img{width:100%;height:360px;object-fit:cover}
.catalog-stack{display:grid;gap:18px}
.program-sheet{display:grid;grid-template-columns:92px 220px minmax(0,1fr);gap:0;background:var(--white);border-radius:32px;overflow:hidden;box-shadow:0 10px 26px rgba(28,42,40,.06)}
.program-sheet .session-num{padding:28px 8px 0}
.sheet-photo{height:100%;min-height:220px}
.sheet-photo img{width:100%;height:100%;min-height:220px;object-fit:cover}
.sheet-body{padding:26px 28px 28px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.sheet-body h2{margin:0;font-size:1.7rem;line-height:1.1}
.sheet-body p{margin:0;color:var(--muted)}
.sheet-body ul{margin:6px 0 12px;padding-left:18px;color:var(--muted);line-height:1.8}
.sheet-top{display:flex;justify-content:space-between;width:100%;gap:12px;align-items:center}
.sheet-top span{color:var(--teal);font-weight:750;font-size:.82rem;letter-spacing:.04em}
.program-sheet-accent{background:var(--teal);color:var(--paper)}
.program-sheet-accent p,.program-sheet-accent li,.program-sheet-accent .sheet-top span{color:#d5e6e4}
.program-sheet-accent .sheet-price{color:#f6c4b6}
.program-sheet-wide{grid-template-columns:92px 220px minmax(0,1fr) auto}
.program-sheet-wide .button{margin:auto 24px auto 0}
.contact-lane{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px}
.contact-lane h2{margin:0 0 12px;font-size:2.1rem}
.contact-lane p{color:var(--muted)}
.hint-box{margin-top:28px;padding:18px 0;border-top:1px dashed var(--sand-deep);border-bottom:1px dashed var(--sand-deep)}
.hint-box span{color:var(--muted)}
.hours-card{margin-top:28px;padding:22px 24px;background:var(--white);border:1px solid var(--sand-deep);border-radius:24px;box-shadow:0 10px 28px rgba(28,42,40,.06)}
.hours-card strong{display:block;margin-bottom:16px;font-size:1.05rem}
.hours-card dl{margin:0;display:grid;gap:12px}
.hours-card dl div{display:flex;justify-content:space-between;gap:16px;font-size:.95rem}
.hours-card dt{color:var(--muted);font-weight:400}
.hours-card dd{margin:0;font-weight:700}
.ask-form{display:grid;gap:16px;background:var(--white);border-radius:32px;padding:28px;box-shadow:0 12px 30px rgba(15,110,107,.1)}
.ask-form label{display:grid;gap:6px;font-weight:700}
.ask-form input,.ask-form textarea,.ask-form select{width:100%;border:1px solid var(--sand-deep);border-radius:16px;padding:.78rem;font:inherit;background:var(--paper)}
.ask-form input::placeholder,.ask-form textarea::placeholder{color:#8a7f72}
.ask-form .check{display:flex;align-items:flex-start;gap:9px;font-weight:500;color:var(--muted)}
.ask-form .check input{width:auto;margin-top:5px}
.legal-sheet{max-width:740px}
.legal-sheet h2{margin-top:34px;line-height:1.15}
.legal-sheet h2:first-child{margin-top:0}
.legal-sheet p{color:var(--muted)}
code{background:var(--sand);padding:.12rem .36rem;border-radius:8px}
.site-footer{padding:52px 0 22px;background:var(--teal);color:var(--paper)}
.footer-grid{display:grid;grid-template-columns:1.35fr .7fr .9fr 1fr;gap:28px}
.footer-grid h2{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#d5e6e4}
.footer-grid p,.footer-grid a,.footer-grid span{display:block;color:#d5e6e4;font-size:.92rem;margin:.42rem 0}
.footer-grid a:hover{color:var(--sand)}
.footer-grid .brand{color:var(--paper)}
.footer-bottom{display:flex;justify-content:space-between;gap:18px;margin-top:36px;padding-top:16px;border-top:1px solid rgba(243,234,216,.22);color:#d5e6e4;font-size:.84rem}
.footer-bottom button{border:0;background:none;color:var(--sand);cursor:pointer;font:inherit}
.cookie-banner{position:fixed;z-index:12;left:18px;right:18px;bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--white);color:var(--ink);padding:16px 18px;border-radius:28px;box-shadow:0 16px 40px rgba(28,42,40,.18)}
.cookie-banner[hidden]{display:none}
.cookie-banner p{margin:0;font-size:.9rem}
.cookie-banner div{display:flex;gap:8px;flex-shrink:0}
.cookie-banner button{border:1px solid var(--teal);background:transparent;color:var(--teal);border-radius:999px;padding:.48rem .8rem;cursor:pointer;font:inherit}
.cookie-banner .button{background:var(--coral);border-color:var(--coral);color:var(--white)}
@media(max-width:980px){.hero-pair,.intro-lane,.pull-block,.format-lane,.voice-grid,.invite-band,.letter-grid,.page-mast-grid,.contact-lane,.program-sheet,.program-sheet-wide{grid-template-columns:1fr}.session-row{grid-template-columns:72px 1fr auto}.session-shot{display:none}.step-board{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.header-shell{flex-wrap:wrap;border-radius:28px;padding:12px}.header-shell nav{order:3;width:100%;overflow:auto;margin-left:0}.header-shell>.button{margin-left:auto}.hero{padding:12px 0 40px}.section,.letter-band{padding:56px 0}.hero-disc{width:min(300px,86vw)}.hero-actions{flex-direction:column;align-items:flex-start}.step-board,.format-lane,.voice-grid,.footer-grid{grid-template-columns:1fr}.session-row{grid-template-columns:64px 1fr}.session-copy strong{display:block;margin-top:8px}.pull-photo,.pull-photo img,.page-photo img{min-height:280px;height:280px}.letter-row{flex-direction:column}.program-sheet-wide .button{margin:0 20px 20px}.cookie-banner{left:10px;right:10px;bottom:10px;display:block;border-radius:22px}.cookie-banner div{margin-top:12px}.brand-mark{display:none}}
