[hidden]{display:none!important}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:84px}
body{margin:0;background:#F6F0E8;color:#1A1412;font-family:Manrope,system-ui,sans-serif;font-weight:500;overflow-x:hidden;text-wrap:pretty;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,p,figure,blockquote,ul,ol,li{margin:0}
ul,ol{padding:0;list-style:none}
img{display:block;max-width:100%}
a{color:#1A1412;text-decoration:none}
a:hover{color:#C2451B}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid #C2451B;outline-offset:3px}
::selection{background:#C2451B;color:#F6F0E8}
::placeholder{color:#8A8178}
em{font-style:italic}

.serif{font-family:'Instrument Serif',Georgia,serif;font-weight:400}
.wrap{max-width:1440px;margin:0 auto;padding-left:clamp(18px,4vw,56px);padding-right:clamp(18px,4vw,56px)}
.eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:#A63A14}
.on-dark .eyebrow,.eyebrow.light{color:#E0682F}
.accent{color:#C2451B}
.on-dark .accent{color:#E0682F}
.body{font-size:clamp(15.5px,1.2vw,18px);line-height:1.7;color:#3A302B;max-width:48ch}
.on-dark .body{color:#E4DBD2}
.photo{filter:contrast(1.06) saturate(1.18) brightness(1.04)}
.cover{width:100%;height:100%;object-fit:cover}
.card-photo{position:relative;border-radius:6px;overflow:hidden;background:#E9DFD3}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:17px 28px;border-radius:999px;border:0;cursor:pointer;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-align:center;transition:background .3s,color .3s,transform .3s}
.btn:hover{transform:translateY(-2px)}
.btn-dark{background:#1A1412;color:#F6F0E8}.btn-dark:hover{background:#C2451B;color:#F6F0E8}
.btn-orange{background:#C2451B;color:#F6F0E8}.btn-orange:hover{background:#1A1412;color:#F6F0E8}
.on-dark .btn-orange:hover,.btn-orange.inv:hover{background:#F6F0E8;color:#1A1412}
.btn-cream{background:#F6F0E8;color:#1A1412}.btn-cream:hover{background:#1A1412;color:#F6F0E8}
.btn[disabled]{background:#E6DDD2;color:#6E655C;cursor:not-allowed;transform:none}
.link{display:inline-flex;align-items:baseline;gap:8px;font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:clamp(20px,1.8vw,26px);line-height:1.1;color:#C2451B;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;background:none;border:0;padding:0;cursor:pointer}
.link:hover{color:#1A1412}
.on-dark .link{color:#E0682F}.on-dark .link:hover{color:#F6F0E8}
.link span{font-style:normal}

.hdr{position:sticky;top:0;z-index:60;background:rgba(246,240,232,.88);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid rgba(26,20,18,.1)}
.hdr-in{height:clamp(66px,7vw,84px);display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{font-family:'Instrument Serif',Georgia,serif;font-size:clamp(22px,2.1vw,28px);letter-spacing:-.01em;white-space:nowrap;line-height:1}
.logo em{color:#C2451B}
.nav{display:none;align-items:center;gap:clamp(18px,2.2vw,34px)}
.nav a:not(.btn){font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:6px 0;background:linear-gradient(#C2451B,#C2451B) left bottom/0 1px no-repeat;transition:background-size .35s cubic-bezier(.16,1,.3,1)}
.nav a:not(.btn):hover{background-size:100% 1px;color:#1A1412}
.nav .btn{min-height:46px;padding:14px 22px;font-size:11.5px}
.menu-btn{display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;border-radius:999px;background:transparent;border:1px solid rgba(26,20,18,.24);cursor:pointer;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.mnav{display:none;border-top:1px solid rgba(26,20,18,.1);background:#F6F0E8;padding:12px clamp(18px,4vw,56px) 28px;max-height:calc(100vh - 66px);overflow:auto}
.mnav.open{display:grid}
.mnav a:not(.btn){padding:16px 0;border-bottom:1px solid rgba(26,20,18,.1);font-family:'Instrument Serif',Georgia,serif;font-size:30px}
.mnav .btn{margin-top:14px}
@media (min-width:1100px){.nav{display:flex}.menu-btn,.mnav,.mnav.open{display:none}}

.ftr{background:#1A1412;color:#F6F0E8;padding:clamp(56px,7vw,110px) 0 clamp(28px,3vw,44px)}
.ftr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:clamp(28px,4vw,48px)}
.ftr nav{display:grid;gap:12px;align-content:start}
.ftr nav p{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#A89A90}
.ftr nav a{font-size:15px;color:#F6F0E8}.ftr nav a:hover{color:#E0682F}
.ftr-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;border-top:1px solid rgba(246,240,232,.16);padding-top:22px;margin-top:clamp(40px,5vw,72px)}
.ftr-base p{font-size:12.5px;line-height:1.7;color:#A89A90;max-width:74ch}

.rule-list{display:grid;border-top:1px solid rgba(26,20,18,.16)}
.rule-list li{display:grid;grid-template-columns:2.4em minmax(0,1fr);gap:12px;align-items:baseline;padding:14px 0;border-bottom:1px solid rgba(26,20,18,.14);font-size:15.5px;line-height:1.55}
.rule-list .n{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:22px;color:#C2451B}
.on-dark .rule-list{border-color:rgba(246,240,232,.2)}.on-dark .rule-list li{border-color:rgba(246,240,232,.16)}.on-dark .rule-list .n{color:#E0682F}

.field{display:grid;gap:8px}
.field span{font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.input{width:100%;min-height:54px;padding:14px 16px;background:#F6F0E8;font-size:16px;outline:none;border-radius:0;appearance:none;-webkit-appearance:none;border:1px solid rgba(26,20,18,.24)}
.input:focus{border-color:#C2451B}
.input.err{border-color:#C2451B;box-shadow:0 0 0 1px #C2451B}
select.input{cursor:pointer;padding-right:44px;background-image:linear-gradient(45deg,transparent 50%,#C2451B 50%),linear-gradient(135deg,#C2451B 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat}

.yt{position:relative;width:100%;background:#1A1412;overflow:hidden;border-radius:6px}
.yt img{width:100%;height:100%;object-fit:cover}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.yt-play{position:absolute;inset:0;margin:auto;width:84px;height:84px;border-radius:50%;border:0;background:#C2451B;color:#F6F0E8;cursor:pointer;display:grid;place-items:center;font-size:24px;box-shadow:0 20px 40px -16px rgba(0,0,0,.6);transition:transform .3s,background .3s}
.yt-play:hover{transform:scale(1.06);background:#1A1412}

details.faq{border-bottom:1px solid rgba(26,20,18,.14)}
details.faq summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:baseline;padding:clamp(17px,2vw,24px) 0;cursor:pointer;font-family:'Instrument Serif',Georgia,serif;font-size:clamp(22px,2.2vw,30px);line-height:1.15;transition:color .18s}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:'+';font-family:Manrope,sans-serif;font-size:20px;color:#C2451B}
details.faq[open] summary::after{content:'−'}
details.faq summary:hover{color:#C2451B}
details.faq p{padding:0 clamp(24px,4vw,64px) clamp(20px,2.2vw,28px) 0;font-size:clamp(15px,1.15vw,17px);line-height:1.75;color:#3A302B;max-width:70ch}

.marquee{overflow:hidden;padding:18px 0}
.marquee-track{display:flex;width:max-content;animation:frc-marquee 38s linear infinite}
.marquee-track span{display:inline-flex;align-items:center;gap:40px;padding-right:40px;font-family:'Instrument Serif',Georgia,serif;font-size:clamp(24px,2.4vw,36px);white-space:nowrap}
.marquee-track span:nth-child(even){font-style:italic;color:#E0682F}
.marquee-track span::after{content:'✦';color:#C2451B;font-size:18px;font-style:normal}

.preview-bar{background:#1A1412;color:#F6F0E8;font-size:12px;letter-spacing:.06em;line-height:1.5;text-align:center;padding:10px clamp(18px,4vw,56px)}
.preview-bar strong{color:#E0682F;letter-spacing:.18em;text-transform:uppercase;font-size:11px;margin-right:8px}
.ph{display:inline-block;padding:2px 8px;border:1px dashed #C2451B;color:#A63A14;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border-radius:4px;vertical-align:middle}
.sess{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 18px;align-items:center;padding:18px clamp(14px,2vw,22px);background:#F6F0E8;border:1px solid rgba(26,20,18,.18);border-radius:6px;cursor:pointer;transition:border-color .2s,box-shadow .2s,background .2s;position:relative}
.sess:hover{border-color:#C2451B}
.sess input{position:absolute;opacity:0;pointer-events:none}
.sess:has(input:checked){border-color:#C2451B;box-shadow:0 0 0 1px #C2451B;background:#FBF7F1}
.sess:has(input:focus-visible){outline:2px solid #C2451B;outline-offset:3px}
.sess.off{cursor:not-allowed;opacity:.62}.sess.off:hover{border-color:rgba(26,20,18,.18)}
.sess-date{display:grid;justify-items:center;align-content:center;width:64px;height:64px;border-radius:50%;background:#EFE7DC;line-height:1;transition:background .2s,color .2s}
.sess:has(input:checked) .sess-date{background:#C2451B;color:#F6F0E8}
.sess-d{font-family:'Instrument Serif',Georgia,serif;font-size:28px}
.sess-m{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-top:2px}
.sess-body{display:grid;gap:3px;font-size:15px;line-height:1.45}
.sess-body strong{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:clamp(21px,1.9vw,25px);line-height:1.15}
.sess-meta{font-size:13px;color:#5A4D45}
.sess-status{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#2F6B3A;padding-top:10px;border-top:1px solid rgba(26,20,18,.1)}
.sess-status.muted{color:#6E655C}
.sess-status em{font-style:normal;padding:2px 8px;border:1px dashed #C2451B;color:#A63A14;border-radius:4px}
.ferr{font-size:13px;font-weight:600;color:#A63A14}
.check{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;align-items:start;font-size:14.5px;line-height:1.55;color:#3A302B;cursor:pointer}
.check input{width:22px;height:22px;margin:1px 0 0;accent-color:#C2451B;cursor:pointer}
.icon-dot{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1px solid rgba(246,240,232,.5)}
.icon-dot svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

@keyframes frc-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes frc-rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
[data-rise]{animation:frc-rise 1.1s cubic-bezier(.16,1,.3,1) both}
.js [data-reveal]{opacity:0;transform:translateY(32px);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1)}
.js [data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal],[data-rise]{opacity:1!important;transform:none!important;animation:none!important}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
