:root{font-family:'DM Sans',Arial,sans-serif;color:#213e36;background:#fff;font-size:16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation}a:focus-visible{outline:3px solid #d6a853;outline-offset:4px}.wrap{width:min(1200px,calc(100% - 48px));margin:auto}.skip{position:absolute;left:-999px;z-index:20;background:#fff;padding:12px}.skip:focus{left:12px;top:12px}.topbar{height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1200px)/2));background:#123e36;color:#f3e9d4;font-size:.76rem;letter-spacing:.08em}.topbar a:hover{text-decoration:underline}.header{height:82px;padding:0 max(24px,calc((100vw - 1200px)/2));display:flex;align-items:center;gap:48px;background:#fff}.brand{display:inline-flex;flex-direction:column;font-family:Georgia,serif;font-weight:700;letter-spacing:.11em;font-size:1.63rem;line-height:.82;color:#1b5143;white-space:nowrap}.brand small{font-family:'DM Sans',sans-serif;font-size:.54rem;letter-spacing:.57em;margin-top:8px;margin-left:3px}.nav{display:flex;gap:34px;margin-left:auto;font-size:.91rem;font-weight:600}.nav a:hover,.text-link:hover{color:#b28131}.header-cta{border:1px solid #245748;padding:12px 17px;font-size:.82rem;font-weight:700;white-space:nowrap}.header-cta:hover{background:#123e36;color:#fff}.header-cta span{margin-left:11px}.hero{height:min(660px,70vw);min-height:510px;position:relative;color:#fff;overflow:hidden;background:#3b5f57}.hero-photo{position:absolute;inset:0;background-image:url('/assets/hero.jpg');background-size:cover;background-position:center 47%;transform:scale(1.005)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,32,29,.82),rgba(10,32,29,.32) 52%,rgba(10,32,29,.05)),linear-gradient(0deg,rgba(8,35,30,.37),transparent 36%)}.hero-content{position:relative;padding-top:130px}.eyebrow{font-size:.76rem;font-weight:700;letter-spacing:.19em;color:#ad7b34;margin:0 0 21px}.eyebrow.light{color:#edcf91}.hero h1,.intro h2,.section-head h2,.statement h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-.035em}.hero h1{font-size:clamp(3.5rem,6.4vw,6.7rem);line-height:1.08;margin:0 0 22px}.hero h1 em,.statement h2 em{font-weight:500;color:#e9c67c}.hero-content>p:not(.eyebrow){font-size:1.1rem;line-height:1.65;max-width:480px;color:#f0efea;margin:0 0 31px}.button{display:inline-flex;align-items:center;justify-content:center;gap:40px;padding:17px 22px;font-size:.91rem;font-weight:700}.button.gold{background:#d7ae61;color:#1d3f36}.button:hover{filter:brightness(1.08)}.hero-index{position:absolute;bottom:31px;left:max(24px,calc((100vw - 1200px)/2));right:max(24px,calc((100vw - 1200px)/2));display:flex;justify-content:space-between;border-top:1px solid #ffffff80;padding-top:17px;font-size:.72rem;letter-spacing:.14em}.intro{display:grid;grid-template-columns:1.1fr .9fr;gap:9%;align-items:center;padding:105px 0 112px}.intro h2{font-size:clamp(2.4rem,4vw,4rem);line-height:1.17;margin:0;max-width:600px}.intro>p{font-size:1.03rem;line-height:1.85;color:#60726b;margin:45px 0 0}.tours{background:#f5f7f3;padding:94px 0 80px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:37px}.section-head h2{font-size:clamp(2.3rem,3.7vw,3.7rem);line-height:1.15;margin:0}.text-link{font-size:.92rem;font-weight:700;border-bottom:1px solid #879a8e;padding-bottom:7px}.text-link span{margin-left:20px}.tour-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.tour-card{min-width:0;background:#fff;display:flex;flex-direction:column}.tour-art{height:265px;background-size:cover;background-position:center;position:relative;background-color:#3c665c}.tour-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.26),transparent 55%)}.tour-art.morocco{background-image:url('/assets/morocco.jpg')}.tour-art.tibet{background-image:url('/assets/hero.jpg');background-position:center}.tour-art.cebu{background-image:url('/assets/cebu.jpg')}.art-label{position:absolute;bottom:17px;left:20px;z-index:1;color:#fff;font-size:.75rem;letter-spacing:.14em;font-weight:700}.tour-body{padding:24px 24px 23px;display:flex;flex:1;flex-direction:column}.tour-meta{font-size:.72rem;letter-spacing:.12em;color:#a77832;font-weight:700;margin:0 0 11px}.tour-body h3{font-family:'Playfair Display',Georgia,serif;font-size:1.61rem;line-height:1.2;font-weight:600;margin:0 0 10px}.tour-body>p:not(.tour-meta){color:#6a7972;line-height:1.55;font-size:.91rem;margin:0 0 25px}.tour-bottom{border-top:1px solid #e5eae5;padding-top:20px;margin-top:auto;display:flex;align-items:end;justify-content:space-between;gap:10px}.tour-bottom div{display:flex;flex-direction:column;gap:5px}.tour-bottom small{color:#718279;font-size:.75rem}.tour-bottom strong{font-size:1.21rem;color:#154a3b}.tour-bottom strong small{font-size:.8rem;color:#154a3b}.tour-bottom>a{white-space:nowrap;color:#215b49;font-weight:700;font-size:.85rem}.tour-bottom>a span{margin-left:5px}.note{color:#687971;font-size:.8rem;margin:24px 0 0}.statement{background:#123e36;color:#fff;text-align:center;padding:96px 0 105px}.statement h2{font-size:clamp(2.4rem,4.5vw,4.9rem);line-height:1.22;margin:0 0 36px}.statement .outline{border:1px solid #d3b278;color:#f5e0ad}.statement .outline:hover{background:#d3b278;color:#173f35}footer{background:#0e302a;color:#ecf1e9;padding:65px 0 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.2fr;gap:50px;padding-bottom:60px}.footer-brand{color:#fff;margin-bottom:24px}.footer-grid p{font-size:.88rem;color:#b8cbc1;line-height:1.7}.footer-grid h2{font-size:.81rem;letter-spacing:.12em;text-transform:uppercase;color:#dfc58e;margin:0 0 24px}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:12px}.footer-grid a{font-size:.9rem;color:#dbe9df}.footer-grid a:hover{color:#e6c681}.footer-bottom{border-top:1px solid #ffffff30;padding:20px 0 28px;display:flex;justify-content:space-between;gap:20px;color:#9fb8ad;font-size:.76rem}@media(max-width:950px){.nav{gap:16px}.header{gap:20px}.tour-grid{grid-template-columns:repeat(2,1fr)}.tour-card:last-child{grid-column:span 2}.tour-card:last-child .tour-art{height:270px}.intro{gap:5%}}@media(max-width:650px){.wrap{width:min(100% - 36px,1200px)}.topbar{height:28px;padding:0 18px;font-size:.63rem}.topbar span{display:none}.topbar a{margin-left:auto}.header{height:69px;padding:0 18px;gap:12px;flex-wrap:wrap}.brand{font-size:1.35rem}.brand small{font-size:.44rem}.nav{order:3;width:100%;justify-content:space-between;background:#fff;padding:10px 0 12px;font-size:.78rem}.header-cta{margin-left:auto;padding:8px 10px;font-size:.72rem}.header-cta span{margin-left:3px}.hero{margin-top:41px;min-height:550px;height:70vh;max-height:680px}.hero-photo{background-position:60% center}.hero-shade{background:linear-gradient(90deg,rgba(10,32,29,.78),rgba(10,32,29,.25)),linear-gradient(0deg,rgba(8,35,30,.48),transparent 60%)}.hero-content{padding-top:118px}.hero h1{font-size:3.45rem}.hero-content>p:not(.eyebrow){font-size:1rem;max-width:340px}.hero-index{left:18px;right:18px;font-size:.58rem}.hero-index span:last-child{display:none}.intro{display:block;padding:76px 0}.intro h2{font-size:2.65rem}.intro>p{margin-top:25px}.tours{padding:72px 0}.section-head{display:block}.section-head h2{font-size:2.7rem}.text-link{display:inline-block;margin-top:20px}.tour-grid{grid-template-columns:1fr}.tour-card:last-child{grid-column:auto}.tour-art,.tour-card:last-child .tour-art{height:235px}.statement{padding:72px 0}.statement h2{font-size:2.75rem}.footer-grid{grid-template-columns:1fr;gap:31px;padding-bottom:42px}.footer-grid h2{margin-bottom:4px}.footer-bottom{display:block;line-height:2}.footer-bottom span{display:block}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* OLWEN PUBLIC V2 */
.portal-bar{background:#075f16;color:#fff}.portal-inner{min-height:72px;display:grid;grid-template-columns:repeat(3,1fr);align-items:stretch}.portal-link{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 18px;border-right:1px solid rgba(255,255,255,.22);transition:.2s}.portal-link:first-child{border-left:1px solid rgba(255,255,255,.22)}.portal-link:hover,.portal-link.active{background:rgba(255,255,255,.1)}.portal-icon{font-size:1.45rem}.portal-link span:last-child{display:flex;flex-direction:column}.portal-link strong{font-family:'Playfair Display',Georgia,serif;font-size:1.08rem}.portal-link small{font-size:.68rem;opacity:.85;margin-top:2px}.header{position:relative;z-index:5;height:88px;border-bottom:1px solid #e8ece9}.brand>span{font-family:'Playfair Display',Georgia,serif;font-size:1.65rem;font-weight:700;letter-spacing:.02em;color:#0c3f2c}.brand>small{font-family:'DM Sans',sans-serif;font-size:.61rem;letter-spacing:.02em;margin-top:5px;color:#526b61}.header-phone{background:#0c5137;color:white;padding:12px 17px;border-radius:7px;font-weight:700;font-size:.85rem}.header-phone:hover{background:#083f2b}.menu-toggle{display:none;margin-left:auto;border:0;background:transparent;font-size:1.5rem;color:#123e36}.hero{height:620px;min-height:520px}.hero-shade{background:linear-gradient(90deg,rgba(8,37,29,.78),rgba(8,37,29,.28) 58%,rgba(8,37,29,.08)),linear-gradient(0deg,rgba(8,35,30,.26),transparent 45%)}.hero-content{padding-top:115px}.hero h1{font-size:clamp(3.3rem,5.6vw,6rem)}.hero h1 em{font-style:italic;color:#f2c14d}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.button.outline{border:1px solid rgba(255,255,255,.75);color:#fff;background:transparent}.button.green{background:#0b5a36;color:#fff}.button.full{width:100%;margin-top:12px}.trust-strip{background:#fff;border-bottom:1px solid #e7ece8}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);min-height:105px;align-items:center}.trust-grid>div{display:flex;align-items:center;gap:14px;padding:22px}.trust-grid>div>span{width:42px;height:42px;border:2px solid #0a4d36;border-radius:50%;display:grid;place-items:center;color:#0a4d36;font-size:1.25rem}.trust-grid p{margin:0;display:flex;flex-direction:column}.trust-grid strong{font-size:.9rem}.trust-grid small{font-size:.75rem;color:#7a8982;margin-top:3px}.tours-section,.departures-section,.destination-section{padding:78px 0}.departures-section{background:#f5f7f4}.destination-section{padding-top:70px}.section-head.compact h2{font-size:clamp(2rem,3.4vw,3.2rem)}.loading-card,.data-empty{grid-column:1/-1;padding:38px;background:#fff;border:1px solid #e0e7e2;color:#64736d;text-align:center}.modern-card{border:1px solid #e3e8e4;border-radius:10px;overflow:hidden;box-shadow:0 10px 30px rgba(16,60,43,.06)}.tour-card-image{height:235px;background-size:cover;background-position:center;position:relative}.tour-card-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.18),transparent 55%)}.tour-badge{position:absolute;left:14px;top:14px;background:#0b5a36;color:#fff;border-radius:999px;padding:8px 12px;font-size:.67rem;font-weight:700;letter-spacing:.06em;z-index:2}.tour-route{color:#6d7c75!important;margin-bottom:12px!important}.tour-facts{display:flex;flex-wrap:wrap;gap:8px 14px;color:#586c62;font-size:.78rem;margin-bottom:18px}.modern-card .tour-bottom>a{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#c78e21;color:#fff;font-size:1.15rem}.departure-list{display:grid;gap:10px}.loading-row{background:#fff;padding:30px;text-align:center;color:#65766e}.departure-row{display:grid;grid-template-columns:150px 1fr 130px 150px;align-items:center;gap:18px;background:#fff;border:1px solid #e1e7e3;border-radius:10px;padding:18px}.date-chip{display:flex;flex-direction:column}.date-chip strong{font-size:.93rem}.date-chip small{color:#718179;margin-top:4px}.departure-main h3{font-size:.95rem;margin:0 0 5px}.departure-main p{margin:0;color:#738078;font-size:.78rem}.departure-seats{font-size:.78rem;color:#b23b2b;border:1px solid #efb0a7;border-radius:999px;padding:7px 10px;text-align:center}.departure-price{text-align:right;font-weight:700;color:#c07c0a}.sync-status{font-size:.75rem;color:#7b8982}.destination-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.destination-card{height:220px;border-radius:8px;overflow:hidden;background-size:cover;background-position:center;position:relative}.destination-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.68),rgba(0,0,0,.04) 70%)}.destination-card>div{position:absolute;left:18px;right:18px;bottom:18px;color:#fff;z-index:2;display:flex;flex-direction:column}.destination-card strong{font-size:1.15rem}.destination-card span{font-size:.75rem;margin-top:4px}.destination-card.europe{background-image:url('/assets/morocco.jpg')}.destination-card.africa{background-image:url('/assets/morocco.jpg');background-position:center 70%}.destination-card.asia{background-image:url('/assets/hero.jpg')}.destination-card.islands{background-image:url('/assets/cebu.jpg')}.about{background:#0b3f31;color:#fff;padding:85px 0}.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:80px}.about h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.3rem,4vw,4rem);font-weight:500;line-height:1.2;margin:0}.about-points{display:grid;gap:20px}.about-points p{border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:18px;margin:0;display:flex;flex-direction:column}.about-points strong{color:#f1d291}.about-points span{font-size:.86rem;color:#c2d3ca;margin-top:5px;line-height:1.6}.private-tour{position:relative;background-image:url('/assets/hero.jpg');background-size:cover;background-position:center 62%;color:#fff;min-height:310px;display:flex;align-items:center}.private-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,40,31,.88),rgba(8,40,31,.4),rgba(8,40,31,.15))}.private-inner{position:relative;padding:70px 0}.private-inner h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.3rem,4vw,4rem);font-weight:500;margin:0 0 10px}.private-inner p:not(.eyebrow){font-size:1.05rem;margin:0 0 25px}.bct-badge{display:flex;align-items:center;gap:10px;border:1px solid #76b7e5;background:#fff;color:#2367a0;border-radius:7px;padding:10px 12px;width:max-content;max-width:100%;margin-top:8px}.bct-badge span{width:34px;height:34px;border-radius:50%;background:#2b80bd;color:#fff;display:grid;place-items:center;font-weight:700}.bct-badge strong{font-size:.66rem;line-height:1.35}.bct-note{display:block;color:#9fb8ad;max-width:240px;line-height:1.4;margin-top:8px}.footer-grid{grid-template-columns:1.6fr .8fr 1.1fr 1.2fr}.footer-brand{display:flex!important}.footer-brand>span{color:#fff}.footer-brand>small{color:#b7ccc1}.partner-hero{background:#0b5137;color:#fff;padding:95px 0;background-image:linear-gradient(90deg,rgba(8,65,43,.96),rgba(8,65,43,.74)),url('/assets/morocco.jpg');background-size:cover;background-position:center}.partner-hero-inner{max-width:900px;margin-left:max(24px,calc((100vw - 1200px)/2))}.partner-hero h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(3rem,6vw,6rem);font-weight:500;line-height:1.05;margin:0 0 18px}.partner-hero p:not(.eyebrow){max-width:680px;font-size:1.05rem;line-height:1.7;color:#e1ede7}.partner-section{padding:78px 0}.partner-section.alt{background:#f4f7f4}.section-head.center{text-align:center;display:block}.benefit-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.benefit-grid article{background:#fff;border:1px solid #e1e8e3;border-radius:12px;padding:24px}.benefit-grid article>span{width:38px;height:38px;border-radius:50%;background:#0b5a36;color:#fff;display:grid;place-items:center;font-weight:700}.benefit-grid h3{font-size:.98rem;margin:18px 0 8px}.benefit-grid p{font-size:.8rem;line-height:1.6;color:#697a72;margin:0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:start}.partner-title{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2rem,3.5vw,3.4rem);font-weight:500;line-height:1.2;margin:0 0 28px}.requirements{display:grid;gap:14px}.requirements p{background:#fff;border:1px solid #e1e7e3;border-radius:10px;padding:18px;margin:0;display:flex;flex-direction:column}.requirements strong{color:#0b5a36}.requirements span{font-size:.82rem;color:#687970;margin-top:4px;line-height:1.5}.process-card{background:#fff;border-radius:14px;padding:30px;border:1px solid #e0e7e2}.process-list{list-style:none;padding:0;margin:0;display:grid;gap:15px}.process-list li{display:flex;align-items:center;gap:13px}.process-list li>span{width:36px;height:36px;border-radius:50%;background:#c78e21;color:#fff;display:grid;place-items:center;font-weight:700}.process-list div{display:flex;flex-direction:column}.process-list small{color:#718077;margin-top:3px}.register-box{display:grid;grid-template-columns:1.15fr .85fr;gap:55px;background:#0c3f31;color:#fff;border-radius:18px;padding:45px}.register-copy p,.register-copy li{color:#ccddd5;line-height:1.65}.register-copy ul{padding-left:18px}.register-action{background:#fff;color:#173f35;border-radius:14px;padding:28px;align-self:start}.register-action .big-icon{font-size:2rem;color:#c78e21}.register-action h3{font-family:'Playfair Display',Georgia,serif;font-size:1.7rem;margin:12px 0}.register-action p{font-size:.86rem;color:#5f7067;line-height:1.6}.register-action>small{display:block;text-align:center;color:#78867f;margin-top:10px}.workflow-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.workflow-grid>div{background:#fff;border:1px solid #e2e8e4;border-radius:12px;padding:22px}.workflow-grid span{display:block;color:#c78e21;font-weight:700;font-size:1.2rem}.workflow-grid strong{display:block;margin:12px 0 6px}.workflow-grid p{margin:0;font-size:.79rem;line-height:1.55;color:#6c7b73}.detail-loading,.detail-section{padding:80px 0}.detail-loading h1,.detail-hero h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.5rem,5vw,5rem);font-weight:500}.detail-hero{background:#0b5137;color:#fff;padding:90px 0}.detail-hero p:not(.eyebrow){max-width:740px;color:#d2e4da;line-height:1.7}.detail-grid{display:grid;grid-template-columns:1fr 320px;gap:50px}.detail-grid h2{font-family:'Playfair Display',Georgia,serif;font-size:2rem;font-weight:500;margin:0 0 20px}.detail-facts{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:45px}.detail-facts span{background:#f1f5f2;border:1px solid #dce6df;border-radius:999px;padding:8px 13px;font-size:.82rem}.detail-deps{display:grid;gap:9px;margin-bottom:45px}.detail-deps>div{display:grid;grid-template-columns:130px 100px 110px 1fr;gap:12px;background:#f7f9f7;border:1px solid #e1e7e3;padding:14px;border-radius:8px;align-items:center;font-size:.8rem}.detail-deps b{text-align:right;color:#bd7a09}.pdf-link{display:block;border:1px solid #dbe4dd;padding:14px;margin-bottom:8px;border-radius:8px;color:#0b5a36;font-weight:700}.detail-grid aside{background:#0d3f32;color:#fff;padding:28px;border-radius:12px;height:max-content;position:sticky;top:24px}.detail-grid aside>p{margin:0;color:#b9cfc4}.detail-grid aside>strong{display:block;font-size:2rem;margin:8px 0 20px;color:#f1d08c}
@media(max-width:1000px){.portal-link small{display:none}.benefit-grid,.workflow-grid{grid-template-columns:repeat(2,1fr)}.departure-row{grid-template-columns:130px 1fr 110px}.departure-price{grid-column:2/-1;text-align:left}.destination-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr}.detail-grid aside{position:static}.trust-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.portal-inner{width:100%;grid-template-columns:repeat(3,1fr)}.portal-bar .wrap{width:100%}.portal-link{padding:10px 5px;gap:5px;text-align:center;flex-direction:column}.portal-link strong{font-size:.78rem}.portal-icon{font-size:1rem}.header{height:auto;min-height:76px;padding:13px 18px;flex-wrap:wrap}.brand>span{font-size:1.35rem}.brand>small{font-size:.52rem}.menu-toggle{display:block}.nav{display:none;order:4;width:100%;flex-direction:column;gap:0;padding:7px 0}.nav.open{display:flex}.nav a{padding:10px 0;border-top:1px solid #e8ece9}.header-phone{font-size:.7rem;padding:9px}.hero{margin-top:0;height:590px}.hero-content{padding-top:95px}.hero h1{font-size:3.25rem}.trust-grid{grid-template-columns:1fr 1fr}.trust-grid>div{padding:14px 8px}.trust-grid>div>span{width:34px;height:34px}.trust-grid strong{font-size:.75rem}.trust-grid small{display:none}.tour-grid{grid-template-columns:1fr}.departure-row{grid-template-columns:1fr}.departure-price,.departure-seats{text-align:left;grid-column:auto;width:max-content}.destination-grid{grid-template-columns:1fr 1fr}.destination-card{height:180px}.about-grid,.two-col,.register-box{grid-template-columns:1fr;gap:35px}.footer-grid{grid-template-columns:1fr}.benefit-grid,.workflow-grid{grid-template-columns:1fr}.register-box{padding:28px 20px;border-radius:0}.partner-hero{padding:70px 0}.partner-hero-inner{margin:auto;width:min(100% - 36px,1200px)}.detail-deps>div{grid-template-columns:1fr}.detail-deps b{text-align:left}.simple-header .header-phone{margin-left:auto}}

/* V3 production pages */
.page-hero{background:linear-gradient(135deg,#073a27,#0d6b42);color:#fff;padding:72px 0}.page-hero h1{font-family:"Playfair Display",serif;font-size:clamp(36px,5vw,62px);margin:8px 0 14px}.page-hero p{max-width:760px;color:#e9f5ef}.page-section{padding:64px 0}.filters{display:grid;grid-template-columns:1fr 2fr;gap:16px;margin-bottom:26px}.filters-wide{grid-template-columns:1fr 1fr 2fr}.filters label{font-weight:700;font-size:13px;display:grid;gap:7px}.filters input,.filters select{width:100%;padding:13px 14px;border:1px solid #d8ddd9;border-radius:10px;background:#fff;font:inherit}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.contact-card{background:#fff;border:1px solid #e4e8e4;border-radius:16px;padding:28px;box-shadow:0 12px 36px rgba(5,44,29,.07)}.contact-card h2{font-family:"Playfair Display",serif;font-size:28px;margin-top:0}.contact-card a{color:#0b5a36}.legal-page{background:#f7f6f1;min-height:80vh;padding:56px 0}.legal-wrap{max-width:860px;background:#fff;border-radius:18px;padding:44px;box-shadow:0 12px 40px rgba(5,44,29,.08)}.legal-wrap h1,.legal-wrap h2{font-family:"Playfair Display",serif}.legal-wrap h1{font-size:42px}.legal-wrap h2{margin-top:30px;font-size:24px}.legal-wrap p{line-height:1.8;color:#37443d}.nav a[aria-current="page"]{color:#0b5a36;font-weight:700}.tour-grid.all-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.filters,.filters-wide,.contact-grid{grid-template-columns:1fr}.page-hero{padding:48px 0}.legal-wrap{padding:26px}.tour-grid.all-grid{grid-template-columns:1fr}}

/* V4 interactive featured hero */
.hero-dynamic{height:650px;min-height:560px}.hero-dynamic .hero-photo{transition:background-image .35s ease,opacity .25s ease;will-change:background-image}.hero-dynamic-wrap{position:relative;z-index:2;height:100%;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:64px;align-items:center}.hero-dynamic .hero-content{padding-top:0}.hero-dynamic .hero-content h1{font-family:'DM Sans',Arial,sans-serif;font-weight:500;letter-spacing:-.04em;text-transform:uppercase;font-size:clamp(3.4rem,5.9vw,6.2rem);line-height:.98;max-width:760px}.hero-dynamic .hero-content h1 em{font-family:'DM Sans',Arial,sans-serif;font-style:normal;font-weight:500;color:#bff1c6}.hero-featured{align-self:center;background:rgba(8,70,47,.82);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(8px);color:#fff;min-height:310px;display:flex;flex-direction:column}.hero-featured-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 12px;border-bottom:1px solid rgba(255,255,255,.18)}.hero-featured-head>span{font-size:.68rem;letter-spacing:.18em;font-weight:800;color:#f0d179}.hero-featured-head small{font-size:.68rem;color:#d8e9df}.hero-featured-cards{display:grid;flex:1}.hero-choice{appearance:none;border:0;border-bottom:1px solid rgba(255,255,255,.14);background:transparent;color:#fff;text-align:left;padding:18px 20px;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:8px 14px;align-items:end;transition:background .18s ease}.hero-choice:last-child{border-bottom:0}.hero-choice:hover,.hero-choice[aria-selected="true"]{background:rgba(255,255,255,.10)}.hero-choice[aria-selected="true"]{box-shadow:inset 3px 0 0 #f0c452}.hero-choice .choice-title{font-family:'Playfair Display',Georgia,serif;font-size:1.35rem;font-weight:600;line-height:1.05}.hero-choice .choice-route{grid-column:1/-1;font-size:.72rem;color:#d7e8df;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero-choice .choice-meta{font-size:.68rem;font-weight:700;color:#fff}.hero-choice .choice-price{font-size:.72rem;font-weight:800;color:#f5d37c;text-align:right}.hero-featured-loading{padding:24px 20px;color:#d8e9df;font-size:.82rem}.hero-choice:focus-visible{outline:2px solid #f0c452;outline-offset:-4px}.hero-choice .choice-arrow{font-size:1rem;color:#f0c452}.hero-choice-main{display:flex;align-items:center;gap:9px;min-width:0}.hero-choice-index{font-size:.66rem;color:#f0d179;font-weight:800;letter-spacing:.08em}
@media(max-width:1000px){.hero-dynamic-wrap{grid-template-columns:1fr 320px;gap:28px}.hero-dynamic .hero-content h1{font-size:clamp(3rem,6vw,5.2rem)}}
@media(max-width:720px){.hero-dynamic{height:auto;min-height:760px;padding-bottom:24px}.hero-dynamic-wrap{grid-template-columns:1fr;align-content:center;gap:28px;padding-top:58px;padding-bottom:26px}.hero-dynamic .hero-content{padding-top:0}.hero-dynamic .hero-content h1{font-size:clamp(2.85rem,13vw,4.4rem);line-height:1}.hero-featured{min-height:0;width:100%;background:rgba(8,70,47,.86)}.hero-featured-head{padding:13px 14px 10px}.hero-featured-cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.hero-featured-cards::-webkit-scrollbar{display:none}.hero-choice{min-width:82%;scroll-snap-align:start;border-right:1px solid rgba(255,255,255,.15);border-bottom:0;padding:15px}.hero-choice .choice-title{font-size:1.12rem}.hero-choice[aria-selected="true"]{box-shadow:inset 0 -3px 0 #f0c452}.hero-actions{gap:9px}.hero-actions .button{padding:14px 16px;font-size:.78rem;gap:18px}}

/* V5: mega menu + OLWEN specialty channels + legal footer */
.nav-mega{position:relative;height:100%;display:flex;align-items:center}.nav-mega-trigger{display:flex!important;align-items:center;gap:5px;height:100%}.mega-menu{position:fixed;z-index:50;left:50%;top:116px;transform:translateX(-50%) translateY(8px);width:min(1120px,calc(100vw - 48px));padding:24px 28px 28px;background:#fff;border:1px solid #e8e3d8;box-shadow:0 22px 55px rgba(11,48,37,.16);opacity:0;visibility:hidden;pointer-events:none;transition:.18s ease}.nav-mega:hover .mega-menu,.nav-mega:focus-within .mega-menu,.nav-mega.mega-open .mega-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}.mega-head{display:flex;justify-content:space-between;align-items:end;padding-bottom:16px;border-bottom:1px solid #ece7dc}.mega-head small{display:block;color:#b28a3e;font-size:.7rem;font-weight:700;letter-spacing:.16em}.mega-head strong{display:block;color:#123e36;font-family:'Playfair Display',serif;font-size:1.65rem}.mega-head>a{font-size:.78rem;font-weight:700;color:#0b5a36}.mega-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;padding-top:20px}.mega-col h3{margin:0 0 10px;color:#b28a3e;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}.mega-col a{display:block!important;padding:7px 0!important;font-size:.84rem!important;font-weight:600!important;color:#27463d!important;border-bottom:1px solid #f1eee7}.mega-col a:hover{color:#b28a3e!important;padding-left:5px!important}.mega-loading{grid-column:1/-1;padding:15px;color:#6c7c76}.specialty-bar{background:#f7f4ed;border-bottom:1px solid #e8e3d8}.specialty-grid{display:grid;grid-template-columns:repeat(3,1fr)}.specialty-grid>a{min-height:72px;padding:14px 24px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-content:center;border-right:1px solid #ddd5c5;transition:.18s ease}.specialty-grid>a:first-child{border-left:1px solid #ddd5c5}.specialty-grid span{font-size:.62rem;letter-spacing:.13em;color:#8c7a57}.specialty-grid strong{font-family:'Playfair Display',serif;font-size:1.12rem;color:#123e36}.specialty-grid b{grid-column:2;grid-row:1/3;align-self:center;font-size:1.05rem;color:#b28a3e}.specialty-grid>a:hover{background:#fff;box-shadow:inset 0 -3px 0 #caa04c}.facebook-link{display:inline-flex!important;margin-top:8px;font-weight:700;color:#e8c66c!important}.compact-specialty .specialty-grid>a{min-height:58px;padding-top:9px;padding-bottom:9px}
@media(max-width:900px){.nav-mega{height:auto;display:block}.nav-mega-trigger{height:auto}.mega-menu{position:static;width:100%;transform:none!important;box-shadow:none;border:0;border-top:1px solid #e8e3d8;padding:12px 14px;display:none;opacity:1;visibility:visible;pointer-events:auto}.nav-mega.mega-open .mega-menu{display:block}.mega-head{align-items:center}.mega-head strong{font-size:1.25rem}.mega-grid{grid-template-columns:1fr 1fr;gap:12px 20px}.specialty-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.specialty-grid>a{min-width:78%;scroll-snap-align:start;border-left:0!important}.specialty-grid>a:first-child{border-left:1px solid #ddd5c5!important}}
@media(max-width:560px){.mega-grid{grid-template-columns:1fr}.mega-head>a{display:none}.specialty-grid>a{min-width:86%}}

/* V5 card standard: every sellable tour uses the same full information card */
.full-tour-card{border:1px solid #dce7df;border-radius:18px;overflow:hidden;box-shadow:0 12px 34px rgba(11,74,54,.08);background:#fff}
.full-tour-card .tour-card-image{height:245px;background-size:cover;background-position:center;position:relative}
.full-tour-card .tour-card-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.20),transparent 55%)}
.full-tour-card .tour-badge{position:absolute;left:14px;top:14px;z-index:2;background:#f0bd45;color:#153f34;padding:7px 11px;border-radius:999px;font-size:.68rem;font-weight:800;letter-spacing:.08em}
.full-tour-card .tour-body{padding:20px 18px 18px}
.full-tour-card .tour-body h3{font-family:'DM Sans',Arial,sans-serif;font-size:1.2rem;line-height:1.35;color:#134b3b;margin:0 0 14px;font-weight:600}
.tour-info-table{border-top:1px solid #cfded4;margin-top:2px}
.tour-info-table>div{display:grid;grid-template-columns:88px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid #d7e3db;font-size:.73rem;line-height:1.45}
.tour-info-table span{color:#18833c;font-weight:800}
.tour-info-table strong{color:#263d36;font-weight:500;min-width:0}
.tour-info-table .route-row strong{font-size:.7rem}
.tour-card-links{padding:13px 0 7px;min-height:40px}
.tour-pdf-link{display:inline-flex;align-items:center;color:#16823c;font-size:.74rem;font-weight:800;border-bottom:1px solid transparent}
.tour-pdf-link:hover{border-color:#16823c}
.tour-pdf-link.is-loading{opacity:.55;pointer-events:none}
.tour-pdf-link.is-disabled{color:#82938a;pointer-events:none}
.tour-price-block{text-align:center;padding:12px 0 14px;min-height:70px}
.tour-price-block .old-price{display:block;color:#7c8882;text-decoration:line-through;font-size:.68rem;margin-bottom:2px}
.tour-price-block div{color:#ea221c;font-size:.82rem;font-weight:700}
.tour-price-block strong{font-size:1.38rem;color:#ea221c;margin:0 3px}
.tour-price-block small{font-size:.72rem;color:#ea221c}
.tour-detail-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;background:#3d9c50;color:#fff;border-radius:7px;font-size:.77rem;font-weight:800;padding:11px 12px;transition:.2s}
.tour-detail-button:hover{background:#267d3c;color:#fff;transform:translateY(-1px)}
@media(max-width:720px){.full-tour-card .tour-card-image{height:220px}.tour-info-table>div{grid-template-columns:84px 1fr}.full-tour-card .tour-body h3{font-size:1.13rem}}

/* V6 layout refinements */
.nav{align-items:center}.nav>a,.nav-mega-trigger{font-size:.79rem;font-weight:800;letter-spacing:.04em;white-space:nowrap}.visa-section{padding:92px 0;background:#f2f8ed}.visa-head,.guide-head{display:grid;grid-template-columns:1fr .72fr;gap:70px;align-items:end;margin-bottom:38px}.visa-head h2,.guide-head h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.7rem,4vw,4.7rem);font-weight:500;margin:0;color:#0b3f32}.visa-head>p,.guide-head>p{color:#5d7067;line-height:1.65}.visa-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.visa-card{display:grid;grid-template-columns:190px 1fr;background:#fff;border:1px solid #cbdccf;border-radius:16px;overflow:hidden;min-height:255px}.visa-flag{background:#15543c;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:5.2rem;gap:28px}.visa-flag span{background:#fff;color:#0d4a35;border-radius:999px;width:86%;text-align:center;padding:8px;font-size:.62rem;letter-spacing:.12em;font-weight:800}.visa-card>div:last-child{padding:22px}.visa-card h3{font-size:1.35rem;margin:0 0 18px;color:#0d4a35}.visa-card b{display:block;font-size:.63rem;letter-spacing:.08em;color:#239345;margin-top:12px}.visa-card p{font-size:.77rem;line-height:1.55;margin:5px 0 0;color:#40584e}.visa-pdf{width:100%;margin-top:18px;border:0;border-radius:7px;background:#3ca251;color:#fff;padding:12px;font-weight:800}.visa-pdf.pending{background:#dfe8df;color:#64766c;cursor:not-allowed}.private-premium{background:linear-gradient(90deg,#17251a 0 38%,#052f21 38% 100%);padding:0;color:#fff;min-height:520px}.private-premium-grid{display:grid;grid-template-columns:.75fr 1.25fr;min-height:520px}.private-word{display:grid;place-items:center;font-family:'Playfair Display',Georgia,serif;font-style:italic;color:#f1c75f;font-size:2.5rem;border-right:1px solid rgba(241,199,95,.28)}.private-premium-grid>div:last-child{padding:70px 7%}.private-premium h2{font-family:'Playfair Display',Georgia,serif;color:#f4ce70;font-size:clamp(4rem,6vw,7rem);line-height:.78;margin:10px 0 28px}.private-premium h3{font-size:1.75rem;max-width:620px;margin:0 0 14px}.private-premium p:not(.eyebrow){max-width:720px;color:#d4e0da;line-height:1.7}.private-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.guide-section{padding:90px 0;background:#f2f8ed}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #cad8ce;border-bottom:1px solid #cad8ce}.guide-grid article{padding:28px 24px;border-right:1px solid #cad8ce}.guide-grid article:last-child{border-right:0}.guide-grid b{font-size:.65rem;letter-spacing:.1em;color:#239345}.guide-grid h3{font-size:1rem;min-height:48px;color:#173e33}.guide-grid a,.guide-all{font-size:.75rem;font-weight:800;color:#27903e}.guide-all{display:block;text-align:right;margin-top:22px}.contact-cta{background:#3c9d4d;color:#fff;padding:70px 0}.contact-cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.contact-cta h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(3rem,4.5vw,5rem);line-height:.95;margin:0 0 10px}.contact-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.contact-buttons a{border:1px solid #fff;border-radius:999px;padding:10px 14px;font-size:.75rem;font-weight:800}.contact-people p{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.35);padding:18px 0;margin:0}.contact-people a{font-weight:800}.hero-featured{background:transparent;border:0;backdrop-filter:none;min-height:390px}.hero-featured-head{background:rgba(8,70,47,.88);border:1px solid rgba(255,255,255,.25)}.hero-featured-cards{display:flex;align-items:center;gap:0;overflow:visible}.hero-choice{position:relative;min-width:250px;width:250px;height:330px;padding:0;background:#f6f4ed!important;color:#143f34;border:0!important;border-radius:0;box-shadow:0 15px 32px rgba(0,0,0,.24);transform:scale(.88);opacity:.82;overflow:hidden;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;transition:transform .3s ease,opacity .3s ease;z-index:1}.hero-choice[aria-selected="true"]{transform:scale(1.08);opacity:1;z-index:3;outline:7px solid rgba(231,65,65,.95);box-shadow:0 18px 38px rgba(0,0,0,.35)}.hero-choice::before{content:'';height:54%;background:linear-gradient(135deg,#0d5038,#6aa780);display:block}.hero-choice-main,.hero-choice .choice-route,.hero-choice .choice-meta,.hero-choice .choice-price,.hero-choice .choice-arrow{padding-left:18px;padding-right:18px}.hero-choice-main{padding-top:14px}.hero-choice .choice-title{font-size:1.18rem;color:#143f34}.hero-choice .choice-route{color:#5d6f68;white-space:normal;margin-top:8px}.hero-choice .choice-meta{color:#143f34;margin-top:10px}.hero-choice .choice-price{color:#b47c13;text-align:left;margin-top:4px;padding-bottom:16px}.hero-choice-index{color:#b47c13}.hero-choice .choice-arrow{position:absolute;right:4px;bottom:12px;color:#143f34}
@media(max-width:1100px){.nav{gap:16px}.nav>a,.nav-mega-trigger{font-size:.7rem}.hero-dynamic-wrap{grid-template-columns:1fr 390px}.hero-choice{min-width:200px;width:200px}}
@media(max-width:720px){.visa-head,.guide-head,.contact-cta-grid{grid-template-columns:1fr;gap:22px}.visa-grid{grid-template-columns:1fr}.visa-card{grid-template-columns:120px 1fr}.visa-flag{font-size:3.2rem}.private-premium{background:#073223}.private-premium-grid{grid-template-columns:1fr}.private-word{display:none}.private-premium-grid>div:last-child{padding:55px 0}.guide-grid{grid-template-columns:1fr}.guide-grid article{border-right:0;border-bottom:1px solid #cad8ce}.contact-cta-grid{gap:38px}.contact-people p{font-size:.82rem}.hero-featured-cards{overflow-x:auto;scroll-snap-type:x mandatory;padding:20px 8vw 26px;gap:14px}.hero-choice{min-width:72vw;width:72vw;scroll-snap-align:center;transform:scale(.92)}.hero-choice[aria-selected="true"]{transform:scale(1);outline:5px solid rgba(231,65,65,.95)}}

/* V9 mobile/tablet hardening — baseline: Mrs Han latest handover */
html,body{max-width:100%;overflow-x:hidden}
img,svg,video,iframe{max-width:100%;height:auto}
.wrap{max-width:1200px}

@media (max-width: 900px){
  .portal-bar{overflow:hidden}
  .portal-inner{width:100%;max-width:none;margin:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .portal-inner::-webkit-scrollbar{display:none}
  .portal-link{flex:0 0 82vw;min-width:0;justify-content:flex-start;padding:14px 20px;scroll-snap-align:start;border-left:0!important}
  .portal-link strong{font-size:1rem}
  .portal-link small{font-size:.68rem}

  .header{height:78px;padding:0 20px;gap:14px;flex-wrap:nowrap}
  .brand{min-width:0;white-space:normal}
  .brand>span{font-size:1.45rem;white-space:nowrap}
  .brand>small{display:none}
  .menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;font-size:0;border:1px solid #d7e0da;border-radius:999px;margin-left:auto;flex:0 0 auto}
  .menu-toggle::before{content:'☰';font-size:1.55rem;line-height:1}
  .header-phone{width:52px;height:52px;padding:0;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;font-size:0;flex:0 0 auto}
  .header-phone::before{content:'☎';font-size:1.25rem}
  .nav{position:absolute;top:100%;left:0;right:0;width:100%;display:none;flex-direction:column;gap:0;margin:0;padding:8px 20px 18px;background:#fff;border-top:1px solid #e5ebe7;box-shadow:0 14px 30px rgba(9,48,37,.12);z-index:30}
  .nav.open{display:flex}
  .nav>a,.nav-mega-trigger{width:100%;padding:13px 0;font-size:.82rem;border-bottom:1px solid #eef2ef}
  .nav-mega{width:100%}

  .specialty-bar{overflow:hidden}
  .specialty-grid{width:100%;max-width:none;margin:0;display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .specialty-grid::-webkit-scrollbar{display:none}
  .specialty-grid>a{flex:0 0 78vw!important;min-width:0!important;scroll-snap-align:start;padding:18px 22px!important}

  .hero-dynamic{height:auto!important;min-height:auto!important;padding:0 0 26px;overflow:hidden}
  .hero-dynamic-wrap{width:100%;max-width:none;margin:0;display:block!important;padding:58px 20px 0!important}
  .hero-dynamic .hero-content{padding:0!important;max-width:none;width:100%}
  .hero-dynamic .eyebrow{font-size:.68rem;line-height:1.45;margin-bottom:16px;max-width:100%}
  .hero-dynamic .hero-content h1{font-size:clamp(2.45rem,11vw,4.1rem)!important;line-height:1.02!important;letter-spacing:-.045em;margin:0 0 20px;max-width:100%;overflow-wrap:anywhere}
  .hero-dynamic .hero-content>p:not(.eyebrow){font-size:.98rem;line-height:1.55;max-width:100%;margin-bottom:24px}
  .hero-actions{display:grid!important;grid-template-columns:1fr;gap:10px!important;width:100%}
  .hero-actions .button{width:100%;min-width:0;justify-content:space-between;padding:15px 18px!important;gap:12px!important;white-space:normal;text-align:left}

  .hero-featured{width:100%;min-width:0;margin-top:28px;overflow:hidden}
  .hero-featured-head{margin:0 0 10px;padding:12px 14px}
  .hero-featured-cards{width:100%;display:flex!important;gap:12px!important;overflow-x:auto!important;overflow-y:hidden;padding:10px 8vw 18px!important;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .hero-featured-cards::-webkit-scrollbar{display:none}
  .hero-choice{flex:0 0 82vw!important;min-width:0!important;width:auto!important;max-width:340px;height:300px!important;transform:none!important;scroll-snap-align:center}
  .hero-choice[aria-selected="true"]{transform:none!important;outline:4px solid rgba(231,65,65,.95)!important}

  .visa-grid,.private-premium-grid,.guide-grid,.contact-cta-grid,.footer-grid{min-width:0}
}

@media (max-width: 560px){
  .portal-link{flex-basis:88vw}
  .header{padding:0 16px}
  .brand>span{font-size:1.28rem;letter-spacing:.01em}
  .specialty-grid>a{flex-basis:86vw!important}
  .hero-dynamic-wrap{padding-left:18px!important;padding-right:18px!important}
  .hero-dynamic .hero-content h1{font-size:clamp(2.25rem,10.8vw,3.45rem)!important}
  .hero-choice{flex-basis:84vw!important;max-width:320px}
}

@media (max-width: 390px){
  .portal-link{flex-basis:92vw;padding-left:16px;padding-right:16px}
  .brand>span{font-size:1.16rem}
  .menu-toggle{width:42px;height:42px}
  .header-phone{width:48px;height:48px}
  .hero-dynamic-wrap{padding-top:46px!important}
  .hero-dynamic .hero-content h1{font-size:2.35rem!important}
  .hero-choice{flex-basis:86vw!important}
}

/* V11 fixes */
.tour-title-link{color:inherit;text-decoration:none;display:block}.tour-title-link:hover{color:#0b5a36;text-decoration:underline;text-underline-offset:3px}.tour-card-image{background-color:#e8efe9}.contact-action-stack{display:grid;gap:4px;margin-top:18px}.guide-article-grid{display:grid;gap:22px}.guide-article{background:#fff;border:1px solid #dce6df;border-radius:14px;padding:30px;box-shadow:0 10px 24px rgba(15,62,44,.05)}.guide-article b{font-size:.68rem;letter-spacing:.1em;color:#289846}.guide-article h2{font-family:'Playfair Display',Georgia,serif;color:#0d4a35;font-size:2rem;margin:8px 0 18px}.guide-article p{line-height:1.75;color:#4e6359}.bct-logo-link{display:block;width:230px;max-width:100%;margin-top:10px}.bct-logo-link img{display:block;width:100%;height:auto;border-radius:6px}.bct-note,.bct-badge{display:none!important}
.visa-card{grid-template-columns:150px 1fr;min-height:245px}.visa-flag{background:linear-gradient(145deg,#0e513a,#0a3e2e);font-size:inherit;gap:18px;padding:18px 12px}.visa-flag>span{width:auto;max-width:94%;padding:7px 11px;font-size:.6rem}.flag-stage{width:110px;height:76px;display:grid;place-items:center;perspective:420px;filter:drop-shadow(0 9px 8px rgba(0,0,0,.25))}.flag-wave{display:block;width:104px;height:68px;object-fit:cover;border-radius:3px;transform-origin:left center;animation:flag-wave-3d 3.2s ease-in-out infinite;box-shadow:inset -12px 0 18px rgba(0,0,0,.12)}@keyframes flag-wave-3d{0%,100%{transform:rotateY(-9deg) skewY(0deg) translateY(0)}25%{transform:rotateY(8deg) skewY(1.5deg) translateY(-2px)}50%{transform:rotateY(-5deg) skewY(-1.2deg) translateY(1px)}75%{transform:rotateY(10deg) skewY(.8deg) translateY(-1px)}}
@media (prefers-reduced-motion:reduce){.flag-wave{animation:none}}
@media(max-width:720px){.visa-card{grid-template-columns:108px 1fr}.visa-flag{padding:14px 8px;gap:12px}.flag-stage{width:86px;height:60px}.flag-wave{width:82px;height:54px}.visa-flag>span{font-size:.52rem;padding:6px 7px}.guide-article{padding:22px}.guide-article h2{font-size:1.55rem}.bct-logo-link{width:210px}}

/* V11.1 interaction fixes */
.tour-title-link,.departure-title-link{color:inherit;text-decoration:none}.tour-title-link:hover,.departure-title-link:hover{text-decoration:underline;text-underline-offset:4px}.departure-contact-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer}.departure-contact-link:hover{background:#fff3ef;border-color:#e68d79}.bct-logo-link img{display:block;width:100%;height:auto;object-fit:contain}.bct-logo-link{display:block;width:230px;max-width:100%;margin-top:14px}

/* V11.2 HERO RESTORE: hero image is independent from featured-tour thumbnails */
.hero-dynamic .hero-photo{background-image:url('/assets/hero.jpg')!important;background-position:center 47%!important}
@media (min-width:721px){.hero-dynamic .hero-content h1{font-size:clamp(3rem,4vw,4.7rem)!important;line-height:1.03!important;max-width:680px!important;letter-spacing:-.035em!important}}

/* V11.3 card alignment + verified flag display */
.tour-grid{align-items:stretch}
.full-tour-card{display:flex;flex-direction:column;height:100%}
.full-tour-card .tour-body{display:flex;flex-direction:column;flex:1}
.full-tour-card .tour-detail-button{margin-top:auto}
.flag-stage{width:118px;height:80px;overflow:visible;background:transparent;perspective:500px}
.flag-wave{width:112px;height:72px;object-fit:contain!important;background:#fff;border-radius:4px;box-shadow:0 8px 18px rgba(0,0,0,.18);transform-origin:left center;backface-visibility:hidden;animation:olwenFlagWave 3.4s ease-in-out infinite}
@keyframes olwenFlagWave{0%,100%{transform:perspective(500px) rotateY(-10deg) rotateX(1deg) skewY(0deg) translateY(0)}25%{transform:perspective(500px) rotateY(7deg) rotateX(-1deg) skewY(1.2deg) translateY(-2px)}50%{transform:perspective(500px) rotateY(-5deg) rotateX(1deg) skewY(-.8deg) translateY(1px)}75%{transform:perspective(500px) rotateY(9deg) rotateX(-1deg) skewY(.7deg) translateY(-1px)}}
@media(max-width:720px){.flag-stage{width:90px;height:62px}.flag-wave{width:86px;height:56px}}

/* V11.4 — rotating hero gallery from user-supplied images */
.hero-dynamic .hero-photo{
  background-image:none!important;
  background-size:cover!important;
  background-position:center center!important;
  opacity:0;
  transform:scale(1.015);
  transition:opacity 1.35s ease-in-out,transform 8s ease-out;
  will-change:opacity,transform;
}
.hero-dynamic .hero-photo.is-active{opacity:1;transform:scale(1.035)}
.hero-photo-a,.hero-photo-b{position:absolute;inset:0}
.hero-dynamic .hero-content h1{
  font-family:'Cormorant Garamond',Georgia,serif!important;
  font-weight:600!important;
  font-size:clamp(2.75rem,3.65vw,4.25rem)!important;
  line-height:1.01!important;
  letter-spacing:-.025em!important;
  max-width:650px!important;
  text-wrap:balance;
}
.hero-dynamic .hero-content h1 em{
  font-family:inherit!important;
  font-style:italic!important;
  font-weight:500!important;
  letter-spacing:-.02em!important;
}
@media(max-width:720px){
  .hero-dynamic .hero-content h1{font-size:clamp(2.15rem,8.7vw,3rem)!important;line-height:1.02!important;max-width:100%!important}
  .hero-dynamic .hero-photo{background-position:center center!important}
}
@media(max-width:390px){
  .hero-dynamic .hero-content h1{font-size:2.12rem!important}
}
@media(prefers-reduced-motion:reduce){
  .hero-dynamic .hero-photo{transition:none!important;transform:none!important}
}

/* V11.5 — hero slogan typography matched to approved editorial serif reference */
.hero-dynamic .hero-content h1{
  font-family:'Cormorant Garamond',Georgia,'Times New Roman',serif!important;
  font-weight:500!important;
  font-size:clamp(2.55rem,3.35vw,3.85rem)!important;
  line-height:.98!important;
  letter-spacing:-.018em!important;
  max-width:620px!important;
}
.hero-dynamic .hero-content h1 em{
  font-family:inherit!important;
  font-style:normal!important;
  font-weight:500!important;
  letter-spacing:-.018em!important;
}
@media(max-width:720px){
  .hero-dynamic .hero-content h1{
    font-size:clamp(2.05rem,8.2vw,2.7rem)!important;
    line-height:1!important;
    max-width:100%!important;
  }
}
@media(max-width:390px){
  .hero-dynamic .hero-content h1{font-size:2rem!important}
}


/* V11.6 — glossy rotating visa spheres + autumn falling leaves */
.visa-flag{
  position:relative;
  overflow:visible;
}
.flag-stage{
  position:relative;
  width:112px!important;
  height:112px!important;
  border-radius:50%;
  display:grid;
  place-items:center;
  overflow:visible!important;
  background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.72) 0 7%,rgba(255,255,255,.18) 19%,rgba(255,255,255,0) 38%),linear-gradient(145deg,#ffffff 0%,#e8ece9 42%,#b8c2bc 100%);
  box-shadow:0 14px 24px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.78),inset -14px -18px 24px rgba(0,0,0,.14);
  filter:none!important;
  transform-style:preserve-3d;
  animation:olwenFlagFloat 3.8s ease-in-out infinite;
}
.flag-stage::before{
  content:'';
  position:absolute;
  inset:7px;
  border-radius:50%;
  background:linear-gradient(150deg,rgba(255,255,255,.82) 0 8%,rgba(255,255,255,.18) 23%,rgba(255,255,255,0) 43%);
  z-index:3;
  pointer-events:none;
}
.flag-stage::after{
  content:'';
  position:absolute;
  left:18%;right:18%;bottom:-18px;height:16px;
  border-radius:50%;
  background:rgba(0,0,0,.24);
  filter:blur(7px);
  transform:scaleX(.95);
  z-index:-1;
}
.flag-wave{
  width:96px!important;
  height:96px!important;
  object-fit:cover!important;
  border-radius:50%!important;
  background:#fff;
  box-shadow:inset -14px -10px 20px rgba(0,0,0,.14)!important;
  transform-origin:center center!important;
  backface-visibility:visible!important;
  animation:olwenFlagSphereSpin 10s linear infinite!important;
  will-change:transform;
}
@keyframes olwenFlagSphereSpin{to{transform:rotate(360deg)}}
@keyframes olwenFlagFloat{0%,100%{transform:translateY(0) rotateX(0deg)}50%{transform:translateY(-5px) rotateX(4deg)}}
.visa-card:hover .flag-wave{animation-duration:5.5s!important}

.autumn-leaves-layer{
  position:fixed;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  z-index:9998;
  contain:layout paint;
}
.autumn-leaf{
  position:absolute;
  top:-12vh;
  left:var(--leaf-x,50vw);
  font-size:var(--leaf-size,24px);
  line-height:1;
  opacity:var(--leaf-opacity,.72);
  filter:drop-shadow(0 4px 3px rgba(95,26,10,.16));
  animation:olwenLeafFall var(--leaf-duration,13s) linear infinite;
  animation-delay:var(--leaf-delay,0s);
  will-change:transform;
}
@keyframes olwenLeafFall{
  0%{transform:translate3d(0,-10vh,0) rotate(0deg)}
  25%{transform:translate3d(var(--leaf-drift1,30px),25vh,0) rotate(105deg)}
  50%{transform:translate3d(var(--leaf-drift2,-24px),55vh,0) rotate(210deg)}
  75%{transform:translate3d(var(--leaf-drift3,38px),82vh,0) rotate(315deg)}
  100%{transform:translate3d(var(--leaf-drift4,-16px),118vh,0) rotate(460deg)}
}
@media(max-width:720px){
  .flag-stage{width:82px!important;height:82px!important}
  .flag-wave{width:70px!important;height:70px!important}
  .autumn-leaf:nth-child(n+13){display:none}
}
@media(prefers-reduced-motion:reduce){
  .flag-stage,.flag-wave,.autumn-leaf{animation:none!important}
  .autumn-leaves-layer{display:none!important}
}

/* V11.7 — hard fix: hero always visible + correct visa flag orbs */
.hero-dynamic .hero-photo{
  background-image:var(--hero-image, url('/assets/hero-slides/hero-01.jpg'))!important;
  background-size:cover!important;
  background-position:center center!important;
}
.hero-dynamic .hero-photo-a{opacity:1}
.hero-dynamic .hero-photo-b{opacity:0}
.hero-dynamic .hero-photo.is-active{opacity:1}

/* Keep the national/regional flag itself upright and fully visible inside a glossy circular orb. */
.flag-stage{
  position:relative;
  width:116px!important;
  height:116px!important;
  border-radius:50%!important;
  overflow:hidden!important;
  padding:10px;
  background:radial-gradient(circle at 30% 22%,#fff 0 5%,rgba(255,255,255,.58) 6%,rgba(255,255,255,.08) 26%,rgba(255,255,255,0) 42%),linear-gradient(145deg,#f9fbfa 0%,#cbd6d0 55%,#8ea097 100%)!important;
  box-shadow:0 12px 22px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.95),inset -14px -16px 22px rgba(0,0,0,.17)!important;
  animation:olwenOrbFloat 4s ease-in-out infinite!important;
  perspective:none!important;
  filter:none!important;
}
.flag-stage::before{
  content:'';
  position:absolute;
  inset:3px;
  border-radius:50%;
  background:conic-gradient(from 0deg,rgba(255,255,255,.92),rgba(255,255,255,0) 18%,rgba(255,255,255,0) 70%,rgba(255,255,255,.55) 88%,rgba(255,255,255,.92));
  mix-blend-mode:screen;
  opacity:.58;
  z-index:3;
  pointer-events:none;
  animation:olwenOrbRing 7s linear infinite;
}
.flag-stage::after{
  content:'';
  position:absolute;
  inset:auto 18% 8% 18%;
  height:16%;
  border-radius:50%;
  background:rgba(0,0,0,.16);
  filter:blur(7px);
  z-index:0;
}
.flag-wave{
  position:relative;
  z-index:1;
  display:block;
  width:96px!important;
  height:96px!important;
  object-fit:fill!important;
  border-radius:50%!important;
  clip-path:circle(50% at 50% 50%);
  background:#fff!important;
  box-shadow:inset -11px -10px 18px rgba(0,0,0,.15)!important;
  animation:none!important;
  transform:none!important;
  transform-origin:center!important;
}
@keyframes olwenOrbRing{to{transform:rotate(360deg)}}
@keyframes olwenOrbFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.visa-card:hover .flag-stage::before{animation-duration:3.2s}
@media(max-width:720px){
  .flag-stage{width:84px!important;height:84px!important;padding:7px}
  .flag-wave{width:70px!important;height:70px!important}
}
\n\n/* V11.8 — exact user-provided visa artwork, static */\n.visa-flag{gap:14px!important;}\n.flag-stage{\n  width:118px!important;\n  height:118px!important;\n  padding:0!important;\n  border:0!important;\n  border-radius:0!important;\n  background:transparent!important;\n  box-shadow:none!important;\n  filter:none!important;\n  perspective:none!important;\n  overflow:visible!important;\n  animation:none!important;\n  transform:none!important;\n}\n.flag-stage::before,.flag-stage::after{display:none!important;content:none!important;animation:none!important;}\n.flag-wave{\n  display:block!important;\n  width:112px!important;\n  height:112px!important;\n  object-fit:contain!important;\n  object-position:center!important;\n  padding:0!important;\n  margin:0!important;\n  border:0!important;\n  border-radius:0!important;\n  background:transparent!important;\n  box-shadow:none!important;\n  filter:none!important;\n  transform:none!important;\n  animation:none!important;\n  backface-visibility:visible!important;\n}\n.visa-card:hover .flag-wave,.visa-card:hover .flag-stage{animation:none!important;transform:none!important;}\n@media(max-width:720px){\n  .flag-stage{width:82px!important;height:82px!important;}\n  .flag-wave{width:78px!important;height:78px!important;}\n}\n
/* V11.9 — desktop hero, aligned tour prices, transparent footer logo */
@media(min-width:1101px){
  .hero-dynamic{height:620px;min-height:620px}
  .hero-dynamic-wrap{
    width:min(1460px,calc(100% - 64px));
    max-width:1460px;
    grid-template-columns:minmax(0,1fr) minmax(620px,.92fr)!important;
    gap:34px!important;
  }
  .hero-dynamic .hero-content{min-width:0;max-width:690px}
  .hero-dynamic .hero-content h1{
    font-family:'Cormorant Garamond','Playfair Display',Georgia,serif!important;
    font-size:clamp(3.05rem,3.55vw,4.4rem)!important;
    line-height:.94!important;
    letter-spacing:-.025em!important;
    text-transform:none!important;
    max-width:690px!important;
    margin-bottom:22px!important;
  }
  .hero-dynamic .hero-content h1 .hero-line-one,
  .hero-dynamic .hero-content h1 .hero-line-two{
    display:block;
    white-space:nowrap;
  }
  .hero-dynamic .hero-content h1 .hero-line-two{color:#bff1c6}
  .hero-featured{width:100%;min-width:0}
  .hero-featured-cards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px!important;overflow:visible!important;align-items:end!important}
  .hero-choice{min-width:0!important;width:100%!important;height:300px!important;transform:scale(.94)!important}
  .hero-choice[aria-selected="true"]{transform:scale(1)!important;outline-width:5px!important}
  .hero-choice::before{height:49%!important}
  .hero-choice-main,.hero-choice .choice-route,.hero-choice .choice-meta,.hero-choice .choice-price,.hero-choice .choice-arrow{padding-left:14px!important;padding-right:14px!important}
  .hero-choice .choice-title{font-size:1.02rem!important;line-height:1.06!important}
  .hero-choice .choice-route{font-size:.67rem!important}
  .hero-choice .choice-meta,.hero-choice .choice-price{font-size:.65rem!important}
}

/* Keep the hero slogan exactly two lines on tablets/desktop, smaller and softer. */
@media(min-width:721px) and (max-width:1100px){
  .hero-dynamic .hero-content h1{
    font-family:'Cormorant Garamond','Playfair Display',Georgia,serif!important;
    font-size:clamp(2.6rem,4.7vw,3.7rem)!important;
    line-height:.98!important;
    text-transform:none!important;
  }
  .hero-dynamic .hero-content h1 .hero-line-one,
  .hero-dynamic .hero-content h1 .hero-line-two{display:block;white-space:nowrap}
  .hero-dynamic .hero-content h1 .hero-line-two{color:#bff1c6}
}
@media(max-width:720px){
  .hero-dynamic .hero-content h1{
    font-family:'Cormorant Garamond','Playfair Display',Georgia,serif!important;
    text-transform:none!important;
  }
  .hero-dynamic .hero-content h1 .hero-line-one,
  .hero-dynamic .hero-content h1 .hero-line-two{display:block}
  .hero-dynamic .hero-content h1 .hero-line-two{color:#bff1c6}
}

/* Tour cards: reserve the same vertical zones so prices + CTA align across a row. */
.full-tour-card .tour-body{display:grid!important;grid-template-rows:auto auto minmax(44px,auto) 92px auto!important;align-content:stretch}
.full-tour-card .tour-card-links{align-self:start;min-height:44px}
.full-tour-card .tour-price-block{
  min-height:92px!important;
  height:92px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  padding:10px 0!important;
  margin:0!important;
}
.full-tour-card .tour-detail-button{margin-top:0!important;align-self:end}
@media(max-width:720px){
  .full-tour-card .tour-body{display:flex!important;flex-direction:column!important}
  .full-tour-card .tour-card-links{min-height:0}
  .full-tour-card .tour-price-block{height:auto!important;min-height:76px!important}
  .full-tour-card .tour-detail-button{margin-top:auto!important}
}

.footer-logo-wrap{margin:0 0 26px;display:flex;align-items:center}
.footer-logo-image{display:block;width:min(360px,100%);height:auto;object-fit:contain;object-position:left center}


/* ================= V12 CLEAN DESKTOP FIX ================= */
/* Hero slogan: exactly two lines, smaller, softer editorial serif. */
.hero-dynamic .hero-content h1{
  font-family:'Cormorant Garamond','Playfair Display',Georgia,serif!important;
  font-weight:500!important;
  text-transform:none!important;
  letter-spacing:-.028em!important;
}
.hero-dynamic .hero-content h1 .hero-line-one,
.hero-dynamic .hero-content h1 .hero-line-two{display:block!important;}
.hero-dynamic .hero-content h1 .hero-line-two{color:#bff1c6!important;}

@media(min-width:1101px){
  .hero-dynamic{height:620px!important;min-height:620px!important;}
  .hero-dynamic-wrap{
    width:min(1540px,calc(100% - 72px))!important;
    max-width:1540px!important;
    margin-inline:auto!important;
    grid-template-columns:minmax(480px,1fr) minmax(610px,700px)!important;
    gap:36px!important;
    align-items:center!important;
  }
  .hero-dynamic .hero-content{max-width:720px!important;min-width:0!important;}
  .hero-dynamic .hero-content h1{
    font-size:clamp(2.85rem,3.25vw,4.05rem)!important;
    line-height:.94!important;
    max-width:720px!important;
    margin:0 0 22px!important;
  }
  .hero-dynamic .hero-content h1 .hero-line-one,
  .hero-dynamic .hero-content h1 .hero-line-two{white-space:nowrap!important;}

  /* Always show all 3 featured journey cards at desktop 100%. */
  .hero-featured{width:100%!important;min-width:0!important;overflow:visible!important;}
  .hero-featured-cards{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px!important;
    overflow:visible!important;
    align-items:end!important;
    width:100%!important;
  }
  .hero-choice{
    min-width:0!important;
    width:100%!important;
    max-width:none!important;
    height:292px!important;
    transform:none!important;
  }
  .hero-choice[aria-selected="true"]{
    transform:translateY(-4px)!important;
    outline:5px solid rgba(231,65,65,.95)!important;
  }
  .hero-choice::before{height:47%!important;}
  .hero-choice-main,.hero-choice .choice-route,.hero-choice .choice-meta,.hero-choice .choice-price,.hero-choice .choice-arrow{
    padding-left:12px!important;padding-right:12px!important;
  }
  .hero-choice .choice-title{font-size:.98rem!important;line-height:1.05!important;}
  .hero-choice .choice-route{font-size:.64rem!important;line-height:1.25!important;}
  .hero-choice .choice-meta,.hero-choice .choice-price{font-size:.63rem!important;}
}

@media(min-width:721px) and (max-width:1100px){
  .hero-dynamic .hero-content h1{font-size:clamp(2.5rem,4.4vw,3.45rem)!important;line-height:.98!important;}
  .hero-dynamic .hero-content h1 .hero-line-one,.hero-dynamic .hero-content h1 .hero-line-two{white-space:nowrap!important;}
}
@media(max-width:720px){
  .hero-dynamic .hero-content h1{font-size:clamp(2.4rem,11vw,3.35rem)!important;line-height:.98!important;}
}

/* Tour cards: fixed vertical zones so title/info/PDF/price/CTA align cleanly. */
@media(min-width:721px){
  .tour-grid,.all-grid{align-items:stretch!important;}
  .full-tour-card{height:100%!important;}
  .full-tour-card .tour-body{
    display:grid!important;
    grid-template-rows:110px 250px 52px 96px 62px!important;
    gap:0!important;
    height:100%!important;
  }
  .full-tour-card .tour-body>h3{
    min-height:0!important;
    margin:0!important;
    padding:0 0 14px!important;
    overflow:hidden!important;
    align-self:start!important;
  }
  .full-tour-card .tour-info-table{
    min-height:0!important;
    overflow:hidden!important;
    align-self:start!important;
  }
  .full-tour-card .tour-card-links{
    min-height:0!important;
    display:flex!important;
    align-items:center!important;
    margin:0!important;
  }
  .full-tour-card .tour-price-block{
    height:96px!important;
    min-height:96px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    margin:0!important;
    padding:8px 0!important;
  }
  .full-tour-card .tour-detail-button{
    height:54px!important;
    margin-top:8px!important;
    align-self:end!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
}

/* Footer uses the transparent OLWEN wordmark image, never duplicate text brand. */
.footer-logo-wrap{display:block!important;margin:0 0 28px!important;}
.footer-logo-image{display:block!important;width:min(360px,100%)!important;height:auto!important;background:transparent!important;}

/* Ensure original static visa artwork remains untouched. */
.flag-stage,.flag-wave,.visa-card:hover .flag-stage,.visa-card:hover .flag-wave{
  animation:none!important;transform:none!important;filter:none!important;
}
/* ================= END V12 ================= */
