@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700&family=Work+Sans:wght@400;500;600&display=swap');
:root{--wine-950:#2A0710;--wine-900:#3B0B16;--wine-800:#561321;--wine-700:#7B1D2D;--ivory:#F6F0E7;--ivory-2:#FFFDF9;--charcoal:#1B1718;--muted:#6D6466;--line:rgba(59,11,22,.16);--max:1180px;--pad:clamp(1rem,4vw,3rem);--section:clamp(4rem,9vw,8rem);--serif:'Playfair Display',Georgia,serif;--sans:'Work Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body.editorial-home{margin:0;background:var(--ivory);color:var(--charcoal);font-family:var(--sans);line-height:1.65;overflow-x:hidden}body.editorial-home img,body.editorial-home video{max-width:100%;display:block}body.editorial-home a{color:inherit}.editorial-shell{width:min(var(--max),calc(100% - 2*var(--pad)));margin-inline:auto}.editorial-header{position:sticky;top:0;z-index:9000;background:rgba(42,7,16,.96);color:#fff;border-bottom:1px solid rgba(255,255,255,.14);backdrop-filter:blur(12px)}.editorial-nav{min-height:76px;display:flex;align-items:center;gap:1.5rem}.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;min-width:0}.brand img{width:54px;height:54px;object-fit:contain;border-radius:50%;background:#fff}.brand-copy{font-family:var(--serif);font-weight:600;line-height:1.05;letter-spacing:.01em}.brand-copy small{display:block;font-family:var(--sans);font-size:.68rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;margin-top:.3rem;color:#eadde0}.nav-links{display:flex;align-items:center;gap:1.15rem;margin-left:auto}.nav-links a{text-decoration:none;font-size:.9rem;font-weight:500}.nav-links a:hover,.nav-links a:focus-visible{text-decoration:underline;text-underline-offset:5px}.lang-links{display:flex;gap:.4rem;margin-left:.5rem}.lang-links a{font-size:.72rem;padding:.35rem .45rem;border:1px solid rgba(255,255,255,.3);text-decoration:none}.lang-links a[aria-current=page]{background:var(--ivory);color:var(--wine-950)}.nav-toggle{display:none;margin-left:auto;border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;padding:.55rem .7rem;font:inherit}.hero{background:var(--wine-950);color:#fff;min-height:calc(100svh - 76px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hero-copy{display:flex;align-items:center;padding:clamp(3rem,8vw,8rem) max(var(--pad),calc((100vw - var(--max))/2));padding-right:clamp(2rem,6vw,6rem)}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:600}.hero h1,.section-title{font-family:var(--serif);font-weight:600;line-height:.94;margin:.65rem 0 1.3rem}.hero h1{font-size:clamp(3.4rem,8vw,7.8rem)}.hero h1 em{display:block;font-weight:500;color:#e7cfd4}.hero p{max-width:34rem;color:#eee1e4;font-size:clamp(1rem,1.6vw,1.2rem)}.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.75rem 1.15rem;text-decoration:none;border:1px solid transparent;font-weight:600}.btn-light{background:var(--ivory);color:var(--wine-950)}.btn-outline{border-color:rgba(255,255,255,.55);color:#fff}.hero-media{min-height:560px;background:#160408;overflow:hidden}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center top}.editorial-section{padding-block:var(--section)}.editorial-section.wine{background:var(--wine-900);color:#fff}.editorial-section.ivory2{background:var(--ivory-2)}.section-head{display:grid;grid-template-columns:.45fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:end;margin-bottom:clamp(2.5rem,5vw,4.5rem)}.section-title{font-size:clamp(2.6rem,6vw,5.2rem);margin:0}.section-intro{max-width:42rem;margin:0;color:var(--muted)}.wine .section-intro{color:#e5d7da}.editorial-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1rem,2vw,1.8rem)}.feature{grid-column:span 3;border-top:1px solid var(--line);padding-top:1.2rem}.wine .feature{border-color:rgba(255,255,255,.25)}.feature .num{font-family:var(--serif);font-size:1.6rem;color:var(--wine-700)}.wine .feature .num{color:#e3bdc5}.feature h3{font-family:var(--serif);font-size:1.55rem;margin:.6rem 0}.feature p{margin:0;color:var(--muted)}.wine .feature p{color:#e5d7da}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,7vw,7rem);align-items:center}.portrait{aspect-ratio:4/5;overflow:hidden;background:#ded5cd}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center top}.split-copy h2{font-family:var(--serif);font-size:clamp(2.5rem,5vw,4.8rem);line-height:1;margin:.4rem 0 1.5rem}.meta{display:grid;gap:.5rem;margin:1.5rem 0;padding:1.2rem 0;border-block:1px solid var(--line)}.course-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.18)}.course-item{background:var(--wine-900);padding:clamp(1.5rem,3vw,2.4rem)}.course-item h3{font-family:var(--serif);font-size:1.7rem;margin:.4rem 0}.course-item p{color:#e4d4d7}.gallery-tease{display:grid;grid-template-columns:1.25fr .75fr;gap:1rem}.gallery-tease img{width:100%;height:100%;min-height:260px;object-fit:cover}.gallery-stack{display:grid;gap:1rem}.testimonial{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.3;max-width:55rem}.contact-band{background:var(--wine-800);color:#fff;padding-block:clamp(3rem,7vw,6rem)}.contact-band .editorial-shell{display:flex;align-items:center;justify-content:space-between;gap:2rem}.contact-band h2{font-family:var(--serif);font-size:clamp(2.3rem,5vw,4.5rem);margin:0}.editorial-footer{background:#160408;color:#e8dcdf;padding:2.5rem 0}.footer-row{display:flex;justify-content:space-between;gap:2rem;align-items:center}.footer-row a{color:#fff}.visit{font-size:.82rem;color:#cdbbc0}.wa-float{position:fixed;right:18px;bottom:18px;z-index:9500;width:58px;height:58px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 8px 25px rgba(0,0,0,.25)}.wa-float img{width:30px;height:30px}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:99999;background:#fff;color:#000;padding:.75rem}
@media(max-width:900px){.nav-links{display:none;position:absolute;top:76px;left:0;right:0;background:var(--wine-950);padding:1.2rem var(--pad);flex-direction:column;align-items:flex-start;border-top:1px solid rgba(255,255,255,.15)}.nav-links.open{display:flex}.nav-toggle{display:block}.lang-links{margin-left:0}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:clamp(3rem,10vw,5rem) var(--pad)}.hero-media{min-height:58svh}.section-head,.split{grid-template-columns:1fr}.feature{grid-column:span 6}.course-strip{grid-template-columns:1fr}.gallery-tease{grid-template-columns:1fr}.contact-band .editorial-shell,.footer-row{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.editorial-nav{min-height:68px}.brand img{width:46px;height:46px}.brand-copy{font-size:.9rem}.brand-copy small{font-size:.58rem}.nav-links{top:68px}.hero h1{font-size:clamp(3rem,16vw,4.5rem)}.hero-media{min-height:50svh}.feature{grid-column:1/-1}.actions{flex-direction:column}.btn{width:100%}.gallery-tease img{min-height:210px}.wa-float{width:54px;height:54px}.section-title{font-size:clamp(2.4rem,13vw,3.7rem)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Refinement pass: stable mobile geometry and accessible navigation */
body.nav-open{overflow:hidden}
.nav-toggle{min-width:48px;min-height:44px}
.hero-copy,.hero-media,.split>*,.section-head>*{min-width:0}
.hero-media img{object-position:center 22%}
.btn:focus-visible,.nav-toggle:focus-visible,.nav-links a:focus-visible,.brand:focus-visible,.wa-float:focus-visible{outline:3px solid currentColor;outline-offset:4px}
@media(max-width:900px){
  .editorial-header{width:100%;max-width:100vw}
  .editorial-nav{position:relative}
  .nav-links{max-height:calc(100svh - 76px);overflow-y:auto}
  .hero-media img{object-position:center 25%}
  .section-head{gap:1.25rem}
  .split{gap:2.25rem}
}
@media(max-width:560px){
  .editorial-shell{width:calc(100% - 2rem)}
  .brand{max-width:calc(100% - 64px)}
  .brand-copy{white-space:normal}
  .hero-copy{padding-inline:1rem}
  .hero-media{min-height:46svh}
  .hero-media img{object-position:center 25%}
  .editorial-section{padding-block:3.75rem}
  .course-item{padding:1.4rem}
  .contact-band .editorial-shell{gap:1.5rem}
  .footer-row{gap:1rem}
}
@media(max-width:360px){
  .brand-copy small{display:none}
  .hero h1{font-size:2.8rem}
  .editorial-shell{width:calc(100% - 1.5rem)}
  .hero-copy{padding-inline:.75rem}
}

/* Visual QA corrections from Deploy Preview #18 */
.hero-copy{overflow:visible}
.hero h1{font-size:clamp(3.25rem,6.2vw,6.6rem);letter-spacing:-.025em;max-width:100%;overflow-wrap:normal}
.hero h1 em{font-size:.82em;white-space:nowrap}
.section-head{grid-template-columns:minmax(260px,.38fr) minmax(0,.62fr)}
.section-head .section-title{overflow-wrap:normal;word-break:normal}
.wine .section-head{align-items:start}
.wine .section-head .section-intro{padding-top:.65rem}
.btn-light{background:var(--ivory);color:var(--wine-950)!important;border-color:var(--ivory)}
.btn-light:hover,.btn-light:focus-visible{background:#fff;color:var(--wine-950)!important}
@media(min-width:901px){
  .hero-copy{padding-right:clamp(2.25rem,4vw,4.5rem)}
  .hero h1{max-width:8.4ch}
  .section-head{grid-template-columns:minmax(320px,.42fr) minmax(420px,.58fr)}
  .section-head .section-intro{justify-self:end;width:min(100%,44rem)}
}
@media(max-width:1100px) and (min-width:901px){
  .hero h1{font-size:clamp(3.1rem,5.7vw,4.8rem)}
  .section-title{font-size:clamp(2.6rem,4.7vw,4.2rem)}
}
@media(max-width:900px){
  .hero h1{max-width:none}
  .hero h1 em{white-space:normal}
  .section-head{grid-template-columns:1fr}
  .wine .section-head .section-intro{padding-top:0}
}

/* Home hero photo 19 framing */
@media(min-width:901px){.hero-media img{object-position:center 32%}}
@media(max-width:900px){.hero-media img{object-position:center 28%}}
@media(max-width:560px){.hero-media{min-height:62svh}.hero-media img{object-position:center 24%}}

/* Shared editorial shell for all internal pages */
body.editorial-inner{background:var(--ivory);color:var(--wine-950)}
.editorial-inner main{min-height:65vh}
.inner-hero{background:var(--wine-950);color:var(--ivory);padding:clamp(4.5rem,9vw,8rem) 0 clamp(3.5rem,7vw,6rem)}
.inner-hero .eyebrow{color:var(--ivory)}
.inner-hero h1{font-family:var(--serif);font-size:clamp(3.2rem,7vw,7rem);line-height:.92;letter-spacing:-.025em;margin:.6rem 0 0;max-width:12ch}
.inner-content{padding:clamp(3.5rem,7vw,7rem) 0}
.inner-prose{max-width:900px}
.inner-prose>p,.inner-prose li{font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.75}
.inner-prose h2,.inner-prose h3,.inner-prose h4{font-family:var(--serif);line-height:1.05;color:var(--wine-950)}
.inner-prose h2{font-size:clamp(2.4rem,5vw,4.6rem);margin:0 0 1.5rem}
.inner-prose h3{font-size:clamp(1.8rem,3vw,2.8rem);margin:2.6rem 0 1rem}
.inner-prose h4{font-size:clamp(1.45rem,2.4vw,2.1rem);margin:0 0 1rem}
.editorial-card,.name-explanation,.benefits-section,.teacher-card{border:1px solid rgba(59,11,22,.22);background:#fff;padding:clamp(1.4rem,3vw,2.5rem);margin:2rem 0;box-shadow:none;border-radius:0}
.editorial-inner .back-button{display:inline-flex;margin-top:2rem;padding:.9rem 1.2rem;border:1px solid var(--wine-950);color:var(--wine-950);text-decoration:none;font-weight:700}
.editorial-inner .back-button:hover{background:var(--wine-950);color:var(--ivory)}
.editorial-inner .instruction,.editorial-inner .footer-note{font-size:1rem;line-height:1.65}
.editorial-inner .teacher-photo{width:min(100%,420px);height:auto}
.editorial-inner .teacher-photo img{aspect-ratio:4/5;object-fit:cover;border-radius:0!important}
.editorial-inner .teacher-details{line-height:1.7}
.editorial-inner .teacher-details>div[style]{background:var(--ivory2)!important;border-radius:0!important}
@media(max-width:900px){.inner-hero{padding-top:3.5rem}.inner-hero h1{max-width:none}.inner-content{padding-top:3rem}}

/* Internal courses/events normalization */
.editorial-inner .calendar-container,.editorial-inner .news-item{max-width:100%;margin:0 0 2rem}
.editorial-inner .calendar-dates{display:grid;gap:.75rem}
.editorial-inner .calendar-dates p{margin:0;padding:1rem 1.15rem;border-bottom:1px solid rgba(59,11,22,.16)}
.editorial-inner .event-card{border:1px solid rgba(59,11,22,.22)!important;border-top:4px solid var(--wine-950)!important;background:#fff!important;box-shadow:none!important;border-radius:0!important;padding:clamp(1.25rem,3vw,2rem)!important;margin:1.5rem 0}
.editorial-inner .event-card h4{color:var(--wine-950)!important}
.editorial-inner .event-date,.editorial-inner .event-location{display:block;margin:.35rem 0;line-height:1.55}
.editorial-inner .calendar-container h2[style],.editorial-inner .news-item h2{color:var(--wine-950)!important;font-family:var(--serif);font-size:clamp(2rem,4vw,3.5rem)!important;line-height:1!important}
@media(max-width:600px){.editorial-inner .event-card{padding:1.1rem!important}.editorial-inner .calendar-dates p{padding:.9rem 0}}

/* Gallery + video editorial normalization; JS hooks remain unchanged */
.media-prose{max-width:none}
.media-page .gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.media-page .gallery img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:0!important;cursor:pointer}
.media-page .teacher-photo{margin:0 0 2.5rem}
.media-page .video-container,.media-page .oshosi-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.media-page .video-item,.media-page .oshosi-video-card{background:#fff;border:1px solid rgba(59,11,22,.2);padding:1rem;border-radius:0!important;box-shadow:none!important}
.media-page video{display:block;width:100%;height:auto;background:#120409}
.media-page .video-month-label,.media-page .oshosi-video-section h2,.media-page .video-month-set h3{font-family:var(--serif);color:var(--wine-950)}
@media(max-width:900px){.media-page .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.media-page .video-container,.media-page .oshosi-video-grid{grid-template-columns:1fr}}
@media(max-width:560px){.media-page .gallery{grid-template-columns:1fr}.media-page .gallery img{aspect-ratio:3/4}}

/* Testimonials, support and contact */
.editorial-inner form{max-width:760px;background:#fff;border:1px solid rgba(59,11,22,.2);padding:clamp(1.25rem,3vw,2.25rem);margin:2rem 0}
.editorial-inner input,.editorial-inner textarea,.editorial-inner select{width:100%;max-width:100%;font:inherit;padding:.85rem 1rem;border:1px solid rgba(59,11,22,.35);background:#fff;color:var(--wine-950);border-radius:0}
.editorial-inner textarea{min-height:140px;resize:vertical}
.editorial-inner button[type="submit"],.editorial-inner input[type="submit"]{width:auto;background:var(--wine-950);color:var(--ivory);border:1px solid var(--wine-950);font-weight:700;cursor:pointer;padding:.9rem 1.25rem}
.editorial-inner .feedback-item,.editorial-inner .testimonial-item,.editorial-inner .donation-box,.editorial-inner .contact-info{background:#fff;border:1px solid rgba(59,11,22,.18);box-shadow:none!important;border-radius:0!important;padding:clamp(1.2rem,3vw,2rem);margin:1.25rem 0}
.editorial-inner a{overflow-wrap:anywhere}


/* =========================================================
   INTERNAL DESIGN SYSTEM V2 — pilot: Kontakt DE
   One geometry, one spacing rhythm, one footer, no page CSS.
   ========================================================= */
.internal-page{min-height:70vh}
.inner-hero-intro{max-width:42rem;margin:1.5rem 0 0;color:#eadde0;font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.7}
.eyebrow.dark{color:var(--wine-700)}
.btn-wine{background:var(--wine-950);color:#fff!important;border-color:var(--wine-950)}
.btn-wine:hover,.btn-wine:focus-visible{background:var(--wine-800)}
.btn-line{background:transparent;color:var(--wine-950)!important;border-color:var(--wine-950)}
.btn-line:hover,.btn-line:focus-visible{background:var(--wine-950);color:#fff!important}

.contact-page{background:var(--ivory)}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.contact-primary h2{font-family:var(--serif);font-size:clamp(2.5rem,5vw,4.8rem);line-height:.98;letter-spacing:-.025em;max-width:12ch;margin:.65rem 0 1.4rem}
.contact-primary>p{max-width:42rem;color:var(--muted);font-size:1.08rem}
.contact-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:2.5rem 0 0}
.contact-detail{padding:1.5rem 1.5rem 1.5rem 0;min-width:0}
.contact-detail+.contact-detail{border-left:1px solid var(--line);padding-left:1.5rem}
.contact-label{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;font-weight:700;color:var(--muted);margin-bottom:.55rem}
.contact-detail a{font-family:var(--serif);font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.35;color:var(--wine-950);text-decoration-thickness:1px;text-underline-offset:4px}
.contact-actions{margin-top:1.6rem}

.contact-qr{background:var(--wine-900);color:#fff;padding:clamp(1.5rem,3vw,2.4rem)}
.contact-qr .eyebrow{color:#e3bdc5}
.contact-qr h3{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.6rem);line-height:1;margin:.55rem 0 1.3rem}
.contact-qr img{display:block;width:min(100%,260px);aspect-ratio:1/1;object-fit:contain;background:#fff;margin:0 auto 1.25rem}
.contact-qr p{color:#eadde0;margin:0;line-height:1.65}

.culture-note{display:grid;grid-template-columns:minmax(150px,.28fr) minmax(0,.72fr);gap:2rem;margin-top:clamp(3.5rem,7vw,6rem);padding-top:2rem;border-top:1px solid var(--line)}
.culture-note p{font-family:var(--serif);font-size:clamp(1.35rem,2.6vw,2.15rem);line-height:1.35;margin:0;max-width:42rem}

.footer-links{display:flex;gap:1.25rem;flex-wrap:wrap}
.editorial-inner .editorial-footer{margin-top:0}
.editorial-inner .editorial-footer a{color:#fff;text-underline-offset:4px}

@media(max-width:900px){
  .contact-layout{grid-template-columns:1fr}
  .contact-qr{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(0,.45fr);column-gap:1.5rem;align-items:center}
  .contact-qr .eyebrow,.contact-qr h3{grid-column:1/-1}
  .contact-qr img{margin:0;width:100%}
}
@media(max-width:620px){
  .inner-hero-intro{margin-top:1rem}
  .contact-details{grid-template-columns:1fr}
  .contact-detail{padding:1.25rem 0}
  .contact-detail+.contact-detail{border-left:0;border-top:1px solid var(--line);padding-left:0}
  .contact-qr{display:block}
  .contact-qr img{width:min(100%,240px);margin:0 auto 1.25rem}
  .culture-note{grid-template-columns:1fr;gap:.75rem}
}


/* INTERNAL DESIGN SYSTEM V2 — Events */
.events-page{background:var(--ivory)}
.event-feature{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);min-height:420px;border:1px solid var(--line);background:#fff}
.event-feature-copy{padding:clamp(1.6rem,4vw,3.5rem)}
.event-feature h2{font-family:var(--serif);font-size:clamp(3rem,6vw,5.7rem);line-height:.92;letter-spacing:-.03em;margin:.55rem 0 1.3rem}
.event-feature-copy>p{max-width:42rem;color:var(--muted);font-size:1.08rem;line-height:1.7}
.event-facts{display:flex;gap:.65rem 2rem;flex-wrap:wrap;margin:2rem 0 0;padding-top:1.25rem;border-top:1px solid var(--line);font-weight:700}
.event-mark{display:grid;place-items:center;background:var(--wine-900);overflow:hidden}
.event-mark span{font-family:var(--serif);font-style:italic;font-size:clamp(11rem,24vw,23rem);line-height:.7;color:#eadde0;transform:translateY(.04em)}
.event-cycles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(2rem,5vw,4rem);border:1px solid var(--line)}
.event-cycles article{padding:clamp(1.35rem,3vw,2.25rem);min-width:0}
.event-cycles article+article{border-left:1px solid var(--line)}
.event-cycles h3{font-family:var(--serif);font-size:clamp(1.65rem,3vw,2.6rem);line-height:1;margin:.65rem 0 .9rem}
.event-cycles p{margin:0;color:var(--muted)}
.event-info{display:grid;grid-template-columns:minmax(140px,.25fr) minmax(0,.75fr);gap:2rem;margin-top:2rem;padding:2rem 0;border-top:1px solid var(--line)}
.event-info p{margin:0;max-width:48rem;font-size:1.05rem;line-height:1.7}
@media(max-width:900px){
 .event-feature{grid-template-columns:1fr}
 .event-mark{min-height:220px}
 .event-mark span{font-size:15rem}
}
@media(max-width:680px){
 .event-cycles{grid-template-columns:1fr}
 .event-cycles article+article{border-left:0;border-top:1px solid var(--line)}
 .event-info{grid-template-columns:1fr;gap:.75rem}
}

/* Events feature artwork */
.event-visual{margin:0;min-width:0;min-height:420px;overflow:hidden;background:var(--wine-900)}
.event-visual img{display:block;width:100%;height:100%;min-height:420px;object-fit:cover;object-position:center}
@media(max-width:900px){
 .event-visual{min-height:clamp(300px,65vw,520px)}
 .event-visual img{min-height:inherit;aspect-ratio:4/3}
}
@media(max-width:620px){
 .event-visual{min-height:360px}
 .event-visual img{aspect-ratio:4/5;object-position:center}
}


/* INTERNAL DESIGN SYSTEM V2 — About */
.about-page{background:var(--ivory)}
.about-story{display:grid;grid-template-columns:minmax(190px,.27fr) minmax(0,.73fr);gap:clamp(2rem,6vw,6rem);align-items:start;padding-bottom:clamp(3.5rem,7vw,6rem)}
.about-kicker{display:flex;flex-direction:column;justify-content:space-between;min-height:260px;border-top:1px solid var(--line);padding-top:1rem}
.about-year{font-family:var(--serif);font-size:clamp(3.6rem,7vw,6.7rem);line-height:.82;letter-spacing:-.04em;color:#d8c9c2}
.about-copy{max-width:50rem}
.about-copy h2{font-family:var(--serif);font-size:clamp(2.8rem,5.7vw,5.4rem);line-height:.96;letter-spacing:-.03em;margin:0 0 1.6rem}
.about-name h2{font-family:var(--serif);font-size:clamp(2.35rem,4.15vw,4.15rem);line-height:1.02;letter-spacing:-.025em;margin:0 0 1.6rem;text-wrap:balance;max-width:11.5ch}
.about-copy p,.about-name-copy p{font-size:clamp(1rem,1.35vw,1.12rem);line-height:1.8;color:var(--muted)}
.about-name{display:grid;grid-template-columns:minmax(0,.43fr) minmax(0,.57fr);background:var(--wine-900);color:#fff;align-items:stretch}
.about-name-title,.about-name-copy{padding:clamp(2rem,4vw,3.75rem)}
.about-name-title{display:flex;flex-direction:column;justify-content:center;min-height:430px}
.about-name-copy{display:flex;flex-direction:column;justify-content:center;max-width:46rem}
.about-name-title{border-right:1px solid rgba(255,255,255,.18)}
.about-name .eyebrow{color:#e3bdc5}
.about-name h2{margin:.75rem 0 0;color:#fff}
.about-name-copy p{color:#eadde0;margin-top:0;max-width:42rem;font-size:clamp(1rem,1.2vw,1.1rem);line-height:1.75}
.about-name-copy p+p{margin-top:1.5rem}
.about-invite{display:grid;grid-template-columns:minmax(0,.72fr) auto;gap:2rem;align-items:center;padding:clamp(3rem,6vw,5rem) 0 0}
.about-invite p{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.65rem);line-height:1.3;margin:0;max-width:38rem}
@media(max-width:820px){
 .about-story{grid-template-columns:1fr;gap:2rem}
 .about-kicker{min-height:auto;display:grid;grid-template-columns:1fr auto;align-items:end}
 .about-year{font-size:4.5rem}
 .about-name{grid-template-columns:1fr}
 .about-name-title{border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}
}
@media(max-width:620px){
 .about-invite{grid-template-columns:1fr;align-items:start}
 .about-invite .btn{justify-self:start}
}

@media(max-width:820px){
 .about-name h2{font-size:clamp(2.25rem,7vw,4rem);max-width:14ch}
}
@media(max-width:620px){
 .about-name h2{font-size:clamp(2.15rem,10.5vw,3.35rem);line-height:1.04;max-width:12ch}
}

@media(max-width:820px){
 .about-name-title{min-height:auto}
 .about-name-copy{max-width:none}
}


/* INTERNAL DESIGN SYSTEM V2 — Courses */
.courses-page{background:var(--ivory)}
.course-current{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);border:0;background:transparent;min-height:520px;overflow:hidden}
.course-current-copy{padding:clamp(2rem,4vw,4rem);display:flex;flex-direction:column;justify-content:center;background:#eee4dc}
.course-current h2,.course-section-heading h2,.course-practical h2{font-family:var(--serif);letter-spacing:-.035em}
.course-current h2{font-size:clamp(3.5rem,7vw,6.8rem);line-height:.9;margin:.65rem 0 1.35rem}
.course-current-copy>p{max-width:43rem;color:var(--muted);font-size:1.08rem;line-height:1.72}
.course-facts{display:flex;flex-wrap:wrap;gap:.7rem 2rem;padding-top:1.2rem;margin-top:1.6rem;border-top:1px solid rgba(61,5,20,.18);font-weight:700}
.course-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.course-current-visual{margin:0;min-width:0;min-height:520px;overflow:hidden;background:var(--wine-900)}
.course-current-visual img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 38%}
.course-calendar{padding-top:clamp(4rem,8vw,7rem)}
.course-archive{margin-top:0;padding:clamp(2.75rem,5vw,4.5rem) 0;border-top:1px solid var(--line)}
.course-section-heading{display:grid;grid-template-columns:minmax(170px,.27fr) minmax(0,.73fr);gap:.6rem clamp(2rem,6vw,6rem);align-items:end;margin-bottom:2rem}
.course-section-heading .eyebrow{grid-row:1/3}
.course-section-heading h2{font-size:clamp(2.8rem,5.5vw,5.2rem);line-height:.95;margin:0}
.course-section-heading p{margin:0;color:var(--muted);max-width:40rem;line-height:1.65}
.course-calendar-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line)}
.course-calendar-list article{padding:1.5rem;min-height:170px;display:flex;flex-direction:column;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.course-calendar-list article:nth-child(3n){border-right:0}
.course-calendar-list article:last-child:nth-child(3n+1){grid-column:1/-1;border-right:0;border-bottom:0;min-height:140px}
.course-calendar-list article:nth-last-child(2):nth-child(3n+1),.course-calendar-list article:nth-last-child(2):nth-child(3n+1)+article{border-bottom:0}
.course-calendar-list span,.course-calendar-list small{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}
.course-calendar-list h3{font-family:var(--serif);font-size:clamp(1.5rem,2.4vw,2.25rem);line-height:1.05;margin:.8rem 0 auto}
.course-calendar-list small{margin-top:1rem;color:var(--muted)}
.course-calendar-list .is-current{background:var(--wine-900);color:#fff}.course-calendar-list .is-current small{color:#eadde0}
.course-calendar-list .is-past{background:#f2ece7;color:#7c706b}
.course-practical{display:grid;grid-template-columns:minmax(200px,.32fr) minmax(0,.68fr);gap:clamp(2rem,7vw,7rem);padding:clamp(4rem,8vw,5.5rem) 0;border-bottom:0}
.course-practical h2{font-size:clamp(2.4rem,4vw,4rem);line-height:1;margin:.6rem 0 0}
.course-practical-copy{max-width:48rem}.course-practical-copy>p{font-size:1.08rem;line-height:1.65}
.workshop-times{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:.65rem 2rem}
.workshop-times strong{grid-column:1/-1}.workshop-times p{margin:0;color:var(--muted)}
.course-accordions{max-width:64rem;margin-left:auto;background:transparent;padding:0}
.accordion{border-top:1px solid var(--line)}
.accordion:last-child{border-bottom:1px solid var(--line)}
.accordion-header{display:flex;width:100%;justify-content:space-between;gap:1rem;align-items:center;padding:1.25rem 0;cursor:pointer;font:inherit;font-weight:700;text-align:left;color:var(--ink);background:transparent;border:0;border-radius:0}
.accordion-header:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.accordion-icon{transition:transform .25s ease}.accordion-header.active .accordion-icon{transform:rotate(180deg)}
.accordion-content{max-height:0;overflow:hidden;transition:max-height .35s ease}
.accordion-content-inner{padding:0 0 2.5rem;max-width:52rem;line-height:1.78;color:var(--muted)}
.accordion-content-inner>p{max-width:46rem}
.course-note{margin-top:1.25rem;padding-top:0;border-top:0;color:var(--muted);line-height:1.65}
.accordion-content-inner h3{font-family:var(--serif);font-size:clamp(1.6rem,2.4vw,2.2rem);line-height:1.1;color:var(--ink);margin:2rem 0 .8rem}
.accordion-content-inner img{display:block;max-width:100%;height:auto;margin:2rem 0}
.accordion-content-inner .highlight-box{border-left:3px solid var(--wine-900);padding:1rem 1.25rem;margin:1.5rem 0;background:#f3ece8;color:var(--ink)}
.accordion-content-inner ul{padding-left:1.25rem}
.whatsapp-button{display:inline-flex;align-items:center;justify-content:center;padding:.9rem 1.2rem;border:1px solid var(--wine-900);background:var(--wine-900);color:#fff;text-decoration:none;font-weight:700;margin-top:1rem}
@media(max-width:900px){
 .course-current{grid-template-columns:1fr}.course-current-visual{min-height:420px}.course-current-visual img{height:clamp(420px,70vw,620px);max-height:620px;object-position:center 35%}
 .course-calendar-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .course-calendar-list article,.course-calendar-list article:nth-child(3n){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
 .course-calendar-list article:nth-child(2n){border-right:0}
 .course-calendar-list article:last-child:nth-child(3n+1){grid-column:auto;border-right:1px solid var(--line);min-height:170px}
}
@media(max-width:680px){
 .course-section-heading,.course-practical{grid-template-columns:1fr;gap:1rem}
 .course-section-heading .eyebrow{grid-row:auto}
 .course-calendar-list{grid-template-columns:1fr}
 .course-calendar-list article,.course-calendar-list article:nth-child(2n),.course-calendar-list article:nth-child(3n){border-right:0;border-bottom:1px solid var(--line);min-height:145px}
 .course-calendar-list article:last-child{border-bottom:0}
 .course-current-visual{min-height:360px}.course-current-visual img{height:auto;min-height:360px;aspect-ratio:4/5;object-position:center 35%}
 .course-calendar-list article:last-child:nth-child(3n+1){border-right:0;min-height:145px}

 .workshop-times{grid-template-columns:1fr}.workshop-times strong{grid-column:auto}
 .course-actions{align-items:stretch}.course-actions .btn{width:100%;justify-content:center}
}


/* INTERNAL DESIGN SYSTEM V2 — Gallery */
.gallery-editorial{padding-bottom:clamp(4rem,8vw,7rem)}
.gallery-intro{display:grid;grid-template-columns:minmax(0,.62fr) minmax(260px,.38fr);gap:clamp(2rem,7vw,7rem);align-items:end;padding-bottom:clamp(2.5rem,5vw,4rem);border-bottom:1px solid var(--line)}
.gallery-intro h2{font-family:var(--serif);font-size:clamp(2.8rem,5.5vw,5.4rem);line-height:.94;letter-spacing:-.035em;margin:.6rem 0 0}
.gallery-intro>p{margin:0;color:var(--muted);font-size:1.08rem;line-height:1.7;max-width:32rem}
.gallery-feature{padding-top:clamp(2.5rem,5vw,4rem)}
.gallery-person{display:grid;grid-template-columns:110px minmax(0,1fr);gap:1.5rem;align-items:center;margin-bottom:2rem}
.gallery-person>img{width:110px;height:110px;object-fit:cover;display:block;border-radius:50%}
.gallery-person h3{font-family:var(--serif);font-size:clamp(2rem,4vw,3.5rem);line-height:1;margin:.35rem 0 0}
.gallery-editorial .gallery{display:block;max-height:none;overflow:visible;margin:0}
.gallery-editorial .month-set{margin:0;background:transparent;border:0}
.gallery-editorial .month-set summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(220px,.42fr) minmax(0,.58fr);gap:clamp(1.5rem,5vw,4rem);align-items:center;padding:0 0 2rem;color:var(--ink);font-weight:700}
.gallery-editorial .month-set summary::-webkit-details-marker{display:none}
.gallery-editorial .month-cover{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:0;box-shadow:none}
.gallery-editorial .month-label{font-family:var(--serif);font-size:clamp(2rem,4vw,4rem);line-height:1;letter-spacing:-.03em}
.gallery-editorial .month-label::after{content:'  +';font-family:var(--sans);font-size:.55em}
.gallery-editorial .month-set[open] .month-label::after{content:'  −'}
.gallery-editorial .month-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.65rem,1.5vw,1.2rem);padding:2rem 0 0;border-top:1px solid var(--line)}
.gallery-editorial .month-grid img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;display:block;border-radius:0;box-shadow:none;cursor:zoom-in}
.gallery-consent{max-width:54rem;margin:clamp(3rem,6vw,5rem) 0 0;padding-top:1.5rem;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem;line-height:1.7}
@media(max-width:900px){.gallery-editorial .month-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){
 .gallery-intro{grid-template-columns:1fr;gap:1.25rem}
 .gallery-person{grid-template-columns:76px minmax(0,1fr);gap:1rem}.gallery-person>img{width:76px;height:76px}
 .gallery-editorial .month-set summary{grid-template-columns:1fr;gap:1.25rem}.gallery-editorial .month-cover{aspect-ratio:4/3}
 .gallery-editorial .month-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
}

/* Fullscreen gallery lightbox */
.photo-lightbox[hidden]{display:none!important}
.photo-lightbox{position:fixed;inset:0;z-index:10000;display:grid;grid-template-columns:minmax(64px,9vw) minmax(0,1fr) minmax(64px,9vw);align-items:center;background:rgba(20,8,11,.96);color:#fff;padding:clamp(1rem,2.5vw,2rem)}
.photo-lightbox__figure{grid-column:2;margin:0;min-width:0;height:calc(100dvh - clamp(2rem,5vw,4rem));display:flex;flex-direction:column;align-items:center;justify-content:center}
.photo-lightbox__image{display:block;max-width:100%;max-height:calc(100dvh - 7.5rem);width:auto;height:auto;object-fit:contain;box-shadow:0 18px 60px rgba(0,0,0,.35)}
.photo-lightbox__caption{width:min(100%,70rem);display:flex;justify-content:space-between;gap:1.5rem;padding-top:.8rem;font-size:.8rem;line-height:1.4;color:#eadde0}
.photo-lightbox__description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.photo-lightbox__counter{flex:0 0 auto;font-weight:700;letter-spacing:.08em}
.photo-lightbox__close,.photo-lightbox__nav{position:absolute;border:0;background:transparent;color:#fff;cursor:pointer;display:grid;place-items:center;font-family:Arial,sans-serif}
.photo-lightbox__close{top:clamp(.75rem,2vw,1.5rem);right:clamp(.75rem,2vw,1.5rem);width:48px;height:48px;font-size:2.5rem;line-height:1;z-index:2}
.photo-lightbox__nav{top:50%;transform:translateY(-50%);width:clamp(54px,7vw,84px);height:clamp(72px,12vh,120px);font-size:clamp(3rem,6vw,5rem);line-height:1}
.photo-lightbox__nav--previous{left:clamp(.25rem,1.5vw,1.25rem)}
.photo-lightbox__nav--next{right:clamp(.25rem,1.5vw,1.25rem)}
.photo-lightbox__close:hover,.photo-lightbox__nav:hover,.photo-lightbox__close:focus-visible,.photo-lightbox__nav:focus-visible{background:rgba(255,255,255,.09);outline:1px solid rgba(255,255,255,.35)}
.photo-lightbox-open{overflow:hidden}
@media(max-width:680px){
 .photo-lightbox{grid-template-columns:1fr;padding:.75rem}
 .photo-lightbox__figure{grid-column:1;height:calc(100dvh - 1.5rem)}
 .photo-lightbox__image{max-height:calc(100dvh - 6rem);max-width:100%}
 .photo-lightbox__nav{width:48px;height:76px;font-size:3.25rem;background:rgba(20,8,11,.35)}
 .photo-lightbox__nav--previous{left:.25rem}.photo-lightbox__nav--next{right:.25rem}
 .photo-lightbox__caption{padding:.65rem 3.2rem 0;gap:.5rem}
 .photo-lightbox__description{display:none}
 .photo-lightbox__close{top:.5rem;right:.5rem;background:rgba(20,8,11,.35)}
}

/* INTERNAL DESIGN SYSTEM V2 — Video Gallery */
.video-editorial{padding-bottom:clamp(4rem,8vw,7rem)}
.video-intro{display:grid;grid-template-columns:minmax(0,.62fr) minmax(260px,.38fr);gap:clamp(2rem,7vw,7rem);align-items:end;padding-bottom:clamp(2.5rem,5vw,4rem);border-bottom:1px solid var(--line)}
.video-intro h2{font-family:var(--serif);font-size:clamp(2.8rem,5.5vw,5.4rem);line-height:.94;letter-spacing:-.035em;margin:.6rem 0 0}
.video-intro>p{margin:0;color:var(--muted);font-size:1.08rem;line-height:1.7;max-width:32rem}
.video-cultural{display:grid;grid-template-columns:minmax(260px,.36fr) minmax(0,.64fr);gap:clamp(2rem,6vw,6rem);align-items:center;padding:clamp(3rem,7vw,6rem) 0;border-bottom:1px solid var(--line)}
.video-copy h2,.video-event-heading h2{font-family:var(--serif);font-size:clamp(2.2rem,4vw,4.2rem);line-height:.98;letter-spacing:-.03em;margin:.55rem 0 1rem}
.video-copy p,.video-event-heading p{color:var(--muted);line-height:1.7;max-width:42rem}
.video-embed{aspect-ratio:16/9;background:#160b0e;overflow:hidden}
.video-embed iframe{width:100%;height:100%;display:block;border:0}
.video-event{padding:clamp(3rem,7vw,6rem) 0}
.video-event-heading{display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);gap:clamp(2rem,6vw,6rem);align-items:end;margin-bottom:clamp(2rem,5vw,4rem)}
.video-event-heading>.eyebrow{grid-column:1/-1}
.video-event-heading h2{margin:0}
.video-event-heading p{margin:0}
.video-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.2vw,2rem);align-items:start}
.video-gallery-card{margin:0;padding:0;background:transparent;border:0}
.video-gallery-card h3{font-family:var(--serif);font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.1;margin:0 0 .85rem}
.video-gallery-card video{display:block;width:100%;aspect-ratio:512/910;object-fit:contain;background:#160b0e;border:0;border-radius:0;box-shadow:none}
.video-consent{max-width:54rem;margin:0;padding-top:1.5rem;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem;line-height:1.7}
@media(max-width:900px){.video-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.video-cultural{grid-template-columns:1fr}.video-embed{max-width:760px}}
@media(max-width:680px){
 .video-intro,.video-event-heading{grid-template-columns:1fr;gap:1.25rem}
 .video-event-heading>.eyebrow{grid-column:auto}
 .video-gallery-grid{grid-template-columns:1fr;gap:2.25rem}
 .video-gallery-card video{width:min(100%,430px);margin:0 auto}
}


/* Shared button variants — no inline presentation */
.btn-wine{background:#3B0B16;color:#fff}
.btn-wine:hover,.btn-wine:focus-visible{background:#2d0811;color:#fff}
.btn-wine-line{background:transparent;border-color:#3B0B16;color:#3B0B16}
.btn-wine-line:hover,.btn-wine-line:focus-visible{background:#3B0B16;color:#fff}

/* INTERNAL DESIGN SYSTEM V2 — Teacher profile */
.teacher-profile{display:grid;grid-template-columns:minmax(280px,.46fr) minmax(0,.54fr);gap:clamp(2.5rem,7vw,7rem);align-items:start;padding-bottom:clamp(4rem,8vw,7rem)}
.teacher-profile__portrait{margin:0;position:sticky;top:8rem}
.teacher-profile__portrait img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.teacher-profile__copy{padding-top:clamp(.25rem,2vw,1.5rem)}
.teacher-profile__copy h2{font-family:var(--serif);font-size:clamp(2.8rem,5.5vw,5.5rem);line-height:.94;letter-spacing:-.035em;margin:.55rem 0 1.5rem}
.teacher-profile__bio{font-size:clamp(1.08rem,1.6vw,1.3rem);line-height:1.75;max-width:46rem}
.teacher-profile__facts{margin:clamp(2rem,4vw,3.5rem) 0;padding:clamp(1.5rem,3vw,2.25rem) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.teacher-profile__facts p{margin:.65rem 0;line-height:1.65}
@media(max-width:760px){.teacher-profile{grid-template-columns:1fr;gap:2rem}.teacher-profile__portrait{position:static}.teacher-profile__portrait img{aspect-ratio:4/5}.teacher-profile__copy{padding-top:0}}

/* INTERNAL DESIGN SYSTEM V2 — Benefits */
.benefits-lead{max-width:48rem;margin:1.5rem 0 0;font-size:clamp(1.08rem,1.7vw,1.35rem);line-height:1.7;color:var(--muted)}
.benefit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.benefit-card{padding:clamp(1.5rem,3vw,2.75rem);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.benefit-card .num{display:block;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:2rem;opacity:.7}
.benefit-card h3,.benefit-age h3{font-family:var(--serif);font-size:clamp(1.55rem,2.5vw,2.3rem);line-height:1.05;margin:0 0 .8rem}
.benefit-card p,.benefit-age p{margin:0;line-height:1.7;color:var(--muted)}
.wine .benefit-grid{border-color:rgba(255,255,255,.22)}
.wine .benefit-card{border-color:rgba(255,255,255,.22)}
.wine .benefit-card p{color:rgba(255,255,255,.76)}
.benefit-age-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,2rem);margin-bottom:clamp(2rem,4vw,3.5rem)}
.benefit-age{padding:clamp(1.5rem,3vw,2.5rem) 0;border-top:1px solid var(--line)}
@media(max-width:700px){.benefit-grid,.benefit-age-grid{grid-template-columns:1fr}.benefit-grid{border-left:0}.benefit-card{border-left:1px solid var(--line)}.wine .benefit-card{border-left-color:rgba(255,255,255,.22)}}

/* INTERNAL DESIGN SYSTEM V2 — Testimonials */
.testimonials-lead{max-width:48rem;margin:1.5rem 0 0;font-size:clamp(1.08rem,1.7vw,1.35rem);line-height:1.7;color:var(--muted)}
.testimonials-editorial{padding-bottom:clamp(4rem,8vw,7rem)}
.testimonials-statement{max-width:58rem;padding:clamp(2rem,5vw,4rem) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.testimonials-statement h2{font-family:var(--serif);font-size:clamp(2.6rem,5vw,5rem);line-height:.96;letter-spacing:-.035em;margin:.6rem 0 1.5rem}
.testimonials-statement>p{max-width:46rem;font-size:clamp(1.05rem,1.5vw,1.22rem);line-height:1.75;color:var(--muted)}
.testimonials-note{font-size:.95rem!important;font-style:italic}


/* Home brand emphasis · preview QA */
@media (min-width: 901px){
  body.home-page .editorial-nav{min-height:96px}
  body.home-page .brand{gap:1rem}
  body.home-page .brand img{width:82px;height:82px}
}
@media (min-width:561px) and (max-width:900px){
  body.home-page .brand img{width:64px;height:64px}
}

/* Home hero vertical balance · approved preview refinement */
@media (min-width:901px){body.home-page .hero-copy{align-items:flex-start;padding-top:clamp(5rem,10vh,7rem);padding-bottom:clamp(3rem,6vh,5rem)}}

/* Inner-page brand consistency · courses QA */
@media (min-width:901px){body.courses-page .editorial-nav{min-height:96px}body.courses-page .brand{gap:1rem}body.courses-page .brand img{width:82px;height:82px}}
@media (min-width:561px) and (max-width:900px){body.courses-page .brand img{width:64px;height:64px}}

/* Course archive readability · approved refinement */
body.courses-page .course-archive .accordion-header{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.08rem,1.15vw,1.24rem);font-weight:700;line-height:1.35;letter-spacing:.005em;color:var(--burgundy)}
body.courses-page .course-archive .accordion-header>span:first-child{max-width:calc(100% - 2.5rem)}
@media (max-width:560px){body.courses-page .course-archive .accordion-header{font-size:1.05rem;line-height:1.4;padding:1.15rem 0}}

/* Gallery brand consistency · approved QA */
@media (min-width:901px){body.gallery-page .editorial-nav{min-height:96px}body.gallery-page .brand{gap:1rem}body.gallery-page .brand img{width:82px;height:82px}}
@media (min-width:561px) and (max-width:900px){body.gallery-page .brand img{width:64px;height:64px}}


/* Approved header-only refinement — 2026-10-10.
   Preserve layout, typography family, text colors and original logo. */
.editorial-header{background:rgba(74,22,32,.96)}
.brand-copy{font-size:1.12em}
.brand-copy small{font-size:.76rem}
.nav-links a{font-size:1.01rem}
.lang-links a{font-size:.81rem}
@media (min-width:901px) and (max-width:1200px){
  .editorial-nav{gap:1rem}
  .nav-links{gap:.75rem}
}
@media (max-width:900px){
  .nav-links{background:#4a1620}
}
@media (max-width:560px){
  .brand-copy{font-size:1rem}
  .brand-copy small{font-size:.64rem}
}


/* Consistent header across every language and section — approved Home reference.
   Desktop: same logo size, header height and spacing as the Home page.
   Tablet/mobile: preserve the established responsive menu. */
@media (min-width:901px){
  .editorial-header .editorial-nav{min-height:96px}
  .editorial-header .brand{gap:1rem}
  .editorial-header .brand img{width:82px;height:82px}
}
@media (min-width:561px) and (max-width:900px){
  .editorial-header .brand img{width:64px;height:64px}
}


/* Approved Home header colors on ALL localized HTML pages.
   Scope exclusively to the header; do not recolor page content. */
.editorial-header,
.editorial-header .brand,
.editorial-header .brand-copy,
.editorial-header .nav-links a,
.editorial-header .lang-links a:not([aria-current="page"]){
  color:#fff;
}
.editorial-header .brand-copy small{color:#eadde0}
.editorial-header .lang-links a[aria-current="page"]{
  color:var(--wine-950);
}
