/* RESET APPLE: remove this stylesheet and apple-ui.js to restore the prior UI. */
@media (max-width:700px) {
  :root {
    --apple-ink:#241244;
    --apple-paper:#faf6f0;
    --apple-violet:#5a1ee6;
    --apple-coral:#ff6b35;
    --apple-fuchsia:#e51e8c;
    --apple-radius:20px;
    --apple-gutter:clamp(18px,5.3vw,26px);
  }
  html { scroll-padding-top:90px; }
  body { -webkit-text-size-adjust:100%; }
  button, a, summary { -webkit-tap-highlight-color:transparent; }
  .apple-icon { display:inline-block;width:18px;height:18px;flex:none;vertical-align:-3px;overflow:visible; }
  .apple-iconized { gap:9px; }
  .button.apple-iconized,.trip-actions .button.apple-iconized,.destination-actions .button.apple-iconized { display:inline-flex;align-items:center;justify-content:space-between;gap:12px; }
  .button .apple-icon,.trip-actions .apple-icon { width:17px;height:17px; }
  .text-link .apple-icon { color:var(--apple-ink);-webkit-text-fill-color:var(--apple-ink); }
  .text-link.light .apple-icon,.closing .text-link .apple-icon,.last-minute-cta .text-link .apple-icon,.needs-section .text-link .apple-icon { color:var(--apple-paper);-webkit-text-fill-color:var(--apple-paper); }
  .reasons-cta .text-link .apple-icon { color:var(--apple-paper); }
  .header { height:72px;padding-inline:var(--apple-gutter);gap:9px;background:var(--apple-paper);border-bottom:1px solid rgba(36,18,68,.13);box-shadow:none; }
  .header .brand { --wordmark-width:clamp(132px,37vw,170px); }
  .header-contact.button { min-height:44px;padding:10px 12px;font-size:12px;font-weight:700;box-shadow:none;white-space:nowrap; }
  .header-contact .apple-icon { width:15px;height:15px; }
  .menu-toggle { width:44px;min-width:44px;height:44px;border-radius:12px;padding:10px!important;gap:5px;transition:background .2s ease; }
  .menu-toggle:hover,.menu-toggle[aria-expanded=true] { background:rgba(90,30,230,.07)!important; }
  .menu-toggle span { width:24px;height:2px;border-radius:2px;transition:transform .22s ease,opacity .22s ease; }
  .menu-toggle[aria-expanded=true] span:first-child { transform:translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded=true] span:nth-child(2) { opacity:0; }
  .menu-toggle[aria-expanded=true] span:last-child { transform:translateY(-7px) rotate(-45deg); }
  .header nav.open { top:100%;padding:12px var(--apple-gutter) 18px;gap:0;max-height:calc(100svh - 72px);border:1px solid rgba(36,18,68,.12);border-top:0;border-radius:0 0 var(--apple-radius) var(--apple-radius);box-shadow:0 16px 30px rgba(36,18,68,.11);background:var(--apple-paper);-webkit-overflow-scrolling:touch; }
  .header nav.open a { display:flex;align-items:center;min-height:54px;padding:8px 0;font-size:17px;line-height:1.25; }
  .hero { height:auto;min-height:max(640px,calc(100svh - 72px));max-height:none; }
  .hero-copy { padding:clamp(54px,7svh,80px) var(--apple-gutter) 112px; }
  .hero h1 { font-size:clamp(42px,12.4vw,58px);line-height:1.08;letter-spacing:-.035em; }
  .hero-title-first { line-height:1.13; }
  .hero-title-second { margin-top:.13em;line-height:1.1; }
  .hero-description { font-size:16px;line-height:1.62;max-width:34ch; }
  .hero-actions { gap:18px; }
  .hero-actions>.button { min-height:52px;padding:13px 20px;box-shadow:none; }
  .hero-bottom { left:var(--apple-gutter);right:var(--apple-gutter); }
  .section,.page-heading,.method-steps { padding-inline:var(--apple-gutter); }
  .section { padding-block:66px; }
  .section-head { margin-bottom:28px; }
  .page-heading { padding-top:64px;padding-bottom:52px; }
  .page-heading h1 { font-size:clamp(43px,11vw,56px);line-height:1.08;letter-spacing:-.035em; }
  .page-heading>p:last-child { line-height:1.6; }
  .method-heading { padding-right:var(--apple-gutter); }
  .method-steps { padding-top:66px; }
  .detail-cover { height:auto;min-height:440px; }
  .detail-cover>div { left:var(--apple-gutter);right:var(--apple-gutter);bottom:32px; }
  .detail-cover h1 { font-size:clamp(43px,11vw,58px);line-height:1.08; }
  .detail-cover p { font-size:16px;line-height:1.55; }
  .button,.trip-actions .button,.destination-actions .button { min-height:48px;padding:12px 18px;border-radius:999px;font-size:14px;line-height:1.2;box-shadow:none; }
  .button.secondary { border-color:rgba(36,18,68,.4); }
  .button:active,.rail-controls button:active,.menu-toggle:active { transform:scale(.98); }
  .trip-card,.team-pair.team-rail>.team-home-card,.person-detail,.method-card.numbered,.booking-card,.contact-form,.last-minute-trip,.empty-editorial { border-radius:var(--apple-radius);box-shadow:none; }
  .trip-card { padding:12px 12px 18px;border-color:rgba(36,18,68,.15); }
  .trip-image,.trip-image>img { border-radius:14px; }
  .trip-arrow { width:44px;height:44px;right:14px;bottom:14px;box-shadow:none; }
  .trip-arrow .apple-icon { width:20px;height:20px; }
  .trip-card h3 { font-size:clamp(30px,8.6vw,36px);letter-spacing:-.025em; }
  .trip-card .trip-actions { gap:9px;padding-top:18px; }
  .trip-card .trip-actions .button { width:100%; }
  .trip-meta { gap:12px;flex-wrap:wrap; }
  .trip-status { padding:8px 11px; }
  .departure-unavailable { min-height:44px;border-radius:999px; }
  .rail-controls button { width:44px;height:44px;display:grid;place-items:center;line-height:1;box-shadow:none; }
  .rail-controls .apple-icon { width:20px;height:20px; }
  .card-rail,.loop-rail,.team-rail { -webkit-overflow-scrolling:touch;scroll-padding-inline:var(--apple-gutter); }
  .card-rail>.benefit-card,.card-rail>.need-card { border-radius:var(--apple-radius); }
  .formats-grid article,.formats-grid article+article,.formats-grid .community-card { border-radius:var(--apple-radius);box-shadow:none;padding:27px; }
  .trip-filters { border:0;background:transparent;padding:0!important;margin-bottom:30px; }
  .destination-picker,.filter-disclosure { border:1px solid rgba(36,18,68,.22);border-radius:var(--apple-radius);background:#fff;box-shadow:none; }
  .destination-picker { padding:16px!important; }
  .destination-picker>summary,.filter-disclosure>summary { min-height:48px;font-size:18px; }
  .destination-picker>summary { justify-content:flex-start;gap:9px; }
  .destination-picker>summary .filter-icon { width:28px;height:28px;margin:0; }
  .destination-picker input { min-height:48px;font-size:16px;padding:12px 14px; }
  .destination-grid { gap:9px; }
  .destination-grid section { gap:7px; }
  .destination-picker button { min-height:44px;padding:10px 12px;font-size:14px;line-height:1.25;border-radius:13px; }
  .destination-grid section>button:first-child { min-height:46px;font-size:14px; }
  .continent-icon { width:24px;height:24px;background:none;padding:0;border-radius:0; }
  .destination-actions { margin-top:16px; }
  .destination-actions .button { width:100%; }
  .filter-disclosure { padding:12px 16px; }
  .filter-disclosure>summary::after { content:"";width:17px;height:17px;background:linear-gradient(currentColor,currentColor) center/17px 2px no-repeat,linear-gradient(currentColor,currentColor) center/2px 17px no-repeat;transition:transform .2s ease; }
  .filter-disclosure[open]>summary::after { transform:rotate(45deg); }
  .filter-fields { gap:14px; }
  .filter-fields label { font-size:14px;line-height:1.35; }
  .filter-icon { width:24px;height:24px; }
  .trip-filters button[data-reset-filters] { min-height:44px;margin-top:18px;border-color:rgba(36,18,68,.35); }
  .trip-section summary { min-height:48px;align-items:center;line-height:1.25; }
  .trip-ratings { gap:12px; }
  .trip-rating { min-height:38px; }
  .rating-icon { width:30px;height:28px; }
  .contact-form { padding:22px; }
  .contact-layout { grid-template-columns:minmax(0,1fr); }
  .contact-layout>div,.contact-form { min-width:0; }
  .contact-layout h1 { font-size:clamp(42px,11vw,56px);line-height:1.08; }
  input,select,textarea { min-height:48px;border-radius:14px;font-size:16px;line-height:1.4;padding:12px 14px;box-shadow:none; }
  select { -webkit-appearance:none;appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none' stroke='%23241244' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 7 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px 18px; }
  textarea { min-height:128px; }
  .checkbox { min-height:44px;align-items:flex-start; }
  .checkbox input { width:20px;height:20px;min-height:20px;margin:2px 0 0;accent-color:var(--apple-violet); }
  .chat-open { width:46px;height:46px;min-width:46px;right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));border:1px solid var(--apple-ink)!important;background:var(--apple-paper)!important;box-shadow:0 4px 14px rgba(36,18,68,.15); }
  .chat-open .apple-icon { width:25px;height:24px;color:var(--apple-ink); }
  .chat-panel { right:max(8px,env(safe-area-inset-right));bottom:calc(var(--keyboard-offset,0px) + max(8px,env(safe-area-inset-bottom)));width:calc(100% - max(16px,env(safe-area-inset-left) + env(safe-area-inset-right)));max-height:calc(var(--chat-viewport,100dvh) - max(16px,env(safe-area-inset-top) + env(safe-area-inset-bottom)));border-radius:var(--apple-radius);box-shadow:0 12px 35px rgba(36,18,68,.2); }
  .chat-panel>header { align-items:center;min-height:72px;padding:14px 16px; }
  .chat-panel header button,.cookie-close { width:44px;height:44px;min-width:44px;display:grid;place-items:center;padding:0;font-size:0; }
  .chat-panel header .apple-icon,.cookie-close .apple-icon { width:20px;height:20px; }
  .chat-panel form button { min-width:46px;min-height:46px;display:grid;place-items:center;padding:0;box-shadow:none; }
  .chat-panel form button .apple-icon { width:19px;height:19px;color:#fff; }
  .chat-suggestions button { min-height:44px;padding:9px 12px;font-size:13px; }
  .cookie-banner { left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));width:auto;max-height:calc(100dvh - max(20px,env(safe-area-inset-top) + env(safe-area-inset-bottom) + 20px));border-radius:var(--apple-radius);box-shadow:0 12px 36px rgba(36,18,68,.18); }
  .cookie-actions button { min-height:48px; }
  .cookie-dialog { max-height:calc(100dvh - max(28px,env(safe-area-inset-top) + env(safe-area-inset-bottom) + 20px));border-radius:var(--apple-radius);box-shadow:0 12px 36px rgba(36,18,68,.2); }
  .closing { padding-inline:var(--apple-gutter); }
  footer { padding-inline:var(--apple-gutter);padding-bottom:max(25px,env(safe-area-inset-bottom)); }
  :where(a,button,input,select,textarea,summary):focus-visible { outline-offset:3px; }
}
@media (max-width:360px) {
  .header { padding-inline:14px;gap:7px; }
  .header .brand { --wordmark-width:122px; }
  .header-contact.button { padding:8px 10px;font-size:11px; }
  .header-contact .apple-icon { width:13px;height:13px; }
  .hero h1 { font-size:clamp(39px,12vw,45px); }
  .hero-copy { padding-top:42px; }
  .hero-description { line-height:1.55; }
  .hero-actions>.button { padding-inline:15px; }
  .destination-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .section-head h2 { font-size:clamp(36px,11vw,42px); }
  .chat-panel { width:calc(100% - 12px);right:6px; }
  .chat-open { width:44px;height:44px;min-width:44px;right:4px;bottom:8px; }
}
@supports (-webkit-touch-callout:none) {
  @media (max-width:700px) {
    body { -webkit-text-size-adjust:100%; }
    html { scroll-padding-top:calc(90px + env(safe-area-inset-top)); }
    .header { height:calc(72px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);padding-left:max(var(--apple-gutter),env(safe-area-inset-left));padding-right:max(var(--apple-gutter),env(safe-area-inset-right)); }
    .header nav.open { max-height:calc(100svh - 72px - env(safe-area-inset-top));padding-left:max(var(--apple-gutter),env(safe-area-inset-left));padding-right:max(var(--apple-gutter),env(safe-area-inset-right)); }
    .section,.page-heading,.hero-copy,.closing,footer { padding-left:max(var(--apple-gutter),env(safe-area-inset-left));padding-right:max(var(--apple-gutter),env(safe-area-inset-right)); }
    .chat-panel,#chat-messages { overscroll-behavior:contain; }
    input,textarea,select { -webkit-appearance:none;appearance:none; }
  }
  @media (max-width:360px) {
    .header { padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right)); }
  }
}
@media (prefers-reduced-motion:reduce) {
  .menu-toggle span,.filter-disclosure>summary::after { transition:none; }
}
@media (max-width:700px) and (hover:none) {
  .trip-image:hover .trip-arrow { background:var(--apple-paper);transform:none; }
}
