@import "https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;600;700;800&family=Fredoka:wght@500;600;700&family=Nunito+Sans:wght@400;600;700&family=Caveat:wght@500;600;700&family=IBM+Plex+Mono:wght@500&display=swap";:root{--teal-900:#0d4750;--teal-800:#0f5c66;--teal-700:#146a75;--teal-500:#1f8a94;--teal-100:#d9edee;--coral-700:#c85a34;--coral-600:#e0703f;--coral-500:#e8734a;--coral-400:#ef8f68;--coral-100:#fbe3d6;--cream-100:#fbf3e7;--cream-050:#fdf8f1;--peach-100:#faece0;--white:#fff;--ink-900:#24313a;--ink-600:#5b6b73;--ink-400:#8a9aa1;--line-200:#e7ddcf;--line-300:#d8ccb9;--color-bg-page:var(--cream-100);--color-bg-surface:var(--white);--color-bg-surface-soft:var(--peach-100);--color-bg-brand:var(--teal-800);--color-bg-accent:var(--coral-500);--color-text-primary:var(--ink-900);--color-text-secondary:var(--ink-600);--color-text-muted:var(--ink-400);--color-text-brand:var(--teal-800);--color-text-accent:var(--coral-500);--color-text-on-accent:var(--white);--color-text-on-brand:var(--white);--color-border:var(--line-200);--color-border-strong:var(--line-300);--color-accent:var(--coral-500);--color-accent-hover:var(--coral-600);--color-accent-active:var(--coral-700);--color-brand:var(--teal-800);--color-brand-hover:var(--teal-700);--color-brand-active:var(--teal-900);--color-success:#3f9457;--color-warning:#d99a2b;--color-danger:#d1553f;--font-display:"Baloo 2", "Fredoka", ui-rounded, sans-serif;--font-body:"Nunito Sans", "Nunito", system-ui, sans-serif;--font-script:"Caveat", cursive;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.375rem;--text-xl:1.75rem;--text-2xl:2.25rem;--text-3xl:3rem;--text-4xl:3.75rem;--leading-tight:1.1;--leading-snug:1.3;--leading-normal:1.5;--leading-relaxed:1.65;--tracking-tight:-.01em;--tracking-normal:0;--tracking-wide:.06em;--tracking-widest:.14em;--weight-regular:400;--weight-semibold:600;--weight-bold:700;--weight-black:800;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--radius-xl:28px;--radius-pill:999px;--shadow-card:0 20px 45px -20px #0d475047;--shadow-card-soft:0 10px 24px -12px #0d47502e;--shadow-focus:0 0 0 4px #e8734a47;--border-hairline:1px solid var(--color-border);--border-dashed:2px dashed var(--line-300);--ease-standard:cubic-bezier(.32, .72, 0, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.12s;--duration-standard:.2s;--duration-slow:.32s}html{scroll-behavior:smooth}body{background:var(--cream-100,#fbf3e7);font-family:var(--font-body);color:var(--ink-900);margin:0}a{color:var(--coral-500,#e8734a)}a:hover{color:var(--coral-700,#c85a34)}#main-nav .nav-link{transition:color var(--duration-fast) var(--ease-standard)}#main-nav .nav-link:hover{color:var(--coral-500)!important}@media (width<=900px){.category-hero-grid{grid-template-columns:1fr!important;gap:32px!important}}.service-card{transition:transform var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard)}.service-card:hover{transform:translateY(-4px);box-shadow:0 16px 30px -14px #0d475047}.service-card:hover .service-card-cta{color:var(--coral-700)}#main-nav .nav-dropdown-link{transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard)}#main-nav .nav-dropdown-link:hover,#main-nav .nav-dropdown-link:focus-visible{background:var(--peach-100);color:var(--coral-500)!important}#request input:focus,#request select:focus,#request textarea:focus{border-color:var(--teal-800)}@media (width<=1080px){#hero-grid{grid-template-columns:1fr!important;gap:40px!important}#hero-photo{height:380px!important}#services-grid{grid-template-columns:1fr 1fr!important}}@media (width<=980px){#request-card{grid-template-columns:1fr!important}#request-stub{border-bottom:2px dashed var(--line-300);border-right:none!important}#how-grid{grid-template-columns:1fr!important;gap:40px!important}#how-line{display:none!important}#about-grid{text-align:center;justify-items:center;grid-template-columns:1fr!important}#about-grid h2,#about-grid p{text-align:left}[data-section],#main-nav{padding-left:24px!important;padding-right:24px!important}#main-nav [data-nav-links]{gap:20px!important}}@media (width<=640px){#request-fields,#services-grid{grid-template-columns:1fr!important}#hero-h1{font-size:44px!important}#hero-h1 span{font-size:50px!important}#hero-photo{height:300px!important}[data-section]{padding-top:48px!important;padding-bottom:48px!important}#footer-bar{gap:20px;flex-direction:column!important;align-items:flex-start!important}}.skeleton{background:var(--line-200);animation:1.4s ease-in-out infinite skeleton-pulse}@keyframes skeleton-pulse{0%,to{opacity:.55}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.skeleton{opacity:.7;animation:none}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--teal-500);outline-offset:2px}.faq-summary::-webkit-details-marker{display:none}.faq-chevron{transition:transform var(--duration-fast,.16s) var(--ease-standard,ease)}.faq-item[open] .faq-chevron{transform:rotate(180deg)}.faq-summary:hover{color:var(--coral-500)}.photo-strip{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;gap:16px;padding:10px 6px 14px;display:flex;overflow-x:auto}.photo-frame{scroll-snap-align:start;background:var(--white);box-shadow:var(--shadow-card-soft);transition:transform var(--duration-standard) var(--ease-bounce);border-radius:10px;flex:none;padding:6px 6px 12px}.photo-frame:hover{transform:rotate(0)scale(1.03)!important}.photo-frame img{object-fit:cover;border-radius:6px;width:auto;min-width:110px;max-width:260px;height:150px;display:block}@media (width<=640px){.photo-strip{gap:12px;padding:8px 4px 12px}.photo-frame{padding:5px 5px 10px}.photo-frame img{min-width:90px;max-width:200px;height:120px}}@media (prefers-reduced-motion:reduce){.photo-frame{transition:none}}.lightbox{z-index:100;padding:12px 10px calc(12px + env(safe-area-inset-bottom,0px));background:#0d4750d9;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:fixed;inset:0}.lightbox-top{justify-content:space-between;align-items:center;gap:16px;width:min(920px,96vw);display:flex}.lightbox-stage{touch-action:pan-y;max-width:96vw;position:relative}.lightbox-frame{background:var(--white);border-radius:14px;padding:8px 8px 12px;transform:rotate(-.5deg);box-shadow:0 24px 60px #00000059}.lightbox-img{object-fit:contain;border-radius:8px;max-width:min(860px,92vw);max-height:56dvh;margin:0 auto;display:block}.lightbox-caption{text-align:center;font-family:var(--font-script);color:var(--color-accent);margin-top:8px;font-size:18px}.lightbox-arrow{color:#fff;cursor:pointer;width:40px;height:40px;transition:background var(--duration-fast) var(--ease-standard);background:#0f5c66b8;border:none;border-radius:50%;font-size:24px;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-arrow:hover{background:var(--coral-500)}.lightbox-arrow-prev{left:14px}.lightbox-arrow-next{right:14px}.lightbox-thumbs{-webkit-overflow-scrolling:touch;gap:10px;max-width:min(920px,96vw);padding:6px;display:flex;overflow-x:auto}@media (width>=641px){.lightbox{gap:16px;padding:24px 16px}.lightbox-frame{padding:10px 10px 16px}.lightbox-img{max-height:62dvh}.lightbox-caption{margin-top:10px;font-size:22px}.lightbox-arrow{background:var(--teal-800);width:44px;height:44px;font-size:26px}.lightbox-arrow-prev{left:-56px}.lightbox-arrow-next{right:-56px}}@media (width>=641px) and (width<=1020px){.lightbox-arrow-prev{left:10px}.lightbox-arrow-next{right:10px}.lightbox-arrow{background:#0f5c66b8}}@media (width<=880px){.flight-ticket{flex-direction:column!important}.flight-ticket .ft-side{border-top:2px dashed var(--line-300);border-left:none!important}.cards-grid{grid-template-columns:1fr 1fr!important}}@media (width<=640px){.trip-header{padding:28px 22px 24px!important}.trip-headline{font-size:32px!important}.ft-main,.flight-ticket .ft-side{padding:20px 22px!important}.ft-code{font-size:28px!important}.cards-grid,.amenities-grid{grid-template-columns:1fr!important}.trip-cta{padding:24px 22px!important}.trip-cta-actions button{width:100%}}
