:root{--green:#082f28;--ink:#102f28;--muted:#52665f;--gold:#f6ce61;--paper:#fbfaf6;--line:#d5dfd7;--red:#a83d2e;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%}figure{margin:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.07;letter-spacing:-.045em}h1{font-size:clamp(4rem,7.5vw,7.8rem);margin:22px 0 30px}h2{font-size:clamp(2.65rem,4.6vw,4.7rem);margin-bottom:25px}h3{font-size:2rem}em{font-weight:400;color:var(--red)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b17519;outline-offset:6px}.eyebrow,.section-index{font-size:.75rem;letter-spacing:.16em;font-weight:700;line-height:1.6;margin-bottom:20px}.green{color:var(--muted)}.draft{background:var(--green);color:white;display:flex;justify-content:center;gap:6px;align-items:center;font-size:.75rem;padding:10px 20px;letter-spacing:.04em}.draft a{color:var(--gold);margin-left:25px}header{position:sticky;top:0;z-index:20;background:rgba(251,250,246,.98);display:flex;align-items:center;justify-content:space-between;padding:17px 4%;gap:20px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font-size:1.4rem;font-weight:700;line-height:1.2}.brand img{width:54px;height:54px;object-fit:cover;border-radius:50%}.brand b{font-weight:400}.brand small{display:block;font-size:.625rem;letter-spacing:.14em;margin-top:6px}nav{display:flex;gap:26px;align-items:center;font-size:.875rem}nav>a:not(.nav-cta):hover{color:var(--red)}.nav-cta{background:var(--green);color:white;padding:13px 20px}.nav-cta span{margin-left:18px}.menu{display:none}.hero{position:relative;display:grid;grid-template-columns:49% 51%;min-height:690px;max-width:1800px;margin:auto}.hero-copy{grid-column:1;grid-row:1;padding:64px 8% 100px;z-index:2}.hero-photo{grid-column:2;grid-row:1;position:relative;min-width:0;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:56% center;position:absolute}.hero-photo:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#082f28b0)}.intro{font-size:1.125rem;color:var(--muted);max-width:370px;line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:32px}.button{display:inline-flex;justify-content:space-between;gap:24px;align-items:center;min-height:52px;padding:15px 21px;font-size:.875rem;font-weight:700;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.gold{background:var(--gold);color:var(--green)}.gold:hover{background:#ffe092}.dark{background:var(--green);color:white}.hero-secondary{font-size:.875rem;border-bottom:1px solid var(--ink);padding-bottom:4px}.hero-location{position:absolute;left:54%;bottom:35px;color:white;z-index:2}.hero-location span{font-size:.75rem;letter-spacing:.16em}.hero-location p{font-family:var(--serif);font-size:1.5rem;margin:4px 0 0}.hero-seal{position:absolute;left:calc(49% - 49px);top:40px;z-index:3;background:var(--gold);border-radius:50%;width:98px;height:98px;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:.625rem;letter-spacing:.14em;line-height:1.4;transform:rotate(12deg)}.hero-seal span{font-size:22px;margin-top:5px}.hero-memory{position:absolute;right:22px;bottom:26px;z-index:3;display:flex;align-items:center;gap:12px;padding:10px;background:var(--paper);max-width:270px}.hero-memory img{width:60px;height:66px;object-fit:cover}.hero-memory span{font-size:.625rem;letter-spacing:.06em}.hero-memory strong{font-size:.8125rem;display:block;letter-spacing:0;margin-top:6px}.ribbon{padding:25px 5%;display:flex;justify-content:space-between;align-items:center;gap:15px;background:var(--gold);font-size:.75rem;letter-spacing:.1em;font-weight:700}.ribbon i{font-size:20px;font-style:normal}.section{max-width:1380px;padding:100px 5%;margin:auto}.section-head{display:flex;justify-content:space-between;align-items:end;gap:70px;margin-bottom:40px}.section-head>p{max-width:370px;color:var(--muted);margin:0 0 26px}.tour-landscape{height:270px;position:relative;overflow:hidden;margin-bottom:0}.tour-landscape img{width:100%;height:100%;object-fit:cover;object-position:center 56%}.tour-landscape span{position:absolute;bottom:0;left:0;padding:16px 22px;background:var(--green);color:white;letter-spacing:.1em;font-size:.75rem;max-width:100%}.tour-meta{display:flex;flex-wrap:wrap;gap:20px 35px;border-bottom:1px solid var(--line);padding:22px 0;font-size:.875rem;font-weight:700}.schedule-note{max-width:970px;font-size:.875rem;color:var(--muted);margin:22px 0 46px}.tour-layout{display:grid;grid-template-columns:minmax(0,1fr) 345px;gap:65px;align-items:start}.tour-pricing{position:sticky;top:115px;background:var(--green);color:white;padding:30px}.tour-pricing>.eyebrow{color:var(--gold)}.price-card{padding:22px 0;border-top:1px solid #547369}.price-card .eyebrow{font-size:.75rem;color:#c8d7cc;margin-bottom:9px}.price-card h3{font-family:Arial,sans-serif;font-size:1.0625rem;letter-spacing:0;margin:0}.price-card .price{font:3rem/1.1 var(--serif);letter-spacing:-.05em;margin:13px 0;color:var(--gold)}.price span{font:14px Arial,sans-serif;letter-spacing:0}.price-card>p:last-child{font-size:.875rem;line-height:1.6;margin:0;color:#e2ebe3}.featured-price{border-bottom:1px solid #547369}.pricing-note p{font-size:.875rem;line-height:1.8;margin:22px 0}.pricing-note .button{width:100%}.pricing-note small{display:block;font-size:.8125rem;text-align:center;margin-top:12px;color:#d1dfd4}.itinerary-heading h3{font-size:2.4rem;margin-bottom:16px}.itinerary-heading>p:last-child{color:var(--muted);font-size:1rem}.itinerary{margin-top:30px}.itinerary details{border-top:1px solid var(--line)}.itinerary details:last-child{border-bottom:1px solid var(--line)}.itinerary summary{cursor:pointer;list-style:none;display:flex;gap:20px;align-items:baseline;padding:21px 0;font-size:1.0625rem;font-weight:600}.itinerary summary::-webkit-details-marker{display:none}.itinerary summary:after{content:'+';margin-left:auto;flex-shrink:0;font-size:24px;font-weight:400}.itinerary details[open] summary:after{content:'−'}.day-label{white-space:nowrap;font-size:.75rem;color:var(--red);letter-spacing:.07em}.itinerary small{display:block;font-weight:400;font-size:.875rem;color:var(--muted);margin-top:5px}.day-body{padding:0 20px 24px 67px}.day-body p{margin:0;color:var(--muted);font-size:1rem}.package-details{display:grid;gap:24px;margin-top:40px}.package-details>div{padding:25px;border:1px solid var(--line)}.package-details h3{font-size:1.65rem;margin-bottom:18px}.package-details ul{padding-left:20px;margin:0 0 15px}.package-details li{margin:8px 0}.package-details p{font-size:.875rem;color:var(--muted);margin:0}.panafest-footer{margin-top:25px}.panafest-footer>p{font-size:.8125rem;color:var(--muted);margin:20px 0 0}.panafest-footer a:not(.button){text-decoration:underline}.gallery{max-width:none;background:var(--green);color:var(--paper);padding-left:max(5%,calc((100vw - 1242px)/2));padding-right:max(5%,calc((100vw - 1242px)/2))}.gallery .green{color:var(--gold)}.gallery em{color:var(--gold)}.gallery .section-head>p{color:#c6d9ce}.trip-gallery{columns:3;column-gap:24px}.trip-gallery figure{break-inside:avoid;margin-bottom:30px}.gallery-photo{display:block;overflow:hidden;background:#17483c}.gallery-photo img{width:100%;height:auto;transition:transform .4s}.gallery-photo:hover img{transform:scale(1.025)}.trip-gallery figcaption{font-size:.875rem;padding-top:12px;border-bottom:1px solid #507267;padding-bottom:14px;color:#d6e5dc}.featured-video{display:grid;grid-template-columns:1fr 320px;align-items:center;gap:70px;margin-top:60px;border-top:1px solid #507267;padding:60px 9% 0}.video-copy h3{font-size:clamp(2.5rem,4vw,4rem)}.video-copy p{color:#c6d9ce}.video-copy .text-button{color:var(--gold);border-bottom:1px solid #6d8471;padding-bottom:15px;max-width:260px}.video-frame{aspect-ratio:9/16;width:100%;background:#163e33}.video-frame iframe{height:100%;width:100%;border:0;display:block}.section-index{border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:40px;color:var(--red)}.journeys{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.journeys article{border-top:2px solid var(--green);padding-top:22px}.number{display:flex;align-items:center;gap:20px;font:2.5rem var(--serif);color:var(--red);margin-bottom:32px}.number span{font:700 .75rem Arial,sans-serif;letter-spacing:.09em;color:var(--muted)}.journeys h3{font-size:2rem}.journeys p{color:var(--muted);min-height:135px}.places{border-top:1px solid var(--line);padding-top:17px;font-size:.875rem}.text-button{display:flex;align-items:center;justify-content:space-between;gap:20px;background:none;border:0;padding:18px 0;color:var(--green);font-size:.875rem;font-weight:700;width:100%;text-align:left}.text-button:hover{color:var(--red)}.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%;border-top:1px solid var(--line);align-items:center;padding-top:75px}.logo-panel{background:#f0eadb;padding:35px 20px}.logo-panel img{margin:auto;mix-blend-mode:multiply;width:90%;height:auto}.logo-panel p{font:italic 1.5rem var(--serif);text-align:center;margin:25px 0 10px}.about-copy h2{font-size:clamp(2.5rem,3.5vw,3.8rem)}.about-copy>p:not(.eyebrow){color:var(--muted)}.ceo{display:flex;gap:16px;align-items:center;border-top:1px solid var(--line);padding-top:24px;margin-top:30px}.monogram{width:52px;height:52px;border:1px solid #94a699;border-radius:50%;display:grid;place-items:center;font:1.25rem var(--serif)}.ceo strong{display:block}.ceo div>span{font-size:.875rem;color:var(--muted)}.contact{max-width:none;background:var(--gold);text-align:center}.contact h2{font-size:clamp(2.8rem,5vw,5rem)}.contact em{color:var(--green)}.contact>p:not(.eyebrow){max-width:670px;margin:25px auto;color:#394b31}.coming{display:inline-block;border:1px solid #687039;padding:12px 22px;font-size:.875rem}.contact-links{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;margin-top:25px;font-size:.875rem;text-decoration:underline}footer{background:var(--green);color:white;padding:60px 5% 25px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:35px}.footer-brand{font:2rem var(--serif)}footer p{font-size:.875rem;color:#bed0c5}.footer-links{display:flex;gap:30px;font-size:.875rem}.legal{width:100%;display:flex;justify-content:space-between;gap:30px;border-top:1px solid #527467;padding-top:22px;font-size:.75rem;color:#c3d1c9}.legal a{text-decoration:underline}.skip{position:fixed;top:-100px;left:10px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}dialog{border:0;background:var(--paper);color:var(--ink);padding:45px;width:calc(100% - 32px);max-width:620px;max-height:90vh}dialog::backdrop{background:#031d18db}dialog h2{font-size:2.2rem}dialog li{margin:12px 0}.close{position:absolute;right:12px;top:6px;border:0;background:transparent;color:inherit;font-size:30px;min-width:44px;min-height:44px}.note{padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:.875rem}#photo-dialog{max-width:1100px;padding:48px 18px 16px;background:#082f28;color:white}#full-photo{width:100%;max-height:72vh;object-fit:contain;height:auto}.photo-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:15px}.photo-toolbar button{border:1px solid #678373;background:none;color:white;min-height:44px;padding:8px 12px;font-size:.875rem}#photo-caption{text-align:center;margin:0;font-size:.875rem}.mobile-tour-bar{display:none}@media(min-width:1600px){.hero-copy{padding-left:12%}}@media(max-width:1100px){nav{gap:15px}.brand small{display:none}.hero{min-height:650px}.hero-copy{padding-top:55px}.hero-memory{display:none}.tour-layout{grid-template-columns:minmax(0,1fr) 310px;gap:35px}.tour-pricing{padding:25px}.section-head{gap:35px}.journeys p{min-height:155px}}@media(max-width:850px){html{scroll-padding-top:90px}header{padding:14px 5%;flex-wrap:wrap}.brand{font-size:1.3rem}.brand img{width:45px;height:45px}.menu{display:block;border:1px solid var(--line);background:none;color:var(--green);padding:8px 12px;font-size:.875rem;min-height:44px}nav{display:none;width:100%;align-items:stretch;gap:0;flex-direction:column}nav.open{display:flex}nav a{padding:12px}.draft{font-size:.75rem;flex-wrap:wrap}.draft a{margin-left:10px}.hero{grid-template-columns:1fr 1fr;min-height:570px}h1{font-size:4.3rem}.hero-copy{padding:45px 8% 55px}.hero-seal{width:78px;height:78px;left:calc(50% - 39px);top:20px;font-size:.55rem}.hero-location{left:55%;bottom:24px}.section{padding:70px 5%}.section-head{display:block}.section-head>p{max-width:650px;margin-top:25px}.tour-layout{grid-template-columns:1fr}.tour-pricing{position:static;grid-row:1}.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.featured-price{border-bottom:0}.pricing-note{border-top:1px solid #547369;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;align-items:center}.pricing-note p{margin:18px 0 0}.pricing-note small{grid-column:2;margin:0}.journeys{gap:22px}.journeys p{min-height:0}.journeys h3{font-size:1.6rem}.number{display:block}.number span{display:block;margin-top:10px}.trip-gallery{columns:2}.featured-video{padding:40px 0 0;gap:30px;grid-template-columns:1fr 280px}.about{gap:6%}.ribbon{font-size:.625rem;letter-spacing:.08em}.day-body{padding-left:0}.footer-links{flex-wrap:wrap}.mobile-tour-bar{position:fixed;bottom:0;left:0;right:0;z-index:15;background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 5% calc(12px + env(safe-area-inset-bottom));box-shadow:0 -2px 16px #123d2c12;border-top:1px solid var(--line);font-size:.75rem}.mobile-tour-bar strong{display:block;font-size:.8125rem}.mobile-tour-bar a{background:var(--green);color:white;padding:12px 17px;white-space:nowrap;font-size:.875rem}footer{padding-bottom:115px}}@media(max-width:580px){.draft{display:block;text-align:center}.draft>span,.draft>a{display:none}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{order:0;padding:40px 6% 38px}.hero :is(h1,h2){font-size:clamp(3.7rem,15vw,5.3rem);margin:18px 0 22px}.hero :is(h1,h2) br:nth-child(2){display:none}.intro{font-size:1.0625rem;max-width:340px}.hero-actions{gap:18px;margin-top:24px}.hero-photo{order:1;height:370px;min-height:370px}.hero-location{left:6%;bottom:24px}.hero-seal{left:auto;right:22px;top:auto;bottom:322px;width:92px;height:92px;font-size:.625rem}.ribbon{justify-content:center;text-align:center;padding:18px 5%;gap:12px;flex-wrap:wrap}.ribbon>span:last-child,.ribbon i:last-of-type{display:none}.section{padding:58px 6%}.section-head h2{font-size:2.75rem}.tour-landscape{height:220px}.tour-landscape span{font-size:.625rem;padding:12px}.tour-meta{gap:10px;font-size:.875rem;display:grid}.schedule-note{margin-bottom:30px}.price-grid{display:block}.tour-pricing{padding:25px}.price-card{padding:24px 0}.price-card .price{font-size:3.3rem}.pricing-note{display:block}.pricing-note p{margin:18px 0}.pricing-note small{margin-top:12px}.tour-layout{gap:40px}.itinerary-heading h3{font-size:2.1rem}.itinerary summary{gap:13px;font-size:1rem}.day-label{font-size:.75rem}.trip-gallery{column-gap:14px}.trip-gallery figure{margin-bottom:18px}.trip-gallery figcaption{font-size:.8125rem;line-height:1.5}.featured-video{grid-template-columns:1fr;margin-top:35px}.video-frame{max-width:330px;margin:auto}.video-copy h3{font-size:2.5rem}.journeys{grid-template-columns:1fr;gap:35px}.journeys h3{font-size:2rem}.number{display:flex;margin-bottom:25px}.number span{margin:0}.about{grid-template-columns:1fr;gap:35px}.logo-panel{padding:22px}.logo-panel img{max-width:250px}.about-copy h2{font-size:2.6rem}.legal{flex-direction:column;gap:15px}.photo-toolbar{flex-wrap:wrap;gap:10px}.photo-toolbar p{order:3;flex-basis:100%}.photo-toolbar button{font-size:.8125rem}dialog{padding:45px 23px 28px}.mobile-tour-bar strong{font-size:.75rem}.contact h2{font-size:2.7rem}.footer-links{gap:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.ceo-portrait{margin:0;background:var(--green);color:white}.ceo-portrait>img{width:100%;height:auto;display:block}.ceo-portrait figcaption{padding:22px 25px}.ceo-portrait strong{display:block;font:1.7rem var(--serif);margin-bottom:8px}.ceo-portrait span{display:block;font-size:.875rem;color:#d6e5dc}.ceo-location{display:block;margin-top:5px}

/* September 2026: enquiry-first journey and accessible mobile refinements. */
:root{--focus:#97600d}
html{scroll-padding-bottom:110px}
body{overflow-wrap:break-word}
h1,h2,h3{letter-spacing:-.035em}
:focus-visible{outline:3px solid var(--focus);outline-offset:5px}
.gallery :focus-visible,footer :focus-visible,.tour-pricing :focus-visible,#photo-dialog :focus-visible{outline-color:var(--gold)}
summary,a,button{touch-action:manipulation}
header{gap:16px}
nav{gap:18px}
.brand small{font-size:.75rem;letter-spacing:.07em}
.hero-copy{padding-bottom:48px}
.hero-date{margin:26px 0 0;font-size:1rem;font-weight:700}
.hero-date span{display:block;margin-top:4px;color:var(--muted);font-size:.875rem;font-weight:400}
.hero-memory span,.hero-memory strong{font-size:.875rem;letter-spacing:0}
.hero-memory{max-width:280px}
.hero-location span,.eyebrow,.section-index,.ribbon,.draft,.tour-landscape span,.day-label,.number span{font-size:.875rem}
.hero-seal{font-size:.75rem}
.tour-dates{font:2.7rem/1.15 var(--serif);letter-spacing:-.02em;color:var(--gold);margin:24px 0}
.tour-pricing h3{font-size:1.9rem;margin-bottom:12px}
.tour-pricing>.button{width:100%;justify-content:center;margin-top:24px}
.booking-summary{border-top:1px solid #547369;padding-top:23px;margin-top:23px}
.booking-summary p{font-size:1rem;margin:10px 0 0;color:#e2ebe3}
.phone-link{display:block;text-decoration:underline;text-underline-offset:4px;padding:16px 0;min-height:48px}
.aside-note{font-size:.875rem;color:#d6e5dc;border-top:1px solid #547369;padding-top:18px;margin-bottom:0}
.day-label small{font-size:.875rem;margin:0}
.schedule-note{font-size:1rem;max-width:950px}
.schedule-note strong{display:block;color:var(--ink);margin-bottom:8px}
.package-details p,.panafest-footer>p,.trip-gallery figcaption,.legal{font-size:.875rem}
.trip-gallery{columns:initial;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px;align-items:start}
.trip-gallery figure{margin:0;min-width:0}
.gallery-photo img{aspect-ratio:3/4;object-fit:cover}
.trip-gallery figure:nth-child(2) img,.trip-gallery figure:nth-child(4) img{object-position:center}
.video-load{display:flex;width:100%;height:100%;padding:24px;flex-direction:column;gap:18px;align-items:center;justify-content:center;border:1px solid #789285;background:#17483c;color:white;font-size:1rem}
.video-load:hover{background:#205747}
.play-icon{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:var(--gold);color:var(--green);font-size:24px}
.video-load span:last-child{font-size:.875rem;color:#d6e5dc}
.media-note{max-width:650px;margin:24px 0 0;font-size:.875rem;color:#c6d9ce}
.video-frame:has(noscript)>noscript{display:block}
.video-frame iframe{width:100%;height:100%;border:0}
.travel-guide{border-top:1px solid var(--line)}
.faq-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:65px;align-items:start}
.faq-list{margin:0}.faq-list .day-body{padding-left:0}
.faq-list a,.planning-card a{text-decoration:underline;text-underline-offset:4px}
.planning-card{background:#edf1ea;padding:32px}
.planning-card h3{font-size:2rem}
.planning-card>a{display:block;border-top:1px solid #b7c8bc;padding:18px 0;font-size:1rem;line-height:1.55}
.source-date{font-size:.875rem;color:var(--muted);margin:20px 0 0}
.contact-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.outline{border:1px solid var(--green);color:var(--green)}
.outline:hover{background:#ffe092}
.contact>p.contact-help{font-size:1rem;max-width:600px}
.contact>p.contact-small{font-size:.875rem;max-width:580px}
.mobile-tour-bar span{font-size:.875rem}
.mobile-tour-bar strong{font-size:.875rem}
body:has(dialog[open]){overflow:hidden}
body:has(dialog[open]) .mobile-tour-bar{visibility:hidden}
#photo-dialog .close{position:sticky;top:0;display:block;margin-left:auto;background:var(--green);z-index:1;margin-top:-40px}
#full-photo{min-height:180px}
@media(max-width:1100px){.brand small{display:none}nav{gap:10px;font-size:.875rem}.nav-cta{padding:12px}.hero-date{margin-top:20px}}
@media(max-width:1000px){
 header{flex-wrap:wrap;padding:12px 5%}
 .menu{display:block;border:1px solid var(--line);background:none;color:var(--green);padding:8px 12px;font-size:.875rem;min-height:44px}
 nav{display:none;width:100%;align-items:stretch;gap:0;flex-direction:column;max-height:calc(100dvh - 180px);overflow:auto}
 nav.open{display:flex}nav a{padding:12px;min-height:48px}
 .hero-memory{display:none}
}
@media(max-width:850px){.faq-grid{grid-template-columns:1fr;gap:35px}.trip-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.tour-pricing{grid-row:1}.mobile-tour-bar strong{font-size:.875rem}.tour-dates br{display:none}.tour-dates{font-size:2.5rem}.hero-date{font-size:1rem}.hero-date span{font-size:.875rem}.ribbon{font-size:.875rem}}
@media(max-width:580px){
 header{position:relative}.hero-copy{padding:32px 6% 38px}
 .hero :is(h1,h2){font-size:clamp(3rem,12vw,4.4rem);line-height:1.06}.hero :is(h1,h2) br:nth-child(2){display:initial}
 .hero .eyebrow{letter-spacing:.09em}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}
 .hero-date{margin-top:24px}.hero-date span{max-width:280px}
 .hero-photo{height:310px;min-height:310px}.hero-seal{bottom:265px;font-size:.75rem}
 .section-head h2{font-size:clamp(2.3rem,10vw,2.75rem)}
 .tour-landscape span{font-size:.875rem;line-height:1.6}.tour-dates{font-size:2.4rem}.tour-pricing{padding:25px}
 .trip-gallery figcaption{font-size:.875rem}.featured-video{padding-top:30px}
 .planning-card{padding:25px}.contact-actions{flex-direction:column;align-items:stretch}
 .contact-actions .button{justify-content:center}.mobile-tour-bar{gap:8px;padding:10px 4% calc(10px + env(safe-area-inset-bottom))}
 .mobile-tour-bar a{font-size:.875rem;padding:12px}.mobile-tour-bar strong{font-size:.875rem}
 .photo-toolbar button{font-size:.875rem}.legal{font-size:.875rem}
 .brand{font-size:1.2rem}.ribbon{font-size:.875rem}.hero-location span{font-size:.875rem}
}
@media(max-width:360px){.mobile-tour-bar{position:static;flex-wrap:wrap}.trip-gallery{grid-template-columns:1fr}.tour-dates{font-size:2.1rem}.brand img{width:38px;height:38px}.menu{padding:8px}footer{padding-bottom:30px}}
@media(prefers-reduced-motion:reduce){.gallery-photo img,.button{transition:none}.gallery-photo:hover img,.button:hover{transform:none}}
@media print{header,.draft,.mobile-tour-bar,.hero-seal,.featured-video{display:none}.section{padding:24px 0}.tour-pricing{position:static}.hero{min-height:0}.gallery,.contact,footer{background:white;color:black}}

/* Programme pages and shared company structure */
nav a[aria-current=page]{color:var(--red);text-decoration:underline;text-underline-offset:7px}.eyebrow,.section-index{font-size:.875rem}.brand small{font-size:.75rem}.programme-feature,.programme-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;align-items:center}.programme-feature{border-bottom:1px solid var(--line)}.flyer-image{width:100%;height:auto;border:1px solid var(--line)}.flyer-link{max-width:460px;display:block}.programme-date{font-size:1.4rem;font-weight:700;color:var(--green)}.programme-feature p{max-width:520px}.company-intro{max-width:1000px;text-align:center}.company-intro p:not(.eyebrow){font-size:1.125rem;max-width:660px;margin:0 auto 28px}.page-heading{padding-bottom:0}.page-heading h1{font-size:clamp(2.8rem,6vw,5rem)}.programme-detail{align-items:start}.programme-detail h1{font-size:clamp(2.8rem,4.5vw,4.8rem)}.programme-detail .eyebrow{margin-top:36px}.programme-detail .phone-link{color:var(--green);display:block}.tour-note{border-left:3px solid var(--gold);padding:4px 0 4px 20px;margin-top:30px}.tour-note p:last-child{margin-bottom:0}.download-links{display:flex;flex-direction:column;gap:12px;margin-top:20px}.download-links a{text-decoration:underline;text-underline-offset:4px;min-height:40px}.programme-detail figcaption{font-size:.875rem;margin-top:14px}.faq-grid{grid-template-columns:1fr}.contact{width:100%}.about-copy p{max-width:600px}.hero{min-height:660px}.trip-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery .text-button{display:inline-block;margin-top:28px}
@media(max-width:850px){.programme-feature,.programme-detail{grid-template-columns:1fr;gap:35px}.programme-feature>div{grid-row:1}.flyer-link{max-width:540px}.section{padding-top:60px;padding-bottom:60px}.trip-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{min-height:unset}.programme-detail figure{max-width:600px}.page-heading{padding-bottom:0}}
@media(max-width:450px){.trip-gallery{grid-template-columns:1fr}.brand small{font-size:.65rem}.programme-detail h1{font-size:2.8rem}.download-links a{overflow-wrap:anywhere}}

.page-title{font-size:clamp(2.65rem,4.6vw,4.7rem);margin:0 0 25px}.contact .page-title{color:var(--green)}.gallery .page-title{color:white}footer{padding-bottom:40px}.hero .eyebrow{max-width:100%}

.ceo-message{margin-top:40px;padding-top:32px;border-top:1px solid var(--line)}.ceo-message h2{font-size:clamp(2rem,3vw,2.8rem);letter-spacing:-.025em}.ceo-message p{line-height:1.8}.about{align-items:start}

/* September 2026 programme and portrait update */
.experience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.experience-card{padding:36px;border:1px solid var(--line);border-top:5px solid var(--gold)}.experience-card h3{font-size:2.2rem;line-height:1.15}.experience-card p{max-width:540px}.real-estate{background:#eef4ef;border-top-color:var(--green)}.future-programmes{margin:28px 0 0;color:var(--muted)}.confirmed-prices{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:22px 0 26px;padding:12px 0}.confirmed-prices p{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:8px 0}.confirmed-prices span{font-weight:700}.trip-gallery figcaption strong,.trip-gallery figcaption span{display:block}.trip-gallery figcaption strong{color:white;margin-bottom:5px}.trip-gallery figcaption span{font-size:.875rem}.ceo-portrait>img{aspect-ratio:3/4;object-fit:cover;object-position:center}
@media(max-width:700px){.experience-grid{grid-template-columns:1fr}.experience-card{padding:25px}.experience-card h3{font-size:2rem}}

/* Ghana destination photography */
.ghana-destinations{border-bottom:1px solid var(--line)}
.destination-intro{max-width:670px;font-size:1.125rem;margin-bottom:32px}
.destination-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.destination-card{background:var(--green);color:#fff;overflow:hidden;border-bottom:4px solid var(--gold)}
.destination-card img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.destination-card figcaption{font-size:1.125rem;font-weight:700;line-height:1.4;padding:20px 22px}
.destination-credits{margin-top:22px;font-size:.875rem;color:var(--muted)}
.destination-credits summary{cursor:pointer;padding:8px 0;min-height:44px}
.destination-credits a{text-decoration:underline;text-underline-offset:3px}
.destination-credits li{margin:10px 0;overflow-wrap:anywhere}
@media(max-width:700px){.destination-grid{grid-template-columns:1fr;gap:22px}.destination-card figcaption{padding:16px 20px}}

/* Programme discovery and readable small-screen branding. */
.programme-shortcuts{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.programme-shortcuts a{display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;border:1px solid var(--green);font-size:.875rem;font-weight:700}.programme-shortcuts a:hover{background:var(--green);color:white}.experience-card{min-width:0}.experience-card .button{max-width:100%;text-align:left}.brand small{font-size:.75rem;letter-spacing:.04em}@media(max-width:380px){header{gap:10px;padding-inline:4%}.brand{gap:8px;font-size:1.1rem}.brand small{max-width:155px;line-height:1.4}.programme-shortcuts a{width:100%}}

/* Clear programme hierarchy and concise lower-homepage previews. */
.secondary-preview{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;align-items:center;border-bottom:1px solid var(--line)}
.secondary-preview h2{font-size:clamp(2.2rem,3.6vw,3.6rem)}
.secondary-preview p{max-width:580px}.secondary-preview>img{width:100%;height:auto;object-fit:cover}
.ceo-preview{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;max-width:1180px}.ceo-preview>img{aspect-ratio:3/4}.ceo-role{font-weight:700}
.property-preview>figure img,.property-detail>figure img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.property-preview figcaption,.property-detail figcaption{font-size:.875rem;color:var(--muted);margin-top:10px}.property-preview figcaption a,.property-detail figcaption a{text-decoration:underline}
.property-detail{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.property-copy h3{font-size:clamp(2rem,3vw,3rem)}
.travel-values h3{font-size:1.65rem}.travel-values article{border-top:3px solid var(--gold);padding-top:24px}.travel-values p{max-width:540px}
.gallery .text-button{color:var(--gold)}.footer-links{flex-wrap:wrap;max-width:700px;gap:18px 24px}
@media(min-width:1001px){header{padding-inline:3%;gap:20px}nav{gap:15px;flex-wrap:wrap;justify-content:flex-end}.brand{flex-shrink:0}nav a{min-height:44px;display:inline-flex;align-items:center}}
@media(max-width:700px){.secondary-preview,.property-detail{grid-template-columns:1fr;gap:28px}.ceo-preview>img{max-width:none;width:100%}.secondary-preview h2{font-size:2.4rem}.secondary-preview .button{max-width:100%}.property-detail{padding-top:35px}}

/* Give the CEO portrait more room and keep the accompanying copy close. */
.about{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}.about-copy{min-width:0}
@media(max-width:700px){.about{grid-template-columns:1fr;gap:28px}}

/* Panafest route and day-by-day planning. */
.itinerary-preview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;background:#eaf1e9;border-block:1px solid var(--line)}.itinerary-preview h2{font-size:clamp(2.5rem,4vw,4rem)}.heritage-days article{padding:24px;background:var(--green);color:white;border-left:5px solid var(--gold);margin-bottom:16px}.heritage-days article:nth-child(2){background:#783929}.heritage-days h3{font-size:1.8rem;letter-spacing:-.02em}.heritage-days .eyebrow{color:var(--gold);margin-bottom:12px}.heritage-days p:last-child{margin-bottom:0}.itinerary-disclaimer{font-size:.875rem;color:var(--muted)}.itinerary-highlight{padding:24px 28px;background:var(--gold);max-width:780px}.itinerary-highlight strong{font-size:1.2rem}.itinerary-highlight p{margin:10px 0 0}.panafest-itinerary{max-width:1100px;border-top:1px solid var(--line)}.panafest-itinerary .itinerary summary{padding-block:25px}.panafest-itinerary .schedule-note{margin-bottom:25px}.route-context{font-size:.875rem;color:var(--muted);margin:28px 0}.route-context a{text-decoration:underline}.destination-card figcaption span{display:block;font-size:.9375rem;font-weight:400;margin-top:8px;line-height:1.55}.destination-card:nth-child(3n+2){background:#7d392a}.destination-card:nth-child(3n){background:#174959}@media(max-width:700px){.itinerary-preview{grid-template-columns:1fr;gap:28px}.itinerary-preview h2{font-size:2.5rem}.itinerary-highlight{padding:22px}.panafest-itinerary .itinerary summary{align-items:start}.panafest-itinerary .day-label{padding-top:3px}}

.destination-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.destination-assin-manso img{object-position:center 25%}@media(max-width:1100px){.destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.destination-grid{grid-template-columns:1fr}}

.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;max-width:960px;margin:2rem auto}.staff-profile{margin:0}.staff-profile img{width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;background:#103a2d;display:block}.staff-profile figcaption{padding:1rem 0}.staff-profile h3{margin:0 0 .4rem}.staff-profile p{margin:0;font-size:1rem}.meal-policy,.flyer-meal-panel{display:block;background:#0d3b2e;color:#fff;padding:1.2rem;font-size:1rem;line-height:1.6;border-bottom:4px solid #e9b52b}.download-links{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;margin:1.5rem 0}#meet-our-team,#itinerary{scroll-margin-top:100px}@media(max-width:700px){.team-grid{grid-template-columns:1fr;gap:1.5rem}.staff-profile{max-width:460px;width:100%;margin:auto}}

/* October 2026: featured flyer and verified team profiles. */
#panafest{border-top:5px solid var(--gold);gap:clamp(24px,5vw,70px);padding-block:48px;scroll-margin-top:110px}
#panafest>div{min-width:0}#panafest .flyer-link{width:100%;max-width:460px;margin-inline:auto}#panafest h2{font-size:clamp(2.2rem,4vw,3.7rem)}
#panafest .flyer-image{object-fit:contain;height:auto}#panafest .button{max-width:100%;text-align:center}
.staff-profile h3{font-size:2rem;letter-spacing:-.02em}.staff-profile .staff-role{font-weight:700;margin-bottom:12px}.staff-profile p{line-height:1.6}.team-grid{max-width:1100px}
@media(max-width:850px){#panafest{grid-template-columns:1fr}#panafest>div{grid-row:auto}#panafest .flyer-link{max-width:420px}#panafest>div{max-width:600px;width:100%;margin-inline:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
/* Reservation journey: retain the site's green, gold and editorial type. */
.booking-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:24px 0}.booking-actions .button{justify-content:center}.button.outline{border:1px solid var(--green);color:var(--green);background:transparent}.hero-price-line{line-height:1.9}.tour-highlights{padding-top:25px;padding-bottom:35px}.highlight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 40px;padding-left:22px}.booking-pricing{max-width:1000px}.booking-pricing .confirmed-prices{font-size:1.25rem}.booking-section{border-top:1px solid var(--line)}.booking-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:60px;align-items:start}.booking-layout>*{min-width:0}.booking-summary{background:#edf3ee;padding:30px;border-top:5px solid var(--gold)}.booking-summary .button{display:flex;justify-content:center;margin-top:20px}.booking-summary h3{font-size:2.3rem}.reservation-form{max-width:820px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.form-grid label{display:flex;flex-direction:column;gap:7px;font-size:1rem;font-weight:600;min-width:0}.form-wide{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-width:0;max-width:100%;border:1px solid #83958b;border-radius:3px;padding:12px;color:var(--ink);background:#fff;font:400 1rem/1.5 Arial,Helvetica,sans-serif;min-height:48px}.form-grid textarea{resize:vertical}.form-grid input:focus-visible,.form-grid select:focus-visible,.form-grid textarea:focus-visible{outline:3px solid #b17519;outline-offset:2px}.form-help{font-size:.875rem;line-height:1.6;color:#415c51;margin:18px 0}.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.reservation-form button{border:0;justify-content:center;font-size:1rem;margin-top:10px}.reservation-form button:disabled{opacity:.65;cursor:wait}.reservation-success{padding:30px;border:2px solid var(--green);background:#edf3ee}.reservation-success h3{font-size:2.1rem}.reservation-success a{text-decoration:underline}#form-error{color:#8c2419;background:#fff0ee;padding:14px;border:1px solid #8c2419}.booking-faq{max-width:1060px;padding-top:40px}.final-booking{background:var(--green);color:#fff;max-width:none;text-align:center}.final-booking h2{font-size:clamp(2.3rem,4vw,3.8rem)}[hidden]{display:none!important}#reservation,#pricing{scroll-margin-top:110px}.programme-detail figure{max-width:450px;justify-self:center}.programme-detail .flyer-image{max-height:570px;object-fit:contain}.reservation-form:has(button:disabled){cursor:progress}
@media(max-width:850px){.booking-layout{grid-template-columns:1fr;gap:35px}.booking-summary{padding:24px}.programme-feature .flyer-link{max-width:360px;justify-self:center}.programme-detail figure{max-width:330px}.booking-actions .button{min-height:52px}.booking-section h2{font-size:2.7rem}.hero{min-height:unset}.hero-copy{padding-bottom:35px}}
@media(max-width:580px){.form-grid,.highlight-grid{grid-template-columns:1fr}.booking-actions{gap:12px}.booking-actions .button{flex:1 1 200px}.form-grid{gap:18px}.reservation-form button{width:100%}.programme-feature{padding-top:35px}.programme-date{font-size:1.2rem}.booking-summary .confirmed-prices{font-size:1rem}.programme-feature .flyer-link{max-width:300px}.hero-photo{height:220px;min-height:220px}.hero-seal{bottom:174px}.booking-section h2{font-size:2.5rem}.booking-summary{padding:20px}.reservation-success{padding:22px}}
.booking-summary p{color:var(--ink);margin:0 0 18px}.booking-summary .eyebrow{color:var(--muted)}.booking-summary .confirmed-prices p{margin:8px 0}

/* Homepage: company tour first, with booking controls before the full flyer. */
#panafest{align-items:start;padding-block:32px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
#panafest h1{font-size:clamp(2.2rem,4vw,3.7rem);margin:0 0 18px;line-height:1.08}
#panafest .eyebrow{margin-bottom:14px}
#panafest .programme-date{margin-bottom:16px}
#panafest .confirmed-prices{margin:16px 0;padding:8px 0}
#panafest .booking-actions{margin:20px 0 16px}
#panafest .tour-date-note{font-size:.875rem;color:var(--muted);margin-bottom:8px}
#panafest .form-help{margin-top:8px}
.hero #hero-title{font-size:clamp(4rem,7.5vw,7.8rem);margin:22px 0 30px}
@media(max-width:850px){
 #panafest{grid-template-columns:1fr;padding-block:24px;gap:28px}
 #panafest>div{grid-row:1}
 #panafest .flyer-link{max-width:460px}
}
@media(max-width:700px){.hero #hero-title{font-size:clamp(3rem,12vw,4.4rem);line-height:1.06}}

.company-contacts{grid-column:1/-1;overflow-wrap:anywhere;padding:20px 0}.company-contacts h2{font-size:1.6rem}.company-contacts p{margin:8px 0}.company-contacts a{text-decoration:underline}.flyer-contact{background:#103f30;color:#fff;padding:16px;text-align:center;font:600 14px/1.7 Arial,sans-serif;overflow-wrap:anywhere;border-bottom:3px solid #dfb629}
