@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--paper:#faf7f2;--wine:#570b24;--ink:#32161e;--muted:#725d62;--line:#dacbc7;--gold:#b48b56;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#e8e0db;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}button,input,a{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit}button,a,input{outline-offset:5px}button:focus-visible,a:focus-visible,summary:focus-visible,.gallery:focus-visible{outline:3px solid var(--gold)}a{color:inherit}.flyer{max-width:1400px;margin:auto;background:var(--paper)}.masthead{margin:0 5.5%;padding:29px 0 25px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.wordmark{text-decoration:none;font-weight:700;letter-spacing:.07em;font-size:22px;color:var(--wine);line-height:1.2}.wordmark>span:not(.brandline){font-weight:450}.brandline{display:block;font-size:11px;letter-spacing:.26em;margin-top:8px}.edition{text-align:right;color:var(--wine);font-size:12px;font-weight:650;letter-spacing:.16em}.edition span{display:block;font-size:11px;letter-spacing:.13em;margin-top:5px}.hero{display:grid;grid-template-columns:1.07fr 1fr;gap:6%;padding:44px 5.5% 45px}.hero-copy{padding-top:13px}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:650;color:var(--wine);margin:0 0 22px;line-height:1.6}.little-line{display:inline-block;vertical-align:middle;width:26px;height:1px;background:var(--gold);margin-right:10px}h1{font-family:var(--serif);font-size:clamp(55px,6.2vw,86px);line-height:1.02;letter-spacing:-.06em;font-weight:500;color:var(--wine);margin:0 0 25px}h1 em{font-weight:500;color:#861c3d}h2 em{font-weight:500}p{margin:0}h1 em,h2 em{font-family:var(--serif)}.intro{font-size:21px;line-height:1.45;margin:0 0 15px}.intro strong{font-weight:550}.summary{max-width:390px;color:var(--muted);font-size:16px;line-height:1.6;margin-bottom:25px}.primary{display:flex;justify-content:space-between;gap:24px;align-items:center;background:var(--wine);color:#fff9f2;font-size:15px;font-weight:550;padding:17px 21px;text-decoration:none;transition:background .2s,transform .2s;max-width:390px;border:1px solid var(--wine)}.primary:hover{background:#781333;transform:translateY(-2px)}.primary>span{font-size:22px;line-height:1}.course-facts{display:flex;margin-top:27px;gap:25px}.course-facts>span{color:var(--muted);font-size:12px}.course-facts strong{display:block;color:var(--wine);font-size:16px;font-weight:600;margin-bottom:2px}.gallery{position:relative;aspect-ratio:2/2.7;overflow:hidden;background:#66605d;isolation:isolate;touch-action:pan-y}.photo-stage{position:absolute;inset:0}.portrait{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 35%;opacity:0;transform:scale(1.035);transition:opacity .7s ease,transform 1.2s ease;pointer-events:none}.portrait.active{opacity:1;transform:scale(1)}.image-top{position:absolute;top:0;left:0;right:0;padding:20px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#23171c66,transparent);color:#fff;gap:8px}.image-top>span{font-size:10px;font-weight:600;letter-spacing:.17em}.play-control{display:flex;align-items:center;gap:7px;color:#fff;background:#22101870;border:1px solid #ffffff60;border-radius:30px;padding:9px 12px;font-size:12px;cursor:pointer;backdrop-filter:blur(12px)}.play-icon{font-size:10px;min-width:12px}.image-bottom{position:absolute;bottom:0;left:0;right:0;padding:60px 24px 25px;background:linear-gradient(transparent,#19060ae0);color:#fff;display:flex;align-items:end;justify-content:space-between;gap:8px}.image-kicker{font-size:10px;letter-spacing:.15em;color:#e6c8c8}.image-bottom p{font-family:var(--serif);font-size:29px;line-height:1.3;margin-top:5px}.gallery-arrows{display:flex;gap:8px}.gallery-arrows button{width:40px;height:40px;border-radius:50%;border:1px solid #fff8;background:#ffffff0c;color:#fff;font-size:21px;cursor:pointer;transition:background .2s}.gallery-arrows button:hover{background:#ffffff35}.progress-track{height:3px;position:absolute;bottom:0;left:0;right:0}.progress-track span{display:block;width:0;height:100%;background:#ddc29d}.gallery.playing .progress-track span{animation:progress 5s linear infinite}.gallery-foot{display:flex;justify-content:space-between;font-size:12px;font-weight:500;padding:14px 0 10px;color:var(--wine)}.slash{padding:0 7px;color:var(--gold)}.thumbnails{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}.thumbnails button{display:block;padding:0;border:2px solid transparent;outline-offset:3px;background:none;cursor:pointer;opacity:.6;transition:opacity .25s,border-color .25s;overflow:hidden}.thumbnails button.selected{border-color:var(--wine);opacity:1}.thumbnails button:hover{opacity:1}.thumbnails img{width:100%;height:auto;aspect-ratio:1/.95;display:block;object-fit:cover;object-position:50% 28%;filter:saturate(.85)}.photo-note{font-size:11px;color:var(--muted);margin-top:9px}.journey{padding:42px 5.5% 48px;border-top:1px solid var(--line)}.section-heading .eyebrow{margin-bottom:10px}h2{font-family:var(--serif);font-weight:500;font-size:40px;line-height:1.17;letter-spacing:-.035em;color:var(--wine);margin:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);margin-top:28px;gap:35px}.steps article{position:relative;padding:0 0 0 32px}.step-number{position:absolute;left:0;top:4px;color:var(--gold);font-size:12px}.steps h3{font-size:17px;font-weight:600;margin:0 0 8px}.steps p{font-size:15px;color:var(--muted);line-height:1.65}.offer{background:var(--wine);color:#fff4ed;padding:49px 5.5%;display:grid;grid-template-columns:1fr 1.1fr;gap:8%;scroll-margin-top:15px}.offer .eyebrow{color:#e4c2b0;margin-bottom:16px}.offer h2{color:#fff4ed;font-size:49px}.offer-intro>p:not(.eyebrow){color:#e3cbd1;font-size:16px;max-width:340px;margin:21px 0}.text-link{font-size:14px;text-decoration:none;border-bottom:1px solid #bb8a8d;padding-bottom:5px;display:inline-block}.text-link span{margin-left:14px}.package-picker fieldset{border:0;padding:0;margin:0;display:grid;gap:11px}.package{position:relative;display:flex;align-items:start;gap:12px;border:1px solid #b67c8b;padding:19px 17px;cursor:pointer;transition:background .2s}.package:has(input:checked){background:#fff7ef;color:var(--wine);border-color:#fff7ef}.package:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:3px}.package input{position:absolute;opacity:0;width:1px;height:1px}.radio-mark{width:17px;height:17px;border:1px solid currentColor;border-radius:50%;margin-top:4px;flex:none;display:grid;place-items:center}.package:has(input:checked) .radio-mark:after{content:'';display:block;width:9px;height:9px;border-radius:50%;background:var(--wine)}.package-content{flex:1;min-width:0}.package-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.package-top strong{font-size:15px;font-weight:550}.price{font-size:25px;font-weight:500;white-space:nowrap;letter-spacing:-.05em}.package-description{display:block;font-size:13px;margin-top:5px;opacity:.8}.selection-note{font-size:13px;color:#e3cbd1;margin:13px 0;min-height:40px}.offer .primary{max-width:none;background:#f5dcc4;color:var(--wine);border-color:#f5dcc4}.offer .primary:hover{background:#fff7ef}.contact-note{font-size:11px;text-align:center;color:#e3cbd1;margin-top:12px}.course{padding:46px 5.5% 48px;display:grid;grid-template-columns:1fr 1.1fr;gap:8%}.course h2{font-size:37px;max-width:350px}.curriculum details{border-bottom:1px solid var(--line)}.curriculum details:first-child{border-top:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:19px 0;font-size:16px;font-weight:550}summary::-webkit-details-marker{display:none}.detail-no{font-size:12px;color:var(--gold);margin-right:14px}.plus{font-size:24px;font-weight:400;line-height:1}details[open] .plus{transform:rotate(45deg)}details p{padding:0 20px 20px 30px;color:var(--muted);font-size:15px;line-height:1.65}footer{margin:0 5.5%;padding:24px 0 32px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:12px;color:var(--muted)}.footer-brand{font-weight:650;letter-spacing:.08em;color:var(--wine);font-size:13px}footer a{color:var(--wine);text-decoration:none;font-weight:600}.mobile-cta{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes progress{from{width:0}to{width:100%}}@media(min-width:1500px){.flyer{margin:28px auto;box-shadow:0 12px 70px #34192010}}@media(max-width:1050px){.hero{gap:5%;padding-top:32px}h1{font-size:6.5vw}.intro{font-size:18px}.summary{font-size:15px}.course-facts{gap:17px}.image-bottom{padding:50px 18px 20px}.image-bottom p{font-size:25px}.image-top{padding:15px}.image-top>span{font-size:9px}.offer{gap:5%;grid-template-columns:.85fr 1.2fr}.package-top{flex-wrap:wrap;gap:1px}.package-top strong{width:100%}.selection-note{min-height:40px}.steps{gap:20px}}@media(max-width:700px){body{background:var(--paper)}.masthead{margin:0 6%;padding:22px 0 19px}.wordmark{font-size:17px;letter-spacing:.035em}.brandline{font-size:9px;letter-spacing:.19em}.edition{font-size:10px;letter-spacing:.09em}.edition span{font-size:9px;letter-spacing:.035em}.hero{display:flex;flex-direction:column;padding:30px 6% 28px;gap:30px}.hero-copy{padding:0}.eyebrow{font-size:11px;margin-bottom:18px}h1{font-size:clamp(54px,13.5vw,85px);letter-spacing:-.055em;line-height:1.02;margin-bottom:20px}h1 br:first-child{display:none}h1 em br{display:none}h1 em{display:block}.intro{font-size:19px;margin-bottom:12px}.summary{max-width:520px;font-size:16px;line-height:1.55;margin-bottom:20px}.primary{max-width:none;font-size:15px;padding:15px 18px}.course-facts{justify-content:space-between;margin-top:21px;gap:10px}.course-facts>span{font-size:12px}.course-facts strong{font-size:16px}.gallery{aspect-ratio:4/5}.image-top{padding:17px}.image-top>span{font-size:10px}.image-bottom p{font-size:30px}.image-bottom{padding:55px 20px 22px}.gallery-arrows button{width:42px;height:42px}.gallery-foot{font-size:13px}.thumbnails{gap:7px}.photo-note{font-size:11px}.journey{padding:30px 6% 35px}.section-heading .eyebrow{font-size:10px;letter-spacing:.12em}h2{font-size:34px}.steps{grid-template-columns:1fr;gap:22px;margin-top:25px}.steps article{padding-left:34px}.steps h3{font-size:18px;margin-bottom:4px}.steps p{font-size:16px}.step-number{font-size:13px}.offer{grid-template-columns:1fr;padding:35px 6%;gap:28px}.offer h2{font-size:43px}.offer-intro>p:not(.eyebrow){margin:15px 0;font-size:16px}.offer .eyebrow{font-size:10px}.package{padding:18px 15px}.package-top{flex-wrap:nowrap;align-items:center}.package-top strong{font-size:15px;width:auto}.price{font-size:24px}.package-description{font-size:14px}.selection-note{font-size:14px;min-height:0;margin:15px 0}.contact-note{font-size:12px;line-height:1.65}.course{grid-template-columns:1fr;padding:35px 6%;gap:25px}.course h2{font-size:34px;max-width:none}summary{font-size:16px}.detail-no{margin-right:10px}details p{font-size:16px}footer{margin:0 6%;padding:23px 0 110px;flex-wrap:wrap;font-size:12px}footer a{width:100%}.mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:10;align-items:center;justify-content:space-between;gap:12px;padding:12px 6% calc(12px + env(safe-area-inset-bottom));background:#faf7f2f5;backdrop-filter:blur(16px);border-top:1px solid var(--line);box-shadow:0 -5px 25px #32161e0a}.mobile-cta>span{font-size:10px;color:var(--muted)}.mobile-cta strong{display:block;font-size:20px;color:var(--wine);font-weight:600;line-height:1.3}.mobile-cta a{padding:13px 15px;font-size:13px;font-weight:550;text-decoration:none;background:var(--wine);color:white}.photo-stage .portrait{object-position:50% 32%}}@media(max-width:370px){.edition{font-size:9px}.wordmark{font-size:15px}h1{font-size:49px}.package-top{flex-wrap:wrap}.package-top strong{width:100%}.image-top>span{font-size:9px}.course-facts strong{font-size:14px}.mobile-cta a{font-size:12px;padding:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.portrait{transform:none}}@media print{body{background:white}.flyer{margin:0;max-width:none}.mobile-cta,.play-control,.gallery-arrows,.thumbnails,.gallery-foot,.photo-note{display:none}.hero{display:grid;grid-template-columns:1fr 1fr}h1{font-size:48px}.offer{break-inside:avoid}footer{padding-bottom:20px}}
@media(max-width:700px){.hero{gap:0}.hero-copy{display:contents}.hero-copy>.eyebrow{order:0}.hero h1{order:1;margin-bottom:24px}.hero .showcase{order:2;margin-bottom:25px}.hero .intro{order:3}.hero .summary{order:4}.hero .primary{order:5}.hero .course-facts{order:6}}

/* Explicit headline lines preserve word spacing at every viewport. */
h1{letter-spacing:-.035em;line-height:1.09}h1 .headline-line{display:block}h1 em{letter-spacing:-.025em;word-spacing:.06em}
@media(max-width:700px){h1{font-size:clamp(40px,12.2vw,76px);letter-spacing:-.035em;line-height:1.09}}

/* Fixed vector icons retain the same monochrome design on iOS and desktop. */
.icon{display:inline-block;width:20px;height:20px;flex:none;vertical-align:middle}
.primary>.icon{width:24px;height:24px}
.play-icon{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;min-width:12px}
.play-icon>.icon{width:12px;height:12px}
.play-icon>.icon-pause{display:none}
.gallery.playing .icon-play{display:none}
.gallery.playing .icon-pause{display:block}
.gallery-arrows button{display:grid;place-items:center;padding:0}
.gallery-arrows .icon{width:21px;height:21px}
.text-link .icon{width:17px;height:17px;margin-left:14px}
footer a{display:inline-flex;align-items:center;gap:7px}
footer a .icon{width:16px;height:16px}
.mobile-cta a{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.mobile-cta a .icon{width:17px;height:17px}

.gallery{aspect-ratio:2/3}.portrait,.portrait.active{object-fit:contain;object-position:center;transform:none}.photo-stage .portrait{object-position:center}
