/* vanilla base reset (no framework) */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--aa1a21-font, system-ui, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif); line-height: 1.5; color: var(--aa1a21-ink, #111); background: var(--aa1a21-bg, #fff); }
h1, h2, h3, h4, h5, h6 { font-family: var(--aa1a21-font-display, var(--aa1a21-font, system-ui, sans-serif)); }
img, svg, video, canvas { max-width: 100%; height: auto; }
a { color: inherit; }
*:focus-visible { outline: 2px solid var(--aa1a21-primary, #2563eb); outline-offset: 2px; }
/* visibility shim for framework toggles */
.hidden { display: none !important; }

/* design tokens */
:root {
  --aa1a21-primary: #3A86FF;
  --aa1a21-secondary: #0B3D2E;
  --aa1a21-accent: #3A86FF;
  --aa1a21-ink: #0F172A;
  --aa1a21-slate: #516072;
  --aa1a21-mist: #EAF0FA;
  --aa1a21-border: #D7DFEA;
  --aa1a21-surface: #FFFFFF;
  --aa1a21-bg: #F6F8FB;
  --aa1a21-text: #0F172A;
  --aa1a21-font: Verdana, Geneva, Tahoma, sans-serif;
  --aa1a21-font-display: 'Trebuchet MS', 'Segoe UI Semibold', Tahoma, Geneva, sans-serif;
}

/* state utilities */
.is-open { display: block !important; }
.is-active { display: block !important; }
[hidden] { display: none !important; }

/* framework-injected components (vanilla) */
[data-aa1a21-ui="cookie-banner"] { position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 9999; margin: 0 auto; max-width: 56rem; border: 1px solid var(--aa1a21-border, #e5e7eb); background: var(--aa1a21-surface, #fff); border-radius: 1rem; padding: 1rem; box-shadow: 0 10px 30px rgba(0,0,0,.15); }
[data-aa1a21-ui="cookie-banner"] > div { display: flex; flex-wrap: wrap; gap: 1rem; align-items: flex-start; justify-content: space-between; }
[data-aa1a21-ui="cookie-banner"] > div > div:last-child { display: flex; flex-wrap: wrap; gap: .5rem; }
[data-aa1a21-ui="cookie-banner"] a { text-decoration: underline; }
[data-aa1a21-cs-action], [data-aa1a21-ag-action] { cursor: pointer; border-radius: .5rem; padding: .5rem .9rem; font-size: .8rem; border: 1px solid var(--aa1a21-border, #d1d5db); background: transparent; color: var(--aa1a21-ink, #111); }
[data-aa1a21-cs-action="accept-all"], [data-aa1a21-cs-action="save"], [data-aa1a21-ag-action="confirm"] { background: var(--aa1a21-primary, #2563eb); color: #fff; border-color: transparent; font-weight: 600; }
[data-aa1a21-cs-action="reject-all"] { background: var(--aa1a21-ink, #111); color: #fff; border-color: transparent; font-weight: 600; }
[data-aa1a21-cs-panel] { margin-top: 1rem; border: 1px solid var(--aa1a21-border, #e5e7eb); background: var(--aa1a21-surface, #fff); border-radius: .75rem; padding: 1rem; font-size: .875rem; }
[data-aa1a21-cs-panel] > div { display: flex; flex-wrap: wrap; gap: .75rem; }
[data-aa1a21-ui="cookie-banner"] label { display: inline-flex; align-items: center; gap: .5rem; }
[data-aa1a21-ui="age-gate-overlay"] { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,.8); }
[data-aa1a21-ui="age-gate-overlay"] > div { width: 100%; max-width: 28rem; margin: 0 1rem; background: var(--aa1a21-surface, #1a1a2e); color: var(--aa1a21-ink, #fff); border-radius: 1rem; padding: 2rem; text-align: center; box-shadow: 0 20px 60px rgba(0,0,0,.4); }
[data-aa1a21-ui="age-gate-overlay"] > div > div:last-of-type { display: flex; flex-direction: column; gap: .75rem; }
[data-aa1a21-ag-action] { padding: .75rem 1.5rem; }

/* sections */
/* aa1a21:header */
/* aa1a21:header */
#header{--h-pad:clamp(1rem,3vw,2rem);--max:72rem;--topbar:56px;display:block;background:var(--aa1a21-surface);border-bottom:1px solid var(--aa1a21-border);position:relative;z-index:5;font-family:Verdana, Geneva, Tahoma, sans-serif;}
#header *{box-sizing:border-box;}
#header .header-inner{max-width:var(--max);margin:0 auto;padding:0 var(--h-pad);min-height:var(--topbar);display:flex;align-items:center;justify-content:space-between;gap:1rem;}
#header .brand{display:flex;align-items:center;gap:.55rem;min-height:44px;text-decoration:none;color:var(--aa1a21-text);padding:.5rem 0;}
#header .brand-mark{width:28px;height:28px;border-radius:10px;background:var(--aa1a21-mist);border:1px solid var(--aa1a21-border);display:inline-flex;align-items:center;justify-content:center;color:var(--aa1a21-secondary);font-weight:700;line-height:1;}
#header .brand-text{font-family:Verdana, Geneva, Tahoma, sans-serif;font-weight:700;letter-spacing:-.02em;font-size:1rem;}
#header .primary-nav{display:flex;gap:.3rem;align-items:center;justify-content:center;flex:1;}
#header .nav-link{display:inline-flex;align-items:center;gap:.4rem;height:44px;padding:0 .6rem;border-radius:10px;color:var(--aa1a21-slate);text-decoration:none;font-size:.95rem;white-space:nowrap;}
#header .nav-link:focus-visible{outline:3px solid rgba(58,134,255,.45);outline-offset:2px;}
#header .nav-link:hover{color:var(--aa1a21-text);background:rgba(234,240,250,.7);}
#header .header-actions{display:flex;align-items:center;gap:.6rem;}
#header .cta-ghost{height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 1rem;border-radius:12px;border:1px solid var(--aa1a21-border);background:var(--aa1a21-surface);color:var(--aa1a21-text);text-decoration:none;font-weight:700;font-size:.95rem;}
#header .cta-ghost:hover{border-color:rgba(58,134,255,.6);background:rgba(234,240,250,.7);}
#header .cta-ghost:focus-visible{outline:3px solid rgba(58,134,255,.45);outline-offset:2px;}
#header .cta-primary{height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 1rem;border-radius:12px;border:1px solid rgba(58,134,255,.65);background:var(--aa1a21-primary);color:var(--aa1a21-surface);text-decoration:none;font-weight:800;font-size:.95rem;box-shadow:0 10px 30px rgba(58,134,255,.18);}
#header .cta-primary:hover{background:#2f7fe6;}
#header .cta-primary:focus-visible{outline:3px solid rgba(58,134,255,.45);outline-offset:2px;}
#header .header-disclosure{background:var(--aa1a21-bg);border-top:1px solid var(--aa1a21-border);}
#header .disclosure-inner{max-width:var(--max);margin:0 auto;padding:1rem var(--h-pad);display:flex;align-items:flex-start;gap:.6rem;}
#header .disclosure-title{display:inline-block;color:var(--aa1a21-secondary);font-weight:900;font-size:.95rem;}
#header .disclosure-text{color:var(--aa1a21-slate);font-size:.95rem;line-height:1.45;}
#header::selection{background:rgba(58,134,255,.25);}
@media (max-width:900px){
  #header .primary-nav{display:none;}
  #header .header-inner{gap:.8rem;}
}
@media (prefers-reduced-motion:reduce){
  #header .nav-link:hover,#header .cta-ghost:hover,#header .cta-primary:hover{transition:none;}
}

/* aa1a21:footer */
/* aa1a21:footer */
#footer{
  --pad-y: clamp(2rem, 4vw, 3.5rem);
  --pad-x: clamp(1rem, 4vw, 2rem);
  background: var(--aa1a21-bg);
  color: var(--aa1a21-text);
  border-top: 1px solid var(--aa1a21-border);
  padding: var(--pad-y) var(--pad-x);
  font-family: Verdana, Geneva, Tahoma, sans-serif;
}
#footer ::selection{background: rgba(58,134,255,.25);}
#footer .footer-wrap{max-width: 72rem; margin: 0 auto;}
#footer .footer-top{display:grid; grid-template-columns: 1.1fr 0.9fr 1fr; gap: 2.25rem; align-items:start;}
#footer .footer-logo{font-weight: 800; letter-spacing: -0.02em; font-size: 1.25rem; color: var(--aa1a21-ink);}
#footer .footer-tagline{margin: .75rem 0 0; color: var(--aa1a21-slate); line-height: 1.6; max-width: 32ch;}
#footer .footer-heading{margin: 0 0 .75rem; font-size: 1rem; color: var(--aa1a21-ink); letter-spacing: .01em;}
#footer .footer-nav{display:grid; grid-template-columns: 1fr 1fr; gap: 1rem;}
#footer .footer-col{display:flex; flex-direction:column; gap: .6rem;}
#footer .footer-contact{background: var(--aa1a21-surface); border: 1px solid var(--aa1a21-border); border-radius: var(--aa1a21-radius, var(--aa1a21-border)); padding: 1rem 1rem; box-shadow: 0 10px 26px rgba(15,23,42,.06);} 
#footer .footer-line{margin: 0 0 .6rem; color: var(--aa1a21-slate); line-height: 1.5;}
#footer .footer-line.footer-address{margin-top: .75rem; padding-top: .75rem; border-top: 1px solid var(--aa1a21-border);}
#footer .footer-label{display:inline-block; width: 4.1rem; color: var(--aa1a21-ink); font-weight: 700;}
#footer .footer-link{color: var(--aa1a21-ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px;}
#footer .footer-link:focus-visible{outline: 3px solid rgba(58,134,255,.35); outline-offset: 3px; border-radius: 6px;}
#footer .footer-link:hover{color: var(--aa1a21-primary);} 
#footer .footer-disclosure{margin-top: 1.8rem; padding: 1rem 1.1rem; border: 1px solid var(--aa1a21-border); border-radius: var(--aa1a21-radius, 12px); background: rgba(234,240,250,.7);} 
#footer .footer-disclosure-text{margin: 0; color: var(--aa1a21-ink); line-height: 1.55; font-size: .95rem;}
#footer .footer-disclosure-text + .footer-disclosure-text{margin-top: .45rem;}
#footer .footer-bottom{margin-top: 1.6rem; display:flex; justify-content:space-between; gap: 1.5rem; border-top: 1px solid var(--aa1a21-border); padding-top: 1.25rem;}
#footer .footer-meta{min-width: 18rem;}
#footer .footer-meta-text{margin: .35rem 0; color: var(--aa1a21-slate); line-height: 1.5; font-size: .95rem;}
#footer .footer-policies{display:flex; gap: 1rem; flex-wrap:wrap; justify-content:flex-end;}

@media (max-width: 1024px){
  #footer .footer-top{grid-template-columns: 1fr 1fr;}
  #footer .footer-contact{grid-column: 1 / -1;}
}
@media (max-width: 640px){
  #footer{padding: 2.25rem 1rem;}
  #footer .footer-top{grid-template-columns: 1fr; gap: 1.5rem;}
  #footer .footer-nav{grid-template-columns: 1fr;}
  #footer .footer-bottom{flex-direction:column; align-items:flex-start;}
  #footer .footer-policies{justify-content:flex-start;}
}
@media (prefers-reduced-motion: reduce){
  #footer .footer-link{transition: none;}
}

/* aa1a21:hero-blueprint-preview */
#hero-blueprint-preview{--r:var(--aa1a21-border);--bg:var(--aa1a21-bg);--ink:var(--aa1a21-ink);--slate:var(--aa1a21-slate);--mist:var(--aa1a21-mist);--surface:var(--aa1a21-surface);--primary:var(--aa1a21-primary);position:relative;font-family:Verdana,Geneva,Tahoma,sans-serif;background:var(--aa1a21-bg);}
#hero-blueprint-preview *{box-sizing:border-box;}
#hero-blueprint-preview ::selection{background:rgba(58,134,255,.28);}
#hero-blueprint-preview a{color:inherit;}
#hero-blueprint-preview .hero-wrap{position:relative;}
#hero-blueprint-preview .hero-media{position:absolute;inset:0;overflow:hidden;}
#hero-blueprint-preview .hero-img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.02) contrast(1.02);}
#hero-blueprint-preview .hero-topbar{position:absolute;left:0;right:0;top:0;height:56px;background:rgba(15,23,42,.46);border-bottom:1px solid rgba(215,223,234,.22);}
#hero-blueprint-preview .hero-bottomfade{position:absolute;left:0;right:0;bottom:0;height:52%;background:linear-gradient(to bottom, rgba(15,23,42,.10), rgba(15,23,42,.55) 55%, rgba(15,23,42,.78));}
#hero-blueprint-preview .hero-inner{position:relative;max-width:72rem;margin:0 auto;padding:clamp(1rem,3vw,2rem);}
#hero-blueprint-preview .hero-row{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1rem,3vw,2.25rem);padding-top:72px;}
#hero-blueprint-preview .hero-copy{padding:clamp(.5rem,1.2vw,1rem) 0;color:var(--aa1a21-surface);text-shadow:0 1px 0 rgba(0,0,0,.08);}
#hero-blueprint-preview .kicker{display:inline-flex;align-items:center;gap:.6rem;padding:.5rem .7rem;border:1px solid rgba(215,223,234,.35);border-radius:999px;background:rgba(255,255,255,.08);font-size:.95rem;letter-spacing:.02em;}
#hero-blueprint-preview .hero-title{margin:1rem 0 .75rem;font-family:Cambria,'Trebuchet MS',Segoe UI Semibold,Tahoma,Geneva,sans-serif;font-size:clamp(2.1rem,4.2vw,4.2rem);line-height:1.05;letter-spacing:-.02em;text-wrap:balance;}
#hero-blueprint-preview .hero-lede{margin:0 0 1rem;font-size:1.05rem;line-height:1.6;color:rgba(255,255,255,.92);max-width:34rem;}
#hero-blueprint-preview .hero-disclosures{margin-top:1rem;background:rgba(255,255,255,.08);border:1px solid rgba(215,223,234,.26);border-radius:var(--r);padding:.85rem 1rem;}
#hero-blueprint-preview .disclosure-line{margin:.25rem 0;font-size:.92rem;line-height:1.45;color:rgba(255,255,255,.92);}
#hero-blueprint-preview .hero-cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.15rem;}
#hero-blueprint-preview .cta-primary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.85rem 1rem;border-radius:var(--r);background:var(--aa1a21-primary);color:white;text-decoration:none;font-weight:700;border:1px solid rgba(255,255,255,.18);box-shadow:0 10px 24px rgba(58,134,255,.18);}
#hero-blueprint-preview .cta-primary:focus-visible{outline:3px solid rgba(58,134,255,.45);outline-offset:2px;}
#hero-blueprint-preview .cta-primary:hover{text-decoration:underline;text-underline-offset:3px;}
#hero-blueprint-preview .cta-ghost{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.85rem 1rem;border-radius:var(--r);background:rgba(255,255,255,.08);border:1px solid rgba(215,223,234,.55);color:rgba(255,255,255,.95);text-decoration:none;font-weight:700;}
#hero-blueprint-preview .cta-ghost:focus-visible{outline:3px solid rgba(58,134,255,.45);outline-offset:2px;}
#hero-blueprint-preview .cta-ghost:hover{background:rgba(255,255,255,.12);text-decoration:underline;text-underline-offset:3px;}
#hero-blueprint-preview .hero-mini{margin:.9rem 0 0;font-size:.96rem;line-height:1.55;color:rgba(255,255,255,.88);}

#hero-blueprint-preview .mini-itinerary{background:rgba(255,255,255,.10);border:1px solid rgba(215,223,234,.35);border-radius:var(--r);backdrop-filter:blur(2px);box-shadow:0 20px 55px rgba(0,0,0,.28);overflow:hidden;color:var(--aa1a21-surface);align-self:end;}
#hero-blueprint-preview .mini-itinerary-top{padding:1rem 1rem .8rem;border-bottom:1px solid rgba(215,223,234,.25);background:rgba(15,23,42,.22);}
#hero-blueprint-preview .mini-title{font-weight:800;letter-spacing:-.01em;font-size:1.05rem;}
#hero-blueprint-preview .mini-sub{margin-top:.25rem;font-size:.93rem;color:rgba(255,255,255,.88);line-height:1.45;}
#hero-blueprint-preview .mini-grid{display:grid;grid-template-columns:98px 1fr;gap:1rem;padding:1rem;align-items:start;}
#hero-blueprint-preview .mini-rail{position:relative;padding-top:.35rem;}
#hero-blueprint-preview .rail-marker{display:flex;flex-direction:column;align-items:center;gap:.35rem;cursor:default;}
#hero-blueprint-preview .rail-marker:focus-visible{outline:3px solid rgba(58,134,255,.45);outline-offset:4px;border-radius:10px;}
#hero-blueprint-preview .marker-dot{width:16px;height:16px;border-radius:50%;background:rgba(255,255,255,.95);border:2px solid rgba(58,134,255,.95);box-shadow:0 0 0 6px rgba(58,134,255,.14);}
#hero-blueprint-preview .rail-line{width:2px;height:56px;background:rgba(215,223,234,.35);margin:8px auto;}
#hero-blueprint-preview .marker-label{font-size:.85rem;color:rgba(255,255,255,.92);font-weight:700;text-align:center;}
#hero-blueprint-preview .mini-cards{display:flex;flex-direction:column;gap:.75rem;}
#hero-blueprint-preview .day-card{background:rgba(15,23,42,.22);border:1px solid rgba(215,223,234,.22);border-radius:var(--r);padding:.9rem .95rem;}
#hero-blueprint-preview .day-badge{display:inline-block;padding:.35rem .55rem;border-radius:999px;background:rgba(58,134,255,.22);border:1px solid rgba(58,134,255,.35);font-weight:800;font-size:.82rem;letter-spacing:.02em;}
#hero-blueprint-preview .day-heading{margin:.55rem 0 .35rem;font-size:1.02rem;letter-spacing:-.01em;line-height:1.25;}
#hero-blueprint-preview .day-lines{margin:.35rem 0 0;padding-left:0;list-style:none;}
#hero-blueprint-preview .day-lines li{margin:.35rem 0;font-size:.92rem;line-height:1.45;color:rgba(255,255,255,.90);}
#hero-blueprint-preview .line-k{font-weight:800;color:rgba(255,255,255,.98);}
#hero-blueprint-preview .mini-disclosure{padding:0 1rem 1rem;font-size:.9rem;line-height:1.4;color:rgba(255,255,255,.88);}

@media (max-width:900px){
  #hero-blueprint-preview .hero-row{grid-template-columns:1fr;gap:1.1rem;padding-top:58px;}
  #hero-blueprint-preview .hero-copy{padding-top:0;}
  #hero-blueprint-preview .mini-itinerary{align-self:stretch;}
}
@media (prefers-reduced-motion: reduce){
  #hero-blueprint-preview .cta-primary:hover,#hero-blueprint-preview .cta-ghost:hover{transition:none;}
}

/* aa1a21:curated-package-types */
/* aa1a21:curated-package-types */
#curated-package-types{background:var(--aa1a21-bg);color:var(--aa1a21-ink);padding:clamp(2.5rem,6vw,5rem) 0;font-family:var(--font-sans, Verdana, Geneva, Tahoma, sans-serif)}
#curated-package-types .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}
#curated-package-types .section-header{display:block;margin-bottom:clamp(1.5rem,3vw,2.5rem)}
#curated-package-types .section-title{font-family:var(--font-serif, 'Trebuchet MS', 'Segoe UI Semibold', Tahoma, Geneva, sans-serif);font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:-0.02em;margin:0 0 0.75rem 0;line-height:1.1}
#curated-package-types .section-subtitle{margin:0;max-width:58ch;color:var(--aa1a21-slate);font-size:1rem;line-height:1.6}
#curated-package-types .package-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(0.75rem,1.6vw,1.25rem)}
#curated-package-types .package-card{grid-column:span 4;background:var(--aa1a21-surface);border:1px solid var(--aa1a21-border);border-radius:var(--radius-lg,16px);padding:clamp(1rem,2.2vw,1.25rem);box-shadow:0 10px 30px rgba(11,61,46,0.06);display:flex;flex-direction:column;min-height:520px}
#curated-package-types .package-card-header{margin-bottom:0.9rem}
#curated-package-types .package-kicker{display:inline-block;font-size:0.875rem;color:var(--aa1a21-secondary);background:rgba(58,134,255,0.08);border:1px solid rgba(58,134,255,0.25);padding:0.35rem 0.6rem;border-radius:999px;letter-spacing:0.01em}
#curated-package-types .package-title{margin:0.7rem 0 0 0;font-size:1.35rem;line-height:1.2;letter-spacing:-0.01em}
#curated-package-types .chips{display:flex;flex-wrap:wrap;gap:0.5rem;margin:0.75rem 0 1rem 0}
#curated-package-types .chip{font-size:0.9rem;color:var(--aa1a21-text);background:var(--aa1a21-mist);border:1px solid var(--aa1a21-border);padding:0.45rem 0.65rem;border-radius:var(--radius-md,12px)}
#curated-package-types .meta-rows{margin-top:0.35rem}
#curated-package-types .meta-row{display:flex;justify-content:space-between;gap:1rem;padding:0.55rem 0;border-top:1px solid rgba(215,223,234,0.7)}
#curated-package-types .meta-row:first-child{border-top:0;padding-top:0}
#curated-package-types .meta-label{color:var(--aa1a21-slate);font-size:0.9rem}
#curated-package-types .meta-value{color:var(--aa1a21-ink);font-size:0.95rem;font-weight:600;text-align:right}
#curated-package-types .price-hint{margin-top:1rem;color:var(--aa1a21-slate);font-size:0.95rem;line-height:1.4}
#curated-package-types .card-actions{display:flex;flex-direction:column;gap:0.65rem;margin-top:0.95rem}
#curated-package-types .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0.7rem 0.9rem;border-radius:var(--radius-md,12px);text-decoration:none;font-weight:700;font-size:0.98rem;letter-spacing:0.01em;outline: none}
#curated-package-types .btn:focus-visible{box-shadow:0 0 0 4px rgba(58,134,255,0.25)}
#curated-package-types .btn-primary{background:var(--aa1a21-primary);color:#fff;border:1px solid rgba(58,134,255,0.35)}
#curated-package-types .btn-primary:hover{background:#2f7de0}
#curated-package-types .btn-ghost{background:transparent;color:var(--aa1a21-ink);border:2px solid var(--aa1a21-border)}
#curated-package-types .btn-ghost:hover{border-color:rgba(58,134,255,0.6);background:rgba(58,134,255,0.06)}
#curated-package-types .decision-lines{margin-top:auto;padding-top:1rem;border-top:1px solid rgba(215,223,234,0.9)}
#curated-package-types .decision-line{display:block;margin-top:0.6rem}
#curated-package-types .decision-line:first-child{margin-top:0}
#curated-package-types .decision-title{display:block;color:var(--aa1a21-secondary);font-weight:700;font-size:0.9rem;margin-bottom:0.15rem}
#curated-package-types .decision-text{display:block;color:var(--aa1a21-slate);font-size:0.95rem;line-height:1.45}
#curated-package-types .disclosure{margin-top:clamp(1.5rem,3vw,2.25rem);background:rgba(234,240,250,0.55);border:1px solid rgba(215,223,234,0.95);border-radius:var(--radius-lg,16px);padding:clamp(1rem,2.2vw,1.25rem)}
#curated-package-types .disclosure-line{margin:0.35rem 0;color:var(--aa1a21-slate);line-height:1.55;font-size:0.95rem}
#curated-package-types .disclosure-line strong{color:var(--aa1a21-ink)}
#curated-package-types ::selection{background:rgba(58,134,255,0.22)}
@media (max-width: 1024px){#curated-package-types .package-card{grid-column:span 6;min-height:0}}
@media (max-width: 640px){#curated-package-types .package-card{grid-column:span 12}#curated-package-types .meta-row{gap:0.75rem}}
@media (prefers-reduced-motion: reduce){#curated-package-types .btn{transition:none}}
/* aa1a21:main-blueprint-itinerary */
/* aa1a21:main-blueprint-itinerary */
#main-blueprint-itinerary{--pad:24px;--radius:16px;--radius2:12px;--shadow:0 10px 30px rgba(15,23,42,.08);font-family:Verdana,Geneva,Tahoma,sans-serif;color:var(--aa1a21-text);background:var(--aa1a21-bg);}
#main-blueprint-itinerary .container{max-width:72rem;margin:0 auto;padding:clamp(28px,6vw,56px) var(--pad) clamp(26px,5vw,46px);}
#main-blueprint-itinerary .header-row{margin-bottom:clamp(18px,3vw,28px);}
#main-blueprint-itinerary .kicker{display:inline-block;letter-spacing:.02em;text-transform:none;font-size:0.875rem;color:var(--aa1a21-secondary);background:rgba(11,61,46,.06);border:1px solid rgba(11,61,46,.18);padding:10px 12px;border-radius:999px;margin-bottom:14px;}
#main-blueprint-itinerary .title{font-family:"Trebuchet MS",Segoe UI Semibold,Tahoma,Geneva,sans-serif;font-size:clamp(1.6rem,3.2vw,2.3rem);line-height:1.12;margin:0 0 12px;letter-spacing:-.02em;text-wrap:balance;}
#main-blueprint-itinerary .lead{margin:0;max-width:58ch;color:var(--aa1a21-ink);font-size:1rem;line-height:1.6;}
#main-blueprint-itinerary .itinerary-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:0;align-items:start;}
#main-blueprint-itinerary .timeline{grid-column:1 / span 3;position:relative;}
#main-blueprint-itinerary .timeline-sticky{position:sticky;top:16px;padding:10px 0 0;}
#main-blueprint-itinerary .timeline-line{position:absolute;left:22px;top:34px;bottom:0;width:2px;background:rgba(11,61,46,.18);border-radius:2px;}
#main-blueprint-itinerary .marker{width:100%;text-align:left;display:flex;align-items:center;gap:12px;position:relative;background:transparent;border:0;color:var(--aa1a21-ink);padding:12px 10px 12px 0;cursor:pointer;font:inherit;}
#main-blueprint-itinerary .marker::before{content:"";width:14px;height:14px;border-radius:999px;border:2px solid rgba(58,134,255,.9);background:var(--aa1a21-surface);box-shadow:0 2px 0 rgba(58,134,255,.18);}
#main-blueprint-itinerary .marker::after{content:"";position:absolute;left:16px;top:22px;width:20px;height:20px;border-radius:999px;background:rgba(58,134,255,.18);opacity:0;transform:scale(.8);transition:opacity .2s ease,transform .2s ease;}
#main-blueprint-itinerary .marker:hover{color:var(--aa1a21-secondary);}
#main-blueprint-itinerary .marker:focus-visible{outline:3px solid rgba(58,134,255,.35);outline-offset:4px;border-radius:10px;}
#main-blueprint-itinerary .marker.is-pulsing::after{opacity:1;transform:scale(1);animation:pulseMarker 1.2s ease-out 1;}
@keyframes pulseMarker{0%{opacity:0;transform:scale(.85)}30%{opacity:1}100%{opacity:0;transform:scale(1.25)}}
#main-blueprint-itinerary .marker{font-size:.95rem;}
#main-blueprint-itinerary .marker[data-marker-for="day-1"]{padding-top:2px;}
#main-blueprint-itinerary .marker + .marker{margin-top:10px;}
#main-blueprint-itinerary .days{grid-column:4 / span 9;display:flex;flex-direction:column;gap:14px;}
#main-blueprint-itinerary .day-card{background:var(--aa1a21-surface);border:1px solid var(--aa1a21-border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;}
#main-blueprint-itinerary .day-card-head{display:flex;align-items:flex-start;gap:18px;padding:18px 18px 16px;cursor:pointer;user-select:none;}
#main-blueprint-itinerary .day-card-head[aria-expanded="false"]{padding-bottom:18px;}
#main-blueprint-itinerary .day-card-head:focus-visible{outline:3px solid rgba(58,134,255,.35);outline-offset:-3px;}
#main-blueprint-itinerary .badge{display:inline-flex;align-items:center;gap:8px;font-size:.875rem;color:var(--aa1a21-secondary);border:1px solid rgba(11,61,46,.18);background:rgba(11,61,46,.06);padding:10px 12px;border-radius:999px;white-space:nowrap;}
#main-blueprint-itinerary .day-main{flex:1;min-width:0;}
#main-blueprint-itinerary .day-title{margin:6px 0 10px;font-family:"Trebuchet MS",Segoe UI Semibold,Tahoma,Geneva,sans-serif;font-size:1.15rem;line-height:1.25;letter-spacing:-.01em;text-wrap:balance;}
#main-blueprint-itinerary .decision-lines{display:flex;flex-direction:column;gap:6px;margin-top:2px;}
#main-blueprint-itinerary .decision-line{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;}
#main-blueprint-itinerary .decision-label{font-size:.875rem;color:var(--aa1a21-slate);min-width:150px;}
#main-blueprint-itinerary .decision-value{font-size:.95rem;color:var(--aa1a21-ink);line-height:1.4;}
#main-blueprint-itinerary .expand-indicator{width:42px;display:flex;align-items:flex-start;justify-content:flex-end;padding-top:4px;}
#main-blueprint-itinerary .plus{display:inline-block;width:34px;height:34px;border-radius:12px;border:1px solid rgba(58,134,255,.28);background:rgba(58,134,255,.08);color:var(--aa1a21-accent);font-size:1.35rem;line-height:1.1;text-align:center;}
#main-blueprint-itinerary .day-card-head[aria-expanded="true"] .plus{background:rgba(58,134,255,.12);}
#main-blueprint-itinerary .day-panel{border-top:1px solid rgba(215,223,234,.65);padding:0 18px 18px;}
#main-blueprint-itinerary .day-panel[aria-hidden="true"]{opacity:.98;}
#main-blueprint-itinerary .day-panel{max-height:900px;opacity:1;transition:max-height 220ms ease-out,opacity 220ms ease-out;}
#main-blueprint-itinerary .day-panel.is-collapsed{max-height:0;opacity:0;overflow:hidden;padding-top:0;padding-bottom:0;border-top-color:transparent;}
#main-blueprint-itinerary .panel-grid{display:grid;grid-template-columns:1fr;gap:12px;padding-top:14px;}
#main-blueprint-itinerary .panel-block{background:rgba(246,248,251,.7);border:1px solid rgba(215,223,234,.9);border-radius:var(--radius2);padding:12px 12px;}
#main-blueprint-itinerary .panel-title{font-weight:700;color:var(--aa1a21-secondary);margin:0 0 6px;font-size:.95rem;}
#main-blueprint-itinerary .panel-copy{margin:0;color:var(--aa1a21-ink);font-size:.95rem;line-height:1.55;}
#main-blueprint-itinerary .disclosures{margin-top:4px;padding:14px 2px 0;}
#main-blueprint-itinerary .disclosure-pill{display:inline-block;background:rgba(58,134,255,.08);border:1px solid rgba(58,134,255,.22);color:var(--aa1a21-ink);padding:12px 12px;border-radius:14px;margin-bottom:10px;max-width:820px;line-height:1.5;font-size:.95rem;}
#main-blueprint-itinerary .disclosure-note{color:var(--aa1a21-slate);font-size:.95rem;line-height:1.55;}
#main-blueprint-itinerary .request-rail{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px;}
#main-blueprint-itinerary .primary-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 16px;border-radius:14px;background:var(--aa1a21-primary);color:#fff;text-decoration:none;font-weight:700;border:1px solid rgba(58,134,255,.35);box-shadow:0 10px 26px rgba(58,134,255,.18);}
#main-blueprint-itinerary .primary-link:focus-visible{outline:3px solid rgba(58,134,255,.35);outline-offset:3px;}
#main-blueprint-itinerary .secondary-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 16px;border-radius:14px;background:var(--aa1a21-surface);color:var(--aa1a21-secondary);text-decoration:none;border:1px solid rgba(11,61,46,.25);font-weight:700;}
#main-blueprint-itinerary .secondary-link:focus-visible{outline:3px solid rgba(58,134,255,.35);outline-offset:3px;}
#main-blueprint-itinerary a:hover{text-decoration:underline;text-decoration-thickness:2px;}
#main-blueprint-itinerary ::selection{background:rgba(58,134,255,.26);}
@media (max-width: 900px){
  #main-blueprint-itinerary .itinerary-grid{grid-template-columns:1fr;}
  #main-blueprint-itinerary .timeline{grid-column:1;}
  #main-blueprint-itinerary .days{grid-column:1;}
  #main-blueprint-itinerary .timeline-sticky{position:relative;top:auto;}
  #main-blueprint-itinerary .timeline-line{left:20px;top:26px;bottom:auto;height:120px;}
  #main-blueprint-itinerary .marker{padding-left:6px;}
}
@media (max-width: 640px){
  #main-blueprint-itinerary .container{padding:22px 16px 20px;}
  #main-blueprint-itinerary .day-card-head{flex-direction:column;gap:10px;}
  #main-blueprint-itinerary .badge{white-space:normal;}
  #main-blueprint-itinerary .decision-label{min-width:unset;}
  #main-blueprint-itinerary .expand-indicator{align-self:flex-end;}
}
@media (prefers-reduced-motion: reduce){
  #main-blueprint-itinerary .day-panel{transition:none;}
  #main-blueprint-itinerary .marker.is-pulsing::after{animation:none;}
}

/* aa1a21:inclusions-planned */
/* aa1a21:inclusions-planned */
#inclusions-planned{--padX:clamp(16px,3.2vw,28px);--padY:clamp(18px,3.5vw,30px);--radius:var(--aa1a21-radius,12px);background:var(--aa1a21-bg);color:var(--aa1a21-text);font-family:Verdana,Geneva,Tahoma,sans-serif}
#inclusions-planned .inclusions-wrap{max-width:72rem;margin:0 auto;padding:var(--padY) var(--padX)}
#inclusions-planned .inclusions-head{margin-bottom:clamp(18px,4vw,34px)}
#inclusions-planned .inclusions-title{font-size:clamp(1.6rem,3.2vw,2.4rem);line-height:1.12;margin:0 0 10px;font-weight:800;letter-spacing:-0.02em;text-wrap:balance}
#inclusions-planned .inclusions-subtitle{margin:0;color:var(--aa1a21-slate);font-size:1rem;max-width:48ch}
#inclusions-planned .accordion-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(14px,3vw,26px);align-items:start}
#inclusions-planned .checklist-title,#inclusions-planned .accordion-title{font-size:1.05rem;margin:0 0 10px;font-weight:800;letter-spacing:-0.01em}
#inclusions-planned .checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
#inclusions-planned .checklist-item{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;background:var(--aa1a21-surface);border:1px solid var(--aa1a21-border);border-radius:var(--aa1a21-radius,12px)}
#inclusions-planned .check{width:22px;height:22px;border-radius:999px;background:var(--aa1a21-accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;flex:0 0 auto;margin-top:2px}
#inclusions-planned .check-text{color:var(--aa1a21-text);font-size:0.98rem;line-height:1.35}
#inclusions-planned .disclosure,.independent-disclosure{margin-top:14px;padding:12px 14px;border-radius:var(--aa1a21-radius,12px);border:1px solid var(--aa1a21-border);background:var(--aa1a21-surface)}
#inclusions-planned .disclosure-text,.independent-text{margin:0;color:var(--aa1a21-slate);font-size:0.95rem;line-height:1.45}
#inclusions-planned .accordion{display:flex;flex-direction:column;gap:12px}
#inclusions-planned .accordion-item{border:1px solid var(--aa1a21-border);background:var(--aa1a21-surface);border-radius:var(--aa1a21-radius,12px);overflow:hidden}
#inclusions-planned .accordion-trigger{width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent;border:0;padding:14px 14px;cursor:pointer;min-height:54px}
#inclusions-planned .accordion-trigger:focus-visible{outline:3px solid var(--aa1a21-primary);outline-offset:2px}
#inclusions-planned .acc-left{display:flex;align-items:center;gap:12px;min-width:0}
#inclusions-planned .acc-badge{display:inline-flex;align-items:center;justify-content:center;background:rgba(58,134,255,.12);color:var(--aa1a21-secondary);border:1px solid rgba(58,134,255,.35);padding:6px 10px;border-radius:999px;font-size:0.9rem;font-weight:800;flex:0 0 auto}
#inclusions-planned .acc-label{font-weight:900;letter-spacing:-0.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#inclusions-planned .acc-icon{width:36px;height:36px;border-radius:999px;border:1px solid var(--aa1a21-border);display:inline-flex;align-items:center;justify-content:center;color:var(--aa1a21-secondary);font-size:1.3rem;font-weight:900;flex:0 0 auto}
#inclusions-planned .accordion-panel{padding:0 14px 14px}
#inclusions-planned .day-chip-row{display:grid;grid-template-columns:1fr;gap:10px;padding:12px 0 10px}
#inclusions-planned .day-line{padding:12px 12px;border-radius:var(--aa1a21-radius,12px);background:var(--aa1a21-bg);border:1px solid rgba(215,223,234,.9)}
#inclusions-planned .day-line-label{font-size:0.82rem;letter-spacing:0.02em;text-transform:uppercase;color:var(--aa1a21-slate);font-weight:800;margin-bottom:6px}
#inclusions-planned .day-line-value{color:var(--aa1a21-text);font-size:0.98rem;line-height:1.35}
#inclusions-planned .chip-wrap{display:flex;flex-wrap:wrap;gap:8px;padding-top:2px}
#inclusions-planned .chip{display:inline-flex;align-items:center;padding:8px 10px;border-radius:999px;border:1px solid var(--aa1a21-border);background:var(--aa1a21-surface);color:var(--aa1a21-text);font-size:0.95rem;line-height:1}
#inclusions-planned .actions-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:22px}
#inclusions-planned .primary-link,#inclusions-planned .secondary-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 16px;border-radius:var(--aa1a21-radius,12px);text-decoration:none;font-weight:900;letter-spacing:-0.01em;font-size:1rem}
#inclusions-planned .primary-link{background:var(--aa1a21-primary);color:#fff;border:1px solid rgba(58,134,255,.6)}
#inclusions-planned .primary-link:hover{text-decoration:none;filter:brightness(1.02)}
#inclusions-planned .primary-link:focus-visible{outline:3px solid var(--aa1a21-primary);outline-offset:2px}
#inclusions-planned .secondary-link{background:var(--aa1a21-surface);color:var(--aa1a21-secondary);border:1px solid var(--aa1a21-border)}
#inclusions-planned .secondary-link:hover{background:rgba(234,240,250,.9)}
#inclusions-planned .secondary-link:focus-visible{outline:3px solid var(--aa1a21-primary);outline-offset:2px}
#inclusions-planned ::selection{background:rgba(58,134,255,.25)}
@media (max-width: 900px){#inclusions-planned .accordion-grid{grid-template-columns:1fr}#inclusions-planned .day-chip-row{grid-template-columns:1fr}}
@media (prefers-reduced-motion: reduce){#inclusions-planned *{scroll-behavior:auto;transition:none !important;animation:none !important}}

/* aa1a21:contact-request */
/* aa1a21:contact-request */
#contact-request{background:var(--aa1a21-bg);color:var(--aa1a21-ink);padding:clamp(2.5rem,6vw,5rem) 0;}#contact-request .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}#contact-request .contact-grid{display:grid;grid-template-columns:1fr;gap:clamp(1.25rem,3.5vw,2.5rem);align-items:start;}#contact-request .contact-copy{padding:0;}#contact-request .kicker{margin:0 0 .75rem 0;font-family:var(--font-sans, Verdana, Geneva, Tahoma, sans-serif);font-size:.95rem;letter-spacing:.02em;color:var(--aa1a21-slate);}#contact-request .title{margin:0 0 .9rem 0;font-family:var(--font-serif, 'Trebuchet MS', 'Segoe UI Semibold', Tahoma, Geneva, sans-serif);font-size:clamp(1.9rem,3vw,2.6rem);line-height:1.08;letter-spacing:-0.02em;text-wrap:balance;}#contact-request .lead{margin:0 0 1.25rem 0;font-size:1.02rem;line-height:1.6;color:var(--aa1a21-text);max-width:40rem;}#contact-request .trust-list{margin:0 0 1.1rem 0;padding:0;list-style:none;display:grid;gap:.55rem;}#contact-request .trust-item{margin:0;padding-left:1.1rem;position:relative;line-height:1.5;color:var(--aa1a21-text);}#contact-request .trust-item::before{content:"";position:absolute;left:0;top:.58rem;width:.55rem;height:.55rem;border-radius:999px;background:var(--aa1a21-accent);}#contact-request .disclosure{margin-top:1.1rem;padding:1rem 1rem;border:1px solid var(--aa1a21-border);background:rgba(255,255,255,.75);border-radius:var(--radius-lg,16px);box-shadow:0 10px 24px rgba(15,23,42,.05);}#contact-request .contact-meta{margin-top:1.25rem;display:grid;gap:.55rem;max-width:34rem;}#contact-request .meta-row{display:flex;gap:.7rem;align-items:baseline;}#contact-request .meta-label{min-width:4.25rem;color:var(--aa1a21-slate);font-size:.95rem;}#contact-request .meta-link{color:var(--aa1a21-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}#contact-request .meta-link:focus-visible{outline:3px solid var(--aa1a21-primary);outline-offset:3px;border-radius:6px;}#contact-request .contact-form-panel{background:var(--aa1a21-surface);border:1px solid var(--aa1a21-border);border-radius:var(--radius-lg,16px);padding:1.35rem;box-shadow:0 18px 40px rgba(15,23,42,.06);}#contact-request .form-title{margin:.1rem 0 1rem 0;font-family:var(--font-serif, 'Trebuchet MS', 'Segoe UI Semibold', Tahoma, Geneva, sans-serif);font-size:1.25rem;letter-spacing:-0.01em;}#contact-request .request-form{display:flex;flex-direction:column;gap:1rem;}#contact-request .field-grid{display:grid;grid-template-columns:1fr;gap:1rem;}#contact-request .field{display:flex;flex-direction:column;gap:.5rem;}#contact-request .label{font-size:.92rem;color:var(--aa1a21-slate);letter-spacing:.01em;}#contact-request input,#contact-request select,#contact-request textarea{width:100%;border:1px solid var(--aa1a21-border);background:var(--aa1a21-surface);color:var(--aa1a21-ink);border-radius:var(--radius-md,12px);padding:.85rem .9rem;font-size:1rem;line-height:1.4;transition:border-color .15s ease, box-shadow .15s ease;}#contact-request textarea{resize:vertical;min-height:120px;}#contact-request input::placeholder,#contact-request textarea::placeholder{color:rgba(81,96,114,.95);}#contact-request input:focus,#contact-request select:focus,#contact-request textarea:focus{outline:none;border-color:var(--aa1a21-primary);box-shadow:0 0 0 4px rgba(58,134,255,.18);}#contact-request .cta-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;}#contact-request .primary-btn{appearance:none;border:none;background:var(--aa1a21-primary);color:#fff;border-radius:var(--radius-md,12px);padding:.95rem 1.15rem;font-size:1rem;font-weight:700;min-height:44px;cursor:pointer;box-shadow:0 14px 26px rgba(58,134,255,.22);}#contact-request .primary-btn:hover{filter:brightness(1.02);}#contact-request .primary-btn:active{transform:translateY(1px);}#contact-request .primary-btn:focus-visible{outline:3px solid var(--aa1a21-primary);outline-offset:3px;}#contact-request .secondary-link{color:var(--aa1a21-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;padding:.25rem 0;border-radius:8px;}#contact-request .secondary-link:focus-visible{outline:3px solid var(--aa1a21-primary);outline-offset:3px;}#contact-request .fineprint{margin:0;color:var(--aa1a21-slate);font-size:.9rem;line-height:1.5;}#contact-request ::selection{background:rgba(58,134,255,.25);}#contact-request :where(a){-webkit-tap-highlight-color:transparent;}@media (min-width: 768px){#contact-request .contact-grid{grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,4vw,3.5rem);}#contact-request .field-grid{grid-template-columns:1fr 1fr;}#contact-request .contact-form-panel{padding:1.6rem;}}@media (prefers-reduced-motion: reduce){#contact-request *{scroll-behavior:auto;transition:none !important;animation:none !important;}}
/* aa1a21:resort-fit-matrix */
/* aa1a21:resort-fit-matrix */
#resort-fit-matrix{--pad:24px;--shadow:0 10px 30px rgba(15,23,42,.08);--shadow2:0 3px 14px rgba(15,23,42,.08);background:var(--aa1a21-bg);color:var(--aa1a21-text);padding:clamp(2.5rem,4vw,3.5rem) 0;}
#resort-fit-matrix .rfm-shell{max-width:72rem;margin:0 auto;padding:0 var(--pad);}
#resort-fit-matrix .rfm-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px;}
#resort-fit-matrix .rfm-title{font-family:Verdana, Geneva, Tahoma, sans-serif;font-size:clamp(1.8rem,3.2vw,2.5rem);line-height:1.08;letter-spacing:-.02em;margin:0;text-wrap:balance;}
#resort-fit-matrix .rfm-subtitle{margin:0;color:var(--aa1a21-slate);font-size:1rem;max-width:42rem;}
#resort-fit-matrix .rfm-disclaimer{margin:16px 0 26px;display:flex;gap:10px;align-items:flex-start;background:var(--aa1a21-surface);border:1px solid var(--aa1a21-border);border-radius:var(--radius-md);padding:14px 16px;box-shadow:var(--shadow2);}
#resort-fit-matrix .rfm-disclaimer strong{font-weight:700;color:var(--aa1a21-ink);} 
#resort-fit-matrix .rfm-em{font-weight:700;color:var(--aa1a21-accent);}
#resort-fit-matrix .rfm-grid{display:grid;grid-template-columns: 280px 1fr;gap:18px;align-items:stretch;}
#resort-fit-matrix .rfm-col-label{display:flex;flex-direction:column;gap:10px;}
#resort-fit-matrix .rfm-cell{background:transparent;border:0;padding:10px 12px;border-radius:var(--radius-sm);color:var(--aa1a21-ink);font-size:.96rem;line-height:1.3;}
#resort-fit-matrix .rfm-head{background:var(--aa1a21-surface);border:1px solid var(--aa1a21-border);box-shadow:var(--shadow2);}
#resort-fit-matrix .rfm-head-text{font-weight:800;}
#resort-fit-matrix .rfm-resorts{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
#resort-fit-matrix .rfm-resort-card{background:var(--aa1a21-surface);border:1px solid var(--aa1a21-border);border-radius:var(--radius-lg);box-shadow:var(--shadow2);padding:16px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;}
#resort-fit-matrix .rfm-resort-card::before{content:"";position:absolute;left:-40px;top:-60px;width:140px;height:140px;background:rgba(58,134,255,.12);border-radius:999px;}
#resort-fit-matrix .rfm-resort-top{position:relative;display:flex;gap:14px;align-items:flex-start;justify-content:space-between;margin-bottom:4px;}
#resort-fit-matrix .rfm-resort-pill{font-size:.84rem;font-weight:800;border:1px solid var(--aa1a21-border);background:var(--aa1a21-mist);padding:6px 10px;border-radius:999px;color:var(--aa1a21-secondary);}
#resort-fit-matrix .rfm-resort-meta{display:flex;flex-direction:column;gap:6px;align-items:flex-end;text-align:right;}
#resort-fit-matrix .rfm-resort-criterion{font-size:.9rem;line-height:1.2;color:var(--aa1a21-slate);}
#resort-fit-matrix .rfm-k{font-weight:800;color:var(--aa1a21-ink);}
#resort-fit-matrix .rfm-cell.rfm-body{position:relative;background:rgba(234,240,250,.55);border:1px solid rgba(215,223,234,.9);padding:10px 12px;border-radius:var(--radius-md);box-shadow:none;}
#resort-fit-matrix .rfm-cta{margin-top:2px;min-height:44px;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--aa1a21-primary);background:var(--aa1a21-primary);color:var(--aa1a21-surface);font-weight:800;cursor:pointer;}
#resort-fit-matrix .rfm-cta-secondary{background:var(--aa1a21-surface);color:var(--aa1a21-primary);border:2px solid var(--aa1a21-primary);}
#resort-fit-matrix .rfm-cta:focus-visible,#resort-fit-matrix .rfm-cta-secondary:focus-visible,#resort-fit-matrix .rfm-link:focus-visible{outline:3px solid rgba(58,134,255,.35);outline-offset:2px;}
#resort-fit-matrix .rfm-cta:hover{filter:brightness(1.02);} 
#resort-fit-matrix .rfm-cta-secondary:hover{background:rgba(58,134,255,.08);} 
#resort-fit-matrix .rfm-cta:active{transform:translateY(1px);} 
#resort-fit-matrix .rfm-actions{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;}
#resort-fit-matrix .rfm-small{margin:0;color:var(--aa1a21-slate);font-size:.95rem;max-width:52ch;}
#resort-fit-matrix .rfm-link{display:inline-flex;align-items:center;gap:10px;color:var(--aa1a21-surface);background:var(--aa1a21-secondary);text-decoration:none;font-weight:900;border-radius:var(--radius-md);padding:12px 14px;border:1px solid rgba(11,61,46,.35);} 
#resort-fit-matrix .rfm-link:hover{text-decoration:underline;} 
#resort-fit-matrix .rfm-link:active{transform:translateY(1px);} 
#resort-fit-matrix ::selection{background:rgba(58,134,255,.25);}
#resort-fit-matrix [aria-pressed="true"].rfm-cta{background:var(--aa1a21-secondary);border-color:var(--aa1a21-secondary);} 

@media (max-width: 1024px){#resort-fit-matrix .rfm-grid{grid-template-columns: 1fr;}
#resort-fit-matrix .rfm-header{flex-direction:column;align-items:flex-start;}
#resort-fit-matrix .rfm-actions{justify-content:flex-start;}
}
@media (max-width: 640px){#resort-fit-matrix{padding:clamp(2rem,6vw,2.8rem) 0;}
#resort-fit-matrix .rfm-shell{padding:0 16px;}
#resort-fit-matrix .rfm-resorts{grid-template-columns:1fr;}
#resort-fit-matrix .rfm-resort-meta{align-items:flex-start;text-align:left;}
#resort-fit-matrix .rfm-cell.rfm-body{font-size:.95rem;}
}
@media (prefers-reduced-motion: reduce){#resort-fit-matrix *{scroll-behavior:auto;transition:none !important;animation:none !important;}}

/* aa1a21:day-card-examples */
/* aa1a21:day-card-examples */
#day-card-examples.day-card-examples{background:var(--aa1a21-bg);color:var(--aa1a21-text);padding:clamp(2.5rem,6vw,6rem) 0}
#day-card-examples .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}
#day-card-examples .section-head{display:flex;flex-direction:column;gap:0.9rem;margin-bottom:1.75rem}
#day-card-examples .section-title{font:800 clamp(1.6rem,2.2vw,2.1rem)/1.12 var(--font-sans, Verdana, Geneva, Tahoma, sans-serif);letter-spacing:-0.02em;text-wrap:balance}
#day-card-examples .section-subtitle{margin:0;max-width:60ch;color:var(--aa1a21-slate);font:400 1rem/1.55 var(--font-sans, Verdana, Geneva, Tahoma, sans-serif)}
#day-card-examples .cards{display:grid;grid-template-columns:1fr;gap:1rem}
#day-card-examples .day-card{background:var(--aa1a21-surface);border:1px solid var(--aa1a21-border);border-radius:var(--radius-lg, 16px);overflow:hidden;box-shadow:0 10px 30px rgba(15,23,42,0.06)}
#day-card-examples .day-card-toggle{width:100%;text-align:left;background:transparent;border:0;padding:1rem 1.05rem;cursor:pointer;display:flex;flex-direction:column;gap:0.65rem;min-height:104px}
#day-card-examples .day-card-toggle:focus-visible{outline:3px solid var(--aa1a21-primary);outline-offset:3px}
#day-card-examples .day-card-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}
#day-card-examples .date-badge{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:0.35rem 0.6rem;border-radius:999px;background:rgba(58,134,255,0.10);color:var(--aa1a21-secondary);font:700 0.9rem/1 var(--font-sans, Verdana, Geneva, Tahoma, sans-serif)}
#day-card-examples .day-title{font:800 1.05rem/1.25 var(--font-serif, 'Trebuchet MS', 'Segoe UI Semibold', Tahoma, Geneva, sans-serif);letter-spacing:-0.01em}
#day-card-examples .summary-lines{display:grid;grid-template-columns:1fr;gap:0.35rem}
#day-card-examples .summary-line{color:var(--aa1a21-slate);font:400 0.96rem/1.45 var(--font-sans, Verdana, Geneva, Tahoma, sans-serif)}
#day-card-examples .summary-line strong{color:var(--aa1a21-ink);font-weight:800}
#day-card-examples .chev{position:absolute;right:clamp(1rem,4vw,3rem);transform:translateY(-4px);color:var(--aa1a21-slate);font-size:1.1rem}
#day-card-examples .day-card{position:relative}
#day-card-examples .day-card-panel{border-top:1px solid var(--aa1a21-border);padding:1rem 1.05rem 1.1rem;animation:panelIn 220ms ease-out both}
@keyframes panelIn{from{opacity:0;max-height:0}to{opacity:1;max-height:600px}}
#day-card-examples .panel-grid{display:grid;grid-template-columns:1fr;gap:0.85rem;margin-bottom:0.95rem}
#day-card-examples .panel-title{margin:0 0 0.25rem 0;font:800 1rem/1.2 var(--font-sans, Verdana, Geneva, Tahoma, sans-serif);color:var(--aa1a21-ink)}
#day-card-examples .panel-text{margin:0;color:var(--aa1a21-slate);font:400 0.95rem/1.55 var(--font-sans, Verdana, Geneva, Tahoma, sans-serif)}
#day-card-examples .chips{display:flex;flex-wrap:wrap;gap:0.5rem}
#day-card-examples .chip{display:inline-flex;align-items:center;padding:0.45rem 0.7rem;border-radius:var(--radius-sm, 8px);border:1px solid var(--aa1a21-border);background:rgba(234,240,250,0.55);color:var(--aa1a21-ink);font:700 0.86rem/1 var(--font-sans, Verdana, Geneva, Tahoma, sans-serif)}
#day-card-examples .disclosures{margin-top:1.75rem;padding:1rem 1.05rem;border-radius:var(--radius-lg, 16px);border:1px solid var(--aa1a21-border);background:rgba(255,255,255,0.7)}
#day-card-examples .disclosure{margin:0.45rem 0;color:var(--aa1a21-slate);font:400 0.95rem/1.5 var(--font-sans, Verdana, Geneva, Tahoma, sans-serif)}
#day-card-examples .disclosure:first-child{margin-top:0}
#day-card-examples ::selection{background:rgba(58,134,255,0.22)}
@media (min-width:640px){
  #day-card-examples .cards{gap:1.15rem}
}
@media (min-width:768px){
  #day-card-examples .panel-grid{grid-template-columns:repeat(3,1fr)}
  #day-card-examples .day-card-toggle{padding:1.1rem 1.25rem;min-height:118px}
  #day-card-examples .day-card-panel{padding:1.15rem 1.25rem 1.2rem}
}
@media (prefers-reduced-motion:reduce){
  #day-card-examples .day-card-panel{animation:none}
}

/* aa1a21:how-planning-works */
#how-planning-works{--section-max:72rem;--gutter:clamp(1rem,4vw,3rem);--radius:var(--aa1a21-radius,12px);}
/* aa1a21:how-planning-works */
#how-planning-works{background:var(--aa1a21-bg);color:var(--aa1a21-text);padding:clamp(3rem,8vw,7rem) var(--gutter);}
#how-planning-works .container{max-width:var(--section-max);margin:0 auto;}
#how-planning-works .section-header{margin-bottom:clamp(1.5rem,3vw,2.5rem);}
#how-planning-works .kicker{font-family:var(--font-sans, Verdana, Geneva, Tahoma, sans-serif);font-size:0.875rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--aa1a21-slate);margin:0 0 0.75rem;}
#how-planning-works .title{font-family:var(--font-serif, "Trebuchet MS", "Segoe UI Semibold", Tahoma, Geneva, sans-serif);font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.15;margin:0 0 0.75rem;letter-spacing:-0.02em;text-wrap:balance;}
#how-planning-works .subtitle{margin:0;max-width:66ch;color:var(--aa1a21-slate);font-size:1rem;line-height:1.6;}
#how-planning-works .steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:0.75rem;}
#how-planning-works .step{display:flex;gap:1rem;align-items:flex-start;background:var(--aa1a21-surface);border:1px solid var(--aa1a21-border);border-radius:var(--aa1a21-radius,12px);padding:1rem 1rem;outline:none;}
#how-planning-works .step:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb, var(--aa1a21-primary) 25%, transparent);border-color:color-mix(in srgb, var(--aa1a21-primary) 40%, var(--aa1a21-border));}
#how-planning-works .step-index{flex:0 0 auto;min-width:3.1rem;height:3.1rem;border-radius:12px;background:color-mix(in srgb, var(--aa1a21-primary) 10%, var(--aa1a21-surface));border:1px solid color-mix(in srgb, var(--aa1a21-primary) 25%, var(--aa1a21-border));display:flex;align-items:center;justify-content:center;color:var(--aa1a21-secondary);font-family:var(--font-sans, Verdana, Geneva, Tahoma, sans-serif);font-weight:700;letter-spacing:0.02em;}
#how-planning-works .step-title{margin:0 0 0.4rem;font-family:var(--font-sans, Verdana, Geneva, Tahoma, sans-serif);font-size:1.05rem;line-height:1.25;}
#how-planning-works .step-text{margin:0;color:var(--aa1a21-slate);font-size:1rem;line-height:1.65;}
#how-planning-works .disclosure{margin-top:1.25rem;background:color-mix(in srgb, var(--aa1a21-secondary) 6%, var(--aa1a21-surface));border:1px solid color-mix(in srgb, var(--aa1a21-secondary) 18%, var(--aa1a21-border));border-radius:var(--aa1a21-radius,12px);padding:1rem 1.1rem;}
#how-planning-works .disclosure-text{margin:0;color:var(--aa1a21-ink);font-size:0.95rem;line-height:1.6;}
#how-planning-works .expectations{margin-top:1.25rem;background:var(--aa1a21-surface);border:1px solid var(--aa1a21-border);border-radius:var(--aa1a21-radius,12px);padding:1.1rem 1.1rem;}
#how-planning-works .expectations-title{margin:0 0 0.75rem;font-family:var(--font-sans, Verdana, Geneva, Tahoma, sans-serif);font-size:1.05rem;letter-spacing:-0.01em;}
#how-planning-works .expectations-list{margin:0;padding:0;list-style:none;display:grid;gap:0.6rem;}
#how-planning-works .expectations-list li{display:flex;gap:0.6rem;align-items:flex-start;color:var(--aa1a21-slate);line-height:1.6;}
#how-planning-works .bullet{color:var(--aa1a21-primary);font-weight:900;}
#how-planning-works .nav-row{margin-top:1.5rem;display:flex;gap:0.75rem;flex-wrap:wrap;}
#how-planning-works .link-button{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;text-decoration:none;border-radius:var(--aa1a21-radius,12px);padding:0.85rem 1rem;border:1px solid var(--aa1a21-primary);background:var(--aa1a21-surface);color:var(--aa1a21-secondary);font-family:var(--font-sans, Verdana, Geneva, Tahoma, sans-serif);font-weight:700;min-height:44px;}
#how-planning-works .link-button:hover{text-decoration:underline;}
#how-planning-works .link-button:focus-visible{outline:none;box-shadow:0 0 0 4px color-mix(in srgb, var(--aa1a21-primary) 25%, transparent);}
#how-planning-works .link-button.secondary{background:color-mix(in srgb, var(--aa1a21-primary) 7%, var(--aa1a21-surface));border-color:color-mix(in srgb, var(--aa1a21-primary) 50%, var(--aa1a21-border));}
#how-planning-works ::selection{background:color-mix(in srgb, var(--aa1a21-primary) 28%, transparent);}
@media (min-width: 768px){
  #how-planning-works .steps{gap:0.85rem;}
  #how-planning-works .step{padding:1.1rem 1.15rem;}
}
@media (prefers-reduced-motion: reduce){
  #how-planning-works *{scroll-behavior:auto;}
}

/* aa1a21:contact-request-compact */
/* aa1a21:contact-request-compact */
#contact-request-compact{background:var(--aa1a21-bg);color:var(--aa1a21-text);padding:clamp(1.5rem,3vw,2.5rem) 0;}
#contact-request-compact .section-shell{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,3vw,3rem);}
#contact-request-compact .form-header{display:block;margin-bottom:1.25rem;}
#contact-request-compact .form-title{font-family:var(--font-serif);font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.15;letter-spacing:-0.01em;margin:0 0 0.5rem 0;text-wrap:balance;}
#contact-request-compact .form-subtitle{font-family:var(--font-sans);font-size:1rem;line-height:1.55;margin:0;max-width:62ch;color:var(--aa1a21-slate);}
#contact-request-compact .request-form{background:var(--aa1a21-surface);border:1px solid var(--aa1a21-border);border-radius:var(--radius-lg,16px);padding:clamp(1rem,2.5vw,1.5rem);}
#contact-request-compact .fields{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(0.75rem,1.5vw,1rem);}
#contact-request-compact .field{grid-column:span 6;}
#contact-request-compact .field-wide{grid-column:span 12;}
#contact-request-compact label{display:block;font-family:var(--font-sans);font-size:0.875rem;line-height:1.3;color:var(--aa1a21-ink);margin:0 0 0.45rem 0;}
#contact-request-compact input,#contact-request-compact select,#contact-request-compact textarea{width:100%;box-sizing:border-box;border:1px solid var(--aa1a21-border);background:var(--aa1a21-surface);color:var(--aa1a21-ink);border-radius:var(--radius-md,12px);padding:0.75rem 0.85rem;font-family:var(--font-sans);font-size:1rem;line-height:1.35;}
#contact-request-compact textarea{resize:vertical;min-height:120px;}
#contact-request-compact input::placeholder,#contact-request-compact textarea::placeholder{color:var(--aa1a21-slate);}
#contact-request-compact input:focus,#contact-request-compact select:focus,#contact-request-compact textarea:focus{outline:none;border-color:var(--aa1a21-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--aa1a21-primary) 25%, transparent);}
#contact-request-compact .disclosures{margin-top:1rem;padding:0.85rem 0.9rem;border-radius:var(--radius-md,12px);border:1px solid var(--aa1a21-border);background:color-mix(in srgb,var(--aa1a21-mist) 55%, white 45%);}
#contact-request-compact .disclosure{margin:0.35rem 0;font-family:var(--font-sans);font-size:0.9rem;line-height:1.5;color:var(--aa1a21-ink);}
#contact-request-compact .actions{margin-top:1.1rem;display:flex;flex-direction:column;gap:0.5rem;}
#contact-request-compact .primary-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0.85rem 1rem;border-radius:var(--radius-md,12px);border:1px solid color-mix(in srgb,var(--aa1a21-primary) 80%, var(--aa1a21-border));background:var(--aa1a21-primary);color:white;font-family:var(--font-sans);font-weight:700;font-size:1rem;cursor:pointer;}
#contact-request-compact .primary-btn:hover{background:color-mix(in srgb,var(--aa1a21-primary) 90%, black 10%);}
#contact-request-compact .primary-btn:active{transform:translateY(1px);}
#contact-request-compact .primary-btn:disabled{opacity:0.65;cursor:not-allowed;}
#contact-request-compact .fineprint{margin:0;font-family:var(--font-sans);font-size:0.875rem;line-height:1.45;color:var(--aa1a21-slate);}
#contact-request-compact a{color:var(--aa1a21-accent);}
#contact-request-compact ::selection{background:color-mix(in srgb,var(--aa1a21-primary) 30%, white 70%);}
@media (max-width:768px){
  #contact-request-compact .field{grid-column:span 12;}
}
@media (prefers-reduced-motion: reduce){
  #contact-request-compact *{scroll-behavior:auto;}
}

/* aa1a21:pricing-scope */
/* aa1a21:pricing-scope */
#pricing-scope{background:var(--aa1a21-bg);color:var(--aa1a21-text);font-family:Verdana,Geneva,Tahoma,s-serif;}
#pricing-scope .container{max-width:72rem;margin:0 auto;padding:clamp(1.25rem,3vw,2.25rem) clamp(1rem,4vw,3rem) clamp(2.25rem,4vw,3.25rem);}
#pricing-scope .section-head{display:block;margin-bottom:clamp(1.25rem,3vw,2rem);}
#pricing-scope .section-title{font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.12;letter-spacing:-0.02em;margin:0 0 0.75rem 0;font-weight:800;}
#pricing-scope .section-lead{margin:0;max-width:64ch;color:var(--aa1a21-slate);font-size:1rem;line-height:1.6;}
#pricing-scope .scope-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(0.75rem,2vw,1.25rem);align-items:start;}
#pricing-scope .scope-card{grid-column:span 6;background:var(--aa1a21-surface);border:1px solid var(--aa1a21-border);border-radius:var(--radius-md);padding:clamp(1rem,2vw,1.25rem);box-shadow:0 10px 28px rgba(15,23,42,.06);}
#pricing-scope .scope-card--highlight{background:linear-gradient(180deg, rgba(234,240,250,.9), rgba(255,255,255,1));border-color:rgba(58,134,255,.35);}
#pricing-scope .scope-title{margin:0 0 0.75rem 0;font-size:1.125rem;line-height:1.25;font-weight:800;}
#pricing-scope .scope-list{margin:0;padding:0 0 0 1.1rem;}
#pricing-scope .scope-list li{margin:0.45rem 0;color:var(--aa1a21-slate);line-height:1.55;}
#pricing-scope .scope-note{margin:0.9rem 0 0 0;color:var(--aa1a21-ink);font-size:0.95rem;line-height:1.45;}
#pricing-scope .scope-sub{margin:0 0 0.75rem 0;color:var(--aa1a21-slate);line-height:1.55;}
#pricing-scope .decision-lines{display:flex;flex-direction:column;gap:0.6rem;margin-bottom:0.85rem;}
#pricing-scope .decision-line{border:1px solid var(--aa1a21-border);background:rgba(255,255,255,.7);border-radius:var(--radius-sm);padding:0.65rem 0.75rem;}
#pricing-scope .decision-label{font-weight:800;color:var(--aa1a21-secondary);font-size:0.92rem;}
#pricing-scope .decision-value{margin-top:0.15rem;color:var(--aa1a21-slate);font-size:0.95rem;line-height:1.35;}
#pricing-scope .scope-disclosure{margin:0;color:var(--aa1a21-slate);font-size:0.9rem;line-height:1.5;}
#pricing-scope .scope-cta-row{margin-top:clamp(1.25rem,3vw,2.25rem);display:flex;gap:1.25rem;align-items:flex-start;justify-content:space-between;padding:clamp(1rem,2vw,1.25rem);border:1px solid var(--aa1a21-border);background:var(--aa1a21-surface);border-radius:var(--radius-lg);}
#pricing-scope .scope-cta-text{max-width:52rem;}
#pricing-scope .scope-cta-title{margin:0 0 0.5rem 0;font-weight:900;font-size:1.15rem;letter-spacing:-0.01em;}
#pricing-scope .scope-cta-body{margin:0;color:var(--aa1a21-slate);line-height:1.6;}
#pricing-scope .scope-cta-actions{display:flex;gap:0.75rem;flex-wrap:wrap;justify-content:flex-end;}
#pricing-scope .link-button,#pricing-scope .ghost-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0.75rem 1rem;border-radius:var(--radius-md);font-weight:800;text-decoration:none;line-height:1;letter-spacing:-0.01em;}
#pricing-scope .link-button{background:var(--aa1a21-primary);color:#fff;border:1px solid rgba(58,134,255,.6);box-shadow:0 10px 24px rgba(58,134,255,.18);}
#pricing-scope .ghost-button{background:var(--aa1a21-surface);color:var(--aa1a21-secondary);border:2px solid var(--aa1a21-border);}
#pricing-scope .link-button:hover{filter:brightness(0.98);}
#pricing-scope .ghost-button:hover{border-color:rgba(58,134,255,.55);}
#pricing-scope .link-button:focus-visible,#pricing-scope .ghost-button:focus-visible{outline:3px solid rgba(58,134,255,.35);outline-offset:3px;}
#pricing-scope ::selection{background:rgba(58,134,255,.25);}
#pricing-scope .scope-list a{color:inherit;}
@media (max-width: 900px){
  #pricing-scope .scope-card{grid-column:span 12;}
  #pricing-scope .scope-cta-row{flex-direction:column;}
  #pricing-scope .scope-cta-actions{justify-content:flex-start;}
}
@media (prefers-reduced-motion: reduce){
  #pricing-scope *{scroll-behavior:auto;}
}

/* aa1a21:expectations-faq */
/* aa1a21:expectations-faq */
#expectations-faq{--r:var(--aa1a21-radius,12px);padding:clamp(2rem,4vw,3rem) 0;background:var(--aa1a21-bg);color:var(--aa1a21-text);}
#expectations-faq .shell{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#expectations-faq .section-header{margin-bottom:1.5rem;}
#expectations-faq .kicker{display:inline-block;background:var(--aa1a21-mist);border:1px solid var(--aa1a21-border);color:var(--aa1a21-secondary);padding:0.35rem 0.6rem;border-radius:var(--aa1a21-radius,12px);font-family:var(--font-sans, Verdana, Geneva, Tahoma, sans-serif);font-size:0.875rem;letter-spacing:0.01em;}
#expectations-faq .title{margin:0.75rem 0 0.6rem 0;font-family:var(--font-serif, 'Trebuchet MS', 'Segoe UI Semibold', Tahoma, Geneva, sans-serif);font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.12;letter-spacing:-0.015em;text-wrap:balance;}
#expectations-faq .lede{margin:0;max-width:60ch;color:var(--aa1a21-slate);font-size:1rem;line-height:1.6;}
#expectations-faq .faq{margin-top:1.25rem;border:1px solid var(--aa1a21-border);border-radius:var(--aa1a21-radius,16px);background:var(--aa1a21-surface);overflow:hidden;}
#expectations-faq .faq-item{border-top:1px solid var(--aa1a21-border);}
#expectations-faq .faq-item:first-child{border-top:none;}
#expectations-faq .faq-question{margin:0;display:flex;align-items:flex-start;gap:0.75rem;padding:1rem 1.1rem;cursor:pointer;user-select:none;font-family:var(--font-sans, Verdana, Geneva, Tahoma, sans-serif);font-size:1.02rem;line-height:1.35;color:var(--aa1a21-ink);outline:none;}
#expectations-faq .faq-icon{width:1.35rem;height:1.35rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--aa1a21-border);color:var(--aa1a21-secondary);font-weight:700;background:var(--aa1a21-mist);flex:0 0 auto;transform:translateY(0.05rem);}
#expectations-faq .faq-question:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--aa1a21-primary) 35%, transparent);}
#expectations-faq .faq-panel{padding:0 1.1rem 1rem 1.1rem;}
#expectations-faq .faq-answer p{margin:0.75rem 0 0 0;color:var(--aa1a21-slate);line-height:1.65;font-size:1rem;}
#expectations-faq .faq-answer p:first-child{margin-top:0;}
#expectations-faq .faq-answer .note{color:var(--aa1a21-secondary);font-size:0.95rem;}
#expectations-faq .disclosure{margin-top:1.5rem;padding:1rem 1.1rem;border-radius:var(--aa1a21-radius,16px);border:1px solid var(--aa1a21-border);background:var(--aa1a21-surface);}
#expectations-faq .disclosure-text{margin:0.35rem 0;color:var(--aa1a21-slate);line-height:1.6;}
#expectations-faq .disclosure-text strong{color:var(--aa1a21-ink);font-weight:700;}
#expectations-faq .support-links{display:flex;flex-wrap:wrap;gap:0.75rem;margin-top:1.25rem;}
#expectations-faq .link{color:var(--aa1a21-primary);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;font-family:var(--font-sans, Verdana, Geneva, Tahoma, sans-serif);font-size:0.98rem;}
#expectations-faq .link:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb, var(--aa1a21-primary) 35%, transparent);border-radius:10px;}
@media (prefers-reduced-motion: reduce){#expectations-faq *{scroll-behavior:auto;transition:none !important;animation:none !important;}}
@media (max-width:640px){#expectations-faq .faq-question{padding:0.95rem 0.95rem;gap:0.6rem;}#expectations-faq .faq-panel{padding:0 0.95rem 0.95rem 0.95rem;}#expectations-faq .title{letter-spacing:-0.02em;}}
/* aa1a21:contact-request */
/* aa1a21:contact-request */
#contact-request{background:var(--aa1a21-bg);color:var(--aa1a21-ink);padding:var(--section-pad,clamp(1.5rem,3vw,2.5rem)) 0;}
#contact-request .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,3vw,1.75rem);}
#contact-request .contact-wrap{display:grid;grid-template-columns:1.25fr 0.75fr;gap:clamp(1.25rem,3vw,2.25rem);align-items:start;}
#contact-request .section-head{margin-bottom:1rem;}
#contact-request .section-title{font-family:var(--font-sans, Verdana, Geneva, Tahoma, sans-serif);font-size:clamp(1.6rem,2.5vw,2.25rem);line-height:1.1;letter-spacing:-0.02em;margin:0 0 0.75rem 0;}
#contact-request .section-subtitle{margin:0;font-size:1rem;line-height:1.55;color:var(--aa1a21-slate);max-width:52ch;}
#contact-request .pricing-form{background:var(--aa1a21-surface);border:1px solid var(--aa1a21-border);border-radius:var(--radius-lg,16px);padding:clamp(1rem,2.2vw,1.5rem);}
#contact-request .grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(0.75rem,1.6vw,1rem);}
#contact-request .field{display:flex;flex-direction:column;gap:0.45rem;min-width:0;}
#contact-request label{font-family:var(--font-sans, Verdana, Geneva, Tahoma, sans-serif);font-size:0.875rem;color:var(--aa1a21-ink);}
#contact-request input,#contact-request select{width:100%;border:1px solid var(--aa1a21-border);background:var(--aa1a21-surface);border-radius:var(--radius-md,12px);padding:0.78rem 0.85rem;font-size:1rem;color:var(--aa1a21-ink);outline:none;}
#contact-request input::placeholder{color:color-mix(in srgb,var(--aa1a21-slate),transparent 35%);}
#contact-request input:focus-visible,#contact-request select:focus-visible{border-color:var(--aa1a21-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--aa1a21-primary),transparent 80%);}
#contact-request select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,color-mix(in srgb,var(--aa1a21-slate),transparent 20%) 50%),linear-gradient(135deg,color-mix(in srgb,var(--aa1a21-slate),transparent 20%) 50%,transparent 50%);background-position:calc(100% - 18px) calc(1rem + 2px),calc(100% - 12px) calc(1rem + 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:2.5rem;}
#contact-request .field-span-2{grid-column:1 / -1;}
#contact-request .disclosure{margin-top:1rem;padding:0.9rem 1rem;border-radius:var(--radius-md,12px);border:1px solid color-mix(in srgb,var(--aa1a21-primary),transparent 70%);background:color-mix(in srgb,var(--aa1a21-primary),transparent 92%);}
#contact-request .disclosure p{margin:0 0 0.55rem 0;font-size:0.925rem;line-height:1.5;color:var(--aa1a21-slate);}
#contact-request .disclosure p strong{color:var(--aa1a21-ink);font-weight:700;}
#contact-request .disclosure p:last-child{margin-bottom:0;}
#contact-request .actions{margin-top:1rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;}
#contact-request .primary-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0.85rem 1.05rem;border-radius:var(--radius-md,12px);border:1px solid color-mix(in srgb,var(--aa1a21-primary),transparent 0%);background:var(--aa1a21-primary);color:#fff;font-family:var(--font-sans, Verdana, Geneva, Tahoma, sans-serif);font-weight:700;font-size:1rem;cursor:pointer;}
#contact-request .primary-btn:hover{background:color-mix(in srgb,var(--aa1a21-primary),#ffffff 10%);}
#contact-request .primary-btn:active{transform:translateY(1px);}
#contact-request .primary-btn:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--aa1a21-primary),transparent 78%);}
#contact-request .secondary-link{color:var(--aa1a21-secondary);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;font-size:0.95rem;}
#contact-request .secondary-link:focus-visible{outline:2px solid color-mix(in srgb,var(--aa1a21-primary),transparent 30%);outline-offset:3px;border-radius:6px;}
#contact-request .trust-panel{padding:0.25rem 0;}
#contact-request .trust-title{margin:0 0 0.75rem 0;font-size:1.1rem;letter-spacing:-0.01em;font-family:var(--font-serif, 'Trebuchet MS', Segoe UI Semibold, Tahoma, Geneva, sans-serif);color:var(--aa1a21-ink);}
#contact-request .trust-list{margin:0;padding-left:1.1rem;color:var(--aa1a21-slate);}
#contact-request .trust-list li{margin:0 0 0.55rem 0;line-height:1.45;}
#contact-request .trust-list li:last-child{margin-bottom:0;}
#contact-request ::selection{background:color-mix(in srgb,var(--aa1a21-primary),transparent 70%);}
@media (max-width: 900px){#contact-request .contact-wrap{grid-template-columns:1fr;}}
@media (max-width: 640px){#contact-request .grid{grid-template-columns:1fr;}#contact-request .field-span-2{grid-column:auto;}}
@media (prefers-reduced-motion: reduce){#contact-request .primary-btn{transition:none;}}

/* Design system variables */
:root{--aa1a21-primary:#3A86FF;--aa1a21-secondary:#0B3D2E;--aa1a21-accent:#3A86FF;--aa1a21-ink:#0F172A;--aa1a21-slate:#516072;--aa1a21-mist:#EAF0FA;--aa1a21-border:#D7DFEA;--aa1a21-surface:#FFFFFF;--aa1a21-bg:#F6F8FB;--aa1a21-text:#0F172A;--aa1a21-font:Verdana, Geneva, Tahoma, sans-serif;--aa1a21-font-display:'Trebuchet MS', 'Segoe UI Semibold', Tahoma, Geneva, sans-serif;}

.page-shell{min-height:100vh;background:var(--aa1a21-bg);color:var(--aa1a21-text);font-family:var(--aa1a21-font);padding:24px;}
.policy-page{max-width:980px;margin:0 auto;background:var(--aa1a21-surface);border:1px solid var(--aa1a21-border);border-radius:var(--radius-lg);box-shadow:0 10px 30px rgba(15,23,42,0.06);padding:28px 28px 22px 28px;}

.policy-header{padding-bottom:14px;border-bottom:1px solid var(--aa1a21-border);margin-bottom:18px;}
.policy-title{font-family:var(--aa1a21-font-display);font-size:30px;line-height:1.2;margin:0 0 10px 0;color:var(--aa1a21-ink);letter-spacing:-0.2px;}
.policy-lead{margin:0;color:var(--aa1a21-slate);font-size:14.5px;line-height:1.6;max-width:70ch;}

.policy-section{margin:18px 0;}
.policy-section-title{font-family:var(--aa1a21-font-display);font-size:18px;line-height:1.35;margin:0 0 10px 0;color:var(--aa1a21-secondary);}
.policy-paragraph{margin:0 0 12px 0;font-size:14.5px;line-height:1.75;color:var(--aa1a21-text);}
.policy-paragraph:last-child{margin-bottom:0;}

.policy-cite{font-family:var(--aa1a21-font);font-weight:700;color:var(--aa1a21-primary);}

.policy-link{color:var(--aa1a21-primary);text-decoration:none;border-bottom:1px solid rgba(58,134,255,0.25);}
.policy-link:hover{border-bottom-color:rgba(58,134,255,0.7);}

.policy-muted{color:var(--aa1a21-slate);}

.policy-footer{margin-top:22px;padding-top:14px;border-top:1px solid var(--aa1a21-border);}

/* Design-system based styling (no external libraries) */
:root{
  --aa1a21-primary:#3A86FF;
  --aa1a21-secondary:#0B3D2E;
  --aa1a21-accent:#3A86FF;
  --aa1a21-ink:#0F172A;
  --aa1a21-slate:#516072;
  --aa1a21-mist:#EAF0FA;
  --aa1a21-border:#D7DFEA;
  --aa1a21-surface:#FFFFFF;
  --aa1a21-bg:#F6F8FB;
  --aa1a21-text:#0F172A;
  --aa1a21-font: Verdana, Geneva, Tahoma, sans-serif;
  --aa1a21-font-display: 'Trebuchet MS', 'Segoe UI Semibold', Tahoma, Geneva, sans-serif;
}

.policy-page{
  min-height:100vh;
  background:var(--aa1a21-bg);
  color:var(--aa1a21-text);
}

.policy-main{
  max-width:980px;
  margin:0 auto;
  padding:28px 20px 56px;
}

.policy-header{
  background:var(--aa1a21-surface);
  border:1px solid var(--aa1a21-border);
  border-radius:var(--radius-lg);
  padding:22px 20px;
  box-shadow:0 1px 0 rgba(15,23,42,0.03);
}

.policy-title{
  margin:0 0 10px;
  font-family:var(--aa1a21-font-display);
  font-weight:700;
  font-size:30px;
  line-height:1.15;
  color:var(--aa1a21-ink);
}

.policy-lead{
  margin:0;
  font-size:15px;
  line-height:1.6;
  color:var(--aa1a21-slate);
}

.policy-section{
  margin-top:16px;
  background:var(--aa1a21-surface);
  border:1px solid var(--aa1a21-border);
  border-radius:var(--radius-lg);
  padding:18px 20px;
}

.policy-section--footer{
  margin-bottom:0;
}

.policy-section-title{
  margin:0 0 10px;
  font-family:var(--aa1a21-font-display);
  font-weight:700;
  font-size:18px;
  color:var(--aa1a21-secondary);
}

.policy-text{
  margin:10px 0;
  font-size:14px;
  line-height:1.7;
}

.policy-list{
  margin:8px 0 0 18px;
  padding:0;
}

.policy-list-item{
  margin:6px 0;
  font-size:14px;
  line-height:1.7;
}

.policy-note{
  margin:12px 0 0;
  font-size:12.5px;
  line-height:1.6;
  color:var(--aa1a21-slate);
}

.policy-link{
  color:var(--aa1a21-primary);
  text-decoration:underline;
}

.policy-link:focus{
  outline:2px solid rgba(58,134,255,0.35);
  outline-offset:3px;
  border-radius:4px;
}

strong{
  color:var(--aa1a21-ink);
}

.thanks-page{background:var(--aa1a21-bg);color:var(--aa1a21-text);min-height:100vh;font-family:var(--aa1a21-font);padding:16px}
.policy-wrap{max-width:980px;margin:0 auto;padding:12px}
.policy-card{background:var(--aa1a21-surface);border:1px solid var(--aa1a21-border);border-radius:var(--radius-lg);padding:22px 18px;box-shadow:0 10px 30px rgba(15,23,42,.06)}
.policy-badge{width:44px;height:44px;border-radius:999px;background:rgba(58,134,255,.12);color:var(--aa1a21-primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:22px;line-height:1;margin-bottom:12px}
.policy-title{font-size:32px;letter-spacing:-.02em;margin:0 0 10px 0;color:var(--aa1a21-ink)}
.policy-lead{margin:0 0 14px 0;color:var(--aa1a21-slate);font-size:15.5px;line-height:1.55}
.policy-note{background:rgba(234,240,250,.75);border:1px solid rgba(215,223,234,.9);border-radius:var(--radius-md);padding:14px 14px;margin:10px 0 14px 0}
.policy-note-text{margin:0 0 10px 0;color:var(--aa1a21-ink);font-size:13.75px;line-height:1.55}
.policy-note-text:last-child{margin-bottom:0}
.policy-legal{font-weight:700}
.policy-separator{height:1px;background:var(--aa1a21-border);margin:16px 0}
.policy-subtitle{margin:0 0 10px 0;font-size:18px;color:var(--aa1a21-ink)}
.policy-list{list-style:none;padding:0;margin:0}
.policy-item{padding:7px 0;border-bottom:1px solid rgba(215,223,234,.7);font-size:14px}
.policy-item:last-child{border-bottom:none}
.policy-label{display:inline-block;min-width:108px;color:var(--aa1a21-slate);font-weight:600}
.policy-value{color:var(--aa1a21-ink)}
.policy-link{color:var(--aa1a21-primary);text-decoration:none;border-bottom:1px solid rgba(58,134,255,.35)}
.policy-link:hover{border-bottom-color:rgba(58,134,255,.8)}
.policy-small{margin:12px 0 6px 0;color:var(--aa1a21-slate);font-size:13px;line-height:1.5}
.policy-mono{font-family:var(--aa1a21-font)}
@media (max-width:520px){.policy-wrap{padding:8px}.policy-card{padding:18px 14px}.policy-title{font-size:28px}}
section[data-aa1a21-k1b]:not([data-aa1a21-k1b='header']):not([data-aa1a21-k1b='footer']) { position: relative; }
section[data-aa1a21-k1b]:not([data-aa1a21-k1b='header']):not([data-aa1a21-k1b='footer']) { border-top: 1px solid var(--aa1a21-border); }
section[data-aa1a21-k1b]:not([data-aa1a21-k1b='header']) h1,section[data-aa1a21-k1b]:not([data-aa1a21-k1b='header']) h2 { max-width: 20ch; letter-spacing: -0.035em; }
section[data-aa1a21-k1b]:nth-of-type(even)::before { content: ''; position: absolute; top: 0; left: 0; width: 5rem; border-top: 3px solid var(--aa1a21-accent); }
:root {
  --aa1a21-c-content-width: 72rem;
  --aa1a21-c-gutter: clamp(1rem, 4vw, 3rem);
  --aa1a21-c-measure: 65ch;
  --aa1a21-c-heading-display: clamp(2.5rem, 6vw, 5.5rem);
}
[data-aa1a21-dr] { scroll-margin-top: 1.5rem; }
main > section, main [data-aa1a21-k1b] { padding-inline: var(--aa1a21-c-gutter); }
[data-aa1a21-dr*='article'], [data-aa1a21-dr*='review'] { max-width: var(--aa1a21-c-measure); }
h1 { font-size: var(--aa1a21-c-heading-display); }
@media (max-width: 768px) { [data-aa1a21-dr] { min-width: 0; } }