:root{--ink:#172331;--muted:#536273;--ocean:#075b73;--ocean-strong:var(--ocean);--turquoise:var(--ocean);--soft:#edf7f6;--sand:var(--soft);--paper:#fff;--coral:#ad3d46;--spice:var(--coral);--leaf:var(--ocean);--control:#788d92;--line:#d8e0e4;--panel:var(--soft);--hero-ground:var(--ink);--danger:#87262e;--warning:var(--control);--surface-deep:var(--ocean-strong);--accent-warm:var(--spice);--type-body:1rem;--type-small:.875rem;--type-eyebrow:.875rem;--type-prose:1.125rem;--type-lead:var(--type-prose);--type-heading:2rem;--type-subheading:1.5rem;--type-home-title:4rem;--type-page-title:3rem;--body-media-width:min(860px, calc(100vw - 36px));--radius:8px;--shadow:0 18px 45px #1723311a}*{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans), sans-serif;font-size:var(--type-body);padding-bottom:var(--sticky-bar-space,0px);margin:0;line-height:1.55}h1,h2{font-family:var(--font-heading), var(--font-sans), serif;letter-spacing:0;font-weight:600}h2{font-size:var(--type-heading)}h3{font-size:var(--type-subheading);letter-spacing:0}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.site-header,main,.site-footer,.home-hero,.home-hero__content,.page-hero,.content-band,.planner,.hero-grid>*,.hero-actions,.hero-actions>*,.card-grid>*,.feature-grid>*,.booking-launcher,.booking-launcher__card,.resort-card,.faq-grid>*{min-width:0}.home-hero__content,.page-hero,.content-band,.planner{max-width:100%}.home-hero h1,.home-hero p,.hero-copy{overflow-wrap:anywhere}.site-header{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border-bottom:1px solid #d8e0e4e6;justify-content:space-between;align-items:center;gap:24px;padding:14px clamp(18px,4vw,56px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:11px;min-width:190px;display:flex}.brand-mark{background:var(--ocean);color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.brand strong,.brand small{display:block}.brand small,.eyebrow,.fineprint{color:var(--muted);font-size:var(--type-eyebrow)}.desktop-nav{font-size:var(--type-small);flex-wrap:wrap;justify-content:flex-end;gap:14px;display:flex}.desktop-nav a,.mobile-nav a{padding:8px 4px}.desktop-nav .nav-cta,.mobile-nav .nav-cta{background:var(--spice);color:#fff;border-radius:4px;padding-inline:12px;font-weight:800}.mobile-nav{display:none}.mobile-nav summary{cursor:pointer;list-style:none}.mobile-nav nav{border:1px solid var(--line);border-radius:var(--radius);min-width:220px;box-shadow:var(--shadow);background:#fff;padding:12px;display:grid;position:absolute;top:68px;right:18px}.home-hero{background:var(--hero-ground);align-items:end;min-height:520px;display:grid;position:relative;overflow:hidden}.home-hero__image{object-fit:cover;object-position:center;position:absolute;inset:0}.home-hero__overlay{background:linear-gradient(#071c2300 0,#071c2357 70px),linear-gradient(90deg,#071c23cc,#071c238c 58%,#071c2366);position:absolute;inset:0}.home-hero__content{color:#fff;max-width:880px;padding:64px clamp(18px,6vw,76px) 48px;position:relative}.home-hero h1,.page-hero h1{letter-spacing:0;max-width:960px;margin:0;line-height:1.02}.home-hero h1{font-size:var(--type-home-title)}.page-hero h1{font-size:var(--type-page-title)}.home-hero p:not(.eyebrow){max-width:780px;font-size:var(--type-lead)}.home-hero .eyebrow{color:var(--paper)}.page-hero .eyebrow{color:var(--ocean)}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:26px;display:flex}.hero-actions .fineprint{min-height:44px;color:var(--muted);align-items:center;margin:0;font-weight:600;display:inline-flex}.home-hero .hero-actions .fineprint{color:var(--paper)}.button{border-radius:var(--radius);text-align:center;white-space:normal;overflow-wrap:anywhere;max-width:100%;min-height:48px;font-size:var(--type-body);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 15px;font-weight:700;display:inline-flex}.button-primary{background:var(--spice);color:#fff}.button-secondary{border-color:var(--control);color:var(--ocean-strong);background:#fff}.button-muted{border-color:var(--line);background:var(--soft);color:var(--muted);cursor:not-allowed}.planner,.content-band{width:min(1180px,100% - 36px);margin:0 auto}.planner{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;grid-template-columns:.65fr 1.35fr;align-items:end;gap:24px;margin-top:24px;padding:34px;display:grid}.text-section[id]{scroll-margin-top:96px}.planner h2,.section-heading h2,.text-section h2,.page-quick-answer h2{font-size:var(--type-heading);margin:0;line-height:1.16}.planner-result{font-size:var(--type-small);color:var(--muted);margin:10px 0 0}.planner-form{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:12px;display:grid}label{color:var(--muted);font-size:var(--type-small);gap:6px;font-weight:700;display:grid}button,input,select,textarea{border:1px solid var(--control);border-radius:var(--radius);width:100%;min-height:44px;color:var(--ink);font:inherit;padding:10px 11px}textarea{resize:vertical}.content-band{padding:52px 0}.content-band--narrow{width:min(860px,100% - 36px)}.not-found-page{background:var(--panel);place-items:center;min-height:min(62vh,560px);display:grid}.not-found-page__inner{text-align:center;width:min(720px,100% - 36px);padding:clamp(52px,8vw,96px) 0}.not-found-page__inner h1{color:var(--ocean-strong);font-size:var(--type-page-title);margin:0;line-height:1.04}.not-found-page__inner>p:not(.eyebrow){max-width:58ch;color:var(--muted);margin:18px auto 0}.not-found-page__actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:28px;display:flex}.tp-widget-band{padding-top:18px}.tp-widget-shell{border-radius:var(--radius);background:linear-gradient(#fff 0%,#f7fbfb 100%);border:1px solid #16a4a733;padding:clamp(18px,3vw,30px);overflow:hidden;box-shadow:0 14px 34px #0736441a}.tp-widget-shell .section-heading{margin-bottom:14px}.tp-widget-shell .section-heading p:not(.eyebrow){max-width:760px;color:var(--muted);margin:0}.tp-widget-frame{min-height:112px;overflow:visible}.tp-widget-frame--compact{min-height:136px}.tp-widget-frame script{display:block}.tp-widget-loading{border-radius:var(--radius);min-height:58px;color:var(--muted);background:#ffffffb8;border:1px dashed #075b7347;place-items:center;margin-top:12px;display:grid}.tp-widget-fallback{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:14px;display:flex}.tp-widget-fallback p{color:var(--muted);margin:0}.tp-hub-band{padding-top:18px}.tp-hub-head{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.tp-hub-head h2,.tp-active-copy h3{margin:0;line-height:1.15}.tp-hub-head p:not(.eyebrow),.tp-active-copy p{max-width:760px;color:var(--muted);margin:8px 0 0}.tp-hub-head span{border-radius:var(--radius);color:var(--ocean-strong);background:#ffffffb8;border:1px solid #075b732e;flex:none;padding:7px 10px;font-size:.84rem;font-weight:800}.tp-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:18px;display:grid}.tp-tab{border:1px solid var(--line);border-radius:var(--radius);min-height:44px;color:var(--ocean-strong);font:inherit;cursor:pointer;background:#ffffffc7;justify-content:center;align-items:center;gap:8px;font-weight:800;display:inline-flex}.tp-tab--active{border-color:var(--ocean);color:#fff;background:var(--ocean)}.tp-active-panel{border-radius:var(--radius);background:#fff;border:1px solid #d8e0e4d6;gap:14px;padding:16px;display:grid}.section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px;display:flex}.eyebrow{letter-spacing:0;text-transform:uppercase;margin:0 0 7px;font-weight:800}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.card-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.action-card,.info-card,.link-card,.product-card,.quick-panel,.stat-card,.issue{border:1px solid var(--line);border-radius:var(--radius);background:#fff}.action-card,.link-card,.info-card,.stat-card,.issue{padding:18px}.action-card svg,.info-card svg{color:var(--turquoise)}.action-card h3,.link-card strong,.product-card h3,.text-section h3{margin:8px 0}.text-link{color:var(--spice);font-weight:800}.link-card{gap:6px;min-height:186px;display:grid}.link-card--media{align-content:start}.link-card__thumb{aspect-ratio:16/9;object-fit:cover;border-radius:6px;width:100%;margin-bottom:6px}.link-card span{color:var(--leaf);text-transform:uppercase;font-size:.82rem;font-weight:800}.feature-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.section-actions{justify-content:center;margin-top:20px;display:flex}.feature-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden}.feature-card img{aspect-ratio:16/9;object-fit:cover;width:100%}.feature-card span,.feature-card p{margin:0;padding-inline:16px;display:block}.feature-card span{color:var(--ocean-strong);padding-top:14px;font-weight:800}.feature-card p{color:var(--muted);padding-top:7px;padding-bottom:16px}.page-hero{color:#fff;background:linear-gradient(120deg,#063f52f2,#063f52c7),url(/images/real/stone-town-door.webp) 50%/cover;padding:56px clamp(18px,6vw,76px);position:relative;overflow:hidden}.page-hero>:not(.page-hero__custom-image):not(.page-hero__custom-overlay):not(.sr-only){z-index:1;position:relative}.page-hero--beach,.page-hero--hotel{background-color:var(--surface-deep);background-image:-webkit-image-set(url(/images/nungwi-beach.avif) 1x type("image/avif"),url(/images/nungwi-beach.webp) 1x type("image/webp"),url(/images/nungwi-beach.jpg) 1x type("image/jpeg"));background-image:image-set("/images/nungwi-beach.avif" 1x type("image/avif"),"/images/nungwi-beach.webp" 1x type("image/webp"),"/images/nungwi-beach.jpg" 1x type("image/jpeg"));background-position:50%;background-size:cover}.page-hero--activity,.page-hero--guide{background-color:var(--surface-deep);background-image:-webkit-image-set(url(/images/jozani-forest.avif) 1x type("image/avif"),url(/images/jozani-forest.webp) 1x type("image/webp"),url(/images/jozani-forest.jpg) 1x type("image/jpeg"));background-image:image-set("/images/jozani-forest.avif" 1x type("image/avif"),"/images/jozani-forest.webp" 1x type("image/webp"),"/images/jozani-forest.jpg" 1x type("image/jpeg"));background-position:50%;background-size:cover}.page-hero--beach:before,.page-hero--hotel:before,.page-hero--activity:before,.page-hero--guide:before{z-index:0;content:"";background:#063f52c7;position:absolute;inset:0}.page-hero--custom,.page-hero--regulated,.page-hero--no-image{background:var(--surface-deep)}.page-hero--regulated:before,.page-hero--no-image:before{display:none}.page-hero__custom-image{z-index:0;object-fit:cover;object-position:var(--page-hero-position,center);position:absolute;inset:0}.page-hero--editorial .page-hero__custom-image{object-position:right bottom}.page-hero__custom-overlay{z-index:0;background:linear-gradient(120deg,#063f52e6,#063f527a);position:absolute;inset:0}.breadcrumbs{align-items:center;gap:8px;margin-bottom:28px;font-size:.9rem;display:flex}.breadcrumbs>a,.breadcrumbs>span:not(:last-child){flex:none}.breadcrumbs>span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.hero-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:end;gap:30px;display:grid}.hero-copy{max-width:760px;font-size:var(--type-lead)}.quick-panel{color:var(--ink);padding:22px}.last-updated{color:var(--muted);align-items:center;gap:7px;font-size:.9rem;display:inline-flex}.text-section{margin-bottom:40px}.text-section ul{padding-left:20px}.decision-table{table-layout:fixed;border-collapse:collapse;width:100%;margin:20px 0;font-size:.95rem;line-height:1.5}.decision-table th,.decision-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere;padding:12px 8px}.decision-table thead{background:var(--soft)}.decision-table thead th:first-child{width:24%}.decision-table--coastal thead th:first-child,.decision-table--products thead th:first-child{width:28%}.budget-comparison{overflow-x:auto}.budget-comparison:focus-visible{outline:2px solid var(--ocean);outline-offset:3px}.budget-comparison .decision-table{min-width:620px}.contextual-links{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;padding-top:14px;font-size:.92rem;display:flex}.contextual-links span{color:var(--ink);font-weight:800}.contextual-link{color:var(--ocean-strong);align-items:center;gap:5px;font-weight:800;text-decoration:none;display:inline-flex}.contextual-link:hover{color:var(--spice)}.section-photos{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1rem;margin:1.5rem 0;display:grid}.section-photos figure{min-width:0;margin:0}.section-photos img{aspect-ratio:16/9;object-fit:cover;border-radius:8px;width:100%;height:auto;display:block}.section-photos figcaption{color:var(--muted);margin-top:.5rem;font-size:.875rem;line-height:1.5}.body-image{border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin:0 0 22px;overflow:hidden}.body-image img{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto;display:block}.body-image figcaption{color:var(--muted);padding:10px 14px 12px;font-size:.92rem}.notice-stack{gap:10px;display:grid}.notice{border-left:4px solid var(--spice);background:#fff7ed;margin:0;padding:13px 15px}.product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.inline-products{border:1px solid var(--line);border-radius:var(--radius);background:#f8fbfb;margin-block:20px;padding:18px}.product-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.product-card{overflow:hidden}.product-card img{aspect-ratio:4/3;object-fit:contain;background:#f4f6f6;width:100%;padding:10px}.product-card div{padding:16px}.product-card p.product-card__availability{-webkit-line-clamp:unset;line-clamp:unset;display:block;overflow:visible}.resort-recommendations{background:#f8fbfb}.resort-availability{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f6fbfa}.resort-availability__main{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);align-items:center;gap:22px;display:grid}.resort-availability__action{align-content:center;gap:10px;min-width:0;display:grid}.resort-availability__action .notice{overflow-wrap:anywhere}.resort-availability__main h2,.resort-availability__main p{margin:0}.resort-availability__main h2{margin-top:6px;margin-bottom:8px}.resort-availability__cta{text-align:center;justify-content:center;min-width:260px}.resort-availability__checks{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.resort-availability__checks span{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;padding:10px 12px;font-size:.9rem;font-weight:700}.resort-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.resort-area-searches{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.resort-area-searches .section-heading{margin-bottom:14px}.resort-area-searches__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.resort-area-searches__item{border:1px solid var(--line);border-radius:var(--radius);background:#fff;align-content:space-between;gap:12px;min-width:0;padding:16px;display:grid}.resort-area-searches__item h4,.resort-area-searches__item p{margin:0}.resort-area-searches__item h4{margin-top:4px}.resort-area-searches__item p:last-child{color:var(--muted);margin-top:6px;font-size:.92rem}.resort-area-searches__item .button{text-align:center;justify-content:center}.resort-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex-direction:column;display:flex;overflow:hidden}.resort-card__media{aspect-ratio:16/10;background:#e8f1f1;position:relative}.resort-card__media img{object-fit:cover}.resort-card__body{gap:10px;padding:18px;display:grid}.resort-card h3,.resort-card p{margin:0}.resort-meta,.resort-fit{color:var(--leaf);font-weight:800}.resort-fit{color:var(--ocean)}.button-disabled{cursor:not-allowed;border-color:var(--line);color:var(--muted);background:#e9eeee}.resort-gallery-grid{grid-template-columns:1.2fr .8fr .8fr;grid-auto-rows:minmax(180px,24vw);gap:12px;display:grid}.resort-gallery-item{border-radius:var(--radius);background:#e8f1f1;min-height:180px;margin:0;position:relative;overflow:hidden}.resort-gallery-item--wide{grid-row:span 2;min-height:380px}.resort-gallery-item img{object-fit:cover}.faq-grid,.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.site-footer{border-top:1px solid var(--line);color:#fff;background:#102b34;grid-template-columns:.9fr 1.6fr;gap:34px;padding:44px clamp(18px,4vw,56px);display:grid}.site-footer p{color:#d8e6e8}.site-footer nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 14px;font-size:.9rem;display:grid}.contact-form{gap:14px;display:grid}.hp{position:absolute;left:-10000px}.form-error{color:var(--danger)}.form-success{color:var(--leaf)}.stat-card{text-align:center;gap:4px;display:grid}.stat-card strong{color:var(--ocean);font-size:2rem}.issue-list{gap:10px;display:grid}.issue--error{border-left:4px solid var(--danger)}.issue--warning{border-left:4px solid var(--warning)}.issue--info{border-left:4px solid var(--turquoise)}.source-list a{color:var(--ocean);font-weight:800}@media (max-width:980px){.desktop-nav{display:none}.mobile-nav{display:block}.planner,.hero-grid,.resort-availability__main,.site-footer{grid-template-columns:1fr}.planner-form,.tp-tabs,.card-grid,.card-grid.four,.feature-grid,.product-grid,.resort-grid,.resort-area-searches__grid,.resort-availability__checks,.resort-gallery-grid,.faq-grid,.stat-grid,.site-footer nav{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.link-card__thumb,.link-card__thumb+.sr-only{display:none}.link-card{gap:4px;min-height:0;padding:14px}.link-card strong{margin:4px 0}.link-card p{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.home-hero{min-height:620px}.home-hero__content{width:100%;padding:76px 18px 60px}.site-header{gap:12px}.site-header .brand{flex:auto;min-width:0}.site-header .brand>span:last-child{overflow-wrap:anywhere;min-width:0}.mobile-nav{flex:none}.mobile-nav nav{min-width:min(220px,100vw - 36px);max-width:calc(100vw - 36px)}.planner{margin-top:18px;padding:18px;transform:none}.planner-form,.tp-tabs,.card-grid,.card-grid.four,.feature-grid,.product-grid,.resort-grid,.resort-area-searches__grid,.resort-availability__checks,.faq-grid,.stat-grid,.site-footer nav{grid-template-columns:1fr}.card-grid,.card-grid.four{gap:10px}.section-heading{display:block}.resort-gallery-grid{grid-template-columns:1fr;grid-auto-rows:220px}.resort-gallery-item--wide{min-height:280px}.tp-hub-head{display:block}}.booking-launcher-band{padding-top:18px}.booking-launcher{border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow);border:1px solid #16a4a73d;padding:clamp(18px,3vw,32px)}.booking-launcher__head h2{margin:0;line-height:1.15}.booking-launcher__head p:not(.eyebrow){max-width:760px;color:var(--muted);margin:8px 0 0}.booking-launcher__grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:20px 0 4px;display:grid}.booking-launcher__card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;align-content:start;gap:8px;padding:16px;display:grid}.booking-launcher__card h3{margin:0;font-size:1.02rem}.booking-launcher__card p{color:var(--muted);margin:0;font-size:.9rem}.booking-launcher__card .button{margin-top:4px}@media (max-width:980px){.booking-launcher__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.booking-launcher__grid{grid-template-columns:1fr}}@media (pointer:coarse),(max-width:640px){a:not(.link-card):not(.feature-card):not(.brand),button,summary{align-items:center;min-width:44px;min-height:44px;display:inline-flex}.site-header .brand{min-height:44px}.mobile-nav summary{justify-content:center}}:focus-visible{outline:3px solid var(--ocean);outline-offset:2px;border-radius:4px;box-shadow:0 0 0 2px #fff}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--ocean);outline-offset:2px;box-shadow:0 0 0 2px #fff}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.answers-band{background:var(--surface-deep,#063f52);color:#fff}.answers-band .section-heading h2,.answers-band .section-heading .eyebrow{color:#fff}.answer-list{grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:720px){.answer-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.answer-card{background:#ffffff12;border:1px solid #ffffff29;border-radius:14px;flex-direction:column;gap:.55rem;padding:1.15rem 1.25rem;display:flex}.answer-card h3{color:#fff;margin:0;font-size:1.0625rem}.answer-card p{color:#ffffffe0;margin:0;line-height:1.55}.answer-card .text-link{color:#ffd9c2;text-underline-offset:3px;align-items:center;min-height:44px;margin-top:auto;font-weight:600;text-decoration:underline;display:inline-flex}.answers-band>p .text-link{color:#ffd9c2;text-underline-offset:3px;text-decoration:underline}.section-more{margin:1.1rem 0 0}.section-more a{text-underline-offset:3px;align-items:center;min-height:44px;font-weight:600;text-decoration:underline;display:inline-flex}@media (max-width:639px){.product-card{grid-template-columns:96px minmax(0,1fr);align-items:start;gap:.85rem;padding:.85rem;display:grid}.product-card img{object-fit:contain;border-radius:10px;width:96px;height:96px}.product-card>div{flex-direction:column;gap:.35rem;min-width:0;display:flex}.product-card h3{margin:0;font-size:1rem}.product-card p{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.product-card .button{align-self:flex-start;min-height:44px}}.breadcrumbs a,.contextual-link,.site-footer nav a,.source-list a{padding-block:2px}.page-hero,.page-hero--beach,.page-hero--hotel,.page-hero--activity,.page-hero--guide,.page-hero--regulated,.page-hero--no-image{background:var(--paper);color:var(--ink);padding:32px 18px}.page-hero:before{display:none}.page-hero__inner{max-width:1180px;margin-inline:auto}.page-hero h1{max-width:24ch;margin-bottom:24px;line-height:1.15}.hero-copy,.page-quick-answer,.text-section>p,.text-section>ul,.text-section>ol{max-width:66ch;font-size:var(--type-prose);line-height:1.6}.page-quick-answer h2{font-family:var(--font-sans), sans-serif;margin:0 0 8px;font-size:1rem}.page-quick-answer p{margin:0 0 16px}.page-quick-answer .last-updated{font-size:var(--type-small)}.page-primary-media,.body-image{width:var(--body-media-width);max-width:none;box-shadow:none;background:0 0;border:0;border-radius:0;margin:24px auto 32px;padding:0;position:relative}.body-image{margin-inline:0;left:50%;transform:translate(-50%)}.page-primary-media picture,.page-primary-media__image,.body-image picture,.body-image img{object-fit:contain;border-radius:0;width:100%;height:auto;display:block}.criteria-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;margin:24px 0 0;padding:0;list-style:none;display:grid}.criterion-row{border-top:1px solid var(--line);align-items:flex-start;gap:12px;padding:16px 0;display:flex}.criterion-row svg{color:var(--ocean);flex:0 0 19px;margin-top:3px}.content-band--compact{padding-block:24px}.content-band--compact .criteria-list{margin-top:16px}.page-contents{border-bottom:1px solid var(--line);max-width:1180px;margin:0 auto 24px;padding:0 18px 16px}.planner .planner-form{grid-template-columns:minmax(130px,.6fr) minmax(0,1fr)}.planner h2{font-size:1.5rem}.planner h3{margin:0 0 8px;font-size:1.125rem}.planner-links,.planner-duration-links ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;margin:0;padding:0;list-style:none;display:grid}.planner-links a,.planner-duration-links a{text-underline-offset:3px;align-items:center;min-height:44px;display:inline-flex}.page-contents h2{font:700 1rem/1.5 var(--font-sans), sans-serif;margin:0 0 8px}.page-contents ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:0;padding:0;list-style:none;display:grid}.page-contents a,.trip-budget__links a,.recommendation-sources a{text-underline-offset:3px;align-items:center;min-height:44px;display:inline-flex}.recommendation-sources{font-size:.875rem;line-height:1.6}.trip-budget{border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:24px;scroll-margin-top:100px}.trip-budget h2{font-size:1.5rem}.trip-budget__controls{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0;padding:0;display:grid}.trip-budget__controls legend{margin-bottom:12px;font-weight:700}.trip-budget label{font-weight:600;display:block}.trip-budget input,.trip-budget select{border:1px solid var(--control);width:100%;min-width:0;min-height:44px;color:var(--ink);font:inherit;background:#fff;border-radius:4px;margin-top:8px;padding:8px}.trip-budget__table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:.875rem;line-height:1.5}.trip-budget__table caption{text-align:left;margin-bottom:12px;font-weight:700}.trip-budget__table th,.trip-budget__table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);overflow-wrap:anywhere;padding:12px 8px}.trip-budget__table thead{background:var(--soft)}.trip-budget__table th:first-child{width:24%}.trip-budget__amount{width:30%}.trip-budget__amount input{margin:0}.trip-budget__result{gap:12px;margin:24px 0;display:grid}.trip-budget__summary-item{flex-wrap:wrap;justify-content:space-between;gap:8px 16px;display:flex}.trip-budget__summary-note,.trip-budget__privacy{font-size:.875rem;line-height:1.5}.trip-budget__error{color:#982b35;margin:8px 0 0;font-size:.875rem}.trip-budget__actions,.trip-budget__links{flex-wrap:wrap;gap:12px 24px;display:flex}.trip-budget__confirmation{border-block:1px solid var(--line);margin-bottom:24px;padding-block:16px}.trip-budget__confirmation p{margin-top:0}.trip-budget__links{margin-top:16px}@media (max-width:640px){.page-contents ol,.trip-budget__controls,.planner .planner-form,.planner-links,.planner-duration-links ul{grid-template-columns:1fr}.trip-budget{padding:16px}.trip-budget__table th,.trip-budget__table td{padding-inline:4px}.trip-budget__table th:first-child,.decision-table--stay thead th:first-child{width:32%}}.mobile-nav summary{place-items:center;width:44px;height:44px;display:grid}.home-entry-checks{background:var(--soft);flex-wrap:wrap;justify-content:center;gap:12px 24px;padding:16px 18px;display:flex}.home-entry-checks a{min-height:44px;color:var(--ocean);text-underline-offset:3px;align-items:center;font-size:1rem;text-decoration:underline;display:inline-flex}.button{border-radius:4px;min-height:48px;font-size:1rem}.button-secondary,select,input:not([type=checkbox]):not([type=radio]),textarea{border-color:var(--control)}.site-header nav a{min-height:44px;font-size:1rem}.home-page .home-section-heading{justify-content:space-between;align-items:end;gap:16px 32px;margin-bottom:20px;display:flex}.home-page .home-section-heading h2,.home-page .home-trust h2{max-width:28ch;font-size:var(--type-heading);margin:0;line-height:1.2}.home-page .home-section-heading>.text-link{flex-shrink:0}.home-page .home-section-intro{max-width:76ch;color:var(--muted);margin:0 0 28px;line-height:1.65}.home-page .home-four-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.home-page .home-preview{border:1px solid var(--line);background:var(--paper);border-radius:8px;overflow:hidden}.home-page a.home-image-link:not(.button){aspect-ratio:16/9;width:100%;min-height:0;display:block;position:relative;overflow:hidden}.home-page .home-four-grid>*,.home-page .home-stay-grid>*,.home-page .home-stay>*,.home-page .home-itinerary-grid>*,.home-page .home-answer-grid>*,.home-page .home-safari>*,.home-page .home-trust>*{min-width:0}.home-page .home-image-link picture{width:100%;height:100%;display:block}.home-page .home-image-link img{object-fit:cover;width:100%;height:100%;display:block}.home-page .home-preview__copy{padding:20px 18px}.home-page .home-preview h3,.home-page .home-guide h3,.home-page .home-experience-alternatives h3,.home-page .home-itinerary h3,.home-page .home-answer-grid h3,.home-page .home-safari h3,.home-page .home-trust h3{overflow-wrap:break-word;margin:0 0 12px;font-size:1.25rem;line-height:1.35}.home-page .home-preview p,.home-page .home-guide p,.home-page .home-experience-alternatives p,.home-page .home-itinerary p,.home-page .home-answer-grid p,.home-page .home-stay p,.home-page .home-safari p,.home-page .home-trust p{margin:0 0 16px;line-height:1.65}.home-page .home-preview .eyebrow,.home-page .home-stay .eyebrow,.home-page .home-itinerary .eyebrow,.home-page .home-safari .eyebrow,.home-page .home-trust .eyebrow,.home-page .home-experience-alternatives .eyebrow{font-size:var(--type-small);margin-bottom:8px;line-height:1.5}.home-page .home-tradeoff{color:var(--muted);font-size:.9375rem}.home-page .home-inline-links,.home-page .home-link-row{flex-wrap:wrap;align-items:center;gap:6px 18px;display:flex}.home-page .home-inline-links a,.home-page .home-link-row a,.home-page .home-answer-grid a,.home-page .home-band-note a,.home-page .home-experience-alternatives a,.home-page .home-trust a{color:var(--ocean);text-underline-offset:3px;text-decoration:underline}.home-page .home-inline-links a{align-items:center;max-width:100%;min-height:44px;display:inline-flex}.home-page .home-tinted-band{background:var(--soft)}.home-page .home-stay-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px;display:grid}.home-page .home-stay{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:20px;display:grid}.home-page .home-stay .home-image-link{aspect-ratio:3/4;border-radius:4px}.home-page .home-stay h3{margin:0 0 12px;font-size:1.5rem;line-height:1.25}.home-page .home-stay__actions{flex-wrap:wrap;align-items:center;gap:12px 20px;display:flex}.home-page .home-band-note,.home-page .home-source-note{color:var(--muted);font-size:var(--type-small);margin:28px 0 0;line-height:1.65}.home-page .home-answer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 32px;display:grid}.home-page .home-answer-grid>article{border-top:2px solid var(--line);padding-top:20px}.home-page .home-guide-band{border-block:1px solid var(--line)}.home-page .home-guide .home-image-link{border-radius:4px;margin-bottom:18px}.home-page .home-link-row{border-top:1px solid var(--line);margin-top:28px;padding-top:20px;line-height:1.6}.home-page .home-link-row>span{color:var(--muted);font-size:var(--type-small);flex-basis:100%}.home-page .home-link-row a{align-items:center;min-height:44px;display:inline-flex}.home-page .home-experience-alternatives{border-top:3px solid var(--coral);padding:20px 0 0 12px}.home-page .home-itinerary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid}.home-page .home-itinerary .home-image-link{border-radius:4px;margin-bottom:20px}.home-page .home-itinerary h3{font-size:1.5rem}.home-page .home-itinerary__nights{color:var(--ocean);font-weight:700}.home-page .home-safari{border-top:1px solid var(--control);grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:center;gap:32px;margin-top:36px;padding-top:32px;display:grid}.home-page .home-safari .home-image-link{border-radius:4px}.home-page .booking-launcher{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.home-page .product-strip{border-top:1px solid var(--line);padding-block:36px}.home-page .product-strip .section-heading h2{font-size:var(--type-subheading)}.home-page .home-faq .home-answer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-page .home-trust-band{border-top:1px solid var(--line);background:var(--soft)}.home-page .home-trust{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px;display:grid}.home-page .home-trust h2{font-size:var(--type-subheading);margin-bottom:20px}.home-page .home-trust__limits{border-left:1px solid var(--control);padding-left:28px}.home-page .home-image-link:focus-visible{outline-offset:-4px}.home-page h3 a:hover{color:var(--ocean);text-underline-offset:3px;text-decoration:underline}@media (max-width:1180px){.home-page .home-stay{grid-template-columns:1fr}.home-page .home-stay .home-image-link{aspect-ratio:3/2}}@media (max-width:980px){.home-page .home-four-grid,.home-page .home-answer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-page .home-itinerary-grid{gap:20px}.home-page .home-section-heading{align-items:start}.home-page .home-section-heading>.text-link{flex-shrink:1}}@media (max-width:640px){.home-page .home-section-heading{flex-direction:column;gap:12px}.home-page .home-four-grid,.home-page .home-stay-grid,.home-page .home-answer-grid,.home-page .home-faq .home-answer-grid,.home-page .home-itinerary-grid,.home-page .home-safari,.home-page .home-trust{grid-template-columns:1fr;gap:28px}.home-page .home-preview__copy{padding:20px}.home-page .home-experience-alternatives{padding-left:0}.home-page .home-trust__limits{border-left:0;border-top:1px solid var(--control);padding:24px 0 0}}@media (max-width:1179px){:root{--type-home-title:3rem;--type-page-title:2.5rem;--type-heading:1.875rem;--type-subheading:1.375rem}}@media (min-width:641px) and (max-width:980px){:root{--body-media-width:min(732px, calc(100vw - 36px))}}@media (max-width:640px){:root{--type-home-title:2.5rem;--type-page-title:2rem;--type-heading:1.625rem;--type-subheading:1.375rem;--type-prose:1rem;--body-media-width:min(354px, calc(100vw - 36px))}.criteria-list{grid-template-columns:1fr}.page-hero{padding-block:24px}}
