:root{--green:#009b67;--lime:#009b67;--ink:#101611;--cream:#f4f3eb;--white:#fff;--line:rgba(16,22,17,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.55}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Space Grotesk",sans-serif;line-height:.96;letter-spacing:-.045em}section{scroll-margin-top:90px}.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.site-header{position:sticky;top:0;z-index:50;height:78px;padding:0 clamp(20px,4vw,64px);display:flex;align-items:center;justify-content:space-between;background:rgba(244,243,235,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:18px;font-family:"Space Grotesk";font-size:.72rem;font-weight:700;letter-spacing:.11em}.brand img{width:102px}.site-nav{display:flex;align-items:center;gap:30px;font-size:.9rem;font-weight:600}.site-nav>a:not(.nav-cta){position:relative}.site-nav>a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:2px;background:var(--green);transition:right .25s}.site-nav>a:hover:after{right:0}.nav-cta{padding:11px 18px;background:var(--ink);color:white}.menu-button{display:none;border:0;background:transparent;padding:10px}.menu-button span{display:block;width:25px;height:2px;margin:6px;background:var(--ink)}
.hero{min-height:calc(100vh - 78px);display:grid;grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);grid-template-rows:1fr auto;padding:clamp(36px,6vw,88px) clamp(20px,5vw,78px) 26px;gap:30px 52px;background:var(--green);color:white;overflow:hidden}.hero-copy{align-self:center;max-width:760px}.hero h1{font-size:clamp(4rem,9vw,9.4rem);margin:26px 0 28px;line-height:.74;letter-spacing:-.085em}.hero h1 span{color:var(--lime)}.hero-lede{font-family:"Space Grotesk";font-size:clamp(1.35rem,2.3vw,2.1rem);font-weight:600;letter-spacing:-.035em;margin-bottom:14px}.hero-body{max-width:650px;font-size:clamp(1rem,1.35vw,1.18rem);color:rgba(255,255,255,.82)}.hero-actions{margin-top:36px;display:flex;align-items:center;gap:28px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 22px;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:white}.button-light{background:white;color:var(--ink)}.text-link{font-weight:700;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:4px}.hero-visual{position:relative;align-self:stretch;min-height:490px;transform:rotate(1.5deg)}.hero-main{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.05)}.hero-stamp{position:absolute;left:-36px;bottom:42px;width:118px;height:118px;border-radius:50%;display:grid;place-content:center;background:var(--lime);color:var(--ink);font-family:"Space Grotesk";font-size:2.8rem;font-weight:700;line-height:.65;text-align:center;transform:rotate(-9deg);box-shadow:0 8px 0 rgba(16,22,17,.2)}.hero-stamp span{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.vertical-note{position:absolute;right:-33px;top:50%;margin:0;font-size:.7rem;letter-spacing:.16em;transform:rotate(90deg) translateX(50%);transform-origin:right top}.hero-facts{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.35)}.hero-facts div{display:flex;align-items:baseline;gap:10px;padding:20px 12px 0;border-right:1px solid rgba(255,255,255,.25)}.hero-facts div:last-child{border:0}.hero-facts strong{font-family:"Space Grotesk";font-size:2rem}.hero-facts span{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.7)}
.section{padding:clamp(80px,10vw,150px) clamp(20px,7vw,110px)}.section-number{font-family:"Space Grotesk";font-size:.85rem;color:var(--green);padding-bottom:18px;border-bottom:1px solid var(--line)}.intro{display:grid;grid-template-columns:.75fr 1.1fr;gap:clamp(38px,7vw,110px)}.intro-heading h2,.section-heading h2,.included-heading h2,.faq-heading h2{font-size:clamp(3.1rem,6.4vw,7rem);margin:26px 0 0}.intro-heading h2 span,.experiences-section h2 span,.parents-section h2 span{color:var(--green)}.intro-copy{padding-top:43px}.lead{font-family:"Space Grotesk";font-weight:500;font-size:clamp(1.3rem,2.1vw,2rem);letter-spacing:-.035em;line-height:1.25}.feature-list{margin-top:55px;border-top:1px solid var(--line)}.feature-list article{display:grid;grid-template-columns:42px 110px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid var(--line);align-items:start}.feature-list span{font-size:.72rem;color:var(--green);font-weight:700}.feature-list h3{font-size:1.25rem;margin:0}.feature-list p{margin:0;color:#4d554f}
.journey-section{padding:clamp(80px,10vw,140px) clamp(20px,6vw,90px);background:var(--ink);color:white}.section-heading{display:grid;grid-template-columns:1.15fr .6fr;gap:60px;align-items:end}.section-heading>p{font-size:1.08rem;color:#5d655f;margin:0 0 8px}.section-heading.light>p{color:rgba(255,255,255,.62)}.section-heading h2{font-size:clamp(3.2rem,6vw,6.2rem)}.week-grid{margin-top:70px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.week-card{min-height:460px;padding:28px;background:#1a211b;border:1px solid rgba(255,255,255,.12);transition:background .25s,transform .25s;outline:none}.week-card:hover,.week-card:focus-visible{background:var(--green);transform:translateY(-8px)}.week-top{display:flex;justify-content:space-between;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.week-card h3{font-size:clamp(2rem,3vw,3.1rem);margin:150px 0 30px;max-width:260px}.week-card ul{margin:0;padding:0;list-style:none}.week-card li{padding:8px 0;border-top:1px solid rgba(255,255,255,.25);font-size:.92rem}.schedule-note{margin:24px 0 0;color:rgba(255,255,255,.48);font-size:.78rem}
.cities-section{padding:clamp(80px,10vw,150px) clamp(20px,7vw,110px)}.cities-section>.section-heading{margin:50px 0 65px}.city-list{border-top:1px solid var(--line)}.city-list article{display:grid;grid-template-columns:70px .8fr 1fr auto;gap:28px;align-items:center;padding:35px 0;border-bottom:1px solid var(--line);transition:padding .25s,background .25s}.city-list article:hover{padding-left:18px;padding-right:18px;background:white}.city-index{font-size:.75rem;color:var(--green);font-weight:700}.city-list h3{font-size:clamp(2.5rem,5vw,5.6rem);margin:0}.city-list p{max-width:470px;margin:0;color:#555d57}.city-tag{padding:8px 11px;border:1px solid var(--ink);font-size:.67rem;font-weight:700;letter-spacing:.12em}
.experiences-section{overflow:hidden;background:var(--lime);padding:26px 0 110px}.experience-marquee{white-space:nowrap;overflow:hidden;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:14px 0;font-family:"Space Grotesk";font-size:1.2rem;font-weight:700;letter-spacing:.08em}.experience-marquee span{display:inline-block;animation:marquee 22s linear infinite}.experience-inner{padding:80px clamp(20px,7vw,110px) 0;display:grid;grid-template-columns:1fr 1fr;gap:70px}.experiences-section h2{font-size:clamp(3.2rem,5.7vw,6rem);margin-top:25px}.pill-grid{display:flex;flex-wrap:wrap;gap:10px;align-content:center}.pill-grid span{padding:15px 20px;border:1.5px solid var(--ink);border-radius:999px;font-weight:700;font-size:1.02rem;background:rgba(255,255,255,.16)}
.parents-section{padding:clamp(80px,10vw,150px) clamp(20px,7vw,110px);background:#073f31;color:white;display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw}.parents-section h2{font-size:clamp(3.3rem,5.8vw,6rem);margin:25px 0 35px}.parents-section .lead{color:rgba(255,255,255,.74);font-family:"DM Sans";font-size:1.08rem;line-height:1.55}.parent-points{border-top:1px solid rgba(255,255,255,.28)}.parent-points article{display:block;padding:26px 0;border-bottom:1px solid rgba(255,255,255,.28)}.parent-points h3{font-size:1.45rem;margin:0 0 8px}.parent-points p{margin:0;color:rgba(255,255,255,.68)}
.stories-section{padding:clamp(80px,10vw,150px) clamp(20px,5vw,78px)}.photo-grid{margin-top:70px;display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:repeat(2,320px);gap:13px}.photo-grid figure{margin:0;position:relative;overflow:hidden;background:#ddd}.photo-grid .photo-large{grid-row:1/3}.photo-grid figure:last-child{grid-column:2/4}.photo-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.photo-grid figure:hover img{transform:scale(1.035)}.photo-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:38px 18px 15px;background:linear-gradient(transparent,rgba(0,0,0,.75));color:white;font-family:"Space Grotesk";font-weight:600}.photo-grid figcaption span{display:block;font-family:"DM Sans";font-size:.72rem;font-weight:500;color:rgba(255,255,255,.74)}.instagram-link{margin-top:20px;display:flex;justify-content:space-between;gap:14px;padding:21px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-weight:600}.instagram-link strong{color:var(--green)}
.included-section{padding:clamp(80px,10vw,140px) clamp(20px,7vw,110px);display:grid;grid-template-columns:70px .7fr 1.2fr;gap:38px}.included-grid{grid-column:3;display:grid;grid-template-columns:1fr 1fr;gap:45px;padding-top:44px}.included-grid h3{font-size:1.45rem;border-bottom:2px solid var(--ink);padding-bottom:16px}.included-grid ul{list-style:none;margin:0;padding:0}.included-grid li{padding:11px 0;border-bottom:1px solid var(--line)}.included-grid li:before{content:"✓";color:var(--green);font-weight:700;margin-right:11px}.included-grid div:last-child li:before{content:"—";color:var(--ink)}.fine-print{grid-column:3;font-size:.76rem;color:#666d68}
.faq-section{padding:clamp(80px,10vw,140px) clamp(20px,7vw,110px);background:white;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.faq-heading h2{font-size:clamp(3rem,5vw,5.5rem)}.faq-list{border-top:1px solid var(--ink)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:25px 0;font-family:"Space Grotesk";font-size:1.14rem;font-weight:600}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:1.5rem;color:var(--green);transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{max-width:690px;padding:0 35px 23px 0;color:#59605b}.faq-list details a{text-decoration:underline}
.final-cta{padding:clamp(85px,12vw,170px) 20px;text-align:center;background:var(--green);color:white}.final-cta h2{font-size:clamp(3.8rem,8vw,8.8rem);margin:25px 0 30px}.final-cta>p:not(.eyebrow){max-width:660px;margin:0 auto;color:rgba(255,255,255,.78);font-size:1.1rem}.cta-actions{margin-top:38px;display:flex;justify-content:center;align-items:center;gap:26px;flex-wrap:wrap}.cta-phone{font-weight:700;border-bottom:1px solid rgba(255,255,255,.6)}
.site-footer{padding:54px clamp(20px,5vw,78px) 30px;background:var(--ink);color:white;display:grid;grid-template-columns:1fr auto;gap:55px}.footer-brand img{width:150px;margin-bottom:20px}.footer-brand p{color:rgba(255,255,255,.58);font-size:.82rem}.footer-links{display:flex;flex-direction:column;gap:10px;text-align:right;font-weight:600}.copyright{grid-column:1/-1;padding-top:24px;border-top:1px solid rgba(255,255,255,.15);margin:0;color:rgba(255,255,255,.42);font-size:.72rem}
@keyframes marquee{to{transform:translateX(-50%)}}
@media(max-width:980px){.site-nav{display:none;position:absolute;top:78px;left:0;right:0;padding:26px;background:var(--cream);flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.site-nav.open{display:flex}.menu-button{display:block}.hero{grid-template-columns:1fr;grid-template-rows:auto minmax(430px,62vh) auto}.hero h1{font-size:clamp(4.2rem,17vw,8.5rem)}.hero-facts{grid-template-columns:repeat(2,1fr)}.intro,.included-section{grid-template-columns:45px 1fr}.intro-copy,.included-grid,.fine-print{grid-column:2}.week-grid{grid-template-columns:1fr}.week-card{min-height:auto}.week-card h3{margin-top:70px}.section-heading,.experiences-section .experience-inner,.parents-section,.faq-section{grid-template-columns:1fr}.city-list article{grid-template-columns:45px 1fr}.city-list p{grid-column:2}.city-tag{grid-column:2;justify-self:start}.photo-grid{grid-template-columns:1fr 1fr;grid-template-rows:420px 250px 280px}.photo-grid .photo-large{grid-column:1/3;grid-row:auto}.photo-grid figure:last-child{grid-column:1/3}.included-grid{grid-template-columns:1fr 1fr}.fine-print{grid-column:2}.faq-section{gap:45px}}
@media(max-width:620px){.site-header{height:68px}.site-nav{top:68px}.brand{gap:10px}.brand img{width:82px}.brand span{font-size:.6rem}.hero{padding:35px 20px 22px;min-height:auto}.hero h1{font-size:20vw;margin:24px 0;line-height:.78}.hero-visual{min-height:390px}.hero-stamp{left:8px;bottom:-25px;width:92px;height:92px;font-size:2.2rem}.vertical-note{display:none}.hero-facts{margin-top:22px}.hero-facts div{flex-direction:column;gap:0}.hero-facts strong{font-size:1.55rem}.intro,.included-section{grid-template-columns:1fr}.intro .section-number,.included-section .section-number{display:none}.intro-heading,.intro-copy,.included-heading,.included-grid,.fine-print{grid-column:1}.intro-copy{padding-top:0}.feature-list article{grid-template-columns:34px 82px 1fr}.section-heading{gap:25px}.week-card h3{margin-top:55px}.city-list article{grid-template-columns:35px 1fr;gap:15px}.city-list h3{font-size:12vw}.experience-inner{gap:30px}.pill-grid span{padding:12px 14px;font-size:.9rem}.photo-grid{grid-template-columns:1fr;grid-template-rows:360px repeat(3,250px)}.photo-grid .photo-large,.photo-grid figure:last-child{grid-column:1}.included-grid{grid-template-columns:1fr}.faq-section{padding-left:20px;padding-right:20px}.site-footer{grid-template-columns:1fr}.footer-links{text-align:left}.copyright{grid-column:1}.instagram-link{display:block}.instagram-link strong{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.experience-marquee span{animation:none}.photo-grid img,.week-card,.button{transition:none}}

/* Participant stories */
.review-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,250px)}
.review-grid .photo-large{grid-column:1/3;grid-row:1/3}
.review-grid .photo-portrait{grid-column:3;grid-row:1/3}
.review-grid figure:nth-child(3){grid-column:4;grid-row:1}
.review-grid figure:nth-child(4){grid-column:4;grid-row:2}
.review-grid figure:nth-child(5){grid-column:1;grid-row:3}
.review-grid figure:nth-child(6){grid-column:2;grid-row:3}
.review-grid .photo-wide{grid-column:3/5;grid-row:3}
.review-grid .photo-portrait img{object-position:center 38%}

/* Consultation */
.back-link{font-weight:700;font-size:.9rem;border-bottom:1px solid var(--ink)}
.consultation-main{min-height:calc(100vh - 78px);display:grid;grid-template-columns:.85fr 1.15fr;background:var(--cream)}
.consultation-intro{padding:clamp(60px,8vw,120px) clamp(24px,6vw,90px);background:var(--green);color:white;position:sticky;top:78px;align-self:start;min-height:calc(100vh - 78px)}
.consultation-intro h1{font-size:clamp(3.5rem,6.6vw,7.2rem);margin:34px 0;letter-spacing:-.07em}
.consultation-intro h1 span{color:var(--lime)}
.consultation-intro>p:not(.eyebrow){max-width:560px;color:rgba(255,255,255,.8);font-size:1.08rem}
.contact-direct{margin-top:70px;padding-top:25px;border-top:1px solid rgba(255,255,255,.35)}
.contact-direct p{display:grid;grid-template-columns:75px 1fr;margin:12px 0}
.contact-direct span{font-size:.7rem;text-transform:uppercase;letter-spacing:.11em;color:rgba(255,255,255,.58)}
.contact-direct a{font-weight:700}
.consultation-form-wrap{padding:clamp(55px,7vw,100px) clamp(24px,6vw,90px)}
.consultation-form{max-width:840px;margin:0 auto}
.form-heading{display:block;padding:26px 0 18px;border-bottom:2px solid var(--ink);margin-bottom:30px}
.form-heading:first-child{padding-top:0}
.form-heading span{font-size:.72rem;color:var(--green);font-weight:700}
.form-heading h2{font-size:clamp(1.65rem,3vw,2.5rem);margin:0}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 20px;margin-bottom:60px}
.consultation-form label>span:first-child{display:block;margin-bottom:8px;font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700}
.consultation-form input,.consultation-form select,.consultation-form textarea{width:100%;border:1px solid rgba(16,22,17,.32);border-radius:0;background:white;color:var(--ink);font:inherit;padding:14px 13px;min-height:52px}
.field-hidden{display:none!important}
.consultation-form textarea{resize:vertical;min-height:150px}
.consultation-form input:focus,.consultation-form select:focus,.consultation-form textarea:focus{outline:3px solid rgba(0,155,103,.18);border-color:var(--green)}
.full-field{display:block;margin-bottom:24px}
.consent-field{display:grid!important;grid-template-columns:22px 1fr;gap:11px;align-items:start;margin:25px 0}
.consent-field input{width:20px;height:20px;min-height:0;margin:2px 0 0}
.consent-field span{font-size:.85rem!important;text-transform:none!important;letter-spacing:0!important;font-weight:500!important;color:#525a54}
.submit-button{width:100%;border:0;background:var(--ink);color:white;min-height:58px;padding:14px 20px;display:flex;justify-content:space-between;align-items:center;font:700 1rem "DM Sans";cursor:pointer}
.submit-button:hover{background:var(--green)}
.form-note{font-size:.75rem;color:#69706b;margin:12px 0 0}
.consultation-footer{padding:28px clamp(24px,6vw,90px);background:var(--ink);color:white;display:flex;justify-content:space-between;align-items:center;gap:25px}
.consultation-footer img{width:120px}.consultation-footer p{margin:0;color:rgba(255,255,255,.65)}.consultation-footer a{color:white;font-weight:700}

@media(max-width:980px){.review-grid{grid-template-columns:1fr 1fr;grid-template-rows:400px repeat(3,260px)}.review-grid .photo-large{grid-column:1/3;grid-row:auto}.review-grid .photo-portrait{grid-column:1;grid-row:auto}.review-grid .photo-wide{grid-column:1/3}.consultation-main{grid-template-columns:1fr}.consultation-intro{position:relative;top:0;min-height:auto}.consultation-intro h1{font-size:clamp(3.5rem,11vw,6.5rem)}.contact-direct{margin-top:45px}}
@media(max-width:620px){.review-grid{grid-template-columns:1fr;grid-template-rows:340px repeat(6,250px)}.review-grid .photo-large,.review-grid .photo-portrait,.review-grid .photo-wide{grid-column:1;grid-row:auto}.back-link{font-size:.76rem}.consultation-form-wrap{padding-left:20px;padding-right:20px}.form-grid{grid-template-columns:1fr;margin-bottom:48px}.consultation-footer{align-items:flex-start;flex-direction:column}.consultation-footer p{font-size:.85rem}}

/* Readability scale — preserve the main hero title */
body{font-size:18px}
.eyebrow{font-size:.88rem}
.site-nav{font-size:1rem}
.brand{font-size:.82rem}
.hero-body{font-size:clamp(1.08rem,1.5vw,1.3rem);line-height:1.62}
.text-link,.button{font-size:1rem}
.hero-facts span{font-size:.84rem}
.feature-list span,.city-index,.week-top,.parent-points article>span{font-size:.82rem}
.feature-list p,.week-card li,.city-list p,.parent-points p{font-size:1rem;line-height:1.6}
.week-card li{padding:10px 0}
.schedule-note,.fine-print,.form-note{font-size:.86rem;line-height:1.55}
.city-tag{font-size:.76rem}
.pill-grid span{font-size:1.08rem}
.photo-grid figcaption{font-size:1.08rem}
.photo-grid figcaption span{font-size:.84rem;margin-top:3px}
.instagram-link{font-size:1.02rem}
.included-grid li{font-size:1rem}
.faq-list summary{font-size:1.28rem}
.faq-list details p{font-size:1rem;line-height:1.65}
.footer-brand p,.copyright{font-size:.84rem}
.consultation-intro>p:not(.eyebrow){font-size:1.16rem;line-height:1.65}
.contact-direct span{font-size:.8rem}.contact-direct a{font-size:1rem}
.consultation-form label>span:first-child{font-size:.86rem}
.consultation-form input,.consultation-form select,.consultation-form textarea{font-size:1rem}
.consent-field span{font-size:.94rem!important;line-height:1.5}

@media(max-width:620px){body{font-size:17px}.brand{font-size:.68rem}.eyebrow{font-size:.8rem}.hero-body{font-size:1.05rem}.feature-list p,.week-card li,.city-list p,.parent-points p,.included-grid li,.faq-list details p{font-size:.96rem}.faq-list summary{font-size:1.12rem}.photo-grid figcaption{font-size:1rem}.back-link{font-size:.84rem}}

/* City photo stories */
.city-stories{margin-top:clamp(80px,10vw,145px);display:grid;gap:clamp(90px,12vw,180px)}
.city-story{display:grid;grid-template-columns:minmax(250px,.55fr) minmax(0,1.45fr);gap:clamp(35px,6vw,90px);align-items:start}
.city-story.reverse{grid-template-columns:minmax(0,1.45fr) minmax(250px,.55fr)}
.city-story.reverse .city-story-copy{grid-column:2;grid-row:1}
.city-story.reverse .city-photo-grid{grid-column:1;grid-row:1}
.city-story-copy{position:sticky;top:118px;padding-top:8px}
.city-story-copy>span{font-size:.82rem;font-weight:700;letter-spacing:.13em;color:var(--green)}
.city-story-copy h3{font-size:clamp(2.8rem,4.7vw,5.2rem);margin:24px 0 28px}
.city-story-copy p{max-width:420px;color:#555d57;line-height:1.7}
.city-photo-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-auto-rows:220px;gap:12px}
.city-photo-grid figure{margin:0;overflow:hidden;background:#d9dcd8}
.city-photo-grid img{display:block;width:100%;max-width:none;height:100%;object-fit:cover;object-position:center;transition:transform .55s ease}
.city-photo-grid figure:hover img{transform:scale(1.035)}
.city-photo-grid .city-photo-feature{grid-row:span 2}
.city-photo-grid .city-photo-wide{grid-column:1/3}
.seoul-grid .city-photo-feature img{object-position:center 44%}
.gyeongju-grid .city-photo-feature img{object-position:center 60%}
.busan-grid .city-photo-feature img{object-position:center 54%}

@media(max-width:980px){.city-story,.city-story.reverse{grid-template-columns:1fr}.city-story.reverse .city-story-copy,.city-story.reverse .city-photo-grid{grid-column:1;grid-row:auto}.city-story-copy{position:relative;top:0;max-width:680px}.city-photo-grid{grid-auto-rows:200px}}
@media(max-width:620px){.city-stories{gap:90px}.city-photo-grid{grid-template-columns:1fr;grid-auto-rows:230px}.city-photo-grid .city-photo-feature{grid-row:auto}.city-photo-grid .city-photo-wide{grid-column:1}.city-story-copy h3{font-size:12vw}.city-story-copy p{font-size:1rem}}

/* Balanced participant gallery and edge-to-edge image crops */
.photo-grid img{max-width:none;object-position:center}
@media(max-width:980px){.review-grid figure{grid-column:auto!important;grid-row:auto!important}.review-grid .photo-large{grid-column:1/3!important;grid-row:1!important}.review-grid .photo-portrait{grid-column:1!important;grid-row:2/4!important}.review-grid figure:nth-child(3){grid-column:2!important;grid-row:2!important}.review-grid figure:nth-child(4){grid-column:2!important;grid-row:3!important}.review-grid figure:nth-child(5){grid-column:1!important;grid-row:4!important}.review-grid figure:nth-child(6){grid-column:2!important;grid-row:4!important}.review-grid .photo-wide{grid-column:1/3!important;grid-row:5!important}}
@media(max-width:620px){.review-grid figure,.review-grid .photo-large,.review-grid .photo-portrait,.review-grid .photo-wide{grid-column:1!important;grid-row:auto!important}}

/* Mobile hero fit */
@media(max-width:620px){
  .hero,.hero-copy{min-width:0;width:100%}
  .hero h1{font-size:clamp(3.25rem,16vw,4.8rem);letter-spacing:-.075em;max-width:100%}
  .hero-lede,.hero-body{max-width:100%;overflow-wrap:break-word}
}

/* Program pricing */
.pricing-panel{grid-column:2/4;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);margin:42px 0 50px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.pricing-main{padding:26px 28px 28px 0;border-right:1px solid var(--line)}
.pricing-main span,.pricing-offers span{display:block;font-size:.78rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--green)}
.pricing-main strong{display:block;margin:8px 0 4px;font-family:"Space Grotesk",sans-serif;font-size:clamp(3rem,5vw,5.6rem);line-height:.95;letter-spacing:-.06em}
.pricing-main small{font-size:.84rem;color:#626962}
.price-stack{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin:8px 0 6px}
.price-stack del{font-family:"Space Grotesk",sans-serif;font-size:1.45rem;color:#858b86;text-decoration-thickness:2px}
.price-stack strong{margin:0}
.pricing-offers{display:grid;grid-template-columns:1fr 1fr}
.pricing-offers p{display:flex;flex-direction:column;justify-content:center;gap:8px;margin:0;padding:24px 28px;border-right:1px solid var(--line)}
.pricing-offers p:last-child{border-right:0}
.pricing-offers strong{font-family:"Space Grotesk",sans-serif;font-size:1.45rem;letter-spacing:-.035em}
.pricing-offers small{font-size:.82rem;line-height:1.4;color:#626962}
.pricing-combined{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;margin:0;padding:15px 0;border-top:1px solid var(--line);font-size:.9rem}
.pricing-combined strong{color:var(--green)}
.pricing-combined span{display:flex;align-items:baseline;gap:10px}
.pricing-combined del{color:#858b86;text-decoration-thickness:2px}
.pricing-combined b{font-family:"Space Grotesk",sans-serif;font-size:1.3rem;letter-spacing:-.035em}
@media(max-width:980px){.pricing-panel{grid-column:2}}
@media(max-width:620px){.pricing-panel{grid-column:1;grid-template-columns:1fr;margin:32px 0 40px}.pricing-main{padding:22px 0;border-right:0;border-bottom:1px solid var(--line)}.pricing-offers{grid-template-columns:1fr}.pricing-offers p{padding:20px 0;border-right:0;border-bottom:1px solid var(--line)}.pricing-offers p:last-child{border-bottom:0}.pricing-main strong{font-size:3.4rem}.pricing-combined{flex-direction:column;gap:4px;padding:17px 0}}

/* Top program snapshot */
.snapshot-section{padding:clamp(70px,8vw,110px) clamp(20px,5vw,78px);display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);gap:clamp(35px,6vw,90px);background:var(--ink);color:white}
.snapshot-heading h2{margin:20px 0 0;font-size:clamp(2.6rem,4.8vw,5rem)}
.snapshot-heading .eyebrow{color:var(--lime)}
.snapshot-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.3);border-left:1px solid rgba(255,255,255,.3)}
.snapshot-grid article{min-height:168px;padding:24px;border-right:1px solid rgba(255,255,255,.3);border-bottom:1px solid rgba(255,255,255,.3)}
.snapshot-grid span{display:block;margin-bottom:22px;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.58)}
.snapshot-grid strong{display:block;font-family:"Space Grotesk",sans-serif;font-size:clamp(1.35rem,2vw,2.1rem);line-height:1.05;letter-spacing:-.04em}
.snapshot-grid p{margin:9px 0 0;font-size:.9rem;line-height:1.45;color:rgba(255,255,255,.68)}
.snapshot-grid .snapshot-price{background:var(--lime);color:var(--ink)}
.snapshot-grid .snapshot-price span,.snapshot-grid .snapshot-price p{color:rgba(16,22,17,.68)}
.snapshot-price-line{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.snapshot-price-line del{font-family:"Space Grotesk",sans-serif;font-size:1rem;color:rgba(16,22,17,.58);text-decoration-thickness:2px}
.snapshot-price-line strong{margin:0}
@media(max-width:980px){.snapshot-section{grid-template-columns:1fr}.snapshot-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.snapshot-section{padding:60px 20px}.snapshot-grid{grid-template-columns:1fr}.snapshot-grid article{min-height:auto;padding:22px}.snapshot-grid span{margin-bottom:12px}.snapshot-heading h2{font-size:2.7rem}}

/* Compact one-page program layout */
.hero.hero-compact{min-height:calc(100vh - 78px);padding:0;grid-template-columns:minmax(0,1.4fr) minmax(360px,.6fr);grid-template-rows:1fr;gap:0;background:var(--ink)}
.hero-photo-copy{position:relative;align-self:stretch;max-width:none;display:flex;align-items:flex-end;min-height:720px;padding:clamp(45px,7vw,96px);background:linear-gradient(90deg,rgba(8,18,13,.66) 0%,rgba(8,18,13,.34) 50%,rgba(8,18,13,.05) 100%),url("assets/camp-international-main.jpg") center 46%/cover no-repeat}
.hero-copy-inner{position:relative;z-index:1;max-width:760px}.hero-compact h1{font-size:clamp(4.2rem,8vw,9rem);margin:22px 0 24px}.hero-compact .hero-body{max-width:690px}.light-link{color:white}
.hero-overview{display:flex;flex-direction:column;justify-content:center;padding:clamp(38px,4.5vw,70px);background:var(--cream);color:var(--ink)}
.hero-overview .eyebrow{color:var(--green)}.hero-overview h2{font-size:clamp(2.2rem,3.7vw,4.2rem);margin:18px 0 38px}.overview-list{margin:0;border-top:1px solid var(--ink)}.overview-list div{padding:17px 0;border-bottom:1px solid var(--line)}.overview-list dt{font-size:.72rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--green)}.overview-list dd{margin:4px 0 0;font-family:"Space Grotesk";font-weight:600;font-size:1.08rem;line-height:1.35}.overview-price{margin-top:28px;padding:24px;background:var(--lime)}.overview-price>span{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.overview-price>p{display:flex;align-items:baseline;gap:12px;margin:9px 0 0}.overview-price del{color:rgba(16,22,17,.58);text-decoration-thickness:2px}.overview-price strong{font-family:"Space Grotesk";font-size:2.5rem;letter-spacing:-.05em}.overview-price small{display:block;margin-top:2px}
.compact-intro{padding-top:clamp(70px,8vw,115px);padding-bottom:clamp(70px,8vw,115px)}
.compact-cities{padding-top:clamp(75px,8vw,120px);padding-bottom:clamp(75px,8vw,120px)}.compact-cities>.section-heading{margin:0 0 50px}.city-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.city-card-grid article{background:white;border-bottom:4px solid var(--green)}.city-card-grid img{width:100%;height:270px;object-fit:cover}.city-card-grid article>div{padding:24px}.city-card-grid span{font-size:.72rem;font-weight:700;letter-spacing:.11em;color:var(--green)}.city-card-grid h3{font-size:clamp(2rem,3vw,3.4rem);margin:17px 0 12px}.city-card-grid p{margin:0;color:#58605a}
.compact-stories{padding-top:clamp(75px,8vw,120px);padding-bottom:clamp(75px,8vw,120px);overflow:hidden}.story-marquee{margin-top:55px;overflow:hidden}.story-track{display:flex;gap:14px;width:max-content;animation:story-scroll 60s linear infinite;will-change:transform}.story-marquee:hover .story-track,.story-marquee:focus-within .story-track{animation-play-state:paused}.story-track figure{position:relative;flex:0 0 clamp(290px,30vw,420px);height:360px;margin:0;overflow:hidden;background:#d5d8d4}.story-track img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.story-track figure:hover img{transform:scale(1.025)}.story-track figcaption{position:absolute;left:0;right:0;bottom:0;padding:46px 18px 17px;background:linear-gradient(transparent,rgba(0,0,0,.78));color:white;font-family:"Space Grotesk";font-size:1.05rem;font-weight:600}
@keyframes story-scroll{to{transform:translateX(calc(-50% - 7px))}}
@media(prefers-reduced-motion:reduce){.story-track{animation:none}}
.compact-parents{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-areas:"copy points" "photo points";gap:34px clamp(45px,7vw,110px);align-items:start}.compact-parents .parents-copy{grid-area:copy}.parents-photo{grid-area:photo;height:330px;overflow:hidden}.parents-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.compact-parent-points{grid-area:points;align-self:stretch;display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.compact-parent-points article{padding:30px 0;min-height:165px}.compact-parent-points h3{font-size:1.5rem}
.compact-included{grid-template-columns:minmax(220px,.58fr) minmax(0,1.42fr);gap:clamp(35px,6vw,85px)}.compact-included .included-heading{grid-column:1}.compact-included .scholarship-strip,.compact-included .included-grid,.compact-included .fine-print{grid-column:2}.scholarship-strip{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.scholarship-strip>div{padding:25px;border-right:1px solid var(--line)}.scholarship-strip>div:nth-child(2){border-right:0}.scholarship-strip span{display:block;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green)}.scholarship-strip strong{display:block;margin:7px 0;font-family:"Space Grotesk";font-size:1.75rem}.scholarship-strip small{color:#687069}.scholarship-strip>p{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin:0;padding:18px 0;border-top:1px solid var(--line)}.scholarship-strip>p span{display:flex;align-items:baseline;gap:10px;color:var(--ink)}.scholarship-strip>p strong{display:inline;margin:0;font-size:1.55rem}.scholarship-strip del{color:#858b86}.compact-included .included-grid{padding-top:35px}.compact-included .fine-print{margin-top:0}
.consultation-section{display:grid;grid-template-columns:.82fr 1.18fr;background:var(--cream)}.consultation-inline-intro{position:relative;top:0;min-height:100%;align-self:stretch}.consultation-inline-intro h2{font-size:clamp(3rem,5.5vw,6rem);margin:30px 0}.consultation-section .consultation-form-wrap{padding-top:70px;padding-bottom:70px}.consultation-section .form-grid{margin-bottom:42px}

@media(max-width:1100px){.hero.hero-compact{grid-template-columns:1fr;grid-template-rows:auto}.hero-photo-copy{min-height:650px}.hero-overview{padding:50px}.city-card-grid{grid-template-columns:1fr 1fr}.city-card-grid article:last-child{grid-column:1/3}.compact-parents{grid-template-columns:1fr;grid-template-areas:"copy" "photo" "points"}.parents-photo{height:440px}.consultation-section{grid-template-columns:1fr}.consultation-inline-intro{min-height:auto}.compact-included{grid-template-columns:1fr}.compact-included .included-heading,.compact-included .scholarship-strip,.compact-included .included-grid,.compact-included .fine-print{grid-column:1}}
@media(max-width:620px){.hero.hero-compact{display:grid;padding:0}.hero-photo-copy{min-height:610px;padding:34px 20px;background-position:57% center}.hero-compact h1{font-size:clamp(3.25rem,16vw,4.8rem)}.hero-overview{padding:42px 20px}.hero-overview h2{font-size:2.6rem}.overview-price{padding:20px}.city-card-grid{grid-template-columns:1fr}.city-card-grid article:last-child{grid-column:1}.city-card-grid img{height:230px}.story-track{animation-duration:48s}.story-track figure{flex-basis:290px;height:330px}.compact-parent-points{grid-template-columns:1fr}.compact-parent-points article{min-height:auto}.parents-photo{height:320px}.scholarship-strip{grid-template-columns:1fr}.scholarship-strip>div{border-right:0;border-bottom:1px solid var(--line);padding:20px 0}.scholarship-strip>p{grid-column:1;flex-direction:column;gap:8px}.consultation-section .consultation-form-wrap{padding-top:55px;padding-bottom:55px}}

@media(max-width:1250px) and (min-width:981px){.site-nav{gap:16px;font-size:.88rem}.brand{gap:10px}.nav-cta{padding-left:14px;padding-right:14px}}
@media(max-width:980px) and (min-width:621px){.intro{grid-template-columns:1fr 1fr}.intro-copy{grid-column:auto}}

/* Final readability and interaction refinements */
.eyebrow{font-size:1rem;line-height:1.35}
.hero.hero-compact{min-height:auto;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);grid-template-rows:minmax(680px,auto) auto;background:var(--cream)}
.hero-photo-copy{min-height:680px;background:var(--green);padding:clamp(48px,6vw,92px)}
.hero-copy-inner{max-width:790px}.hero-copy-inner .eyebrow{font-size:1.02rem}
.hero-compact h1 span{color:var(--ink)}
.hero-overview .overview-price{background:var(--ink);color:white}.hero-overview .overview-price>span,.hero-overview .overview-buddy span{color:var(--green)}.hero-overview .overview-price del{color:rgba(255,255,255,.48)}.hero-overview .overview-price small{color:rgba(255,255,255,.72)}.hero-overview .overview-buddy{border-top-color:rgba(255,255,255,.28)}.hero-overview .overview-buddy b{color:white}.hero-overview .overview-price em{color:white;border-top-color:rgba(255,255,255,.28)}.hero-overview .overview-price:hover{filter:none}.hero-overview .overview-price em span{color:var(--green)}
.hero-image{min-height:680px;background:url("assets/camp-international-main.jpg") 58% center/cover no-repeat}
.hero-overview{grid-column:1/-1;display:grid;grid-template-columns:.8fr 1.35fr .75fr;gap:clamp(28px,4vw,70px);align-items:center;padding:clamp(38px,4vw,62px) clamp(24px,6vw,90px);border-top:1px solid var(--line)}
.hero-overview h2{font-size:clamp(2.25rem,3.1vw,3.9rem);margin-bottom:0}.overview-price{margin-top:0}
.city-card-grid article{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.city-card-grid img{transition:transform .42s ease,filter .28s ease}.city-card-grid h3{transition:color .25s ease}.city-card-grid article:hover{transform:translateY(-7px);box-shadow:0 18px 38px rgba(16,22,17,.15);border-color:var(--lime)}.city-card-grid article:hover img{transform:scale(1.035);filter:saturate(1.08)}.city-card-grid article:hover h3{color:var(--green)}
.compact-parent-points article{position:relative;padding-left:58px}.compact-parent-points svg{position:absolute;left:0;top:28px;width:34px;height:34px;color:var(--lime);fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.story-track figcaption{line-height:1.35;text-wrap:balance}
@media(max-width:1100px){.hero.hero-compact{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.hero-photo-copy,.hero-image{min-height:600px}.hero-overview{grid-template-columns:1fr 1.2fr}.overview-price{grid-column:1/-1}.compact-parent-points article{padding-left:58px}}
@media(max-width:720px){.eyebrow{font-size:.92rem}.hero.hero-compact{grid-template-columns:1fr;grid-template-rows:auto}.hero-photo-copy{min-height:auto;padding:56px 20px}.hero-image{min-height:390px;background-position:center}.hero-overview{grid-template-columns:1fr;padding:42px 20px}.overview-price{grid-column:auto}.compact-parent-points article{padding-left:54px}.compact-parent-points svg{width:30px;height:30px}.city-card-grid article:hover{transform:none;box-shadow:none}}

/* Cohesive program overview and section transition */
.hero-overview{grid-template-columns:minmax(250px,.82fr) minmax(440px,1.45fr) minmax(300px,.78fr);gap:0;padding:0;background:var(--cream);border-top:0;border-bottom:1px solid var(--line)}
.hero-overview>div:first-child{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:52px clamp(30px,4vw,64px);background:var(--ink);color:white}
.hero-overview>div:first-child .eyebrow{color:var(--lime)}
.hero-overview h2{max-width:360px;margin:18px 0 0;font-size:clamp(2.3rem,3.2vw,4rem);line-height:.98}
.overview-list{display:grid;grid-template-columns:1fr 1fr;align-self:stretch;margin:0;border:0;border-right:1px solid var(--line)}
.overview-list div{display:flex;flex-direction:column;justify-content:center;min-height:150px;padding:30px clamp(24px,3vw,44px);border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.overview-list div:nth-child(even){border-right:0}
.overview-list div:nth-last-child(-n+2){border-bottom:0}
.overview-list dt{font-size:.8rem}
.overview-list dd{margin-top:9px;font-size:1.12rem}
.overview-price{align-self:stretch;display:flex;flex-direction:column;justify-content:center;margin:0;padding:38px clamp(28px,3.4vw,52px);background:var(--lime)}
.overview-price strong{font-size:2.75rem}
.compact-intro{padding-top:clamp(72px,7vw,100px);border-top:0}
@media(max-width:1180px){.hero-overview{grid-template-columns:.8fr 1.2fr}.overview-price{grid-column:1/-1;min-height:auto;padding:30px 44px}.overview-price>p{margin-top:6px}.overview-buddy{margin-top:14px}.compact-intro{padding-top:80px}}
@media(max-width:760px){.hero-overview{grid-template-columns:1fr}.hero-overview>div:first-child{padding:40px 22px}.hero-overview h2{max-width:330px;font-size:2.65rem}.overview-list{grid-template-columns:1fr 1fr;border-right:0}.overview-list div{min-height:132px;padding:24px 20px}.overview-list dd{font-size:1rem}.overview-price{grid-column:1;padding:30px 22px}.compact-intro{padding-top:64px}}
@media(max-width:480px){.overview-list{grid-template-columns:1fr}.overview-list div,.overview-list div:nth-child(even){min-height:auto;padding:22px;border-right:0;border-bottom:1px solid var(--line)}.overview-list div:last-child{border-bottom:0}}

/* Larger, easier-to-scan header typography */
.site-header{height:84px}
.brand{gap:20px;font-size:.92rem}
.brand img{width:116px}
.site-nav{gap:32px;font-size:1.08rem}
.nav-cta{padding:13px 22px}
@media(max-width:1250px) and (min-width:981px){.site-nav{gap:17px;font-size:.98rem}.brand{gap:12px;font-size:.8rem}.brand img{width:104px}.nav-cta{padding:12px 16px}}
@media(max-width:980px){.site-nav{top:84px;font-size:1.08rem}}
@media(max-width:620px){.site-header{height:72px}.site-nav{top:72px}.brand img{width:90px}.brand span{font-size:.68rem}}

/* Journey emphasis and refined destination interaction */
.journey-korea{color:var(--green)}
.city-card-grid article{position:relative;overflow:hidden;border-bottom:1px solid var(--line);box-shadow:0 0 0 1px rgba(16,22,17,.04);transition:box-shadow .3s ease}
.city-card-grid article::after{content:attr(data-action) "  ↗";position:absolute;top:224px;right:20px;padding:10px 14px;background:rgba(16,22,17,.9);color:white;font-size:.78rem;font-weight:700;letter-spacing:.04em;opacity:0;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease;pointer-events:none}
.city-card-grid article:hover{transform:none;border-color:var(--line);box-shadow:0 14px 34px rgba(16,22,17,.12)}
.city-card-grid article:hover img{transform:scale(1.025);filter:brightness(.82) saturate(1.04)}
.city-card-grid article:hover h3{color:var(--ink)}
.city-card-grid article:hover::after{opacity:1;transform:translateY(0)}
@media(max-width:620px){.city-card-grid article::after{top:184px;right:16px}.city-card-grid article:hover{box-shadow:none}.city-card-grid article::after{display:none}}
@media(prefers-reduced-motion:reduce){.city-card-grid article,.city-card-grid img,.city-card-grid article::after{transition:none}}

/* Prominent session dates */
.overview-list .overview-dates{grid-column:1/-1;min-height:126px;border-right:0}
.overview-list .overview-dates dd{display:flex;gap:clamp(18px,3vw,48px);flex-wrap:wrap}
.overview-list .overview-dates dd span{display:flex;flex-direction:column;gap:2px}
.overview-list .overview-dates dd b{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--green)}
.overview-list div:nth-child(even){border-right:1px solid var(--line)}
.overview-list div:nth-child(3),.overview-list div:nth-child(5){border-right:0}
@media(max-width:480px){.overview-list .overview-dates{grid-column:1}.overview-list .overview-dates dd{display:grid;gap:14px}.overview-list div:nth-child(even),.overview-list div:nth-child(3),.overview-list div:nth-child(5){border-right:0}}

/* Fees entry point */
.overview-price{color:var(--ink);transition:filter .25s ease}
.overview-price:hover{filter:brightness(.96)}
.overview-price em{display:block;margin-top:18px;padding-top:14px;border-top:1px solid rgba(16,22,17,.28);font-style:normal;font-weight:700}
.fee-teaser{padding:clamp(70px,8vw,115px) clamp(20px,5vw,78px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,130px);align-items:end;background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fee-teaser h2{margin:20px 0 0;font-size:clamp(3.2rem,6vw,7rem)}.fee-teaser h2 span{color:var(--green)}
.fee-teaser-price{display:grid;grid-template-columns:1fr 1fr;gap:20px}.fee-teaser-price p{margin:0;padding:0 0 22px;border-bottom:1px solid var(--ink)}.fee-teaser-price small{display:block;margin-bottom:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.fee-teaser-price strong{font-family:"Space Grotesk";font-size:clamp(2.5rem,4vw,4.5rem);letter-spacing:-.06em}.fee-teaser-price .button{grid-column:1/-1;justify-self:start;margin-top:8px}

/* Dedicated fees page */
.fees-page{background:var(--cream)}
.fees-hero{min-height:620px;padding:clamp(70px,8vw,120px) clamp(20px,6vw,100px);display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(50px,8vw,140px);align-items:center;background:var(--ink);color:white}
.fees-hero .back-link{display:inline-block;margin-bottom:70px;border-bottom:1px solid rgba(255,255,255,.45);font-weight:600}.fees-hero .eyebrow{color:var(--lime)}.fees-hero h1{margin:20px 0 0;font-size:clamp(4rem,8vw,9rem)}.fees-hero h1 span{color:var(--green)}
.fees-total{padding:clamp(32px,4vw,58px);background:var(--lime);color:var(--ink)}.fees-total>span{display:block;font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.fees-total strong{display:block;margin:12px 0 0;font-family:"Space Grotesk";font-size:clamp(4rem,7vw,7.5rem);line-height:1;letter-spacing:-.07em}.fees-total p{margin:12px 0 28px;font-size:1.2rem;font-weight:600}.fees-total small{display:block;padding-top:22px;border-top:1px solid rgba(16,22,17,.3);font-size:.95rem}
.discount-section,.fee-details-section{padding:clamp(75px,9vw,135px) clamp(20px,6vw,100px)}.fees-section-heading{display:grid;grid-template-columns:.8fr 1.5fr .7fr;gap:30px;align-items:end;margin-bottom:55px}.fees-section-heading h2{margin:0;font-size:clamp(3.2rem,6vw,6.5rem)}.fees-section-heading h2 span{color:var(--green)}.fees-section-heading>p:last-child{margin:0;font-size:1.1rem}
.discount-cards{display:grid;grid-template-columns:1fr 1fr 1.1fr;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}.discount-cards article{min-height:300px;padding:34px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);display:flex;flex-direction:column}.discount-cards span{font-size:.82rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--green)}.discount-cards strong{margin:35px 0 5px;font-family:"Space Grotesk";font-size:clamp(3.4rem,5vw,6rem);line-height:1}.discount-cards p{margin:10px 0}.discount-cards b{margin-top:auto}.discount-cards .combined-discount{background:var(--green);color:white}.discount-cards .combined-discount span{color:var(--lime)}.combined-discount p{display:flex;align-items:baseline;gap:16px}.combined-discount del{font-size:1.2rem;color:rgba(255,255,255,.65)}.combined-discount strong{margin:0;color:white}
.fee-details-section{background:white}.fee-detail-grid{display:grid;grid-template-columns:1.15fr .85fr;border-top:1px solid var(--ink)}.fee-detail-grid article{padding:36px 0}.fee-detail-grid article:first-child{padding-right:55px;border-right:1px solid var(--line)}.fee-detail-grid article:last-child{padding-left:55px}.fee-detail-grid h3{font-size:2rem}.fee-detail-grid ul{margin:0;padding:0;list-style:none}.fee-detail-grid li{padding:16px 0;border-bottom:1px solid var(--line);font-size:1.08rem}.included-card li::before{content:"✓";margin-right:14px;color:var(--green);font-weight:700}.excluded-card li::before{content:"—";margin-right:14px;font-weight:700}.fee-note{margin:30px 0 0;color:#687069}
.fees-cta{padding:clamp(70px,8vw,110px) clamp(20px,6vw,100px);display:flex;align-items:end;justify-content:space-between;gap:40px;background:var(--green);color:white}.fees-cta .eyebrow{color:var(--lime)}.fees-cta h2{margin:18px 0 0;font-size:clamp(3rem,6vw,6rem)}
.site-nav .current{color:var(--green)}
@media(max-width:900px){.fee-teaser,.fees-hero{grid-template-columns:1fr}.fees-section-heading{grid-template-columns:1fr}.discount-cards{grid-template-columns:1fr}.discount-cards article{min-height:250px}.fee-detail-grid{grid-template-columns:1fr}.fee-detail-grid article:first-child{padding-right:0;border-right:0}.fee-detail-grid article:last-child{padding-left:0}.fees-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.fee-teaser-price{grid-template-columns:1fr}.fee-teaser-price .button{grid-column:1}.fees-hero{min-height:auto;padding-top:60px}.fees-hero .back-link{margin-bottom:45px}.fees-total{padding:28px 22px}.discount-section,.fee-details-section{padding-top:70px;padding-bottom:70px}.discount-cards article{padding:28px 22px}.fees-cta{padding-top:70px;padding-bottom:70px}}

/* Linked journey cards */
.week-link{display:block;height:100%}.week-link .week-card{height:100%}.week-more{display:block;margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.22);font-size:.9rem}.city-card-grid>a{display:block}.city-card-grid>a article{height:100%}
@media(max-width:1100px){.city-card-grid>a:last-child{grid-column:1/3}}
@media(max-width:620px){.city-card-grid>a:last-child{grid-column:1}}

/* Destination details page */
.destinations-page{background:var(--cream)}
.destinations-hero{min-height:620px;padding:clamp(70px,8vw,120px) clamp(20px,6vw,100px);display:flex;flex-direction:column;justify-content:center;background:var(--ink);color:white}.destinations-hero .back-link{align-self:flex-start;margin-bottom:70px;border-bottom:1px solid rgba(255,255,255,.45);font-weight:600}.destinations-hero .eyebrow{color:var(--lime)}.destinations-hero h1{max-width:1100px;margin:18px 0 70px;font-size:clamp(4rem,8vw,9rem)}.destinations-hero h1 span{color:var(--green)}.destinations-hero nav{display:flex;gap:0;border-top:1px solid rgba(255,255,255,.28)}.destinations-hero nav a{flex:1;padding:22px 0;border-right:1px solid rgba(255,255,255,.28);font-weight:700}.destinations-hero nav a:last-child{border-right:0}.destinations-hero nav a:hover{color:var(--lime)}
.destination-detail{scroll-margin-top:84px;min-height:720px;display:grid;grid-template-columns:1fr 1fr;background:white}.destination-detail.destination-reverse .destination-photo{order:2}.destination-photo{min-height:720px;overflow:hidden}.destination-photo img{width:100%;height:100%;object-fit:cover}.destination-copy{padding:clamp(55px,7vw,110px);display:flex;flex-direction:column;justify-content:center}.destination-copy .eyebrow{color:var(--green)}.destination-copy h2{margin:18px 0 28px;font-size:clamp(4rem,8vw,8rem)}.destination-lead{max-width:680px;font-size:1.3rem;line-height:1.55}.destination-highlights{margin-top:35px;padding-top:28px;border-top:1px solid var(--ink)}.destination-highlights h3{font-size:1.45rem}.destination-highlights ul{margin:0;padding:0;list-style:none;columns:2;column-gap:35px}.destination-highlights li{break-inside:avoid;padding:10px 0;border-bottom:1px solid var(--line)}.destination-highlights li::before{content:"↗";margin-right:10px;color:var(--green);font-weight:700}
.destination-cta{padding:clamp(70px,8vw,110px) clamp(20px,6vw,100px);display:flex;align-items:end;justify-content:space-between;gap:40px;background:var(--green);color:white}.destination-cta .eyebrow{color:var(--lime)}.destination-cta h2{margin:18px 0 0;font-size:clamp(3rem,6vw,6rem)}
@media(max-width:900px){.destination-detail{grid-template-columns:1fr}.destination-detail.destination-reverse .destination-photo{order:0}.destination-photo{min-height:480px}.destination-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.destinations-hero{min-height:auto;padding-top:60px}.destinations-hero .back-link{margin-bottom:45px}.destinations-hero h1{margin-bottom:45px}.destinations-hero nav{flex-direction:column}.destinations-hero nav a{padding:15px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.28)}.destination-photo{min-height:340px}.destination-copy{padding:55px 20px}.destination-highlights ul{columns:1}.destination-lead{font-size:1.1rem}.destination-cta{padding-top:70px;padding-bottom:70px}}

/* Complete itinerary page */
.itinerary-page{background:var(--cream)}
.itinerary-hero{min-height:690px;padding:clamp(65px,8vw,120px) clamp(20px,6vw,100px);display:flex;flex-direction:column;justify-content:center;background:var(--ink);color:white}.itinerary-hero .back-link{align-self:flex-start;margin-bottom:65px;border-bottom:1px solid rgba(255,255,255,.45);font-weight:600}.itinerary-hero .eyebrow{color:var(--lime)}.itinerary-hero h1{margin:18px 0 30px;font-size:clamp(4rem,8vw,9rem)}.itinerary-hero h1 span{color:var(--green)}.itinerary-hero>p:last-of-type{max-width:760px;margin:0 0 55px;font-size:1.25rem;line-height:1.55;color:rgba(255,255,255,.75)}.itinerary-hero nav{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.28)}.itinerary-hero nav a{padding:22px 18px 22px 0;border-right:1px solid rgba(255,255,255,.28);font-weight:700}.itinerary-hero nav a:not(:first-child){padding-left:22px}.itinerary-hero nav a:hover{color:var(--lime)}
.typical-day-section{scroll-margin-top:84px;padding:clamp(75px,9vw,135px) clamp(20px,6vw,100px);display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(50px,8vw,130px)}.typical-day-heading .eyebrow{color:var(--green)}.typical-day-heading h2{margin:18px 0 28px;font-size:clamp(3.3rem,6vw,6.5rem)}.typical-day-heading h2 span{color:var(--green)}.typical-day-heading>p:last-child{max-width:540px;font-size:1.1rem;line-height:1.6}.day-flow{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}.day-flow article{min-height:260px;padding:32px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink)}.day-flow span{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green)}.day-flow h3{margin:58px 0 12px;font-size:clamp(1.55rem,2.2vw,2.35rem)}.day-flow p{margin:0;line-height:1.55;color:#59615b}
.itinerary-week{scroll-margin-top:84px;min-height:760px;display:grid;grid-template-columns:1fr 1fr;background:white}.itinerary-week-reverse .itinerary-week-photo{order:2}.itinerary-week-photo{min-height:760px;overflow:hidden}.itinerary-week-photo img{width:100%;height:100%;object-fit:cover}.itinerary-duo{display:grid;grid-template-rows:1fr 1fr}.itinerary-duo img{min-height:0}.itinerary-week-copy{padding:clamp(55px,7vw,110px);display:flex;flex-direction:column;justify-content:center}.itinerary-week-copy .eyebrow{color:var(--green)}.itinerary-week-copy h2{margin:18px 0 28px;font-size:clamp(3.8rem,7vw,7.2rem)}.itinerary-week-copy h2 span{color:var(--green)}.week-lead{max-width:690px;margin:0 0 30px;font-size:1.2rem;line-height:1.55}.itinerary-week-copy ul{margin:0;padding:0;list-style:none;border-top:1px solid var(--ink)}.itinerary-week-copy li{display:grid;grid-template-columns:minmax(180px,.7fr) 1fr;gap:24px;padding:17px 0;border-bottom:1px solid var(--line)}.itinerary-week-copy li span{color:#626962;line-height:1.45}.itinerary-note{margin:0;padding:28px clamp(20px,6vw,100px);border-top:1px solid var(--line);text-align:center;color:#687069}.itinerary-cta{padding:clamp(70px,8vw,110px) clamp(20px,6vw,100px);display:flex;align-items:end;justify-content:space-between;gap:40px;background:var(--green);color:white}.itinerary-cta .eyebrow{color:var(--lime)}.itinerary-cta h2{margin:18px 0 0;font-size:clamp(3rem,6vw,6rem)}
@media(max-width:900px){.typical-day-section{grid-template-columns:1fr}.itinerary-week{grid-template-columns:1fr}.itinerary-week-reverse .itinerary-week-photo{order:0}.itinerary-week-photo{min-height:500px}.itinerary-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.itinerary-hero{min-height:auto;padding-top:60px}.itinerary-hero .back-link{margin-bottom:45px}.itinerary-hero nav{grid-template-columns:1fr 1fr}.itinerary-hero nav a,.itinerary-hero nav a:not(:first-child){padding:15px 10px;border-bottom:1px solid rgba(255,255,255,.28)}.day-flow{grid-template-columns:1fr}.day-flow article{min-height:auto;padding:25px 22px}.day-flow h3{margin-top:30px}.itinerary-week-photo{min-height:350px}.itinerary-week-copy{padding:58px 20px}.itinerary-week-copy li{grid-template-columns:1fr;gap:6px}.itinerary-cta{padding-top:70px;padding-bottom:70px}}

/* Compact week-led itinerary with image reveal */
.week-guide{padding:clamp(75px,8vw,120px) clamp(20px,6vw,100px);background:var(--cream)}
.week-guide-heading{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(35px,8vw,130px);align-items:end;margin-bottom:52px}.week-guide-heading .eyebrow{grid-column:1/-1;margin-bottom:-18px;color:var(--green)}.week-guide-heading h2{margin:0;font-size:clamp(3.2rem,6vw,6.6rem)}.week-guide-heading h2 span{color:var(--green)}.week-guide-heading>p:last-child{max-width:590px;margin:0 0 8px;font-size:1.12rem;line-height:1.6}
.week-guide-list{border-top:1px solid var(--ink)}.week-panel{position:relative;isolation:isolate;min-height:330px;display:grid;grid-template-columns:minmax(170px,.52fr) minmax(0,1.48fr);gap:clamp(35px,6vw,95px);align-items:center;padding:45px 34% 45px 0;border-bottom:1px solid var(--ink);overflow:hidden;scroll-margin-top:84px;background:var(--cream);transition:background .35s ease,color .35s ease}.week-panel:focus{outline:3px solid var(--green);outline-offset:-3px}.week-panel-visual{position:absolute;z-index:-1;top:0;right:0;width:31%;height:100%;display:flex;opacity:0;transform:translateX(28px);transition:opacity .38s ease,transform .45s ease}.week-panel-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ink) 0%,transparent 35%)}.week-panel-visual img{width:100%;height:100%;object-fit:cover;min-width:0}.week-panel-two .week-panel-visual img{width:50%}.week-panel-meta{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between}.week-panel-meta span{font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green)}.week-panel-meta strong{font-family:"Space Grotesk";font-size:clamp(2rem,3.4vw,4rem);line-height:.92;letter-spacing:-.06em}.week-panel-meta em{font-style:normal;color:#697069}.week-panel-main h3{margin:0 0 15px;font-size:clamp(2.1rem,3.5vw,4rem)}.week-panel-main>p{max-width:760px;margin:0 0 26px;font-size:1.05rem;line-height:1.55;color:#59615b}.week-tags{display:flex;flex-wrap:wrap;gap:8px}.week-tags span{padding:8px 12px;border:1px solid #bfc4bf;font-size:.82rem;font-weight:600}.week-panel-hint{position:absolute;right:26px;bottom:22px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:transparent;transition:color .3s ease}.week-panel:hover,.week-panel:focus-within{background:var(--ink);color:white}.week-panel:hover .week-panel-visual,.week-panel:focus-within .week-panel-visual{opacity:1;transform:translateX(0)}.week-panel:hover .week-panel-meta span,.week-panel:focus-within .week-panel-meta span{color:var(--lime)}.week-panel:hover .week-panel-meta em,.week-panel:hover .week-panel-main>p,.week-panel:focus-within .week-panel-meta em,.week-panel:focus-within .week-panel-main>p{color:rgba(255,255,255,.72)}.week-panel:hover .week-tags span,.week-panel:focus-within .week-tags span{border-color:rgba(255,255,255,.35)}.week-panel:hover .week-panel-hint,.week-panel:focus-within .week-panel-hint{color:white}
@media(max-width:980px){.week-panel{padding-right:31%;grid-template-columns:minmax(145px,.45fr) 1.55fr;gap:30px}.week-panel-visual{width:28%}.week-guide-heading{grid-template-columns:1fr}}
@media(max-width:720px){.week-guide{padding-left:20px;padding-right:20px}.week-guide-heading{display:block}.week-guide-heading .eyebrow{margin-bottom:18px}.week-guide-heading>p:last-child{margin-top:24px}.week-panel{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;background:white;color:var(--ink)}.week-panel-visual{position:relative;z-index:auto;order:0;width:100%;height:220px;opacity:1;transform:none}.week-panel-visual::after{display:none}.week-panel-meta{order:1;display:grid;grid-template-columns:1fr auto;gap:8px;padding:24px 22px 12px}.week-panel-meta strong{grid-column:1/-1;font-size:2.6rem}.week-panel-meta em{grid-column:2;grid-row:1}.week-panel-main{order:2;padding:8px 22px 28px}.week-panel-main h3{font-size:2.15rem}.week-panel-main>p{font-size:1rem}.week-panel-hint{display:none}.week-panel:hover,.week-panel:focus-within{background:white;color:var(--ink)}.week-panel:hover .week-panel-meta span,.week-panel:focus-within .week-panel-meta span{color:var(--green)}.week-panel:hover .week-panel-meta em,.week-panel:hover .week-panel-main>p,.week-panel:focus-within .week-panel-meta em,.week-panel:focus-within .week-panel-main>p{color:#59615b}.week-panel:hover .week-tags span,.week-panel:focus-within .week-tags span{border-color:#bfc4bf}}
@media(prefers-reduced-motion:reduce){.week-panel,.week-panel-visual{transition:none}}

/* Itinerary redesign: compact timeline and three-card journey board */
.itinerary-hero{min-height:560px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);grid-template-rows:auto auto auto;column-gap:clamp(50px,9vw,150px);align-content:center}.itinerary-hero .back-link,.itinerary-hero .eyebrow{grid-column:1}.itinerary-hero .back-link{margin-bottom:40px}.itinerary-hero h1{grid-column:1;margin-bottom:0;font-size:clamp(3.8rem,7vw,7.4rem)}.itinerary-hero>p:last-of-type{grid-column:2;grid-row:2;align-self:end;margin:0;font-size:1.18rem}.itinerary-hero nav{grid-column:1/-1;margin-top:55px}
.typical-day-section{display:block;background:white}.typical-day-heading{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:clamp(40px,8vw,130px);align-items:end}.typical-day-heading .eyebrow{grid-column:1/-1;margin-bottom:-18px}.typical-day-heading h2{margin-bottom:0}.typical-day-heading>p:last-child{margin:0 0 9px}.day-flow{position:relative;display:grid;grid-template-columns:repeat(5,1fr);margin-top:60px;border:0;border-top:2px solid var(--green)}.day-flow article{position:relative;min-height:220px;padding:32px 22px 20px 0;border:0;border-right:1px solid var(--line)}.day-flow article:last-child{border-right:0}.day-flow article::before{content:"";position:absolute;top:-8px;left:0;width:14px;height:14px;border:3px solid white;border-radius:50%;background:var(--green)}.day-flow span{font-size:.88rem}.day-flow h3{margin:36px 0 10px;font-size:clamp(1.25rem,1.7vw,1.75rem)}.day-flow p{font-size:.96rem}
.week-guide{background:var(--cream)}.week-guide-heading{grid-template-columns:1fr 1fr}.week-guide-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;border:0}.week-panel{min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;border:1px solid var(--line);background:white;color:var(--ink);overflow:hidden}.week-panel-visual{position:relative;z-index:auto;order:0;width:100%;height:230px;opacity:1;transform:none;overflow:hidden}.week-panel-visual::after{display:none}.week-panel-visual img{transition:transform .45s ease,filter .35s ease}.week-panel-meta{order:1;display:grid;grid-template-columns:1fr auto;gap:8px;padding:26px 26px 14px}.week-panel-meta strong{grid-column:1/-1;margin-top:16px;font-size:clamp(2.4rem,3.4vw,4rem)}.week-panel-meta em{grid-column:2;grid-row:1;font-size:.86rem;text-align:right}.week-panel-main{order:2;display:flex;flex:1;flex-direction:column;padding:8px 26px 30px}.week-panel-main h3{font-size:clamp(1.8rem,2.4vw,2.8rem)}.week-panel-main>p{font-size:1rem}.week-tags{margin-top:auto;padding-top:12px}.week-tags span{background:var(--cream)}.week-panel:hover,.week-panel:focus-within{background:var(--green);color:white}.week-panel:hover .week-panel-visual,.week-panel:focus-within .week-panel-visual{opacity:1;transform:none}.week-panel:hover .week-panel-visual img,.week-panel:focus-within .week-panel-visual img{transform:scale(1.045);filter:saturate(1.08)}.week-panel:hover .week-panel-meta span,.week-panel:focus-within .week-panel-meta span{color:var(--lime)}.week-panel:hover .week-tags span,.week-panel:focus-within .week-tags span{background:transparent}.week-panel-two .week-panel-visual img{width:50%}
@media(max-width:980px){.itinerary-hero{grid-template-columns:1fr}.itinerary-hero>p:last-of-type{grid-column:1;grid-row:auto;margin-top:28px}.typical-day-heading{grid-template-columns:1fr}.day-flow{grid-template-columns:repeat(3,1fr)}.day-flow article{min-height:200px}.week-guide-list{grid-template-columns:1fr 1fr}.week-panel:last-child{grid-column:1/-1}.week-panel{padding:0;grid-template-columns:none}.week-panel-visual{width:100%}}
@media(max-width:720px){.itinerary-hero{display:flex;min-height:auto}.itinerary-hero h1{font-size:clamp(3.2rem,15vw,4.8rem)}.itinerary-hero>p:last-of-type{margin-top:25px}.typical-day-heading{display:block}.day-flow{grid-template-columns:1fr;margin-top:42px;border-top:0;border-left:2px solid var(--green)}.day-flow article{min-height:auto;padding:0 0 34px 28px;border-right:0}.day-flow article::before{top:0;left:-8px}.day-flow h3{margin:8px 0}.week-guide-list{grid-template-columns:1fr}.week-panel:last-child{grid-column:1}.week-panel-visual{height:210px}.week-panel-meta{padding:22px 20px 12px}.week-panel-main{padding:8px 20px 25px}}

/* Continuous itinerary and route map */
.itinerary-sessions{grid-column:1/-1;display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.itinerary-sessions span{padding:11px 14px;border:1px solid rgba(255,255,255,.32);font-size:.95rem}.itinerary-sessions b{margin-right:8px;color:var(--lime)}
.route-section{scroll-margin-top:84px;padding:clamp(75px,8vw,120px) clamp(20px,6vw,100px);display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(45px,7vw,110px);align-items:center;background:var(--ink);color:white}.route-copy .eyebrow{color:var(--lime)}.route-copy h2{margin:18px 0 24px;font-size:clamp(3rem,5.2vw,5.8rem)}.route-copy>p{max-width:560px;color:rgba(255,255,255,.72);font-size:1.08rem;line-height:1.6}.route-stops{margin-top:38px;border-top:1px solid rgba(255,255,255,.28)}.route-stops a{display:grid;grid-template-columns:46px 1fr;gap:14px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.2)}.route-stops a:hover span{color:var(--lime)}.route-stops b{color:var(--lime);font-size:.82rem}.route-stops span{font-size:1.15rem;font-weight:700;transition:color .2s ease}.route-stops small{display:block;margin-top:3px;color:rgba(255,255,255,.58);font-size:.82rem;font-weight:500}.route-map{position:relative;min-height:560px;background:#dfe8df;overflow:hidden}.route-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.65) contrast(.95)}.route-map::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}.route-map>small{position:absolute;right:8px;bottom:5px;padding:4px 6px;background:rgba(255,255,255,.85);color:#4a514b;font-size:.65rem}.route-map-line{position:absolute;inset:0;pointer-events:none}.route-map-line::before{content:"";position:absolute;left:48%;top:25%;width:22%;height:48%;border-right:4px solid var(--green);border-bottom:4px solid var(--green);transform:rotate(-8deg);border-radius:0 0 60% 0}.map-pin{position:absolute;padding:8px 11px 8px 27px;background:var(--ink);color:white;font-size:.78rem;font-weight:700;box-shadow:0 5px 18px rgba(0,0,0,.22)}.map-pin::before{content:"";position:absolute;left:10px;top:50%;width:8px;height:8px;border-radius:50%;background:var(--lime);transform:translateY(-50%)}.map-seoul{left:39%;top:19%}.map-gyeongju{left:64%;top:63%}.map-busan{left:69%;top:77%}
.schedule-section{padding:clamp(75px,9vw,135px) clamp(20px,6vw,100px);background:var(--cream)}.schedule-heading{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(35px,8vw,130px);align-items:end;margin-bottom:70px}.schedule-heading .eyebrow{grid-column:1/-1;margin-bottom:-18px;color:var(--green)}.schedule-heading h2{margin:0;font-size:clamp(3.2rem,5.8vw,6.3rem)}.schedule-heading h2 span{color:var(--green)}.schedule-heading>p:last-child{max-width:600px;margin:0 0 8px;font-size:1.08rem;line-height:1.6}.schedule-week{scroll-margin-top:84px;display:grid;grid-template-columns:minmax(230px,.34fr) minmax(0,1fr);border-top:1px solid var(--ink)}.schedule-week-label{position:sticky;top:84px;align-self:start;padding:30px 40px 30px 0}.schedule-week-label span{color:var(--green);font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.schedule-week-label h3{margin:35px 0 8px;font-size:clamp(2rem,3.2vw,3.5rem);line-height:1}.schedule-week-label p{color:#657067}.schedule-days{border-left:1px solid var(--ink)}.schedule-days>article{display:grid;grid-template-columns:120px minmax(190px,.48fr) 1fr;gap:25px;align-items:start;padding:27px 0 27px 30px;border-bottom:1px solid var(--line);scroll-margin-top:84px}.schedule-days>article>div:first-child{display:flex;flex-direction:column;gap:5px}.schedule-days b{color:var(--green);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.schedule-days time{color:#697069;font-size:.9rem}.schedule-days h4{margin:0;font-size:1.45rem}.schedule-days p{margin:0;color:#555e57;line-height:1.55}.schedule-feature,.city-divider{position:relative;min-height:300px;display:block!important;padding:0!important;overflow:hidden;color:white}.schedule-feature img,.city-divider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.schedule-feature::after,.city-divider::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,17,12,.88),rgba(10,17,12,.22))}.schedule-feature>div,.city-divider>div{position:relative;z-index:1;max-width:570px;padding:55px 45px}.schedule-feature b,.city-divider span{color:var(--lime)}.schedule-feature time{margin-left:14px;color:rgba(255,255,255,.72)}.schedule-feature h4,.city-divider h4{margin:48px 0 10px;font-size:clamp(2.4rem,4vw,4.5rem);color:white}.schedule-feature p,.city-divider p{color:rgba(255,255,255,.84);font-size:1.05rem}.city-divider{min-height:350px}.city-divider h4{letter-spacing:-.05em}.city-divider span{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
/* More restrained fees typography */
.fees-hero{min-height:520px}.fees-hero h1{font-size:clamp(3.2rem,5.8vw,6.2rem)}.fees-total strong{font-size:clamp(3rem,4.6vw,5rem)}.fees-total p{font-size:1.05rem}.fees-section-heading h2{font-size:clamp(2.7rem,4.5vw,4.8rem)}.discount-cards article{min-height:255px}.discount-cards strong{font-size:clamp(2.5rem,3.7vw,4rem)}.fee-detail-grid h3{font-size:1.65rem}.fee-detail-grid li{font-size:1rem}.fees-cta h2{font-size:clamp(2.8rem,4.5vw,4.8rem)}
@media(max-width:980px){.route-section{grid-template-columns:1fr}.route-map{min-height:480px}.schedule-heading{grid-template-columns:1fr}.schedule-week{grid-template-columns:1fr}.schedule-week-label{position:static;padding:30px 0}.schedule-days{border-left:0;border-top:1px solid var(--ink)}}
@media(max-width:720px){.itinerary-sessions{display:grid;width:100%}.itinerary-hero nav{grid-template-columns:1fr 1fr}.route-map{min-height:390px}.route-map-line::before{left:47%;top:24%;width:23%;height:49%}.schedule-days>article{grid-template-columns:80px 1fr;padding-left:0}.schedule-days>article>p{grid-column:2}.schedule-feature>div,.city-divider>div{padding:40px 24px}.schedule-feature h4,.city-divider h4{margin-top:35px}.schedule-heading{display:block}.schedule-heading>p:last-child{margin-top:24px}}

/* 2027 itinerary refinement */
.journey-actions{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px}.journey-actions .schedule-note{margin:0}.journey-detail-button{display:inline-flex;align-items:center;gap:18px;min-height:50px;padding:12px 18px;border:1px solid var(--green);color:white;font-weight:700;white-space:nowrap;transition:background .2s ease,border-color .2s ease}.journey-detail-button:hover,.journey-detail-button:focus-visible{background:var(--green);border-color:var(--green)}
.section-side{align-self:end}.section-side p{margin:0 0 24px;color:rgba(255,255,255,.62);font-size:1.08rem}.section-side .journey-detail-button{justify-content:space-between}
.itinerary-hero{min-height:auto;padding-top:clamp(48px,6vw,78px);padding-bottom:clamp(46px,6vw,74px)}.itinerary-hero .back-link{margin-bottom:26px}.itinerary-hero .eyebrow{font-size:1.05rem;color:var(--green)}.itinerary-hero h1{font-size:clamp(3.35rem,5.4vw,6.25rem);line-height:.94}.itinerary-hero>p:last-of-type{font-size:1.16rem}.itinerary-sessions{margin-top:25px;gap:14px}.itinerary-sessions span{padding:14px 18px;border-color:rgba(255,255,255,.42);font-size:1.08rem}.itinerary-sessions b{font-size:1.05rem;color:var(--green)}
.itinerary-hero .itinerary-jump-nav{display:flex;gap:10px;margin-top:36px;border:0}.itinerary-hero .itinerary-jump-nav a,.itinerary-hero .itinerary-jump-nav a:not(:first-child){display:flex;align-items:center;justify-content:space-between;gap:20px;flex:1;padding:15px 16px;border:1px solid rgba(255,255,255,.3);background:#182019;transition:background .2s ease,border-color .2s ease,color .2s ease}.itinerary-hero .itinerary-jump-nav a:hover,.itinerary-hero .itinerary-jump-nav a:focus-visible,.itinerary-hero .itinerary-jump-nav a.active{background:var(--green);border-color:var(--green);color:white}.itinerary-jump-nav span{font-size:1.15rem}
.typical-day-section,.schedule-section{padding-top:clamp(65px,7vw,95px);padding-bottom:clamp(65px,7vw,95px)}.typical-day-heading h2{font-size:clamp(2.7rem,4.5vw,4.9rem);line-height:.98}.schedule-heading{margin-bottom:50px}.schedule-heading h2{font-size:clamp(2.8rem,4.5vw,5rem);line-height:.98}.route-copy h2{font-size:clamp(2.7rem,4.3vw,4.8rem)}
.route-copy .eyebrow,.route-stops b,.route-stops a:hover span{color:var(--green)}.route-section{padding-top:clamp(65px,7vw,95px);padding-bottom:clamp(65px,7vw,95px)}.route-illustration{position:relative;min-height:520px;padding:42px;background:#f5f4ec;color:var(--ink);overflow:hidden;border:1px solid rgba(255,255,255,.2)}.route-track{position:absolute;left:18%;right:18%;top:50%;height:4px;background:var(--green);transform:translateY(-50%)}.route-track::before,.route-track::after{content:"";position:absolute;top:50%;width:15px;height:15px;border-top:4px solid var(--green);border-right:4px solid var(--green)}.route-track::before{left:-3px;transform:translateY(-50%) rotate(-135deg)}.route-track::after{right:-3px;transform:translateY(-50%) rotate(45deg)}.route-track i{position:absolute;top:50%;width:18px;height:18px;border:4px solid var(--cream);border-radius:50%;background:var(--green);transform:translate(-50%,-50%)}.route-track i:nth-child(1){left:0}.route-track i:nth-child(2){left:33.333%}.route-track i:nth-child(3){left:66.666%}.route-track i:nth-child(4){left:100%}.route-city{position:absolute;top:calc(50% - 122px);width:150px;text-align:center;transform:translateX(-50%)}.route-city-seoul{left:38%}.route-city-gyeongju{left:58%}.route-city-busan{left:78%}.route-city b{display:grid;place-items:center;width:34px;height:34px;margin:0 auto 14px;border-radius:50%;background:var(--green);color:white;font-size:.78rem}.route-city strong{display:block;font-family:"Space Grotesk";font-size:1.45rem}.route-city small{display:block;margin-top:4px;color:#646b66}.route-airport{position:absolute;top:calc(50% + 46px);display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center}.route-airport span{font-size:2.4rem;line-height:1;color:var(--green)}.route-airport b{font-size:.78rem;letter-spacing:.12em;color:var(--green)}.route-airport small{font-size:.78rem}.route-in{left:6%}.route-out{right:5%}.route-out span{transform:scaleX(-1)}
.schedule-week-label span,.schedule-days b{color:var(--green)}.schedule-days>article{grid-template-columns:92px minmax(240px,.58fr) 1fr;padding-top:30px;padding-bottom:30px}.schedule-days h4{font-family:"Space Grotesk";font-size:clamp(1.35rem,1.8vw,1.75rem);line-height:1.1}.schedule-days p{font-size:1rem}.schedule-feature b,.city-divider span{color:var(--green)}.schedule-feature::after{background:linear-gradient(90deg,rgba(10,17,12,.76),rgba(10,17,12,.08))}.schedule-feature-dmz::after{background:linear-gradient(90deg,rgba(10,17,12,.68),rgba(10,17,12,.06))}.schedule-feature h4,.city-divider h4{font-size:clamp(2.2rem,3.5vw,3.8rem)}
@media(max-width:980px){.itinerary-hero .itinerary-jump-nav{overflow-x:auto}.itinerary-hero .itinerary-jump-nav a,.itinerary-hero .itinerary-jump-nav a:not(:first-child){flex:0 0 180px}.route-illustration{min-height:480px}.journey-actions{align-items:flex-start;flex-direction:column}}
@media(max-width:720px){.itinerary-hero h1{font-size:clamp(3rem,13vw,4.35rem)}.itinerary-hero .itinerary-jump-nav{display:flex;width:100%;padding-bottom:6px}.itinerary-sessions span{font-size:1rem}.typical-day-heading h2,.schedule-heading h2,.route-copy h2{font-size:clamp(2.5rem,11vw,3.6rem)}.route-illustration{min-height:640px;padding:28px}.route-track{left:50%;right:auto;top:14%;bottom:14%;width:4px;height:auto;transform:translateX(-50%)}.route-track::before,.route-track::after{left:50%;top:auto}.route-track::before{top:-3px;transform:translateX(-50%) rotate(-45deg)}.route-track::after{right:auto;bottom:-3px;transform:translateX(-50%) rotate(135deg)}.route-track i{left:50%!important;top:auto}.route-track i:nth-child(1){top:0}.route-track i:nth-child(2){top:33.333%}.route-track i:nth-child(3){top:66.666%}.route-track i:nth-child(4){top:100%}.route-city{left:58%;top:auto;width:125px;text-align:left;transform:none}.route-city b{margin:0 0 8px}.route-city-seoul{top:21%}.route-city-gyeongju{top:47%}.route-city-busan{top:71%}.route-airport{top:auto;left:5%;right:auto;align-items:flex-start;text-align:left}.route-in{top:5%}.route-out{bottom:3%}.schedule-days>article{grid-template-columns:72px 1fr;gap:16px}.schedule-days>article>p{grid-column:2}.schedule-feature>div{padding:38px 24px}.journey-detail-button{width:100%;justify-content:space-between}}
.itinerary-cta .eyebrow{color:white}.itinerary-cta h2{font-size:clamp(2.8rem,4.5vw,4.8rem)}

/* Illustrated Korea route map */
.itinerary-hero .itinerary-jump-nav a.active{background:#182019;border-color:rgba(255,255,255,.3);color:white}.itinerary-hero .itinerary-jump-nav a.active:hover,.itinerary-hero .itinerary-jump-nav a.active:focus-visible{background:var(--green);border-color:var(--green)}
.route-map-art{min-height:620px;background:#f5f4ec}.korea-map-shape{position:absolute;left:50%;top:50%;height:86%;width:auto;transform:translate(-50%,-50%);opacity:.38;filter:sepia(1) hue-rotate(105deg) saturate(1.8)}.journey-route-svg{position:absolute;inset:3% 8%;width:84%;height:94%;overflow:visible}.journey-route-shadow{fill:none;stroke:rgba(16,22,17,.12);stroke-width:10;stroke-linecap:round}.journey-route-line{fill:none;stroke:var(--green);stroke-width:5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw-korea-route 2.6s ease-out .3s forwards}.route-plane{font-size:30px;fill:var(--green);filter:drop-shadow(0 4px 5px rgba(16,22,17,.2))}.map-city{position:absolute;display:flex;align-items:center;gap:10px;padding:8px 11px;background:var(--ink);color:white;box-shadow:0 8px 20px rgba(16,22,17,.16);transition:transform .2s ease,background .2s ease}.map-city:hover,.map-city:focus-visible{background:var(--green);transform:translateY(-3px)}.map-city b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--green);font-size:.72rem}.map-city:hover b{background:white;color:var(--green)}.map-city span{font-weight:700;line-height:1.1}.map-city small{display:block;margin-top:4px;color:rgba(255,255,255,.65);font-size:.7rem;font-weight:500}.map-city-seoul{left:31%;top:23%}.map-city-gyeongju{left:60%;top:57%}.map-city-busan{left:68%;top:72%}.map-flight-label{position:absolute;font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--green)}.map-flight-in{left:7%;top:14%}.map-flight-out{right:5%;bottom:9%}.map-credit{position:absolute;right:12px;bottom:8px;color:#737a74;font-size:.62rem}.route-map-art::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(16,22,17,.1)}
@keyframes draw-korea-route{to{stroke-dashoffset:0}}
@media(max-width:720px){.route-map-art{min-height:560px}.korea-map-shape{height:80%}.journey-route-svg{inset:5% 2%;width:96%;height:90%}.map-city{padding:7px 9px}.map-city-seoul{left:24%;top:23%}.map-city-gyeongju{left:53%;top:56%}.map-city-busan{left:61%;top:70%}.map-flight-in{left:3%;top:13%}.map-flight-out{right:2%;bottom:10%}}
@media(prefers-reduced-motion:reduce){.journey-route-line{animation:none;stroke-dashoffset:0}.route-plane animateMotion{display:none}}

/* High-visibility lime accents */
.hero-compact h1 span{color:#82d316}.hero-overview .overview-price{background:#82d316;color:var(--ink)}.hero-overview .overview-price>span,.hero-overview .overview-buddy span,.hero-overview .overview-price em span{color:var(--ink)}.hero-overview .overview-price del{color:rgba(16,22,17,.55)}.hero-overview .overview-price small{color:rgba(16,22,17,.72)}.hero-overview .overview-buddy{border-top-color:rgba(16,22,17,.28)}.hero-overview .overview-buddy b,.hero-overview .overview-price em{color:var(--ink)}.hero-overview .overview-price em{border-top-color:rgba(16,22,17,.28)}

/* Dark pricing card with focused lime figures */
.hero-overview .overview-price{background:var(--ink);color:white}.hero-overview .overview-price>span,.hero-overview .overview-buddy span{color:var(--green)}.hero-overview .overview-price strong,.hero-overview .overview-buddy b{color:#82d316}.hero-overview .overview-price del{color:rgba(255,255,255,.46)}.hero-overview .overview-price small{color:rgba(255,255,255,.74)}.hero-overview .overview-buddy{border-top-color:rgba(255,255,255,.28)}.hero-overview .overview-price em{color:white;border-top-color:rgba(255,255,255,.28)}

/* Static, geographically aligned route map */
.route-map-art{min-height:650px}.korea-route-canvas{position:absolute;left:50%;top:50%;height:92%;aspect-ratio:2/3;transform:translate(-50%,-50%)}.korea-route-canvas .korea-map-shape{inset:0;left:0;top:0;width:100%;height:100%;transform:none;opacity:.42;object-fit:contain}.korea-route-canvas .journey-route-svg{inset:0;width:100%;height:100%}.journey-route-line{stroke-dasharray:none;stroke-dashoffset:0;animation:none}.journey-return-line{fill:none;stroke:var(--green);stroke-width:4;stroke-linecap:round;stroke-dasharray:12 15;opacity:.68}.map-dot{fill:var(--green);stroke:#f5f4ec;stroke-width:7}.korea-route-canvas .map-city{transform:translate(18px,-50%)}.korea-route-canvas .map-city:hover,.korea-route-canvas .map-city:focus-visible{transform:translate(18px,calc(-50% - 3px))}.korea-route-canvas .map-city-seoul{left:33%;top:22.6%;transform:translate(-112%,-50%)}.korea-route-canvas .map-city-seoul:hover,.korea-route-canvas .map-city-seoul:focus-visible{transform:translate(-112%,calc(-50% - 3px))}.korea-route-canvas .map-city-gyeongju{left:63%;top:51.6%}.korea-route-canvas .map-city-busan{left:61%;top:63.1%}.korea-route-canvas .map-flight-label{display:flex;align-items:center;gap:6px;white-space:nowrap}.korea-route-canvas .map-flight-label i{font-style:normal;font-size:1.25rem}.korea-route-canvas .map-flight-in{left:29.4%;top:24.5%;transform:translate(-112%,70%)}.korea-route-canvas .map-flight-out{left:29.4%;top:24.5%;right:auto;bottom:auto;transform:translate(-112%,210%)}
@media(max-width:720px){.route-map-art{min-height:590px}.korea-route-canvas{height:88%}.korea-route-canvas .map-city{font-size:.78rem;gap:6px}.korea-route-canvas .map-city b{width:24px;height:24px}.korea-route-canvas .map-city-seoul{left:33%;top:22.6%}.korea-route-canvas .map-city-gyeongju{left:63%;top:51.6%}.korea-route-canvas .map-city-busan{left:61%;top:63.1%}.korea-route-canvas .map-flight-label{font-size:.58rem}}

/* Poster-led 2027 identity */
.hero-photo-copy{background-color:#00a16c;background-image:radial-gradient(circle at 12% 18%,rgba(130,211,22,.18) 0 1px,transparent 2px),linear-gradient(135deg,#009b67 0%,#00aa75 58%,#009160 100%);background-size:18px 18px,100% 100%}
.hero-photo-copy::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,155,103,.12),transparent 42%),radial-gradient(circle at 12% 30%,transparent 0 22%,rgba(130,211,22,.08) 22.2% 22.8%,transparent 23%);pointer-events:none}
.hero-copy-inner{z-index:2}.hero-compact h1 span{color:#baf04b}.hero-copy-inner .eyebrow,.hero-copy-inner .hero-lede{color:white}
.session-banner{grid-column:1/-1;display:grid;grid-template-columns:minmax(210px,.55fr) minmax(460px,1.25fr) auto;align-items:center;gap:32px;padding:24px clamp(24px,5vw,78px);background:#050705;color:white}
.session-banner>strong{font:700 clamp(1.55rem,2.4vw,2.4rem)/1 "Space Grotesk";letter-spacing:-.04em}
.session-banner-dates{display:grid;grid-template-columns:1fr 1fr;border-left:1px solid rgba(255,255,255,.48)}
.session-banner-dates span{padding:5px 28px;border-right:1px solid rgba(255,255,255,.32);font:600 clamp(1rem,1.3vw,1.22rem)/1.35 "Space Grotesk";white-space:nowrap}
.session-banner-dates b{margin-right:10px;color:#baf04b}.session-banner>small{font-size:.85rem;font-style:italic;color:rgba(255,255,255,.72);white-space:nowrap}
.overview-list .overview-icon-item{display:grid;grid-template-columns:76px 1fr;gap:20px;align-items:center}
.overview-list .overview-icon-item .overview-text{display:block;min-height:0;padding:0;border:0}
.overview-icon{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:#baf04b;color:#101611}
.overview-icon svg{width:35px;height:35px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.overview-text small{display:block;margin-top:3px;color:#606760;font-size:.84rem}
.hero-overview .overview-price>span{color:#baf04b}.hero-overview .overview-price strong{color:#baf04b}

/* Reference-led fee summary */
.fees-hero-poster{min-height:auto;display:grid;grid-template-columns:minmax(260px,.7fr) minmax(540px,1.3fr);grid-template-rows:auto 1fr;gap:34px clamp(45px,7vw,105px);padding:clamp(54px,7vw,95px) clamp(24px,7vw,110px);background:var(--cream);color:var(--ink)}
.fees-hero-poster>.back-link{grid-column:1/-1;justify-self:start}.fee-poster-heading{align-self:start}.fee-poster-heading .eyebrow{color:var(--green)}
.fee-poster-heading h1{margin:24px 0 0;font-size:clamp(3.1rem,5.2vw,5.8rem)}.fee-poster-heading h1 span{color:var(--green)}
.fee-poster-card{align-self:start;padding:8px 0 0}.fee-poster-row{display:flex;align-items:baseline;gap:38px;padding:0 12px 18px;font-family:"Space Grotesk"}.fee-poster-row span{font-weight:700;text-transform:uppercase}.fee-poster-row strong{font-size:2.15rem}
.early-bird-row{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:10px 14px;background:#baf04b;font-family:"Space Grotesk";font-weight:700;text-transform:uppercase}.early-bird-row strong{font-size:clamp(1.65rem,2.5vw,2.5rem);line-height:1}.early-bird-row small{font-size:.72em}
.early-bird-deadline{margin:4px 12px 26px;text-align:right;font-size:.82rem}.fee-poster-card h2{margin:0 12px 18px;font-size:1.2rem;letter-spacing:0;text-transform:uppercase}
.fee-icon-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;padding:0 8px}.fee-icon-grid>div{text-align:center}.fee-icon-grid svg{width:48px;height:48px;margin:0 auto 8px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.fee-icon-grid span{display:block;font-size:.78rem;line-height:1.15}
.fee-poster-note{margin:22px 12px 0;font-size:.78rem}.discount-section{display:none}

/* Mobile fixes */
@media(max-width:980px){.session-banner{grid-template-columns:1fr}.session-banner-dates{border-left:0}.session-banner>small{white-space:normal}.fees-hero-poster{grid-template-columns:1fr}.fee-poster-heading{max-width:650px}}
@media(max-width:720px){.session-banner{gap:18px;padding:28px 20px}.session-banner-dates{grid-template-columns:1fr;gap:0}.session-banner-dates span{padding:11px 0;border-right:0;border-top:1px solid rgba(255,255,255,.28);white-space:normal}.session-banner-dates span:last-child{border-bottom:1px solid rgba(255,255,255,.28)}.overview-list .overview-icon-item{grid-template-columns:62px 1fr;gap:16px}.overview-icon{width:56px;height:56px}.overview-icon svg{width:29px;height:29px}.fees-hero-poster{padding:45px 20px}.fee-poster-heading h1{font-size:clamp(2.9rem,13vw,4.2rem)}.early-bird-row{align-items:flex-start;flex-direction:column;gap:5px}.fee-icon-grid{grid-template-columns:repeat(2,1fr);gap:24px 14px}.fee-icon-grid>div:last-child{grid-column:1/-1}.early-bird-deadline{text-align:left}.schedule-heading .eyebrow{margin-bottom:12px}.schedule-heading h2{margin-top:0}}

/* Corrected poster overview and softer gradient dots */
.hero-photo-copy{isolation:isolate;background:#00a16c;background-image:linear-gradient(135deg,#009c68 0%,#00aa72 52%,#009763 100%)}
.hero-photo-copy::before,.hero-photo-copy::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(circle,rgba(185,231,76,.28) 0 1.4px,transparent 1.6px);background-size:19px 19px}
.hero-photo-copy::before{-webkit-mask-image:linear-gradient(100deg,#000 0%,rgba(0,0,0,.65) 20%,transparent 58%);mask-image:linear-gradient(100deg,#000 0%,rgba(0,0,0,.65) 20%,transparent 58%)}
.hero-photo-copy::after{-webkit-mask-image:radial-gradient(circle at 100% 100%,#000 0%,rgba(0,0,0,.55) 22%,transparent 58%);mask-image:radial-gradient(circle at 100% 100%,#000 0%,rgba(0,0,0,.55) 22%,transparent 58%)}
.hero-copy-inner{z-index:2}
.session-banner{grid-template-columns:minmax(210px,.55fr) minmax(480px,1.45fr);padding-top:20px;padding-bottom:20px}
.hero-overview{display:block;padding:clamp(44px,5vw,76px) clamp(24px,6vw,90px);background:var(--cream);color:var(--ink)}
.hero-overview>.overview-heading{display:block;padding:0 0 34px;background:transparent;color:var(--ink)}
.hero-overview>.overview-heading .eyebrow{color:var(--green)}
.hero-overview>.overview-heading h2{max-width:none;margin:10px 0 0;font-size:clamp(2rem,3vw,3.4rem);line-height:1}
.overview-content{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(560px,1.28fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.overview-list{display:grid;grid-template-columns:1fr;align-self:stretch;border-right:1px solid var(--line)}
.overview-list .overview-icon-item{display:grid;grid-template-columns:78px 1fr;gap:22px;min-height:150px;padding:28px 34px;border:0;border-bottom:1px solid var(--line)}
.overview-list .overview-icon-item:last-child{border-bottom:0}
.overview-icon{width:66px;height:66px;background:#b9e74c}
.overview-list dd{font-size:1.25rem}.overview-text small{font-size:.9rem}
.overview-fee-card{display:block;padding:25px 30px 20px;color:var(--ink);background:transparent}
.overview-fee-card .fee-poster-row{padding-top:0}.overview-fee-card h3{margin:20px 10px 17px;font-size:1rem;letter-spacing:0;text-transform:uppercase}
.overview-fee-card .early-bird-row{background:#b9e74c}.overview-fee-card .fee-card-link{display:block;margin:18px 10px 0;padding-top:13px;border-top:1px solid var(--line);font-style:normal;font-weight:700}
.overview-fee-card:hover .fee-card-link{text-decoration:underline;text-underline-offset:4px}
.overview-fee-card .fee-icon-grid svg{width:42px;height:42px}.overview-fee-card .fee-poster-note{margin-top:14px}

/* Compact, aligned fee detail header */
.fees-hero-poster{display:block;min-height:auto;padding:clamp(48px,6vw,82px) clamp(24px,7vw,110px)}
.fees-hero-poster>.back-link{display:inline-block}.fee-poster-heading{max-width:900px;margin:48px auto 30px;text-align:left}.fee-poster-heading h1{margin-top:12px;font-size:clamp(2.4rem,4vw,4.2rem);line-height:1}.fee-poster-card{max-width:900px;margin:0 auto;padding:28px 30px 24px;border:1px solid var(--line);background:#faf9f2}
.fee-poster-row{display:grid;grid-template-columns:180px 1fr;align-items:baseline;gap:18px;padding:0 8px 18px}.fee-poster-row strong{justify-self:start}
.early-bird-row{display:grid;grid-template-columns:180px 1fr;justify-content:normal;gap:18px;padding:10px 8px;background:#b9e74c}.early-bird-row strong{justify-self:start}.early-bird-deadline{margin:5px 8px 26px;text-align:center}
.fee-poster-card h2{margin-left:8px}.fee-poster-note{margin-left:8px}.fee-icon-grid span{font-size:.82rem}

@media(max-width:980px){.session-banner{grid-template-columns:1fr}.overview-content{grid-template-columns:1fr}.overview-list{grid-template-columns:1fr 1fr;border-right:0;border-bottom:1px solid var(--line)}.overview-list .overview-icon-item{border-bottom:0}.overview-list .overview-icon-item:first-child{border-right:1px solid var(--line)}}
@media(max-width:720px){.hero-overview{padding:38px 20px}.hero-overview>.overview-heading{padding-bottom:25px}.hero-overview>.overview-heading h2{font-size:2.3rem}.overview-content{border-bottom:0}.overview-list{grid-template-columns:1fr}.overview-list .overview-icon-item{min-height:auto;padding:22px 15px}.overview-list .overview-icon-item:first-child{border-right:0;border-bottom:1px solid var(--line)}.overview-fee-card{padding:25px 0 10px}.overview-fee-card .fee-poster-row,.fee-poster-row{grid-template-columns:1fr;gap:3px;padding-left:0}.overview-fee-card .early-bird-row,.early-bird-row{grid-template-columns:1fr;gap:4px;padding:10px}.overview-fee-card .early-bird-deadline,.early-bird-deadline{text-align:left;margin-left:0}.overview-fee-card .fee-icon-grid{grid-template-columns:repeat(2,1fr)}.overview-fee-card .fee-icon-grid>div:last-child{grid-column:1/-1}.overview-fee-card h3,.overview-fee-card .fee-poster-note,.overview-fee-card .fee-card-link{margin-left:0;margin-right:0}.fees-hero-poster{padding:40px 20px}.fee-poster-heading{margin:36px 0 22px}.fee-poster-heading h1{font-size:2.65rem}.fee-poster-card{padding:22px 18px}.fee-poster-card .fee-icon-grid{grid-template-columns:repeat(2,1fr)}}

/* Compact program summary */
.hero-overview{padding:32px 24px 38px!important;background:var(--cream)!important}
.hero-overview>.overview-heading{display:flex!important;align-items:baseline;gap:22px;max-width:1120px;margin:0 auto;padding:0 0 18px!important;background:transparent!important;color:var(--ink)!important}
.hero-overview>.overview-heading .eyebrow{margin:0;color:var(--green)!important;white-space:nowrap}
.hero-overview>.overview-heading h2{margin:0!important;font-size:clamp(1.65rem,2.2vw,2.35rem)!important;line-height:1.1!important}
.overview-content{grid-template-columns:320px minmax(0,1fr);max-width:1120px;margin:0 auto;background:#faf9f2;border:1px solid var(--line)}
.overview-list{grid-template-columns:1fr;border-right:1px solid var(--line);border-bottom:0}
.overview-list .overview-icon-item{grid-template-columns:54px 1fr;gap:15px;min-height:108px;padding:18px 22px}
.overview-icon{width:50px;height:50px}.overview-icon svg{width:25px;height:25px}
.overview-list dd{margin-top:4px;font-size:1.08rem}.overview-text small{font-size:.8rem}
.overview-fee-card{padding:18px 22px 15px}
.overview-fee-card .fee-poster-row{grid-template-columns:145px 1fr;padding:0 6px 10px;gap:12px}.overview-fee-card .fee-poster-row strong{font-size:1.65rem}
.overview-fee-card .early-bird-row{grid-template-columns:145px 1fr;padding:8px 10px;gap:12px}.overview-fee-card .early-bird-row strong{font-size:1.65rem}
.overview-fee-card .early-bird-deadline{margin:3px 8px 13px;font-size:.72rem;text-align:right}
.overview-fee-card h3{margin:8px 7px 10px;font-size:.85rem}
.overview-fee-card .fee-icon-grid{gap:8px;padding:0 5px}
.overview-fee-card .fee-icon-grid svg{width:32px;height:32px;margin-bottom:5px;stroke-width:1.8}
.overview-fee-card .fee-icon-grid span{font-size:.7rem;line-height:1.1}
.overview-fee-card .fee-poster-note{margin:10px 7px 0;font-size:.68rem}
.overview-fee-card .fee-card-link{margin:10px 7px 0;padding-top:9px;font-size:.86rem}
@media(max-width:900px){.hero-overview>.overview-heading{display:block!important}.hero-overview>.overview-heading h2{margin-top:6px!important}.overview-content{grid-template-columns:1fr}.overview-list{grid-template-columns:1fr 1fr;border-right:0;border-bottom:1px solid var(--line)}.overview-list .overview-icon-item{border-bottom:0}.overview-list .overview-icon-item:first-child{border-right:1px solid var(--line)}}
@media(max-width:620px){.hero-overview{padding:26px 18px 30px!important}.overview-list{grid-template-columns:1fr}.overview-list .overview-icon-item:first-child{border-right:0;border-bottom:1px solid var(--line)}.overview-fee-card{padding:18px 14px 14px}.overview-fee-card .fee-poster-row,.overview-fee-card .early-bird-row{grid-template-columns:1fr;gap:2px}.overview-fee-card .fee-icon-grid{grid-template-columns:repeat(3,1fr)}.overview-fee-card .fee-icon-grid>div:last-child{grid-column:auto}.overview-fee-card .early-bird-deadline{text-align:left}}

/* Final compact visual system */
.hero.hero-compact{grid-template-rows:minmax(525px,auto) auto}
.hero-photo-copy,.hero-image{min-height:525px}
.hero-photo-copy{padding:clamp(34px,4.5vw,68px)}
.hero-compact h1{font-size:clamp(4.3rem,7.2vw,7.7rem);line-height:.78;margin:24px 0 30px}
.hero-lede{margin-bottom:18px}.hero-body{margin-bottom:26px}
.session-banner{padding-top:15px;padding-bottom:15px}

.hero-overview{padding:25px 24px 30px!important}
.hero-overview>.overview-heading{padding-bottom:13px!important}
.hero-overview>.overview-heading h2{font-size:1.65rem!important}
.overview-content{max-width:1160px;border:0;background:transparent;gap:26px;grid-template-columns:320px minmax(0,1fr)}
.overview-list{border:0;gap:10px}.overview-list .overview-icon-item{min-height:92px;padding:14px 16px;background:#efeee5;border:0!important}
.overview-fee-card{padding:16px 18px 14px;background:#efeee5}
.overview-list dt,.overview-fee-card .fee-poster-row span,.overview-fee-card .early-bird-row span{font-size:.78rem;letter-spacing:.08em;font-weight:700;text-transform:uppercase;color:var(--green)}
.overview-list dd,.overview-fee-card .fee-poster-row strong,.overview-fee-card .early-bird-row strong{font-size:1.22rem;line-height:1.15;font-weight:700}
.overview-fee-card .early-bird-row{background:#b9e74c}.overview-fee-card .early-bird-row span{color:var(--ink)}

.compact-intro{padding-top:65px;padding-bottom:65px}.intro-heading h2{font-size:clamp(2.8rem,4.4vw,4.8rem);line-height:.96;margin-top:20px}
.faq-section{background:var(--cream);padding-top:75px;padding-bottom:75px}.faq-heading h2{font-size:clamp(2.7rem,4.2vw,4.6rem)}

.fees-hero-poster{padding-top:38px;padding-bottom:48px}.fee-poster-heading{max-width:1040px;margin:30px auto 20px}.fee-poster-heading h1{font-size:clamp(2.2rem,3.2vw,3.45rem);line-height:1.05}
.fee-poster-card{max-width:1040px;padding:22px 26px 20px;background:#efeee5;border:0}.fee-poster-row,.early-bird-row{grid-template-columns:150px 1fr}.fee-poster-row strong,.early-bird-row strong{font-size:1.75rem}.fee-icon-grid svg{width:34px;height:34px}.fee-icon-grid span{font-size:.75rem}
.fee-details-section{padding-top:55px;padding-bottom:65px;background:var(--cream)}.fees-section-heading{display:flex;align-items:baseline;gap:28px;max-width:1040px;margin:0 auto 24px}.fees-section-heading h2{font-size:clamp(2.15rem,3.3vw,3.5rem)}
.fee-detail-grid{max-width:1040px;margin:0 auto;background:#efeee5;border:0}.fee-detail-grid article{padding:25px 30px}.fee-detail-grid h3{font-size:1.35rem;margin-top:0}.fee-detail-grid li{padding:11px 0;font-size:.95rem}.fee-note{max-width:1040px;margin:20px auto 0;font-size:.88rem}
.fees-cta{padding-top:60px;padding-bottom:60px}.fees-cta h2{font-size:clamp(2.2rem,3.6vw,3.8rem)}

.itinerary-hero{padding-top:42px;padding-bottom:42px}.itinerary-hero h1{font-size:clamp(3rem,4.6vw,5.2rem)}
.itinerary-sessions{align-items:center;gap:0;margin-top:18px;padding:12px 0;border-top:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25)}
.itinerary-sessions strong{margin-right:26px;font-size:.78rem;letter-spacing:.12em;color:white}.itinerary-sessions span{padding:0 24px;border:0;border-left:1px solid rgba(255,255,255,.25);font-size:.94rem}.itinerary-sessions b{font-size:.94rem}
.itinerary-hero .itinerary-jump-nav{margin-top:22px}

.route-map-art{background:#efeee5;overflow:hidden}.korea-route-canvas .korea-map-shape{opacity:.68;filter:sepia(1) hue-rotate(68deg) saturate(1.4) brightness(.93)}
.map-context{position:absolute;z-index:0;font:700 .72rem/1 "Space Grotesk";letter-spacing:.16em;color:#a7aaa2}.map-context-russia{top:8%;left:51%}.map-context-china{top:44%;left:8%}.map-context-japan{right:7%;top:58%}.map-context-korea{left:49%;top:45%;color:var(--green);transform:rotate(-70deg)}
.korea-route-canvas{z-index:1}

@media(max-width:980px){.hero.hero-compact{grid-template-rows:auto}.hero-photo-copy,.hero-image{min-height:500px}.overview-content{grid-template-columns:1fr}.overview-list{grid-template-columns:1fr 1fr}.fees-section-heading{display:block}.fees-section-heading h2{margin-top:8px}.map-context-korea{display:none}}
@media(max-width:620px){.hero-photo-copy{min-height:auto;padding:42px 20px}.hero-image{min-height:330px}.hero-compact h1{font-size:17vw;margin:20px 0 24px}.session-banner{padding-top:20px;padding-bottom:20px}.hero-overview>.overview-heading h2{font-size:1.45rem!important}.overview-list{grid-template-columns:1fr}.compact-intro{padding-top:50px;padding-bottom:50px}.intro-heading h2{font-size:2.65rem}.faq-section{padding-top:58px;padding-bottom:58px}.fee-poster-card{padding:18px 16px}.fee-details-section{padding-top:45px}.fee-detail-grid article{padding:22px 18px}.itinerary-sessions{display:grid;grid-template-columns:1fr;padding:8px 0}.itinerary-sessions strong{margin:0;padding:8px 0}.itinerary-sessions span{padding:10px 0;border-left:0;border-top:1px solid rgba(255,255,255,.2)}.map-context{font-size:.58rem}.map-context-china{left:3%}.map-context-japan{right:2%}}

/* Unified section-title scale while preserving the wide layout */
.intro-heading h2,.section-heading h2{font-size:clamp(2.8rem,4.4vw,4.8rem);line-height:.98}
@media(max-width:620px){.intro-heading h2,.section-heading h2{font-size:2.65rem}}

/* Keep the safety heading aligned with the other mid-page section titles. */
.parents-section .parents-copy h2{font-size:clamp(2.8rem,4.4vw,4.8rem);line-height:.98}
@media(max-width:620px){.parents-section .parents-copy h2{font-size:2.65rem}}

/* One clear airport label replaces separate arrival and departure markers. */
.korea-route-canvas .map-flight-airport{left:29.4%;top:24.5%;right:auto;bottom:auto;transform:translate(-112%,100%)}

/* Remove the stray end divider and keep the full airport label inside the map. */
.session-banner-dates span:last-child{border-right:0}
.korea-route-canvas .map-flight-airport{left:0;top:25%;transform:translate(0,100%)}

/* Lower the itinerary summary without disturbing the main title position. */
@media(min-width:981px){.itinerary-hero>p:last-of-type{transform:translateY(28px)}.itinerary-hero .itinerary-sessions{margin-top:52px}}

/* Align every journey-card link to the same bottom baseline. */
.week-card-body .week-more{margin-top:auto}

/* Treat the Typical Day eyebrow and title as one compact heading group. */
.typical-day-heading{column-gap:clamp(40px,8vw,130px);row-gap:14px}
.typical-day-heading .eyebrow{margin-bottom:0}
.typical-day-heading h2{margin-top:0}

/* Keep titles anchored at the top while aligning all card content to Week 3. */
@media(min-width:981px){.week-card-body h3{min-height:3em}}


/* Open, balanced program overview */
.hero-overview{padding:28px clamp(24px,5vw,78px) 34px!important}
.hero-overview>.overview-heading{max-width:none;margin:0;padding-bottom:18px!important}
.overview-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.overview-stat{display:flex;align-items:center;gap:15px;min-height:108px;padding:18px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent}
.overview-stat .overview-icon{flex:0 0 48px;width:48px;height:48px}.overview-stat .overview-icon svg{width:24px;height:24px}
.overview-stat div{display:flex;flex-direction:column;gap:4px}.overview-stat small{font-size:.75rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--green)}
.overview-stat strong{font:700 1.18rem/1.15 "Space Grotesk"}.overview-stat em{font-size:.76rem;font-style:normal;color:#687069}
.overview-stat-early{background:#b9e74c}.overview-stat-early small{color:var(--ink)}.overview-stat-early strong{font-size:1.45rem}
.overview-inclusions{grid-column:1/-1;display:block;padding:18px 20px 14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink)}
.overview-inclusions-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:13px}.overview-inclusions h3{margin:0;font-size:.88rem;text-transform:uppercase}.overview-inclusions-head>span{font-size:.84rem;font-weight:700}
.overview-inclusions .fee-icon-grid{padding:0;gap:16px}.overview-inclusions .fee-icon-grid svg{width:30px;height:30px;margin-bottom:4px}.overview-inclusions .fee-icon-grid span{font-size:.7rem}
.overview-inclusions>p{margin:10px 0 0;font-size:.68rem;font-style:italic;color:#626962}
.overview-inclusions:hover .overview-inclusions-head>span{text-decoration:underline;text-underline-offset:4px}
@media(max-width:980px){.overview-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.hero-overview{padding-left:20px!important;padding-right:20px!important}.overview-summary{grid-template-columns:1fr}.overview-stat{min-height:90px}.overview-inclusions .fee-icon-grid{grid-template-columns:repeat(2,1fr);gap:18px}.overview-inclusions .fee-icon-grid>div:last-child{grid-column:1/-1}.overview-inclusions-head{align-items:flex-start;flex-direction:column;gap:5px}}

/* Refined program overview and section rhythm */
.hero-overview{padding:52px clamp(24px,5vw,78px) 56px!important}
.hero-overview>.overview-heading{display:block!important;padding:0 0 26px!important}
.hero-overview>.overview-heading .eyebrow{margin:0 0 14px!important}
.hero-overview>.overview-heading h2{margin:0!important;font-size:clamp(2.8rem,4.4vw,4.8rem)!important;line-height:.98!important;letter-spacing:-.055em}
.overview-summary{grid-template-columns:1.05fr 1.05fr .85fr 1.15fr;border:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.overview-stat{min-height:112px;padding:22px 24px;border:0;border-right:1px solid var(--line)}
.overview-stat:last-child{border-right:0}
.overview-stat .overview-icon{width:46px;height:46px;flex-basis:46px}
.overview-stat small{font-size:.78rem}
.overview-stat strong{font-size:1.25rem}
.overview-stat-early{background:#b9e74c}
.overview-stat-early strong{font-size:1.6rem}
.faq-section{padding-top:48px;padding-bottom:64px}

@media(max-width:980px){
  .overview-summary{grid-template-columns:1fr 1fr}
  .overview-stat{border-bottom:1px solid var(--line)}
  .overview-stat:nth-child(2){border-right:0}
  .overview-stat:nth-child(3),.overview-stat:nth-child(4){border-bottom:0}
}
@media(max-width:620px){
  .hero-overview{padding:38px 20px 42px!important}
  .hero-overview>.overview-heading{padding-bottom:20px!important}
  .hero-overview>.overview-heading h2{font-size:2.65rem!important}
  .overview-summary{grid-template-columns:1fr}
  .overview-stat{min-height:86px;padding:17px 16px;border-right:0;border-bottom:1px solid var(--line)!important}
  .overview-stat:last-child{border-bottom:0!important}
  .overview-stat .overview-icon{width:42px;height:42px;flex-basis:42px}
  .faq-section{padding-top:40px;padding-bottom:52px}
}

/* Final alignment, navigation and program overview */
.site-nav{font-size:1rem;gap:34px}
.hero-overview{
  display:grid!important;
  grid-template-columns:minmax(300px,.78fr) minmax(620px,1.42fr);
  gap:clamp(42px,6vw,100px);
  align-items:center;
  padding:58px clamp(20px,6vw,90px)!important;
}
.hero-overview>.overview-heading{padding:0!important;align-self:center}
.hero-overview>.overview-heading .eyebrow{color:var(--ink)!important;margin-bottom:18px!important}
.hero-overview>.overview-heading h2{max-width:520px;font-size:clamp(3rem,4.2vw,4.7rem)!important}
.overview-summary{grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.overview-stat{min-height:116px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.overview-stat:nth-child(2){border-right:0}
.overview-stat:nth-child(3),.overview-stat:nth-child(4){border-bottom:0}
.overview-stat:nth-child(4){border-right:0}
.overview-stat-fee .overview-icon{display:flex}
.overview-stat-fee .overview-icon{align-items:center;justify-content:center}
.overview-stat-fee .overview-icon svg{display:block;margin:0}
.overview-stat-early{background:transparent}
.overview-stat-early strong{display:table;width:max-content;padding:2px 8px;background:#b9e74c;color:var(--ink)}

/* Clear fee emphasis and unified inclusion icons */
.fee-poster-card .early-bird-row{background:transparent}
.fee-poster-card .early-bird-row mark{display:inline-block;padding:2px 8px;background:#b9e74c;color:var(--ink);font:inherit}
.fee-poster-card .early-bird-deadline{margin:5px 8px 26px 176px;text-align:left}
.fee-poster-card .fee-icon-grid svg{width:52px;height:52px;padding:10px;margin-bottom:10px;border-radius:50%;background:#b9e74c;stroke-width:2;overflow:visible}
@media(max-width:720px){.fee-poster-card .early-bird-deadline{margin-left:0}.fee-poster-card .fee-icon-grid svg{width:50px;height:50px}}

/* Balanced fee details */
.fees-section-heading{display:block;max-width:1040px;margin:0 auto 28px;text-align:left}
.fees-section-heading .eyebrow{margin:0 0 12px}
.fees-section-heading h2{margin:0;font-size:clamp(2.15rem,3.3vw,3.5rem)}
.fee-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.fee-detail-grid article:first-child,.fee-detail-grid article:last-child{padding:28px 34px}
@media(max-width:900px){.fee-detail-grid{grid-template-columns:1fr}.fee-detail-grid article:first-child{border-right:0;border-bottom:1px solid var(--line)}}
.compact-intro{grid-template-columns:minmax(300px,.78fr) minmax(620px,1.42fr);gap:clamp(42px,6vw,100px);padding-left:clamp(20px,6vw,90px);padding-right:clamp(20px,6vw,90px)}
@media(max-width:1100px){.compact-intro{grid-template-columns:1fr;gap:32px}.compact-intro .intro-copy{grid-column:auto;padding-top:0}}

/* Destination photography now belongs to the journey cards */
.week-card{padding:0;overflow:hidden;display:flex;flex-direction:column}
.week-card-image{width:100%;height:220px;object-fit:cover;transition:transform .35s ease,filter .3s ease}
.week-card-body{padding:24px 28px 28px;display:flex;flex-direction:column;flex:1}
.week-card h3{margin:34px 0 26px}
.week-card:hover .week-card-image,.week-card:focus-visible .week-card-image{transform:scale(1.035);filter:saturate(1.08)}
.journey-detail-button{background:var(--green)!important;border-color:var(--green)!important;color:white!important}
.journey-detail-button:hover{background:var(--lime)!important;border-color:var(--lime)!important;color:var(--ink)!important}

/* Dedicated FAQ page */
.faq-page{min-height:calc(100vh - 84px);padding:clamp(70px,8vw,120px) clamp(20px,6vw,90px);display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(55px,8vw,130px);align-items:start}
.faq-page-heading .eyebrow{color:var(--ink)}
.faq-page-heading h1{margin:24px 0 24px;font-size:clamp(3.5rem,6vw,6.5rem)}
.faq-page-heading>p:last-child{max-width:430px;color:#59605b;font-size:1.05rem}
.faq-page .faq-list{margin-top:4px}

@media(max-width:1100px){
  .site-nav{gap:24px}
  .hero-overview{grid-template-columns:1fr;gap:28px}
  .hero-overview>.overview-heading h2{max-width:none}
  .faq-page{grid-template-columns:1fr;gap:42px}
}
@media(max-width:620px){
  .site-nav{font-size:1.05rem}
  .hero-overview{padding:42px 20px!important;gap:24px}
  .hero-overview>.overview-heading h2{font-size:2.65rem!important}
  .overview-summary{grid-template-columns:1fr}
  .overview-stat:nth-child(n){border-right:0;border-bottom:1px solid var(--line)!important}
  .overview-stat:last-child{border-bottom:0!important}
  .week-card-image{height:210px}
  .week-card-body{padding:22px 22px 26px}
  .faq-page{padding:55px 20px 70px;gap:30px}
  .faq-page-heading h1{font-size:3.25rem}
}

/* Compact FAQ page, aligned with the itinerary detail scale. */
.faq-page{
  min-height:auto;
  padding-top:clamp(48px,5vw,76px);
  padding-bottom:clamp(52px,6vw,86px);
  grid-template-columns:minmax(280px,.72fr) minmax(520px,1.28fr);
  gap:clamp(44px,6vw,96px);
}
.faq-page-heading h1{
  max-width:560px;
  margin:0 0 18px;
  font-size:clamp(2.8rem,4.4vw,4.8rem);
  line-height:.98;
}
.faq-page-heading>p:last-child{font-size:1rem;line-height:1.55}
.faq-page .faq-list{margin-top:0}
.faq-page .faq-list summary{padding:20px 0}
.faq-page .faq-list details p{padding-bottom:20px}

/* Keep Contact headings in the same mid-page hierarchy across every page. */
.consultation-inline-intro h2{
  max-width:650px;
  margin:22px 0 24px;
  font-size:clamp(2.8rem,4.4vw,4.8rem);
  line-height:.98;
}

/* Make the Instagram destination unmistakable without overpowering the stories. */
.instagram-link{display:grid;grid-template-columns:1fr auto 24px;align-items:center;column-gap:22px;padding:19px 2px}
.instagram-label{display:flex;align-items:center;gap:12px}
.instagram-label svg{width:26px;height:26px;fill:none;stroke:var(--green);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.instagram-link strong{font-size:1.08rem}
.instagram-arrow{font-size:1.35rem;transition:transform .2s ease}
.instagram-link:hover .instagram-arrow{transform:translate(3px,-3px)}

/* Separate airport context from the route so the label remains easy to scan. */
.korea-route-canvas .map-flight-airport{
  left:-18%;
  top:28%;
  transform:none;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  background:rgba(245,244,236,.94);
  border:1px solid rgba(16,22,17,.18);
  box-shadow:0 7px 18px rgba(16,22,17,.08);
  color:var(--ink);
  letter-spacing:0;
  text-transform:none;
  white-space:nowrap;
}
.korea-route-canvas .map-flight-airport>i{font-size:1.45rem;color:var(--green)}
.korea-route-canvas .map-flight-airport>span{display:flex;flex-direction:column;gap:2px}
.korea-route-canvas .map-flight-airport small{font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green)}
.korea-route-canvas .map-flight-airport strong{font-size:.78rem;line-height:1.15}

@media(max-width:1100px){
  .faq-page{grid-template-columns:1fr;gap:30px}
}
@media(max-width:620px){
  .faq-page{padding:42px 20px 56px;gap:24px}
  .faq-page-heading h1{font-size:2.65rem}
  .faq-page .faq-list summary{padding:18px 0}
  .consultation-inline-intro h2{font-size:2.65rem}
  .instagram-link{grid-template-columns:1fr auto;row-gap:7px}
  .instagram-link strong{grid-column:1;margin-left:38px}
  .instagram-arrow{grid-column:2;grid-row:1/3}
  .korea-route-canvas .map-flight-airport{left:-10%;top:27%;padding:8px 9px;gap:7px}
  .korea-route-canvas .map-flight-airport>i{font-size:1.15rem}
  .korea-route-canvas .map-flight-airport small{font-size:.5rem}
  .korea-route-canvas .map-flight-airport strong{font-size:.63rem}
}
