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

/* design tokens */
:root {
  --kf0f50a-primary: #0B3A6E;
  --kf0f50a-secondary: #1F7A5A;
  --kf0f50a-accent: #1F7A5A;
  --kf0f50a-ink: #0F172A;
  --kf0f50a-slate: #4B5563;
  --kf0f50a-mist: #E9E2D1;
  --kf0f50a-border: #D9D2C7;
  --kf0f50a-surface: #F6F3EE;
  --kf0f50a-bg: #FBF7EF;
  --kf0f50a-text: #1A1A1A;
  --kf0f50a-font: 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif;
  --kf0f50a-font-display: 'Avenir Next', Avenir, 'Segoe UI', 'Century Gothic', sans-serif;
}

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

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

/* sections */
/* kf0f50a:header */
/* kf0f50a:header */
#header { --header-height: 76px; }
#header .skip-link{ position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }
#header .skip-link:focus{ left:16px; top:16px; width:auto; height:auto; padding:10px 12px; background:var(--kf0f50a-surface); border:1px solid var(--kf0f50a-border); border-radius:var(--radius-sm, 8px); color:var(--kf0f50a-ink); z-index:9999; }

#header .site-header{ position:sticky; top:0; z-index:50; background:var(--kf0f50a-bg); border-bottom:1px solid var(--kf0f50a-border); }
#header .container{ max-width:72rem; margin:0 auto; padding:0 clamp(1rem, 4vw, 3rem); }
#header .nav-row{ display:flex; align-items:center; justify-content:space-between; gap:16px; height:var(--header-height); }
#header .brand{ display:flex; flex-direction:column; gap:2px; line-height:1.1; }
#header .brand-link{ font-family:var(--font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif); font-weight:800; letter-spacing:-0.02em; color:var(--kf0f50a-ink); text-decoration:none; font-size:1.15rem; }
#header .brand-tag{ font-family:var(--font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif); font-size:0.875rem; color:var(--kf0f50a-slate); }

#header .nav{ display:none; }
#header .nav-list{ list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:18px; }
#header .nav-list a{ color:var(--kf0f50a-ink); text-decoration:none; font-size:0.95rem; padding:10px 6px; border-radius:var(--radius-sm, 8px); }
#header .nav-list a:focus-visible{ outline:3px solid color-mix(in srgb, var(--kf0f50a-secondary) 55%, white); outline-offset:2px; }

#header .btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; border-radius:var(--radius-md, 12px); font-weight:700; padding:12px 14px; border:1px solid transparent; text-decoration:none; line-height:1; }
#header .btn-primary{ background:var(--kf0f50a-primary); color:var(--kf0f50a-surface); border-color:var(--kf0f50a-primary); }
#header .btn-primary:hover{ background:color-mix(in srgb, var(--kf0f50a-primary) 88%, #000); }
#header .btn-primary:active{ transform:translateY(1px); }
#header .btn-primary:focus-visible{ outline:3px solid color-mix(in srgb, var(--kf0f50a-primary) 45%, white); outline-offset:3px; }

#header .nav-cta a{ padding:0; }

#header .menu-toggle{ display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:12px 14px; border-radius:var(--radius-md, 12px); border:1px solid var(--kf0f50a-border); background:var(--kf0f50a-surface); color:var(--kf0f50a-ink); font-weight:800; cursor:pointer; }
#header .menu-toggle:focus-visible{ outline:3px solid color-mix(in srgb, var(--kf0f50a-secondary) 45%, white); outline-offset:3px; }
#header .menu-toggle[aria-expanded="true"]{ border-color:color-mix(in srgb, var(--kf0f50a-secondary) 55%, var(--kf0f50a-border)); }

#header .mobile-menu{ display:block; position:fixed; inset:0; background:rgba(15, 23, 42, 0.35); backdrop-filter: blur(6px); z-index:70; opacity:0; pointer-events:none; transition:opacity 160ms ease-out; }
#header .mobile-menu[aria-hidden="false"],
#header .mobile-menu:target{ opacity:1; pointer-events:auto; }
#header .mobile-menu-inner{ background:var(--kf0f50a-bg); border:1px solid var(--kf0f50a-border); border-radius:var(--radius-lg, 16px); max-width:520px; margin:110px auto 0; padding:16px; box-shadow:0 18px 45px color-mix(in srgb, var(--kf0f50a-ink) 18%, transparent); }
#header .mobile-menu-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:6px 2px 14px; border-bottom:1px solid var(--kf0f50a-border); }
#header .mobile-menu-title{ font-weight:900; color:var(--kf0f50a-ink); }
#header .mobile-menu-close{ min-height:44px; padding:10px 12px; border-radius:var(--radius-md, 12px); border:1px solid var(--kf0f50a-border); background:var(--kf0f50a-surface); color:var(--kf0f50a-ink); font-weight:800; cursor:pointer; }
#header .mobile-menu-close:focus-visible{ outline:3px solid color-mix(in srgb, var(--kf0f50a-secondary) 45%, white); outline-offset:3px; }
#header .mobile-list{ list-style:none; margin:12px 0 0; padding:0; display:flex; flex-direction:column; gap:8px; }
#header .mobile-list a{ display:block; text-decoration:none; color:var(--kf0f50a-ink); padding:12px 12px; border-radius:var(--radius-md, 12px); border:1px solid transparent; }
#header .mobile-list a:focus-visible{ outline:3px solid color-mix(in srgb, var(--kf0f50a-secondary) 45%, white); outline-offset:2px; }
#header .mobile-list a:hover{ background:color-mix(in srgb, var(--kf0f50a-surface) 70%, white); }
#header .mobile-list .btn{ margin-top:6px; width:100%; }

#header .trust-strip{ background:var(--kf0f50a-surface); border-bottom:1px solid var(--kf0f50a-border); }
#header .trust-row{ display:flex; gap:18px; flex-wrap:wrap; padding:12px 0; justify-content:flex-start; }
#header .trust-item{ display:inline-flex; align-items:center; gap:10px; font-size:0.9rem; color:var(--kf0f50a-slate); font-weight:700; }
#header .trust-item::before{ content:""; width:10px; height:10px; border-radius:50%; background:color-mix(in srgb, var(--kf0f50a-secondary) 70%, white); border:1px solid color-mix(in srgb, var(--kf0f50a-secondary) 45%, var(--kf0f50a-border)); }

@media (min-width: 1024px){
  #header .nav{ display:block; }
  #header .menu-toggle{ display:none; }
  #header .mobile-menu{ display:none; }
  #header .trust-row{ justify-content:space-between; }
}

@media (prefers-reduced-motion: reduce){
  #header .mobile-menu{ transition:none; }
  #header .btn-primary:active{ transform:none; }
}

#header ::selection{ background:color-mix(in srgb, var(--kf0f50a-secondary) 30%, white); }

/* kf0f50a:footer */
/* kf0f50a:footer */
#footer{background:var(--kf0f50a-bg);color:var(--kf0f50a-text);border-top:1px solid var(--kf0f50a-border);} 
#footer .footer-shell{max-width:72rem;margin:0 auto;padding:clamp(2rem,5vw,4rem) clamp(1rem,4vw,3rem) clamp(1.5rem,4vw,3rem);} 
#footer .footer-top{display:grid;grid-template-columns:1fr;gap:2.25rem;} 
#footer .footer-brand{padding:0;} 
#footer .footer-mark{font-family:var(--font-family-serif);font-size:1.25rem;letter-spacing:-0.02em;font-weight:800;margin:0 0 0.6rem;} 
#footer .footer-tagline{margin:0;max-width:44ch;line-height:1.6;color:var(--kf0f50a-ink);} 
#footer .footer-columns{display:grid;grid-template-columns:1fr;gap:1.5rem;} 
#footer .footer-col{padding:0;} 
#footer .footer-heading{margin:0 0 0.75rem;font-size:0.95rem;letter-spacing:0.01em;text-transform:none;color:var(--kf0f50a-ink);} 
#footer .footer-list{list-style:none;padding:0;margin:0;display:grid;gap:0.65rem;} 
#footer .footer-link{color:var(--kf0f50a-ink);text-decoration:none;border-bottom:1px solid transparent;line-height:1.4;} 
#footer .footer-link:hover{border-bottom-color:var(--kf0f50a-secondary);} 
#footer .footer-link:focus-visible{outline:3px solid color-mix(in srgb,var(--kf0f50a-secondary) 55%, white 45%);outline-offset:4px;border-bottom-color:transparent;} 
#footer .footer-address{color:var(--kf0f50a-ink);line-height:1.5;} 
#footer .footer-divider{height:1px;background:var(--kf0f50a-border;margin:1.8rem 0 1.2rem;} 
#footer .footer-bottom{display:flex;flex-direction:column;gap:0.75rem;} 
#footer .footer-legal{margin:0;line-height:1.5;color:var(--kf0f50a-ink);} 
#footer .footer-micro{margin:0;line-height:1.5;color:var(--kf0f50a-slate);} 

@media (min-width: 768px){
  #footer .footer-top{grid-template-columns:0.95fr 1.05fr;align-items:start;} 
  #footer .footer-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;} 
  #footer .footer-bottom{flex-direction:row;justify-content:space-between;align-items:center;} 
}

@media (prefers-reduced-motion: reduce){
  #footer .footer-link{transition:none;}
}

#footer ::selection{background:color-mix(in srgb,var(--kf0f50a-secondary) 22%, white 78%);}

/* kf0f50a:trust-strip */
/* kf0f50a:trust-strip */
#trust-strip{--pad-top:clamp(2rem,4.5vw,4rem);--pad-bot:clamp(2rem,4vw,3.5rem);padding:var(--pad-top) 0 var(--pad-bot);background:var(--kf0f50a-bg);color:var(--kf0f50a-text);}
#trust-strip .trust-strip__shell{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#trust-strip .trust-strip__content{border:1px solid var(--kf0f50a-border);background:var(--kf0f50a-surface);border-radius:var(--radius-lg,16px);padding:clamp(1.25rem,3vw,2.25rem);}
#trust-strip .trust-strip__title{margin:0 0 .5rem;font-family:var(--font-serif, 'Avenir Next', Avenir, 'Segoe UI', Century Gothic, sans-serif);font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.1;letter-spacing:-0.02em;text-wrap:balance;}
#trust-strip .trust-strip__subtitle{margin:0 0 1.5rem;max-width:60ch;color:var(--kf0f50a-slate);font-size:1rem;line-height:1.6;}
#trust-strip .trust-strip__points{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:1rem;}
#trust-strip .trust-strip__point{display:flex;gap:.85rem;align-items:flex-start;padding:.95rem;border-radius:var(--radius-md,12px);border:1px solid rgba(217,210,199,.7);background:rgba(233,226,209,.35);}
#trust-strip .trust-strip__icon{flex:0 0 28px;width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:var(--kf0f50a-secondary);color:var(--kf0f50a-surface);font-weight:800;line-height:1;box-shadow:0 10px 28px rgba(31,122,90,.18);}
#trust-strip .trust-strip__point-title{margin:.05rem 0 .25rem;font-size:1rem;line-height:1.25;font-weight:800;color:var(--kf0f50a-ink);}
#trust-strip .trust-strip__point-body{margin:0;color:var(--kf0f50a-slate);font-size:.95rem;line-height:1.6;}
#trust-strip .trust-strip__links{margin-top:1.5rem;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;}
#trust-strip .trust-strip__link{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1rem;border-radius:var(--radius-md,12px);border:1px solid var(--kf0f50a-border);background:var(--kf0f50a-surface);color:var(--kf0f50a-primary);text-decoration:none;font-weight:800;font-size:.98rem;}
#trust-strip .trust-strip__link--secondary{background:rgba(31,122,90,.08);border-color:rgba(31,122,90,.35);color:var(--kf0f50a-secondary);}
#trust-strip .trust-strip__link:focus-visible{outline:3px solid rgba(11,58,110,.28);outline-offset:2px;}
#trust-strip .trust-strip__link:hover{border-color:rgba(11,58,110,.55);background:rgba(246,243,238,.95);}
#trust-strip .trust-strip__link--secondary:hover{border-color:rgba(31,122,90,.65);background:rgba(31,122,90,.12);}
#trust-strip ::selection{background:rgba(11,58,110,.18);}
@media (min-width:768px){
  #trust-strip .trust-strip__points{grid-template-columns:1fr 1fr;gap:1.1rem;}
}
@media (min-width:1024px){
  #trust-strip .trust-strip__points{grid-template-columns:1fr 1fr 1fr 1fr;}
  #trust-strip .trust-strip__point{flex-direction:column;align-items:flex-start;}
}
@media (prefers-reduced-motion:reduce){
  #trust-strip *{scroll-behavior:auto;}
}

/* kf0f50a:hero-trip-finder */
/* kf0f50a:hero-trip-finder */
#hero-trip-finder{--radius-sm:var(--kf0f50a-radius-sm,8px);--radius-md:var(--kf0f50a-radius-md,12px);--radius-lg:var(--kf0f50a-radius-lg,16px);background:var(--kf0f50a-bg);color:var(--kf0f50a-text);padding:clamp(1.25rem,3.5vw,2.5rem) 0;}
#hero-trip-finder .wrap{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#hero-trip-finder .hero-grid{display:grid;grid-template-columns:7fr 5fr;gap:clamp(1.25rem,2.5vw,2.5rem);align-items:start;}
#hero-trip-finder .finder-col{min-width:0;}
#hero-trip-finder .summary-col{min-width:0;}

#hero-trip-finder .finder-card{background:var(--kf0f50a-surface);border:1px solid var(--kf0f50a-border);border-radius:var(--radius-md);padding:clamp(1.1rem,2.2vw,1.6rem);}
#hero-trip-finder .hero-title{font-family:var(--kf0f50a-font-serif,'');font-family:var(--kf0f50a-serif,inherit);font-family:inherit;margin:0 0 0.35rem 0;font-size:clamp(2rem,4vw,4rem);line-height:1.02;letter-spacing:-0.02em;color:var(--kf0f50a-ink);text-wrap:balance;}
#hero-trip-finder .hero-subtitle{margin:0 0 1rem 0;color:var(--kf0f50a-slate);font-size:1rem;line-height:1.5;max-width:42ch;}

#hero-trip-finder .finder-form{margin-top:0.25rem;}
#hero-trip-finder .field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.9rem 1rem;}
#hero-trip-finder .field{display:block;min-width:0;}
#hero-trip-finder .label{display:block;font-size:0.875rem;color:var(--kf0f50a-ink);margin:0 0 0.35rem 0;font-weight:650;}
#hero-trip-finder .control{width:100%;border:1px solid var(--kf0f50a-border);background:var(--kf0f50a-bg);color:var(--kf0f50a-text);border-radius:var(--radius-sm);padding:0.72rem 0.8rem;font-size:1rem;outline:none;}
#hero-trip-finder .control.small{padding:0.65rem 0.75rem;}
#hero-trip-finder .control:focus-visible{border-color:var(--kf0f50a-primary);box-shadow:0 0 0 3px rgba(11,58,110,.18);}
#hero-trip-finder .traveler-budget{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;}

#hero-trip-finder .form-actions{display:flex;gap:0.75rem;align-items:center;flex-wrap:wrap;margin-top:1rem;}
#hero-trip-finder .btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;min-height:44px;padding:0.75rem 1rem;border-radius:var(--radius-sm);font-weight:700;font-size:0.98rem;cursor:pointer;text-decoration:none;border:1px solid transparent;}
#hero-trip-finder .btn-primary{background:var(--kf0f50a-primary);color:#fff;border-color:var(--kf0f50a-primary);}
#hero-trip-finder .btn-primary:hover{background:#0a335a;}
#hero-trip-finder .btn-primary:active{background:#082a49;}
#hero-trip-finder .btn-secondary{background:var(--kf0f50a-surface);border-color:var(--kf0f50a-border);color:var(--kf0f50a-ink);}
#hero-trip-finder .btn-secondary:hover{background:var(--kf0f50a-bg);}
#hero-trip-finder .btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(11,58,110,.18);border-color:var(--kf0f50a-primary);}
#hero-trip-finder .full{width:100%;}

#hero-trip-finder .fineprint{margin-top:1rem;padding:0.85rem 0.95rem;border:1px dashed var(--kf0f50a-border);border-radius:var(--radius-sm);background:rgba(233,226,209,.28);}
#hero-trip-finder .fineprint-title{display:block;font-size:0.9rem;color:var(--kf0f50a-ink);margin-bottom:0.15rem;}
#hero-trip-finder .fineprint-text{display:block;color:var(--kf0f50a-slate);font-size:0.92rem;line-height:1.45;}

#hero-trip-finder .timeline-card{margin-top:1.1rem;background:var(--kf0f50a-surface);border:1px solid var(--kf0f50a-border);border-radius:var(--radius-md);padding:clamp(1rem,2.2vw,1.3rem);}
#hero-trip-finder .timeline-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:0.8rem;}
#hero-trip-finder .timeline-title{margin:0;font-size:1.15rem;letter-spacing:-0.01em;color:var(--kf0f50a-ink);}
#hero-trip-finder .meta-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:0.35rem 0.65rem;background:rgba(31,122,90,.12);border:1px solid rgba(31,122,90,.28);color:var(--kf0f50a-secondary);font-weight:750;font-size:0.9rem;}
#hero-trip-finder .timeline-chips{display:flex;gap:0.6rem;flex-wrap:wrap;}
#hero-trip-finder .day-chip{min-width:10rem;flex:1 1 160px;background:var(--kf0f50a-bg);border:1px solid var(--kf0f50a-border);border-radius:var(--radius-sm);padding:0.65rem 0.7rem;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:0.2rem;transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease, background .15s ease;}
#hero-trip-finder .day-chip:hover{border-color:rgba(11,58,110,.35);}
#hero-trip-finder .day-chip[aria-current="true"]{border-color:rgba(11,58,110,.7);box-shadow:0 0 0 3px rgba(11,58,110,.15);background:#fff;}
#hero-trip-finder .day-chip:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(11,58,110,.18);border-color:var(--kf0f50a-primary);}
#hero-trip-finder .day-num{font-size:0.82rem;color:var(--kf0f50a-ink);font-weight:800;letter-spacing:0.01em;}
#hero-trip-finder .day-route{font-size:0.95rem;color:var(--kf0f50a-slate);line-height:1.25;}

#hero-trip-finder .route-context{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0.75rem;margin-top:1rem;padding-top:0.9rem;border-top:1px solid rgba(217,210,199,.8);}
#hero-trip-finder .context-row{padding:0.45rem 0.15rem;}
#hero-trip-finder .context-label{font-size:0.85rem;color:var(--kf0f50a-slate);margin-bottom:0.25rem;}
#hero-trip-finder .context-value{font-size:0.98rem;color:var(--kf0f50a-ink);font-weight:650;}

#hero-trip-finder .hero-photo{margin:1rem 0 0 0;}
#hero-trip-finder .hero-photo img{width:100%;height:auto;display:block;border-radius:var(--radius-md);border:1px solid var(--kf0f50a-border);background:#fff;}

#hero-trip-finder .sticky-summary{position:sticky;top:clamp(1rem,2.5vw,2rem);}
#hero-trip-finder .summary-card{background:var(--kf0f50a-surface);border:1px solid var(--kf0f50a-border);border-radius:var(--radius-md);padding:1rem 1rem 1.1rem 1rem;}
#hero-trip-finder .summary-top{display:flex;align-items:flex-start;justify-content:space-between;gap:0.75rem;}
#hero-trip-finder .summary-title{margin:0;font-size:1.25rem;color:var(--kf0f50a-ink);letter-spacing:-0.01em;}
#hero-trip-finder .trust-badge{background:rgba(31,122,90,.12);border:1px solid rgba(31,122,90,.28);color:var(--kf0f50a-secondary);border-radius:999px;padding:0.35rem 0.65rem;font-weight:800;font-size:0.9rem;white-space:nowrap;}

#hero-trip-finder .price-block{margin-top:0.9rem;padding:0.85rem 0.9rem;border-radius:var(--radius-sm);background:rgba(11,58,110,.06);border:1px solid rgba(11,58,110,.16);}
#hero-trip-finder .price-row{display:flex;align-items:baseline;gap:0.55rem;}
#hero-trip-finder .price-value{font-size:1.85rem;font-weight:900;color:var(--kf0f50a-primary);font-variant-numeric:tabular-nums;letter-spacing:-0.02em;}
#hero-trip-finder .price-unit{color:var(--kf0f50a-slate);font-weight:750;}
#hero-trip-finder .price-note{margin-top:0.25rem;color:var(--kf0f50a-slate);font-size:0.92rem;line-height:1.35;}

#hero-trip-finder .summary-attributes{margin-top:0.9rem;display:grid;grid-template-columns:1fr 1fr;gap:0.75rem 0.8rem;}
#hero-trip-finder .attr{padding:0.35rem 0.2rem;}
#hero-trip-finder .attr-label{font-size:0.85rem;color:var(--kf0f50a-slate);margin-bottom:0.25rem;font-weight:700;}
#hero-trip-finder .attr-value{font-size:0.98rem;color:var(--kf0f50a-ink);font-weight:800;}

#hero-trip-finder .included{margin-top:0.95rem;border-top:1px solid rgba(217,210,199,.8);padding-top:0.95rem;}
#hero-trip-finder .included-head{display:flex;align-items:baseline;justify-content:space-between;gap:0.75rem;margin-bottom:0.75rem;}
#hero-trip-finder .included-title{margin:0;font-size:1.05rem;color:var(--kf0f50a-ink);letter-spacing:-0.01em;}
#hero-trip-finder .included-sub{color:var(--kf0f50a-slate);font-size:0.9rem;font-weight:650;}
#hero-trip-finder .included-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0.75rem;}
#hero-trip-finder .included-col-title{font-weight:900;color:var(--kf0f50a-ink);font-size:0.92rem;margin-bottom:0.35rem;}
#hero-trip-finder .checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0.45rem;}
#hero-trip-finder .checklist li{position:relative;padding-left:1.15rem;color:var(--kf0f50a-slate);font-size:0.92rem;line-height:1.3;}
#hero-trip-finder .checklist li:before{content:"";position:absolute;left:0.1rem;top:0.35rem;width:0.7rem;height:0.7rem;border-radius:50%;background:rgba(31,122,90,.16);border:1px solid rgba(31,122,90,.45);}
#hero-trip-finder .from-meaning{margin:0.85rem 0 0 0;color:var(--kf0f50a-slate);font-size:0.9rem;line-height:1.45;}

#hero-trip-finder .summary-actions{margin-top:1rem;display:flex;flex-direction:column;gap:0.65rem;}
#hero-trip-finder .link{color:var(--kf0f50a-secondary);font-weight:800;text-decoration:underline;text-underline-offset:0.2em;}
#hero-trip-finder .link:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(31,122,90,.18);border-radius:6px;}

#hero-trip-finder .notice{margin-top:1rem;display:flex;gap:0.7rem;align-items:flex-start;padding:0.75rem 0.85rem;background:rgba(233,226,209,.35);border:1px solid rgba(217,210,199,.95);border-radius:var(--radius-sm);}
#hero-trip-finder .notice-dot{width:0.65rem;height:0.65rem;border-radius:50%;background:rgba(31,122,90,.75);margin-top:0.35rem;flex:0 0 auto;}
#hero-trip-finder .notice-text{color:var(--kf0f50a-slate);font-size:0.93rem;line-height:1.35;font-weight:650;}

#hero-trip-finder .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

@media (max-width: 1024px){
  #hero-trip-finder .hero-grid{grid-template-columns:1fr;}
  #hero-trip-finder .sticky-summary{position:relative;top:auto;}
  #hero-trip-finder .route-context{grid-template-columns:1fr;}
  #hero-trip-finder .included-grid{grid-template-columns:1fr;}
}
@media (max-width: 640px){
  #hero-trip-finder .field-grid{grid-template-columns:1fr;}
  #hero-trip-finder .traveler-budget{grid-template-columns:1fr;}
  #hero-trip-finder .day-chip{min-width:0;}
  #hero-trip-finder .summary-attributes{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion: reduce){
  #hero-trip-finder .day-chip{transition:none;}
}
#hero-trip-finder ::selection{background:rgba(31,122,90,.22);}

/* kf0f50a:featured-itineraries */
/* kf0f50a:featured-itineraries */
#featured-itineraries{background:var(--kf0f50a-bg);color:var(--kf0f50a-text);padding:clamp(2.5rem,6vw,5.5rem) 0;}
#featured-itineraries .section-shell{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#featured-itineraries .section-header{max-width:52rem;margin-bottom:clamp(1.5rem,3.5vw,3rem);}
#featured-itineraries .kicker{font:600 0.95rem/1.2 var(--font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);letter-spacing:0.01em;color:var(--kf0f50a-secondary);margin-bottom:0.75rem;}
#featured-itineraries .section-title{font-family:var(--font-serif,'Avenir Next', Avenir, 'Segoe UI', Century Gothic, sans-serif);font-weight:750;font-size:clamp(1.8rem,3.2vw,2.6rem);letter-spacing:-0.02em;line-height:1.1;margin:0 0 0.75rem 0;text-wrap:balance;}
#featured-itineraries .section-lead{margin:0;color:var(--kf0f50a-slate);font-size:1rem;max-width:54ch;}
#featured-itineraries .itineraries-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;}
@media (min-width: 1024px){
  #featured-itineraries .itineraries-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;align-items:stretch;}
}
#featured-itineraries .itinerary-card{background:var(--kf0f50a-surface);border:1px solid var(--kf0f50a-border);border-radius:var(--radius-lg,16px);padding:1.25rem;min-height:340px;display:flex;flex-direction:column;}
#featured-itineraries .card-top{margin-bottom:0.95rem;}
#featured-itineraries .card-title-row{display:flex;gap:0.9rem;align-items:flex-start;justify-content:space-between;}
#featured-itineraries .card-title{margin:0;font-size:1.2rem;line-height:1.2;font-weight:780;letter-spacing:-0.01em;}
#featured-itineraries .price-badge{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:0.15rem;padding:0.5rem 0.65rem;border-radius:var(--radius-md,12px);border:1px solid rgba(31,122,90,0.28);background:rgba(31,122,90,0.06);}
#featured-itineraries .price-number{font-variant-numeric:tabular-nums;font-weight:820;font-size:1.25rem;color:var(--kf0f50a-secondary);line-height:1;}
#featured-itineraries .price-suffix{font-size:0.85rem;color:var(--kf0f50a-slate);}
#featured-itineraries .trust-row{display:flex;gap:0.6rem;flex-wrap:wrap;margin-top:0.75rem;}
#featured-itineraries .trust-pill{font-size:0.85rem;color:var(--kf0f50a-ink);background:rgba(11,58,110,0.06);border:1px solid rgba(11,58,110,0.18);padding:0.35rem 0.55rem;border-radius:999px;}
#featured-itineraries .best-for-pill{font-size:0.85rem;color:var(--kf0f50a-secondary);background:rgba(31,122,90,0.06);border:1px solid rgba(31,122,90,0.20);padding:0.35rem 0.55rem;border-radius:999px;}
#featured-itineraries .attributes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:0.45rem;margin-bottom:0.9rem;}
@media (min-width: 768px){
  #featured-itineraries .attributes{grid-template-columns:repeat(2,1fr);}
}
#featured-itineraries .attr{border:1px solid rgba(217,210,199,0.9);background:rgba(246,243,238,0.55);border-radius:var(--radius-md,12px);padding:0.55rem 0.65rem;}
#featured-itineraries .attr-label{display:block;font-size:0.78rem;color:var(--kf0f50a-slate);margin-bottom:0.15rem;}
#featured-itineraries .attr-value{display:block;font-weight:740;letter-spacing:-0.01em;}
#featured-itineraries .inclusions-compare{display:grid;grid-template-columns:1fr;gap:0.6rem;margin:0.75rem 0 0.9rem 0;padding-top:0.25rem;}
@media (min-width: 768px){
  #featured-itineraries .inclusions-compare{grid-template-columns:repeat(3,1fr);gap:0.5rem;}
}
#featured-itineraries .inc-col{border:1px solid rgba(217,210,199,0.95);background:rgba(251,247,239,0.6);border-radius:var(--radius-md,12px);padding:0.55rem 0.65rem;}
#featured-itineraries .inc-title{font-weight:780;font-size:0.9rem;margin-bottom:0.25rem;}
#featured-itineraries .inc-item{font-size:0.88rem;color:var(--kf0f50a-slate);}
#featured-itineraries .fineprint{margin-top:auto;border-top:1px solid rgba(217,210,199,0.9);padding-top:0.8rem;color:var(--kf0f50a-slate);font-size:0.88rem;line-height:1.35;}
#featured-itineraries .fineprint strong{color:var(--kf0f50a-ink);font-weight:820;}
#featured-itineraries .card-actions{display:flex;gap:0.75rem;align-items:center;flex-wrap:wrap;margin-top:1rem;}
#featured-itineraries .primary-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0.75rem 1rem;border-radius:var(--radius-md,12px);border:1px solid rgba(11,58,110,0.25);background:var(--kf0f50a-primary);color:white;font-weight:800;letter-spacing:0.01em;cursor:pointer;text-decoration:none;}
#featured-itineraries .primary-button:focus-visible{outline:3px solid rgba(31,122,90,0.45);outline-offset:2px;}
#featured-itineraries .primary-button:hover{background:#0A3358;}
#featured-itineraries .secondary-link{color:var(--kf0f50a-primary);font-weight:780;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;}
#featured-itineraries .secondary-link:focus-visible{outline:3px solid rgba(31,122,90,0.45);outline-offset:3px;border-radius:6px;}
#featured-itineraries .accordion-panel{margin-top:1rem;border-top:1px dashed rgba(217,210,199,0.95);padding-top:1rem;}
#featured-itineraries .panel-inner{padding:0.25rem 0 0 0;}
#featured-itineraries .panel-header{display:flex;flex-direction:column;gap:0.35rem;margin-bottom:0.85rem;}
#featured-itineraries .panel-title{font-weight:900;color:var(--kf0f50a-ink);}
#featured-itineraries .panel-meta{color:var(--kf0f50a-slate);font-size:0.9rem;}
#featured-itineraries .panel-rows{display:grid;gap:0.65rem;margin-bottom:1rem;}
#featured-itineraries .panel-row{border:1px solid rgba(217,210,199,0.95);border-radius:var(--radius-md,12px);background:rgba(251,247,239,0.6);padding:0.75rem 0.75rem;}
#featured-itineraries .panel-row-label{font-size:0.82rem;color:var(--kf0f50a-slate);margin-bottom:0.25rem;}
#featured-itineraries .panel-row-value{font-weight:750;line-height:1.35;color:var(--kf0f50a-ink);}
#featured-itineraries .day-accordion{display:grid;gap:0.6rem;}
#featured-itineraries .day-item{border:1px solid rgba(217,210,199,0.95);border-radius:var(--radius-md,12px);background:rgba(246,243,238,0.55);}
#featured-itineraries .day-trigger{width:100%;background:transparent;border:none;padding:0.85rem 0.9rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:52px;}
#featured-itineraries .day-trigger:focus-visible{outline:3px solid rgba(31,122,90,0.45);outline-offset:2px;border-radius:var(--radius-md,12px);}
#featured-itineraries .day-left{display:flex;align-items:baseline;gap:0.6rem;}
#featured-itineraries .day-num{font-weight:950;color:var(--kf0f50a-primary);font-variant-numeric:tabular-nums;}
#featured-itineraries .day-city{font-weight:850;letter-spacing:-0.01em;}
#featured-itineraries .day-right{color:var(--kf0f50a-slate);font-weight:720;}
#featured-itineraries .day-panel{padding:0 0.9rem 0.95rem 0.9rem;}
#featured-itineraries .day-panel-inner{border-top:1px solid rgba(217,210,199,0.85);padding-top:0.85rem;}
#featured-itineraries .day-bullets{display:grid;grid-template-columns:1fr;gap:0.9rem;}
@media (min-width: 768px){
  #featured-itineraries .day-bullets{grid-template-columns:repeat(2,1fr);}
}
#featured-itineraries .day-subtitle{font-weight:900;margin-bottom:0.4rem;}
#featured-itineraries .checklist{margin:0;padding-left:1.05rem;color:var(--kf0f50a-slate);}
#featured-itineraries .checklist li{margin:0.35rem 0;line-height:1.35;}
#featured-itineraries .delta-note{margin-top:0.85rem;color:var(--kf0f50a-slate);font-size:0.88rem;}
#featured-itineraries .panel-faq-link{margin-top:0.75rem;}
#featured-itineraries .closing-cta{margin-top:clamp(2rem,4vw,3.5rem);}
#featured-itineraries .closing-card{border:1px solid rgba(217,210,199,0.95);background:rgba(246,243,238,0.7);border-radius:var(--radius-lg,16px);padding:1.3rem;display:flex;flex-direction:column;gap:1rem;}
@media (min-width: 768px){
  #featured-itineraries .closing-card{flex-direction:row;align-items:center;justify-content:space-between;}
}
#featured-itineraries .closing-title{margin:0 0 0.35rem 0;font-family:var(--font-serif,'Avenir Next', Avenir, 'Segoe UI', Century Gothic, sans-serif);font-size:1.4rem;letter-spacing:-0.015em;}
#featured-itineraries .closing-lead{margin:0;color:var(--kf0f50a-slate);max-width:55ch;}
#featured-itineraries .link-button{align-self:flex-start;}
@media (prefers-reduced-motion: reduce){
  #featured-itineraries *{scroll-behavior:auto;}
}
#featured-itineraries ::selection{background:rgba(31,122,90,0.25);}

/* kf0f50a:itinerary-drilldown-accordion */
/* kf0f50a:itinerary-drilldown-accordion */
#itinerary-drilldown-accordion{--r-md:var(--kf0f50a-radius-md,12px);--r-sm:8px;--pad:clamp(16px,3vw,28px);--container:72rem; background:var(--kf0f50a-bg); color:var(--kf0f50a-text); padding:clamp(28px,5vw,56px) 0;}
#itinerary-drilldown-accordion .container{max-width:var(--container); margin:0 auto; padding:0 clamp(16px,3.5vw,28px);}
#itinerary-drilldown-accordion .section-head{margin-bottom:clamp(18px,3vw,28px);}
#itinerary-drilldown-accordion .kicker{font:600 0.875rem/1.2 var(--font-sans,var(--kf0f50a-font-sans,'Avenir Next')); color:var(--kf0f50a-secondary); letter-spacing:0.02em;}
#itinerary-drilldown-accordion .section-title{margin:10px 0 0; font:700 clamp(1.5rem,2.6vw,2.3rem)/1.12 var(--font-serif,var(--kf0f50a-font-serif,'Avenir Next')); letter-spacing:-0.02em; text-wrap:balance;}
#itinerary-drilldown-accordion .section-subtitle{margin:12px 0 0; color:var(--kf0f50a-slate); max-width:62ch; font:400 1rem/1.6 var(--font-sans,var(--kf0f50a-font-sans,'Avenir Next'));}
#itinerary-drilldown-accordion .price-fineprint{margin-top:18px; border:1px solid var(--kf0f50a-border); background:var(--kf0f50a-surface); border-radius:var(--kf0f50a-radius-md,12px); padding:14px 16px;}
#itinerary-drilldown-accordion .fineprint-title{font-weight:700; color:var(--kf0f50a-ink); margin-bottom:6px;}
#itinerary-drilldown-accordion .fineprint-body{color:var(--kf0f50a-slate); font:400 0.95rem/1.6 var(--font-sans,var(--kf0f50a-font-sans,'Avenir Next'));}

#itinerary-drilldown-accordion .drilldown-grid{display:grid; grid-template-columns: 1fr; gap:clamp(16px,3vw,24px); align-items:start;}
@media (min-width: 1024px){
  #itinerary-drilldown-accordion .drilldown-grid{grid-template-columns: 360px 1fr;}
}

#itinerary-drilldown-accordion .day-chips{position:relative;}
#itinerary-drilldown-accordion .chips-label{font:700 0.875rem/1.2 var(--font-sans,var(--kf0f50a-font-sans,'Avenir Next')); color:var(--kf0f50a-ink); margin-bottom:10px;}
#itinerary-drilldown-accordion .chips{display:flex; flex-direction:column; gap:10px;}
#itinerary-drilldown-accordion .day-chip{width:100%; text-align:left; border-radius:var(--kf0f50a-radius-md,12px); border:1px solid var(--kf0f50a-border); background:var(--kf0f50a-surface); padding:12px 12px; cursor:pointer; min-height:56px; color:var(--kf0f50a-ink); display:grid; grid-template-columns: 1fr; gap:3px;}
#itinerary-drilldown-accordion .day-chip:focus-visible{outline:3px solid rgba(31,122,90,0.35); outline-offset:2px;}
#itinerary-drilldown-accordion .day-chip[aria-pressed="true"]{border-color:rgba(11,58,110,0.55); box-shadow:0 0 0 3px rgba(11,58,110,0.12);}
#itinerary-drilldown-accordion .chip-day{font:700 0.95rem/1.2 var(--font-sans,var(--kf0f50a-font-sans,'Avenir Next'));}
#itinerary-drilldown-accordion .chip-route{font:400 0.9rem/1.25 var(--font-sans,var(--kf0f50a-font-sans,'Avenir Next')); color:var(--kf0f50a-slate);}

#itinerary-drilldown-accordion .include-comparison{margin-top:18px; border:1px solid var(--kf0f50a-border); background:var(--kf0f50a-surface); border-radius:var(--kf0f50a-radius-md,12px); padding:14px 14px 12px;}
#itinerary-drilldown-accordion .include-title{font:700 0.95rem/1.25 var(--font-sans,var(--kf0f50a-font-sans,'Avenir Next')); color:var(--kf0f50a-ink); margin-bottom:12px;}
#itinerary-drilldown-accordion .include-grid{display:grid; grid-template-columns: 1fr; gap:12px;}
@media (min-width: 768px){
  #itinerary-drilldown-accordion .include-grid{grid-template-columns: 1fr;}
}
#itinerary-drilldown-accordion .include-col{padding:10px 10px; border-radius:var(--kf0f50a-radius-sm,8px); border:1px solid rgba(217,210,199,0.8);}
#itinerary-drilldown-accordion .include-head{font-weight:700; color:var(--kf0f50a-primary); margin-bottom:8px; font-size:0.95rem;}
#itinerary-drilldown-accordion .include-list{margin:0; padding-left:18px; color:var(--kf0f50a-slate); font:400 0.9rem/1.65 var(--font-sans,var(--kf0f50a-font-sans,'Avenir Next'));}

#itinerary-drilldown-accordion .accordion-wrap{border-radius:var(--kf0f50a-radius-md,12px);}
#itinerary-drilldown-accordion .accordion{border:1px solid var(--kf0f50a-border); background:var(--kf0f50a-surface); border-radius:var(--kf0f50a-radius-md,12px); overflow:hidden;}
#itinerary-drilldown-accordion .acc-item + .acc-item{border-top:1px solid var(--kf0f50a-border);}
#itinerary-drilldown-accordion .acc-trigger{padding:14px 16px; cursor:pointer; background:var(--kf0f50a-surface);}
#itinerary-drilldown-accordion .acc-trigger[aria-expanded="true"]{background:rgba(11,58,110,0.04);}
#itinerary-drilldown-accordion .acc-trigger:focus-visible{outline:3px solid rgba(11,58,110,0.35); outline-offset:-2px;}

#itinerary-drilldown-accordion .acc-top{display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:10px;}
#itinerary-drilldown-accordion .acc-title{display:flex; flex-direction:column; gap:4px;}
#itinerary-drilldown-accordion .acc-day{font:800 0.95rem/1.1 var(--font-sans,var(--kf0f50a-font-sans,'Avenir Next')); color:var(--kf0f50a-secondary);}
#itinerary-drilldown-accordion .acc-city{font:700 1.05rem/1.25 var(--font-serif,var(--kf0f50a-font-serif,'Avenir Next')); color:var(--kf0f50a-ink'); letter-spacing:-0.01em;}
#itinerary-drilldown-accordion .acc-from{white-space:nowrap; display:flex; align-items:baseline; gap:6px; padding-top:2px;}
#itinerary-drilldown-accordion .from-value{font-variant-numeric: tabular-nums; font-weight:900; font-size:1.35rem; color:var(--kf0f50a-primary); letter-spacing:-0.02em;}
#itinerary-drilldown-accordion .from-per{font:700 0.9rem/1.2 var(--font-sans,var(--kf0f50a-font-sans,'Avenir Next')); color:var(--kf0f50a-slate);}

#itinerary-drilldown-accordion .acc-attrs{display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:10px 12px;}
@media (min-width: 768px){
  #itinerary-drilldown-accordion .acc-attrs{grid-template-columns: repeat(5, minmax(0,1fr));}
}
#itinerary-drilldown-accordion .attr{border:1px solid rgba(217,210,199,0.9); border-radius:var(--kf0f50a-radius-sm,8px); padding:8px 10px; background:rgba(246,243,238,0.75);}
#itinerary-drilldown-accordion .attr-label{display:block; font:700 0.72rem/1.1 var(--font-sans,var(--kf0f50a-font-sans,'Avenir Next')); color:var(--kf0f50a-slate); letter-spacing:0.02em; margin-bottom:4px;}
#itinerary-drilldown-accordion .attr-value{display:block; font:800 0.92rem/1.15 var(--font-sans,var(--kf0f50a-font-sans,'Avenir Next')); color:var(--kf0f50a-ink); font-variant-numeric: tabular-nums;}

#itinerary-drilldown-accordion .acc-panel{padding:0 16px 16px;}
#itinerary-drilldown-accordion .acc-panel[data-kf0f50a-ui="accordion-panel"][hidden]{display:none;}
@media (prefers-reduced-motion: no-preference){
  #itinerary-drilldown-accordion .acc-panel{animation:none;}
}

#itinerary-drilldown-accordion .panel-grid{display:grid; grid-template-columns: 1fr; gap:14px; padding-top:10px;}
@media (min-width: 768px){
  #itinerary-drilldown-accordion .panel-grid{grid-template-columns: 1fr 1fr;}
  #itinerary-drilldown-accordion .panel-section:nth-child(3){grid-column:1 / -1;}
}
#itinerary-drilldown-accordion .panel-section{border:1px solid rgba(217,210,199,0.9); border-radius:var(--kf0f50a-radius-md,12px); padding:12px 12px; background:rgba(251,247,239,0.6);}
#itinerary-drilldown-accordion .panel-subtitle{font:800 0.95rem/1.2 var(--font-sans,var(--kf0f50a-font-sans,'Avenir Next')); color:var(--kf0f50a-primary); margin-bottom:8px;}
#itinerary-drilldown-accordion .panel-list{margin:0; padding-left:18px; color:var(--kf0f50a-slate); font:400 0.95rem/1.7 var(--font-sans,var(--kf0f50a-font-sans,'Avenir Next'));}
#itinerary-drilldown-accordion .panel-list strong{color:var(--kf0f50a-ink); font-weight:800;}

#itinerary-drilldown-accordion .check-grid{display:grid; grid-template-columns: 1fr; gap:12px;}
@media (min-width: 768px){
  #itinerary-drilldown-accordion .check-grid{grid-template-columns: repeat(3, minmax(0,1fr));}
}
#itinerary-drilldown-accordion .check-col{border:1px solid rgba(217,210,199,0.9); border-radius:var(--kf0f50a-radius-sm,8px); padding:10px 10px; background:var(--kf0f50a-surface);}
#itinerary-drilldown-accordion .check-head{font:800 0.9rem/1.2 var(--font-sans,var(--kf0f50a-font-sans,'Avenir Next')); color:var(--kf0f50a-secondary); margin-bottom:8px;}
#itinerary-drilldown-accordion .check-list{margin:0; padding-left:18px; font:400 0.9rem/1.75 var(--font-sans,var(--kf0f50a-font-sans,'Avenir Next')); color:var(--kf0f50a-slate);}
#itinerary-drilldown-accordion .check-on::marker{color:var(--kf0f50a-accent);}
#itinerary-drilldown-accordion .check-off::marker{color:var(--kf0f50a-slate); opacity:0.9;}

#itinerary-drilldown-accordion .delta-note{margin-top:12px; color:var(--kf0f50a-slate); font:400 0.95rem/1.6 var(--font-sans,var(--kf0f50a-font-sans,'Avenir Next'));}

#itinerary-drilldown-accordion .accordion-footer{padding:16px 2px 0;}
#itinerary-drilldown-accordion .accordion-foottext{color:var(--kf0f50a-ink); font:700 1rem/1.4 var(--font-sans,var(--kf0f50a-font-sans,'Avenir Next')); margin-bottom:10px;}
#itinerary-drilldown-accordion .link-cta{display:inline-block; border-radius:var(--kf0f50a-radius-md,12px); background:var(--kf0f50a-primary); color:#fff; text-decoration:none; font:800 0.98rem/1.2 var(--font-sans,var(--kf0f50a-font-sans,'Avenir Next')); padding:12px 14px; border:1px solid rgba(255,255,255,0.15);}
#itinerary-drilldown-accordion .link-cta:focus-visible{outline:3px solid rgba(11,58,110,0.35); outline-offset:3px;}
#itinerary-drilldown-accordion .secondary-note{margin-top:10px; color:var(--kf0f50a-slate); font:400 0.92rem/1.55 var(--font-sans,var(--kf0f50a-font-sans,'Avenir Next'));}

#itinerary-drilldown-accordion .sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}

#itinerary-drilldown-accordion ::selection{background:rgba(31,122,90,0.25);}

/* kf0f50a:contacts */
/* kf0f50a:contacts */
#contacts{
  background: var(--kf0f50a-bg);
  color: var(--kf0f50a-text);
  padding: clamp(2.5rem, 6vw, 5rem) 0;
}
#contacts .contacts-wrap{padding: 0 var(--contacts-gutter, clamp(1rem, 4vw, 3rem));}
#contacts .contacts-shell{max-width: 72rem; margin: 0 auto;}
#contacts .contacts-header{margin-bottom: clamp(1.5rem, 3.2vw, 2.5rem);}
#contacts .contacts-title{margin:0; font: 700 clamp(1.6rem, 2.6vw, 2.3rem)/1.15 var(--font-sans, "Avenir Next", Avenir, "Segoe UI", system-ui, sans-serif); letter-spacing:-0.02em; text-wrap:balance;}
#contacts .contacts-subtitle{margin: .75rem 0 0; max-width: 60ch; color: color-mix(in srgb, var(--kf0f50a-ink) 86%, var(--kf0f50a-slate)); font-size: 1rem; line-height: 1.6;}
#contacts .contacts-grid{display:grid; grid-template-columns: 1.2fr .8fr; gap: clamp(1rem, 2.4vw, 1.8rem); align-items:start;}
#contacts .contacts-card{background: var(--kf0f50a-surface); border: 1px solid var(--kf0f50a-border); border-radius: var(--radius, 12px); padding: clamp(1rem, 2vw, 1.5rem); box-shadow: 0 10px 28px color-mix(in srgb, var(--kf0f50a-primary) 12%, transparent);}
#contacts .contacts-form{display:block;}
#contacts .field{margin: .95rem 0;}
#contacts .label{display:block; font-weight: 650; font-size: .95rem; margin: 0 0 .45rem; color: var(--kf0f50a-ink);}
#contacts input, #contacts select{width:100%; box-sizing:border-box; border-radius: var(--radius, 12px); border: 1px solid color-mix(in srgb, var(--kf0f50a-border) 85%, var(--kf0f50a-ink) 10%); background: #fff; color: var(--kf0f50a-ink); padding: .78rem .9rem; font-size: 1rem; outline: none;}
#contacts select{appearance: none; background-image: linear-gradient(45deg, transparent 50%, color-mix(in srgb, var(--kf0f50a-ink) 60%, transparent) 50%), linear-gradient(135deg, color-mix(in srgb, var(--kf0f50a-ink) 60%, transparent) 50%, transparent 50%); background-position: calc(100% - 18px) calc(50% - 3px), calc(100% - 12px) calc(50% - 3px); background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; padding-right: 2.4rem;}
#contacts input::placeholder{color: color-mix(in srgb, var(--kf0f50a-slate) 75%, transparent);}
#contacts input:focus-visible, #contacts select:focus-visible{border-color: var(--kf0f50a-primary); box-shadow: 0 0 0 4px color-mix(in srgb, var(--kf0f50a-primary) 18%, transparent);}
#contacts .split{display:grid; grid-template-columns: 1fr 1fr; gap: .75rem;}
#contacts .fineprint{margin: 1.1rem 0 1.2rem; padding: .95rem 1rem; border-radius: var(--radius, 12px); border: 1px dashed color-mix(in srgb, var(--kf0f50a-accent) 35%, var(--kf0f50a-border)); background: color-mix(in srgb, var(--kf0f50a-accent) 8%, var(--kf0f50a-surface)); color: color-mix(in srgb, var(--kf0f50a-ink) 90%, var(--kf0f50a-slate)); font-size: .95rem; line-height: 1.5;}
#contacts .fineprint strong{font-weight: 800; color: var(--kf0f50a-ink);}
#contacts .btn-primary{display:inline-flex; align-items:center; justify-content:center; width:100%; min-height: 48px; padding: .95rem 1rem; border-radius: var(--radius, 12px); border: 1px solid color-mix(in srgb, var(--kf0f50a-primary) 70%, #0000); background: var(--kf0f50a-primary); color: #fff; font-weight: 750; font-size: 1rem; cursor:pointer; transition: background .15s ease, transform .05s ease, box-shadow .15s ease; box-shadow: 0 10px 22px color-mix(in srgb, var(--kf0f50a-primary) 22%, transparent);}
#contacts .btn-primary:hover{background: color-mix(in srgb, var(--kf0f50a-primary) 92%, #000 8%);}
#contacts .btn-primary:active{transform: translateY(1px);}
#contacts .btn-primary:disabled{opacity:.65; cursor:not-allowed; box-shadow:none;}
#contacts .btn-primary:focus-visible{outline: none; box-shadow: 0 0 0 4px color-mix(in srgb, var(--kf0f50a-primary) 22%, transparent), 0 10px 22px color-mix(in srgb, var(--kf0f50a-primary) 22%, transparent);}
#contacts .form-foot{margin: .9rem 0 0; color: color-mix(in srgb, var(--kf0f50a-slate) 80%, var(--kf0f50a-ink)); font-size: .9rem; line-height: 1.55;}
#contacts .link{color: var(--kf0f50a-primary); text-decoration: underline; text-underline-offset: 3px;}
#contacts .link:focus-visible{outline: 3px solid color-mix(in srgb, var(--kf0f50a-primary) 25%, transparent); outline-offset: 3px; border-radius: 6px;}
#contacts .contacts-aside{position:relative;}
#contacts .aside-card{background: var(--kf0f50a-surface); border: 1px solid var(--kf0f50a-border); border-radius: var(--radius, 12px); padding: 1.05rem 1.05rem; margin-bottom: 1rem; box-shadow: 0 8px 20px color-mix(in srgb, var(--kf0f50a-primary) 10%, transparent);}
#contacts .aside-title{margin:0; font: 800 1.05rem/1.25 var(--font-sans, "Avenir Next", Avenir, "Segoe UI", system-ui, sans-serif); letter-spacing:-0.01em;}
#contacts .aside-text{margin: .65rem 0 0; color: color-mix(in srgb, var(--kf0f50a-ink) 86%, var(--kf0f50a-slate)); line-height: 1.6; font-size: .98rem;}
#contacts .checklist{list-style:none; margin: .65rem 0 0; padding:0; display:flex; flex-direction:column; gap: .7rem;}
#contacts .check-item{display:flex; gap: .65rem; align-items:flex-start;}
#contacts .dot{width: 12px; height: 12px; border-radius: 999px; background: var(--kf0f50a-secondary); margin-top: .35rem; box-shadow: 0 0 0 3px color-mix(in srgb, var(--kf0f50a-secondary) 18%, transparent); flex: 0 0 auto;}
#contacts .check-text{color: color-mix(in srgb, var(--kf0f50a-ink) 86%, var(--kf0f50a-slate)); line-height: 1.5; font-size: .95rem;}
#contacts .aside-cta{display:flex; flex-direction:column; gap: .75rem; margin-top: 1.1rem;}
#contacts .btn-ghost{display:inline-flex; align-items:center; justify-content:center; min-height: 48px; padding: .85rem 1rem; border-radius: var(--radius, 12px); border: 2px solid color-mix(in srgb, var(--kf0f50a-primary) 70%, var(--kf0f50a-border)); background: transparent; color: var(--kf0f50a-primary); font-weight: 800; text-decoration:none;}
#contacts .btn-ghost:hover{background: color-mix(in srgb, var(--kf0f50a-primary) 10%, transparent);}
#contacts .btn-ghost:focus-visible{outline:none; box-shadow: 0 0 0 4px color-mix(in srgb, var(--kf0f50a-primary) 22%, transparent);}
#contacts .btn-link{color: var(--kf0f50a-primary); font-weight: 750; text-decoration: underline; text-underline-offset: 4px;}
#contacts .btn-link:focus-visible{outline: 3px solid color-mix(in srgb, var(--kf0f50a-primary) 22%, transparent); outline-offset: 3px; border-radius: 8px;}
#contacts ::selection{background: color-mix(in srgb, var(--kf0f50a-primary) 30%, #fff); color: var(--kf0f50a-ink);}
@media (max-width: 900px){
  #contacts .contacts-grid{grid-template-columns: 1fr;}
}
@media (prefers-reduced-motion: reduce){
  #contacts *{scroll-behavior:auto; transition:none !important; animation:none !important;}
}

/* kf0f50a:pricing-overview */
/* kf0f50a:pricing-overview */
#pricing-overview,
#from-means{--sec-pad:clamp(1.25rem,3vw,2.25rem);--max:72rem;}
#pricing-overview .section-inner,
#from-means .section-inner{max-width:var(--max);margin:0 auto;padding:var(--sec-pad);}
#pricing-overview .section-header{margin-bottom:1.75rem;}
#pricing-overview .kicker{font:700 0.95rem/1.2 var(--kf0f50a-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);letter-spacing:0.02em;color:var(--kf0f50a-secondary);text-transform:none;margin:0 0 0.75rem 0;}
#pricing-overview .lede{margin:0;max-width:58ch;font:400 1rem/1.6 var(--kf0f50a-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);color:var(--kf0f50a-text);}
#pricing-overview .two-col{display:grid;grid-template-columns:1fr;gap:1.25rem;align-items:start;}
#pricing-overview .left-col{display:flex;flex-direction:column;gap:1rem;}
#pricing-overview .right-col{display:block;}
#pricing-overview .plan-block{background:var(--kf0f50a-surface);border:1px solid var(--kf0f50a-border);border-radius:var(--radius-md);padding:1.05rem 1.05rem 1rem 1.05rem;}
#pricing-overview .plan-block--alt{background:rgba(31,122,90,0.06);border-color:rgba(31,122,90,0.25);}
#pricing-overview .plan-title{margin:0 0 0.75rem 0;font:800 1.15rem/1.25 var(--kf0f50a-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);color:var(--kf0f50a-ink);letter-spacing:-0.01em;}
#pricing-overview .scope-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.55rem;}
#pricing-overview .scope-item{display:flex;gap:0.6rem;align-items:flex-start;}
#pricing-overview .scope-marker{flex:0 0 auto;width:1.5rem;height:1.5rem;border-radius:999px;display:flex;align-items:center;justify-content:center;background:rgba(11,58,110,0.08);color:var(--kf0f50a-primary);border:1px solid rgba(11,58,110,0.18);font:700 0.85rem/1 var(--kf0f50a-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);}
#pricing-overview .plan-block--alt .scope-marker{background:rgba(31,122,90,0.10);border-color:rgba(31,122,90,0.25);color:var(--kf0f50a-accent);}
#pricing-overview .scope-text{color:var(--kf0f50a-text);font:500 0.98rem/1.5 var(--kf0f50a-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);}
#pricing-overview .price-guidance{margin-top:0.9rem;padding:0.85rem 0.9rem;border-radius:var(--radius-sm);background:rgba(15,23,42,0.04);border:1px solid rgba(15,23,42,0.12);}
#pricing-overview .price-guidance-top{font:800 0.9rem/1.2 var(--kf0f50a-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);color:var(--kf0f50a-primary);margin-bottom:0.35rem;}
#pricing-overview .price-guidance-body{color:var(--kf0f50a-text);font:400 0.95rem/1.55 var(--kf0f50a-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);}
#pricing-overview .sticky-card{position:relative;border-radius:var(--radius-md);border:1px solid var(--kf0f50a-border);background:var(--kf0f50a-bg);padding:1.1rem;}
#pricing-overview .aside-title{margin:0 0 0.85rem 0;font:900 1.1rem/1.25 var(--kf0f50a-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);letter-spacing:-0.01em;color:var(--kf0f50a-ink);}
#pricing-overview .compare-table{display:block;border-top:1px solid rgba(15,23,42,0.10);}
#pricing-overview .compare-row{display:grid;grid-template-columns:1.2fr 0.9fr 0.9fr;gap:0.5rem;padding:0.65rem 0;border-bottom:1px solid rgba(15,23,42,0.10);}
#pricing-overview .compare-head{border-bottom:1px solid rgba(15,23,42,0.12);background:rgba(233,226,209,0.25);}
#pricing-overview .compare-cell{font:700 0.9rem/1.2 var(--kf0f50a-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);color:var(--kf0f50a-ink);}
#pricing-overview .compare-cell--center{justify-self:center;text-align:center;font-weight:700;}
#pricing-overview .compare-row:not(.compare-head) .compare-cell{font-weight:600;color:var(--kf0f50a-text);}
#pricing-overview .callout{margin-top:1rem;display:flex;flex-direction:column;gap:0.65rem;}
#pricing-overview .callout-text{margin:0;color:var(--kf0f50a-text);font:500 0.98rem/1.55 var(--kf0f50a-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);}
#pricing-overview .button{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;text-decoration:none;border-radius:var(--radius-md);padding:0.85rem 1rem;min-height:44px;font:800 0.98rem/1 var(--kf0f50a-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);letter-spacing:0.01em;}
#pricing-overview .button--primary{background:var(--kf0f50a-primary);color:var(--kf0f50a-surface);border:1px solid rgba(11,58,110,0.35);box-shadow:0 10px 26px rgba(11,58,110,0.18);}
#pricing-overview .button--primary:hover{background:#09406a;}
#pricing-overview .button--primary:focus-visible{outline:3px solid rgba(31,122,90,0.35);outline-offset:2px;}
#pricing-overview .button--ghost{background:transparent;color:var(--kf0f50a-primary);border:1px solid rgba(11,58,110,0.35);box-shadow:none;}
#pricing-overview .button--ghost:hover{background:rgba(11,58,110,0.06);}
#pricing-overview .button--ghost:focus-visible{outline:3px solid rgba(31,122,90,0.35);outline-offset:2px;}
#pricing-overview :focus-visible{scroll-margin-top:6rem;}
#from-means{border-top:1px solid rgba(15,23,42,0.08);background:rgba(246,243,238,0.6);}
#from-means .from-header{max-width:72ch;padding-bottom:0.9rem;}
#from-means .from-title{margin:0 0 0.6rem 0;font:900 1.35rem/1.25 var(--kf0f50a-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);color:var(--kf0f50a-ink);letter-spacing:-0.015em;text-wrap:balance;}
#from-means .from-body{margin:0;color:var(--kf0f50a-text);font:400 1rem/1.7 var(--kf0f50a-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);}
#from-means .fineprint{margin-top:0.6rem;padding:1rem;border-radius:var(--radius-md);background:var(--kf0f50a-surface);border:1px solid var(--kf0f50a-border);}
#from-means .fineprint-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:0.45rem;}
#from-means .fineprint-item{font:600 0.98rem/1.6 var(--kf0f50a-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);color:var(--kf0f50a-text);}
#from-means .fineprint-bullet{color:var(--kf0f50a-secondary);font-weight:900;margin-right:0.35rem;}
#pricing-overview ::selection,#from-means ::selection{background:rgba(31,122,90,0.22);}
@media (min-width: 768px){
  #pricing-overview .two-col{grid-template-columns:1.2fr 0.8fr;gap:1.5rem;}
  #pricing-overview .right-col{position:sticky;top:1.25rem;}
}
@media (prefers-reduced-motion: reduce){
  #pricing-overview .button{transition:none;}
}

/* kf0f50a:from-means */
/* kf0f50a:from-means */
#from-means{--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--padY:clamp(1.6rem,4vw,3.2rem);--container:72rem;--gutter:clamp(1rem,4vw,3rem);} 
#from-means{background:var(--kf0f50a-bg);color:var(--kf0f50a-text);padding:var(--padY) 0;}
#from-means .container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter);}
#from-means .section-head{max-width:58rem;margin-bottom:1.5rem;}
#from-means .section-title{font-family:var(--font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);font-size:clamp(1.6rem,2.8vw,2.2rem);line-height:1.1;letter-spacing:-0.02em;margin:0 0 0.5rem;font-weight:800;text-wrap:balance;}
#from-means .section-lead{margin:0;color:var(--kf0f50a-slate);font-size:1rem;line-height:1.6;}
#from-means .fineprint{background:var(--kf0f50a-surface);border:1px solid var(--kf0f50a-border);border-radius:var(--radius-lg);box-shadow:0 10px 30px rgba(11,58,110,.06);padding:1.25rem;}
#from-means .fineprint-grid{display:grid;grid-template-columns:1fr;gap:1rem;}
#from-means .fineprint-col{border:1px solid rgba(217,210,199,.75);border-radius:var(--radius-md);padding:1rem;background:rgba(246,243,238,.6);} 
#from-means .fineprint-col.fineprint-rail{border-color:rgba(31,122,90,.25);background:rgba(31,122,90,.06);} 
#from-means .fineprint-title{margin:0 0 .6rem;font-size:1rem;letter-spacing:-0.01em;font-weight:800;color:var(--kf0f50a-ink);}
#from-means .checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem;}
#from-means .check-item{position:relative;padding-left:1.35rem;line-height:1.45;color:var(--kf0f50a-text);}
#from-means .check-item::before{content:"";position:absolute;left:0;top:.2rem;width:.9rem;height:.9rem;border-radius:999px;background:rgba(31,122,90,.16);border:1px solid rgba(31,122,90,.35);}
#from-means .fineprint-text{margin:.2rem 0 0;line-height:1.55;color:var(--kf0f50a-slate);font-size:.95rem;}
#from-means .scope-list{list-style:none;margin:.7rem 0 0;padding:0;display:flex;flex-direction:column;gap:.55rem;}
#from-means .scope-row{display:flex;align-items:flex-start;gap:.65rem;}
#from-means .scope-bullet{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border-radius:999px;background:rgba(31,122,90,.14);border:1px solid rgba(31,122,90,.35);color:var(--kf0f50a-secondary);font-weight:900;line-height:1;}
#from-means .scope-main{color:var(--kf0f50a-ink);font-weight:650;line-height:1.45;}
#from-means .mini-links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.15rem;}
#from-means .link{display:inline-block;color:var(--kf0f50a-primary);text-decoration:none;border:1px solid rgba(11,58,110,.22);background:rgba(11,58,110,.04);padding:.65rem .85rem;border-radius:var(--radius-md);font-weight:700;line-height:1.1;}
#from-means .link:focus-visible{outline:3px solid rgba(31,122,90,.35);outline-offset:2px;}
#from-means .link:hover{border-color:rgba(11,58,110,.4);background:rgba(11,58,110,.06);} 

@media (min-width: 768px){
  #from-means .fineprint-grid{grid-template-columns:1fr 1fr 1.1fr;gap:1.1rem;}
  #from-means .fineprint-col{padding:1.15rem;}
}
@media (prefers-reduced-motion: reduce){
  #from-means *{scroll-behavior:auto;}
}
::selection{background:rgba(31,122,90,.25);}

/* kf0f50a:inclusions-comparison */
/* kf0f50a:inclusions-comparison */
#inclusions-comparison{background:var(--kf0f50a-bg);color:var(--kf0f50a-ink);padding:clamp(2.5rem,6vw,5rem) 0;}
#inclusions-comparison .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#inclusions-comparison .section-head{display:block;margin-bottom:1.5rem;}
#inclusions-comparison .section-title{margin:0 0 .5rem 0;font-family:var(--font-sans);font-weight:760;letter-spacing:-0.02em;font-size:clamp(1.5rem,3vw,2.2rem);text-wrap:balance;}
#inclusions-comparison .section-subtitle{margin:0;max-width:62ch;color:var(--kf0f50a-slate);font-size:1rem;line-height:1.6;}
#inclusions-comparison .fineprint{margin:1.5rem 0 2.25rem 0;border:1px solid var(--kf0f50a-border);background:var(--kf0f50a-surface);border-radius:var(--kf0f50a-radius-md,12px);padding:1rem 1.1rem;}
#inclusions-comparison .fineprint-title{font-weight:760;letter-spacing:-0.01em;margin:0 0 .25rem 0;}
#inclusions-comparison .fineprint-body{color:var(--kf0f50a-slate);line-height:1.6;}
#inclusions-comparison .compare{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;align-items:start;}
#inclusions-comparison .col{background:var(--kf0f50a-surface);border:1px solid var(--kf0f50a-border);border-radius:var(--kf0f50a-radius-md,12px);padding:1.25rem 1.1rem;}
#inclusions-comparison .col-title{margin:0 0 .9rem 0;font-size:1.1rem;font-weight:760;letter-spacing:-0.01em;}
#inclusions-comparison .checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem;}
#inclusions-comparison .checklist-item{position:relative;padding-left:1.2rem;line-height:1.5;color:var(--kf0f50a-text);}
#inclusions-comparison .checklist-item:before{content:"";position:absolute;left:0;top:.35rem;width:.7rem;height:.7rem;border-radius:50%;background:var(--kf0f50a-accent);box-shadow:0 0 0 3px rgba(31,122,90,.15);}
#inclusions-comparison .col-foot{margin-top:.95rem;padding-top:.75rem;border-top:1px solid rgba(217,210,199,.75);color:var(--kf0f50a-slate);font-size:.95rem;line-height:1.5;}
#inclusions-comparison .comparison-cta{margin-top:2rem;display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;padding:1.15rem 1.1rem;border:1px solid var(--kf0f50a-border);border-radius:var(--kf0f50a-radius-md,12px);background:rgba(246,243,238,.85);}
#inclusions-comparison .comparison-cta-text{margin:0;max-width:62ch;color:var(--kf0f50a-slate);line-height:1.6;}
#inclusions-comparison .button{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:44px;padding:.75rem 1.05rem;border-radius:var(--kf0f50a-radius-md,12px);background:var(--kf0f50a-primary);color:#fff;text-decoration:none;font-weight:760;border:1px solid var(--kf0f50a-primary);}
#inclusions-comparison .button:focus-visible{outline:3px solid rgba(11,58,110,.35);outline-offset:2px;}
#inclusions-comparison .button:hover{background:var(--kf0f50a-primary);border-color:var(--kf0f50a-primary);transform:translateY(-1px);}
#inclusions-comparison .button:active{transform:translateY(0);} 
::selection{background:rgba(31,122,90,.22);}
@media (max-width: 900px){
  #inclusions-comparison .compare{grid-template-columns:1fr;gap:1rem;}
  #inclusions-comparison .comparison-cta{flex-direction:column;}
}
@media (prefers-reduced-motion: reduce){
  #inclusions-comparison .button:hover{transform:none;}
}

/* kf0f50a:contact-cta */
/* kf0f50a:contact-cta */
#contact-cta{padding:clamp(2.5rem,6vw,5rem) 0;background:var(--kf0f50a-bg);color:var(--kf0f50a-ink);}
#contact-cta .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#contact-cta .cta-card{background:var(--kf0f50a-surface);border:1px solid var(--kf0f50a-border);border-radius:var(--kf0f50a-radius-md,12px);box-shadow:0 10px 24px rgba(11,58,110,.08);padding:clamp(1.25rem,3vw,2rem);display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(1rem,3vw,2rem);align-items:start;}
#contact-cta .cta-title{font-family:var(--font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);font-size:clamp(1.5rem,3vw,2.1rem);letter-spacing:-0.02em;margin:0 0 .5rem 0;line-height:1.15;text-wrap:balance;}
#contact-cta .cta-lead{margin:0 0 1rem 0;color:var(--kf0f50a-ink);font-size:1rem;line-height:1.6;max-width:46ch;}
#contact-cta .cta-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem;}
#contact-cta .cta-points li{display:flex;align-items:flex-start;gap:.6rem;color:var(--kf0f50a-text);font-size:.98rem;line-height:1.5;}
#contact-cta .cta-points li::before{content:"";width:.5rem;height:.5rem;border-radius:50%;margin-top:.55rem;background:var(--kf0f50a-secondary);flex:0 0 .5rem;}
#contact-cta .cta-actions{display:flex;flex-direction:column;gap:.75rem;justify-content:flex-start;}
#contact-cta .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.75rem 1rem;border-radius:var(--kf0f50a-radius-sm,8px);text-decoration:none;font-weight:700;font-size:1rem;letter-spacing:-0.01em;}
#contact-cta .btn-primary{background:var(--kf0f50a-primary);color:#fff;border:1px solid rgba(11,58,110,.2);}
#contact-cta .btn-primary:hover{background:#09406b;}
#contact-cta .btn-ghost{background:transparent;color:var(--kf0f50a-primary);border:1px solid var(--kf0f50a-primary);}
#contact-cta .btn-ghost:hover{background:rgba(11,58,110,.06);}
#contact-cta .btn:focus-visible{outline:3px solid rgba(31,122,90,.35);outline-offset:2px;}
#contact-cta .cta-fineprint{grid-column:1 / -1;margin-top:.25rem;padding-top:1rem;border-top:1px solid var(--kf0f50a-border);}
#contact-cta .fineprint-heading{font-weight:900;margin:0 0 .25rem 0;font-size:.95rem;}
#contact-cta .fineprint-text{margin:0;color:var(--kf0f50a-slate);font-size:.95rem;line-height:1.6;max-width:86ch;}
#contact-cta ::selection{background:rgba(31,122,90,.25);}
@media (max-width: 900px){
  #contact-cta .cta-card{grid-template-columns:1fr;}
  #contact-cta .cta-actions{flex-direction:row;flex-wrap:wrap;}
  #contact-cta .btn{flex:1 1 220px;}
}
@media (prefers-reduced-motion: reduce){
  #contact-cta .btn{transition:none;}
}

/* kf0f50a:faq-intro */
/* kf0f50a:faq-intro */
#faq-intro{background:var(--kf0f50a-bg);color:var(--kf0f50a-text);padding:clamp(2.5rem,6vw,4.5rem) 0;}
#faq-intro *{box-sizing:border-box;}
#faq-intro .faq-intro__container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);display:grid;grid-template-columns:1.25fr 0.75fr;gap:clamp(1.25rem,4vw,3rem);align-items:start;}
#faq-intro .faq-intro__title{font-family:var(--kf0f50a-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);font-weight:800;letter-spacing:-0.02em;line-height:1.1;margin:0 0 0.75rem 0;font-size:clamp(1.6rem,3.2vw,2.4rem);text-wrap:balance;}
#faq-intro .faq-intro__lead{margin:0 0 1.25rem 0;color:var(--kf0f50a-text);font-size:1rem;line-height:1.6;max-width:46ch;}
#faq-intro .faq-intro__note{border:1px solid var(--kf0f50a-border);background:var(--kf0f50a-surface);border-radius:var(--kf0f50a-radius-md, 12px);padding:1rem 1rem;}
#faq-intro .faq-intro__note-title{margin:0 0 0.5rem 0;font-weight:800;letter-spacing:-0.01em;}
#faq-intro .faq-intro__list{margin:0;padding-left:1.1rem;color:var(--kf0f50a-slate);}
#faq-intro .faq-intro__list li{margin:0.5rem 0;line-height:1.5;}
#faq-intro .faq-intro__actions{display:flex;flex-direction:column;gap:0.85rem;align-items:flex-start;justify-content:flex-start;padding-top:0.2rem;}
#faq-intro .faq-intro__link{color:var(--kf0f50a-primary);text-decoration:none;font-weight:800;border-bottom:1px solid rgba(11,58,110,0.25);}
#faq-intro .faq-intro__link:focus-visible{outline:3px solid rgba(31,122,90,0.35);outline-offset:3px;border-bottom-color:rgba(31,122,90,0.9);}
#faq-intro .faq-intro__button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 1.1rem;border-radius:var(--kf0f50a-radius-md, 12px);background:var(--kf0f50a-primary);color:#fff;text-decoration:none;font-weight:900;letter-spacing:0.01em;border:1px solid rgba(255,255,255,0.15);}
#faq-intro .faq-intro__button:hover{filter:brightness(1.03);}
#faq-intro .faq-intro__button:active{transform:translateY(1px);}
#faq-intro .faq-intro__button:focus-visible{outline:3px solid rgba(31,122,90,0.35);outline-offset:3px;}
#faq-intro .faq-intro__link, #faq-intro .faq-intro__button{transition:background-color 140ms ease, border-color 140ms ease, filter 140ms ease, transform 120ms ease;}
#faq-intro::selection{background:rgba(31,122,90,0.25);}
@media (max-width: 800px){
  #faq-intro .faq-intro__container{grid-template-columns:1fr;}
  #faq-intro .faq-intro__actions{padding-top:0;}
}
@media (prefers-reduced-motion: reduce){
  #faq-intro .faq-intro__link, #faq-intro .faq-intro__button{transition:none;}
}

/* kf0f50a:faq-accordion */
/* kf0f50a:faq-accordion */
#faq-accordion{background:var(--kf0f50a-bg);color:var(--kf0f50a-text);padding:clamp(2.5rem,5vw,4.25rem) 0;}
#faq-accordion .faq-rail__container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#faq-accordion .faq-rail__header{display:flex;flex-direction:column;gap:0.75rem;margin-bottom:1.75rem;}
#faq-accordion .faq-rail__title{font-family:var(--kf0f50a-sans);font-size:clamp(1.65rem,3.2vw,2.35rem);line-height:1.15;margin:0;letter-spacing:-0.02em;}
#faq-accordion .faq-rail__subtitle{margin:0;max-width:60ch;color:var(--kf0f50a-slate);font-size:1rem;line-height:1.6;}
#faq-accordion .faq-rail__accordion{display:flex;flex-direction:column;gap:0.75rem;}
#faq-accordion .faq-item{border:1px solid var(--kf0f50a-border);background:var(--kf0f50a-surface);border-radius:var(--kf0f50a-radius-md);overflow:hidden;}
#faq-accordion .faq-trigger{width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;background:transparent;border:0;cursor:pointer;color:var(--kf0f50a-ink);font-family:var(--kf0f50a-sans);}
#faq-accordion .faq-trigger__label{font-weight:650;font-size:1rem;line-height:1.35;}
#faq-accordion .faq-trigger__icon{flex:0 0 auto;width:2rem;height:2rem;border-radius:999px;border:1px solid var(--kf0f50a-border);display:flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1; color:var(--kf0f50a-primary);}
#faq-accordion .faq-trigger:focus-visible{outline:3px solid color-mix(in oklab, var(--kf0f50a-secondary) 35%, white 65%);outline-offset:2px;}
#faq-accordion .faq-panel{padding:0 1.1rem 1rem 1.1rem;}
#faq-accordion .faq-panel__text{margin:0;padding-top:0.25rem;color:var(--kf0f50a-ink);font-size:0.98rem;line-height:1.65;}
#faq-accordion .faq-panel__text--muted{color:color-mix(in oklab, var(--kf0f50a-slate) 85%, var(--kf0f50a-ink) 15%);margin-top:0.5rem;}
#faq-accordion .faq-list{margin:0;padding:0 0 0.25rem 1.15rem;color:var(--kf0f50a-ink);font-size:0.98rem;line-height:1.65;}
#faq-accordion .faq-list li{margin:0.35rem 0;}
#faq-accordion .fineprint{border-top:1px solid var(--kf0f50a-border);margin-top:0.1rem;padding-top:0.75rem;}
#faq-accordion .fineprint__title{margin:0 0 0.35rem 0;font-weight:750;letter-spacing:0.01em;font-size:0.95rem;}
#faq-accordion .fineprint__text{margin:0;color:var(--kf0f50a-ink);font-size:0.98rem;line-height:1.65;}
#faq-accordion .faq-rail__back{margin-top:1.3rem;display:flex;justify-content:flex-start;}
#faq-accordion .faq-back{display:inline-flex;align-items:center;gap:0.6rem;color:var(--kf0f50a-primary);text-decoration:underline;text-underline-offset:3px;font-weight:650;}
#faq-accordion .faq-back:focus-visible{outline:3px solid color-mix(in oklab, var(--kf0f50a-primary) 35%, white 65%);outline-offset:3px;border-radius:10px;}
@media (min-width: 768px){
  #faq-accordion .faq-rail__title{max-width:18ch;}
  #faq-accordion .faq-rail__back{justify-content:flex-end;}
}
@media (prefers-reduced-motion: reduce){
  #faq-accordion *{scroll-behavior:auto !important;}
}

/* kf0f50a:faq-back-to-contact */
/* kf0f50a:faq-back-to-contact */
#faq-back-to-contact{background:var(--kf0f50a-bg);color:var(--kf0f50a-text);padding:clamp(2.5rem,6vw,5.5rem) 0;}
#faq-back-to-contact .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#faq-back-to-contact .callout{background:var(--kf0f50a-surface);border:1px solid var(--kf0f50a-border);border-radius:var(--radius-lg,16px);padding:clamp(1.25rem,3.5vw,2rem);}
#faq-back-to-contact .title{font-family:var(--font-sans);font-size:clamp(1.6rem,3.2vw,2.25rem);line-height:1.12;margin:0 0 .5rem 0;letter-spacing:-0.02em;text-wrap:balance;}
#faq-back-to-contact .subtitle{margin:0 0 1.25rem 0;color:var(--kf0f50a-slate);font-size:1rem;line-height:1.6;max-width:52ch;}
#faq-back-to-contact .grid{display:grid;grid-template-columns:1fr;gap:1.25rem;align-items:start;}
#faq-back-to-contact .panel{background:var(--kf0f50a-bg);border:1px solid var(--kf0f50a-border);border-radius:var(--radius-lg,16px);padding:1.25rem;}
#faq-back-to-contact .panel-head{margin-bottom:1rem;}
#faq-back-to-contact .panel-title{margin:0 0 .35rem 0;font-family:var(--font-sans);font-size:1.25rem;letter-spacing:-0.01em;}
#faq-back-to-contact .panel-note{margin:0;color:var(--kf0f50a-slate);line-height:1.6;font-size:.95rem;}
#faq-back-to-contact .info{display:grid;gap:.9rem;}
#faq-back-to-contact .info-kicker{font-size:.875rem;color:var(--kf0f50a-secondary);font-weight:700;margin-bottom:.25rem;letter-spacing:.02em;text-transform:none;}
#faq-back-to-contact .info-text{margin:0;color:var(--kf0f50a-slate);line-height:1.6;}
#faq-back-to-contact .form{display:block;}
#faq-back-to-contact .field{margin:0 0 .85rem 0;}
#faq-back-to-contact .label{display:block;margin:0 0 .35rem 0;font-size:.875rem;font-weight:700;color:var(--kf0f50a-ink);}
#faq-back-to-contact .input,#faq-back-to-contact .select{width:100%;box-sizing:border-box;border-radius:var(--radius-md,12px);border:1px solid var(--kf0f50a-border);background:var(--kf0f50a-surface);color:var(--kf0f50a-ink);padding:.75rem .85rem;font-size:1rem;line-height:1.25;outline:none;}
#faq-back-to-contact .select{appearance:none;background-image:linear-gradient(transparent,transparent),linear-gradient(transparent,transparent);}
#faq-back-to-contact .input::placeholder{color:rgba(15,23,42,.55);}
#faq-back-to-contact .input:focus-visible,#faq-back-to-contact .select:focus-visible{border-color:var(--kf0f50a-primary);box-shadow:0 0 0 4px rgba(11,58,110,.18);}
#faq-back-to-contact .row{display:grid;grid-template-columns:1fr;gap:.85rem;}
#faq-back-to-contact .fineprint{margin:.95rem 0 1.1rem 0;padding:.85rem .9rem;border-radius:var(--radius-md,12px);border:1px solid rgba(31,122,90,.35);background:rgba(31,122,90,.07);color:var(--kf0f50a-ink);}
#faq-back-to-contact .fineprint-title{font-weight:800;}
#faq-back-to-contact .fineprint{font-size:.95rem;line-height:1.5;}
#faq-back-to-contact .actions{display:grid;grid-template-columns:1fr;gap:.75rem;}
#faq-back-to-contact .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.85rem 1rem;border-radius:var(--radius-md,12px);border:1px solid var(--kf0f50a-primary);background:var(--kf0f50a-primary);color:var(--kf0f50a-surface);font-weight:800;font-size:1rem;letter-spacing:.01em;cursor:pointer;}
#faq-back-to-contact .btn:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(11,58,110,.22);}
#faq-back-to-contact .btn:hover{background:#0a335a;}
#faq-back-to-contact .btn:active{background:#082a4a;}
#faq-back-to-contact .link{color:var(--kf0f50a-secondary);text-decoration:underline;text-underline-offset:3px;}
#faq-back-to-contact .link:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(31,122,90,.18);border-radius:6px;}
#faq-back-to-contact .contact-block{margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--kf0f50a-border);display:grid;gap:.75rem;}
#faq-back-to-contact .contact-item{display:grid;gap:.2rem;}
#faq-back-to-contact .contact-label{font-size:.875rem;color:var(--kf0f50a-slate);font-weight:700;}
#faq-back-to-contact .contact-link{color:var(--kf0f50a-ink);text-decoration:none;border-bottom:1px solid rgba(15,23,42,.25);padding-bottom:2px;}
#faq-back-to-contact .contact-link:hover{border-bottom-color:rgba(15,23,42,.6);}
#faq-back-to-contact .contact-link:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(11,58,110,.18);border-radius:8px;}
#faq-back-to-contact ::selection{background:rgba(31,122,90,.25);}
@media (min-width: 768px){
  #faq-back-to-contact .grid{grid-template-columns:1.05fr .95fr;}
  #faq-back-to-contact .row{grid-template-columns:1fr 1fr;}
  #faq-back-to-contact .actions{grid-template-columns:auto 1fr;align-items:center;}
}
@media (prefers-reduced-motion: reduce){
  #faq-back-to-contact *{scroll-behavior:auto;}
}

.page{background:var(--kf0f50a-bg);color:var(--kf0f50a-text);min-height:100%;}
.policy-wrapper{max-width:980px;margin:0 auto;padding:28px 18px;}
.policy-header{background:var(--kf0f50a-surface);border:1px solid var(--kf0f50a-border);border-radius:var(--radius-lg);padding:22px 20px;margin-bottom:16px;}
.policy-title{font-family:var(--kf0f50a-font);font-size:28px;line-height:1.2;margin:0 0 8px 0;color:var(--kf0f50a-primary);}
.policy-lead{margin:0;font-family:var(--kf0f50a-font);font-size:14.5px;line-height:1.6;color:var(--kf0f50a-ink);}
.policy-section{background:var(--kf0f50a-surface);border:1px solid var(--kf0f50a-border);border-radius:var(--radius-lg);padding:18px 18px;margin:14px 0;}
.policy-h2{margin:0 0 10px 0;font-family:var(--kf0f50a-font-display);font-size:18px;line-height:1.35;color:var(--kf0f50a-primary);}
.policy-p{margin:10px 0 0 0;font-family:var(--kf0f50a-font);font-size:14.5px;line-height:1.7;color:var(--kf0f50a-text);}
.policy-list{margin:10px 0 0 18px;padding:0;}
.policy-list li{margin:8px 0;font-family:var(--kf0f50a-font);font-size:14.5px;line-height:1.7;color:var(--kf0f50a-text);}
.policy-list-label{font-weight:700;color:var(--kf0f50a-ink);}
.policy-list-value{font-weight:400;color:var(--kf0f50a-text);}
.policy-link{color:var(--kf0f50a-secondary);text-decoration:underline;}
.policy-note{margin-top:10px;color:var(--kf0f50a-slate);font-size:13.8px;}
.policy-footer{margin-top:18px;padding:14px 14px;background:var(--kf0f50a-surface);border:1px solid var(--kf0f50a-border);border-radius:var(--radius-lg);}
.policy-footer-p{margin:0;font-family:var(--kf0f50a-font);font-size:13.5px;line-height:1.6;color:var(--kf0f50a-slate);}
@media (max-width:520px){.policy-title{font-size:24px;}.policy-wrapper{padding:20px 14px;}}

.policy-page{background:var(--kf0f50a-bg);color:var(--kf0f50a-text);font-family:var(--kf0f50a-font);min-height:100vh}
.policy-wrapper{max-width:980px;margin:0 auto;padding:24px}
.policy-title{font-family:var(--kf0f50a-font-display);font-size:32px;line-height:1.2;margin:10px 0 14px 0;color:var(--kf0f50a-primary)}
.policy-intro{margin:0 0 18px 0;line-height:1.6;color:var(--kf0f50a-ink)}
.policy-section{background:var(--kf0f50a-surface);border:1px solid var(--kf0f50a-border);border-radius:var(--kf0f50a-radius, 12px);padding:18px 18px 16px 18px;margin:14px 0}
.policy-section--small{padding:16px}
.policy-heading{font-size:18px;line-height:1.4;margin:0 0 10px 0;color:var(--kf0f50a-primary)}
.policy-paragraph{margin:0 0 12px 0;line-height:1.7}
.policy-list{margin:0;padding-left:18px;line-height:1.7}
.policy-list li{margin:6px 0}
.policy-note{margin:10px 0 0 0;color:var(--kf0f50a-slate);font-size:14px;line-height:1.6}
.policy-address{font-style:normal;line-height:1.65;margin:0;padding:10px 12px;border:1px solid var(--kf0f50a-border);border-radius:var(--kf0f50a-radius, 12px);background:var(--kf0f50a-bg)}
.policy-muted{color:var(--kf0f50a-slate)}
.policy-link{color:var(--kf0f50a-secondary);text-decoration:none;border-bottom:1px solid rgba(31,122,90,0.35)}
.policy-link:hover{border-bottom-color:rgba(31,122,90,0.75)}
.policy-footer{margin:18px 0 6px 0}
.policy-footer-inner{background:var(--kf0f50a-surface);border:1px solid var(--kf0f50a-border);border-radius:var(--kf0f50a-radius, 12px);padding:16px}
.policy-footer-brand{font-weight:700;color:var(--kf0f50a-primary);margin-bottom:6px}
.policy-footer-contact{color:var(--kf0f50a-slate);line-height:1.6}
.policy-sep{display:inline-block;margin:0 10px;color:var(--kf0f50a-border)}
@media (max-width:720px){.policy-wrapper{padding:16px}.policy-title{font-size:28px}.policy-section{padding:16px}}
/* Design-system driven CSS. No external libraries. */
:root{--kf0f50a-primary:#0B3A6E;--kf0f50a-secondary:#1F7A5A;--kf0f50a-accent:#1F7A5A;--kf0f50a-ink:#0F172A;--kf0f50a-slate:#4B5563;--kf0f50a-mist:#E9E2D1;--kf0f50a-border:#D9D2C7;--kf0f50a-surface:#F6F3EE;--kf0f50a-bg:#FBF7EF;--kf0f50a-text:#1A1A1A;--kf0f50a-font:"Avenir Next", Avenir, 'Segoe UI', system-ui, sans-serif;}
*{box-sizing:border-box;}
.policy-page{min-height:100vh;background:var(--kf0f50a-bg);color:var(--kf0f50a-text);font-family:var(--kf0f50a-font);padding:24px 16px;}
.policy-wrapper{max-width:920px;margin:0 auto;display:block;}
.policy-card{background:var(--kf0f50a-surface);border:1px solid var(--kf0f50a-border);border-radius:var(--radius-lg,16px);padding:24px;box-shadow:0 1px 0 rgba(15,23,42,0.04);}
.policy-badge{width:44px;height:44px;border-radius:999px;background:rgba(31,122,90,0.12);color:var(--kf0f50a-secondary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:22px;letter-spacing:-0.02em;margin-bottom:14px;}
.policy-title{margin:0 0 10px 0;font-size:34px;line-height:1.15;color:var(--kf0f50a-ink);letter-spacing:-0.02em;}
.policy-lead{margin:0 0 14px 0;color:var(--kf0f50a-slate);font-size:15.5px;line-height:1.55;}
.policy-divider{height:1px;background:var(--kf0f50a-border);margin:18px 0 18px 0;}
.policy-subtitle{margin:0 0 10px 0;font-size:18px;line-height:1.3;color:var(--kf0f50a-ink);}
.policy-text{margin:8px 0;font-size:14.5px;line-height:1.55;color:var(--kf0f50a-text);}
.policy-link{color:var(--kf0f50a-primary);text-decoration:underline;text-underline-offset:3px;}
.policy-link:hover{color:var(--kf0f50a-secondary);}
.policy-small-print{margin-top:16px;padding-top:10px;border-top:1px dashed rgba(217,210,199,0.9);}
.policy-legal{color:var(--kf0f50a-slate);font-size:12.75px;line-height:1.5;margin:10px 0;}
.policy-footer{margin-top:14px;padding:10px 6px 0 6px;}
.policy-footer-text{margin:0;color:var(--kf0f50a-slate);font-size:12.5px;}
@media (max-width:520px){
  .policy-card{padding:18px;}
  .policy-title{font-size:28px;}
}

section[data-kf0f50a-tns]:not([data-kf0f50a-tns='header']):not([data-kf0f50a-tns='footer']) { position: relative; }
section[data-kf0f50a-tns]:not([data-kf0f50a-tns='header']):not([data-kf0f50a-tns='footer']) { border-top: 1px solid var(--kf0f50a-border); }
section[data-kf0f50a-tns] h1, section[data-kf0f50a-tns] h2 { letter-spacing: -0.03em; }
section[data-kf0f50a-tns] [class*='rounded'] { border-radius: var(--kf0f50a-radius-sm, 0.25rem); }
:root {
  --kf0f50a-c-content-width: 72rem;
  --kf0f50a-c-gutter: clamp(1rem, 4vw, 3rem);
  --kf0f50a-c-measure: 65ch;
  --kf0f50a-c-heading-display: clamp(2.5rem, 6vw, 5.5rem);
}
[data-kf0f50a-dr] { scroll-margin-top: 1.5rem; }
main > section, main [data-kf0f50a-tns] { padding-inline: var(--kf0f50a-c-gutter); }
[data-kf0f50a-dr*='article'], [data-kf0f50a-dr*='review'] { max-width: var(--kf0f50a-c-measure); }
h1 { font-size: var(--kf0f50a-c-heading-display); }
@media (max-width: 768px) { [data-kf0f50a-dr] { min-width: 0; } }