@font-face{font-family:Timeless;src:url('/font/Timeless.ttf') format('truetype');font-display:swap}
:root{--wine:#804038;--gold:#a47631;--ink:#342d2b;--muted:#655954;--cream:#f8f4f1;--line:#e5d4b8;--white:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Timeless,Georgia,serif;font-size:18px;line-height:1.6}
h1,h2,h3,p,figure,dl{margin:0}
h1,h2,h3{font-weight:400;line-height:1.15;text-wrap:balance}
h1{font-size:clamp(2.4rem,7vw,4.4rem);letter-spacing:-.025em;margin:20px 0 24px}
h2{font-size:clamp(1.8rem,5vw,2.7rem);color:var(--wine);margin-bottom:20px}
h3{font-size:1.7rem;color:var(--wine);margin:20px 0 16px}
p+p{margin-top:16px}
a{color:var(--wine);text-underline-offset:4px}
a[href]:hover,a[href]:focus-visible{color:#a04a45}
.brand-name a{text-decoration:none;transition:color .2s}
button,input{font:inherit}
a,button,input{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #163b56;outline-offset:5px}
.skip-link{position:absolute;top:-100px;left:16px;padding:12px;background:white;z-index:10}
.skip-link:focus{top:12px}
.lesson-brand{padding:22px 20px;border-bottom:1px solid var(--line);text-align:center;background:var(--white)}
.brand-name{font-size:1.5rem;color:var(--wine)}
.lesson-brand p+p{font-size:.82rem;margin:2px 0 0;color:var(--muted)}
.section-wrap{width:min(1120px,calc(100% - 40px));margin-inline:auto;padding-block:44px}
.eyebrow{font-family:Arial,sans-serif;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--wine);margin-bottom:16px;font-weight:700}
.pill{display:inline-block;border:1px solid var(--line);border-radius:100px;padding:6px 14px;background:#fffaf0;color:#725023;font-size:.88rem}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;max-width:100%;padding:14px 24px;border:1px solid var(--wine);border-radius:8px;background:var(--wine);color:white;text-decoration:none;font-size:1.05rem;font-weight:700;text-align:center;cursor:pointer;line-height:1.35;transition:background .15s}
.button:hover{background:#63302a}
a.button:hover,a.button:focus-visible{color:#f5dfb7}
.button:disabled{background:#ded7d2;border-color:#ded7d2;color:#645a55;cursor:not-allowed}
.microcopy{font-family:Arial,sans-serif;font-size:.78rem;line-height:1.6;color:var(--muted);margin-top:14px}
.lesson-hero{display:grid;gap:32px;padding-top:40px}
.hero-benefit{font-size:1.22rem;max-width:42ch}
.event-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;margin:28px 0}
.event-facts dt{font-family:Arial,sans-serif;font-size:.72rem;color:var(--muted);margin-bottom:4px}
.event-facts dd{margin:0;font-size:1rem;overflow-wrap:anywhere}
.hero-photo{align-self:center}
.hero-photo img{display:block;width:100%;max-height:480px;height:auto;aspect-ratio:8/9;object-fit:cover;object-position:center 25%;border-radius:120px 120px 12px 12px;background:#e9ded0}
.hero-photo figcaption{font-size:.8rem;color:var(--muted);text-align:center;margin-top:10px}
.learning-section,.audience-section,.presenter-section{border-top:1px solid var(--line)}
.benefits{list-style:none;counter-reset:benefit;padding:0;margin:28px 0 0;display:grid;gap:16px}
.benefits li{counter-increment:benefit;background:white;padding:24px;border:1px solid var(--line);border-radius:12px}
.benefits li::before{content:'0' counter(benefit);display:block;font-size:1.6rem;color:var(--gold);margin-bottom:14px}
.audience-section p{max-width:65ch}
.presenter-section{display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.presenter-photo{width:180px;height:210px;object-fit:cover;border-radius:12px}
.credentials{padding-left:22px}
.editable-placeholder{font-size:.9rem;color:var(--muted);border-left:2px solid var(--line);padding-left:12px;margin-top:18px}
.signup-section{scroll-margin-top:20px}
.signup-card{max-width:660px;margin:auto;padding:28px 20px;background:linear-gradient(135deg,#fffaf0,#f5e6bc);border:1px solid #c4a36a;border-radius:16px}
.signup-card form{margin-top:26px}
form>label:not(.checkbox-label){display:block;margin:18px 0 6px}
input:not([type=checkbox]):not([type=hidden]){width:100%;min-height:50px;padding:12px;border:1px solid #938077;border-radius:6px;background:white;color:var(--ink);font-size:18px}
.checkbox-label{display:flex;align-items:flex-start;gap:12px;margin:22px 0;font-family:Arial,sans-serif;font-size:.8rem;line-height:1.55}
.checkbox-label input{flex:0 0 20px;width:20px;height:20px;margin:3px 0 0;accent-color:var(--wine)}
.signup-card button{width:100%}
.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.error-summary{border:2px solid var(--wine);border-radius:8px;padding:16px;background:#fff;margin:20px 0;color:#682e27}
.error-summary ul{padding-left:20px}
.field-error{font-size:.9rem;color:#682e27;margin-top:6px}
[aria-invalid=true]{border-color:#9c241d!important}
.catalog-intro{max-width:860px;text-align:center}
.catalog-category{border-top:1px solid var(--line)}
.lesson-grid{display:grid;gap:24px}
.lesson-card{padding:28px;border:1px solid var(--line);border-radius:12px;background:white;display:flex;flex-direction:column;align-items:flex-start}
.lesson-card .button{margin-top:24px}
.lesson-detail{font-size:.9rem;color:var(--muted);margin-top:16px}
.empty-state{padding:24px 0;color:var(--muted)}
.confirmation-section{max-width:760px;text-align:center;min-height:60vh;padding-block:64px}
.confirmation-section .button{margin-top:28px}
.text-link{display:block;margin-top:28px}
.privacy-page{max-width:820px}
.privacy-page h2{font-size:1.5rem;margin-top:32px}
.privacy-page a{overflow-wrap:anywhere}
.lesson-footer{border-top:1px solid var(--line);padding:28px 20px;text-align:center;font-size:.82rem;color:var(--muted)}
@media(min-width:760px){.section-wrap{padding-block:60px}.lesson-hero{grid-template-columns:1.3fr .8fr;gap:64px}.benefits{grid-template-columns:repeat(3,1fr)}.presenter-section{flex-direction:row;justify-content:space-between;align-items:center}.signup-card{padding:44px}.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.lesson-hero .button{width:100%}.section-wrap{width:calc(100% - 32px)}.event-facts{gap:16px}.signup-card{padding:24px 16px}.checkbox-label{font-size:.78rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
