
:root {
  --ink:#10283e; --ink-2:#173a58; --accent:#e6792f; --accent-dark:#c95e18;
  --paper:#ffffff; --mist:#f4f7f8; --sand:#f7f3ed; --muted:#66727e;
  --line:#dce3e7; --shadow:0 18px 45px rgba(16,40,62,.12);
  --radius:18px; --max:1200px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6}
a{color:inherit;text-decoration:none} img{display:block;max-width:100%} button,input,textarea{font:inherit}
.container{width:min(calc(100% - 40px),var(--max));margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:700;color:var(--accent)}
.section{padding:88px 0}.section.alt{background:var(--mist)}.section.sand{background:var(--sand)}.section-head{max-width:760px;margin-bottom:38px}.section-head h2,.page-title{font-family:Georgia,'Times New Roman',serif;font-weight:500;line-height:1.05;letter-spacing:-.02em}.section-head h2{font-size:clamp(2rem,4vw,3.5rem);margin:.4rem 0 1rem}.section-head p{color:var(--muted);font-size:1.04rem}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-bottom:1px solid rgba(16,40,62,.08)}.site-header .container{width:min(calc(100% - 64px),1580px)}.header-inner{height:92px;display:flex;align-items:center;gap:42px}.brand{display:flex;align-items:center;gap:12px;min-width:max-content;padding:8px 0}.brand img{width:174px;height:auto}.brand-fallback{font-family:Georgia,'Times New Roman',serif;font-weight:700;letter-spacing:.03em}.nav{margin-left:auto;display:flex;gap:31px;align-items:center}.nav a{position:relative;font-size:.79rem;font-weight:600;letter-spacing:.01em;padding:35px 0 31px;white-space:nowrap}.nav a:after{content:'';position:absolute;left:0;right:0;bottom:21px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:center;transition:transform .2s ease}.nav a:hover,.nav a.active{color:var(--accent)}.nav a:hover:after,.nav a.active:after{transform:scaleX(1)}.nav-toggle{display:none;margin-left:auto;border:0;background:none;font-size:1.6rem;color:var(--ink);cursor:pointer}.header-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background:var(--accent);color:white;padding:0 19px;border:1px solid var(--accent);border-radius:999px;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.045em;white-space:nowrap;transition:background-color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}.header-cta:hover,.header-cta:focus-visible{background:var(--accent-dark);border-color:var(--accent-dark);transform:translateY(-2px);box-shadow:0 8px 18px rgba(201,94,24,.22)}.nav-contact-mobile{display:none!important}
.hero{min-height:74vh;display:grid;place-items:end start;position:relative;background-size:cover;background-position:center;isolation:isolate}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,22,36,.72),rgba(6,22,36,.16) 65%,rgba(6,22,36,.08));z-index:-1}.hero-content{padding:100px 0 86px;color:white;max-width:750px}.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3rem,7vw,6.8rem);font-weight:500;line-height:.95;margin:.2rem 0 1rem}.hero p{max-width:600px;font-size:1.1rem;color:rgba(255,255,255,.88)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:999px;font-weight:700;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;border:1px solid transparent;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}.btn.primary{background:var(--accent);color:white}.btn.primary:hover,.btn.primary:focus-visible{background:var(--accent-dark);transform:translateY(-2px);box-shadow:0 8px 18px rgba(201,94,24,.22)}.btn.hero-blue{background:#0878bd;color:white;border-color:#0878bd}.btn.hero-blue:hover,.btn.hero-blue:focus-visible{background:#05659f;border-color:#05659f;transform:translateY(-2px);box-shadow:0 8px 18px rgba(5,101,159,.22)}.btn.ghost{border-color:rgba(255,255,255,.65);color:white;background:rgba(255,255,255,.08)}.btn.outline{border-color:var(--ink);color:var(--ink);background:transparent}.btn.outline:hover,.btn.outline:focus-visible{background:var(--ink);color:#fff;transform:translateY(-2px)}.service-cta{background:var(--accent);border-color:var(--accent);color:#fff;margin-top:8px}.service-cta:hover,.service-cta:focus-visible{background:var(--accent-dark);border-color:var(--accent-dark);transform:translateY(-2px);box-shadow:0 8px 18px rgba(201,94,24,.22)}
.page-hero{min-height:48vh;display:grid;place-items:end start;position:relative;background-size:cover;background-position:center;isolation:isolate}.page-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,22,36,.70),rgba(6,22,36,.15));z-index:-1}.page-hero .inner{padding:80px 0 60px;color:white}.page-title{font-size:clamp(2.8rem,6vw,5.5rem);margin:.25rem 0}.lede{font-size:1.08rem;color:var(--muted);max-width:720px}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feature-card,.destination-card,.service-card{border:1px solid var(--line);background:white;border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 30px rgba(16,40,62,.06);transition:.25s transform,.25s box-shadow}.feature-card:hover,.destination-card:hover,.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.feature-card .media,.destination-card .media{aspect-ratio:4/3;background:linear-gradient(135deg,#cbd6dc,#eef2f4);background-size:cover;background-position:center}.feature-card .body,.destination-card .body{padding:22px}.feature-card h3,.destination-card h3,.service-card h3{font-family:Georgia,'Times New Roman',serif;font-weight:500;margin:0 0 8px}.feature-card p,.destination-card p,.service-card p{color:var(--muted);margin:0}.destination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.destination-card .media{aspect-ratio:5/4}.destination-card .body{display:flex;justify-content:space-between;gap:14px;align-items:end}.text-link{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:700;white-space:nowrap}
.split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}.split .visual{min-height:430px;border-radius:var(--radius);background-size:cover;background-position:center;box-shadow:var(--shadow)}.split h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:500;line-height:1.08;margin:.3rem 0 1rem}.split p{color:var(--muted)}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.value{padding:24px;border-left:3px solid var(--accent);background:white}.value strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:1.25rem;margin-bottom:8px}.value p{margin:0;color:var(--muted)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{padding:26px}.service-card .num{font-size:.72rem;color:var(--accent);font-weight:700;letter-spacing:.12em}.service-card h3{font-size:1.35rem;margin-top:8px}
.anchor-nav{position:sticky;top:78px;z-index:20;background:white;border-bottom:1px solid var(--line);overflow:auto}.anchor-nav .container{display:flex;gap:24px}.anchor-nav a{padding:16px 0;font-size:.74rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700;white-space:nowrap}.anchor-nav a:hover{color:var(--accent)}
.placeholder{min-height:48vh;display:grid;place-items:center;text-align:center}.placeholder .box{max-width:720px;padding:55px;border:1px solid var(--line);border-radius:var(--radius);background:var(--mist)}.placeholder h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.5rem,5vw,4.8rem);font-weight:500;margin:.5rem 0}.placeholder p{color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:42px}.form{display:grid;gap:14px}.field{display:grid;gap:7px}.field label{font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700}.field input,.field textarea{width:100%;padding:14px 15px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink)}.field textarea{min-height:150px;resize:vertical}.notice{display:none;margin-top:12px;padding:12px 14px;background:#eef8f1;border:1px solid #cfe7d5;border-radius:10px;color:#245f36}.contact-card{padding:30px;border-radius:var(--radius);background:var(--ink);color:white}.contact-card h2{font-family:Georgia,'Times New Roman',serif;font-weight:500}.contact-list{display:grid;gap:15px;margin:22px 0}.contact-list span{display:block;color:rgba(255,255,255,.65);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}
.site-footer{background:#091e2f;color:white;padding:62px 0 20px}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:40px}.site-footer h3{font-family:Georgia,'Times New Roman',serif;font-weight:500;margin-top:0}.site-footer p,.site-footer a{color:rgba(255,255,255,.72);font-size:.92rem}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}.newsletter{display:grid;gap:10px}.newsletter-row{display:flex;gap:8px}.newsletter input{flex:1;min-width:0;padding:13px 14px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.08);color:white}.newsletter button{border:0}.footer-bottom{margin-top:42px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.45);font-size:.78rem}.small{font-size:.82rem;color:var(--muted)}
.footer-contact-list{display:grid;gap:6px;margin:16px 0 18px}
.footer-contact-list .footer-address{display:block;margin-bottom:4px;color:rgba(255,255,255,.72);line-height:1.55}
.footer-contact-list span:not(.footer-address){display:grid;grid-template-columns:74px minmax(0,1fr);gap:8px;align-items:baseline}
.footer-contact-list strong{color:rgba(255,255,255,.48);font-size:.65rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.footer-contact-list a{overflow-wrap:anywhere}
@media(max-width:520px){.footer-contact-list span:not(.footer-address){grid-template-columns:68px minmax(0,1fr)}}
@media(max-width:1320px){.nav{display:none;position:absolute;top:92px;left:0;right:0;background:white;border-bottom:1px solid var(--line);padding:14px 28px 26px;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:11px 0}.nav .nav-contact-mobile{display:inline-flex!important;align-items:center;justify-content:center;align-self:flex-start;min-height:44px;margin-top:10px;padding:0 20px;background:var(--accent);color:#fff;border-radius:999px;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.045em}.nav .nav-contact-mobile:after{display:none}.nav .nav-contact-mobile:hover,.nav .nav-contact-mobile:focus-visible{background:var(--accent-dark);color:#fff}.nav-toggle{display:block}.header-cta{display:none}.feature-grid{grid-template-columns:repeat(2,1fr)}.destination-grid,.service-grid{grid-template-columns:repeat(2,1fr)}.values{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.container{width:min(calc(100% - 28px),var(--max))}.site-header .container{width:min(calc(100% - 28px),var(--max))}.section{padding:64px 0}.header-inner{height:70px}.nav{top:70px}.anchor-nav{top:70px}.brand img{width:150px}.hero{min-height:72vh}.hero-content{padding:90px 0 60px}.page-hero{min-height:42vh}.split,.contact-grid,.footer-grid{grid-template-columns:1fr}.split .visual{min-height:320px}.feature-grid,.destination-grid,.service-grid,.values{grid-template-columns:1fr}.footer-links{grid-template-columns:1fr 1fr}.footer-bottom{flex-direction:column}.newsletter-row{flex-direction:column}.newsletter-row .btn{width:100%}}

/* Homepage local-media integration */
.hero-video{overflow:hidden;background:#091e2f}
.hero-video .hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.hero-eyebrow{color:#fff}
.destination-card .media{overflow:hidden}
.destination-card .media img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .45s ease}
.destination-card:hover .media img{transform:scale(1.025)}
.image-visual{overflow:hidden;background:var(--mist)}
.image-visual img{width:100%;height:100%;min-height:430px;object-fit:cover;object-position:center}
@media(max-width:760px){.image-visual img{min-height:320px}.hero-video .hero-media{object-position:center center}}
@media(prefers-reduced-motion:reduce){.destination-card .media img{transition:none}.destination-card:hover .media img{transform:none}}

/* Homepage refinement: navigation, hero CTAs and Discover EGH cards */
.home-feature-grid{gap:26px}
.home-feature-grid .destination-card{display:flex;flex-direction:column;border:1px solid rgba(16,40,62,.08);box-shadow:0 12px 30px rgba(16,40,62,.09);border-radius:16px}
.home-feature-grid .destination-card .media{aspect-ratio:4/3}
.home-feature-grid .home-card-body{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px 22px 26px;text-align:center;background:#fff}
.home-feature-grid .home-card-body h3{font-size:1.55rem;line-height:1.15;margin:0;color:var(--ink)}
.home-card-cta{display:inline-flex;align-items:center;justify-content:center;min-width:154px;min-height:42px;padding:0 20px;border-radius:999px;background:var(--accent);color:white;font-size:.72rem;font-weight:700;letter-spacing:.065em;text-transform:uppercase;box-shadow:0 6px 16px rgba(230,121,47,.20);transition:background .2s ease,transform .2s ease,box-shadow .2s ease}
.home-card-cta:hover{background:var(--accent-dark);transform:translateY(-1px);box-shadow:0 8px 18px rgba(201,94,24,.24)}
@media(max-width:760px){.home-feature-grid .home-card-body{padding:20px 18px 22px}.home-card-cta{min-height:43px}}

/* Homepage v6: CTA responsiveness */
@media(max-width:760px){.service-cta{min-width:150px}.nav .nav-contact-mobile{width:100%;align-self:stretch}.btn:active,.header-cta:active,.home-card-cta:active{transform:translateY(0)}}
@media(hover:none){.btn:hover,.header-cta:hover,.home-card-cta:hover{transform:none}}

/* Footer company CTA */
.footer-company{display:flex;flex-direction:column;align-items:flex-start}
.footer-work-cta{display:inline-flex;align-items:center;justify-content:center;min-height:42px;margin-top:10px;padding:0 19px;border:1px solid rgba(255,255,255,.55);border-radius:999px;color:#fff!important;background:rgba(255,255,255,.06);font-size:.74rem!important;font-weight:700;letter-spacing:.055em;text-transform:uppercase;transition:background-color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.footer-work-cta:hover,.footer-work-cta:focus-visible{background:var(--accent);border-color:var(--accent);color:#fff!important;transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.18)}
.footer-work-cta:active{transform:translateY(0)}
@media(max-width:760px){.footer-work-cta{min-width:148px}}
@media(hover:none){.footer-work-cta:hover{transform:none}}

/* About page 2026 company-profile integration */
.about-page-hero .inner{max-width:860px}
.about-hero-eyebrow{color:#fff}
.about-hero-copy{max-width:650px;margin:.8rem 0 0;color:rgba(255,255,255,.88);font-size:clamp(1rem,2vw,1.22rem)}
.about-intro{margin-bottom:48px}
.about-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:6px}
.about-fact{display:flex;min-height:150px;flex-direction:column;justify-content:center;padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(16,40,62,.05)}
.about-fact .fact-label{margin-bottom:8px;color:var(--accent);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.about-fact strong{font-family:Georgia,'Times New Roman',serif;font-size:1.45rem;font-weight:500;line-height:1.15}
.about-fact > span:last-child{margin-top:6px;color:var(--muted);font-size:.88rem}
.about-quote{margin:28px 0 0;padding:24px 30px;border:0;border-left:4px solid var(--accent);border-radius:0 16px 16px 0;background:var(--ink);color:#fff}
.about-quote p{max-width:880px;margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.2rem,2.3vw,1.7rem);line-height:1.45}

.journey-timeline{position:relative;display:grid;gap:0;max-width:980px}
.journey-timeline:before{content:'';position:absolute;top:18px;bottom:18px;left:120px;width:1px;background:var(--line)}
.journey-item{position:relative;display:grid;grid-template-columns:120px 1fr;gap:36px;padding:0 0 34px}
.journey-item:last-child{padding-bottom:0}
.journey-item:after{content:'';position:absolute;top:9px;left:114px;width:13px;height:13px;border:3px solid #fff;border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.journey-year{padding-top:1px;color:var(--accent);font-size:.79rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.journey-item h3{margin:0 0 5px;font-family:Georgia,'Times New Roman',serif;font-size:1.35rem;font-weight:500}
.journey-item p{max-width:720px;margin:0;color:var(--muted)}

.mission-vision-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:28px}
.statement-card{padding:34px;border:1px solid var(--line);border-radius:18px;background:var(--mist)}
.statement-card-accent{background:var(--ink);color:#fff;border-color:var(--ink)}
.statement-kicker{display:block;margin-bottom:9px;color:var(--accent);font-size:.7rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.statement-card h3{margin:0 0 12px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.5rem,2.7vw,2.25rem);font-weight:500;line-height:1.15}
.statement-card p{margin:0;color:var(--muted)}
.statement-card-accent p{color:rgba(255,255,255,.76)}
.core-values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.core-value{padding:24px;border-top:3px solid var(--accent);background:#fff;box-shadow:0 8px 24px rgba(16,40,62,.05)}
.core-value > span{display:block;margin-bottom:20px;color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.1em}
.core-value h3{margin:0 0 7px;font-family:Georgia,'Times New Roman',serif;font-size:1.25rem;font-weight:500}
.core-value p{margin:0;color:var(--muted);font-size:.92rem}

.about-why-section{background:var(--ink);color:#fff}
.about-why-head p{color:rgba(255,255,255,.68)}
.why-egh-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.why-egh-card{padding:26px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.055)}
.why-egh-card strong{display:block;margin-bottom:8px;font-family:Georgia,'Times New Roman',serif;font-size:1.2rem;font-weight:500}
.why-egh-card p{margin:0;color:rgba(255,255,255,.68);font-size:.92rem}

.about-services-intro{margin-bottom:34px}
.about-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.about-service-grid article{padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff}
.about-service-grid span{display:block;color:var(--accent);font-size:.7rem;font-weight:800;letter-spacing:.1em}
.about-service-grid h3{margin:12px 0 7px;font-family:Georgia,'Times New Roman',serif;font-size:1.22rem;font-weight:500}
.about-service-grid p{margin:0;color:var(--muted);font-size:.92rem}

.fleet-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.fleet-summary-grid article{position:relative;min-height:210px;padding:30px;border-radius:18px;background:linear-gradient(145deg,var(--ink),var(--ink-2));color:#fff;overflow:hidden}
.fleet-summary-grid article:after{content:'';position:absolute;right:-45px;bottom:-50px;width:135px;height:135px;border:1px solid rgba(255,255,255,.12);border-radius:50%}
.fleet-summary-grid h3{margin:0 0 10px;font-family:Georgia,'Times New Roman',serif;font-size:1.4rem;font-weight:500}
.fleet-summary-grid p{margin:0;color:rgba(255,255,255,.7)}


.credentials-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.credential-card{padding:30px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(16,40,62,.055)}
.credential-card:nth-child(2){background:var(--mist)}
.credential-label{color:var(--accent);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.credential-card h3{margin:10px 0 16px;font-family:Georgia,'Times New Roman',serif;font-size:1.45rem;font-weight:500}
.credential-card ul{display:grid;gap:9px;margin:0;padding-left:20px;color:var(--muted)}
.credential-card li::marker{color:var(--accent)}

@media(max-width:980px){
  .about-facts,.core-values-grid,.why-egh-grid,.about-service-grid,.fleet-summary-grid{grid-template-columns:repeat(2,1fr)}
  .mission-vision-grid,.credentials-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .about-facts,.core-values-grid,.why-egh-grid,.about-service-grid,.fleet-summary-grid{grid-template-columns:1fr}
  .journey-timeline:before{left:7px}
  .journey-item{grid-template-columns:1fr;gap:5px;padding-left:30px;padding-bottom:28px}
  .journey-item:after{left:1px;top:7px}
  .journey-year{padding-top:0}
  .about-quote{padding:20px 22px}
  .about-fact{min-height:0}
}

/* About page local media + mobility cards (v2) */
.about-page-hero{background-position:center 52%}
.about-intro .visual{background-position:center}
.about-services-intro .visual{background-position:center}
#sustainability .visual{background-position:center}
.fleet-summary-grid .mobility-card{min-height:0;padding:0;background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 8px 28px rgba(16,40,62,.07)}
.fleet-summary-grid .mobility-card:after{display:none}
.mobility-media{aspect-ratio:4/3;overflow:hidden;background:#e9eef1}
.mobility-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .35s ease}
.mobility-card:hover .mobility-media img{transform:scale(1.025)}
.mobility-body{padding:24px}
.mobility-kicker{display:block;margin-bottom:8px;color:var(--accent);font-size:.7rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.fleet-summary-grid .mobility-card h3{color:var(--ink);margin:0 0 8px}
.fleet-summary-grid .mobility-card p{color:var(--muted)}
@media(max-width:760px){.mobility-body{padding:20px}.mobility-media{aspect-ratio:16/10}}
@media(prefers-reduced-motion:reduce){.mobility-media img{transition:none}.mobility-card:hover .mobility-media img{transform:none}}


/* About page v4: refined hero, two-row draggable partner carousel, and section separation */
.about-page-hero .inner{padding-bottom:44px}
.partner-logo-wall{display:grid;gap:16px;margin-top:8px}
.partner-logo-marquee{--partner-logo-width:148px;--partner-logo-height:104px;--partner-logo-gap:18px;position:relative;width:100%;overflow-x:auto;overflow-y:hidden;margin-top:0;padding:10px 0 8px;scrollbar-width:none;-ms-overflow-style:none;cursor:grab;touch-action:pan-x;overscroll-behavior-x:contain;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%)}
.partner-logo-marquee::-webkit-scrollbar{display:none}
.partner-logo-marquee.is-dragging{cursor:grabbing}
.partner-logo-track{display:flex;width:max-content;will-change:scroll-position}
.partner-logo-set{display:flex;flex:none;align-items:center;gap:var(--partner-logo-gap);padding-right:var(--partner-logo-gap)}
.partner-logo-card{display:flex;flex:0 0 var(--partner-logo-width);width:var(--partner-logo-width);height:var(--partner-logo-height);align-items:center;justify-content:center;padding:15px 18px;border:1px solid rgba(16,40,62,.075);border-radius:14px;background:rgba(255,255,255,.82)}
.partner-logo-card img{width:100%;height:100%;object-fit:contain;object-position:center}
@media(hover:hover) and (pointer:fine){.partner-logo-marquee:hover{cursor:grab}}
@media(max-width:980px){.about-page-hero .inner{padding-bottom:40px}.partner-logo-marquee{--partner-logo-width:132px;--partner-logo-height:94px;--partner-logo-gap:15px}}
@media(max-width:760px){.about-page-hero{background-position:center 50%}.about-page-hero .inner{padding-bottom:38px}.partner-logo-wall{gap:12px}.partner-logo-marquee{--partner-logo-width:112px;--partner-logo-height:82px;--partner-logo-gap:12px;margin-inline:-2px;width:calc(100% + 4px);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%)}.partner-logo-card{padding:11px 13px;border-radius:12px}}
@media(prefers-reduced-motion:reduce){.partner-logo-marquee{scrollbar-width:thin;-webkit-mask-image:none;mask-image:none}}


/* About page v5: section photography */
.about-section-media{margin:30px 0 34px;border-radius:18px;overflow:hidden}
.about-section-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.vision-section-media{height:clamp(250px,30vw,390px);box-shadow:0 12px 34px rgba(16,40,62,.08)}
.vision-section-media img{object-position:center 52%}
.why-section-media{height:clamp(270px,32vw,410px);margin-top:4px;margin-bottom:30px;border:1px solid rgba(255,255,255,.1);box-shadow:0 12px 34px rgba(0,0,0,.14)}
.why-section-media img{object-position:center 60%}
@media(max-width:760px){
  .about-section-media{margin:24px 0 28px;border-radius:14px}
  .vision-section-media{height:230px}
  .why-section-media{height:250px}
}

/* About page v6: accreditation logo grid */
.accreditation-logos{margin-top:44px;padding-top:34px;border-top:1px solid rgba(16,40,62,.11)}
.accreditation-logos-head{max-width:720px;margin-bottom:24px}
.accreditation-logos-head h3{margin:.45rem 0 0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.55rem,2.7vw,2.25rem);font-weight:500;line-height:1.15}
.accreditation-logo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.accreditation-logo-card{display:flex;min-width:0;min-height:180px;flex-direction:column;align-items:center;justify-content:center;gap:12px;margin:0;padding:20px 18px;border:1px solid rgba(16,40,62,.08);border-radius:16px;background:rgba(255,255,255,.78)}
.accreditation-logo-card img{width:min(118px,52%);height:96px;object-fit:contain;object-position:center}
.accreditation-logo-card figcaption{max-width:240px;color:var(--muted);font-size:.78rem;font-weight:600;line-height:1.35;text-align:center}
@media(max-width:760px){.accreditation-logos{margin-top:34px;padding-top:28px}.accreditation-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.accreditation-logo-card{min-height:158px;padding:16px 12px}.accreditation-logo-card img{width:min(100px,58%);height:82px}.accreditation-logo-card figcaption{font-size:.74rem}}

/* About page v7: subsection navigation sticks flush to the viewport top */
.about-page .site-header{position:relative;top:auto}
.about-page .anchor-nav{top:0;z-index:60;background:#fff;box-shadow:0 5px 18px rgba(16,40,62,.07)}
.about-page main section[id]{scroll-margin-top:64px}
@media(max-width:760px){
  .about-page .anchor-nav{top:0}
  .about-page main section[id]{scroll-margin-top:58px}
}

/* Resources & Downloads page + About profile CTA (v8) */
.about-profile-cta{margin-top:10px}
.downloads-hero{min-height:38vh;background:linear-gradient(135deg,var(--ink),var(--ink-2));color:#fff}
.downloads-hero:after{background:radial-gradient(circle at 82% 22%,rgba(230,121,47,.22),transparent 34%)}
.downloads-hero .inner{padding-top:76px;padding-bottom:58px}
.downloads-hero .eyebrow{color:#fff}
.downloads-hero-copy{max-width:690px;margin:.85rem 0 0;color:rgba(255,255,255,.8);font-size:1.05rem}
.downloads-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.download-card{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start;padding:30px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(16,40,62,.06)}
.download-card-icon{display:grid;place-items:center;width:58px;height:68px;border-radius:12px;background:var(--sand);color:var(--accent);font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:.8rem;letter-spacing:.08em}
.download-card h2{margin:0 0 8px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.5rem,2.6vw,2.15rem);font-weight:500;line-height:1.15}
.download-meta{margin:0 0 14px;color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.download-card p{margin:0;color:var(--muted)}
.download-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.download-actions .btn{min-width:132px}
.download-empty{padding:28px;border:1px dashed rgba(16,40,62,.18);border-radius:18px;background:var(--sand)}
.download-empty h3{margin:0 0 7px;font-family:Georgia,'Times New Roman',serif;font-size:1.3rem;font-weight:500}
.download-empty p{margin:0;color:var(--muted)}
@media(max-width:760px){.downloads-grid{grid-template-columns:1fr}.download-card{grid-template-columns:1fr;gap:16px;padding:24px}.download-card-icon{width:54px;height:62px}.download-actions{display:grid;grid-template-columns:1fr 1fr}.download-actions .btn{min-width:0;padding-inline:14px}}
@media(max-width:430px){.download-actions{grid-template-columns:1fr}}


/* PDF viewer page */
.pdf-viewer-heading{padding:52px 0 28px;background:var(--sand);border-bottom:1px solid var(--line)}
.pdf-viewer-heading-inner{display:flex;align-items:end;justify-content:space-between;gap:28px}
.pdf-viewer-heading h1{margin:.35rem 0 0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,4vw,3.4rem);font-weight:500;line-height:1.08}
.pdf-viewer-actions{display:flex;flex-wrap:wrap;gap:10px;flex:none}
.pdf-viewer-section{padding:28px 0 70px;background:var(--mist)}
.pdf-frame-wrap{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(16,40,62,.08)}
.pdf-frame{display:block;width:100%;height:min(78vh,980px);min-height:620px;border:0;background:#fff}
.pdf-frame-fallback{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;border-top:1px solid var(--line);background:#fff}
.pdf-frame-fallback p{margin:0;color:var(--muted);font-size:.9rem}
@media(max-width:760px){.pdf-viewer-heading-inner{align-items:start;flex-direction:column}.pdf-viewer-actions{width:100%}.pdf-viewer-actions .btn{flex:1}.pdf-frame{min-height:560px}.pdf-frame-fallback{align-items:stretch;flex-direction:column}.pdf-frame-fallback .btn{width:100%}}

/* Responsibility page v1 */
.responsibility-about-points{display:grid;gap:12px;margin:22px 0 24px}
.responsibility-about-points>div{display:grid;gap:2px;padding:14px 16px;border-left:3px solid var(--accent);background:rgba(255,255,255,.62)}
.responsibility-about-points strong{font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:1.04rem}
.responsibility-about-points span{color:var(--muted);font-size:.9rem}
.responsibility-hero{position:relative;overflow:hidden;background-image:url('../media/images/responsibility/hero.webp');background-size:cover;background-position:center;color:#fff;isolation:isolate}
.responsibility-hero:before{content:'';position:absolute;inset:0;background:rgba(54,57,59,.62);z-index:-1}.responsibility-hero:after{content:'';position:absolute;right:-100px;top:-150px;width:520px;height:520px;border:1px solid rgba(255,255,255,.10);border-radius:50%;box-shadow:0 0 0 80px rgba(255,255,255,.024),0 0 0 160px rgba(255,255,255,.015);z-index:-1}
.responsibility-hero-inner{position:relative;z-index:1;padding:104px 0 92px;max-width:1020px}
.responsibility-hero-eyebrow{color:#ff9a55}
.responsibility-hero h1{max-width:950px;margin:.35rem 0 1.25rem;font-family:Georgia,'Times New Roman',serif;font-size:clamp(3rem,6.5vw,6.2rem);font-weight:500;line-height:.98;letter-spacing:-.025em}
.responsibility-hero p{max-width:780px;margin:0;color:rgba(255,255,255,.78);font-size:1.08rem}
.responsibility-nav{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);backdrop-filter:blur(10px);overflow-x:auto}
.responsibility-nav .container{display:flex;gap:26px}
.responsibility-nav a{padding:16px 0;color:var(--ink);font-size:.72rem;font-weight:800;letter-spacing:.075em;text-transform:uppercase;white-space:nowrap}
.responsibility-nav a:hover{color:var(--accent)}
.responsibility-heading{margin:.35rem 0 1rem;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.1rem,4vw,3.6rem);font-weight:500;line-height:1.06;letter-spacing:-.02em}
.responsibility-intro-grid,.responsibility-detail-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.responsibility-intro-grid p,.responsibility-detail-grid p{color:var(--muted)}
.media-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px dashed rgba(16,40,62,.28);border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(244,247,248,.92));color:var(--muted)}
.responsibility-placeholder{min-height:330px;padding:34px}
.responsibility-placeholder-tall{min-height:410px}
.media-placeholder .placeholder-kicker{margin-bottom:9px;color:var(--accent);font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.media-placeholder strong{max-width:360px;color:var(--ink);font-family:Georgia,'Times New Roman',serif;font-size:1.55rem;font-weight:500}
.media-placeholder>span:last-child{max-width:430px;margin-top:9px;font-size:.88rem}
.responsibility-pillars{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:48px}
.responsibility-pillars article{padding:30px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 9px 28px rgba(16,40,62,.05)}
.responsibility-pillar-number{display:block;margin-bottom:18px;color:var(--accent);font-size:.7rem;font-weight:800;letter-spacing:.12em}
.responsibility-pillars h3{margin:0 0 10px;font-family:Georgia,'Times New Roman',serif;font-size:1.55rem;font-weight:500}
.responsibility-pillars p{margin:0;color:var(--muted)}
.responsibility-detail-reverse>div:first-child{order:1}.responsibility-detail-reverse>div:last-child{order:2}
.responsibility-conduct-head{max-width:820px}
.conduct-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.conduct-grid article{display:grid;grid-template-columns:auto 1fr;gap:15px;align-items:start;padding:22px 24px;border:1px solid rgba(16,40,62,.08);border-radius:15px;background:rgba(255,255,255,.72)}
.conduct-grid article span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;font-size:.68rem;font-weight:800}
.conduct-grid p{margin:3px 0 0;color:var(--muted)}
.responsibility-closing{padding:78px 0;background:var(--ink);color:#fff;text-align:center}
.responsibility-closing .container{max-width:900px}
.responsibility-closing h2{margin:.4rem auto 1.6rem;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.1rem,4vw,3.7rem);font-weight:500;line-height:1.08}
#approach,#culture,#communities,#wildlife,#conduct{scroll-margin-top:72px}
@media(max-width:900px){.responsibility-intro-grid,.responsibility-detail-grid{grid-template-columns:1fr;gap:32px}.responsibility-detail-reverse>div:first-child,.responsibility-detail-reverse>div:last-child{order:initial}.responsibility-pillars{grid-template-columns:1fr}.responsibility-placeholder,.responsibility-placeholder-tall{min-height:300px}.conduct-grid{grid-template-columns:1fr}}
@media(max-width:760px){.responsibility-hero-inner{padding:78px 0 68px}.responsibility-hero h1{font-size:clamp(2.65rem,13vw,4.5rem)}.responsibility-nav .container{width:max-content;min-width:100%;padding:0 20px}.responsibility-nav a{padding:14px 0}.responsibility-placeholder,.responsibility-placeholder-tall{min-height:245px;padding:26px}.responsibility-closing{padding:62px 0}}
/* Responsibility page v2: supplied section imagery */
.responsibility-image{margin:0;overflow:hidden;border-radius:18px;background:var(--mist);box-shadow:0 12px 32px rgba(16,40,62,.08)}
.responsibility-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.responsibility-image-overview{width:min(100%,430px);justify-self:end;min-height:0;aspect-ratio:4/3}
.responsibility-image-tall{min-height:410px;aspect-ratio:4/5}
@media(max-width:900px){.responsibility-image-overview{width:min(100%,520px);justify-self:start;min-height:0;aspect-ratio:16/10}.responsibility-image-tall{min-height:300px;aspect-ratio:16/10}}
@media(max-width:760px){.responsibility-image-overview{width:100%;min-height:0;aspect-ratio:16/10;border-radius:15px}.responsibility-image-tall{min-height:245px;aspect-ratio:16/10;border-radius:15px}}


/* Our Services v1: image-card service catalogue */
.services-showcase{background:var(--paper)}
.services-intro-head{max-width:820px}
.services-image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.service-image-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 8px 30px rgba(16,40,62,.06);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.service-image-card:hover{transform:translateY(-5px);border-color:rgba(230,121,47,.26);box-shadow:var(--shadow)}
.service-card-media{aspect-ratio:4/3;width:100%;overflow:hidden;background:#e8edf0}
.service-card-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.service-media-placeholder{display:grid;place-items:center;position:relative;background:linear-gradient(135deg,#eef2f4,#e1e8ec);color:#73808a;text-align:center}
.service-media-placeholder:before{content:'';position:absolute;inset:14px;border:1px dashed rgba(16,40,62,.18);border-radius:12px}
.service-media-placeholder span{position:relative;padding:8px 14px;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.service-image-body{display:flex;flex:1;min-height:245px;flex-direction:column;padding:24px}
.service-image-body .num{color:var(--accent);font-size:.7rem;font-weight:800;letter-spacing:.12em}
.service-image-body h3{margin:9px 0 9px;font-family:Georgia,'Times New Roman',serif;font-size:1.34rem;font-weight:500;line-height:1.18}
.service-image-body p{margin:0 0 22px;color:var(--muted);font-size:.94rem}
.service-card-link{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin-top:auto;color:var(--accent);font-size:.76rem;font-weight:800;letter-spacing:.075em;text-transform:uppercase;transition:color .2s ease,gap .2s ease}
.service-card-link span{font-size:1rem;line-height:1}
.service-card-link:hover,.service-card-link:focus-visible{color:var(--accent-dark);gap:12px}
@media(max-width:980px){.services-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.services-image-grid{grid-template-columns:1fr;gap:18px}.service-image-body{min-height:0;padding:21px}.service-card-media{aspect-ratio:16/10}}
@media(prefers-reduced-motion:reduce){.service-image-card,.service-card-link{transition:none}.service-image-card:hover{transform:none}}

/* Our Services page v3: photographic hero */
.services-page-hero{background-position:center 48%;background-size:cover}
.services-page-hero:after{background:linear-gradient(90deg,rgba(20,31,38,.70) 0%,rgba(39,47,51,.48) 47%,rgba(47,52,54,.28) 100%)}
.services-page-hero .inner{max-width:760px}
.services-page-hero .inner>p{max-width:620px;color:rgba(255,255,255,.88);font-size:1.06rem}
@media(max-width:760px){.services-page-hero{background-position:58% center}.services-page-hero:after{background:linear-gradient(90deg,rgba(24,32,36,.76),rgba(45,49,50,.48))}}

/* MICE page v1 */
.mice-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#0b2235 0%,#123c59 58%,#1e596d 100%);color:#fff;isolation:isolate}
.mice-hero:after{content:'';position:absolute;right:-110px;top:-170px;width:520px;height:520px;border:1px solid rgba(255,255,255,.10);border-radius:50%;box-shadow:0 0 0 85px rgba(255,255,255,.025),0 0 0 170px rgba(255,255,255,.014);z-index:-1}
.mice-hero-inner{display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center;padding:100px 0 92px}
.mice-hero-copy{max-width:760px}
.mice-hero-eyebrow{color:#ff9a55}
.mice-hero h1{margin:.38rem 0 1.15rem;font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.2rem,6.2vw,6rem);font-weight:500;line-height:.98;letter-spacing:-.028em}
.mice-hero p{max-width:650px;margin:0;color:rgba(255,255,255,.82);font-size:1.08rem}
.mice-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.mice-hero-placeholder{display:flex;min-height:340px;flex-direction:column;align-items:center;justify-content:center;padding:34px;border:1px dashed rgba(255,255,255,.34);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));text-align:center;color:rgba(255,255,255,.68)}
.mice-hero-placeholder span{margin-bottom:10px;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:1.65rem}
.mice-hero-placeholder small{max-width:390px;font-size:.9rem;line-height:1.55}
.mice-anchor-nav{position:sticky;top:0;z-index:40;overflow-x:auto;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.mice-anchor-nav .container{display:flex;gap:28px}
.mice-anchor-nav a{padding:16px 0;color:var(--ink);font-size:.72rem;font-weight:800;letter-spacing:.075em;text-transform:uppercase;white-space:nowrap}
.mice-anchor-nav a:hover{color:var(--accent)}
#overview,#mice-services,#specialised,#why-mice,#highlights,#brochure{scroll-margin-top:72px}
.mice-section-title{margin:.35rem 0 1rem;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.2rem,4.3vw,3.8rem);font-weight:500;line-height:1.05;letter-spacing:-.022em}
.mice-overview-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center}
.mice-overview-grid p{color:var(--muted)}
.mice-media-placeholder{display:flex;min-height:330px;flex-direction:column;align-items:center;justify-content:center;padding:32px;border:1px dashed rgba(16,40,62,.26);border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(238,242,244,.94));text-align:center;color:var(--muted)}
.mice-media-placeholder .placeholder-kicker{margin-bottom:9px;color:var(--accent);font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.mice-media-placeholder strong{max-width:390px;color:var(--ink);font-family:Georgia,'Times New Roman',serif;font-size:1.55rem;font-weight:500;line-height:1.2}
.mice-media-placeholder>span:last-child{max-width:430px;margin-top:9px;font-size:.88rem}
.mice-proof-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:44px}
.mice-proof-grid article{padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(16,40,62,.045)}
.mice-proof-grid article>span{display:block;margin-bottom:12px;color:var(--accent);font-size:.7rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.mice-proof-grid strong{display:block;margin-bottom:8px;font-family:Georgia,'Times New Roman',serif;font-size:1.23rem;font-weight:500;line-height:1.2}
.mice-proof-grid p{margin:0;color:var(--muted);font-size:.9rem}
.mice-services-head{max-width:850px}
.mice-service-stack{display:grid;gap:24px}
.mice-service-feature{display:grid;grid-template-columns:.95fr 1.05fr;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(16,40,62,.055)}
.mice-service-feature-reverse .mice-media-placeholder{order:2}.mice-service-feature-reverse .mice-service-copy{order:1}
.mice-service-feature .mice-media-placeholder{min-height:360px;border:0;border-radius:0;background:linear-gradient(145deg,#e8edf0,#f4f7f8)}
.mice-service-copy{display:flex;flex-direction:column;justify-content:center;padding:38px 40px}
.mice-service-number{color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.12em}
.mice-service-copy h3{margin:10px 0 12px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.8rem,3.3vw,2.8rem);font-weight:500;line-height:1.08}
.mice-service-copy>p{margin:0 0 20px;color:var(--muted)}
.mice-chip-list{display:flex;flex-wrap:wrap;gap:8px}
.mice-chip-list span,.mice-chip-list .mice-chip-link{padding:7px 10px;border:1px solid rgba(16,40,62,.1);border-radius:999px;background:var(--sand);color:var(--ink);font-size:.72rem;font-weight:700}
.mice-chip-list .mice-chip-link{text-decoration:none;transition:border-color .18s ease,color .18s ease,background .18s ease}
.mice-chip-list .mice-chip-link:hover,.mice-chip-list .mice-chip-link:focus-visible{border-color:rgba(239,118,35,.48);color:var(--accent);background:#fff}
.mice-support-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.mice-support-grid article{padding:24px;border-top:3px solid var(--accent);background:#fff;box-shadow:0 8px 24px rgba(16,40,62,.05)}
.mice-support-grid article>span{display:block;margin-bottom:17px;color:var(--accent);font-size:.7rem;font-weight:800;letter-spacing:.1em}
.mice-support-grid h3{margin:0 0 8px;font-family:Georgia,'Times New Roman',serif;font-size:1.2rem;font-weight:500;line-height:1.2}
.mice-support-grid p{margin:0;color:var(--muted);font-size:.9rem}
.mice-why{background:var(--ink);color:#fff}
.mice-why-head p{color:rgba(255,255,255,.68)}
.mice-why-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.mice-why-grid article{padding:27px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.055)}
.mice-why-grid strong{display:block;margin-bottom:9px;font-family:Georgia,'Times New Roman',serif;font-size:1.22rem;font-weight:500;line-height:1.2}
.mice-why-grid p{margin:0;color:rgba(255,255,255,.7);font-size:.91rem}
.mice-values-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:32px;overflow:hidden;border-radius:16px;background:rgba(255,255,255,.12)}
.mice-values-strip span{display:grid;min-height:92px;place-items:center;background:rgba(255,255,255,.045);font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.45rem,3vw,2.3rem);letter-spacing:.03em}
.mice-highlights-head{max-width:850px}
.mice-highlight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.mice-highlight-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(16,40,62,.055)}
.mice-highlight-media{min-height:250px;border:0;border-radius:0}
.mice-highlight-body{padding:24px}
.mice-highlight-year{display:block;margin-bottom:10px;color:var(--accent);font-size:.7rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.mice-highlight-body h3{margin:0 0 10px;font-family:Georgia,'Times New Roman',serif;font-size:1.34rem;font-weight:500;line-height:1.2}
.mice-highlight-body p{margin:0;color:var(--muted);font-size:.91rem}
.mice-brochure-cta{padding:70px 0;background:linear-gradient(135deg,#f7f3ed,#fff)}
.mice-brochure-inner{display:flex;align-items:center;justify-content:space-between;gap:36px}
.mice-brochure-inner>div{max-width:760px}
.mice-brochure-inner h2{margin:.38rem 0 .8rem;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:500;line-height:1.08}
.mice-brochure-inner p{margin:0;color:var(--muted)}
@media(max-width:1050px){.mice-proof-grid,.mice-support-grid,.mice-why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mice-highlight-grid{grid-template-columns:1fr 1fr}.mice-highlight-card:last-child{grid-column:1/-1}}
@media(max-width:900px){.mice-hero-inner,.mice-overview-grid{grid-template-columns:1fr}.mice-hero-placeholder{min-height:260px}.mice-service-feature{grid-template-columns:1fr}.mice-service-feature-reverse .mice-media-placeholder,.mice-service-feature-reverse .mice-service-copy{order:initial}.mice-service-feature .mice-media-placeholder{min-height:280px}.mice-brochure-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.mice-hero-inner{padding:76px 0 66px}.mice-hero h1{font-size:clamp(2.7rem,13vw,4.6rem)}.mice-hero-placeholder{min-height:220px;padding:26px}.mice-anchor-nav .container{width:max-content;min-width:100%;padding:0 20px}.mice-anchor-nav a{padding:14px 0}.mice-proof-grid,.mice-support-grid,.mice-why-grid,.mice-highlight-grid{grid-template-columns:1fr}.mice-highlight-card:last-child{grid-column:auto}.mice-service-copy{padding:28px 24px}.mice-service-feature .mice-media-placeholder{min-height:230px}.mice-values-strip{grid-template-columns:1fr}.mice-values-strip span{min-height:72px}.mice-brochure-cta{padding:58px 0}.mice-brochure-inner .btn{width:100%}}
/* MICE hero v1.1: full-width photographic-hero placeholder */
.mice-hero{min-height:58vh;display:grid;align-items:end;background:linear-gradient(90deg,rgba(8,27,43,.97),rgba(14,55,78,.86) 58%,rgba(25,84,102,.76));background-size:cover;background-position:center;isolation:isolate}
.mice-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,22,36,.30),rgba(6,22,36,.06));z-index:-1}
.mice-hero-inner{display:block;padding:112px 0 86px}
.mice-hero-copy{max-width:820px}
@media(max-width:900px){.mice-hero-inner{display:block}.mice-hero{min-height:52vh}}
@media(max-width:760px){.mice-hero{min-height:0}.mice-hero-inner{padding:82px 0 66px}}

/* MICE v2: highlights brochure cross-link */
.mice-highlights-more{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.mice-highlights-more p{margin:0;color:var(--muted);max-width:700px}
.mice-highlights-link{font-size:.78rem}
@media(max-width:760px){.mice-highlights-more{align-items:flex-start;flex-direction:column;gap:10px}}


/* MICE v3: wired local images */
.mice-image-frame{position:relative;overflow:hidden;border-radius:18px;background:#e8edf0}
.mice-image-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.mice-overview-placeholder{min-height:360px}
.mice-service-media{min-height:360px;border-radius:0}
.mice-highlight-media{min-height:250px;border-radius:0}
.mice-highlight-media img,.mice-service-media img{height:100%}
@media(max-width:900px){.mice-service-media{min-height:280px}}
@media(max-width:760px){.mice-overview-placeholder{min-height:260px}.mice-service-media{min-height:230px}.mice-highlight-media{min-height:220px}}

/* Consistent page-level navigation: secondary menus always sit above the hero */
.mice-page .site-header,.responsibility-page .site-header{position:relative;top:auto}
.mice-page .mice-anchor-nav,.responsibility-page .responsibility-nav{top:0;z-index:60;background:#fff;box-shadow:0 5px 18px rgba(16,40,62,.07)}
.mice-page main section[id],.responsibility-page main section[id]{scroll-margin-top:64px}
@media(max-width:760px){.mice-page main section[id],.responsibility-page main section[id]{scroll-margin-top:58px}}

/* Explore Sri Lanka v2: tighter interactive destination introduction */
.sri-lanka-hero{background-position:center 52%}
.sri-lanka-hero:after{background:linear-gradient(90deg,rgba(6,22,36,.70),rgba(6,22,36,.18) 62%,rgba(6,22,36,.10))}
.sri-discover{padding:62px 0 64px;background:#fff}
.sri-discover-head{max-width:850px;margin-bottom:24px}
.sri-discover-head h2{margin-bottom:.75rem}
.sri-discover-head p{margin-bottom:0}
.sri-discover-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px;padding:0;overflow:visible;background:transparent;scrollbar-width:none}
.sri-discover-tabs::-webkit-scrollbar{display:none}
.sri-tab{flex:0 0 auto;min-height:42px;padding:0 17px;border:1px solid rgba(230,121,47,.12);border-radius:999px;background:#fff5ec;color:var(--ink);font-size:.75rem;font-weight:800;letter-spacing:.04em;white-space:nowrap;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}
.sri-tab:hover{background:#fde8d7;border-color:rgba(230,121,47,.24);transform:translateY(-1px)}
.sri-tab.is-active,.sri-tab[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:0 6px 16px rgba(16,40,62,.12)}
.sri-tab:focus-visible{outline:3px solid rgba(230,121,47,.28);outline-offset:2px}
.sri-discover-panels{position:relative}
.sri-discover-panel{display:grid;grid-template-columns:1.05fr .95fr;min-height:360px;overflow:hidden;border:1px solid rgba(16,40,62,.08);border-radius:20px;background:#fff;box-shadow:0 12px 30px rgba(16,40,62,.06)}
.sri-discover-panel[hidden]{display:none!important}
.sri-discover-copy{display:flex;flex-direction:column;justify-content:center;padding:32px 36px}
.sri-panel-kicker{margin-bottom:8px;color:var(--accent);font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.sri-discover-copy h3{margin:0 0 12px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.85rem,3.2vw,2.8rem);font-weight:500;line-height:1.08;letter-spacing:-.018em}
.sri-discover-copy p{margin:0;color:var(--muted);font-size:.98rem}
.sri-discover-copy p+p{margin-top:12px}
.sri-discover-media{position:relative;min-height:360px;overflow:hidden;background:#e8edf0}
.sri-discover-media>img{width:100%;height:100%;object-fit:cover;object-position:center}
.sri-climate-media{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.sri-climate-media figure{position:relative;min-width:0;margin:0;overflow:hidden}
.sri-climate-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.sri-climate-media figcaption{position:absolute;left:14px;bottom:14px;padding:7px 11px;border-radius:999px;background:rgba(6,22,36,.76);color:#fff;font-size:.69rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;backdrop-filter:blur(7px)}
.sri-explore-options{background:#fff}
@media(max-width:900px){.sri-discover{padding:50px 0 52px}.sri-discover-head{margin-bottom:22px}.sri-discover-tabs{gap:8px;margin-bottom:18px}.sri-discover-panel{grid-template-columns:1fr;min-height:0}.sri-discover-copy{padding:30px 32px}.sri-discover-media{min-height:310px}}
@media(max-width:760px){.sri-lanka-hero{background-position:center}.sri-discover{padding:38px 0 42px}.sri-discover-head{margin-bottom:20px}.sri-discover-tabs{flex-wrap:nowrap;margin-right:-20px;padding-right:20px;overflow-x:auto;overscroll-behavior-inline:contain}.sri-tab{min-height:40px;padding:0 15px}.sri-discover-panel{border-radius:18px}.sri-discover-copy{padding:26px 22px}.sri-discover-media{min-height:245px}.sri-climate-media{grid-template-columns:1fr 1fr}.sri-climate-media figure{min-height:245px}.sri-climate-media figcaption{left:10px;bottom:10px;padding:6px 9px;font-size:.63rem}}
@media(max-width:480px){.sri-climate-media{grid-template-columns:1fr}.sri-climate-media figure{min-height:205px}}

/* Explore Maldives v1 */
.maldives-hero{background-position:center 54%}
.maldives-hero:after{background:linear-gradient(90deg,rgba(6,22,36,.68),rgba(6,22,36,.18) 62%,rgba(6,22,36,.10))}
.maldives-discover{background:#fff}
@media(max-width:760px){.maldives-hero{background-position:center}}


/* Sri Lanka explore cards v4 */
.sri-explore-options{padding-top:72px;background:#fff}
.sri-explore-options .section-head{margin-bottom:30px}
.sri-explore-grid{align-items:stretch}
.sri-explore-card{display:flex;min-width:0;flex-direction:column;border:1px solid rgba(16,40,62,.09);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(16,40,62,.065)}
.sri-explore-card .media{aspect-ratio:16/10;overflow:hidden;background:#e8edf0}
.sri-explore-card .media img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .4s ease}
.sri-explore-card:hover .media img{transform:scale(1.025)}
.sri-explore-card .body{display:flex;flex:1;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:18px;padding:24px}
.sri-explore-copy{flex:1;min-width:0}
.sri-explore-card h3{margin:0 0 9px;font-size:1.42rem;line-height:1.15}
.sri-explore-card p{margin:0;color:var(--muted);font-size:.93rem;line-height:1.6}
.sri-explore-card .text-link{display:inline-flex;align-items:center;margin-top:auto;color:var(--accent);transition:color .2s ease,transform .2s ease}
.sri-explore-card .text-link:hover,.sri-explore-card .text-link:focus-visible{color:var(--accent-dark);transform:translateX(2px)}
@media(max-width:900px){.sri-explore-options{padding-top:60px}.sri-explore-card .body{padding:22px}}
@media(max-width:760px){.sri-explore-options{padding-top:48px}.sri-explore-options .section-head{margin-bottom:24px}.sri-explore-card .body{gap:16px;padding:20px}.sri-explore-card h3{font-size:1.32rem}}
@media(prefers-reduced-motion:reduce){.sri-explore-card .media img,.sri-explore-card .text-link{transition:none}.sri-explore-card:hover .media img,.sri-explore-card .text-link:hover{transform:none}}


/* Maldives Explore cards v2: centered 2x2 premium grid */
.maldives-explore-options{padding-top:72px;background:#fff}
.maldives-explore-head{max-width:760px;margin-bottom:30px}
.maldives-explore-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;width:min(100%,980px);margin:0 auto;align-items:stretch}
.maldives-explore-grid .sri-explore-card .media{aspect-ratio:3/2}
.maldives-explore-grid .sri-explore-card h3{font-size:1.5rem}
@media(max-width:900px){.maldives-explore-options{padding-top:60px}.maldives-explore-grid{gap:20px}}
@media(max-width:680px){.maldives-explore-options{padding-top:48px}.maldives-explore-head{margin-bottom:24px}.maldives-explore-grid{grid-template-columns:1fr;gap:18px}.maldives-explore-grid .sri-explore-card h3{font-size:1.34rem}}


/* About page: Leadership at EGH */
.leadership-section{background:#fff}
.leadership-head{max-width:820px;margin-bottom:24px}
.leadership-panel{overflow:hidden;border:1px solid rgba(16,40,62,.08);border-radius:20px;background:#fff;box-shadow:0 12px 30px rgba(16,40,62,.06)}
#leadership-panel-ceo{background:var(--sand);border-color:rgba(230,121,47,.12);box-shadow:0 12px 30px rgba(16,40,62,.055)}
#leadership-panel-team{overflow:visible;margin-top:46px;border:0;border-radius:0;background:transparent;box-shadow:none}
.leadership-team-intro{max-width:780px;margin:0 0 24px}
.leadership-team-intro h3{margin:0 0 10px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.65rem,2.8vw,2.35rem);font-weight:500;line-height:1.12;letter-spacing:-.015em}
.leadership-team-intro p{margin:0;color:var(--muted);max-width:720px}
.ceo-message-grid{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);min-height:520px}
.ceo-portrait{margin:0;min-height:520px;overflow:hidden;background:#e8edf0}
.ceo-portrait img{width:100%;height:100%;object-fit:cover;object-position:center top}
.ceo-message-copy{display:flex;flex-direction:column;justify-content:center;padding:42px 46px;background:var(--sand)}
.leadership-kicker{display:block;margin-bottom:10px;color:var(--accent);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.ceo-message-copy h3{margin:0 0 16px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,3.6vw,3.15rem);font-weight:500;line-height:1.08;letter-spacing:-.02em}
.ceo-message-copy>p{margin:0 0 12px;color:var(--muted)}
.ceo-full-message{margin-top:10px;border-top:1px solid rgba(16,40,62,.12);border-bottom:1px solid rgba(16,40,62,.12)}
.ceo-full-message summary{padding:15px 0;color:var(--ink);font-size:.78rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase;cursor:pointer;list-style:none}
.ceo-full-message summary::-webkit-details-marker{display:none}
.ceo-full-message summary:after{content:'+';float:right;color:var(--accent);font-size:1.05rem}
.ceo-full-message[open] summary:after{content:'–'}
.ceo-letter{padding:2px 0 10px}
.ceo-letter p{margin:0 0 13px;color:var(--muted);font-size:.93rem}
.ceo-signoff{display:grid;gap:1px;margin-top:18px}
.ceo-signoff strong{font-family:Georgia,'Times New Roman',serif;font-size:1.18rem;font-weight:500}
.ceo-signoff span{color:var(--muted);font-size:.88rem}
.management-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;background:transparent}
.management-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(16,40,62,.08);border-radius:18px;background:#fff;box-shadow:0 12px 28px rgba(16,40,62,.05)}
.management-photo{aspect-ratio:4/5;overflow:hidden;background:#f4f7f8;border-bottom:1px solid rgba(16,40,62,.06)}
.management-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .3s ease}
.management-card:hover .management-photo img{transform:scale(1.025)}
.management-copy{padding:18px 16px 20px}
.management-copy h3{margin:0 0 5px;font-family:Georgia,'Times New Roman',serif;font-size:1.05rem;font-weight:500;line-height:1.2}
.management-copy p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.4}
@media(max-width:1100px){.management-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}}
@media(max-width:900px){.ceo-message-grid{grid-template-columns:1fr}.ceo-portrait{min-height:420px;max-height:520px}.ceo-message-copy{padding:34px 34px}}
@media(max-width:760px){#leadership-panel-team{margin-top:36px}.leadership-team-intro{margin-bottom:20px}.ceo-portrait{min-height:340px}.ceo-message-copy{padding:28px 22px}.management-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.management-copy{padding:14px 12px 17px}.management-copy h3{font-size:.98rem}.management-copy p{font-size:.76rem}}
@media(max-width:420px){.management-grid{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.management-photo img{transition:none}.management-card:hover .management-photo img{transform:none}}

/* Sri Lanka accommodation directory v1 */
.accommodation-page-hero{min-height:54vh;background-position:center center}
.accommodation-page-hero:after{background:rgba(0,0,0,.45)}
.accommodation-page-hero .inner{max-width:820px}
.accommodation-page-hero .inner>p{max-width:680px;margin:.75rem 0 0;color:rgba(255,255,255,.88);font-size:1.06rem}
.accommodation-intro{padding:72px 0;background:#fff}
.accommodation-intro-copy{max-width:860px;margin:0 auto 28px;text-align:center}
.accommodation-intro-copy h2{margin:.35rem 0 .85rem;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.05rem,3.7vw,3.25rem);font-weight:500;line-height:1.06;letter-spacing:-.02em}
.accommodation-intro-copy p{max-width:790px;margin:0 auto 10px;color:var(--muted);font-size:.98rem}
.accommodation-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:1160px;margin:0 auto}
.accommodation-benefits article{padding:20px 21px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 7px 20px rgba(16,40,62,.045)}
.accommodation-benefits article>span{display:block;margin-bottom:12px;color:var(--accent);font-size:.68rem;font-weight:800;letter-spacing:.1em}
.accommodation-benefits h3{margin:0 0 6px;font-family:Georgia,'Times New Roman',serif;font-size:1.16rem;font-weight:500}
.accommodation-benefits p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.55}
.accommodation-directory-section{background:var(--sand)}
.accommodation-directory-head{max-width:800px}
.hotel-filter-shell{position:sticky;top:0;z-index:18;margin-bottom:30px;padding:18px;border:1px solid rgba(16,40,62,.08);border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 12px 30px rgba(16,40,62,.07);backdrop-filter:blur(12px)}
.hotel-filter-grid{display:grid;grid-template-columns:minmax(240px,1.45fr) repeat(4,minmax(145px,1fr));gap:12px}
.hotel-filter-grid label{display:grid;gap:6px;min-width:0}
.hotel-filter-grid label>span{font-size:.69rem;font-weight:800;letter-spacing:.075em;text-transform:uppercase;color:var(--ink)}
.hotel-filter-grid input,.hotel-filter-grid select{width:100%;min-width:0;height:46px;padding:0 13px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);outline:none;transition:border-color .2s ease,box-shadow .2s ease}
.hotel-filter-grid input:focus,.hotel-filter-grid select:focus{border-color:rgba(230,121,47,.7);box-shadow:0 0 0 3px rgba(230,121,47,.10)}
.hotel-filter-grid input::placeholder{color:#8b949b}
.hotel-filter-meta{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:13px;padding-top:12px;border-top:1px solid rgba(16,40,62,.08)}
.hotel-filter-meta p{margin:0;color:var(--muted);font-size:.86rem;font-weight:600}
.hotel-clear-filters{border:0;background:transparent;color:var(--accent);font:inherit;font-size:.75rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase;cursor:pointer;padding:4px 0}
.hotel-clear-filters:hover,.hotel-clear-filters:focus-visible{color:var(--accent-dark);outline:none}
.hotel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.hotel-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid rgba(16,40,62,.09);border-radius:18px;background:#fff;box-shadow:0 9px 28px rgba(16,40,62,.055);transition:transform .25s ease,box-shadow .25s ease}
.hotel-card:hover{transform:translateY(-4px);box-shadow:0 17px 36px rgba(16,40,62,.10)}
.hotel-card-media{aspect-ratio:16/10;overflow:hidden;background:#e8edf0}
.hotel-card-media img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .35s ease}
.hotel-card:hover .hotel-card-media img{transform:scale(1.025)}
.hotel-card-media.is-missing{display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#e9eef1,#f7f3ed);color:var(--muted);text-align:center;font-family:Georgia,'Times New Roman',serif}
.hotel-card-body{display:flex;flex:1;flex-direction:column;padding:21px 21px 22px}
.hotel-card-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.065em;text-transform:uppercase}
.hotel-star-rating{color:#d97928;letter-spacing:.055em;white-space:nowrap}
.hotel-card h3{margin:0 0 5px;font-family:Georgia,'Times New Roman',serif;font-size:1.38rem;font-weight:500;line-height:1.16}
.hotel-card-type{margin:0 0 11px;color:var(--accent);font-size:.76rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase}
.hotel-card-description-wrap{margin:0 0 19px}
.hotel-card-description{display:-webkit-box;overflow:hidden;margin:0;color:var(--muted);font-size:.91rem;line-height:1.58;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.hotel-card-read-more{display:inline-flex;align-items:center;margin-top:7px;padding:0;border:0;background:transparent;color:var(--accent);font:inherit;font-size:.78rem;font-weight:700;cursor:pointer;transition:color .2s ease}
.hotel-card-read-more[hidden]{display:none}
.hotel-card-read-more:hover,.hotel-card-read-more:focus-visible{color:var(--accent-dark);outline:none;text-decoration:underline;text-underline-offset:3px}
.hotel-card-cta{align-self:flex-start;margin-top:auto;color:var(--ink);font-size:.75rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase;transition:color .2s ease,transform .2s ease}
.hotel-card-cta:hover,.hotel-card-cta:focus-visible{color:var(--accent);transform:translateX(2px);outline:none}

.hotel-detail-modal{width:min(680px,calc(100% - 32px));max-height:min(82vh,760px);padding:0;border:0;border-radius:20px;background:#fff;color:var(--ink);box-shadow:0 28px 80px rgba(7,23,37,.28);overflow:auto}
.hotel-detail-modal::backdrop{background:rgba(7,23,37,.58);backdrop-filter:blur(3px)}
.hotel-detail-modal-inner{position:relative;padding:34px 38px 36px}
.hotel-detail-close{position:absolute;top:17px;right:18px;width:38px;height:38px;border:1px solid rgba(16,40,62,.12);border-radius:50%;background:#fff;color:var(--ink);font:inherit;font-size:1.6rem;line-height:1;cursor:pointer;transition:border-color .2s ease,color .2s ease,background .2s ease}
.hotel-detail-close:hover,.hotel-detail-close:focus-visible{border-color:rgba(230,121,47,.45);background:var(--sand);color:var(--accent);outline:none}
.hotel-detail-meta{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-right:48px;color:var(--muted);font-size:.74rem;font-weight:800;letter-spacing:.065em;text-transform:uppercase}
.hotel-detail-modal h2{margin:14px 0 6px;padding-right:42px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.8rem,4vw,2.55rem);font-weight:500;line-height:1.12}
.hotel-detail-type{margin:0 0 21px;color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.hotel-detail-description{margin:0;color:var(--muted);font-size:1rem;line-height:1.72}
.hotel-detail-cta{display:inline-flex;margin-top:27px;color:var(--ink);font-size:.78rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase;transition:color .2s ease,transform .2s ease}
.hotel-detail-cta:hover,.hotel-detail-cta:focus-visible{color:var(--accent);transform:translateX(2px);outline:none}
.hotel-empty{padding:58px 24px;border:1px dashed rgba(16,40,62,.2);border-radius:18px;background:#fff;text-align:center}
.hotel-empty h3{margin:0 0 8px;font-family:Georgia,'Times New Roman',serif;font-size:1.7rem;font-weight:500}
.hotel-empty p{max-width:560px;margin:0 auto 20px;color:var(--muted)}
.hotel-load-more-wrap{display:grid;justify-items:center;gap:8px;margin-top:34px}
.hotel-load-more-wrap p{margin:0}
.accommodation-help-cta{padding:70px 0;background:#fff}
.accommodation-help-inner{display:flex;align-items:center;justify-content:space-between;gap:38px}
.accommodation-help-inner>div{max-width:760px}
.accommodation-help-inner h2{margin:.35rem 0 .8rem;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:500;line-height:1.08}
.accommodation-help-inner p{margin:0;color:var(--muted)}
@media(max-width:1180px){.hotel-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hotel-search-field{grid-column:span 2}.hotel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.hotel-filter-shell{top:0}.accommodation-benefits{grid-template-columns:1fr 1fr}.accommodation-help-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.hotel-detail-modal-inner{padding:30px 24px 28px}.hotel-detail-meta{align-items:flex-start;flex-direction:column;gap:5px}.accommodation-page-hero{min-height:44vh;background-position:center}.accommodation-page-hero .inner{padding-bottom:48px}.accommodation-intro{padding:54px 0}.accommodation-directory-section{padding:62px 0}.accommodation-benefits{grid-template-columns:1fr}.hotel-filter-shell{position:static;padding:15px}.hotel-filter-grid{grid-template-columns:1fr 1fr}.hotel-search-field{grid-column:1/-1}.hotel-filter-grid label:last-child{grid-column:1/-1}.hotel-grid{grid-template-columns:1fr;gap:18px}.hotel-filter-meta{align-items:flex-start}.hotel-card-body{padding:19px}.accommodation-help-cta{padding:58px 0}.accommodation-help-inner .btn{width:100%}}
@media(max-width:480px){.hotel-filter-grid{grid-template-columns:1fr}.hotel-search-field,.hotel-filter-grid label:last-child{grid-column:auto}.hotel-filter-meta{flex-direction:column;gap:5px}.hotel-card-meta{align-items:flex-start;flex-direction:column;gap:4px}}
@media(prefers-reduced-motion:reduce){.hotel-card,.hotel-card-media img,.hotel-card-read-more,.hotel-card-cta,.hotel-detail-close,.hotel-detail-cta{transition:none}.hotel-card:hover{transform:none}.hotel-card:hover .hotel-card-media img{transform:none}}


/* Maldives Accommodation */
.maldives-accommodation-page main{
  --accent:#0878bd;
  --accent-dark:#06669f;
}
.maldives-accommodation-page .accommodation-directory-section{
  background:#f3f7fa;
}
.maldives-accommodation-page .hotel-star-rating{
  color:#0878bd;
}
.maldives-accommodation-page .hotel-detail-modal{
  --accent:#0878bd;
  --accent-dark:#06669f;
}
.maldives-accommodation-page .hotel-detail-modal .hotel-star-rating{
  color:#0878bd;
}


/* Accommodation destination switch */
.destination-switch{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:-10px 0 18px;color:var(--muted);font-size:.9rem}
.destination-switch-btn{padding:10px 15px;border-radius:999px;font-size:.84rem;white-space:nowrap}
.maldives-accommodation-page .destination-switch-btn{border-color:#0878bd;color:#0878bd}
.maldives-accommodation-page .destination-switch-btn:hover{background:#0878bd;color:#fff}
@media(max-width:760px){.destination-switch{align-items:flex-start;justify-content:flex-start;flex-direction:column;gap:8px;margin:-4px 0 16px}.destination-switch-btn{width:auto}}

/* Sri Lanka Destinations — scroll-led interactive map */
.destinations-page{background:#f6f3ed}
.destination-story{position:relative;background:
  radial-gradient(circle at 52% 42%,rgba(255,255,255,.96) 0,rgba(250,248,243,.92) 34%,rgba(243,239,231,.96) 72%,#eee8dd 100%);color:var(--ink)}
.destination-stage{position:sticky;top:92px;z-index:5;height:calc(100vh - 92px);min-height:620px;overflow:hidden}
.destination-stage-inner{position:relative;width:100%;height:100%;overflow:hidden}
.destination-stage-inner:before{content:'';position:absolute;inset:0;background-image:
  linear-gradient(rgba(16,40,62,.025) 1px,transparent 1px),
  linear-gradient(90deg,rgba(16,40,62,.025) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(circle at center,#000 15%,transparent 78%);pointer-events:none}
.destination-story-copy{position:absolute;z-index:8;top:7.5%;left:max(6vw,64px);max-width:470px;pointer-events:none}
.destination-story-kicker{display:block;margin-bottom:12px}
.destination-story-copy h1{margin:0 0 14px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.35rem,4.1vw,4.8rem);font-weight:500;line-height:.98;letter-spacing:-.035em}
.destination-story-copy p{max-width:455px;margin:0;color:rgba(16,40,62,.68);font-size:clamp(.94rem,1.2vw,1.05rem);line-height:1.62}
.destination-scene-meta{display:flex;align-items:center;gap:9px;margin-top:17px;color:var(--accent);font-size:.71rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.destination-stage-cta{margin-top:24px;pointer-events:auto}
.destination-stage-cta[hidden]{display:none!important}
.destination-map-zone{position:absolute;inset:0;z-index:2}
.destination-map-frame{position:absolute;z-index:2;left:50%;top:50%;width:min(43vw,600px);height:min(78vh,760px);transform:translate3d(0,0,0) scale(.96);transform-origin:center center;translate:-50% -47%;transition:transform .86s cubic-bezier(.2,.78,.2,1);will-change:transform}
.destination-map{display:block;width:100%;height:100%;overflow:visible}
.destination-island-shape{fill:url(#destinationLandGradient);stroke:rgba(16,40,62,.27);stroke-width:1.35;vector-effect:non-scaling-stroke}
.destination-island-secondary{fill:#f0ece3;stroke-opacity:.2}
.destination-map-terrain{pointer-events:none}
.destination-map-focus{fill:rgba(230,121,47,.10);stroke:rgba(230,121,47,.18);stroke-width:1.2;opacity:0;transform-origin:center;transition:opacity .36s ease,rx .7s ease,ry .7s ease,cx .7s ease,cy .7s ease}
.destination-map-focus.is-visible{opacity:1}
.destination-marker{opacity:0;pointer-events:none;cursor:pointer;transform-box:fill-box;transform-origin:center;transition:opacity .26s ease}
.destination-marker.is-active{opacity:1;pointer-events:auto}
.destination-marker-hit{fill:transparent}
.destination-marker-ring{fill:rgba(230,121,47,.12);stroke:rgba(230,121,47,.72);stroke-width:1.4;vector-effect:non-scaling-stroke;transition:transform .2s ease,fill .2s ease,stroke .2s ease}
.destination-marker-core{fill:var(--accent);stroke:#fff;stroke-width:1.6;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 5px rgba(16,40,62,.16));transition:transform .2s ease,fill .2s ease}
.destination-marker.is-hovered .destination-marker-ring,.destination-marker.is-selected .destination-marker-ring{transform:scale(1.35);fill:rgba(230,121,47,.22);stroke:var(--accent)}
.destination-marker.is-hovered .destination-marker-core,.destination-marker.is-selected .destination-marker-core{transform:scale(1.18);fill:var(--accent-dark)}
.destination-marker:focus-visible .destination-marker-ring{stroke:#10283e;stroke-width:2.4}
.destination-label-layer{position:absolute;inset:0;z-index:6;pointer-events:none}
.destination-map-label{--label-top-min:31%;position:absolute;top:52%;width:min(24vw,310px);padding:10px 0;border:0;background:transparent;color:var(--ink);cursor:pointer;pointer-events:auto;opacity:1;transition:opacity .22s ease,color .22s ease,transform .22s ease}
.destination-map-label-left{left:max(5.8vw,66px);text-align:right}
.destination-map-label-right{right:max(7vw,112px);text-align:left}
.destination-map-label strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.04rem,1.5vw,1.4rem);font-weight:500;line-height:1.15}
.destination-map-label span{display:block;margin-top:4px;color:rgba(16,40,62,.52);font-size:.64rem;font-weight:800;letter-spacing:.075em;text-transform:uppercase}
.destination-map-label:hover,.destination-map-label:focus-visible,.destination-map-label.is-hovered,.destination-map-label.is-selected{color:var(--accent-dark);transform:translateY(-1px)}
.destination-map-label:focus-visible{outline:2px solid rgba(230,121,47,.4);outline-offset:5px;border-radius:6px}
.destination-connector-layer{position:absolute;inset:0;z-index:4;width:100%;height:100%;overflow:visible;pointer-events:none}
.destination-connector{fill:none;stroke:rgba(16,40,62,.30);stroke-width:1;stroke-linecap:round;transition:stroke-dashoffset .58s cubic-bezier(.2,.75,.25,1),stroke .2s ease,opacity .2s ease}
.destination-connector.is-hovered,.destination-connector.is-selected{stroke:rgba(230,121,47,.78);stroke-width:1.35}
.destination-stage.is-panel-open .destination-map-label:not(.is-selected){opacity:.14}
.destination-stage.is-panel-open .destination-connector:not(.is-selected){opacity:.12}
.destination-stage.is-panel-open .destination-marker:not(.is-selected){opacity:.25}
.destination-scroll-cue{position:absolute;z-index:7;left:50%;bottom:5.5%;display:flex;align-items:center;gap:10px;transform:translateX(-50%);color:rgba(16,40,62,.47);font-size:.64rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;transition:opacity .3s ease}
.destination-scroll-cue.is-hidden{opacity:0}
.destination-scroll-cue i{position:relative;display:block;width:1px;height:34px;background:rgba(16,40,62,.18);overflow:hidden}
.destination-scroll-cue i:after{content:'';position:absolute;left:0;top:-40%;width:1px;height:40%;background:var(--accent);animation:destinationScrollCue 1.6s ease-in-out infinite}
@keyframes destinationScrollCue{0%{transform:translateY(0)}75%,100%{transform:translateY(350%)}}
.destination-chapter-nav{position:absolute;z-index:10;right:18px;left:auto;top:50%;display:grid;gap:8px;width:82px;transform:translateY(-50%);justify-items:end}
.destination-chapter-button{display:grid;grid-template-columns:auto 22px 12px;align-items:center;justify-content:end;gap:7px;width:100%;min-height:27px;padding:0;border:0;background:transparent;color:rgba(16,40,62,.38);cursor:pointer;text-align:right}
.destination-chapter-button span{font-size:.56rem;font-weight:800;letter-spacing:.08em}
.destination-chapter-button i{display:block;width:5px;height:5px;border-radius:50%;background:currentColor;transition:transform .2s ease,background .2s ease}
.destination-chapter-button b{justify-self:end;max-width:0;overflow:hidden;opacity:0;white-space:nowrap;font-size:.61rem;font-weight:800;letter-spacing:.065em;text-transform:uppercase;transition:max-width .28s ease,opacity .22s ease,color .2s ease}
.destination-chapter-button:hover b,.destination-chapter-button:focus-visible b{max-width:280px;opacity:1;background:rgba(246,243,237,.96);box-shadow:0 0 0 5px rgba(246,243,237,.96);border-radius:2px}
.destination-chapter-button.is-active{color:var(--accent)}
.destination-chapter-button.is-active span{font-weight:900}
.destination-chapter-button.is-active i{transform:scale(1.8)}
.destination-chapter-button:focus-visible{outline:2px solid rgba(230,121,47,.3);outline-offset:5px;border-radius:4px}
.destination-detail-panel{position:absolute;z-index:20;top:22px;right:22px;bottom:22px;width:min(390px,36vw);overflow:auto;border:1px solid rgba(16,40,62,.1);border-radius:20px;background:rgba(255,255,255,.97);box-shadow:0 24px 70px rgba(16,40,62,.20);backdrop-filter:blur(16px);transform:translateX(calc(100% + 44px));visibility:hidden;transition:transform .46s cubic-bezier(.2,.78,.2,1),visibility 0s linear .46s}
.destination-detail-panel.is-open{transform:translateX(0);visibility:visible;transition-delay:0s}
.destination-panel-close{position:absolute;z-index:3;top:12px;right:12px;width:38px;height:38px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(6,22,36,.72);color:#fff;font-size:1.55rem;line-height:1;cursor:pointer;backdrop-filter:blur(8px)}
.destination-panel-close:hover,.destination-panel-close:focus-visible{background:var(--accent);outline:none}
.destination-panel-media{position:relative;min-height:220px;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(145deg,#d8ded8,#eef1ec)}
.destination-panel-media img{width:100%;height:100%;object-fit:cover;opacity:1;transition:opacity .2s ease}
.destination-panel-media.is-missing img{opacity:0}
.destination-panel-image-placeholder{position:absolute;inset:0;display:none;place-items:center;align-content:center;gap:6px;padding:30px;text-align:center;color:rgba(16,40,62,.54);background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.55),transparent 52%)}
.destination-panel-media.is-missing .destination-panel-image-placeholder{display:grid}
.destination-panel-image-placeholder span{font-family:Georgia,'Times New Roman',serif;font-size:1.2rem;color:var(--ink)}
.destination-panel-image-placeholder small{max-width:220px;font-size:.76rem;line-height:1.45}
.destination-panel-body{padding:27px 28px 30px}
.destination-panel-category{display:block;margin-bottom:8px;color:var(--accent);font-size:.64rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.destination-panel-body h2{margin:0 0 6px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.8rem,2.5vw,2.6rem);font-weight:500;line-height:1.03;letter-spacing:-.02em}
.destination-panel-known{margin:0 0 18px;color:rgba(16,40,62,.52);font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.destination-panel-description{margin:0;color:var(--muted);font-size:.93rem;line-height:1.65}
.destination-panel-distinctive,.destination-panel-experiences{margin-top:22px;padding-top:20px;border-top:1px solid rgba(16,40,62,.09)}
.destination-panel-distinctive>span,.destination-panel-experiences>span{display:block;margin-bottom:8px;color:var(--ink);font-size:.63rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.destination-panel-distinctive p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.55}
.destination-experience-tags{display:flex;flex-wrap:wrap;gap:7px}
.destination-experience-tags span{padding:7px 10px;border:1px solid rgba(230,121,47,.16);border-radius:999px;background:#fff6ee;color:#6b452c;font-size:.67rem;font-weight:700}
.destination-scroll-track{position:relative;z-index:1;width:1px;margin-left:auto;pointer-events:none}
.destination-scroll-step{height:52vh;min-height:330px}
.destination-scroll-step-opening{height:46vh}
.destination-scroll-step-closing{height:64vh}
.destination-planning-cta{background:#fff}
.destination-planning-inner{display:flex;align-items:end;justify-content:space-between;gap:40px}
.destination-planning-inner>div{max-width:720px}
.destination-planning-inner h2{margin:.35rem 0 .75rem;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:500;line-height:1.05}
.destination-planning-inner p{margin:0;color:var(--muted)}

@media(max-width:1180px){
  .destination-story-copy{left:60px;max-width:400px}
  .destination-map-frame{width:min(47vw,560px)}
  .destination-map-label{width:25vw}
  .destination-map-label-left{left:54px}.destination-map-label-right{right:96px}
  .destination-chapter-nav{right:14px;width:68px}
  .destination-chapter-button b{display:none}
}
@media(max-width:900px){
  .destination-story-copy{top:5.5%;left:48px;max-width:360px}
  .destination-story-copy h1{font-size:clamp(2.1rem,5vw,3.7rem)}
  .destination-map-frame{width:min(52vw,500px);height:min(70vh,690px);translate:-50% -43%}
  .destination-map-label{width:27vw}
  .destination-map-label-left{left:45px}.destination-map-label-right{right:88px}
  .destination-map-label span{display:none}
  .destination-detail-panel{width:min(370px,44vw)}
}
@media(max-width:760px){
  .destination-stage{top:70px;height:calc(100svh - 70px);min-height:610px}
  .destination-stage-inner:before{background-size:34px 34px}
  .destination-story-copy{top:4.4%;left:20px;right:20px;max-width:none;text-align:left}
  .destination-story-copy h1{max-width:430px;margin-bottom:8px;font-size:clamp(2rem,9vw,3rem)}
  .destination-story-copy p{max-width:540px;font-size:.88rem;line-height:1.48}
  .destination-scene-meta{margin-top:10px;font-size:.61rem}
  .destination-map-frame{left:50%;top:53%;width:min(70vw,340px);height:min(55vh,520px);translate:-50% -42%}
  .destination-map-focus{display:none}
  .destination-connector-layer{display:none}
  .destination-label-layer{left:14px;right:14px;top:auto;bottom:44px;display:flex;gap:8px;overflow-x:auto;overscroll-behavior-inline:contain;padding:8px 3px 7px;scrollbar-width:none;pointer-events:auto}
  .destination-label-layer::-webkit-scrollbar{display:none}
  .destination-map-label{position:relative!important;top:auto!important;left:auto!important;right:auto!important;flex:0 0 auto;width:auto;max-width:230px;padding:10px 13px;border:1px solid rgba(16,40,62,.1);border-radius:999px;background:rgba(255,255,255,.90);box-shadow:0 5px 16px rgba(16,40,62,.07);text-align:left!important;backdrop-filter:blur(8px)}
  .destination-map-label strong{font-family:Arial,Helvetica,sans-serif;font-size:.75rem;font-weight:700;white-space:nowrap}
  .destination-map-label span{display:none}
  .destination-chapter-nav{right:8px;left:auto;top:56%;gap:6px;width:44px}
  .destination-chapter-button{grid-template-columns:16px 8px;gap:3px}
  .destination-chapter-button b{display:none}.destination-chapter-button span{font-size:.48rem}.destination-chapter-button i{width:4px;height:4px}
  .destination-scroll-cue{bottom:18px}
  .destination-detail-panel{top:auto;left:10px;right:10px;bottom:10px;width:auto;max-height:76%;border-radius:20px;transform:translateY(calc(100% + 22px));transition:transform .42s cubic-bezier(.2,.78,.2,1),visibility 0s linear .42s}
  .destination-detail-panel.is-open{transform:translateY(0);transition-delay:0s}
  .destination-panel-media{min-height:160px;aspect-ratio:16/8}
  .destination-panel-body{padding:22px 21px 24px}
  .destination-panel-body h2{font-size:2rem}
  .destination-scroll-step{height:58vh;min-height:390px}
  .destination-scroll-step-opening{height:52vh}.destination-scroll-step-closing{height:68vh}
  .destination-planning-inner{align-items:flex-start;flex-direction:column}.destination-planning-inner .btn{width:100%}
}
@media(max-width:480px){
  .destination-story-copy p{max-width:94%}
  .destination-map-frame{width:min(78vw,330px);height:min(51vh,480px);top:55%}
  .destination-chapter-nav{display:none}
  .destination-map-label{max-width:205px}
}
@media(prefers-reduced-motion:reduce){
  .destination-map-frame,.destination-map-focus,.destination-map-label,.destination-connector,.destination-detail-panel{transition:none!important}
  .destination-scroll-cue i:after{animation:none}
}

/* Sri Lanka Destinations v4 — premium atlas refinement */
.destination-story{background:#f6f3ed}
.destination-stage-inner{background-color:#f6f3ed;transition:background-color 1.05s ease}
.destination-stage-inner:before{z-index:0}
.destination-stage-inner:after{content:'';position:absolute;z-index:0;inset:0;pointer-events:none;background:radial-gradient(circle at 51% 48%,rgba(255,255,255,.55) 0,rgba(255,255,255,.16) 38%,transparent 72%)}
.destination-story[data-map-theme="western"] .destination-stage-inner{background-color:#f0f4f2}
.destination-story[data-map-theme="southern"] .destination-stage-inner{background-color:#f5f0e7}
.destination-story[data-map-theme="east"] .destination-stage-inner{background-color:#eef4f3}
.destination-story[data-map-theme="cultural"] .destination-stage-inner{background-color:#f4ede3}
.destination-story[data-map-theme="hill"] .destination-stage-inner{background-color:#edf1e8}
.destination-story[data-map-theme="wildlife"] .destination-stage-inner{background-color:#ecefe5}
.destination-story[data-map-theme="north"] .destination-stage-inner{background-color:#f2ede7}

/* Surrounding sea and physical geography */
.destination-map-sea{opacity:.11;transition:opacity .8s ease}
.destination-ocean-lines{fill:none;stroke:rgba(78,121,130,.28);stroke-width:1;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.07;transition:opacity .8s ease}
.destination-story[data-map-theme="western"] .destination-map-sea,
.destination-story[data-map-theme="southern"] .destination-map-sea,
.destination-story[data-map-theme="east"] .destination-map-sea,
.destination-story[data-map-theme="north"] .destination-map-sea{opacity:.26}
.destination-story[data-map-theme="western"] .destination-ocean-lines,
.destination-story[data-map-theme="southern"] .destination-ocean-lines,
.destination-story[data-map-theme="east"] .destination-ocean-lines,
.destination-story[data-map-theme="north"] .destination-ocean-lines{opacity:.24}

.destination-highland-wash{opacity:.10;transition:opacity .8s ease}
.destination-relief-band{fill:rgba(126,148,117,.08);stroke:none;opacity:.08;transition:opacity .8s ease,fill .8s ease}
.destination-relief-band-mid{fill:rgba(112,137,105,.08)}
.destination-relief-band-core{fill:rgba(96,123,91,.08)}
.destination-contour-lines{fill:none;stroke:rgba(61,87,57,.35);stroke-width:.8;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.035;transition:opacity .8s ease}
.destination-story[data-map-theme="hill"] .destination-highland-wash{opacity:.78}
.destination-story[data-map-theme="hill"] .destination-relief-band{opacity:.78;fill:rgba(112,139,104,.12)}
.destination-story[data-map-theme="hill"] .destination-relief-band-mid{fill:rgba(95,125,90,.12)}
.destination-story[data-map-theme="hill"] .destination-relief-band-core{fill:rgba(79,111,75,.13)}
.destination-story[data-map-theme="hill"] .destination-contour-lines{opacity:.28}
.destination-story[data-map-theme="wildlife"] .destination-highland-wash{opacity:.27}
.destination-story[data-map-theme="wildlife"] .destination-relief-band{opacity:.22}

.destination-water-body{fill:rgba(105,157,169,.44);stroke:rgba(83,132,144,.38);stroke-width:.7;vector-effect:non-scaling-stroke;opacity:.045;transition:opacity .75s ease}
.destination-story[data-map-theme="cultural"] .destination-water-body.detail-cultural,
.destination-story[data-map-theme="hill"] .destination-water-body.detail-hill,
.destination-story[data-map-theme="wildlife"] .destination-water-body.detail-wildlife{opacity:.34}

/* Restrained landmark / nature line art. Only the active chapter's cues gain presence. */
.destination-map-symbol{color:rgba(16,40,62,.68);fill:none;stroke:currentColor;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:.018;transition:opacity .75s ease,color .75s ease}
.destination-map-symbol ellipse,.destination-map-symbol circle,.destination-map-symbol path,.destination-map-symbol line{fill:none;stroke:currentColor;vector-effect:non-scaling-stroke}
.destination-story[data-map-theme="western"] .destination-map-symbol.detail-western{opacity:.20;color:rgba(65,111,121,.82)}
.destination-story[data-map-theme="southern"] .destination-map-symbol.detail-southern{opacity:.20;color:rgba(119,89,62,.76)}
.destination-story[data-map-theme="east"] .destination-map-symbol.detail-east{opacity:.22;color:rgba(63,116,127,.82)}
.destination-story[data-map-theme="cultural"] .destination-map-symbol.detail-cultural{opacity:.23;color:rgba(144,91,54,.82)}
.destination-story[data-map-theme="hill"] .destination-map-symbol.detail-hill{opacity:.21;color:rgba(75,105,72,.84)}
.destination-story[data-map-theme="wildlife"] .destination-map-symbol.detail-wildlife{opacity:.23;color:rgba(73,102,69,.84)}
.destination-story[data-map-theme="north"] .destination-map-symbol.detail-north{opacity:.20;color:rgba(121,91,68,.80)}

/* A very faint itinerary trace appears only for chapters that read as a geographic journey. */
.destination-map-journey path{fill:none;stroke:rgba(16,40,62,.34);stroke-width:1;stroke-linecap:round;stroke-dasharray:2 9;vector-effect:non-scaling-stroke;opacity:0;transition:opacity .65s ease}
.destination-map-journey path.is-visible{opacity:.18}
.destination-story[data-map-theme="western"] .destination-map-journey path.is-visible,
.destination-story[data-map-theme="east"] .destination-map-journey path.is-visible{stroke:rgba(61,111,121,.42)}
.destination-story[data-map-theme="southern"] .destination-map-journey path.is-visible{stroke:rgba(118,88,60,.36)}
.destination-story[data-map-theme="hill"] .destination-map-journey path.is-visible{stroke:rgba(72,103,68,.38)}

/* Softer chapter focus: no hard oval border, just a diffuse EGH-colour glow. */
.destination-map-focus{stroke:none!important;opacity:0;transition:opacity .45s ease,rx .7s ease,ry .7s ease,cx .7s ease,cy .7s ease}
.destination-map-focus.is-visible{opacity:.72}

/* Marker hierarchy: active diamond -> previous scene diamond -> faint earlier chapter trace. */
.destination-marker{opacity:0;pointer-events:none;cursor:pointer;transition:opacity .28s ease}
.destination-marker-hit{fill:transparent}
.destination-marker-halo{fill:rgba(230,121,47,.06);stroke:rgba(230,121,47,.30);stroke-width:1;vector-effect:non-scaling-stroke;opacity:0;transform-box:fill-box;transform-origin:center;transition:opacity .2s ease,transform .2s ease,stroke .2s ease}
.destination-marker-symbol{fill:var(--accent);stroke:rgba(255,255,255,.95);stroke-width:1.15;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1.5px 3px rgba(16,40,62,.18));transform-box:fill-box;transform-origin:center;transition:transform .2s ease,fill .2s ease,stroke .2s ease,opacity .24s ease}
.destination-marker.is-active{opacity:1;pointer-events:auto}
.destination-marker.is-active .destination-marker-symbol{transform:scale(1);fill:var(--accent)}
.destination-marker.is-visited{opacity:.40;pointer-events:auto}
.destination-marker.is-visited .destination-marker-symbol{transform:scale(.48);fill:#9b7d67;stroke:rgba(255,255,255,.55);filter:none}
.destination-marker.is-past-category{opacity:.16;pointer-events:auto}
.destination-marker.is-past-category .destination-marker-symbol{transform:scale(.30);fill:#62717b;stroke:none;filter:none}
.destination-marker.is-hidden-marker{opacity:0!important;pointer-events:none!important}
.destination-marker.is-hovered,.destination-marker.is-selected{opacity:1}
.destination-marker.is-hovered .destination-marker-halo,.destination-marker.is-selected .destination-marker-halo{opacity:1;transform:scale(1.08);stroke:rgba(230,121,47,.48)}
.destination-marker.is-hovered .destination-marker-symbol,.destination-marker.is-selected .destination-marker-symbol{transform:scale(1.18);fill:var(--accent-dark);stroke:#fff}
.destination-marker:focus-visible .destination-marker-halo{opacity:1;stroke:#10283e;stroke-width:1.8}
.destination-stage.is-panel-open .destination-marker:not(.is-selected){opacity:.10}

@keyframes destinationMarkerArrive{0%{opacity:0;transform:scale(.55) rotate(45deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
.destination-marker.is-active .destination-marker-symbol{animation:destinationMarkerArrive .34s cubic-bezier(.2,.78,.2,1)}

@media(max-width:760px){
  .destination-map-symbol{opacity:.01}
  .destination-story[data-map-theme] .destination-map-symbol{opacity:.10}
  .destination-map-journey path.is-visible{opacity:.10}
  .destination-ocean-lines{opacity:.05}
  .destination-story[data-map-theme="western"] .destination-ocean-lines,
  .destination-story[data-map-theme="southern"] .destination-ocean-lines,
  .destination-story[data-map-theme="east"] .destination-ocean-lines,
  .destination-story[data-map-theme="north"] .destination-ocean-lines{opacity:.12}
  .destination-contour-lines{display:none}
  .destination-marker.is-past-category{opacity:.10}
}
@media(prefers-reduced-motion:reduce){
  .destination-stage-inner,.destination-map-sea,.destination-ocean-lines,.destination-highland-wash,.destination-relief-band,.destination-contour-lines,.destination-water-body,.destination-map-symbol,.destination-map-journey path,.destination-marker,.destination-marker-symbol,.destination-marker-halo{transition:none!important;animation:none!important}
}
.destination-map-focus{fill:url(#destinationFocusGlow)!important;filter:url(#destinationFocusBlur)}

/* Sri Lanka Destinations v5 — cumulative atlas + motion polish */
/* Keep the injected header itself constrained by its wrapper, so the entire
   header assembly remains sticky instead of the child exhausting its tiny
   data-header containing block. */
.destinations-page [data-header]{position:sticky;top:0;z-index:80;background:#fff}
.destinations-page .site-header{position:relative;top:auto;z-index:1}

/* Smoother scene motion without changing the map composition. */
.destination-map-frame{
  transition:transform 1.12s cubic-bezier(.22,.82,.22,1);
  will-change:transform;
  backface-visibility:hidden;
  isolation:isolate;
}
.destination-map-frame:before{
  content:'';
  position:absolute;
  z-index:-1;
  inset:-7% -10%;
  border-radius:48%;
  pointer-events:none;
  background:radial-gradient(ellipse at 50% 49%,rgba(189,211,215,.28) 0%,rgba(190,214,218,.19) 43%,rgba(171,204,210,.095) 62%,transparent 80%);
  opacity:.72;
  transition:opacity 1.1s ease,background 1.1s ease;
}
.destination-stage-inner{transition:background-color 1.28s cubic-bezier(.22,.72,.24,1)}
.destination-map-focus{transition:opacity .62s ease,rx .92s cubic-bezier(.22,.8,.22,1),ry .92s cubic-bezier(.22,.8,.22,1),cx .92s cubic-bezier(.22,.8,.22,1),cy .92s cubic-bezier(.22,.8,.22,1)}
.destination-map-label{transition:opacity .32s ease,color .24s ease,transform .32s cubic-bezier(.22,.8,.22,1);will-change:opacity,transform}
.destination-connector{transition:stroke-dashoffset .68s cubic-bezier(.22,.78,.24,1),stroke .24s ease,opacity .3s ease}
.destination-detail-panel{transition:transform .54s cubic-bezier(.22,.82,.22,1),visibility 0s linear .54s;will-change:transform}
.destination-detail-panel.is-open{transition-delay:0s}
.destination-panel-media img{transition:opacity .32s ease}

/* Make the surrounding ocean read clearly as water while keeping the atlas
   muted. Coastal chapters strengthen it; inland chapters retain a quieter wash. */
.destination-map-sea{opacity:.36;transition:opacity 1s ease}
.destination-ocean-lines{stroke:rgba(74,121,132,.34);stroke-width:1.05;opacity:.19;transition:opacity 1s ease,stroke 1s ease}
.destination-story[data-map-theme="western"] .destination-map-sea,
.destination-story[data-map-theme="southern"] .destination-map-sea,
.destination-story[data-map-theme="east"] .destination-map-sea,
.destination-story[data-map-theme="north"] .destination-map-sea{opacity:.58}
.destination-story[data-map-theme="western"] .destination-ocean-lines,
.destination-story[data-map-theme="southern"] .destination-ocean-lines,
.destination-story[data-map-theme="east"] .destination-ocean-lines,
.destination-story[data-map-theme="north"] .destination-ocean-lines{opacity:.34;stroke:rgba(65,116,128,.42)}
.destination-story[data-map-theme="cultural"] .destination-map-sea,
.destination-story[data-map-theme="hill"] .destination-map-sea,
.destination-story[data-map-theme="wildlife"] .destination-map-sea{opacity:.30}
.destination-story[data-map-theme="cultural"] .destination-ocean-lines,
.destination-story[data-map-theme="hill"] .destination-ocean-lines,
.destination-story[data-map-theme="wildlife"] .destination-ocean-lines{opacity:.14}

/* Previously visited points remain readable but secondary. */
.destination-marker{transition:opacity .42s ease}
.destination-marker-symbol{transition:transform .34s cubic-bezier(.22,.8,.22,1),fill .34s ease,stroke .34s ease,opacity .34s ease}
.destination-marker.is-visited{opacity:.58}
.destination-marker.is-visited .destination-marker-symbol{transform:scale(.58);fill:#a06f51;stroke:rgba(255,255,255,.72);stroke-width:1;filter:none}
.destination-marker.is-past-category{opacity:.34}
.destination-marker.is-past-category .destination-marker-symbol{transform:scale(.41);fill:#7c756d;stroke:rgba(255,255,255,.38);stroke-width:.7;filter:none}
.destination-marker.is-hovered,.destination-marker.is-selected{opacity:1}
.destination-stage.is-panel-open .destination-marker:not(.is-selected){opacity:.14}
@keyframes destinationMarkerArrive{0%{opacity:0;transform:scale(.68) rotate(45deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
.destination-marker.is-active .destination-marker-symbol{animation-duration:.42s;animation-timing-function:cubic-bezier(.22,.82,.22,1)}

/* Cumulative atlas behaviour. Once a chapter has been revealed, its small
   cartographic drawings stay on the map in a quieter background state. */
.destination-map-symbol{opacity:.006;transition:opacity 1s ease,color 1s ease}
.destination-story.has-revealed-western .destination-map-symbol.detail-western{opacity:.085;color:rgba(76,111,116,.64)}
.destination-story.has-revealed-southern .destination-map-symbol.detail-southern{opacity:.085;color:rgba(116,91,70,.61)}
.destination-story.has-revealed-east .destination-map-symbol.detail-east{opacity:.09;color:rgba(71,114,122,.64)}
.destination-story.has-revealed-cultural .destination-map-symbol.detail-cultural{opacity:.095;color:rgba(128,92,67,.64)}
.destination-story.has-revealed-hill .destination-map-symbol.detail-hill{opacity:.095;color:rgba(80,105,76,.66)}
.destination-story.has-revealed-wildlife .destination-map-symbol.detail-wildlife{opacity:.10;color:rgba(75,100,71,.67)}
.destination-story.has-revealed-north .destination-map-symbol.detail-north{opacity:.09;color:rgba(116,91,72,.63)}
/* Active chapter remains the strongest layer. */
.destination-story[data-map-theme="western"] .destination-map-symbol.detail-western{opacity:.23;color:rgba(65,111,121,.84)}
.destination-story[data-map-theme="southern"] .destination-map-symbol.detail-southern{opacity:.23;color:rgba(119,89,62,.80)}
.destination-story[data-map-theme="east"] .destination-map-symbol.detail-east{opacity:.25;color:rgba(63,116,127,.85)}
.destination-story[data-map-theme="cultural"] .destination-map-symbol.detail-cultural{opacity:.26;color:rgba(144,91,54,.85)}
.destination-story[data-map-theme="hill"] .destination-map-symbol.detail-hill{opacity:.24;color:rgba(75,105,72,.86)}
.destination-story[data-map-theme="wildlife"] .destination-map-symbol.detail-wildlife{opacity:.26;color:rgba(73,102,69,.86)}
.destination-story[data-map-theme="north"] .destination-map-symbol.detail-north{opacity:.23;color:rgba(121,91,68,.82)}

/* Physical details also accumulate softly, so the closing map feels completed. */
.destination-story.has-revealed-cultural .destination-water-body.detail-cultural{opacity:.14}
.destination-story.has-revealed-hill .destination-water-body.detail-hill{opacity:.14}
.destination-story.has-revealed-wildlife .destination-water-body.detail-wildlife{opacity:.15}
.destination-story.has-revealed-hill .destination-highland-wash{opacity:.24}
.destination-story.has-revealed-hill .destination-relief-band{opacity:.20}
.destination-story.has-revealed-hill .destination-contour-lines{opacity:.09}
/* Active states stay stronger than the retained atlas state. */
.destination-story[data-map-theme="cultural"] .destination-water-body.detail-cultural,
.destination-story[data-map-theme="hill"] .destination-water-body.detail-hill,
.destination-story[data-map-theme="wildlife"] .destination-water-body.detail-wildlife{opacity:.36}
.destination-story[data-map-theme="hill"] .destination-highland-wash{opacity:.78}
.destination-story[data-map-theme="hill"] .destination-relief-band{opacity:.78}
.destination-story[data-map-theme="hill"] .destination-contour-lines{opacity:.28}

/* Small compositor hints help prevent visible hitching on long scroll scenes. */
.destination-stage-inner,.destination-map-zone,.destination-map,.destination-detail-panel{transform:translateZ(0)}
.destination-label-layer,.destination-connector-layer{contain:layout style}

@media(max-width:760px){
  .destinations-page [data-header]{top:0}
  .destination-map-frame:before{inset:-5% -8%;opacity:.60}
  .destination-map-sea{opacity:.31}
  .destination-ocean-lines{opacity:.13}
  .destination-story[data-map-theme="western"] .destination-ocean-lines,
  .destination-story[data-map-theme="southern"] .destination-ocean-lines,
  .destination-story[data-map-theme="east"] .destination-ocean-lines,
  .destination-story[data-map-theme="north"] .destination-ocean-lines{opacity:.22}
  .destination-marker.is-past-category{opacity:.27}
  .destination-marker.is-visited{opacity:.50}
  .destination-story.has-revealed-western .destination-map-symbol.detail-western,
  .destination-story.has-revealed-southern .destination-map-symbol.detail-southern,
  .destination-story.has-revealed-east .destination-map-symbol.detail-east,
  .destination-story.has-revealed-cultural .destination-map-symbol.detail-cultural,
  .destination-story.has-revealed-hill .destination-map-symbol.detail-hill,
  .destination-story.has-revealed-wildlife .destination-map-symbol.detail-wildlife,
  .destination-story.has-revealed-north .destination-map-symbol.detail-north{opacity:.055}
}
@media(prefers-reduced-motion:reduce){
  .destination-map-frame:before,.destination-panel-media img{transition:none!important}
}

/* ================================================================
   Reusable page chapter navigation rail
   Desktop replacement for long horizontal in-page submenu bars.
   Existing horizontal nav remains available as the compact mobile UI.
   ================================================================ */
@media (min-width:1181px){
  .about-page .anchor-nav,
  .mice-page .mice-anchor-nav,
  .responsibility-page .responsibility-nav{
    display:none;
  }

  .page-chapter-rail{
    position:fixed;
    z-index:44;
    right:22px;
    top:50%;
    display:grid;
    gap:8px;
    width:54px;
    transform:translateY(-50%);
    justify-items:end;
    pointer-events:none;
  }
  .page-chapter-rail a{
    position:relative;
    display:grid;
    grid-template-columns:22px 12px;
    align-items:center;
    justify-content:end;
    gap:7px;
    width:54px;
    min-height:28px;
    color:rgba(16,40,62,.36);
    text-align:right;
    text-decoration:none;
    pointer-events:auto;
    transition:color .2s ease;
  }
  .page-chapter-rail .page-chapter-number{
    font-size:.56rem;
    font-weight:800;
    letter-spacing:.08em;
    font-variant-numeric:tabular-nums;
  }
  .page-chapter-rail .page-chapter-dot{
    display:block;
    width:5px;
    height:5px;
    justify-self:center;
    border-radius:50%;
    background:currentColor;
    transition:transform .22s ease,background .2s ease,box-shadow .22s ease;
  }
  .page-chapter-rail .page-chapter-label{
    position:absolute;
    right:48px;
    top:50%;
    width:max-content;
    max-width:min(320px,calc(100vw - 150px));
    overflow:hidden;
    opacity:0;
    visibility:hidden;
    white-space:nowrap;
    pointer-events:none;
    font-size:.60rem;
    font-weight:800;
    letter-spacing:.065em;
    text-transform:uppercase;
    transform:translateY(-50%);
    transition:opacity .16s ease,visibility 0s linear .16s,color .2s ease;
  }
  .page-chapter-rail a:hover,
  .page-chapter-rail a:focus-visible,
  .page-chapter-rail a.is-active{
    color:var(--accent);
  }
  .page-chapter-rail a:hover .page-chapter-label,
  .page-chapter-rail a:focus-visible .page-chapter-label{
    overflow:visible;
    opacity:1;
    visibility:visible;
    padding:5px 7px;
    border-radius:4px;
    background:rgba(255,255,255,.94);
    box-shadow:0 5px 18px rgba(16,40,62,.08);
    backdrop-filter:blur(8px);
    transition:opacity .16s ease,visibility 0s,color .2s ease;
  }
  .page-chapter-rail a.is-active .page-chapter-number{font-weight:900}
  .page-chapter-rail a.is-active .page-chapter-dot{
    transform:scale(1.8);
    box-shadow:0 0 0 3px rgba(230,121,47,.10);
  }
  .page-chapter-rail a:focus-visible{
    outline:2px solid rgba(230,121,47,.3);
    outline-offset:5px;
    border-radius:4px;
  }

  .about-page main section[id],
  .mice-page main section[id],
  .responsibility-page main section[id]{
    scroll-margin-top:112px;
  }
}

/* Keep the original submenu as the small-screen version. */
@media (max-width:1180px){
  .page-chapter-rail{display:none!important}
  .about-page .anchor-nav,
  .mice-page .mice-anchor-nav,
  .responsibility-page .responsibility-nav{
    display:block;
    position:sticky;
    top:0;
    z-index:60;
    overflow-x:auto;
    background:#fff;
    border-top:0;
    border-bottom:1px solid var(--line);
    box-shadow:0 5px 18px rgba(16,40,62,.055);
    backdrop-filter:blur(10px);
    scrollbar-width:none;
  }
  .about-page .anchor-nav::-webkit-scrollbar,
  .mice-page .mice-anchor-nav::-webkit-scrollbar,
  .responsibility-page .responsibility-nav::-webkit-scrollbar{display:none}
}

@media (max-width:760px){
  .about-page .anchor-nav,
  .mice-page .mice-anchor-nav,
  .responsibility-page .responsibility-nav{top:0}
}

/* Sri Lanka Activities — Step 2 static Experience World prototype */
.activities-page [data-header]{position:sticky;top:0;z-index:90;background:#fff}
.activities-page .site-header{position:relative;top:auto;z-index:1}
.activities-page{background:#f3f2e9}
.activity-world{position:relative;min-height:calc(100vh - 92px);overflow:hidden;background:#eef0e7}
.activity-world-stage{position:relative;min-height:calc(100vh - 92px);isolation:isolate;overflow:hidden;background:
  radial-gradient(circle at 78% 20%,rgba(230,121,47,.06),transparent 30%),
  linear-gradient(145deg,#f4f2e8 0%,#edf0e5 45%,#dfe6d8 100%)}
.activity-world-ambience{position:absolute;inset:0;z-index:0;overflow:hidden}
.activity-world-ambience:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(246,244,236,.92) 0%,rgba(246,244,236,.7) 27%,rgba(246,244,236,.06) 51%,rgba(246,244,236,0) 100%);pointer-events:none}
.activity-world-art{width:100%;height:100%;min-height:calc(100vh - 92px);display:block}
.activity-world-ridge-back{fill:#c6cfba;opacity:.68}
.activity-world-ridge-mid{fill:#b8c3aa;opacity:.76}
.activity-world-ground{fill:url(#wildlifeGround);opacity:.88}
.activity-world-water path:first-child{fill:#bfcbbd;opacity:.52}
.activity-world-water path:not(:first-child){fill:none;stroke:#8ea9a0;stroke-width:2;stroke-linecap:round;opacity:.33}
.activity-world-waterhole{fill:#b8c8bd;opacity:.42}
.activity-world-foreground-band{fill:#a9b697;opacity:.14}
.activity-world-track path{fill:none;stroke:#6c7b61;stroke-width:3;stroke-linecap:round;stroke-dasharray:5 10;opacity:.19}
.activity-world-shrub path{fill:none;stroke:#607158;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;opacity:.32}
.activity-world-shrub path:first-child{fill:#7f9076;stroke:none;opacity:.18}
.activity-world-tree path{fill:none;stroke:#526a50;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;opacity:.45}
.activity-world-tree path:last-child{fill:#667b60;stroke:none;opacity:.32}
.activity-world-grass path{fill:none;stroke:#64775c;stroke-width:3;stroke-linecap:round;opacity:.31}
.activity-world-grass-front path{stroke-width:4;opacity:.4}
.activity-world-elephant path,.activity-world-leopard path,.activity-world-jeep path,.activity-world-detail-elephant path{fill:none;stroke:#51634d;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;opacity:.52}
.activity-world-elephant,.activity-world-leopard,.activity-world-jeep,.activity-world-detail-elephant{filter:drop-shadow(0 6px 18px rgba(16,40,62,.06))}
.activity-world-jeep circle{fill:none;stroke:#51634d;stroke-width:3.2;opacity:.5}
.activity-world-leopard circle{fill:#51634d;opacity:.46}
.activity-world-birds path{fill:none;stroke:#60725a;stroke-width:2.3;stroke-linecap:round;opacity:.36}

.activity-world-copy{position:absolute;z-index:5;top:9%;left:max(6vw,70px);width:min(420px,30vw)}
.activity-world-copy .eyebrow{display:block;margin-bottom:13px}
.activity-world-copy h1{margin:0 0 18px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.1rem,5.2vw,6.1rem);font-weight:500;line-height:.91;letter-spacing:-.045em}
.activity-world-copy p{margin:0;max-width:420px;color:rgba(16,40,62,.66);font-size:clamp(.96rem,1.15vw,1.08rem);line-height:1.65}
.activity-world-meta{display:flex;align-items:center;gap:10px;margin-top:23px;color:rgba(16,40,62,.58);font-size:.7rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.activity-world-meta i{width:4px;height:4px;border-radius:50%;background:var(--accent);opacity:.8}
.activity-world-hint{margin-top:14px;color:rgba(16,40,62,.45);font-size:.78rem}
.activity-world-progress{position:absolute;z-index:5;top:8.5%;right:max(4.5vw,62px);display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:5px;text-align:right;color:rgba(16,40,62,.54)}
.activity-world-progress strong{font-family:Georgia,'Times New Roman',serif;font-size:1.8rem;font-weight:500;color:var(--accent)}
.activity-world-progress>span{font-size:.75rem;font-weight:700;letter-spacing:.08em}
.activity-world-progress small{grid-column:1/-1;margin-top:2px;font-size:.64rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}

.activity-world-items{position:absolute;inset:0;z-index:6;pointer-events:none}
.activity-world-item{position:absolute;display:grid;width:min(236px,16.4vw);padding:13px 15px 12px;text-align:left;border:1px solid rgba(16,40,62,.11);border-radius:13px;background:rgba(251,250,245,.74);box-shadow:0 10px 26px rgba(16,40,62,.07);backdrop-filter:blur(8px);color:var(--ink);pointer-events:auto;cursor:pointer;transition:transform .28s ease,background-color .28s ease,border-color .28s ease,box-shadow .28s ease}
.activity-world-item:before{content:'';position:absolute;top:0;left:15px;width:32px;height:2px;background:var(--accent)}
.activity-world-item:hover,.activity-world-item:focus-visible,.activity-world-item.is-selected{transform:translateY(-4px);background:rgba(255,255,255,.88);border-color:rgba(230,121,47,.32);box-shadow:0 14px 30px rgba(16,40,62,.10);outline:none}
.activity-world-index{margin-bottom:6px;color:var(--accent);font-size:.63rem;font-weight:800;letter-spacing:.13em}
.activity-world-item strong{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1rem,1.34vw,1.3rem);font-weight:500;line-height:1.1}
.activity-world-location-label{margin-top:10px;color:rgba(16,40,62,.4);font-size:.57rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.activity-world-locations{margin-top:2px;color:rgba(16,40,62,.61);font-size:.69rem;line-height:1.35}
.activity-world-explore{margin-top:10px;color:var(--accent);font-size:.58rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.72}
.activity-world-explore b{font-size:.84rem}
.activity-world-item-jeep{left:5.8%;bottom:8.2%}
.activity-world-item-leopard{right:3.8%;top:17.8%}
.activity-world-item-elephant{right:3.6%;bottom:8.2%}
.activity-world-scene-label{position:absolute;z-index:4;left:51%;bottom:5.8%;display:flex;align-items:center;gap:12px;color:rgba(16,40,62,.43)}
.activity-world-scene-label span{display:block;width:52px;height:1px;background:rgba(16,40,62,.28)}
.activity-world-scene-label small{font-size:.63rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}

.activity-detail-panel{position:fixed;z-index:120;top:0;right:0;width:min(460px,92vw);height:100dvh;background:#fff;box-shadow:-24px 0 64px rgba(16,40,62,.18);transform:translateX(104%);visibility:hidden;transition:transform .38s cubic-bezier(.2,.74,.22,1),visibility 0s linear .38s;overflow:auto}
.activity-detail-panel.is-open{transform:translateX(0);visibility:visible;transition:transform .38s cubic-bezier(.2,.74,.22,1),visibility 0s}
.activity-panel-close{position:absolute;z-index:3;top:16px;right:16px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(16,40,62,.78);color:#fff;font-size:1.55rem;line-height:1;cursor:pointer;transition:background-color .2s ease,transform .2s ease}
.activity-panel-close:hover,.activity-panel-close:focus-visible{background:var(--accent);transform:rotate(4deg);outline:none}
.activity-panel-media{position:relative;aspect-ratio:4/3;background:linear-gradient(145deg,#d9dfd1,#eef0e7);overflow:hidden}
.activity-panel-media img{width:100%;height:100%;object-fit:cover}
.activity-panel-placeholder{position:absolute;inset:0;display:grid;place-content:center;gap:4px;text-align:center;color:rgba(16,40,62,.5);padding:30px}
.activity-panel-placeholder span{font-family:Georgia,'Times New Roman',serif;font-size:1.35rem;color:rgba(16,40,62,.65)}
.activity-panel-placeholder small{font-size:.75rem}
.activity-panel-body{padding:30px 32px 42px}
.activity-panel-category{display:block;margin-bottom:9px;color:var(--accent);font-size:.67rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.activity-panel-body h2{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,3.2vw,3rem);font-weight:500;line-height:1.03;letter-spacing:-.03em}
.activity-panel-known{margin:12px 0 17px;color:rgba(16,40,62,.54);font-size:.75rem;font-weight:700;letter-spacing:.03em}
.activity-panel-description{margin:0;color:rgba(16,40,62,.72);line-height:1.68}
.activity-panel-block{margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}
.activity-panel-block>span,.activity-panel-facts span{display:block;margin-bottom:7px;color:rgba(16,40,62,.44);font-size:.62rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.activity-panel-block p{margin:0;color:var(--ink);font-size:.9rem;line-height:1.55}
.activity-panel-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
.activity-panel-facts>div{padding:15px 16px;border:1px solid var(--line);border-radius:12px;background:var(--mist)}
.activity-panel-facts strong{font-family:Georgia,'Times New Roman',serif;font-size:1rem;font-weight:500}
.activity-panel-note{margin:22px 0 0;padding:13px 15px;border-left:3px solid var(--accent);background:#fbf3eb;color:#79522f;font-size:.78rem;line-height:1.5}
.activity-panel-open:before{content:'';position:fixed;z-index:110;inset:0;background:rgba(9,30,47,.12);backdrop-filter:blur(1px);pointer-events:none}

.activity-world-next{background:#fff}
.activity-world-next-inner{display:flex;align-items:end;justify-content:space-between;gap:42px}
.activity-world-next h2{max-width:760px;margin:.35rem 0 .8rem;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:500;line-height:1.07}
.activity-world-next p{max-width:720px;margin:0;color:var(--muted)}

@media(max-width:1180px){
  .activity-world-copy{left:42px;width:374px}
  .activity-world-progress{right:34px}
  .activity-world-item{width:220px}
  .activity-world-item-jeep{left:4.4%;bottom:6.6%}
  .activity-world-item-leopard{right:3.2%;top:16.8%}
  .activity-world-item-elephant{right:2.8%;bottom:6.8%}
}
@media(max-width:900px){
  .activity-world{min-height:auto;overflow:visible}
  .activity-world-stage{min-height:auto;padding:58px 22px 34px;overflow:hidden}
  .activity-world-ambience{position:relative;height:52vh;min-height:390px;margin:-58px -22px 0}
  .activity-world-ambience:after{background:linear-gradient(180deg,rgba(246,244,236,.2),rgba(246,244,236,.84) 82%,#eef0e7 100%)}
  .activity-world-art{height:100%;min-height:0}
  .activity-world-copy{position:relative;top:auto;left:auto;width:auto;max-width:600px;margin-top:-62px}
  .activity-world-copy h1{font-size:clamp(3rem,12vw,5.2rem)}
  .activity-world-copy p{max-width:560px}
  .activity-world-progress{top:22px;right:22px}
  .activity-world-items{position:relative;inset:auto;display:grid;gap:12px;margin-top:32px}
  .activity-world-item{position:relative!important;inset:auto!important;width:100%;max-width:none}
  .activity-world-scene-label{display:none}
  .activity-world-next-inner{align-items:start;flex-direction:column}
}
@media(max-width:760px){
  .activities-page [data-header]{top:0}
  .activity-world-stage{padding-left:14px;padding-right:14px}
  .activity-world-ambience{margin-left:-14px;margin-right:-14px;height:46vh;min-height:330px}
  .activity-world-copy{margin-top:-46px}
  .activity-world-copy .eyebrow{font-size:.67rem}
  .activity-world-copy p{font-size:.92rem;line-height:1.55}
  .activity-world-progress{top:15px;right:14px}
  .activity-world-progress small{display:none}
  .activity-world-item{padding:16px}
  .activity-detail-panel{width:100%;top:auto;bottom:0;height:min(82dvh,720px);transform:translateY(104%);border-radius:22px 22px 0 0}
  .activity-detail-panel.is-open{transform:translateY(0)}
  .activity-panel-media{aspect-ratio:16/9}
  .activity-panel-body{padding:24px 20px 34px}
  .activity-panel-close{top:12px;right:12px}
}
@media(prefers-reduced-motion:reduce){
  .activity-world-item,.activity-detail-panel,.activity-panel-close{transition:none!important}
}


/* Activities hybrid wildlife art — rich raster base + independent vector motion layers */
.activity-world-ambience{background:#e9eadf}
.activity-world-ambience:after{
  z-index:5;
  background:linear-gradient(90deg,rgba(246,244,236,.94) 0%,rgba(246,244,236,.83) 18%,rgba(246,244,236,.54) 27%,rgba(246,244,236,.12) 38%,rgba(246,244,236,0) 49%);
}
.activity-hybrid-scene{position:absolute;inset:-1.5%;overflow:hidden;transform:translateZ(0);will-change:transform}
.activity-hybrid-master,.activity-hybrid-air,.activity-hybrid-birds,.activity-hybrid-track,.activity-hybrid-ripples,.activity-hybrid-foreground{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;user-select:none}
.activity-hybrid-master{object-fit:cover;object-position:center center;transform:translate3d(0,0,0) scale(1.022);will-change:transform;filter:saturate(.91) contrast(.985) brightness(1.015);transform-origin:50% 52%}
.activity-hybrid-atmosphere{position:absolute;inset:0;z-index:1;pointer-events:none;background:
  radial-gradient(circle at 69% 24%,rgba(239,177,99,.12),transparent 27%),
  radial-gradient(ellipse at 54% 61%,rgba(255,255,255,.05),transparent 40%);
  mix-blend-mode:soft-light;will-change:transform,opacity}
.activity-hybrid-air{z-index:2;object-fit:cover;object-position:center;opacity:.62;will-change:transform,opacity;transform-origin:50% 45%}
.activity-hybrid-birds{z-index:3;object-fit:cover;object-position:center;opacity:.96;will-change:transform,opacity;transform-origin:55% 30%}
.activity-hybrid-track{z-index:3;object-fit:cover;object-position:center;opacity:.94;will-change:transform,opacity;transform-origin:48% 64%;mix-blend-mode:multiply}
.activity-hybrid-ripples{z-index:3;object-fit:cover;object-position:center;opacity:.92;will-change:transform,opacity;transform-origin:62% 75%;mix-blend-mode:multiply}
.activity-hybrid-foreground{z-index:4;object-fit:cover;object-position:center;opacity:.94;will-change:transform,opacity;transform-origin:50% 86%}
.activity-world-copy{z-index:8}
.activity-world-progress{z-index:8}
.activity-world-items{z-index:9}
.activity-world-scene-label{z-index:7;color:#fff;text-shadow:0 1px 3px rgba(16,40,62,.65),0 2px 12px rgba(16,40,62,.42)}
.activity-world-scene-label span{width:64px;background:rgba(255,255,255,.92)}
.activity-world-scene-label small{color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.115em;text-shadow:0 1px 3px rgba(16,40,62,.72),0 2px 14px rgba(16,40,62,.5)}
.activity-world-item{background:rgba(252,251,247,.82);border-color:rgba(16,40,62,.10);box-shadow:0 10px 30px rgba(16,40,62,.10)}
.activity-world-item:hover,.activity-world-item:focus-visible,.activity-world-item.is-selected{background:rgba(255,255,255,.94)}

@media(max-width:1180px){
  .activity-hybrid-master{object-position:55% center;transform:scale(1.035)}
}
@media(max-width:900px){
  .activity-world-ambience:after{z-index:5;background:linear-gradient(180deg,rgba(246,244,236,.04) 0%,rgba(246,244,236,.08) 55%,rgba(246,244,236,.88) 91%,#eef0e7 100%)}
  .activity-hybrid-scene{inset:0}
  .activity-hybrid-master{object-position:58% center;transform:scale(1.03)}
  .activity-hybrid-air{opacity:.5}
  .activity-hybrid-birds{opacity:.9}
  .activity-hybrid-track{opacity:.84}
  .activity-hybrid-ripples{opacity:.84}
  .activity-hybrid-foreground{opacity:.82}
}
@media(max-width:600px){
  .activity-hybrid-master{object-position:62% center;transform:scale(1.08)}
}
@media(prefers-reduced-motion:reduce){
  .activity-hybrid-scene,.activity-hybrid-master,.activity-hybrid-air,.activity-hybrid-birds,.activity-hybrid-track,.activity-hybrid-ripples,.activity-hybrid-foreground,.activity-hybrid-atmosphere{transform:none!important;animation:none!important}
}

/* ================================================================
   Activities — Static Illustrated Journey
   Seven approved illustrated worlds. No internal artwork animation.
   ================================================================ */
.activities-journey-page{background:#f3f1e8}
.activities-journey-page [data-header]{position:sticky;top:0;z-index:90;background:#fff}
.activity-journey-main{position:relative}
.activity-journey-chapter{position:relative;min-height:calc(100vh + var(--activity-scroll-length));scroll-margin-top:var(--activities-header-h,92px);background:#0f283e}
.activity-journey-stage{position:sticky;top:var(--activities-header-h,92px);height:calc(100vh - var(--activities-header-h,92px));min-height:610px;overflow:hidden;isolation:isolate;background:#132d43}
.activity-journey-art-wrap{position:absolute;inset:-2.25%;z-index:0;overflow:hidden;transform:translate3d(0,calc(var(--chapter-exit,0) * -4vh),0) scale(calc(1.035 + var(--chapter-exit,0) * .008));opacity:calc(1 - var(--chapter-exit,0) * .10);transform-origin:50% 50%}
.activity-journey-art{width:100%;height:100%;display:block;object-fit:cover;object-position:center center;filter:saturate(.94) contrast(.99) brightness(.99)}
.activity-journey-scrim{position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(8,26,40,.62) 0%,rgba(8,26,40,.38) 23%,rgba(8,26,40,.05) 42%,rgba(8,26,40,0) 58%),linear-gradient(180deg,rgba(8,26,40,.10),transparent 28%,transparent 74%,rgba(8,26,40,.14));}
.activity-journey-copy{position:absolute;z-index:4;top:7.5%;left:max(4.7vw,54px);width:min(410px,31vw);color:#fff;text-shadow:0 2px 18px rgba(4,20,31,.34)}
.activity-journey-copy .eyebrow{display:block;margin-bottom:11px;color:#ff8a3d;font-size:.70rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;text-shadow:none}
.activity-journey-copy :is(h1,h2){margin:0 0 15px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.15rem,5vw,5.9rem);font-weight:500;line-height:.92;letter-spacing:-.045em;color:#fff}
.activity-journey-copy p{margin:0;max-width:400px;color:rgba(255,255,255,.87);font-size:clamp(.89rem,1vw,1.02rem);line-height:1.57}
.activity-journey-state-meta{display:flex;align-items:center;gap:12px;margin-top:19px;color:#fff;font-size:.67rem;font-weight:800;letter-spacing:.105em;text-transform:uppercase}
.activity-journey-state-meta:before{content:'';width:30px;height:2px;background:#ff8a3d;flex:0 0 auto}
.activity-journey-state-meta strong{font-size:inherit;letter-spacing:inherit}
.activity-journey-state-meta span{color:rgba(255,255,255,.62);font-variant-numeric:tabular-nums}
.activity-journey-copy>small{display:block;margin-top:10px;color:rgba(255,255,255,.63);font-size:.72rem}
.activity-journey-chapter-count{position:absolute;z-index:4;top:7%;right:max(4.5vw,60px);display:grid;grid-template-columns:auto auto;column-gap:5px;align-items:baseline;text-align:right;color:rgba(255,255,255,.72);text-shadow:0 2px 12px rgba(4,20,31,.4)}
.activity-journey-chapter-count strong{font-family:Georgia,'Times New Roman',serif;font-size:1.85rem;font-weight:500;color:#ff8a3d}
.activity-journey-chapter-count>span{font-size:.7rem;font-weight:800;letter-spacing:.08em}
.activity-journey-chapter-count small{grid-column:1/-1;margin-top:3px;color:#fff;font-size:.60rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.activity-journey-cards{position:absolute;z-index:5;inset:0;pointer-events:none}
.activity-journey-card{position:absolute;display:grid;width:min(220px,15.3vw);min-height:132px;padding:12px 14px 11px;text-align:left;border:1px solid rgba(255,255,255,.50);border-radius:12px;background:rgba(255,253,247,.88);box-shadow:0 14px 34px rgba(4,23,36,.14);backdrop-filter:blur(9px);color:var(--ink);pointer-events:auto;cursor:pointer}
.activity-journey-card:before{content:'';position:absolute;top:0;left:14px;width:30px;height:2px;background:var(--accent)}
.activity-journey-card:hover,.activity-journey-card:focus-visible,.activity-journey-card.is-selected{background:rgba(255,255,255,.97);border-color:rgba(230,121,47,.48);box-shadow:0 16px 36px rgba(4,23,36,.19);outline:2px solid transparent}
.activity-journey-card-index{margin-bottom:5px;color:var(--accent);font-size:.59rem;font-weight:900;letter-spacing:.13em}
.activity-journey-card strong{font-family:Georgia,'Times New Roman',serif;font-size:clamp(.98rem,1.22vw,1.2rem);font-weight:500;line-height:1.09}
.activity-journey-card-label{margin-top:8px;color:rgba(16,40,62,.43);font-size:.54rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.activity-journey-card-locations{margin-top:2px;min-height:2.4em;color:rgba(16,40,62,.66);font-size:.65rem;line-height:1.27}
.activity-journey-card-link{margin-top:8px;color:var(--accent);font-size:.54rem;font-weight:900;letter-spacing:.075em;text-transform:uppercase}
.activity-journey-card-link b{font-size:.78rem}
.activity-card-pos-1{left:4.6%;bottom:5.5%}
.activity-card-pos-2{right:3.8%;top:27%}
.activity-card-pos-3{right:3.8%;bottom:5.5%}
.activity-card-count-4 .activity-card-pos-1{left:4.6%;bottom:5.2%}
.activity-card-count-4 .activity-card-pos-2{right:3.7%;top:27%}
.activity-card-count-4 .activity-card-pos-3{right:3.7%;top:52%;bottom:auto}
.activity-card-count-4 .activity-card-pos-4{right:3.7%;bottom:5.2%;left:auto;top:auto}
.activity-journey-environment{position:absolute;z-index:4;left:43%;bottom:4.7%;display:flex;align-items:center;gap:12px;color:#fff;text-shadow:0 2px 12px rgba(4,20,31,.58)}
.activity-journey-environment span{display:block;width:55px;height:1px;background:rgba(255,255,255,.86)}
.activity-journey-environment small{font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.activity-mobile-states{display:none}
.activity-journey-next{background:#fff}
.activity-journey-next-inner{display:flex;align-items:end;justify-content:space-between;gap:42px}
.activity-journey-next h2{max-width:760px;margin:.35rem 0 .8rem;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:500;line-height:1.07}
.activity-journey-next p{max-width:720px;margin:0;color:var(--muted)}

/* Reuse the established right-side 1–7 rail across all activity chapters. */
@media(min-width:1181px){
  .activity-chapter-rail{display:grid!important}
  .activity-rail-pending{position:relative;display:grid;grid-template-columns:22px 12px;align-items:center;justify-content:end;gap:7px;width:54px;min-height:28px;color:rgba(255,255,255,.28);text-align:right;pointer-events:none}
  .activity-rail-pending .page-chapter-number{font-size:.56rem;font-weight:800;letter-spacing:.08em;font-variant-numeric:tabular-nums}
  .activity-rail-pending .page-chapter-dot{display:block;width:5px;height:5px;justify-self:center;border-radius:50%;background:currentColor}
  .activity-rail-pending .page-chapter-label{display:none}
  .activities-journey-page .page-chapter-rail a{color:rgba(255,255,255,.46);text-shadow:0 1px 8px rgba(4,20,31,.42)}
  .activities-journey-page .page-chapter-rail a:hover,.activities-journey-page .page-chapter-rail a:focus-visible,.activities-journey-page .page-chapter-rail a.is-active{color:#ff8a3d}
  .activities-journey-page .page-chapter-rail .page-chapter-label{text-shadow:none}
}
.activity-mobile-chapter-nav{display:none}

/* Ocean-specific crop keeps the reef and main marine subjects central. */
.activity-journey-ocean .activity-journey-art{object-position:center center}
.activity-journey-ocean .activity-journey-scrim{background:linear-gradient(90deg,rgba(3,35,54,.61) 0%,rgba(3,35,54,.35) 23%,rgba(3,35,54,.04) 42%,rgba(3,35,54,0) 59%),linear-gradient(180deg,rgba(3,35,54,.08),transparent 74%,rgba(3,35,54,.12))}

@media(max-width:1320px) and (min-width:901px){
  .activity-journey-copy{left:34px;width:350px;top:6.6%}
  .activity-journey-copy :is(h1,h2){font-size:clamp(3rem,4.7vw,4.8rem)}
  .activity-journey-copy p{font-size:.88rem;line-height:1.5}
  .activity-journey-card{width:198px;padding:11px 12px 10px;min-height:126px}
  .activity-card-pos-1,.activity-card-count-4 .activity-card-pos-1{left:2.6%}
  .activity-card-count-4 .activity-card-pos-4{left:2.6%;top:49%}
  .activity-card-pos-2,.activity-card-count-4 .activity-card-pos-2,.activity-card-pos-3,.activity-card-count-4 .activity-card-pos-3{right:2.2%}
  .activity-journey-environment{left:40%}
}

/* Tablet/mobile: one artwork, then straightforward grouped cards. */
@media(max-width:900px){
  .activities-journey-page [data-header]{position:relative}
  .activity-mobile-chapter-nav{position:sticky;top:0;z-index:69;display:flex;gap:0;overflow-x:auto;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);box-shadow:0 5px 18px rgba(16,40,62,.05);scrollbar-width:none}
  .activity-mobile-chapter-nav::-webkit-scrollbar{display:none}
  .activity-mobile-chapter-nav a,.activity-mobile-chapter-nav span{flex:0 0 auto;padding:12px 13px;color:rgba(16,40,62,.47);font-size:.61rem;font-weight:800;letter-spacing:.06em;text-decoration:none;text-transform:uppercase;white-space:nowrap}
  .activity-mobile-chapter-nav a.is-active{color:var(--accent)}
  .activity-mobile-chapter-nav span{opacity:.38}
  .activity-journey-chapter{min-height:auto;background:#f3f1e8;scroll-margin-top:42px}
  .activity-journey-stage{position:relative;top:auto;height:auto;min-height:0;overflow:visible;background:#f3f1e8}
  .activity-journey-art-wrap{position:relative;inset:auto;height:min(62vw,520px);min-height:310px;transform:none!important;opacity:1!important;overflow:hidden}
  .activity-journey-art{object-position:center center;filter:saturate(.94) contrast(.99)}
  .activity-journey-scrim{position:absolute;height:min(62vw,520px);min-height:310px;background:linear-gradient(180deg,rgba(7,28,43,.05),rgba(7,28,43,.2))}
  .activity-journey-copy{position:relative;top:auto;left:auto;width:auto;max-width:none;margin:0;padding:28px 22px 20px;background:#f3f1e8;color:var(--ink);text-shadow:none}
  .activity-journey-copy .eyebrow{margin-bottom:9px}
  .activity-journey-copy :is(h1,h2){margin-bottom:13px;color:var(--ink);font-size:clamp(2.8rem,10vw,4.6rem);line-height:.95}
  .activity-journey-copy p{max-width:650px;color:rgba(16,40,62,.68);font-size:.94rem}
  .activity-journey-state-meta,.activity-journey-copy>small{display:none}
  .activity-journey-chapter-count{top:16px;right:16px;color:rgba(255,255,255,.84)}
  .activity-journey-chapter-count small{display:none}
  .activity-journey-cards,.activity-journey-environment{display:none}
  .activity-mobile-states{display:block;padding:0 22px 48px;background:#f3f1e8}
  .activity-mobile-state{padding:24px 0;border-top:1px solid rgba(16,40,62,.10)}
  .activity-mobile-state-heading{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}
  .activity-mobile-state-heading>span{color:var(--accent);font-size:.64rem;font-weight:900;letter-spacing:.13em}
  .activity-mobile-state-heading h2{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:1.45rem;font-weight:500}
  .activity-mobile-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .activity-mobile-card-grid .activity-journey-card{position:relative;inset:auto!important;width:100%;min-height:0;height:100%;padding:14px;background:#fff;border-color:rgba(16,40,62,.10);box-shadow:0 7px 20px rgba(16,40,62,.05)}
  .activity-journey-next-inner{align-items:start;flex-direction:column}
}
@media(max-width:600px){
  .activity-journey-art-wrap,.activity-journey-scrim{height:56vw;min-height:265px}
  .activity-journey-wildlife .activity-journey-art{object-position:57% center}
  .activity-journey-ocean .activity-journey-art{object-position:52% center}
  .activity-journey-copy{padding:24px 15px 16px}
  .activity-mobile-states{padding:0 15px 38px}
  .activity-mobile-card-grid{grid-template-columns:1fr}
  .activity-mobile-chapter-nav a,.activity-mobile-chapter-nav span{padding:11px 10px;font-size:.57rem}
  .activity-detail-panel{width:100%;top:auto;bottom:0;height:min(82dvh,720px);transform:translateY(104%);border-radius:22px 22px 0 0}
  .activity-detail-panel.is-open{transform:translateY(0)}
}
@media(prefers-reduced-motion:reduce){
  .activity-journey-art-wrap{transform:none!important;opacity:1!important}
}

/* Activities static journey v2: readability, state-change clarity and restrained artwork softening. */
@media(min-width:901px){
  .activity-journey-scrim{
    z-index:2;
    -webkit-backdrop-filter:blur(.65px);
    backdrop-filter:blur(.65px);
    background:
      linear-gradient(90deg,rgba(7,25,39,.70) 0%,rgba(7,25,39,.44) 25%,rgba(7,25,39,.11) 43%,rgba(7,25,39,0) 59%),
      linear-gradient(180deg,rgba(7,25,39,.12),transparent 29%,transparent 72%,rgba(7,25,39,.17)),
      rgba(255,255,255,.012);
  }
  .activity-journey-ocean .activity-journey-scrim{
    background:
      linear-gradient(90deg,rgba(3,32,51,.70) 0%,rgba(3,32,51,.43) 25%,rgba(3,32,51,.10) 43%,rgba(3,32,51,0) 59%),
      linear-gradient(180deg,rgba(3,32,51,.10),transparent 29%,transparent 72%,rgba(3,32,51,.15)),
      rgba(255,255,255,.012);
  }

  .activity-journey-copy{width:min(455px,33vw);text-shadow:0 2px 18px rgba(4,20,31,.48)}
  .activity-journey-copy .eyebrow{font-size:.80rem;letter-spacing:.145em}
  .activity-journey-copy p{max-width:445px;color:rgba(255,255,255,.94);font-size:clamp(1rem,1.08vw,1.14rem);line-height:1.58}
  .activity-journey-copy>small{margin-top:12px;color:rgba(255,255,255,.84);font-size:.84rem;font-weight:600;line-height:1.4}

  .activity-journey-state-meta{
    display:grid;
    grid-template-columns:auto 1fr;
    grid-template-areas:"counter title" "progress progress";
    align-items:center;
    column-gap:11px;
    row-gap:8px;
    width:min(390px,100%);
    margin-top:23px;
    padding-top:14px;
    border-top:1px solid rgba(255,255,255,.32);
    color:#fff;
    text-transform:uppercase;
    transition:opacity .145s ease,transform .145s ease;
  }
  .activity-journey-state-meta:before{display:none}
  .activity-journey-state-counter{
    grid-area:counter;
    display:inline-flex;
    align-items:baseline;
    gap:4px;
    color:#ff9a58;
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.09em;
    font-variant-numeric:tabular-nums;
  }
  .activity-journey-state-counter b{font-size:.88rem}
  .activity-journey-state-counter i{font-style:normal;color:rgba(255,255,255,.52)}
  .activity-journey-state-counter>span{color:rgba(255,255,255,.70)}
  .activity-journey-state-meta strong{
    grid-area:title;
    font-family:Georgia,'Times New Roman',serif;
    font-size:clamp(1rem,1.2vw,1.2rem);
    font-weight:500;
    line-height:1.05;
    letter-spacing:.015em;
    text-transform:none;
  }
  .activity-journey-state-progress{grid-area:progress;display:flex;gap:5px;width:100%}
  .activity-journey-state-progress span{height:3px;flex:1;border-radius:999px;background:rgba(255,255,255,.25);box-shadow:0 1px 6px rgba(4,20,31,.14)}
  .activity-journey-state-progress span.is-complete{background:rgba(255,255,255,.62)}
  .activity-journey-state-progress span.is-active{background:#ff8a3d;box-shadow:0 0 0 1px rgba(255,138,61,.14),0 0 11px rgba(255,138,61,.18)}

  .activity-journey-chapter-count strong{font-size:2.05rem}
  .activity-journey-chapter-count>span{font-size:.79rem}
  .activity-journey-chapter-count small{font-size:.70rem;letter-spacing:.10em}

  .activity-journey-cards{transition:opacity .145s ease,transform .145s ease}
  .activity-journey-cards.is-state-exiting,
  .activity-journey-state-meta.is-state-exiting{opacity:0;transform:translateY(-10px)}
  .activity-journey-cards.is-state-entering,
  .activity-journey-state-meta.is-state-entering{opacity:0;transform:translateY(13px)}

  .activity-journey-card{width:min(232px,16vw);min-height:145px;padding:14px 15px 12px;background:rgba(255,253,247,.91)}
  .activity-journey-card-index{font-size:.68rem}
  .activity-journey-card strong{font-size:clamp(1.04rem,1.27vw,1.28rem);line-height:1.10}
  .activity-journey-card-label{font-size:.62rem}
  .activity-journey-card-locations{font-size:.74rem;line-height:1.32}
  .activity-journey-card-link{font-size:.62rem;letter-spacing:.07em}
  .activity-journey-card-link b{font-size:.88rem}

  .activity-journey-environment small{font-size:.84rem;letter-spacing:.10em}
}

@media(max-width:1320px) and (min-width:901px){
  .activity-journey-copy{width:390px}
  .activity-journey-copy p{font-size:1rem;line-height:1.54}
  .activity-journey-copy>small{font-size:.78rem}
  .activity-journey-card{width:206px;min-height:138px;padding:12px 13px 11px}
  .activity-journey-card strong{font-size:1.06rem}
  .activity-journey-card-locations{font-size:.70rem}
  .activity-journey-card-link{font-size:.59rem}
  .activity-journey-environment small{font-size:.77rem}
}

@media(max-width:900px){
  .activity-journey-copy .eyebrow{font-size:.76rem}
  .activity-journey-copy p{font-size:1rem;line-height:1.55}
  .activity-mobile-state-heading>span{font-size:.70rem}
  .activity-mobile-state-heading h2{font-size:1.58rem}
  .activity-mobile-card-grid .activity-journey-card-index{font-size:.66rem}
  .activity-mobile-card-grid .activity-journey-card strong{font-size:1.12rem}
  .activity-mobile-card-grid .activity-journey-card-label{font-size:.61rem}
  .activity-mobile-card-grid .activity-journey-card-locations{font-size:.75rem}
  .activity-mobile-card-grid .activity-journey-card-link{font-size:.62rem}
}

@media(prefers-reduced-motion:reduce){
  .activity-journey-cards,.activity-journey-state-meta{transition:none!important}
}

/* Activities static journey v3: protect the left copy area in four-card states.
   Four-card desktop layout = one lower-left card + three vertically stacked right cards. */
@media(min-width:901px){
  .activity-card-count-4 .activity-journey-card{
    width:min(224px,15.5vw);
    min-height:132px;
    padding:12px 14px 11px;
  }
  .activity-card-count-4 .activity-card-pos-1{
    left:4.6%;
    top:auto;
    bottom:5.2%;
  }
  .activity-card-count-4 .activity-card-pos-2{
    left:auto;
    right:3.7%;
    top:16%;
    bottom:auto;
  }
  .activity-card-count-4 .activity-card-pos-3{
    left:auto;
    right:3.7%;
    top:46%;
    bottom:auto;
  }
  .activity-card-count-4 .activity-card-pos-4{
    left:auto;
    right:3.7%;
    top:auto;
    bottom:4.5%;
  }
}

@media(max-width:1320px) and (min-width:901px){
  .activity-card-count-4 .activity-journey-card{
    width:198px;
    min-height:126px;
    padding:11px 12px 10px;
  }
  .activity-card-count-4 .activity-card-pos-1{left:2.6%;bottom:4.8%}
  .activity-card-count-4 .activity-card-pos-2{right:2.2%;top:15%}
  .activity-card-count-4 .activity-card-pos-3{right:2.2%;top:45.5%;bottom:auto}
  .activity-card-count-4 .activity-card-pos-4{right:2.2%;top:auto;bottom:4.2%}
}

/* Activities static journey v4: complete seven-chapter experience. */
@media(min-width:901px){
  /* Two-card states stay balanced along the lower edge of the artwork. */
  .activity-card-count-2 .activity-card-pos-1{left:4.6%;top:auto;bottom:5.5%}
  .activity-card-count-2 .activity-card-pos-2{left:auto;right:3.8%;top:auto;bottom:5.5%}

  /* Keep long chapter headings within the protected copy zone. */
  .activity-journey-highlands .activity-journey-copy :is(h1,h2),
  .activity-journey-culture .activity-journey-copy :is(h1,h2),
  .activity-journey-food .activity-journey-copy :is(h1,h2),
  .activity-journey-scenic .activity-journey-copy :is(h1,h2){
    font-size:clamp(3rem,4.65vw,5.45rem);
  }

  /* Each approved panorama remains a single static master artwork. */
  .activity-journey-highlands .activity-journey-art{object-position:50% 50%}
  .activity-journey-culture .activity-journey-art{object-position:50% 50%}
  .activity-journey-food .activity-journey-art{object-position:50% 50%}
  .activity-journey-wellness .activity-journey-art{object-position:50% 50%}
  .activity-journey-scenic .activity-journey-art{object-position:50% 50%}
}

@media(max-width:1320px) and (min-width:901px){
  .activity-card-count-2 .activity-card-pos-1{left:2.6%}
  .activity-card-count-2 .activity-card-pos-2{right:2.2%}
  .activity-journey-highlands .activity-journey-copy :is(h1,h2),
  .activity-journey-culture .activity-journey-copy :is(h1,h2),
  .activity-journey-food .activity-journey-copy :is(h1,h2),
  .activity-journey-scenic .activity-journey-copy :is(h1,h2){font-size:clamp(2.75rem,4.4vw,4.45rem)}
}

@media(max-width:600px){
  .activity-journey-highlands .activity-journey-art{object-position:52% center}
  .activity-journey-culture .activity-journey-art{object-position:51% center}
  .activity-journey-food .activity-journey-art{object-position:50% center}
  .activity-journey-wellness .activity-journey-art{object-position:50% center}
  .activity-journey-scenic .activity-journey-art{object-position:51% center}
}

/* Activities static journey v6: localized readability blur.
   Keep the artwork centre sharp; soften only the UI zones on desktop/tablet. */
@media(min-width:901px){
  /* Remove the previous full-canvas 0.65px backdrop blur. The tonal scrim stays,
     but the illustration itself is now sharp outside the UI zones. */
  .activity-journey-scrim{
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }

  /* Feathered blur field that follows the left-hand chapter copy at every
     desktop/tablet viewport instead of relying on fixed image coordinates. */
  .activity-journey-copy{
    isolation:isolate;
  }
  .activity-journey-copy::before{
    content:'';
    position:absolute;
    z-index:-1;
    pointer-events:none;
    top:-24px;
    right:-34px;
    bottom:-26px;
    left:-32px;
    border-radius:34px;
    background:rgba(7,25,39,.115);
    -webkit-backdrop-filter:blur(13px) saturate(104%);
    backdrop-filter:blur(13px) saturate(104%);
    -webkit-mask-image:radial-gradient(ellipse 105% 96% at 38% 48%,#000 0 56%,rgba(0,0,0,.92) 67%,rgba(0,0,0,.52) 82%,transparent 100%);
    mask-image:radial-gradient(ellipse 105% 96% at 38% 48%,#000 0 56%,rgba(0,0,0,.92) 67%,rgba(0,0,0,.52) 82%,transparent 100%);
  }

  /* Cards keep their established cream surface, but the artwork immediately
     beneath each card is softened more strongly. */
  .activity-journey-card{
    isolation:isolate;
    -webkit-backdrop-filter:blur(14px) saturate(104%);
    backdrop-filter:blur(14px) saturate(104%);
    background:rgba(255,253,247,.89);
  }
  .activity-journey-card::after{
    content:'';
    position:absolute;
    z-index:-1;
    pointer-events:none;
    inset:-10px;
    border-radius:20px;
    background:rgba(255,255,255,.035);
    -webkit-backdrop-filter:blur(12px) saturate(102%);
    backdrop-filter:blur(12px) saturate(102%);
    -webkit-mask-image:radial-gradient(ellipse at center,#000 0 60%,rgba(0,0,0,.78) 76%,transparent 100%);
    mask-image:radial-gradient(ellipse at center,#000 0 60%,rgba(0,0,0,.78) 76%,transparent 100%);
  }

  .activity-journey-card:hover,
  .activity-journey-card:focus-visible,
  .activity-journey-card.is-selected{
    background:rgba(255,255,255,.95);
  }
}

/* Tablet-sized desktop layout: slightly tighter feathering so the blur does
   not encroach on the central artwork as cards move inward. */
@media(max-width:1320px) and (min-width:901px){
  .activity-journey-copy::before{
    top:-20px;
    right:-24px;
    bottom:-22px;
    left:-24px;
    -webkit-backdrop-filter:blur(11px) saturate(103%);
    backdrop-filter:blur(11px) saturate(103%);
  }
  .activity-journey-card::after{inset:-8px}
}

/* Mobile intentionally has no backdrop blur. Cards are already separated from
   the artwork in the stacked mobile layout, so extra filtering is unnecessary. */
@media(max-width:900px){
  .activity-journey-scrim,
  .activity-journey-card{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
  .activity-journey-copy::before,
  .activity-journey-card::after{display:none!important}
}


/* Activities static journey v7: larger, interactive sub-section indicator.
   Each progress segment jumps directly to its corresponding state. */
@media(min-width:901px){
  .activity-journey-state-meta{
    width:min(438px,100%);
    margin-top:26px;
    padding-top:17px;
    column-gap:14px;
    row-gap:10px;
  }
  .activity-journey-state-counter{
    gap:5px;
    font-size:.84rem;
    letter-spacing:.085em;
  }
  .activity-journey-state-counter b{font-size:1.08rem}
  .activity-journey-state-meta strong{
    font-size:clamp(1.22rem,1.46vw,1.48rem);
    line-height:1.04;
  }
  .activity-journey-state-progress{
    display:flex;
    gap:8px;
    width:100%;
    margin-top:1px;
  }
  .activity-journey-state-progress button{
    position:relative;
    flex:1 1 0;
    height:20px;
    min-width:0;
    margin:0;
    padding:0;
    border:0;
    border-radius:999px;
    appearance:none;
    background:transparent;
    cursor:pointer;
    touch-action:manipulation;
  }
  .activity-journey-state-progress button::before{
    content:'';
    position:absolute;
    left:0;
    right:0;
    top:50%;
    height:5px;
    border-radius:999px;
    background:rgba(255,255,255,.27);
    box-shadow:0 1px 7px rgba(4,20,31,.16);
    transform:translateY(-50%);
    transform-origin:center;
    transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease;
  }
  .activity-journey-state-progress button.is-complete::before{background:rgba(255,255,255,.64)}
  .activity-journey-state-progress button.is-active::before{
    background:#ff8a3d;
    box-shadow:0 0 0 1px rgba(255,138,61,.17),0 0 13px rgba(255,138,61,.22);
  }
  .activity-journey-state-progress button:hover::before,
  .activity-journey-state-progress button:focus-visible::before{
    background:rgba(255,255,255,.84);
    transform:translateY(-50%) scaleY(1.28);
  }
  .activity-journey-state-progress button.is-active:hover::before,
  .activity-journey-state-progress button.is-active:focus-visible::before{background:#ff9a58}
  .activity-journey-state-progress button:focus-visible{
    outline:2px solid rgba(255,255,255,.92);
    outline-offset:2px;
  }
  .activity-journey-state-progress button::after{
    content:attr(data-state-label);
    position:absolute;
    left:50%;
    bottom:calc(100% + 4px);
    z-index:8;
    max-width:210px;
    padding:5px 8px;
    border:1px solid rgba(255,255,255,.24);
    border-radius:8px;
    background:rgba(8,26,40,.86);
    color:#fff;
    box-shadow:0 7px 18px rgba(4,20,31,.18);
    font-size:.66rem;
    font-weight:700;
    line-height:1.15;
    letter-spacing:.02em;
    text-transform:none;
    white-space:nowrap;
    opacity:0;
    pointer-events:none;
    transform:translate(-50%,5px);
    transition:opacity .15s ease,transform .15s ease;
  }
  .activity-journey-state-progress button:hover::after,
  .activity-journey-state-progress button:focus-visible::after{
    opacity:1;
    transform:translate(-50%,0);
  }
}

@media(max-width:1320px) and (min-width:901px){
  .activity-journey-state-meta{width:min(405px,100%)}
  .activity-journey-state-counter{font-size:.79rem}
  .activity-journey-state-counter b{font-size:1rem}
  .activity-journey-state-meta strong{font-size:clamp(1.12rem,1.35vw,1.34rem)}
  .activity-journey-state-progress{gap:6px}
  .activity-journey-state-progress button::before{height:5px}
}

@media(prefers-reduced-motion:reduce){
  .activity-journey-state-progress button::before,
  .activity-journey-state-progress button::after{transition:none!important}
}

/* Activities final photography backgrounds — selected real-image set.
   The photographs themselves remain natural: no global image filter and no
   full-canvas tonal scrim. Localized readability blur remains behind copy/cards. */
.activities-real-page .activity-journey-art{
  filter:none!important;
}
.activities-real-page .activity-journey-scrim{
  display:none!important;
  background:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}

/* Desktop/tablet environment caption: localized responsive blur only around
   the line + text content, rather than a wide fixed overlay across the image. */
@media(min-width:901px){
  .activity-journey-environment{
    width:max-content;
    max-width:min(43vw,620px);
    padding:8px 12px;
    border-radius:999px;
    background:rgba(7,25,39,.105);
    -webkit-backdrop-filter:blur(11px) saturate(103%);
    backdrop-filter:blur(11px) saturate(103%);
    box-shadow:0 5px 18px rgba(4,20,31,.08);
  }
  .activity-journey-environment small{
    min-width:0;
    max-width:100%;
    line-height:1.32;
  }
}
@media(max-width:1320px) and (min-width:901px){
  .activity-journey-environment{
    max-width:min(46vw,520px);
    padding:7px 10px;
    -webkit-backdrop-filter:blur(10px) saturate(102%);
    backdrop-filter:blur(10px) saturate(102%);
  }
}


/* Activities final photography v11 — responsive mobile sources. */
.activity-journey-picture{display:block;width:100%;height:100%}
.activity-journey-picture .activity-journey-art{width:100%;height:100%;object-fit:cover}

@media(max-width:900px){
  .activities-real-page .activity-journey-art-wrap{
    height:clamp(300px,62vw,480px);
    min-height:0;
  }
  .activities-real-page .activity-journey-picture,
  .activities-real-page .activity-journey-art{
    width:100%;
    height:100%;
  }
  .activities-real-page .activity-journey-art{
    object-fit:cover;
    filter:none!important;
  }
  .activities-real-page .activity-journey-wildlife .activity-journey-art{object-position:50% 50%}
  .activities-real-page .activity-journey-ocean .activity-journey-art{object-position:50% 50%}
  .activities-real-page .activity-journey-highlands .activity-journey-art{object-position:50% 50%}
  .activities-real-page .activity-journey-culture .activity-journey-art{object-position:50% 50%}
  .activities-real-page .activity-journey-food .activity-journey-art{object-position:50% 50%}
  .activities-real-page .activity-journey-wellness .activity-journey-art{object-position:50% 50%}
  .activities-real-page .activity-journey-scenic .activity-journey-art{object-position:50% 50%}
}

@media(max-width:600px){
  .activities-real-page .activity-journey-art-wrap{
    height:clamp(250px,68vw,340px);
    min-height:0;
  }
}

/* Maldives activities — responsive desktop copy protection.
   Long chapter headings get more horizontal room before the layout falls back
   to the stacked mobile presentation. This keeps the compact activity cards
   at the lower edge without letting them overlap the chapter description. */
@media(min-width:901px){
  .maldives-activities-page .activity-journey-copy{
    width:min(560px,42vw);
  }
  .maldives-activities-page .activity-journey-copy p{max-width:535px}
  .maldives-activities-page .activity-journey-state-meta{width:min(500px,100%)}
  .maldives-activities-page .activity-journey-copy :is(h1,h2){
    font-size:clamp(3rem,min(4.45vw,7vh),5.2rem);
  }
}

@media(max-width:1320px) and (min-width:901px){
  .maldives-activities-page .activity-journey-copy{
    top:5.4%;
    left:clamp(28px,3vw,40px);
    width:min(590px,54vw);
  }
  .maldives-activities-page .activity-title-break{display:none}
  .maldives-activities-page .activity-journey-copy :is(h1,h2){
    margin-bottom:13px;
    font-size:clamp(2.7rem,min(4.15vw,6.4vh),4.35rem);
    line-height:.94;
  }
  .maldives-activities-page .activity-journey-copy p{
    max-width:560px;
    font-size:clamp(.94rem,1vw,1.02rem);
    line-height:1.5;
  }
  .maldives-activities-page .activity-journey-state-meta{
    width:min(520px,100%);
    margin-top:20px;
    padding-top:13px;
  }
  .maldives-activities-page .activity-journey-copy::before{
    top:-18px;
    right:-20px;
    bottom:-20px;
    left:-22px;
  }
}

@media(max-width:1080px) and (min-width:901px){
  .maldives-activities-page .activity-journey-copy{
    top:4.8%;
    width:min(600px,60vw);
  }
  .maldives-activities-page .activity-journey-copy :is(h1,h2){
    font-size:clamp(2.55rem,min(4vw,6vh),3.8rem);
  }
  .maldives-activities-page .activity-journey-copy p{max-width:575px;font-size:.96rem}
  .maldives-activities-page .activity-journey-state-meta{
    width:min(540px,100%);
    margin-top:17px;
    padding-top:11px;
  }
  .maldives-activities-page .activity-journey-state-meta strong{font-size:1.12rem}
}

/* Sri Lanka activities — use the same responsive copy protection as the Maldives page.
   The description zone widens before the mobile breakpoint so long headings and
   paragraphs stay clear of the compact activity cards at the lower edge. */
@media(min-width:901px){
  .activities-real-page:not(.maldives-activities-page) .activity-journey-copy{
    width:min(560px,42vw);
  }
  .activities-real-page:not(.maldives-activities-page) .activity-journey-copy p{max-width:535px}
  .activities-real-page:not(.maldives-activities-page) .activity-journey-state-meta{width:min(500px,100%)}
  .activities-real-page:not(.maldives-activities-page) .activity-journey-copy :is(h1,h2){
    font-size:clamp(3rem,min(4.45vw,7vh),5.2rem);
  }
}

@media(max-width:1320px) and (min-width:901px){
  .activities-real-page:not(.maldives-activities-page) .activity-journey-copy{
    top:5.4%;
    left:clamp(28px,3vw,40px);
    width:min(590px,54vw);
  }
  .activities-real-page:not(.maldives-activities-page) .activity-journey-copy :is(h1,h2){
    margin-bottom:13px;
    font-size:clamp(2.7rem,min(4.15vw,6.4vh),4.35rem);
    line-height:.94;
  }
  .activities-real-page:not(.maldives-activities-page) .activity-journey-copy p{
    max-width:560px;
    font-size:clamp(.94rem,1vw,1.02rem);
    line-height:1.5;
  }
  .activities-real-page:not(.maldives-activities-page) .activity-journey-state-meta{
    width:min(520px,100%);
    margin-top:20px;
    padding-top:13px;
  }
  .activities-real-page:not(.maldives-activities-page) .activity-journey-copy::before{
    top:-18px;
    right:-20px;
    bottom:-20px;
    left:-22px;
  }
}

@media(max-width:1080px) and (min-width:901px){
  .activities-real-page:not(.maldives-activities-page) .activity-journey-copy{
    top:4.8%;
    width:min(600px,60vw);
  }
  .activities-real-page:not(.maldives-activities-page) .activity-journey-copy :is(h1,h2){
    font-size:clamp(2.55rem,min(4vw,6vh),3.8rem);
  }
  .activities-real-page:not(.maldives-activities-page) .activity-journey-copy p{max-width:575px;font-size:.96rem}
  .activities-real-page:not(.maldives-activities-page) .activity-journey-state-meta{
    width:min(540px,100%);
    margin-top:17px;
    padding-top:11px;
  }
  .activities-real-page:not(.maldives-activities-page) .activity-journey-state-meta strong{font-size:1.12rem}
}

/* Activity-page tailor-made CTA — mirrors the Destinations page closing card. */
.activity-tailor-wrap{
  background:#f3f1e8;
  padding:64px 30px;
}
.activity-tailor-cta{
  max-width:1420px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(240px,330px) auto;
  align-items:center;
  gap:28px;
  padding:34px 38px;
  border:1px solid rgba(230,121,47,.15);
  border-radius:20px;
  background:linear-gradient(115deg,#fff7ec 0%,#fbf4e9 54%,#eef6f9 100%);
  box-shadow:0 12px 30px rgba(16,40,62,.06);
}
.activity-tailor-copy{max-width:760px}
.activity-tailor-eyebrow{
  display:block;
  margin-bottom:8px;
  color:var(--accent);
  font-size:.625rem;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.activity-tailor-cta h2{
  margin:0 0 8px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(27px,2.4vw,38px);
  font-weight:500;
  line-height:1.08;
  letter-spacing:-.025em;
  color:var(--ink);
}
.activity-tailor-cta p{
  margin:0;
  color:var(--muted);
  font-size:13.5px;
  line-height:1.65;
}
.activity-tailor-art{display:flex;align-items:center;justify-content:center}
.activity-tailor-art img{
  display:block;
  width:100%;
  max-width:340px;
  height:auto;
  filter:drop-shadow(0 12px 24px rgba(16,40,62,.06));
}
.activity-tailor-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:46px;
  padding:10px 19px;
  border-radius:999px;
  background:var(--accent);
  color:#fff;
  text-decoration:none;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
  box-shadow:0 8px 18px rgba(230,121,47,.20);
  transition:transform .15s ease,filter .15s ease;
}
.activity-tailor-button:hover{transform:translateY(-1px);filter:brightness(.97)}
.activity-tailor-button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}

@media(max-width:1100px){
  .activity-tailor-wrap{padding:48px 22px}
  .activity-tailor-cta{grid-template-columns:1fr;justify-items:start;padding:28px 26px}
  .activity-tailor-art img{max-width:285px}
}
@media(max-width:680px){
  .activity-tailor-wrap{padding:40px 16px}
  .activity-tailor-cta{grid-template-columns:1fr;align-items:flex-start;padding:25px 22px;border-radius:16px}
  .activity-tailor-art img{max-width:250px}
  .activity-tailor-button{width:100%}
}

/* Destinations page v10 — ground-up interactive atlas */
.destinations-atlas-page{background:#f7f4ee}
.atlas-section{padding-top:68px;padding-bottom:82px;background:linear-gradient(180deg,#f7f4ee 0%,#f3efe7 100%)}
.atlas-section-head{max-width:980px;margin-bottom:34px}
.atlas-section-head p{max-width:880px}
.atlas-shell{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr) minmax(300px,360px);gap:22px;align-items:start}
.atlas-card{border:1px solid rgba(16,40,62,.08);border-radius:22px;background:rgba(255,255,255,.78);box-shadow:0 12px 34px rgba(16,40,62,.07);backdrop-filter:blur(16px)}
.atlas-sidebar,.atlas-detail-panel{padding:24px}
.atlas-mini-label{display:block;margin-bottom:7px;color:var(--accent);font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.atlas-sidebar h2,.atlas-region-summary h3,.atlas-detail-panel h2{margin:0;font-family:Georgia,'Times New Roman',serif;font-weight:500;line-height:1.08}
.atlas-sidebar-top h2{font-size:2rem;margin-bottom:10px}
.atlas-sidebar-top p,.atlas-region-summary p,.atlas-detail-empty p,.atlas-detail-description,.atlas-detail-block p{color:var(--muted);margin:0}
.atlas-region-chips{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}
.atlas-chip{padding:10px 14px;border:1px solid rgba(16,40,62,.12);border-radius:999px;background:#fff;color:var(--ink);font-size:.8rem;font-weight:700;line-height:1.25;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.atlas-chip:hover,.atlas-chip:focus-visible{transform:translateY(-1px);border-color:rgba(230,121,47,.42);box-shadow:0 8px 18px rgba(230,121,47,.12)}
.atlas-chip.is-active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 10px 20px rgba(230,121,47,.18)}
.atlas-region-summary{padding:18px;border-radius:18px;background:rgba(244,247,248,.72);border:1px solid rgba(16,40,62,.05)}
.atlas-region-summary h3{font-size:1.45rem;margin-bottom:10px}
.atlas-motif-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}
.atlas-motif-pill,.atlas-tag{display:inline-flex;align-items:center;min-height:31px;padding:0 11px;border-radius:999px;background:#fff;border:1px solid rgba(16,40,62,.08);font-size:.72rem;font-weight:700;color:var(--ink)}
.atlas-location-list-wrap{margin-top:18px}
.atlas-location-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.atlas-location-list-head strong{font-size:.82rem;color:var(--ink-2)}
.atlas-location-list{display:grid;gap:10px;max-height:430px;overflow:auto;padding-right:4px}
.atlas-location-btn{display:grid;gap:3px;width:100%;padding:12px 14px;border:1px solid rgba(16,40,62,.09);border-radius:16px;background:#fff;text-align:left;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,transform .2s ease,box-shadow .2s ease}
.atlas-location-btn strong{font-family:Georgia,'Times New Roman',serif;font-size:1rem;font-weight:500;line-height:1.15}
.atlas-location-btn span{color:var(--muted);font-size:.77rem;font-weight:600}
.atlas-location-btn:hover,.atlas-location-btn:focus-visible{transform:translateY(-1px);border-color:rgba(230,121,47,.38);box-shadow:0 9px 20px rgba(16,40,62,.07)}
.atlas-location-btn.is-selected{border-color:rgba(230,121,47,.55);background:rgba(230,121,47,.06)}
.atlas-map-panel{padding:18px}
.atlas-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.atlas-map-toolbar-copy{display:grid;gap:4px}
.atlas-map-toolbar-copy strong{font-family:Georgia,'Times New Roman',serif;font-size:1.4rem;font-weight:500;line-height:1.1}
.atlas-map-controls{display:flex;align-items:center;gap:8px}
.atlas-control-btn{min-width:42px;height:42px;padding:0 14px;border:1px solid rgba(16,40,62,.12);border-radius:999px;background:#fff;color:var(--ink);font-size:1.15rem;font-weight:700;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,transform .2s ease,box-shadow .2s ease}
.atlas-control-btn-wide{font-size:.83rem;letter-spacing:.03em;text-transform:uppercase}
.atlas-control-btn:hover,.atlas-control-btn:focus-visible{transform:translateY(-1px);border-color:rgba(230,121,47,.42);box-shadow:0 8px 18px rgba(16,40,62,.08)}
.atlas-map-stage{position:relative;aspect-ratio:2/3;border-radius:22px;overflow:hidden;background:linear-gradient(180deg,#dcecf1 0%,#cfe3e7 100%);border:1px solid rgba(16,40,62,.08);user-select:none;touch-action:none;cursor:grab}
.atlas-map-stage.is-dragging{cursor:grabbing}
.atlas-map{display:block;width:100%;height:100%}
.atlas-sea-ring{fill:rgba(255,255,255,.14)}
.atlas-island{stroke:rgba(16,40,62,.24);stroke-width:1.3;vector-effect:non-scaling-stroke}
.atlas-island-secondary{opacity:.5}
.atlas-highland-wash{opacity:.9}
.atlas-contour-shape{fill:rgba(92,124,88,.08);stroke:none}
.atlas-contour-shape-soft{fill:rgba(80,111,74,.08)}
.atlas-contour-line{fill:none;stroke:rgba(65,96,61,.28);stroke-width:.8;vector-effect:non-scaling-stroke}
.atlas-region-patch{opacity:.18;transition:opacity .2s ease}
.atlas-region-patch.is-active{opacity:.42}
.atlas-region-patch.is-dimmed{opacity:.12}
.atlas-route{fill:none;stroke:rgba(189,92,58,.56);stroke-width:1.05;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:.9}
.atlas-detail-icon{fill:none;stroke:rgba(16,40,62,.70);stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:.95}
.atlas-detail-western{stroke:rgba(45,104,121,.78)}
.atlas-detail-southern{stroke:rgba(118,86,58,.78)}
.atlas-detail-east{stroke:rgba(59,123,138,.82)}
.atlas-detail-cultural{stroke:rgba(152,96,51,.82)}
.atlas-detail-central{stroke:rgba(77,106,72,.82)}
.atlas-detail-wildlife{stroke:rgba(85,106,67,.82)}
.atlas-detail-north{stroke:rgba(121,91,67,.82)}
.atlas-detail-pilgrimage{stroke:rgba(90,84,138,.82)}
.atlas-marker{cursor:pointer}
.atlas-marker-hit{fill:transparent}
.atlas-marker-ring{fill:rgba(230,121,47,.16);stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke;transition:transform .18s ease,fill .18s ease}
.atlas-marker-core{fill:var(--accent);stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 6px rgba(16,40,62,.18));transition:transform .18s ease,fill .18s ease}
.atlas-marker.is-dimmed{opacity:.34}
.atlas-marker.is-hovered .atlas-marker-ring,.atlas-marker.is-selected .atlas-marker-ring{fill:rgba(230,121,47,.30);transform:scale(1.18)}
.atlas-marker.is-hovered .atlas-marker-core,.atlas-marker.is-selected .atlas-marker-core{transform:scale(1.18);fill:var(--accent-dark)}
.atlas-marker:focus-visible .atlas-marker-ring{stroke:var(--ink);stroke-width:2.2}
.atlas-label{cursor:pointer}
.atlas-label.is-dimmed{opacity:.34}
.atlas-label-text{fill:#10283e;font-family:Arial,Helvetica,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.01em;paint-order:stroke;stroke:rgba(255,255,255,.92);stroke-width:3;stroke-linejoin:round;transition:fill .2s ease}
.atlas-label tspan{dominant-baseline:middle}
.atlas-label-connector{fill:none;stroke:rgba(16,40,62,.22);stroke-width:.85;vector-effect:non-scaling-stroke}
.atlas-label.is-hovered .atlas-label-text,.atlas-label.is-selected .atlas-label-text{fill:var(--accent-dark)}
.atlas-label.is-hovered .atlas-label-connector,.atlas-label.is-selected .atlas-label-connector{stroke:rgba(230,121,47,.72);stroke-width:1.15}
.atlas-label:focus-visible .atlas-label-text{fill:var(--accent-dark)}
.atlas-map-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:14px;color:var(--muted);font-size:.77rem;font-weight:700}
.atlas-map-legend span{display:inline-flex;align-items:center;gap:7px}
.atlas-legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%}
.atlas-legend-dot-active{background:var(--accent)}
.atlas-legend-dot-region{background:rgba(97,132,77,.45)}
.atlas-legend-dot-detail{background:rgba(16,40,62,.55)}
.atlas-detail-empty{display:grid;gap:10px;min-height:240px;align-content:start}
.atlas-detail-content{display:grid;gap:16px}
.atlas-detail-media{position:relative;min-height:220px;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#d2dde1,#edf2f4)}
.atlas-detail-media img{width:100%;height:100%;object-fit:cover}
.atlas-detail-placeholder{position:absolute;inset:0;display:grid;place-items:center;padding:20px;text-align:center;color:var(--muted);background:linear-gradient(135deg,rgba(210,221,225,.85),rgba(237,242,244,.95))}
.atlas-detail-placeholder span{display:block;margin-bottom:6px;color:var(--ink);font-family:Georgia,'Times New Roman',serif;font-size:1.2rem}
.atlas-detail-body{display:grid;gap:12px}
.atlas-detail-category{display:inline-flex;align-items:center;justify-content:flex-start;width:max-content;min-height:30px;padding:0 10px;border-radius:999px;background:rgba(230,121,47,.08);color:var(--accent-dark);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.atlas-detail-known{margin:0;color:var(--accent-dark);font-size:.85rem;font-weight:700;letter-spacing:.02em}
.atlas-detail-description{margin:0}
.atlas-detail-block{display:grid;gap:7px}
.atlas-detail-block>span{color:var(--ink-2);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.atlas-tag-list{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:1320px){.atlas-shell{grid-template-columns:minmax(250px,310px) minmax(0,1fr)}.atlas-detail-panel{grid-column:1/-1}}
@media(max-width:980px){.atlas-section{padding-top:56px}.atlas-shell{grid-template-columns:1fr}.atlas-location-list{max-height:300px}.atlas-map-panel{order:2}.atlas-sidebar{order:1}.atlas-detail-panel{order:3}.atlas-map-stage{aspect-ratio:1/1.45}}
@media(max-width:760px){.atlas-section-head{margin-bottom:26px}.atlas-sidebar,.atlas-map-panel,.atlas-detail-panel{padding:18px}.atlas-sidebar-top h2{font-size:1.7rem}.atlas-map-toolbar{flex-direction:column;align-items:flex-start}.atlas-map-controls{width:100%}.atlas-control-btn{flex:1}.atlas-control-btn-wide{flex:1.25}.atlas-map-stage{aspect-ratio:1/1.6}.atlas-map-legend{gap:10px;font-size:.72rem}.atlas-location-btn strong{font-size:.95rem}}
@media(prefers-reduced-motion:reduce){.atlas-chip,.atlas-location-btn,.atlas-control-btn,.atlas-marker-ring,.atlas-marker-core,.atlas-label-text,.atlas-label-connector,.atlas-region-patch{transition:none}}

/* ===============================
   Destinations page v11 atlas redesign
   =============================== */
.destinations-atlas-page{background:linear-gradient(180deg,#f6f3ee 0%,#f8f6f1 180px,#ffffff 180px,#ffffff 100%)}
.destinations-atlas-page .destination-atlas-intro{padding-bottom:30px}
.destinations-atlas-page .destination-atlas-head{max-width:900px}
.destinations-atlas-page .destination-atlas-head p{margin:0;color:var(--muted);font-size:1.06rem;max-width:820px}
.destinations-atlas-page .destination-atlas-section{padding-top:28px}
.destinations-atlas-page .destination-atlas-app{display:grid;gap:24px}
.destinations-atlas-page .atlas-surface{border:1px solid rgba(16,40,62,.08);border-radius:28px;background:rgba(255,255,255,.94);box-shadow:0 18px 55px rgba(16,40,62,.08)}
.destinations-atlas-page .destination-mini-label{display:block;margin-bottom:10px;color:var(--accent);font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}

.destinations-atlas-page .destination-atlas-toolbar{display:grid;grid-template-columns:minmax(280px,330px) minmax(0,1fr);gap:28px;padding:28px 30px;align-items:start}
.destinations-atlas-page .destination-atlas-toolbar-copy h2{margin:0 0 10px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,3vw,2.7rem);font-weight:500;line-height:1.03}
.destinations-atlas-page .destination-atlas-toolbar-copy p{margin:0;color:var(--muted);max-width:320px}
.destinations-atlas-page .destination-atlas-toolbar-actions{display:grid;gap:18px;align-content:start}
.destinations-atlas-page .destination-region-chips{display:flex;flex-wrap:wrap;gap:12px}
.destinations-atlas-page .destination-region-chip{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border:1px solid rgba(16,40,62,.12);border-radius:999px;background:#fff;color:var(--ink);font-size:.83rem;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
.destinations-atlas-page .destination-region-chip:hover,.destinations-atlas-page .destination-region-chip:focus-visible{border-color:rgba(230,121,47,.35);color:var(--accent);transform:translateY(-1px);box-shadow:0 10px 18px rgba(16,40,62,.08);outline:none}
.destinations-atlas-page .destination-region-chip.is-active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 12px 22px rgba(230,121,47,.22)}

.destinations-atlas-page .destination-map-controls{display:flex;flex-wrap:wrap;gap:10px}
.destinations-atlas-page .destination-control-btn{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;padding:0 16px;border:1px solid rgba(16,40,62,.12);border-radius:999px;background:#fff;color:var(--ink);font-size:1.35rem;font-weight:700;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}
.destinations-atlas-page .destination-control-btn:hover,.destinations-atlas-page .destination-control-btn:focus-visible{background:var(--ink);border-color:var(--ink);color:#fff;transform:translateY(-1px);outline:none}
.destinations-atlas-page .destination-control-btn-wide{min-width:134px;font-size:.83rem;text-transform:uppercase;letter-spacing:.08em}

.destinations-atlas-page .destination-atlas-stage{position:relative;padding:28px}
.destinations-atlas-page .destination-atlas-meta{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr) auto;gap:22px;align-items:end;margin-bottom:24px}
.destinations-atlas-page .destination-atlas-meta h3{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.9rem,3vw,2.5rem);font-weight:500;line-height:1.05}
.destinations-atlas-page .destination-atlas-meta p{margin:0;color:var(--muted);max-width:620px}
.destinations-atlas-page .destination-motif-pills{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.destinations-atlas-page .destination-motif-pills span{padding:8px 12px;border-radius:999px;background:#f6efe7;color:#764623;font-size:.72rem;font-weight:700;letter-spacing:.03em}

.destinations-atlas-page .destination-atlas-map-wrap{position:relative;min-height:860px;padding:20px 18px;border-radius:26px;overflow:hidden;background:linear-gradient(180deg,#d1e6ee 0%,#bdd6df 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.32)}
.destinations-atlas-page .destination-atlas-map-wrap:before{content:'';position:absolute;inset:18px;border-radius:30px;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.35),rgba(255,255,255,0) 35%),radial-gradient(circle at 86% 74%,rgba(255,255,255,.24),rgba(255,255,255,0) 34%),linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.02));pointer-events:none}
.destinations-atlas-page .destination-atlas-map{position:relative;z-index:1;display:block;width:min(100%,1080px);height:auto;max-height:calc(100vh - 230px);margin:0 auto;cursor:grab;user-select:none;-webkit-user-select:none}
.destinations-atlas-page .destination-atlas-map.is-dragging{cursor:grabbing}
.destinations-atlas-page .destination-map-legend{display:flex;flex-wrap:wrap;gap:18px;margin-top:16px;color:rgba(16,40,62,.62);font-size:.78rem;font-weight:700}
.destinations-atlas-page .legend-dot{display:inline-block;width:12px;height:12px;margin-right:7px;border-radius:50%;vertical-align:-1px}
.destinations-atlas-page .legend-dot-marker{background:#e6792f;box-shadow:0 0 0 4px rgba(230,121,47,.16)}
.destinations-atlas-page .legend-dot-region{background:#9ab18f;box-shadow:0 0 0 4px rgba(154,177,143,.18)}
.destinations-atlas-page .legend-dot-illustration{background:#3a8ba1;box-shadow:0 0 0 4px rgba(58,139,161,.16)}

.destinations-atlas-page .destination-floating-panel{position:absolute;z-index:4;top:26px;right:26px;width:min(360px,33vw);max-height:calc(100% - 52px);overflow:auto;border:1px solid rgba(16,40,62,.09);border-radius:24px;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);box-shadow:0 25px 64px rgba(16,40,62,.22)}
.destinations-atlas-page .destination-floating-close{position:absolute;top:14px;right:14px;z-index:3;width:38px;height:38px;border:1px solid rgba(16,40,62,.08);border-radius:50%;background:rgba(255,255,255,.94);color:var(--ink);font-size:1.5rem;line-height:1;cursor:pointer;box-shadow:0 8px 16px rgba(16,40,62,.10)}
.destinations-atlas-page .destination-floating-close:hover,.destinations-atlas-page .destination-floating-close:focus-visible{background:var(--ink);color:#fff;outline:none}
.destinations-atlas-page .destination-floating-empty{padding:28px 28px 32px}
.destinations-atlas-page .destination-floating-empty h3{margin:0 0 10px;font-family:Georgia,'Times New Roman',serif;font-size:2rem;font-weight:500;line-height:1.08}
.destinations-atlas-page .destination-floating-empty p{margin:0;color:var(--muted)}
.destinations-atlas-page .destination-floating-media{position:relative;min-height:220px;background:linear-gradient(145deg,#d8ded8,#eef1ec);overflow:hidden}
.destinations-atlas-page .destination-floating-media img{width:100%;height:100%;object-fit:cover;opacity:1;transition:opacity .2s ease}
.destinations-atlas-page .destination-floating-media.is-missing img{opacity:0}
.destinations-atlas-page .destination-floating-placeholder{position:absolute;inset:0;display:none;place-items:center;align-content:center;gap:8px;padding:28px;text-align:center;color:rgba(16,40,62,.56);background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.66),transparent 58%)}
.destinations-atlas-page .destination-floating-media.is-missing .destination-floating-placeholder{display:grid}
.destinations-atlas-page .destination-floating-placeholder span{font-family:Georgia,'Times New Roman',serif;font-size:1.15rem;color:var(--ink)}
.destinations-atlas-page .destination-floating-placeholder small{max-width:240px;font-size:.76rem;line-height:1.5}
.destinations-atlas-page .destination-floating-body{padding:26px 28px 30px}
.destinations-atlas-page .destination-floating-category{display:block;margin-bottom:10px;color:var(--accent);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.destinations-atlas-page .destination-floating-body h3{margin:0 0 8px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.9rem,2.6vw,2.5rem);font-weight:500;line-height:1.03;letter-spacing:-.02em}
.destinations-atlas-page .destination-floating-known{margin:0 0 18px;color:rgba(16,40,62,.52);font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.destinations-atlas-page .destination-floating-description{margin:0;color:var(--muted);font-size:.95rem;line-height:1.68}
.destinations-atlas-page .destination-floating-block{margin-top:22px;padding-top:20px;border-top:1px solid rgba(16,40,62,.08)}
.destinations-atlas-page .destination-floating-block > span{display:block;margin-bottom:8px;color:var(--ink);font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.destinations-atlas-page .destination-floating-block p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.58}
.destinations-atlas-page .destination-tag-list{display:flex;flex-wrap:wrap;gap:8px}
.destinations-atlas-page .destination-tag-list span{padding:8px 11px;border-radius:999px;background:#fff5ec;border:1px solid rgba(230,121,47,.16);color:#6c472d;font-size:.69rem;font-weight:700}

.destinations-atlas-page .destination-browser{padding:24px 26px 28px}
.destinations-atlas-page .destination-browser-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:18px}
.destinations-atlas-page .destination-browser-head h2{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.75rem,2.4vw,2.3rem);font-weight:500;line-height:1.08}
.destinations-atlas-page .destination-browser-head strong{color:var(--muted);font-size:.9rem;font-weight:700;white-space:nowrap}
.destinations-atlas-page .destination-location-pills{display:flex;flex-wrap:wrap;gap:10px}
.destinations-atlas-page .destination-location-pill{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 15px;border:1px solid rgba(16,40,62,.11);border-radius:999px;background:#fff;color:var(--ink);font-size:.83rem;font-weight:700;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
.destinations-atlas-page .destination-location-pill::before{content:'';width:8px;height:8px;border-radius:50%;background:rgba(230,121,47,.5);box-shadow:0 0 0 4px rgba(230,121,47,.12)}
.destinations-atlas-page .destination-location-pill:hover,.destinations-atlas-page .destination-location-pill:focus-visible{border-color:rgba(230,121,47,.35);color:var(--accent);transform:translateY(-1px);box-shadow:0 10px 18px rgba(16,40,62,.08);outline:none}
.destinations-atlas-page .destination-location-pill.is-selected{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:0 14px 24px rgba(16,40,62,.14)}
.destinations-atlas-page .destination-location-pill.is-selected::before{background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.16)}

/* SVG drawing styles */
.destinations-atlas-page .destination-atlas-map .atlas-sea-core{fill:#c7dde6}
.destinations-atlas-page .destination-atlas-map .atlas-sea-blob{fill:rgba(255,255,255,.16)}
.destinations-atlas-page .destination-atlas-map .atlas-sea-edge{fill:none;stroke:rgba(255,255,255,.22);stroke-width:10}
.destinations-atlas-page .destination-atlas-map .atlas-island-base{fill:#f6f0de;stroke:#aeb4aa;stroke-width:2.2}
.destinations-atlas-page .destination-atlas-map .atlas-region-fill{opacity:.9;stroke:rgba(255,255,255,.65);stroke-width:1.4}
.destinations-atlas-page .destination-atlas-map .atlas-water{fill:#a8d7ea;opacity:.9}
.destinations-atlas-page .destination-atlas-map .atlas-route{fill:none;stroke:#db6d54;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;opacity:.72}
.destinations-atlas-page .destination-atlas-map .atlas-route-subtle{fill:none;stroke:#db6d54;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;opacity:.42}
.destinations-atlas-page .destination-atlas-map .atlas-compass text{font-family:Georgia,'Times New Roman',serif;font-size:18px;fill:#27455e;opacity:.85}
.destinations-atlas-page .destination-atlas-map .atlas-compass line,.destinations-atlas-page .destination-atlas-map .atlas-compass path{stroke:#27455e;stroke-width:2;fill:none;opacity:.85}
.destinations-atlas-page .destination-atlas-map .atlas-motif{pointer-events:none}
.destinations-atlas-page .destination-atlas-map .atlas-motif .fill-sand{fill:#f0e39d}
.destinations-atlas-page .destination-atlas-map .atlas-motif .fill-green{fill:#7fbe49}
.destinations-atlas-page .destination-atlas-map .atlas-motif .fill-darkgreen{fill:#2f6a40}
.destinations-atlas-page .destination-atlas-map .atlas-motif .fill-blue{fill:#53b0dc}
.destinations-atlas-page .destination-atlas-map .atlas-motif .fill-brown{fill:#8d6a4c}
.destinations-atlas-page .destination-atlas-map .atlas-motif .fill-gold{fill:#e3b34f}
.destinations-atlas-page .destination-atlas-map .atlas-motif .fill-stone{fill:#d9d8d2}
.destinations-atlas-page .destination-atlas-map .atlas-motif .fill-charcoal{fill:#3a403f}
.destinations-atlas-page .destination-atlas-map .atlas-motif .fill-red{fill:#d75a40}
.destinations-atlas-page .destination-atlas-map .atlas-motif .fill-purple{fill:#655ab2}
.destinations-atlas-page .destination-atlas-map .atlas-motif .outline{stroke:#6f6a62;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;fill:none}
.destinations-atlas-page .destination-atlas-map .atlas-category-highlight{opacity:.18;transition:opacity .22s ease}
.destinations-atlas-page .destination-atlas-map .atlas-category-highlight.is-active{opacity:.42}
.destinations-atlas-page .destination-atlas-map .atlas-marker-ring{fill:#fff;opacity:.55}
.destinations-atlas-page .destination-atlas-map .atlas-marker-core{fill:#e6792f;stroke:#fff;stroke-width:2}
.destinations-atlas-page .destination-atlas-map .atlas-marker-group{cursor:pointer;transition:opacity .2s ease,transform .2s ease}
.destinations-atlas-page .destination-atlas-map .atlas-marker-group.is-dimmed{opacity:.22}
.destinations-atlas-page .destination-atlas-map .atlas-marker-group.is-active .atlas-marker-core{fill:#10283e}
.destinations-atlas-page .destination-atlas-map .atlas-marker-group.is-active .atlas-marker-ring{opacity:.9;fill:rgba(230,121,47,.18)}
.destinations-atlas-page .destination-atlas-map .atlas-marker-group.is-hover .atlas-marker-core{fill:#10283e}
.destinations-atlas-page .destination-atlas-map .atlas-destination-label{font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:15px;fill:#72808d;cursor:pointer;transition:opacity .2s ease,fill .2s ease;font-kerning:normal;letter-spacing:.01em}
.destinations-atlas-page .destination-atlas-map .atlas-destination-label.is-prominent{fill:#20344a}
.destinations-atlas-page .destination-atlas-map .atlas-destination-label.is-dimmed{opacity:.18}
.destinations-atlas-page .destination-atlas-map .atlas-destination-label.is-active,.destinations-atlas-page .destination-atlas-map .atlas-destination-label.is-hover{fill:#e6792f;opacity:1}

@media(max-width:1320px){
  .destinations-atlas-page .destination-atlas-toolbar{grid-template-columns:1fr;gap:22px}
  .destinations-atlas-page .destination-atlas-toolbar-copy p{max-width:none}
  .destinations-atlas-page .destination-atlas-meta{grid-template-columns:1fr;align-items:start}
  .destinations-atlas-page .destination-motif-pills{justify-content:flex-start}
  .destinations-atlas-page .destination-floating-panel{width:min(350px,38vw)}
}
@media(max-width:980px){
  .destinations-atlas-page .destination-atlas-map-wrap{min-height:760px}
  .destinations-atlas-page .destination-atlas-map{max-height:none;width:min(100%,760px)}
  .destinations-atlas-page .destination-floating-panel{top:auto;right:18px;bottom:18px;width:min(340px,46vw);max-height:60%}
}
@media(max-width:760px){
  .destinations-atlas-page .destination-atlas-intro{padding-bottom:18px}
  .destinations-atlas-page .destination-atlas-toolbar,.destinations-atlas-page .destination-atlas-stage,.destinations-atlas-page .destination-browser{padding:20px}
  .destinations-atlas-page .destination-atlas-map-wrap{min-height:0;padding:14px 12px 16px;border-radius:22px}
  .destinations-atlas-page .destination-atlas-map{width:100%;max-height:none}
  .destinations-atlas-page .destination-floating-panel{position:static;width:100%;max-height:none;margin-top:16px;border-radius:22px;box-shadow:0 18px 36px rgba(16,40,62,.15)}
  .destinations-atlas-page .destination-floating-close{top:12px;right:12px}
  .destinations-atlas-page .destination-map-legend{gap:10px;font-size:.74rem}
  .destinations-atlas-page .destination-browser-head{flex-direction:column;align-items:flex-start;gap:10px}
  .destinations-atlas-page .destination-atlas-toolbar-actions{gap:14px}
  .destinations-atlas-page .destination-region-chips{display:grid;grid-template-columns:1fr 1fr}
  .destinations-atlas-page .destination-region-chip{min-height:44px;padding:0 12px;font-size:.76rem;text-align:center}
  .destinations-atlas-page .destination-map-controls{gap:8px}
  .destinations-atlas-page .destination-control-btn{min-width:44px;min-height:44px}
}
@media(max-width:560px){
  .destinations-atlas-page .destination-region-chips{grid-template-columns:1fr}
  .destinations-atlas-page .destination-floating-body{padding:22px 20px 24px}
  .destinations-atlas-page .destination-floating-empty{padding:22px 20px 24px}
}

/* ============================================================
   Destinations hybrid illustrated atlas v12
   Scoped to destinations-hybrid-page only.
   ============================================================ */
.destinations-hybrid-page{background:#fbfaf7}
.destinations-hybrid-page .destination-hybrid-hero{padding:54px 0 24px;background:linear-gradient(180deg,#fbfaf7 0%,#f8f4ee 100%)}
.destinations-hybrid-page .destination-hybrid-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:48px;align-items:end}
.destinations-hybrid-page .destination-hybrid-intro{max-width:760px}
.destinations-hybrid-page .destination-hybrid-intro h1{margin:.15rem 0 .55rem;font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.6rem,7vw,6.5rem);font-weight:500;line-height:.92;letter-spacing:-.04em}
.destinations-hybrid-page .destination-hybrid-intro p{max-width:700px;margin:0;color:var(--muted);font-size:1.06rem;line-height:1.58}
.destinations-hybrid-page .destination-hybrid-signature{justify-self:end;display:grid;justify-items:center;align-content:end;min-width:300px;padding-bottom:7px;color:#173a58;text-align:center}
.destinations-hybrid-page .destination-hybrid-signature span,.destinations-hybrid-page .destination-hybrid-signature strong{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:500;line-height:1}
.destinations-hybrid-page .destination-hybrid-signature span{font-size:1.65rem;transform:rotate(-3deg)}
.destinations-hybrid-page .destination-hybrid-signature strong{margin-top:3px;font-size:2.05rem;transform:rotate(-3deg)}
.destinations-hybrid-page .destination-hybrid-signature i{display:block;width:98px;height:2px;margin:16px 0 10px;background:var(--accent);transform:rotate(-8deg);border-radius:999px}
.destinations-hybrid-page .destination-hybrid-signature small{font-size:.62rem;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:rgba(16,40,62,.52)}

.destinations-hybrid-page .destination-hybrid-section{padding:0 0 76px;background:linear-gradient(180deg,#f8f4ee 0%,#fff 160px,#fff 100%)}
.destinations-hybrid-page .destination-hybrid-regionbar{display:flex;gap:10px;overflow-x:auto;padding:10px 12px;margin-bottom:16px;border:1px solid rgba(16,40,62,.07);border-radius:22px;background:rgba(255,255,255,.94);box-shadow:0 12px 32px rgba(16,40,62,.07);scrollbar-width:none;position:sticky;top:92px;z-index:16;backdrop-filter:blur(12px)}
.destinations-hybrid-page .destination-hybrid-regionbar::-webkit-scrollbar{display:none}
.destinations-hybrid-page .destination-hybrid-region-chip{flex:0 0 auto;min-height:44px;padding:0 18px;border:1px solid rgba(16,40,62,.10);border-radius:999px;background:#fff;color:var(--ink);font-size:.74rem;font-weight:750;white-space:nowrap;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}
.destinations-hybrid-page .destination-hybrid-region-chip:hover,.destinations-hybrid-page .destination-hybrid-region-chip:focus-visible{border-color:rgba(230,121,47,.42);color:var(--accent);outline:none;transform:translateY(-1px)}
.destinations-hybrid-page .destination-hybrid-region-chip.is-active{background:linear-gradient(180deg,#f28a3d,#e66e20);border-color:transparent;color:#fff;box-shadow:0 8px 18px rgba(230,121,47,.24)}

.destinations-hybrid-page .destination-hybrid-layout{display:grid;grid-template-columns:minmax(0,2.65fr) minmax(320px,.95fr);gap:16px;align-items:stretch}
.destinations-hybrid-page .destination-hybrid-map-card,.destinations-hybrid-page .destination-hybrid-detail,.destinations-hybrid-page .destination-hybrid-browser{border:1px solid rgba(16,40,62,.08);border-radius:24px;background:#fff;box-shadow:0 18px 48px rgba(16,40,62,.09)}
.destinations-hybrid-page .destination-hybrid-map-card{overflow:hidden;background:#b9dfe8}
.destinations-hybrid-page .destination-hybrid-map-stage{position:relative;aspect-ratio:1119/625;overflow:hidden;background:#b9dfe8;touch-action:none}
.destinations-hybrid-page .destination-hybrid-map{display:block;width:100%;height:100%;cursor:grab;user-select:none;-webkit-user-select:none}
.destinations-hybrid-page .destination-hybrid-map.is-dragging{cursor:grabbing}
.destinations-hybrid-page .destination-hybrid-controls{position:absolute;z-index:6;top:16px;right:16px;display:grid;gap:9px}
.destinations-hybrid-page .destination-hybrid-controls button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid rgba(16,40,62,.10);border-radius:50%;background:rgba(255,255,255,.94);color:var(--ink);font-size:1.15rem;font-weight:800;cursor:pointer;box-shadow:0 8px 18px rgba(16,40,62,.11);backdrop-filter:blur(8px);transition:transform .18s ease,background-color .18s ease,color .18s ease}
.destinations-hybrid-page .destination-hybrid-controls button:hover,.destinations-hybrid-page .destination-hybrid-controls button:focus-visible{background:var(--ink);color:#fff;outline:none;transform:translateY(-1px)}

.destinations-hybrid-page .destination-hybrid-detail{display:flex;min-height:100%;flex-direction:column;overflow:hidden}
.destinations-hybrid-page .destination-hybrid-detail-media{position:relative;aspect-ratio:16/9;min-height:205px;margin:12px 12px 0;border-radius:17px;overflow:hidden;background:linear-gradient(145deg,#d7e4e9,#eef2ee)}
.destinations-hybrid-page .destination-hybrid-detail-media img{width:100%;height:100%;object-fit:cover;opacity:1;transition:opacity .2s ease}
.destinations-hybrid-page .destination-hybrid-detail-media.is-missing img{opacity:0}
.destinations-hybrid-page .destination-hybrid-detail-placeholder{position:absolute;inset:0;display:none;place-items:center;align-content:center;gap:7px;padding:28px;text-align:center;background:linear-gradient(145deg,#d8e8ed,#edf1ea);color:rgba(16,40,62,.55)}
.destinations-hybrid-page .destination-hybrid-detail-media.is-missing .destination-hybrid-detail-placeholder{display:grid}
.destinations-hybrid-page .destination-hybrid-detail-placeholder span{font-family:Georgia,'Times New Roman',serif;font-size:1.2rem;color:var(--ink)}
.destinations-hybrid-page .destination-hybrid-detail-placeholder small{max-width:250px;font-size:.77rem;line-height:1.45}
.destinations-hybrid-page .destination-hybrid-detail-body{display:flex;flex:1;flex-direction:column;padding:20px 22px 24px}
.destinations-hybrid-page .destination-hybrid-category{display:inline-flex;align-self:flex-start;margin-bottom:10px;padding:6px 10px;border-radius:999px;background:#fff1e7;color:#c85c19;font-size:.62rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.destinations-hybrid-page .destination-hybrid-detail h2{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.1rem,3vw,3rem);font-weight:500;line-height:.98;letter-spacing:-.03em}
.destinations-hybrid-page .destination-hybrid-known{display:block;margin:8px 0 14px;color:var(--accent);font-size:.87rem;line-height:1.25}
.destinations-hybrid-page .destination-hybrid-description{margin:0;color:var(--muted);font-size:.91rem;line-height:1.62}
.destinations-hybrid-page .destination-hybrid-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}
.destinations-hybrid-page .destination-hybrid-tags span{display:inline-flex;align-items:center;min-height:34px;padding:0 10px;border:1px solid rgba(16,40,62,.10);border-radius:999px;background:#fff;color:#31475b;font-size:.68rem;font-weight:700}
.destinations-hybrid-page .destination-hybrid-distinctive{margin-top:auto;padding-top:18px;border-top:1px solid rgba(16,40,62,.08)}
.destinations-hybrid-page .destination-hybrid-distinctive>span{display:block;margin-bottom:7px;color:var(--ink);font-size:.62rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.destinations-hybrid-page .destination-hybrid-distinctive p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.55}

.destinations-hybrid-page .destination-hybrid-browser{margin-top:16px;padding:22px 24px 24px}
.destinations-hybrid-page .destination-hybrid-browser-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:16px}
.destinations-hybrid-page .destination-hybrid-mini-label{display:block;margin-bottom:5px;color:var(--accent);font-size:.62rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.destinations-hybrid-page .destination-hybrid-browser-head h2{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.55rem,2.5vw,2.15rem);font-weight:500;line-height:1.05}
.destinations-hybrid-page .destination-hybrid-browser-head strong{color:var(--muted);font-size:.82rem;white-space:nowrap}
.destinations-hybrid-page .destination-hybrid-location-list{display:flex;flex-wrap:wrap;gap:8px}
.destinations-hybrid-page .destination-hybrid-location{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 12px;border:1px solid rgba(16,40,62,.10);border-radius:999px;background:#fff;color:var(--ink);font-size:.75rem;font-weight:700;cursor:pointer;transition:border-color .18s ease,color .18s ease,background-color .18s ease,transform .18s ease}
.destinations-hybrid-page .destination-hybrid-location:before{content:'';width:7px;height:7px;border-radius:50%;background:#e6792f;box-shadow:0 0 0 3px rgba(230,121,47,.12)}
.destinations-hybrid-page .destination-hybrid-location:hover,.destinations-hybrid-page .destination-hybrid-location:focus-visible{border-color:rgba(230,121,47,.38);color:var(--accent);outline:none;transform:translateY(-1px)}
.destinations-hybrid-page .destination-hybrid-location.is-selected{background:var(--ink);border-color:var(--ink);color:#fff}
.destinations-hybrid-page .destination-hybrid-location.is-selected:before{background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.14)}

.destinations-hybrid-page .destination-hybrid-map .hybrid-hit{fill:transparent;cursor:pointer;pointer-events:all}
.destinations-hybrid-page .destination-hybrid-map .hybrid-marker{cursor:pointer;transition:opacity .2s ease}
.destinations-hybrid-page .destination-hybrid-map .hybrid-marker-ring{fill:rgba(255,255,255,.84);stroke:rgba(230,121,47,.38);stroke-width:1.5}
.destinations-hybrid-page .destination-hybrid-map .hybrid-marker-core{fill:#e6792f;stroke:#fff;stroke-width:1.4}
.destinations-hybrid-page .destination-hybrid-map .hybrid-marker.is-baked .hybrid-marker-ring,.destinations-hybrid-page .destination-hybrid-map .hybrid-marker.is-baked .hybrid-marker-core{opacity:0}
.destinations-hybrid-page .destination-hybrid-map .hybrid-marker.is-baked:hover .hybrid-marker-ring,.destinations-hybrid-page .destination-hybrid-map .hybrid-marker.is-baked:hover .hybrid-marker-core,.destinations-hybrid-page .destination-hybrid-map .hybrid-marker.is-active .hybrid-marker-ring,.destinations-hybrid-page .destination-hybrid-map .hybrid-marker.is-active .hybrid-marker-core{opacity:1}
.destinations-hybrid-page .destination-hybrid-map .hybrid-marker.is-active .hybrid-marker-ring{fill:rgba(255,255,255,.96);stroke:#10283e;stroke-width:2}
.destinations-hybrid-page .destination-hybrid-map .hybrid-marker.is-active .hybrid-marker-core{fill:#10283e}
.destinations-hybrid-page .destination-hybrid-map .hybrid-marker.is-dimmed{opacity:.12}
.destinations-hybrid-page .destination-hybrid-map .hybrid-label{font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:800;fill:#173a58;paint-order:stroke;stroke:rgba(255,255,255,.96);stroke-width:4px;stroke-linejoin:round;cursor:pointer;transition:opacity .18s ease,fill .18s ease}
.destinations-hybrid-page .destination-hybrid-map .hybrid-label.is-dimmed{opacity:.12}
.destinations-hybrid-page .destination-hybrid-map .hybrid-label.is-active,.destinations-hybrid-page .destination-hybrid-map .hybrid-label:hover{fill:#e6792f}
.destinations-hybrid-page .destination-hybrid-map .hybrid-region-halo{fill:rgba(255,244,218,.20);stroke:rgba(230,121,47,.7);stroke-width:2.2;stroke-dasharray:8 8;pointer-events:none}
.destinations-hybrid-page .destination-hybrid-map .hybrid-focus-pulse{fill:none;stroke:#fff;stroke-width:2.5;opacity:.9;pointer-events:none}

.destinations-hybrid-page .destination-hybrid-cta{background:#fff}

@media(max-width:1180px){
  .destinations-hybrid-page .destination-hybrid-layout{grid-template-columns:minmax(0,1.9fr) minmax(300px,.95fr)}
  .destinations-hybrid-page .destination-hybrid-detail-body{padding:18px 18px 22px}
  .destinations-hybrid-page .destination-hybrid-description{font-size:.86rem}
  .destinations-hybrid-page .destination-hybrid-signature{min-width:250px}
}
@media(max-width:900px){
  .destinations-hybrid-page .destination-hybrid-hero-inner{grid-template-columns:1fr}
  .destinations-hybrid-page .destination-hybrid-signature{justify-self:start;justify-items:start;min-width:0;text-align:left}
  .destinations-hybrid-page .destination-hybrid-regionbar{top:70px}
  .destinations-hybrid-page .destination-hybrid-layout{grid-template-columns:1fr}
  .destinations-hybrid-page .destination-hybrid-detail{min-height:0}
  .destinations-hybrid-page .destination-hybrid-detail-media{aspect-ratio:16/8;min-height:180px}
}
@media(max-width:760px){
  .destinations-hybrid-page .destination-hybrid-hero{padding:36px 0 18px}
  .destinations-hybrid-page .destination-hybrid-intro h1{font-size:clamp(3rem,15vw,4.7rem)}
  .destinations-hybrid-page .destination-hybrid-signature{display:none}
  .destinations-hybrid-page .destination-hybrid-regionbar{margin-left:-2px;margin-right:-2px;padding:8px;border-radius:18px}
  .destinations-hybrid-page .destination-hybrid-region-chip{min-height:40px;padding:0 14px;font-size:.7rem}
  .destinations-hybrid-page .destination-hybrid-map-card,.destinations-hybrid-page .destination-hybrid-detail,.destinations-hybrid-page .destination-hybrid-browser{border-radius:18px}
  .destinations-hybrid-page .destination-hybrid-map-stage{aspect-ratio:1119/625}
  .destinations-hybrid-page .destination-hybrid-controls{top:10px;right:10px;gap:7px}
  .destinations-hybrid-page .destination-hybrid-controls button{width:36px;height:36px;font-size:1rem}
  .destinations-hybrid-page .destination-hybrid-detail-media{margin:10px 10px 0;border-radius:14px}
  .destinations-hybrid-page .destination-hybrid-browser{padding:18px}
  .destinations-hybrid-page .destination-hybrid-browser-head{align-items:flex-start;flex-direction:column;gap:6px}
  .destinations-hybrid-page .destination-hybrid-location-list{gap:7px}
  .destinations-hybrid-page .destination-hybrid-location{font-size:.71rem;min-height:36px;padding:0 10px}
  .destinations-hybrid-page .destination-hybrid-map .hybrid-label{font-size:12px;stroke-width:3.5px}
}
@media(prefers-reduced-motion:reduce){
  .destinations-hybrid-page .destination-hybrid-region-chip,.destinations-hybrid-page .destination-hybrid-location,.destinations-hybrid-page .destination-hybrid-controls button{transition:none!important}
}

/* Hybrid atlas v12 refinement: keep the map dominant and avoid grid stretching. */
.destinations-hybrid-page .destination-hybrid-hero>.container,
.destinations-hybrid-page .destination-hybrid-section>.container{width:min(calc(100% - 64px),1540px)}
.destinations-hybrid-page .destination-hybrid-layout{align-items:start}
.destinations-hybrid-page .destination-hybrid-map-card{align-self:start}
@media(max-width:760px){
  .destinations-hybrid-page .destination-hybrid-hero>.container,
  .destinations-hybrid-page .destination-hybrid-section>.container{width:min(calc(100% - 28px),1540px)}
}

/* ================================================================
   Page section navigation v4
   Slightly larger desktop rail + automatic mobile section menu for
   pages with four or more direct content sections.
   ================================================================ */
@media (min-width:1181px){
  .page-section-menu{display:none!important}

  .page-chapter-rail{
    right:24px;
    gap:9px;
    width:62px;
  }
  .page-chapter-rail a{
    grid-template-columns:25px 14px;
    gap:8px;
    width:62px;
    min-height:31px;
  }
  .page-chapter-rail .page-chapter-number{
    font-size:.60rem;
    letter-spacing:.085em;
  }
  .page-chapter-rail .page-chapter-dot{
    width:6px;
    height:6px;
  }
  .page-chapter-rail .page-chapter-label{
    right:55px;
    font-size:.63rem;
  }
  .page-chapter-rail a.is-active .page-chapter-dot{
    transform:scale(1.72);
  }
  .activity-rail-pending{
    grid-template-columns:25px 14px;
    gap:8px;
    width:62px;
    min-height:31px;
  }
  .activity-rail-pending .page-chapter-number{font-size:.60rem}
  .activity-rail-pending .page-chapter-dot{width:6px;height:6px}
  .has-page-section-menu main>section[id]{scroll-margin-top:112px}
}

@media (max-width:1180px){
  .page-section-menu{
    display:block;
    position:sticky;
    top:0;
    z-index:60;
    overflow-x:auto;
    background:rgba(255,255,255,.98);
    border-bottom:1px solid var(--line);
    box-shadow:0 5px 18px rgba(16,40,62,.055);
    backdrop-filter:blur(10px);
    scrollbar-width:none;
  }
  .page-section-menu::-webkit-scrollbar{display:none}
  .page-section-menu .container{
    display:flex;
    gap:26px;
    width:max-content;
    min-width:100%;
  }
  .page-section-menu a{
    flex:0 0 auto;
    padding:15px 0;
    color:var(--ink);
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.075em;
    text-decoration:none;
    text-transform:uppercase;
    white-space:nowrap;
  }
  .page-section-menu a:hover,
  .page-section-menu a:focus-visible,
  .page-section-menu a.is-active{color:var(--accent)}
  .has-page-section-menu main>section[id]{scroll-margin-top:72px}
}

@media (max-width:760px){
  .page-section-menu .container{padding:0 20px;gap:22px}
  .page-section-menu a{padding:14px 0;font-size:.68rem}
  .has-page-section-menu main>section[id]{scroll-margin-top:64px}
}

/* ================================================================
   Vertical viewport responsiveness v12
   Complements the existing width breakpoints on wide-but-short screens.
   These rules are intentionally conservative: normal desktop/mobile layouts
   stay unchanged, while full-height/sticky UI compresses before overlapping.
   ================================================================ */
@media (min-width:761px) and (max-height:820px){
  .section{padding:72px 0}
  .hero-content{padding:72px 0 56px}
  .hero h1{font-size:clamp(2.85rem,min(6.4vw,10.5vh),5.8rem)}
  .hero-actions{margin-top:22px}
  .page-hero .inner{padding:58px 0 44px}
  .page-title{font-size:clamp(2.6rem,min(5.6vw,9.5vh),4.8rem)}
  .split .visual{min-height:min(400px,54vh)}
  .placeholder{min-height:auto;padding:52px 0}
  .placeholder .box{padding:42px}
  .site-footer{padding-top:50px}
  .footer-bottom{margin-top:32px}
  .mice-hero-inner{padding-top:62px;padding-bottom:48px}
  .responsibility-hero-inner{padding-top:62px;padding-bottom:48px}
  .accommodation-page-hero .inner{padding-top:58px;padding-bottom:44px}
  .hotel-detail-modal{max-height:90vh}
}

@media (min-width:761px) and (max-height:680px){
  .section{padding:58px 0}
  .hero-content{padding:54px 0 42px}
  .hero h1{font-size:clamp(2.65rem,min(6vw,10vh),5rem)}
  .hero p{font-size:1rem;line-height:1.55}
  .page-hero .inner{padding:46px 0 34px}
  .page-title{font-size:clamp(2.45rem,min(5.2vw,9vh),4.25rem)}
  .split .visual{min-height:min(360px,50vh)}
  .placeholder{padding:40px 0}
  .placeholder .box{padding:34px}
  .site-footer{padding-top:42px}
}

/* Keep long desktop chapter rails entirely inside short browser windows. */
@media (min-width:1181px) and (max-height:820px){
  .page-chapter-rail{gap:clamp(4px,1vh,9px);max-height:calc(100vh - 28px)}
  .page-chapter-rail a,
  .activity-rail-pending{min-height:clamp(24px,3.8vh,31px)}
}
@media (min-width:1181px) and (max-height:650px){
  .page-chapter-rail{right:18px;gap:3px}
  .page-chapter-rail a,
  .activity-rail-pending{min-height:23px}
  .page-chapter-rail .page-chapter-number,
  .activity-rail-pending .page-chapter-number{font-size:.55rem}
  .page-chapter-rail .page-chapter-dot,
  .activity-rail-pending .page-chapter-dot{width:5px;height:5px}
}

/* Final desktop safety override: the four-card top-right card must never sit
   in the chapter number/title zone, regardless of older layout rules. */
@media (min-width:901px) and (min-height:721px){
  .activity-card-count-4 .activity-card-pos-2{top:27%!important;bottom:auto!important}
  .activity-card-count-4 .activity-card-pos-3{top:52%!important;bottom:auto!important}
}

/* Activities — vertical responsiveness v13.
   Keep the desktop composition spacious while there is enough height. On
   short desktops, preserve card gaps rather than stacking cards tighter.
   When the viewport becomes too short for the composition, switch the
   activity chapter itself to the same document-flow treatment used on
   tablets/mobile, even if the screen is still wide. */
@media (min-width:901px) and (min-height:721px) and (max-height:860px){
  .activity-journey-stage{min-height:0}
  .activity-journey-copy{top:clamp(26px,5vh,40px)!important}
  .activity-journey-copy :is(h1,h2){font-size:clamp(2.9rem,min(4.45vw,7.2vh),4.75rem)!important;line-height:.93!important;margin-bottom:12px!important}
  .activity-journey-copy p{font-size:.93rem!important;line-height:1.46!important}
  .activity-journey-copy .eyebrow{margin-bottom:9px!important}
  .activity-journey-state-meta{margin-top:15px!important}
  .activity-journey-copy>small{margin-top:7px!important}
  .activity-journey-chapter-count{top:clamp(18px,4.5vh,34px)!important}

  .activity-journey-card{width:min(205px,14.5vw)!important;min-height:116px!important;padding:10px 12px 9px!important}
  .activity-journey-card-index{margin-bottom:4px!important}
  .activity-journey-card strong{font-size:1rem!important;line-height:1.08!important}
  .activity-journey-card-label{margin-top:6px!important}
  .activity-journey-card-locations{font-size:.64rem!important;line-height:1.24!important}
  .activity-journey-card-link{margin-top:6px!important}

  /* Never compress the right-hand cards into a pile. */
  .activity-card-pos-1,
  .activity-card-count-4 .activity-card-pos-1{bottom:4%!important}
  .activity-card-pos-2,
  .activity-card-count-4 .activity-card-pos-2{top:29%!important;bottom:auto!important}
  .activity-card-pos-3{bottom:4%!important;top:auto!important}
  .activity-card-count-4 .activity-card-pos-3{top:56%!important;bottom:auto!important}
  .activity-card-count-4 .activity-card-pos-4{top:auto!important;bottom:4%!important}
  .activity-journey-environment{bottom:3.4%!important}
}

/* Wide-but-short activity fallback is now JS-measured (v15).
   Do not force document flow from viewport height alone: browser chrome, zoom
   and OS scaling can make a normal desktop report a deceptively short CSS
   viewport. The measured card-fit logic below decides when fallback is needed. */

/* ================================================================
   Activities — adaptive vertical card distribution v14
   Uses JS-measured card heights to distribute right-side activity cards
   through the actual remaining stage height. If the measured stack cannot
   fit with a safe gap, the chapter switches to the existing document-flow
   activity layout instead of compressing or overlapping cards.
   ================================================================ */
.activity-card-measure-shell{
  position:fixed;
  left:-10000px;
  top:0;
  z-index:-1;
  visibility:hidden;
  pointer-events:none;
}
.activity-card-measure-shell .activity-journey-card{
  position:relative!important;
  inset:auto!important;
  display:grid!important;
}

/* Give the 1–7 chapter rail its own lane. */
@media (min-width:1181px){
  .activities-journey-page:not(.activity-force-flow) .activity-card-pos-2,
  .activities-journey-page:not(.activity-force-flow) .activity-card-pos-3,
  .activities-journey-page:not(.activity-force-flow) .activity-card-pos-4,
  .activities-journey-page:not(.activity-force-flow) .activity-card-count-4 .activity-card-pos-2,
  .activities-journey-page:not(.activity-force-flow) .activity-card-count-4 .activity-card-pos-3,
  .activities-journey-page:not(.activity-force-flow) .activity-card-count-4 .activity-card-pos-4{
    right:max(8.2vw,135px)!important;
  }
}

/* Keep desktop cards at their normal readable size; if there is not enough
   vertical room, JS switches the chapter to document flow instead. */
@media (min-width:901px) and (min-height:721px) and (max-height:860px){
  .activities-journey-page:not(.activity-force-flow) .activity-journey-card{
    width:min(220px,15.3vw)!important;
    min-height:132px!important;
    padding:12px 14px 11px!important;
  }
  .activities-journey-page:not(.activity-force-flow) .activity-journey-card-index{margin-bottom:5px!important}
  .activities-journey-page:not(.activity-force-flow) .activity-journey-card strong{font-size:clamp(.98rem,1.22vw,1.2rem)!important;line-height:1.09!important}
  .activities-journey-page:not(.activity-force-flow) .activity-journey-card-label{margin-top:8px!important}
  .activities-journey-page:not(.activity-force-flow) .activity-journey-card-locations{font-size:.65rem!important;line-height:1.27!important}
  .activities-journey-page:not(.activity-force-flow) .activity-journey-card-link{margin-top:8px!important}
}

/* JS-triggered short-desktop fallback. This mirrors the established mobile /
   tablet activity structure without requiring the viewport width to shrink. */
@media (min-width:901px){
  .activities-journey-page.activity-force-flow [data-header]{position:relative!important}
  .activities-journey-page.activity-force-flow .activity-chapter-rail{display:none!important}
  .activities-journey-page.activity-force-flow .activity-mobile-chapter-nav{
    position:sticky;top:0;z-index:69;display:flex!important;gap:0;overflow-x:auto;
    background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);
    box-shadow:0 5px 18px rgba(16,40,62,.05);scrollbar-width:none
  }
  .activities-journey-page.activity-force-flow .activity-mobile-chapter-nav::-webkit-scrollbar{display:none}
  .activities-journey-page.activity-force-flow .activity-mobile-chapter-nav a,
  .activities-journey-page.activity-force-flow .activity-mobile-chapter-nav span{
    flex:0 0 auto;padding:11px 13px;color:rgba(16,40,62,.47);font-size:.61rem;
    font-weight:800;letter-spacing:.06em;text-decoration:none;text-transform:uppercase;white-space:nowrap
  }
  .activities-journey-page.activity-force-flow .activity-mobile-chapter-nav a.is-active{color:var(--accent)}
  .activities-journey-page.activity-force-flow .activity-mobile-chapter-nav span{opacity:.38}

  .activities-journey-page.activity-force-flow .activity-journey-chapter{min-height:auto!important;background:#f3f1e8;scroll-margin-top:42px}
  .activities-journey-page.activity-force-flow .activity-journey-stage{position:relative!important;top:auto!important;height:auto!important;min-height:0!important;overflow:visible!important;background:#f3f1e8}
  .activities-journey-page.activity-force-flow .activity-journey-art-wrap{position:relative!important;inset:auto!important;height:min(48vw,420px)!important;min-height:280px!important;transform:none!important;opacity:1!important;overflow:hidden}
  .activities-journey-page.activity-force-flow .activity-journey-art{object-position:center center;filter:saturate(.94) contrast(.99)}
  .activities-journey-page.activity-force-flow .activity-journey-scrim{position:absolute;height:min(48vw,420px)!important;min-height:280px!important;background:linear-gradient(180deg,rgba(7,28,43,.05),rgba(7,28,43,.2))}

  .activities-journey-page.activity-force-flow .activity-journey-copy{position:relative!important;top:auto!important;left:auto!important;width:auto!important;max-width:none!important;margin:0!important;padding:24px 32px 18px!important;background:#f3f1e8;color:var(--ink);text-shadow:none}
  .activities-journey-page.activity-force-flow .activity-journey-copy .eyebrow{margin-bottom:9px}
  .activities-journey-page.activity-force-flow .activity-journey-copy :is(h1,h2){margin-bottom:12px!important;color:var(--ink);font-size:clamp(2.6rem,5vw,4rem)!important;line-height:.96!important}
  .activities-journey-page.activity-force-flow .activity-journey-copy p{max-width:760px!important;color:rgba(16,40,62,.68)!important;font-size:.94rem!important;line-height:1.5!important}
  .activities-journey-page.activity-force-flow .activity-journey-state-meta,
  .activities-journey-page.activity-force-flow .activity-journey-copy>small{display:none!important}
  .activities-journey-page.activity-force-flow .activity-journey-chapter-count{top:16px!important;right:22px!important;color:rgba(255,255,255,.84)}
  .activities-journey-page.activity-force-flow .activity-journey-chapter-count small{display:none!important}
  .activities-journey-page.activity-force-flow .activity-journey-cards,
  .activities-journey-page.activity-force-flow .activity-journey-environment{display:none!important}

  .activities-journey-page.activity-force-flow .activity-mobile-states{display:block!important;padding:0 32px 42px;background:#f3f1e8}
  .activities-journey-page.activity-force-flow .activity-mobile-state{padding:22px 0;border-top:1px solid rgba(16,40,62,.10)}
  .activities-journey-page.activity-force-flow .activity-mobile-state-heading{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}
  .activities-journey-page.activity-force-flow .activity-mobile-state-heading>span{color:var(--accent);font-size:.64rem;font-weight:900;letter-spacing:.13em}
  .activities-journey-page.activity-force-flow .activity-mobile-state-heading h2{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:1.45rem;font-weight:500}
  .activities-journey-page.activity-force-flow .activity-mobile-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .activities-journey-page.activity-force-flow .activity-mobile-card-grid .activity-journey-card{position:relative!important;inset:auto!important;width:100%!important;min-height:0!important;height:100%;padding:14px!important;background:#fff;border-color:rgba(16,40,62,.10);box-shadow:0 7px 20px rgba(16,40,62,.05)}
  .activities-journey-page.activity-force-flow .activity-journey-next-inner{align-items:start;flex-direction:column}
}

@media (min-width:901px) and (max-width:1180px){
  .activities-journey-page.activity-force-flow .activity-mobile-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* Activities card-fit repair v15: the right card lane is intentionally kept
   clear of the 1–7 chapter rail. Vertical fallback is controlled by measured
   content fit in JS, not a raw max-height media query. */
@media (min-width:1181px){
  .activities-journey-page:not(.activity-force-flow) .activity-card-pos-2,
  .activities-journey-page:not(.activity-force-flow) .activity-card-pos-3,
  .activities-journey-page:not(.activity-force-flow) .activity-card-pos-4,
  .activities-journey-page:not(.activity-force-flow) .activity-card-count-4 .activity-card-pos-2,
  .activities-journey-page:not(.activity-force-flow) .activity-card-count-4 .activity-card-pos-3,
  .activities-journey-page:not(.activity-force-flow) .activity-card-count-4 .activity-card-pos-4{
    right:max(8.2vw,135px)!important;
  }
}

/* Mobile primary navigation: keep active/hover accent beneath the link text. */
@media(max-width:1320px){
  .nav > a:not(.nav-contact-mobile){align-self:flex-start}
  .nav > a:not(.nav-contact-mobile):after{bottom:4px}
}

/* Mobile/tablet horizontal-scroll menu cues v49 */
.horizontal-scroll-cue{display:none}
@media (max-width:1180px){
  .sri-discover-tabs.horizontal-scroll-cue-host{position:relative}
  .horizontal-scroll-cue-host{scrollbar-width:none}
  .horizontal-scroll-cue-host::-webkit-scrollbar{display:none}
  .horizontal-scroll-cue{
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    z-index:90;
    display:block;
    width:42px;
    min-width:42px;
    margin:0;
    padding:0;
    border:0;
    opacity:0;
    pointer-events:none;
    transition:opacity .16s ease;
  }
  .horizontal-scroll-cue.is-visible{opacity:1}
  .horizontal-scroll-cue-left{background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.92) 48%,rgba(255,255,255,0) 100%)}
  .horizontal-scroll-cue-right{background:linear-gradient(270deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.92) 48%,rgba(255,255,255,0) 100%)}
  .horizontal-scroll-cue:after{
    position:absolute;
    top:50%;
    display:grid;
    place-items:center;
    width:22px;
    height:22px;
    border:1px solid rgba(16,40,62,.10);
    border-radius:50%;
    background:rgba(255,255,255,.96);
    color:var(--accent);
    box-shadow:0 3px 10px rgba(16,40,62,.10);
    font-family:Arial,Helvetica,sans-serif;
    font-size:20px;
    font-style:normal;
    font-weight:700;
    line-height:1;
    transform:translateY(-50%);
  }
  .horizontal-scroll-cue-left:after{content:'‹';left:4px;padding:0 1px 1px 0}
  .horizontal-scroll-cue-right:after{content:'›';right:4px;padding:0 0 1px 1px}
}
@media (prefers-reduced-motion:reduce){.horizontal-scroll-cue{transition:none}}



/* Brevo newsletter footer integration v50 */
.footer-newsletter{min-width:0}
.footer-newsletter .newsletter-intro{max-width:520px;margin:0 0 15px}
.footer-newsletter .egh-brevo-form{margin:0;padding:0;background:transparent;text-align:left}
.footer-newsletter .egh-newsletter-shell,
.footer-newsletter .egh-sib-container,
.footer-newsletter #sib-container{
  width:100%;max-width:none;margin:0;padding:0;border:0;border-radius:0;
  background:transparent;box-shadow:none;text-align:left
}
.footer-newsletter .newsletter{display:grid;gap:11px;margin:0;padding:0}
.footer-newsletter .sib-form-block,
.footer-newsletter .form__entry,
.footer-newsletter .form__label-row,
.footer-newsletter .entry__choice{margin:0;padding:0;background:transparent}
.footer-newsletter .newsletter-label{
  display:block;margin:0 0 6px;color:rgba(255,255,255,.72);font-family:inherit;
  font-size:.72rem;font-weight:700;letter-spacing:.035em
}
.footer-newsletter .entry__field{margin:0!important;padding:0!important;border:0!important;outline:none!important;box-shadow:none!important;background:transparent!important}
.footer-newsletter .entry__field:focus,
.footer-newsletter .entry__field:focus-within{border:0!important;outline:none!important;box-shadow:none!important;background:transparent!important}
.footer-newsletter .newsletter-email,
.footer-newsletter #EMAIL{
  display:block;width:100%;height:auto;min-height:44px;margin:0;padding:12px 14px;
  border:1px solid rgba(255,255,255,.22)!important;border-radius:999px!important;
  outline:0;background:rgba(255,255,255,.08)!important;color:#fff!important;
  font-family:inherit!important;font-size:.9rem!important;line-height:1.25;text-align:left!important;
  transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease
}
.footer-newsletter #EMAIL::placeholder{color:rgba(255,255,255,.48)!important;font-family:inherit!important;text-align:left!important}
.footer-newsletter #EMAIL:focus{border-color:rgba(230,121,47,.88)!important;background:rgba(255,255,255,.11)!important;box-shadow:0 0 0 3px rgba(230,121,47,.13)}
.footer-newsletter .newsletter-consent-label{
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:start;margin:0;
  cursor:pointer;color:rgba(255,255,255,.74);font-family:inherit;font-size:.75rem;line-height:1.45;text-align:left
}
.footer-newsletter .newsletter-consent-label .checkbox{margin-top:2px}
.footer-newsletter .newsletter-consent-copy{display:block;min-width:0;color:inherit;font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;text-align:left!important}
.footer-newsletter .newsletter-specification{margin:5px 0 0 27px;color:rgba(255,255,255,.48);font-family:inherit;font-size:.68rem;line-height:1.4;text-align:left}
.footer-newsletter .newsletter-captcha{min-height:65px;overflow:visible}
.footer-newsletter .newsletter-captcha .form__label-row{display:block}
.footer-newsletter .newsletter-submit-wrap{text-align:left}
.footer-newsletter .newsletter-submit{
  display:inline-flex;align-items:center;justify-content:center;min-height:42px;width:auto;margin:0;
  padding:10px 18px;border:0;border-radius:999px;background:var(--accent);color:#fff!important;
  font-family:inherit!important;font-size:.76rem!important;font-weight:800!important;letter-spacing:.045em;
  line-height:1;text-transform:uppercase;text-align:center!important;cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease
}
.footer-newsletter .newsletter-submit:hover,.footer-newsletter .newsletter-submit:focus-visible{transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,0,0,.18)}
.footer-newsletter .newsletter-submit .progress-indicator__icon{width:15px;height:15px;margin-right:8px;fill:currentColor}
.footer-newsletter .newsletter-field-error{
  display:block;min-height:0;margin:5px 0 0;padding:0;border:0!important;border-radius:0!important;
  background:transparent!important;color:#ffd0c8!important;font-family:inherit!important;font-size:.7rem!important;
  line-height:1.35;text-align:left!important
}
.footer-newsletter .newsletter-field-error:empty{display:none}
.footer-newsletter .newsletter-message{
  display:none;width:100%;max-width:none;margin:0 0 11px;padding:10px 12px;border:1px solid;
  border-radius:8px;background:transparent;font-family:inherit;font-size:.76rem;line-height:1.45;text-align:left
}
.footer-newsletter .newsletter-message.sib-form-message-panel--active{display:block}
.footer-newsletter .newsletter-message .sib-form-message-panel__text{padding:0;color:inherit;font-family:inherit;text-align:left}
.footer-newsletter .newsletter-message--error{border-color:rgba(255,146,128,.45);background:rgba(125,24,24,.18);color:#ffd8d1}
.footer-newsletter .newsletter-message--success{border-color:rgba(139,220,169,.4);background:rgba(31,112,61,.18);color:#d8f5e2}
.footer-newsletter .newsletter-declaration{margin:1px 0 0;padding:0;background:transparent;color:rgba(255,255,255,.43);font-family:inherit;font-size:.66rem;line-height:1.45;text-align:left}
.footer-newsletter .newsletter-declaration p{margin:0;color:inherit;font-size:inherit;line-height:inherit}
.footer-newsletter .newsletter-declaration a{color:rgba(255,255,255,.66);font-size:inherit;text-decoration:underline;text-underline-offset:2px}
.footer-newsletter .newsletter-declaration a:hover,.footer-newsletter .newsletter-declaration a:focus-visible{color:#fff}
.footer-newsletter .input--hidden{position:absolute!important;left:-5000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:760px){
  .footer-newsletter{max-width:560px}
  .footer-newsletter .newsletter{gap:12px}
  .footer-newsletter .newsletter-submit{width:100%;min-height:44px}
}
@media(max-width:360px){
  .footer-newsletter .newsletter-captcha{min-height:59px;overflow:hidden}
  .footer-newsletter .newsletter-captcha .cf-turnstile{transform:scale(.9);transform-origin:left top}
}
@media(hover:none){.footer-newsletter .newsletter-submit:hover{transform:none}}


/* EGH enquiry forms v52 -------------------------------------------------- */
.form-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.enquiry-verification{width:min(100%,420px);margin:16px 0 18px}
.enquiry-verification .cf-turnstile{width:100%;max-width:100%}
[data-contact-form][aria-busy="true"]{cursor:progress}
[data-contact-form] button[type="submit"]:disabled{opacity:.68;cursor:wait;transform:none}
[data-contact-status].form-status--sending{display:block!important;background:#eef4f8!important;border-color:#cbdbe6!important;color:#31546a!important}
[data-contact-status].form-status--success{display:block!important;background:#eef8f1!important;border-color:#cfe7d5!important;color:#245f36!important}
[data-contact-status].form-status--error{display:block!important;background:#fff1ef!important;border-color:#efc6bf!important;color:#8a352b!important}
@media(max-width:520px){.enquiry-verification{width:100%;margin:14px 0 16px}.enquiry-verification .cf-turnstile{min-width:0}}


/* Launch readiness v54: breadcrumbs and custom 404 */
.breadcrumbs-bar{border-bottom:1px solid rgba(16,40,62,.08);background:#fff;color:var(--muted)}
.breadcrumbs-list{display:flex;align-items:center;gap:9px;min-height:42px;font-size:.76rem;line-height:1.3;white-space:nowrap;overflow-x:auto;scrollbar-width:none}
.breadcrumbs-list::-webkit-scrollbar{display:none}
.breadcrumbs-list a{color:var(--ink);text-decoration:none;font-weight:650}
.breadcrumbs-list a:hover{text-decoration:underline;text-underline-offset:3px}
.breadcrumbs-list [aria-current="page"]{color:var(--muted)}
.breadcrumb-separator{color:rgba(16,40,62,.32)}
.error-page{min-height:62vh;display:grid;align-items:center;padding:88px 0;background:linear-gradient(135deg,#f7f4ec 0%,#eef3f5 100%)}
.error-page-inner{max-width:760px}
.error-code{display:inline-block;margin-bottom:14px;color:var(--accent);font-size:.75rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.error-page h1{margin:0 0 18px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(3rem,7vw,5.6rem);font-weight:500;line-height:.95;letter-spacing:-.045em;color:var(--ink)}
.error-page p{max-width:620px;margin:0 0 28px;color:var(--muted);font-size:1.02rem;line-height:1.7}
.error-actions{display:flex;flex-wrap:wrap;gap:12px}
@media(max-width:760px){.breadcrumbs-list{padding-top:1px;padding-bottom:1px}.error-page{padding:68px 0}.error-actions .btn{width:100%;text-align:center}}
