/* World Service Tour PTY: client palette, a consistent type scale and aligned components. */
:root{--ink:#102c52;--teal:#16798c;--teal-dark:#105b6a;--ivory:#fff;--sand:#e3e8ed;--gold:#aa8653;--muted:#5e6c7d;--line:#dce2e8;--soft:#edf2f6;--serif:'Libre Franklin',Arial,sans-serif;--sans:Lato,Arial,sans-serif;--radius:8px}
body{background:#fff;font:400 16px/1.65 var(--sans)}
h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-.025em;line-height:1.2}
h1{font-size:clamp(36px,4.4vw,58px)}h2{font-size:clamp(28px,3vw,38px)}h3{font-size:23px}
.hero-copy h1{font-size:clamp(44px,5.1vw,68px);line-height:1.13;letter-spacing:-.035em;font-weight:500;max-width:1000px}
.hero-copy>p:not(.eyebrow){font-size:16px;max-width:515px;line-height:1.65}.hero-copy .eyebrow{font-size:11px;letter-spacing:.14em}
.eyebrow{font-size:11px;letter-spacing:.12em}.desktop-nav{font-size:13px;gap:26px}.wordmark{font-family:var(--sans)}
.button{min-height:48px;padding:13px 24px;border-radius:7px;font:700 14px/1.35 var(--sans);letter-spacing:0;gap:10px}
.button-primary{background:var(--ink);color:white}.button-primary:hover{background:#1b426c}.button-outline{border-color:var(--ink);color:var(--ink)}
.button-header{min-height:44px;font-size:13px}.text-link{font-size:14px;color:var(--teal)}.icon-button{width:44px;height:44px}.icon svg{stroke-width:1.75}
.site-header{background:white}.site-header.is-sticky{background:rgba(255,255,255,.98)}.logo-mark{background:white}
.site-footer{background:#0d2343}.footer-tagline{font-family:var(--sans);font-size:24px;font-weight:700}.footer-grid p,.footer-grid a,.footer-grid span{font-size:14px}.footer-grid .eyebrow{font-size:11px;color:#7cd4df}.footer-bottom{flex-wrap:wrap;gap:20px;font-size:12px}.design-credit{margin-left:auto;white-space:nowrap}.design-credit a{text-decoration:underline;text-underline-offset:4px;font-weight:700}
.featured-section{background:#f2f4f6}.editorial-copy{background:#edf2f6}.editorial-copy h2{font-size:clamp(30px,3.6vw,46px)}.editorial-copy p{font-size:16px}.editorial-copy .eyebrow{font-size:11px}
.category-card{height:340px;border-radius:7px}.category-card:nth-child(2),.category-card:nth-child(4){margin-top:0}.category-card h3{font-size:25px;font-weight:600;max-width:200px}.category-card-bottom{min-height:64px;align-items:center}
.tour-grid{align-items:stretch;gap:36px 26px}.tour-card{display:flex;flex-direction:column;height:100%;min-width:0}.tour-image{aspect-ratio:4/3;border-radius:7px}.tour-card-meta{font-size:11px;min-height:27px;gap:12px;align-items:center}.tour-card h3{font-size:23px;font-weight:600;line-height:1.3;min-height:60px;margin:10px 0 12px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.tour-card>p{font-size:15px;line-height:1.65;min-height:75px;margin-bottom:20px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.tour-card-bottom{margin-top:auto;min-height:54px;gap:14px;align-items:center}.tour-card-bottom .availability-note{font-size:12px;max-width:120px;line-height:1.5}.tour-card-bottom .text-link{font-size:13px;flex-shrink:0}.tour-card-bottom .price strong{font-size:17px}.tour-card-bottom .price small{font-size:11px}.image-note{font-size:10px}
.section-heading h2{max-width:840px}.section-heading p:not(.eyebrow){font-size:15px}.story-invitation h3{font-size:26px}.story-invitation p{font-size:15px}.story-empty{background:#edf2f6}.story-empty h2{font-size:32px}.story-empty p{font-size:15px}
.page-intro h1{font-size:clamp(34px,4.1vw,52px);max-width:1000px}.page-intro p:not(.eyebrow){font-size:16px}.tour-title h1{font-size:clamp(32px,4vw,50px);max-width:1000px}.tour-title-meta{font-size:14px}.tour-gallery{border-radius:7px;overflow:hidden}.tour-gallery:not(:has(.tour-gallery-side)){grid-template-columns:1fr}.tour-detail-layout p{font-size:16px}.detail-section h2{font-size:32px}.detail-section h3,.booking-sidebar h3{font-size:24px}.detail-section li{font-size:15px}.booking-sidebar{background:#f2f4f6;border-radius:8px}.booking-sidebar h3{margin-bottom:20px}.booking-sidebar p{font-size:15px}.booking-sidebar .small-note{font-size:12px}.inquiry-box{background:#f2f4f6}.inquiry-box h2,.review-form-section h2{font-size:32px}.inquiry-box p{font-size:15px}
form label{font-size:14px}input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{min-height:48px;font-size:15px;border-color:#cdd6df;border-radius:6px}.check-label{font-size:13px}.small-note,.admin-help{font-size:12px}.filter-form h3{font-size:22px}.filter-form label{font-size:13px}.results-toolbar{font-size:14px}.results-toolbar select{font-size:13px}.empty-state h2{font-size:30px}.empty-state p{font-size:15px}.results-toolbar .filter-toggle{min-height:44px}
.search-bar{border-radius:9px;grid-template-columns:minmax(150px,1.2fr) minmax(170px,1fr) minmax(130px,.8fr) 190px}.search-segment .field-label{font-size:11px;margin-bottom:5px}.search-segment button,.search-bar .search-segment input[type=search]{font-size:14px;font-weight:700}.search-submit{min-height:58px;border-radius:6px;white-space:nowrap;padding-inline:18px}.compact .search-submit{min-height:50px}.search-segment{min-height:58px}.search-segment>span:not(.icon){min-width:0}.search-bar .search-segment input[type=search]{min-height:24px}
.dialog-heading h2{font-size:28px}.calendar-month h3{font-size:14px}.calendar-day{font-size:13px;height:40px}.calendar-weekday{font-size:12px}.segmented-control button{font-size:13px}.segmented-control{background:#e7edf2}.calendar-selection{font-size:14px}.calendar-day.in-range{background:#e2edf3}.calendar-day:hover:not(:disabled){background:#d7e7ef}.guest-counter{font-size:15px}.guest-counter output{font-size:16px}.child-ages label,.child-ages select{font-size:14px}
.checkout-form h2,.checkout-summary h3{font-size:26px}.checkout-summary{border-radius:8px}.summary-row{font-size:14px}.summary-total{font-size:20px}.checkout-steps{font-size:13px}.review-card .review-body{font-size:16px}.review-card strong{font-size:15px}.review-card .small-note{font-size:12px}.review-response{font-size:14px}.faq-list summary{font-size:18px;font-family:var(--sans);font-weight:700}.faq-list p{font-size:16px}
a.button[href^='https://wa.me/']{background:#128c4a;color:white;border-color:#128c4a}a.button[href^='https://wa.me/']:hover{background:#0d703a;border-color:#0d703a}a[href^='https://wa.me/'] .icon svg{fill:currentColor;stroke:none}.whatsapp-float{width:58px;height:58px;background:#25d366;color:white;border:3px solid #fff;box-shadow:0 4px 18px #0a372f30;right:24px;bottom:24px}.whatsapp-float:hover{background:#1dbd5b}.whatsapp-float .icon{width:30px;height:30px}.whatsapp-float .icon svg{fill:white;stroke:none}.whatsapp-label{position:absolute;right:calc(100% + 10px);padding:5px 10px;background:white;color:#134b2b;border-radius:5px;border:1px solid #d7e4da;font-size:12px;line-height:1.5;white-space:nowrap;box-shadow:0 2px 10px #102c5210}.inquiry-link .icon{width:17px;height:17px;margin-right:6px}
.admin-body{background:#f2f4f6}.admin-main h1{font-family:var(--serif);font-size:36px}.admin-main h2{font-size:26px}.admin-main h3{font-family:var(--sans);font-size:18px}.admin-nav a[aria-current],.admin-nav a:hover{background:var(--ink)}.admin-main .button{font-size:14px}.admin-metrics strong{color:var(--ink)}
@media(max-width:1100px){.desktop-nav{display:none}.mobile-menu-toggle{display:inline-flex}.category-card{height:300px}.category-card h3{font-size:22px}.tour-card h3{font-size:22px;min-height:58px}.tour-card-bottom{flex-wrap:wrap;align-content:end;min-height:68px}.tour-card-bottom .availability-note{max-width:none}.tour-card-bottom .text-link{font-size:13px}.design-credit{margin-left:0}}
@media(max-width:760px){.hero-copy h1{font-size:40px;line-height:1.16;letter-spacing:-.03em}.hero-copy{padding-top:145px}.hero-copy>p:not(.eyebrow){font-size:15px;line-height:1.65;max-width:320px}.hero-copy .eyebrow{font-size:10px}.wordmark{font-size:10px}.logo-mark{width:42px;height:42px}.header-actions{gap:13px}.site-header{height:82px}.site-header.is-sticky{height:72px}.category-card{height:270px}.category-card h3{font-size:20px;max-width:145px}.category-card-bottom{left:16px;right:16px;bottom:20px;min-height:54px}.category-card-bottom>.icon{width:18px}.section-heading h2{font-size:30px}.section-heading p:not(.eyebrow){font-size:15px}.tour-card h3{font-size:24px;min-height:62px}.tour-card>p{min-height:75px}.tour-card-bottom{flex-wrap:nowrap;min-height:54px;align-content:normal}.tour-card-bottom .availability-note{font-size:12px;max-width:125px}.search-segment .field-label{font-size:11px}.search-segment button,.search-bar .search-segment input[type=search]{font-size:14px}.search-submit{font-size:14px;min-height:48px}.calendar-month h3{font-size:14px}.calendar-day{height:40px}.segmented-control button{font-size:12px;padding:10px 12px}.dialog-heading h2{font-size:26px}.tour-title h1{font-size:32px}.page-intro h1{font-size:34px}.detail-section h2{font-size:28px}.inquiry-box h2,.review-form-section h2{font-size:28px}.footer-bottom{flex-direction:column;align-items:flex-start}.footer-bottom>div{flex-wrap:wrap;gap:14px}.whatsapp-float{width:54px;height:54px;right:16px;bottom:18px}.whatsapp-label{display:none}.mobile-nav-dialog nav a{font-family:var(--sans);font-size:29px;font-weight:700}.admin-main h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:760px){.search-bar{grid-template-columns:1fr 1fr}.filters.is-open .filter-form{display:block;background:#f2f4f6}.category-card:nth-child(2),.category-card:nth-child(4){margin-top:0}.stories-section h2{font-size:30px}.story-invitation h3{font-size:26px}.tour-card-meta{font-size:11px}.tour-card-meta>span:last-child{max-width:120px}.image-note{font-size:10px}.footer-bottom{display:flex;font-size:12px}.design-credit{margin-top:2px}.filter-form label{font-size:13px}.filter-form select,.filter-form input{min-height:48px;font-size:15px}}
