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

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

/* sections */
/* p23149:header */
/* p23149:header */
#header.header-shell{position:sticky;top:0;z-index:50;background:var(--p23149-bg);border-bottom:1px solid rgba(246,243,238,.16)}
#header .header-inner{max-width:72rem;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1rem clamp(1rem,4vw,3rem)}
#header .brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--p23149-ink)}
#header .brand-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:var(--p23149-primary);color:var(--p23149-ink);font-size:12px;line-height:1}
#header .brand-name{font-family:var(--p23149-font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);font-weight:750;letter-spacing:-.01em;font-size:1.05rem}
#header .nav{display:flex;align-items:center}
#header .nav-list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}
#header .nav-link{display:inline-flex;align-items:center;justify-content:center;padding:.55rem .7rem;border-radius:var(--radius-sm,10px);color:var(--p23149-ink);text-decoration:none;border:1px solid transparent;font-size:.95rem}
#header .nav-link:focus-visible{outline:3px solid rgba(255,77,46,.55);outline-offset:2px}
#header .nav-link:hover{border-color:rgba(246,243,238,.18)}
#header .nav-link-cta{background:var(--p23149-primary);border-color:var(--p23149-primary);color:#111}
#header .nav-link-cta:hover{filter:brightness(1.02)}
#header .menu-toggle{display:none;align-items:center;gap:.6rem;border-radius:var(--radius-md,14px);border:1px solid rgba(246,243,238,.25);background:transparent;color:var(--p23149-ink);padding:.6rem .75rem;min-height:44px;cursor:pointer}
#header .menu-toggle:focus-visible{outline:3px solid rgba(255,77,46,.55);outline-offset:2px}
#header .menu-toggle-label{font-weight:700;font-size:.95rem}
#header .menu-toggle-icon{font-size:1.1rem;line-height:1}
@media (max-width:860px){
  #header .nav{display:none}
  #header .menu-toggle{display:inline-flex}
  #header .nav[aria-expanded="true"],#header .nav[data-open="true"]{display:block;position:absolute;left:0;right:0;top:100%;background:var(--p23149-bg);border-bottom:1px solid rgba(246,243,238,.16)}
  #header .nav-list{padding:1rem clamp(1rem,4vw,3rem);flex-direction:column;align-items:stretch;gap:.35rem}
  #header .nav-link{width:100%}
}
@media (prefers-reduced-motion:reduce){#header *{scroll-behavior:auto;transition:none!important;animation:none!important}}
#header ::selection{background:rgba(255,77,46,.35)}
/* p23149:footer */
#footer{background:var(--p23149-bg);color:var(--p23149-ink);padding:clamp(2.5rem,5vw,4.5rem) 0;position:relative;}
#footer:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--p23149-border);opacity:.65;}
#footer .footer-inner{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,1.5rem);}
#footer .footer-brand{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1.75rem;}
#footer .footer-logo{font-family:var(--font-family-sans,inherit);font-weight:800;letter-spacing:-0.03em;font-size:1.25rem;}
#footer .footer-note{margin:0;max-width:34rem;color:rgba(246,243,238,.92);font-size:0.98rem;line-height:1.6;}
#footer .footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:1.5rem;border-top:1px solid rgba(43,43,43,.7);padding-top:1.75rem;}
#footer .footer-col{padding:0.25rem 0;}
#footer .footer-h{margin:0 0 0.75rem;font-size:1rem;letter-spacing:0.01em;text-transform:none;color:rgba(246,243,238,.98);font-weight:800;}
#footer .footer-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0.55rem;}
#footer .footer-link{color:rgba(246,243,238,.93);text-decoration:none;border-bottom:1px solid transparent;line-height:1.4;display:inline-block;}
#footer .footer-link:hover{border-bottom-color:rgba(255,77,46,.85);}
#footer .footer-link:focus-visible{outline:3px solid rgba(255,77,46,.85);outline-offset:3px;border-bottom-color:rgba(255,77,46,.85);}
#footer .footer-address{color:rgba(246,243,238,.86);font-size:0.95rem;line-height:1.5;}
#footer .footer-small{margin:0 0 1rem;color:rgba(246,243,238,.9);line-height:1.55;font-size:0.98rem;max-width:30rem;}
#footer .footer-cta{display:flex;flex-direction:column;gap:0.75rem;}
#footer .footer-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 1rem;border-radius:var(--p23149-radius-md,14px);background:var(--p23149-primary);color:var(--p23149-ink);font-weight:800;text-decoration:none;border:1px solid var(--p23149-primary);}
#footer .footer-button:hover{filter:brightness(1.02);}
#footer .footer-button:focus-visible{outline:3px solid rgba(255,77,46,.85);outline-offset:3px;}
#footer .footer-button.ghost{background:transparent;border-color:rgba(246,243,238,.28);color:rgba(246,243,238,.96);}
#footer .footer-button.ghost:hover{border-color:rgba(255,77,46,.65);color:rgba(246,243,238,.98);}
#footer .footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid rgba(43,43,43,.7);}
#footer .footer-legal{display:flex;flex-wrap:wrap;gap:0.6rem;color:rgba(246,243,238,.84);font-size:0.9rem;line-height:1.5;}
#footer .footer-legal .dot{color:rgba(246,243,238,.35);}
#footer .footer-legal-links{display:flex;gap:1rem;align-items:center;}
#footer .year{font-variant-numeric:tabular-nums;}
#footer ::selection{background:rgba(255,77,46,.35);}
@media (max-width: 900px){
  #footer .footer-grid{grid-template-columns:1fr;}
  #footer .footer-brand{flex-direction:column;}
  #footer .footer-bottom{flex-direction:column;align-items:flex-start;}
}
@media (prefers-reduced-motion: reduce){
  #footer .footer-link{transition:none;}
}
/* p23149:footer */
/* p23149:planner-hero */
/* p23149:planner-hero */
#planner-hero{background:var(--p23149-bg);color:var(--p23149-ink);padding:clamp(2.5rem,6vw,5rem) 0 var(--section-bottom,clamp(2.5rem,6vw,5rem));}
#planner-hero .shell{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#planner-hero .hero-top{min-height:520px;}
#planner-hero .brand{display:flex;align-items:center;gap:0.75rem;margin-bottom:clamp(1.25rem,2.5vw,2rem);}
#planner-hero .brand-mark{width:34px;height:34px;border-radius:14px;background:var(--p23149-primary);display:flex;align-items:center;justify-content:center;color:var(--p23149-ink);font-weight:700;}
#planner-hero .brand-name{font-family:var(--font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);font-weight:700;letter-spacing:0.01em;}
#planner-hero .hero-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:clamp(1.25rem,3vw,2.5rem);align-items:start;}
#planner-hero .hero-copy{padding:0;}
#planner-hero .hero-title{font-family:var(--font-serif, 'Avenir Next', Avenir, 'Segoe UI', 'Century Gothic', sans-serif);font-size:clamp(2.1rem,4.2vw,4.2rem);line-height:1.02;letter-spacing:-0.02em;margin:0 0 0.85rem;text-wrap:balance;}
#planner-hero .hero-lead{margin:0 0 1.15rem;font-size:1rem;line-height:1.6;color:var(--p23149-ink);max-width:34rem;}
#planner-hero .chip-row{display:flex;flex-wrap:wrap;gap:0.6rem;margin:0 0 1rem;}
#planner-hero .chip{appearance:none;border:1px solid rgba(246,243,238,0.35);background:transparent;color:var(--p23149-ink);padding:0.65rem 0.85rem;border-radius:999px;font-size:0.95rem;cursor:pointer;min-height:44px;}
#planner-hero .chip[aria-pressed="true"]{border-color:var(--p23149-primary);background:rgba(255,77,46,0.14);color:var(--p23149-ink);}
#planner-hero .chip:focus-visible{outline:3px solid rgba(255,77,46,0.45);outline-offset:2px;}
#planner-hero .controls-row{display:flex;flex-direction:column;gap:0.9rem;margin-bottom:1.25rem;}
#planner-hero .segmented{display:flex;gap:0.35rem;background:rgba(246,243,238,0.06);border:1px solid rgba(246,243,238,0.18);padding:0.25rem;border-radius:var(--radius-md,14px);}
#planner-hero .segment{appearance:none;border:1px solid transparent;background:transparent;color:var(--p23149-ink);padding:0.65rem 0.9rem;border-radius:12px;cursor:pointer;font-size:0.95rem;min-height:44px;}
#planner-hero .segment[aria-selected="true"]{background:var(--p23149-primary);border-color:var(--p23149-primary);color:#1A1A1A;font-weight:700;}
#planner-hero .segment:focus-visible{outline:3px solid rgba(255,77,46,0.45);outline-offset:2px;}
#planner-hero .budget-hint{padding:0.95rem 1rem;border-radius:var(--radius-md,14px);border:1px solid rgba(246,243,238,0.16);background:rgba(244,237,228,0.05);}
#planner-hero .budget-label{font-size:0.8rem;letter-spacing:0.08em;text-transform:uppercase;color:rgba(246,243,238,0.82);margin-bottom:0.35rem;}
#planner-hero .budget-value{font-size:0.95rem;line-height:1.55;color:rgba(246,243,238,0.92);}
#planner-hero .cta-row{display:flex;gap:0.8rem;align-items:center;flex-wrap:wrap;margin:1.05rem 0 1.1rem;}
#planner-hero .btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:44px;padding:0.85rem 1.05rem;border-radius:var(--radius-md,14px);font-weight:700;letter-spacing:0.01em;}
#planner-hero .btn-primary{background:var(--p23149-primary);color:#1A1A1A;border:1px solid var(--p23149-primary);}
#planner-hero .btn-primary:hover{filter:saturate(1.05) brightness(1.02);}
#planner-hero .btn-ghost{background:transparent;border:1px solid rgba(246,243,238,0.4);color:var(--p23149-ink);}
#planner-hero .btn-ghost:hover{background:rgba(246,243,238,0.06);}
#planner-hero .btn:focus-visible{outline:3px solid rgba(255,77,46,0.45);outline-offset:2px;}
#planner-hero .trust-inline{padding:0.85rem 1rem;border-radius:var(--radius-md,14px);border:1px solid rgba(246,243,238,0.16);background:rgba(244,237,228,0.03);}
#planner-hero .trust-title{font-size:0.85rem;font-weight:800;margin-bottom:0.25rem;}
#planner-hero .trust-text{color:rgba(246,243,238,0.92);line-height:1.55;font-size:0.95rem;}
#planner-hero .hero-rail{display:flex;flex-direction:column;gap:1rem;}
#planner-hero .rail-card{border-radius:var(--radius-lg,18px);border:1px solid rgba(246,243,238,0.16);background:rgba(244,237,228,0.04);padding:1.05rem;}
#planner-hero .rail-header{display:flex;flex-direction:column;gap:0.25rem;margin-bottom:0.85rem;}
#planner-hero .rail-title{font-family:var(--font-serif, 'Avenir Next', Avenir, 'Segoe UI', 'Century Gothic', sans-serif);font-size:1.25rem;font-weight:800;}
#planner-hero .rail-sub{color:rgba(246,243,238,0.9);font-size:0.95rem;}
#planner-hero .timeline{display:flex;flex-direction:column;gap:0.85rem;}
#planner-hero .time-block{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:0.9rem 0.9rem;border-radius:14px;border:1px solid rgba(246,243,238,0.16);background:rgba(26,26,26,0.18);}
#planner-hero .step-node{display:flex;flex-direction:column;gap:0.35rem;min-width:6.5rem;}
#planner-hero .step-dot{width:12px;height:12px;border-radius:50%;background:rgba(246,243,238,0.18);box-shadow:0 0 0 3px rgba(246,243,238,0.07);}
#planner-hero .time-meta{flex:1;display:flex;flex-direction:column;gap:0.25rem;}
#planner-hero .step-label{font-size:0.85rem;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;color:rgba(246,243,238,0.88);}
#planner-hero .time-day{font-size:0.92rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--p23149-ink);}
#planner-hero .time-item{font-size:0.95rem;line-height:1.45;color:rgba(246,243,238,0.92);}
#planner-hero .rail-actions{margin-top:0.95rem;border-top:1px solid rgba(246,243,238,0.14);padding-top:0.8rem;}
#planner-hero .rail-note{font-size:0.9rem;color:rgba(246,243,238,0.86);}
#planner-hero .agenda-strip{border-radius:var(--radius-lg,18px);border:1px solid rgba(246,243,238,0.16);background:rgba(244,237,228,0.03);padding:1rem;}
#planner-hero .agenda-title{font-weight:900;margin-bottom:0.7rem;font-family:var(--font-serif, 'Avenir Next', Avenir, 'Segoe UI', 'Century Gothic', sans-serif);}
#planner-hero .agenda-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0.6rem;}
#planner-hero .agenda-item{display:flex;gap:0.75rem;align-items:flex-start;}
#planner-hero .agenda-time{min-width:64px;font-size:0.92rem;font-weight:900;font-variant-numeric:tabular-nums;color:var(--p23149-primary);padding-top:0.1rem;}
#planner-hero .agenda-text{font-size:0.95rem;line-height:1.35;color:rgba(246,243,238,0.92);}
#planner-hero .agenda-link{display:inline-block;margin-top:0.85rem;color:var(--p23149-ink);text-decoration:none;border-bottom:1px solid rgba(255,77,46,0.55);}
#planner-hero .agenda-link:hover{border-bottom-color:rgba(255,77,46,1);} 
#planner-hero .divider{height:1px;background:rgba(246,243,238,0.16);margin:clamp(1.6rem,3vw,2.2rem) 0;}
#planner-hero .evidence-grid{display:grid;grid-template-columns:0.95fr 1.05fr;gap:1.8rem;align-items:start;}
#planner-hero .evidence-label{font-size:0.85rem;letter-spacing:0.08em;text-transform:uppercase;color:rgba(246,243,238,0.82);font-weight:900;padding-top:0.2rem;}
#planner-hero .evidence-bullets{display:grid;grid-template-columns:1fr 1fr;gap:0.9rem;}
#planner-hero .evidence-bullet{display:flex;gap:0.7rem;align-items:flex-start;border:1px solid rgba(246,243,238,0.12);background:rgba(244,237,228,0.03);border-radius:14px;padding:0.85rem 0.9rem;}
#planner-hero .bullet-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,77,46,0.9);margin-top:0.35rem;flex:0 0 auto;}
#planner-hero .evidence-bullet{color:rgba(246,243,238,0.94);}
#planner-hero::selection{background:rgba(255,77,46,0.35);color:var(--p23149-ink);} 
#planner-hero .time-block[data-active="true"]{border-color:rgba(255,77,46,0.55);background:rgba(255,77,46,0.08);} 
#planner-hero .time-block[data-active="true"] .step-dot{background:var(--p23149-primary);box-shadow:0 0 0 3px rgba(255,77,46,0.18);} 
#planner-hero .time-block .time-item{transition:transform 180ms ease, opacity 180ms ease;}
#planner-hero .timeline-swap{opacity:0.65;transform:translateY(6px);} 
@media (max-width: 900px){
  #planner-hero .hero-grid{grid-template-columns:1fr;}
  #planner-hero .evidence-grid{grid-template-columns:1fr;}
  #planner-hero .evidence-bullets{grid-template-columns:1fr 1fr;}
}
@media (max-width: 640px){
  #planner-hero .hero-top{min-height:auto;}
  #planner-hero .evidence-bullets{grid-template-columns:1fr;}
  #planner-hero .cta-row{gap:0.6rem;}
  #planner-hero .segment{flex:1;}
  #planner-hero .segmented{width:100%;}
  #planner-hero .time-block{flex-direction:column;}
  #planner-hero .step-node{min-width:auto;flex-direction:row;align-items:center;gap:0.7rem;}
}
@media (prefers-reduced-motion: reduce){
  #planner-hero .time-item{transition:none;}
}

/* p23149:itinerary-timeline */
/* p23149:itinerary-timeline */
#itinerary-timeline{padding:clamp(2.5rem,6vw,5.5rem) 0;background:var(--p23149-bg);color:var(--p23149-ink);}
#itinerary-timeline ::selection{background:var(--p23149-accent);color:var(--p23149-ink);}
#itinerary-timeline{--radius-lg:var(--p23149-radius,18px);}
#itinerary-timeline .itit-container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#itinerary-timeline .itit-header{max-width:48rem;margin-bottom:clamp(1.5rem,3.5vw,2.5rem);}
#itinerary-timeline .itit-kicker{font:700 0.875rem/1.2 var(--p23149-sans,var(--font-family-sans, 'Avenir Next'));letter-spacing:0.08em;text-transform:uppercase;color:var(--p23149-secondary);margin-bottom:0.75rem;}
#itinerary-timeline .itit-title{font:700 clamp(1.6rem,3vw,2.3rem)/1.15 var(--p23149-serif,var(--font-family-serif,'Avenir Next'));letter-spacing:-0.02em;margin:0 0 0.9rem 0;text-wrap:balance;}
#itinerary-timeline .itit-lede{margin:0;color:var(--p23149-ink);opacity:0.92;max-width:52ch;font:400 1rem/1.6 var(--p23149-sans,var(--font-family-sans, 'Avenir Next'));}
#itinerary-timeline .itit-layout{display:grid;grid-template-columns:1fr 0.92fr;gap:clamp(1.25rem,3vw,2.5rem);align-items:start;}
#itinerary-timeline .itit-col{min-width:0;}
#itinerary-timeline .itit-day-panels{display:flex;flex-direction:column;gap:1rem;}
#itinerary-timeline .itit-day-panel{background:var(--p23149-surface);color:var(--p23149-text);border:1px solid rgba(43,43,43,0.35);border-radius:18px;overflow:hidden;}
#itinerary-timeline .itit-day-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid rgba(43,43,43,0.22);}
#itinerary-timeline .itit-day-badge{font:800 0.875rem/1 var(--p23149-sans,'Avenir Next');letter-spacing:0.12em;text-transform:uppercase;color:var(--p23149-mist);}
#itinerary-timeline .itit-day-meta{display:flex;flex-direction:column;align-items:flex-end;gap:0.25rem;}
#itinerary-timeline .itit-meta-label{font:700 0.75rem/1.1 var(--p23149-sans,'Avenir Next');color:rgba(43,43,43,0.75);}
#itinerary-timeline .itit-meta-value{font:700 1rem/1.1 var(--p23149-sans,'Avenir Next');color:var(--p23149-mist);}
#itinerary-timeline .itit-steps{list-style:none;margin:0;padding:0.85rem 0.9rem 1.1rem 0.9rem;display:flex;flex-direction:column;gap:0.85rem;}
#itinerary-timeline .itit-step{display:flex;gap:0.9rem;align-items:flex-start;padding:0.65rem 0.65rem;border-radius:14px;border:1px solid rgba(43,43,43,0.18);background:rgba(244,237,228,0.75);}
#itinerary-timeline .itit-step-node{width:12px;height:12px;border-radius:50%;margin-top:0.25rem;border:2px solid rgba(43,43,43,0.35);background:transparent;flex:0 0 auto;}
#itinerary-timeline .itit-step-body{min-width:0;}
#itinerary-timeline .itit-step-time{font:700 0.9rem/1.2 var(--p23149-mono,'ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas');color:rgba(43,43,43,0.85);letter-spacing:0.02em;display:inline-block;tab-size:4;}
#itinerary-timeline .itit-step-title{font:800 1.05rem/1.25 var(--p23149-serif,'Avenir Next');letter-spacing:-0.01em;margin-top:0.25rem;}
#itinerary-timeline .itit-step-desc{margin:0.25rem 0 0 0;color:rgba(27,27,27,0.82);font:400 0.95rem/1.55 var(--p23149-sans,'Avenir Next');}
#itinerary-timeline .itit-step.is-active{border-color:rgba(255,77,46,0.55);background:rgba(255,77,46,0.10);}
#itinerary-timeline .itit-step.is-active .itit-step-node{border-color:var(--p23149-accent);background:var(--p23149-accent);box-shadow:0 0 0 6px rgba(255,77,46,0.12);}
#itinerary-timeline .itit-proof{display:flex;flex-direction:column;gap:1rem;}
#itinerary-timeline .itit-proof-panel{background:rgba(244,237,228,0.92);border:1px solid rgba(43,43,43,0.35);border-radius:18px;padding:1.1rem 1.1rem 1.05rem 1.1rem;}
#itinerary-timeline .itit-proof-title{font:800 1.05rem/1.2 var(--p23149-serif,'Avenir Next');color:var(--p23149-text);margin-bottom:0.75rem;}
#itinerary-timeline .itit-marquee{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.7rem;}
#itinerary-timeline .itit-marquee-item{display:flex;gap:0.85rem;align-items:flex-start;padding:0.55rem 0.6rem;border-radius:14px;border:1px solid rgba(43,43,43,0.18);background:rgba(255,255,255,0.35);}
#itinerary-timeline .itit-marquee-time{font:800 0.9rem/1.2 var(--p23149-mono,'ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas');color:rgba(43,43,43,0.92);tab-size:4;}
#itinerary-timeline .itit-marquee-text{font:600 0.95rem/1.35 var(--p23149-sans,'Avenir Next');color:rgba(27,27,27,0.88);}
#itinerary-timeline .itit-link{display:inline-block;margin-top:0.85rem;color:var(--p23149-text);text-decoration:none;border-bottom:2px solid rgba(255,77,46,0.0);padding-bottom:0.2rem;}
#itinerary-timeline .itit-link:hover{border-bottom-color:var(--p23149-accent);}
#itinerary-timeline .itit-evidence-grid{background:var(--p23149-surface);border:1px solid rgba(43,43,43,0.35);border-radius:18px;padding:1.1rem;}
#itinerary-timeline .itit-evidence-head{font:800 1.05rem/1.2 var(--p23149-serif,'Avenir Next');color:var(--p23149-text);margin-bottom:0.85rem;}
#itinerary-timeline .itit-bullets{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;}
#itinerary-timeline .itit-bullet{display:flex;gap:0.7rem;align-items:flex-start;padding:0.7rem 0.75rem;border-radius:14px;border:1px solid rgba(43,43,43,0.18);background:rgba(255,255,255,0.35);}
#itinerary-timeline .itit-bullet-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,77,46,0.12);color:var(--p23149-accent);font-weight:900;flex:0 0 auto;}
#itinerary-timeline .itit-bullet-text{font:600 0.95rem/1.4 var(--p23149-sans,'Avenir Next');color:rgba(27,27,27,0.88);}
#itinerary-timeline a:focus-visible,#itinerary-timeline button:focus-visible,.itit-step:focus-visible{outline:3px solid rgba(255,77,46,0.6);outline-offset:3px;}
@media (max-width: 860px){
  #itinerary-timeline .itit-layout{grid-template-columns:1fr;}
  #itinerary-timeline .itit-bullets{grid-template-columns:1fr;}
  #itinerary-timeline .itit-proof{order:2;}
}
@media (prefers-reduced-motion: reduce){
  #itinerary-timeline *{scroll-behavior:auto;}
}

/* p23149:why-this-plan */
/* p23149:why-this-plan */
#w y p-shell{}
#why-this-plan{--pad:clamp(1.25rem,3vw,2.25rem);background:var(--p23149-secondary);color:var(--p23149-text);padding:var(--pad) 0;}
#w hy-this-plan .wyp-shell{}
#why-this-plan .wyp-shell{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,3.5vw,2.25rem);}
#why-this-plan .wyp-headrow{display:grid;grid-template-columns:260px 1fr;gap:2.25rem;align-items:start;margin-bottom:clamp(1.5rem,4vw,2.75rem);}
#why-this-plan .wyp-labelcol{padding-top:.25rem;}
#why-this-plan .wyp-kicker{font-family:var(--font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;color:var(--p23149-mist);}
#why-this-plan .wyp-title{font-family:var(--font-serif, 'Avenir Next', Avenir, 'Segoe UI', 'Century Gothic', sans-serif);font-size:clamp(1.55rem,3vw,2.35rem);line-height:1.12;letter-spacing:-0.02em;margin:.2rem 0 .9rem;text-wrap:balance;}
#why-this-plan .wyp-lead{margin:0;max-width:56ch;font-size:1rem;line-height:1.6;color:rgba(27,27,27,.9);}
#why-this-plan .wyp-split{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;align-items:start;}
#why-this-plan .wyp-panel{background:transparent;border:1px solid rgba(43,43,43,.18);border-radius:var(--p23149-radius-lg,18px);padding:clamp(1rem,2.4vw,1.5rem);}
#why-this-plan .wyp-panel--sand{background:rgba(246,243,238,.55);border-color:rgba(43,43,43,.22);}
#why-this-plan .wyp-subtitle{margin:0 0 .9rem;font-size:1.05rem;letter-spacing:-.01em;font-weight:800;color:var(--p23149-mist);}
#why-this-plan .wyp-steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:1rem;counter-reset:wyp;}
#why-this-plan .wyp-step{border-top:1px solid rgba(43,43,43,.16);padding-top:1rem;}
#why-this-plan .wyp-step:first-child{border-top:none;padding-top:0;}
#why-this-plan .wyp-step-top{display:flex;align-items:baseline;gap:.7rem;margin-bottom:.5rem;}
#why-this-plan .wyp-step-num{font-variant-numeric:tabular-nums;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace);font-weight:800;color:rgba(43,43,43,.75);letter-spacing:.03em;}
#why-this-plan .wyp-step-title{font-weight:900;color:var(--p23149-mist);}
#why-this-plan .wyp-step-body{margin:0;color:rgba(27,27,27,.9);line-height:1.6;}
#why-this-plan .wyp-sand-text{margin:.1rem 0 1rem;color:rgba(27,27,27,.92);line-height:1.65;}
#why-this-plan .wyp-bullets{display:flex;flex-direction:column;gap:.75rem;margin:0 0 1rem;}
#why-this-plan .wyp-bullet{display:grid;grid-template-columns:28px 1fr;gap:.65rem;align-items:start;}
#why-this-plan .wyp-check{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:12px;background:var(--p23149-ink);color:var(--p23149-bg);font-weight:900;}
#why-this-plan .wyp-bullet span{color:rgba(27,27,27,.92);line-height:1.55;}
#why-this-plan .wyp-divider{border:none;border-top:1px solid rgba(43,43,43,.22);margin:1.1rem 0;}
#why-this-plan .wyp-age{margin:0;font-weight:800;color:rgba(27,27,27,.95);}
#why-this-plan .wyp-ctarow{display:flex;flex-wrap:wrap;gap:.9rem;margin:1rem 0 0;}
#why-this-plan .wyp-link{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:var(--p23149-radius-md,14px);border:1px solid rgba(255,77,46,.55);background:var(--p23149-primary);color:var(--p23149-ink);text-decoration:none;font-weight:900;}
#why-this-plan .wyp-link:hover{background:#ff3b1e;}
#why-this-plan .wyp-link:focus-visible{outline:3px solid rgba(255,77,46,.45);outline-offset:2px;}
#why-this-plan .wyp-link--quiet{background:transparent;border-color:rgba(43,43,43,.25);color:var(--p23149-mist);}
#why-this-plan .wyp-link--quiet:hover{background:rgba(43,43,43,.05);}
#why-this-plan .wyp-footnote{margin-top:1rem;display:flex;gap:.6rem;align-items:flex-start;color:rgba(27,27,27,.86);font-size:.95rem;line-height:1.55;}
#why-this-plan .wyp-footnote-dot{color:var(--p23149-primary);font-weight:900;}
#why-this-plan ::selection{background:rgba(255,77,46,.25);}
@media (max-width: 860px){
  #why-this-plan .wyp-headrow{grid-template-columns:1fr;gap:1rem;}
  #why-this-plan .wyp-split{grid-template-columns:1fr;}
  #why-this-plan .wyp-panel{padding:1.1rem;}
}
@media (prefers-reduced-motion: reduce){
  #why-this-plan *{scroll-behavior:auto;}
}

/* p23149:trip-components */
/* p23149:trip-components */
#trip-components.section-trip-components{background:var(--p23149-bg);color:var(--p23149-ink);padding:clamp(2.5rem,6vw,6rem) 0 0;position:relative;overflow:hidden}
#trip-components.section-trip-components::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,77,46,.12),rgba(26,26,26,0) 42%);pointer-events:none}
#trip-components.section-trip-components .container{position:relative;max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}
#trip-components .section-header{margin:0 0 clamp(1.25rem,3vw,2.25rem);border-top:1px solid rgba(246,243,238,.18);padding-top:1.5rem}
#trip-components .section-label{font:600 0.75rem/1 var(--p23149-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);letter-spacing:.14em;text-transform:uppercase;color:rgba(246,243,238,.78)}
#trip-components .section-title{margin:.55rem 0 .75rem;font:500 clamp(1.6rem,3vw,2.3rem)/1.1 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif;letter-spacing:-0.02em;max-width:48rem;text-wrap:balance}
#trip-components .section-subtitle{margin:0;max-width:60ch;color:rgba(246,243,238,.86);font:400 1rem/1.6 var(--p23149-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif)}
#trip-components .components-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.9rem,2.2vw,1.35rem);align-items:stretch}
#trip-components .component-card{background:rgba(244,237,228,.03);border:1px solid rgba(246,243,238,.14);border-radius:var(--radius-lg,18px);padding:1.15rem 1.05rem 1rem;box-shadow:0 14px 40px rgba(0,0,0,.22)}
#trip-components .component-top{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem}
#trip-components .component-mark{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:rgba(255,77,46,.16);border:1px solid rgba(255,77,46,.42);color:var(--p23149-ink);font:700 1rem/1 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif}
#trip-components .component-title{margin:0;font:600 1.1rem/1.25 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif;color:var(--p23149-ink)}
#trip-components .component-status{margin:.25rem 0 .95rem;color:rgba(246,243,238,.86);font:500 .95rem/1.45 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif}
#trip-components .checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.65rem}
#trip-components .checkline{display:flex;gap:.55rem;align-items:flex-start}
#trip-components .check{flex:0 0 auto;width:22px;height:22px;border-radius:8px;display:grid;place-items:center;background:rgba(255,77,46,.15);color:rgba(246,243,238,.96);border:1px solid rgba(255,77,46,.35);font:800 1rem/1 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif;transform:translateY(1px)}
#trip-components .checkline span{color:rgba(246,243,238,.9);font:400 .98rem/1.45 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif}
#trip-components .cta-row{margin-top:clamp(1.25rem,3vw,2.1rem);padding:1.1rem 1.05rem;border:1px solid rgba(246,243,238,.14);border-radius:var(--radius-md,14px);background:rgba(244,237,228,.02);display:flex;align-items:center;justify-content:space-between;gap:1rem}
#trip-components .cta-note{margin:0;color:rgba(246,243,238,.86);font:500 .98rem/1.5 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif;max-width:66ch}
#trip-components .cta-link{display:inline-flex;align-items:center;gap:.55rem;justify-content:center;min-height:44px;padding:.8rem 1rem;border-radius:var(--radius-md,14px);background:var(--p23149-primary);color:var(--p23149-ink);text-decoration:none;font:700 1rem/1 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif;border:1px solid rgba(0,0,0,.12);box-shadow:0 10px 30px rgba(255,77,46,.22);white-space:nowrap}
#trip-components .cta-link:focus-visible{outline:3px solid rgba(255,77,46,.55);outline-offset:3px}
#trip-components .cta-link:active{transform:translateY(1px)}
#trip-components ::selection{background:rgba(255,77,46,.35);color:var(--p23149-ink)}
@media (max-width:1024px){#trip-components .components-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){#trip-components{padding-top:2.2rem}#trip-components .section-header{padding-top:1.05rem}.components-grid{grid-template-columns:1fr;gap:1rem}#trip-components .component-card{padding:1.05rem .95rem .9rem}#trip-components .cta-row{flex-direction:column;align-items:flex-start}.cta-link{width:100%}}
@media (prefers-reduced-motion:reduce){#trip-components *{scroll-behavior:auto;transition:none !important;animation:none !important}}
/* p23149:confidence-proof */
/* p23149:confidence-proof */
#confidence-proof.confidence-proof{background:var(--p23149-surface);color:var(--p23149-text);padding:clamp(2.5rem,6vw,6rem) 0;}
#confidence-proof.confidence-proof .shell{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#confidence-proof.confidence-proof .section-head{display:grid;grid-template-columns:220px 1fr;gap:clamp(1rem,3vw,2.5rem);align-items:end;padding-bottom:clamp(1.5rem,3vw,2.25rem);border-bottom:1px solid rgba(43,43,43,.25);}
#confidence-proof.confidence-proof .label-col{display:block;}
#confidence-proof.confidence-proof .kicker{font-family:var(--font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);font-size:.875rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(43,43,43,.92);}
#confidence-proof.confidence-proof .title{font-family:var(--font-serif, 'Avenir Next', Avenir, 'Segoe UI', Century Gothic, sans-serif);font-size:clamp(1.5rem,3.2vw,2.5rem);line-height:1.12;margin:0 0 .75rem 0;letter-spacing:-.01em;text-wrap:balance;}
#confidence-proof.confidence-proof .lead{margin:0;max-width:52ch;font-size:1rem;line-height:1.6;color:rgba(27,27,27,.88);}
#confidence-proof.confidence-proof .quote-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(.9rem,2.4vw,1.5rem);padding:clamp(1.5rem,3vw,2.5rem) 0;}
#confidence-proof.confidence-proof .quote-card{grid-column:span 4;background:var(--p23149-ink);border:1px solid rgba(43,43,43,.18);border-radius:var(--radius-lg,18px);padding:1.25rem 1.25rem 1rem 1.25rem;position:relative;}
#confidence-proof.confidence-proof .quote-card:nth-child(1){background:#F6F3EE;}
#confidence-proof.confidence-proof .quote-card:nth-child(2){background:#FFF7EE;}
#confidence-proof.confidence-proof .quote-card:nth-child(3){background:var(--p23149-ink);}
#confidence-proof.confidence-proof .quote-mark{font-family:var(--font-serif, 'Avenir Next', Avenir, 'Segoe UI', Century Gothic, sans-serif);font-size:3rem;line-height:1;color:var(--p23149-accent);margin-bottom:.2rem;}
#confidence-proof.confidence-proof .quote-text{margin:.15rem 0 .7rem 0;font-size:1.02rem;line-height:1.5;}
#confidence-proof.confidence-proof .quote-meta{margin:0 0 .95rem 0;font-size:.875rem;line-height:1.4;color:rgba(27,27,27,.76);}
#confidence-proof.confidence-proof .proof-line{font-size:.9rem;line-height:1.45;color:rgba(27,27,27,.86);padding-top:.7rem;border-top:1px solid rgba(43,43,43,.16);}
#confidence-proof.confidence-proof .notes{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,3vw,2rem);padding-top:clamp(1.5rem,3vw,2.5rem);}
#confidence-proof.confidence-proof .notes-title{font-family:var(--font-serif, 'Avenir Next', Avenir, 'Segoe UI', Century Gothic, sans-serif);font-size:1.35rem;margin:0 0 .75rem 0;letter-spacing:-.01em;}
#confidence-proof.confidence-proof .notes-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem;}
#confidence-proof.confidence-proof .notes-list li{display:flex;gap:.65rem;align-items:flex-start;}
#confidence-proof.confidence-proof .dot{width:10px;height:10px;border-radius:50%;background:var(--p23149-accent);margin-top:.45rem;flex:0 0 auto;}
#confidence-proof.confidence-proof .notes-list span{line-height:1.55;color:rgba(27,27,27,.88);}
#confidence-proof.confidence-proof .stat-panel{background:rgba(255,255,255,.55);border:1px solid rgba(43,43,43,.18);border-radius:var(--radius-lg,18px);padding:1.3rem;}
#confidence-proof.confidence-proof .stat-top{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem;}
#confidence-proof.confidence-proof .stat-kicker{font-size:.875rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(43,43,43,.9);}
#confidence-proof.confidence-proof .stat-badge{font-size:.95rem;line-height:1.35;background:var(--p23149-secondary);border:1px solid rgba(43,43,43,.14);padding:.6rem .8rem;border-radius:999px;color:rgba(27,27,27,.9);white-space:nowrap;}
#confidence-proof.confidence-proof .stat-row{display:flex;gap:1rem;}
#confidence-proof.confidence-proof .stat-item{flex:1;background:rgba(244,237,228,.75);border:1px solid rgba(43,43,43,.14);border-radius:14px;padding:1rem;}
#confidence-proof.confidence-proof .stat-number{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-family:var(--font-serif, 'Avenir Next', Avenir, 'Segoe UI', Century Gothic, sans-serif);font-size:1.3rem;margin-bottom:.35rem;}
#confidence-proof.confidence-proof .stat-label{font-size:.92rem;line-height:1.45;color:rgba(27,27,27,.82);}
#confidence-proof.confidence-proof .stat-disclaimer{margin:.9rem 0 1rem 0;font-size:.9rem;line-height:1.5;color:rgba(27,27,27,.82);}
#confidence-proof.confidence-proof .inline-link{display:inline-block;font-weight:600;color:var(--p23149-mist);text-decoration:none;border-bottom:2px solid rgba(255,77,46,.35);padding-bottom:.15rem;}
#confidence-proof.confidence-proof .inline-link:focus-visible{outline:3px solid rgba(255,77,46,.55);outline-offset:3px;border-bottom-color:rgba(255,77,46,.8);}
#confidence-proof.confidence-proof .inline-link:hover{border-bottom-color:rgba(255,77,46,.95);}
#confidence-proof.confidence-proof ::selection{background:rgba(255,77,46,.3);}
@media (max-width: 900px){
  #confidence-proof.confidence-proof .section-head{grid-template-columns:1fr;gap:1rem;}
  #confidence-proof.confidence-proof .quote-card{grid-column:span 12;}
  #confidence-proof.confidence-proof .notes{grid-template-columns:1fr;}
  #confidence-proof.confidence-proof .stat-row{flex-direction:column;}
}
@media (prefers-reduced-motion: reduce){
  #confidence-proof.confidence-proof *{scroll-behavior:auto;}
}

/* p23149:contacts */
/* p23149:contacts */
#contacts{padding:clamp(2.2rem,5vw,4.2rem) 0;background:var(--p23149-bg);color:var(--p23149-ink);}
#contacts .contacts-shell{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,3vw,2rem);display:grid;grid-template-columns:1.15fr 0.85fr;gap:clamp(1.2rem,3vw,2.2rem);align-items:start;}
#contacts .contacts-copy{padding:0;}
#contacts .contacts-kicker{font:600 0.82rem/1.2 var(--font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);letter-spacing:0.08em;text-transform:uppercase;color:var(--p23149-ink);opacity:0.9;margin:0 0 0.8rem;}
#contacts .contacts-title{font:700 clamp(1.6rem,2.6vw,2.4rem)/1.08 var(--font-serif, 'Avenir Next', Avenir, 'Segoe UI', Century Gothic, sans-serif);margin:0 0 0.9rem;letter-spacing:-0.02em;word-break:normal;text-wrap:balance;}
#contacts .contacts-lead{margin:0 0 1.1rem;font:400 1rem/1.6 var(--font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);color:var(--p23149-ink);opacity:0.95;}
#contacts .contacts-list{list-style:none;margin:0 0 1.35rem;padding:0;}
#contacts .contacts-list-item{display:flex;gap:0.65rem;align-items:flex-start;margin:0.55rem 0;font:500 0.98rem/1.5 var(--font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);color:var(--p23149-ink);}
#contacts .contacts-check{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:999px;background:var(--p23149-primary);color:var(--p23149-ink);font:800 0.9rem/1 var(--font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);flex:0 0 auto;margin-top:0.12rem;}
#contacts .contacts-links{display:flex;gap:0.9rem;flex-wrap:wrap;align-items:center;margin:0 0 0.8rem;}
#contacts a{color:inherit;}
#contacts .contacts-primary{display:inline-flex;align-items:center;justify-content:center;gap:0.6rem;min-height:44px;padding:0.75rem 1.05rem;border-radius:var(--radius-md,14px);background:var(--p23149-primary);color:var(--p23149-ink);text-decoration:none;font:700 1rem/1 var(--font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);border:2px solid var(--p23149-primary);box-shadow:0 10px 22px rgba(255,77,46,0.22);}
#contacts .contacts-primary:focus-visible{outline:3px solid rgba(255,77,46,0.55);outline-offset:3px;}
#contacts .contacts-primary:hover{filter:brightness(1.02);} 
#contacts .contacts-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0.7rem 1rem;border-radius:var(--radius-md,14px);background:transparent;color:var(--p23149-ink);text-decoration:none;border:2px solid var(--p23149-border);font:700 1rem/1 var(--font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);}
#contacts .contacts-secondary:focus-visible{outline:3px solid rgba(246,243,238,0.35);outline-offset:3px;}
#contacts .contacts-small{margin:0.8rem 0 0;font:500 0.9rem/1.5 var(--font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);color:var(--p23149-ink);opacity:0.86;}
#contacts .contacts-panel{background:var(--p23149-secondary);color:var(--p23149-text);border:1px solid rgba(43,43,43,0.25);border-radius:var(--radius-lg,18px);overflow:hidden;}
#contacts .contacts-panel-head{padding:1.2rem 1.2rem 0.8rem;border-bottom:1px solid rgba(43,43,43,0.18);}
#contacts .contacts-panel-title{margin:0 0 0.35rem;font:800 1.15rem/1.2 var(--font-serif,'Avenir Next', Avenir, 'Segoe UI', Century Gothic, sans-serif);letter-spacing:-0.01em;}
#contacts .contacts-panel-sub{margin:0;font:500 0.95rem/1.45 var(--font-sans,'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);color:rgba(27,27,27,0.85);}
#contacts .contacts-panel-body{padding:1.1rem 1.2rem 1.2rem;}
#contacts .contacts-dl{margin:0;display:flex;flex-direction:column;gap:0.85rem;}
#contacts .contacts-dl-row{display:grid;grid-template-columns:7rem 1fr;gap:0.8rem;align-items:start;}
#contacts .contacts-dl-row dt{font:700 0.9rem/1.2 var(--font-sans,'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);color:rgba(27,27,27,0.88);}
#contacts .contacts-dl-row dd{margin:0;font:600 0.95rem/1.35 var(--font-sans,'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);color:rgba(27,27,27,0.92);}
#contacts .contacts-link{color:rgba(27,27,27,0.95);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;}
#contacts .contacts-link:focus-visible{outline:3px solid rgba(255,77,46,0.35);outline-offset:3px;border-radius:8px;}
#contacts .button-block{width:100%;margin-top:1rem;}
#contacts .contacts-panel .contacts-primary{width:100%;box-shadow:none;border-color:var(--p23149-primary);}
#contacts .contacts-disclaimer{margin-top:0.95rem;padding:0.85rem 0.9rem;border-radius:var(--radius-md,14px);background:rgba(255,77,46,0.08);border:1px solid rgba(255,77,46,0.25);color:rgba(27,27,27,0.92);font:600 0.92rem/1.45 var(--font-sans,'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);}
#contacts .contacts-disclaimer strong{font-weight:900;}
#contacts ::selection{background:rgba(255,77,46,0.35);color:var(--p23149-text);} 
@media (max-width: 880px){
  #contacts .contacts-shell{grid-template-columns:1fr;}
  #contacts .contacts-links{gap:0.75rem;}
}
@media (prefers-reduced-motion: reduce){
  #contacts *{scroll-behavior:auto;}
}

/* p23149:planner-form-preview */
/* p23149:planner-form-preview */
#planner-form-preview{--r1:10px;--r2:14px;--r3:18px;--g:24px;--panel:#F4EDE4;--ink:#F6F3EE;--bg:#1A1A1A;--txt:#1B1B1B;--mut:#2B2B2B;--accent:var(--p23149-accent);--border:var(--p23149-border);} 
#planner-form-preview{background:var(--p23149-bg);color:var(--p23149-ink);padding:clamp(2.5rem,6vw,5rem) 0;} 
#planner-form-preview .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);} 
#planner-form-preview .section-head{max-width:52rem;margin-bottom:clamp(1.5rem,4vw,2.5rem);} 
#planner-form-preview .kicker{font:700 0.9rem/1.2 var(--ui-font, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);letter-spacing:0.08em;text-transform:uppercase;color:var(--p23149-secondary);margin:0 0 0.75rem;} 
#planner-form-preview .kicker.small{font-size:0.8rem;margin:0 0 0.6rem;} 
#planner-form-preview .title{font:600 clamp(1.5rem,2.6vw,2.3rem)/1.12 'Avenir Next',Avenir,'Segoe UI',system-ui,sans-serif;letter-spacing:-0.02em;margin:0 0 0.9rem;text-wrap:balance;} 
#planner-form-preview .lede{margin:0;color:rgba(246,243,238,0.88);max-width:58ch;} 
#planner-form-preview .planner-layout{display:grid;grid-template-columns:1.05fr 0.95fr;gap:clamp(1rem,3vw,2rem);align-items:start;} 
#planner-form-preview .form-panel{background:var(--p23149-surface);color:var(--p23149-text);border:1px solid var(--p23149-border);border-radius:var(--radius-lg,18px);padding:1.15rem;box-shadow:0 14px 40px rgba(0,0,0,0.18);} 
#planner-form-preview .planner-form{display:flex;flex-direction:column;gap:0.95rem;} 
#planner-form-preview .field{display:flex;flex-direction:column;gap:0.45rem;} 
#planner-form-preview .label{font:700 0.95rem/1.2 'Avenir Next',Avenir,'Segoe UI',system-ui,sans-serif;color:var(--p23149-mist);} 
#planner-form-preview .help{margin:0;font-size:0.875rem;color:rgba(43,43,43,0.85);} 
#planner-form-preview .input,#planner-form-preview .select{width:100%;height:44px;border-radius:var(--r1);border:1px solid rgba(43,43,43,0.35);background:#fff;color:var(--p23149-text);padding:0 0.85rem;font:500 1rem/44px 'Avenir Next',Avenir,'Segoe UI',system-ui,sans-serif;box-sizing:border-box;} 
#planner-form-preview .select{padding:0 0.7rem;font:500 1rem/44px 'Avenir Next',Avenir,'Segoe UI',system-ui,sans-serif;} 
#planner-form-preview .input::placeholder{color:rgba(43,43,43,0.6);} 
#planner-form-preview .chips{display:flex;flex-wrap:wrap;gap:0.55rem;} 
#planner-form-preview .chip{border:1px solid rgba(43,43,43,0.35);background:#fff;color:var(--p23149-mist);height:42px;padding:0 0.95rem;border-radius:999px;font:600 0.95rem/1 'Avenir Next',Avenir,'Segoe UI',system-ui,sans-serif;cursor:pointer;} 
#planner-form-preview .chip[aria-pressed="true"]{border-color:var(--p23149-accent);box-shadow:0 0 0 3px rgba(255,77,46,0.18) inset;background:#fff;} 
#planner-form-preview .chip:focus-visible,#planner-form-preview .seg-btn:focus-visible,#planner-form-preview .primary-btn:focus-visible{outline:3px solid rgba(255,77,46,0.55);outline-offset:2px;} 
#planner-form-preview .segmented{display:flex;flex-wrap:wrap;gap:0.55rem;} 
#planner-form-preview .seg-btn{border:1px solid rgba(43,43,43,0.35);background:#fff;color:var(--p23149-mist);height:42px;padding:0 0.95rem;border-radius:var(--r1);font:650 0.95rem/1 'Avenir Next',Avenir,'Segoe UI',system-ui,sans-serif;cursor:pointer;} 
#planner-form-preview .seg-btn.small{padding:0 0.8rem;} 
#planner-form-preview .seg-btn[aria-selected="true"],#planner-form-preview .seg-btn[aria-pressed="true"]{border-color:var(--p23149-accent);box-shadow:0 0 0 3px rgba(255,77,46,0.18) inset;} 
#planner-form-preview .checkbox-row{display:flex;gap:0.75rem;align-items:flex-start;padding:0.65rem 0.75rem;border:1px dashed rgba(43,43,43,0.35);border-radius:var(--r2);background:rgba(255,255,255,0.5);} 
#planner-form-preview .checkbox{margin-top:0.25rem;accent-color:var(--p23149-accent);width:18px;height:18px;} 
#planner-form-preview .checkbox-label{margin:0;font-size:0.92rem;line-height:1.35;color:rgba(43,43,43,0.95);} 
#planner-form-preview .primary-btn{margin-top:0.35rem;height:48px;border-radius:999px;border:1px solid var(--p23149-accent);background:var(--p23149-primary);color:var(--p23149-ink);font:750 1.05rem/48px 'Avenir Next',Avenir,'Segoe UI',system-ui,sans-serif;cursor:pointer;box-shadow:0 14px 34px rgba(255,77,46,0.22);} 
#planner-form-preview .primary-btn:hover{filter:brightness(1.02);} 
#planner-form-preview .primary-btn:active{transform:translateY(1px);} 
#planner-form-preview .fineprint{margin:0;color:rgba(43,43,43,0.82);font-size:0.85rem;line-height:1.35;} 
#planner-form-preview .preview-panel{background:rgba(244,237,228,0.04);border-radius:var(--radius-lg,18px);border:1px solid rgba(246,243,238,0.12);padding:1.15rem;} 
#planner-form-preview .rail-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem;} 
#planner-form-preview .steps{display:flex;flex-direction:column;gap:0.65rem;} 
#planner-form-preview .step{display:flex;gap:0.8rem;align-items:flex-start;} 
#planner-form-preview .step-dot{width:10px;height:10px;border-radius:50%;background:rgba(246,243,238,0.25);margin-top:0.2rem;border:1px solid rgba(246,243,238,0.15);} 
#planner-form-preview .step[data-step="plan"] .step-dot{background:rgba(255,77,46,0.35);border-color:rgba(255,77,46,0.55);} 
#planner-form-preview .step-title{margin:0;font:800 0.98rem/1.1 'Avenir Next',Avenir,'Segoe UI',system-ui,sans-serif;color:var(--p23149-ink);} 
#planner-form-preview .step-sub{margin:0;font-size:0.82rem;color:rgba(246,243,238,0.72);} 
#planner-form-preview .timeline{display:flex;flex-direction:column;gap:0.55rem;margin-top:0.35rem;border-top:1px solid rgba(246,243,238,0.12);padding-top:0.75rem;} 
#planner-form-preview .time-block{display:grid;grid-template-columns:26px 1fr;gap:0.85rem;align-items:start;padding:0.65rem 0.65rem;border-radius:var(--r2);border:1px solid rgba(246,243,238,0.12);background:rgba(26,26,26,0.2);transition:border-color 160ms ease, background 160ms ease;} 
#planner-form-preview .time-node .node{display:block;width:12px;height:12px;border-radius:50%;background:rgba(246,243,238,0.35);border:1px solid rgba(246,243,238,0.2);} 
#planner-form-preview .time-block.is-active{border-color:rgba(255,77,46,0.65);background:rgba(255,77,46,0.08);} 
#planner-form-preview .time-block.is-active .time-node .node{background:var(--p23149-accent);border-color:rgba(255,77,46,0.85);} 
#planner-form-preview .time-label{margin:0;color:rgba(246,243,238,0.78);font:700 0.9rem/1.1 'Avenir Next',Avenir,'Segoe UI',system-ui,sans-serif;} 
#planner-form-preview .time-title{margin:0.15rem 0 0.25rem;font:800 1.08rem/1.15 'Avenir Next',Avenir,'Segoe UI',system-ui,sans-serif;letter-spacing:-0.01em;} 
#planner-form-preview .time-desc{margin:0;font-size:0.9rem;color:rgba(246,243,238,0.78);line-height:1.35;} 
#planner-form-preview .agenda{margin-top:1.05rem;padding-top:0.95rem;border-top:1px solid rgba(246,243,238,0.12);} 
#planner-form-preview .agenda-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.6rem;} 
#planner-form-preview .agenda-item{display:grid;grid-template-columns:70px 1fr;gap:0.75rem;align-items:flex-start;padding:0.55rem 0.6rem;border-radius:var(--r2);border:1px solid rgba(246,243,238,0.12);background:rgba(26,26,26,0.25);} 
#planner-form-preview .agenda-time{font:800 0.98rem/1.25 'Avenir Next',Avenir,'Segoe UI',system-ui,sans-serif;color:rgba(246,243,238,0.9);font-variant-numeric:tabular-nums;} 
#planner-form-preview .agenda-text{margin:0;color:rgba(246,243,238,0.78);font-size:0.92rem;line-height:1.35;} 
#planner-form-preview .why-mini{margin-top:1rem;} 
#planner-form-preview .why-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.6rem;} 
#planner-form-preview .why-bullet{padding:0.55rem 0.6rem;border-radius:var(--r2);border:1px solid rgba(246,243,238,0.12);background:rgba(26,26,26,0.25);color:rgba(246,243,238,0.8);font-size:0.92rem;line-height:1.3;} 
#planner-form-preview .disclaimer-row{margin-top:1.75rem;display:flex;gap:1rem;align-items:flex-start;} 
#planner-form-preview .disclaimer-line{width:4px;min-height:44px;background:var(--p23149-accent);border-radius:999px;} 
#planner-form-preview .disclaimer-text{margin:0;color:rgba(246,243,238,0.82);max-width:72ch;line-height:1.45;font-size:0.95rem;} 
#planner-form-preview ::selection{background:rgba(255,77,46,0.35);color:var(--p23149-ink);} 
#planner-form-preview .time-block,.time-desc,.agenda-item,.why-bullet{will-change:transform,opacity;} 
@media (prefers-reduced-motion: reduce){#planner-form-preview *{scroll-behavior:auto;transition:none!important;animation:none!important;}} 
@media (max-width: 900px){#planner-form-preview .planner-layout{grid-template-columns:1fr;} #planner-form-preview .preview-panel{order:-1;} #planner-form-preview .why-grid{grid-template-columns:1fr 1fr;} } 
@media (max-width: 520px){#planner-form-preview .form-panel{padding:1rem;} #planner-form-preview .agenda-item{grid-template-columns:62px 1fr;} #planner-form-preview .why-grid{grid-template-columns:1fr;} }

/* p23149:live-itinerary-preview */
/* p23149:live-itinerary-preview */
.live-itinerary-preview{background:var(--p23149-bg);color:var(--p23149-ink);padding:clamp(1.75rem,4vw,3.25rem) 0;}
.live-itinerary-preview .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
.live-itinerary-preview .editorial-block{display:grid;grid-template-columns:13rem 1fr;gap:2.25rem;align-items:start;}
.live-itinerary-preview .label-col{padding-top:.35rem;}
.live-itinerary-preview .label{font-size:.875rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(246,243,238,.86);}
.live-itinerary-preview .content-col{min-width:0;}
.live-itinerary-preview .intro{margin-bottom:1.35rem;}
.live-itinerary-preview .title{font-family:var(--font-serif, 'Avenir Next', Avenir, 'Segoe UI', Century Gothic, sans-serif);font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.08;letter-spacing:-0.02em;margin:0 0 .65rem;text-wrap:balance;}
.live-itinerary-preview .lead{margin:0;max-width:54ch;color:rgba(246,243,238,.9);font-size:1rem;line-height:1.55;}
.live-itinerary-preview .plan-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:1.25rem;align-items:start;}
.live-itinerary-preview .planner-card,.live-itinerary-preview .preview-card{background:var(--p23149-surface);color:var(--p23149-text);border:1px solid var(--p23149-border);border-radius:var(--radius-lg,18px);box-shadow:none;}
.live-itinerary-preview .planner-card{padding:1.15rem 1.15rem 1rem;}
.live-itinerary-preview .preview-card{padding:1.15rem 1.15rem 1rem;}
.live-itinerary-preview .planner-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.9rem;}
.live-itinerary-preview .planner-kicker{font-size:.875rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(27,27,27,.72);}
.live-itinerary-preview .planner-sub{font-weight:700;color:rgba(27,27,27,.9);}
.live-itinerary-preview .rail{display:flex;gap:.6rem;margin:0 0 .95rem;}
.live-itinerary-preview .rail-step{flex:1;display:flex;align-items:center;gap:.6rem;justify-content:center;min-height:44px;border-radius:12px;border:1px solid rgba(43,43,43,.55);background:transparent;color:rgba(27,27,27,.9);font-weight:700;cursor:pointer;}
.live-itinerary-preview .rail-step[aria-pressed="true"]{border-color:var(--p23149-accent);box-shadow:0 0 0 3px rgba(255,77,46,.18) inset;}
.live-itinerary-preview .rail-step:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(255,77,46,.35), 0 0 0 1px rgba(255,77,46,.65) inset;}
.live-itinerary-preview .step-dot{width:10px;height:10px;border-radius:999px;background:rgba(43,43,43,.28);}
.live-itinerary-preview .rail-step[aria-pressed="true"] .step-dot{background:var(--p23149-accent);}
.live-itinerary-preview .step-text{font-size:.98rem;}
.live-itinerary-preview .mini-timeline{border-top:1px solid rgba(43,43,43,.28);padding-top:.95rem;}
.live-itinerary-preview .timeline-row{display:grid;grid-template-columns:84px 1fr 18px;gap:.75rem;align-items:start;padding:.75rem .1rem;position:relative;}
.live-itinerary-preview .timeline-row:not(:last-child){border-bottom:1px solid rgba(43,43,43,.18);}
.live-itinerary-preview .time-pill{font-variant-numeric:tabular-nums;letter-spacing:.03em;font-size:.95rem;font-weight:800;color:rgba(27,27,27,.78);padding-top:.05rem;}
.live-itinerary-preview .timeline-title{font-family:var(--font-serif, 'Avenir Next', Avenir, 'Segoe UI', Century Gothic, sans-serif);font-size:1.08rem;line-height:1.15;margin:0;color:rgba(27,27,27,.95);text-wrap:balance;}
.live-itinerary-preview .timeline-desc{font-size:.95rem;line-height:1.45;margin-top:.25rem;color:rgba(27,27,27,.8);}
.live-itinerary-preview .active-indicator{width:10px;height:10px;border-radius:999px;background:rgba(43,43,43,.22);margin-top:.35rem;justify-self:end;}
.live-itinerary-preview .values{margin-top:.85rem;padding-top:.8rem;border-top:1px solid rgba(43,43,43,.22);display:grid;gap:.55rem;}
.live-itinerary-preview .value-line{display:flex;gap:.55rem;align-items:flex-start;font-size:.94rem;line-height:1.4;color:rgba(27,27,27,.85);}
.live-itinerary-preview .value-bullet{color:var(--p23149-accent);font-weight:900;}
.live-itinerary-preview .preview-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.75rem;}
.live-itinerary-preview .preview-kicker{font-size:.875rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(27,27,27,.72);}
.live-itinerary-preview .preview-link{color:rgba(27,27,27,.92);text-decoration:none;font-weight:800;position:relative;padding-bottom:.15rem;}
.live-itinerary-preview .preview-link:after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--p23149-accent);transition:width .18s ease;}
.live-itinerary-preview .preview-link:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(255,77,46,.35);} 
.live-itinerary-preview .preview-link:hover:after{width:100%;}
.live-itinerary-preview .marquee{list-style:none;margin:0;padding:0;display:grid;gap:.55rem;}
.live-itinerary-preview .marquee-item{display:grid;grid-template-columns:78px 1fr;grid-template-rows:auto auto;column-gap:.9rem;row-gap:.2rem;align-items:start;padding:.6rem .7rem;border-radius:14px;border:1px solid rgba(43,43,43,.22);background:rgba(244,237,228,.55);}
.live-itinerary-preview .marquee-time{font-variant-numeric:tabular-nums;font-weight:900;color:rgba(27,27,27,.72);letter-spacing:.02em;grid-column:1 / 2;}
.live-itinerary-preview .marquee-title{grid-column:2 / 3;font-family:var(--font-serif, 'Avenir Next', Avenir, 'Segoe UI', Century Gothic, sans-serif);font-size:1.06rem;line-height:1.15;color:rgba(27,27,27,.95);text-wrap:balance;}
.live-itinerary-preview .marquee-copy{grid-column:2 / 3;color:rgba(27,27,27,.82);font-size:.95rem;line-height:1.45;}
.live-itinerary-preview .marquee-secondary{opacity:.45;}
.live-itinerary-preview .why-grid{margin-top:1rem;display:grid;grid-template-columns:1fr 1fr;gap:.6rem;}
.live-itinerary-preview .why-bullet{border:1px solid rgba(43,43,43,.18);background:rgba(255,255,255,.25);padding:.75rem .75rem;border-radius:14px;font-size:.95rem;line-height:1.45;color:rgba(27,27,27,.86);}
.live-itinerary-preview .pref-note{margin-top:1rem;padding:.85rem .85rem;border-radius:14px;border:1px solid rgba(43,43,43,.22);background:rgba(244,237,228,.85);}
.live-itinerary-preview .pref-note-title{font-weight:900;color:rgba(27,27,27,.92);margin-bottom:.25rem;}
.live-itinerary-preview .pref-note-body{color:rgba(27,27,27,.82);font-size:.95rem;line-height:1.45;}
.live-itinerary-preview [data-crossfade="in"]{opacity:1;transform:translateY(0);transition:opacity .18s ease, transform .18s ease;}
.live-itinerary-preview [data-crossfade="out"]{opacity:0;transform:translateY(8px);transition:opacity .18s ease, transform .18s ease;}
.live-itinerary-preview .timeline-row[data-timeline-active="true"] .active-indicator{background:var(--p23149-accent);}
.live-itinerary-preview .timeline-row[data-timeline-active="false"] .active-indicator{background:rgba(43,43,43,.22);}
.live-itinerary-preview::selection{background:rgba(255,77,46,.25);}
@media (max-width: 900px){
  .live-itinerary-preview .editorial-block{grid-template-columns:1fr;gap:1rem;}
  .live-itinerary-preview .label-col{padding-top:0;}
  .live-itinerary-preview .plan-grid{grid-template-columns:1fr;}
  .live-itinerary-preview .why-grid{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion: reduce){
  .live-itinerary-preview *{transition:none !important;animation:none !important;}
}

/* p23149:inclusions-exclusions */
/* p23149:inclusions-exclusions */
#inclusions-exclusions{padding:clamp(2rem,4.2vw,5rem) 0; background:var(--p23149-surface); color:var(--p23149-text);}
#inclusions-exclusions .ie-container{max-width:72rem; margin:0 auto; padding:0 clamp(1rem,4vw,3rem);}
#inclusions-exclusions .ie-grid{display:grid; grid-template-columns: 240px 1fr; gap:clamp(1.25rem,3vw,2.75rem); align-items:start;}
#inclusions-exclusions .ie-label{padding-top:0.25rem;}
#inclusions-exclusions .ie-eyebrow{font-family:var(--font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui); font-size:0.875rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--p23149-mist);}
#inclusions-exclusions .ie-title{font-family:var(--font-serif, 'Avenir Next', Avenir, 'Segoe UI', 'Century Gothic', sans-serif); font-size:clamp(1.35rem,2.5vw,2.2rem); line-height:1.15; margin:0 0 0.75rem; letter-spacing:-0.01em; text-wrap:balance;}
#inclusions-exclusions .ie-lede{margin:0 0 1.35rem; max-width:62ch; font-size:1rem; color:var(--p23149-mist);}
#inclusions-exclusions .ie-panels{display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:1.1rem 0 1.6rem;}
#inclusions-exclusions .ie-panel{background:var(--p23149-ink); border:1px solid color-mix(in srgb, var(--p23149-border) 70%, transparent); border-radius:var(--radius-md, 14px); padding:1rem 1rem 1rem;}
#inclusions-exclusions .ie-panel-title{margin:0 0 0.75rem; font-size:1.05rem; letter-spacing:-0.01em; color:var(--p23149-text); font-weight:800;}
#inclusions-exclusions .ie-list{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:0.62rem;}
#inclusions-exclusions .ie-li{display:flex; gap:0.6rem; align-items:flex-start; color:var(--p23149-mist); font-size:0.98rem;}
#inclusions-exclusions .ie-check{flex:0 0 auto; width:22px; height:22px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; background:color-mix(in srgb, var(--p23149-primary) 18%, transparent); color:var(--p23149-primary); font-weight:900; margin-top:1px;}
#inclusions-exclusions .ie-dot{flex:0 0 auto; width:22px; height:22px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; border:1px solid color-mix(in srgb, var(--p23149-border) 60%, transparent); color:var(--p23149-mist); font-size:1.1rem; margin-top:0px;}
#inclusions-exclusions .ie-disclosures{display:flex; flex-direction:column; gap:0.9rem; padding-top:0.15rem;}
#inclusions-exclusions .ie-disclosure{border-top:1px solid color-mix(in srgb, var(--p23149-border) 55%, transparent); padding-top:0.95rem;}
#inclusions-exclusions .ie-disclosure-title{margin:0 0 0.45rem; font-size:1rem; font-weight:900; color:var(--p23149-text);}
#inclusions-exclusions .ie-disclosure-text{margin:0; color:var(--p23149-mist); line-height:1.5;}
#inclusions-exclusions .ie-links{display:flex; gap:1rem; flex-wrap:wrap; margin-top:1.25rem;}
#inclusions-exclusions .ie-link{display:inline-flex; align-items:center; padding:0.75rem 0.95rem; border-radius:var(--radius-sm, 10px); background:var(--p23149-primary); color:var(--p23149-ink); text-decoration:none; font-weight:800; border:1px solid var(--p23149-primary);}
#inclusions-exclusions .ie-link.secondary{background:transparent; color:var(--p23149-text); border:1px solid var(--p23149-border);}
#inclusions-exclusions .ie-link:focus-visible{outline:3px solid color-mix(in srgb, var(--p23149-primary) 55%, white); outline-offset:2px;}
#inclusions-exclusions .ie-smallprint{margin-top:1rem;}
#inclusions-exclusions .ie-smallprint-text{margin:0; color:var(--p23149-mist); font-size:0.92rem; line-height:1.5;}
#inclusions-exclusions ::selection{background:color-mix(in srgb, var(--p23149-primary) 30%, white); color:var(--p23149-text);}
@media (max-width: 1024px){#inclusions-exclusions .ie-grid{grid-template-columns: 200px 1fr;}}
@media (max-width: 768px){#inclusions-exclusions .ie-grid{grid-template-columns:1fr; gap:0.9rem;} #inclusions-exclusions .ie-label{order:0;} #inclusions-exclusions .ie-panels{grid-template-columns:1fr; gap:0.85rem;} #inclusions-exclusions .ie-title{margin-bottom:0.6rem;} #inclusions-exclusions .ie-lede{margin-bottom:1rem;}}
@media (prefers-reduced-motion: reduce){#inclusions-exclusions *{scroll-behavior:auto; transition:none !important; animation:none !important;}}

/* p23149:planner-cta-bar */
/* p23149:planner-cta-bar */
#planner-cta-bar.planner-cta-bar{background:var(--p23149-bg);color:var(--p23149-ink);border-top:1px solid rgba(246,243,238,.14)}
#planner-cta-bar .planner-cta-bar__inner{max-width:72rem;margin:0 auto;padding:clamp(1.25rem,3vw,2rem) var(--gutter,clamp(1rem,4vw,3rem));display:flex;align-items:center;justify-content:space-between;gap:1.75rem}
#planner-cta-bar .planner-cta-bar__copy{max-width:52ch}
#planner-cta-bar .planner-cta-bar__eyebrow{font-size:.875rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(246,243,238,.78);margin-bottom:.5rem}
#planner-cta-bar .planner-cta-bar__title{font-family:var(--font-serif,serif);font-size:clamp(1.35rem,2.6vw,2.05rem);line-height:1.12;letter-spacing:-.02em;margin:0 0 .75rem 0;text-wrap:balance}
#planner-cta-bar .planner-cta-bar__desc{margin:0;font-size:1rem;line-height:1.55;color:rgba(246,243,238,.86)}
#planner-cta-bar .planner-cta-bar__action{display:flex;flex-direction:column;align-items:flex-end;gap:.65rem;min-width:14.5rem}
#planner-cta-bar .planner-cta-bar__button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.9rem 1.1rem;border-radius:14px;background:var(--p23149-primary);color:var(--p23149-ink);text-decoration:none;font-weight:700;border:1px solid var(--p23149-primary);box-shadow:0 10px 28px rgba(255,77,46,.22)}
#planner-cta-bar .planner-cta-bar__button:focus-visible{outline:3px solid rgba(255,77,46,.45);outline-offset:3px}
#planner-cta-bar .planner-cta-bar__button:hover{filter:saturate(1.02);transform:translateY(-1px)}
#planner-cta-bar .planner-cta-bar__secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem .8rem;border-radius:14px;border:1px solid rgba(246,243,238,.35);background:transparent;color:var(--p23149-ink);text-decoration:none;font-weight:650}
#planner-cta-bar .planner-cta-bar__secondary:focus-visible{outline:3px solid rgba(246,243,238,.32);outline-offset:3px}
#planner-cta-bar .planner-cta-bar__secondary:hover{background:rgba(246,243,238,.08)}
#planner-cta-bar ::selection{background:rgba(255,77,46,.35);color:var(--p23149-ink)}
@media (max-width:768px){#planner-cta-bar .planner-cta-bar__inner{flex-direction:column;align-items:flex-start}#planner-cta-bar .planner-cta-bar__action{align-items:flex-start;min-width:0;width:100%}#planner-cta-bar .planner-cta-bar__button,#planner-cta-bar .planner-cta-bar__secondary{width:100%}}
@media (prefers-reduced-motion:reduce){#planner-cta-bar .planner-cta-bar__button:hover{transform:none}#planner-cta-bar .planner-cta-bar__secondary:hover{background:transparent}}
/* p23149:contact-intro */
/* p23149:contact-intro */
#contact-intro.contact-intro{--pad:clamp(18px,3vw,28px);--gap:clamp(14px,2.4vw,22px);background:var(--p23149-secondary);color:var(--p23149-text);padding:var(--pad);border:1px solid var(--p23149-border);border-radius:var(--p23149-radius,14px);}
#contact-intro .contact-intro__inner{max-width:72rem;margin:0 auto;}
#contact-intro .contact-intro__header{margin-bottom:var(--gap);}
#contact-intro .contact-intro__title{font-family:var(--p23149-sans-font,'Avenir Next',Avenir,'Segoe UI',system-ui,sans-serif);font-size:clamp(1.6rem,3.2vw,2.2rem);line-height:1.12;letter-spacing:-0.02em;margin:0 0 10px 0;color:var(--p23149-text);text-wrap:balance;}
#contact-intro .contact-intro__lede{margin:0;max-width:62ch;font-size:1rem;line-height:1.6;color:var(--p23149-text);}
#contact-intro .contact-intro__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);align-items:stretch;}
#contact-intro .contact-intro__panel{background:var(--p23149-ink);border:1px solid var(--p23149-border);border-radius:var(--p23149-radius,14px);padding:18px;min-height:100%;box-shadow:0 10px 30px rgba(0,0,0,0.06);}
#contact-intro .contact-intro__panel--accent{background:var(--p23149-bg);border-color:var(--p23149-border);box-shadow:0 18px 44px rgba(0,0,0,0.18);}
#contact-intro .contact-intro__panel-label{font-size:0.875rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--p23149-mist);margin:0 0 10px 0;}
#contact-intro .contact-intro__panel-label--accent{color:var(--p23149-ink);}
#contact-intro .contact-intro__panel-body{padding-top:2px;}
#contact-intro .contact-intro__panel-title{font-family:var(--p23149-sans-font,'Avenir Next',Avenir,'Segoe UI',system-ui,sans-serif);font-size:1.25rem;line-height:1.25;margin:0 0 10px 0;letter-spacing:-0.01em;color:inherit;}
#contact-intro .contact-intro__text{margin:0 0 10px 0;line-height:1.65;color:inherit;}
#contact-intro .contact-intro__small{margin:14px 0 0 0;font-size:0.95rem;line-height:1.6;color:inherit;opacity:0.95;}
#contact-intro .contact-intro__divider{height:1px;background:var(--p23149-border);margin:14px 0 12px 0;}
#contact-intro .contact-intro__steps{margin:8px 0 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;counter-reset:step;}
#contact-intro .contact-intro__step{display:flex;gap:12px;align-items:flex-start;}
#contact-intro .contact-intro__step-num{width:28px;flex:0 0 28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--p23149-secondary);color:var(--p23149-accent);font-weight:800;font-family:ui-sans-serif,system-ui,sans-serif;border:1px solid rgba(255,77,46,0.35);}
#contact-intro .contact-intro__panel--accent .contact-intro__step-num{background:rgba(255,77,46,0.15);color:var(--p23149-primary);border-color:rgba(255,77,46,0.45);}
#contact-intro .contact-intro__step-text{line-height:1.6;color:inherit;}
#contact-intro .contact-intro__footer{margin-top:18px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
#contact-intro .contact-intro__link{color:var(--p23149-mist);text-decoration:none;border-bottom:1px solid rgba(43,43,43,0.35);padding-bottom:2px;}
#contact-intro .contact-intro__panel--accent .contact-intro__link{color:var(--p23149-ink);border-bottom-color:rgba(246,243,238,0.45);}
#contact-intro .contact-intro__link:focus-visible{outline:3px solid rgba(255,77,46,0.55);outline-offset:3px;border-radius:8px;}
#contact-intro .contact-intro__dot{color:rgba(43,43,43,0.55);}
#contact-intro .contact-intro__panel--accent .contact-intro__dot{color:rgba(246,243,238,0.55);}
#contact-intro :root::selection{background:rgba(255,77,46,0.25);}
#contact-intro ::selection{background:rgba(255,77,46,0.25);}
@media (max-width: 768px){
  #contact-intro{padding:16px;}
  #contact-intro .contact-intro__grid{grid-template-columns:1fr;}
  #contact-intro .contact-intro__panel{padding:16px;}
  #contact-intro .contact-intro__panel-title{font-size:1.15rem;}
}
@media (prefers-reduced-motion: reduce){
  #contact-intro *{scroll-behavior:auto;transition:none !important;animation:none !important;}
}
/* p23149:contact-form */
/* p23149:contact-form */
#contact-form{background:var(--p23149-bg);color:var(--p23149-ink);padding:clamp(2.5rem,6vw,5rem) 0;}
#contact-form .contact-form__shell{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#contact-form .contact-form__header{max-width:48rem;margin-bottom:1.5rem;}
#contact-form .contact-form__kicker{font-size:0.875rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(246,243,238,0.85);margin:0 0 0.6rem;}
#contact-form .contact-form__title{font-family:var(--p23149-serif, 'Avenir Next');font-size:clamp(1.5rem,3.2vw,2.3rem);line-height:1.1;margin:0 0 0.75rem;letter-spacing:-0.015em;text-wrap:balance;}
#contact-form .contact-form__subtitle{margin:0;color:rgba(246,243,238,0.82);font-size:1rem;line-height:1.6;max-width:52ch;}
#contact-form .contact-form__form{background:var(--p23149-surface);color:var(--p23149-text);border:1px solid rgba(43,43,43,0.35);border-radius:var(--p23149-radius-lg, 18px);padding:1.25rem;}
#contact-form .contact-form__fieldset{border:0;margin:0;padding:0;}
#contact-form .contact-form__legend{font-weight:700;margin:0 0 1rem;font-size:1rem;}
#contact-form .contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;}
#contact-form .contact-form__row--split{grid-template-columns:1fr 1fr;}
#contact-form .contact-form__row--dates{grid-template-columns:1fr 1fr;}
#contact-form .field{display:block;}
#contact-form .field__label{display:block;font-size:0.875rem;font-weight:700;margin:0 0 0.45rem;}
#contact-form input[type="text"],
#contact-form input[type="email"],
#contact-form input[type="tel"],
#contact-form input[type="date"],
#contact-form input[type="number"],
#contact-form select,
#contact-form textarea{width:100%;border:1px solid rgba(43,43,43,0.35);background:rgba(255,255,255,0.65);color:var(--p23149-text);border-radius:var(--p23149-radius-md, 14px);padding:0.75rem 0.85rem;font:inherit;outline:none;}
#contact-form textarea{resize:vertical;min-height:120px;}
#contact-form input:focus-visible,
#contact-form select:focus-visible,
#contact-form textarea:focus-visible{border-color:var(--p23149-accent);box-shadow:0 0 0 4px rgba(255,77,46,0.28);}
#contact-form .contact-form__age{margin:0.75rem 0 1rem;padding-top:0.75rem;border-top:1px solid rgba(43,43,43,0.25);}
#contact-form .checkbox{display:flex;gap:0.75rem;align-items:flex-start;cursor:pointer;}
#contact-form .checkbox input{position:absolute;opacity:0;pointer-events:none;}
#contact-form .checkbox__box{width:22px;height:22px;border-radius:6px;border:2px solid rgba(43,43,43,0.45);background:transparent;flex:0 0 auto;margin-top:2px;}
#contact-form .checkbox__label{font-size:0.95rem;line-height:1.5;}
#contact-form .checkbox input:focus-visible + .checkbox__box{box-shadow:0 0 0 4px rgba(255,77,46,0.28);}
#contact-form .checkbox input:checked + .checkbox__box{border-color:var(--p23149-accent);background:rgba(255,77,46,0.12);position:relative;}
#contact-form .checkbox input:checked + .checkbox__box:after{content:"";position:absolute;left:5px;top:2px;width:8px;height:12px;border-right:3px solid var(--p23149-accent);border-bottom:3px solid var(--p23149-accent);transform:rotate(38deg);}
#contact-form .contact-form__actions{display:flex;flex-direction:column;gap:0.9rem;}
#contact-form .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:14px;padding:0.85rem 1.05rem;font-weight:800;border:1px solid transparent;cursor:pointer;letter-spacing:0.01em;}
#contact-form .btn--primary{background:var(--p23149-primary);color:var(--p23149-ink);box-shadow:0 10px 24px rgba(255,77,46,0.18);}
#contact-form .btn--primary:hover{background:rgba(255,77,46,0.92);}
#contact-form .btn--primary:active{transform:translateY(1px);}
#contact-form .btn--primary:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(255,77,46,0.35),0 10px 24px rgba(255,77,46,0.18);}
#contact-form .contact-form__disclaimer{margin:0;color:rgba(27,27,27,0.78);font-size:0.875rem;line-height:1.45;}
#contact-form::selection{background:rgba(255,77,46,0.25);}
@media (max-width: 768px){#contact-form .contact-form__row{grid-template-columns:1fr;}#contact-form .contact-form__form{padding:1rem;}#contact-form textarea{min-height:110px;}}
@media (prefers-reduced-motion: reduce){#contact-form *{scroll-behavior:auto;transition:none !important;animation:none !important;}}

/* p23149:form-disclaimer */
/* p23149:form-disclaimer */
#form-disclaimer{background:var(--p23149-secondary);color:var(--p23149-text);padding:clamp(1.5rem,3vw,2.5rem) 0;}
#form-disclaimer .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#form-disclaimer .editorial-block{display:grid;grid-template-columns:14rem 1fr;gap:clamp(1.25rem,3vw,2.5rem);align-items:start;}
#form-disclaimer .label-col{padding-top:0.2rem;}
#form-disclaimer .label{font-family:var(--p23149-serif, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);text-transform:uppercase;letter-spacing:0.12em;font-size:0.78rem;color:var(--p23149-mist);font-weight:650;}
#form-disclaimer .title{font-family:var(--p23149-serif, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);font-size:clamp(1.25rem,2.2vw,2rem);line-height:1.15;margin:0 0 0.75rem 0;color:var(--p23149-text);text-wrap:balance;}
#form-disclaimer .body{margin:0 0 1rem 0;font-size:1rem;line-height:1.6;color:var(--p23149-text);max-width:62ch;}
#form-disclaimer .list{list-style:none;margin:0;padding:0;display:grid;gap:0.65rem;}
#form-disclaimer .list-item{display:flex;gap:0.6rem;align-items:flex-start;line-height:1.55;font-size:0.98rem;}
#form-disclaimer .bullet{width:1.1rem;flex:0 0 1.1rem;color:var(--p23149-accent);font-size:1.2rem;line-height:1.1;margin-top:0.05rem;}
#form-disclaimer .notice{margin-top:1.25rem;border:1px solid var(--p23149-border);border-radius:var(--p23149-radius-md,14px);background:rgba(255,255,255,0.35);padding:1rem 1rem;}
#form-disclaimer .notice-title{font-weight:750;color:var(--p23149-text);margin:0 0 0.35rem 0;}
#form-disclaimer .notice-body{margin:0;color:var(--p23149-text);line-height:1.55;font-size:0.98rem;}
#form-disclaimer *::selection{background:var(--p23149-primary);color:var(--p23149-ink);}
@media (max-width: 900px){#form-disclaimer .editorial-block{grid-template-columns:1fr;gap:1rem;}#form-disclaimer .label-col{padding-top:0;}}
@media (prefers-reduced-motion: reduce){#form-disclaimer *{scroll-behavior:auto;}}
/* Design-system based, handcrafted CSS (no external libraries). */
:root{
  --p23149-primary:#FF4D2E;
  --p23149-secondary:#F4EDE4;
  --p23149-accent:#FF4D2E;
  --p23149-ink:#F6F3EE;
  --p23149-slate:#f0f0f0;
  --p23149-mist:#2B2B2B;
  --p23149-border:#2B2B2B;
  --p23149-surface:#F4EDE4;
  --p23149-bg:#1A1A1A;
  --p23149-text:#1B1B1B;
  --p23149-font:'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif;
  --p23149-radius-sm:10px;
  --p23149-radius-md:14px;
  --p23149-radius-lg:18px;
}

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

.policy-page *{ box-sizing:border-box; }

.policy-header{
  width:100%;
  padding:44px 20px 18px 20px;
}

.policy-title{
  margin:0;
  font-size:34px;
  line-height:1.2;
  letter-spacing:-0.02em;
  color:var(--p23149-secondary);
}

.policy-lead{
  margin:10px 0 0 0;
  color:rgba(244,237,228,0.85);
  font-size:14px;
}

.policy-content{
  width:100%;
  max-width:980px;
  margin:0 auto;
  padding:18px 20px 34px 20px;
  background:var(--p23149-surface);
  border:1px solid rgba(43,43,43,0.25);
  border-radius:var(--p23149-radius-lg);
}

.policy-heading{
  margin:22px 0 10px 0;
  font-size:18px;
  color:var(--p23149-mist);
}

.policy-paragraph{
  margin:10px 0;
  line-height:1.65;
  font-size:15px;
  color:var(--p23149-text);
}

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

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

.policy-card{
  margin:14px 0;
  padding:14px 16px;
  background:rgba(26,26,26,0.04);
  border:1px solid rgba(43,43,43,0.18);
  border-radius:var(--p23149-radius-md);
}

.policy-card-line{
  margin:7px 0;
  font-size:14.5px;
  color:var(--p23149-text);
  line-height:1.5;
}

.policy-link{
  color:var(--p23149-primary);
  text-decoration:none;
  border-bottom:1px solid rgba(255,77,46,0.35);
}
.policy-link:hover{ border-bottom-color:rgba(255,77,46,0.8); }

.policy-footer{
  max-width:980px;
  margin:16px auto 30px auto;
  padding:0 20px;
}

.policy-footer-text{
  margin:0;
  color:rgba(244,237,228,0.75);
  font-size:13px;
}

.policy-page{background:var(--p23149-bg);color:var(--p23149-text);min-height:100vh;font-family:var(--p23149-font);padding:24px;box-sizing:border-box}
.policy-wrapper{max-width:980px;margin:0 auto;background:var(--p23149-surface);border:1px solid var(--p23149-border);border-radius:var(--radius-lg);padding:20px 20px 24px;box-sizing:border-box}
.policy-header{padding:6px 4px 14px;border-bottom:1px solid var(--p23149-border)}
.policy-title{margin:0 0 10px 0;font-size:28px;line-height:1.2;color:var(--p23149-mist);font-family:var(--p23149-font-display)}
.policy-lead{margin:0;font-size:15px;line-height:1.55;color:var(--p23149-mist)}
.policy-section{padding:14px 4px 4px}
.policy-section-title{margin:0 0 10px 0;font-size:18px;line-height:1.3;color:var(--p23149-mist);font-family:var(--p23149-font-display)}
.policy-text{margin:0 0 10px 0;font-size:14.5px;line-height:1.6;color:var(--p23149-mist)}
.policy-list{margin:0 0 10px 18px;padding:0}
.policy-list-item{margin:6px 0;font-size:14.5px;line-height:1.6;color:var(--p23149-mist)}
.policy-footer{margin-top:12px;padding-top:14px;border-top:1px solid var(--p23149-border)}
.policy-footer-title{margin:0 0 10px 0;font-size:18px;line-height:1.3;color:var(--p23149-mist);font-family:var(--p23149-font-display)}
/* Design-system variables */
.policy-page{background:var(--p23149-bg);color:var(--p23149-text);min-height:100vh;font-family:var(--p23149-font);}
.policy-main{max-width:980px;margin:0 auto;padding:28px 18px 44px;display:block;}
.policy-header{background:var(--p23149-surface);border:1px solid var(--p23149-border);border-radius:var(--p23149-lg);padding:22px 18px;margin-bottom:18px;}
.policy-title{font-size:28px;line-height:1.2;margin:0 0 10px;color:var(--p23149-mist);font-family:var(--p23149-font-display);}
.policy-lead{margin:0;color:var(--p23149-mist);font-size:14.5px;line-height:1.55;}
.policy-section{background:var(--p23149-surface);border:1px solid var(--p23149-border);border-radius:var(--p23149-lg);padding:18px;margin:12px 0;}
.policy-heading{margin:0 0 10px;font-size:18px;line-height:1.3;color:var(--p23149-mist);font-family:var(--p23149-font-display);} 
.policy-text{margin:10px 0;color:var(--p23149-mist);font-size:14.5px;line-height:1.6;}
.policy-strong{color:var(--p23149-mist);font-weight:700;}
.policy-list{margin:10px 0 0 18px;padding:0;}
.policy-li{margin:8px 0;line-height:1.6;font-size:14.5px;color:var(--p23149-mist);} 
.policy-footer{margin-top:18px;}
.policy-footer-card{background:var(--p23149-surface);border:1px solid var(--p23149-border);border-radius:var(--p23149-lg);padding:18px;}
.policy-footer-title{margin:0 0 12px;font-size:16.5px;line-height:1.3;color:var(--p23149-mist);font-family:var(--p23149-font-display);} 
.policy-footer-list{list-style:none;margin:0;padding:0;}
.policy-footer-li{margin:9px 0;color:var(--p23149-mist);font-size:14.5px;line-height:1.5;word-break:break-word;}
.policy-footer-label{font-weight:700;color:var(--p23149-mist);} 
.policy-footer-value{color:var(--p23149-mist);} 
.policy-footer-link{color:var(--p23149-primary);text-decoration:underline;}
.policy-disclaimer{margin:14px 2px 0;color:var(--p23149-mist);font-size:12.8px;line-height:1.5;}
@media (max-width:520px){.policy-title{font-size:24px}.policy-section,.policy-footer-card,.policy-header{padding:16px}}
.policy-page{background:var(--p23149-bg);color:var(--p23149-text);font-family:var(--p23149-font);line-height:1.5;min-height:100vh}*{box-sizing:border-box}.policy-container{max-width:980px;margin:0 auto;padding:28px 20px 24px}.policy-header{background:var(--p23149-surface);border:1px solid var(--p23149-border);border-radius:var(--radius-lg);padding:22px 22px 18px;box-shadow:0 10px 26px rgba(0,0,0,.25)}.policy-heading{margin:0 0 10px;font-size:28px;letter-spacing:.2px;color:var(--p23149-mist)}.policy-lead{margin:0;color:var(--p23149-mist);font-size:15px}.policy-section{margin-top:18px;background:rgba(244,237,228,.06);border:1px solid rgba(244,237,228,.18);border-radius:var(--radius-lg);padding:18px 18px}.policy-subheading{margin:0 0 10px;font-size:18px;color:var(--p23149-primary)}.policy-text{margin:0 0 10px;color:var(--p23149-ink);font-size:14.5px}.policy-list{margin:0;padding-left:18px}.policy-list-item{margin:8px 0;color:var(--p23149-ink);font-size:14.5px}.policy-card{margin-top:12px;background:var(--p23149-surface);border:1px solid var(--p23149-border);border-radius:var(--radius-md);padding:14px 14px}.policy-dl{margin:0}.policy-dl-row{display:flex;gap:14px;padding:8px 0;border-bottom:1px solid rgba(43,43,43,.14)}.policy-dl-row:last-child{border-bottom:none}.policy-dt{width:190px;min-width:190px;font-weight:700;color:var(--p23149-mist);font-size:13.5px}.policy-dd{margin:0;color:var(--p23149-mist);font-size:13.5px}.policy-bold{font-weight:700}.policy-footer{margin-top:18px;background:var(--p23149-surface);border-top:1px solid var(--p23149-border)}.policy-footer-inner{max-width:980px;margin:0 auto;padding:18px 20px 26px}.policy-footer-title{margin:0 0 8px;font-size:18px;color:var(--p23149-mist)}.policy-footer-text{margin:0 0 12px;color:var(--p23149-mist);font-size:14.5px}.policy-footer-list{margin:0;padding-left:18px}.policy-footer-item{margin:8px 0;color:var(--p23149-mist);font-size:14.5px}.policy-footer-note{margin-top:14px;color:rgba(27,27,27,.85);font-size:13.5px}.policy-link{color:var(--p23149-primary);text-decoration:underline}.policy-link:hover{opacity:.9}@media (max-width:560px){.policy-container{padding:22px 14px}.policy-header{padding:18px 16px}.policy-subheading{font-size:17px}.policy-heading{font-size:24px}.policy-dl-row{flex-direction:column;gap:6px}.policy-dt{width:auto;min-width:auto}}
/* Design-system variable usage */
.policy-page{
  min-height:100vh;
  background:var(--p23149-bg);
  color:var(--p23149-text);
  font-family:var(--p23149-font);
}
.policy-wrap{
  width:100%;
  max-width:980px;
  margin:0 auto;
  padding:24px 16px 44px;
}
.policy-header{
  padding:18px 16px;
  border-radius:var(--p23149-radius-lg,18px);
  background:linear-gradient(180deg, rgba(255,77,46,0.12), rgba(244,237,228,0.02));
  border:1px solid rgba(255,77,46,0.25);
}
.policy-title{
  margin:0 0 10px;
  font-size:32px;
  line-height:1.15;
  letter-spacing:-0.02em;
  color:var(--p23149-ink);
}
.policy-lead{
  margin:0;
  color:rgba(246,243,238,0.88);
  font-size:15.5px;
  line-height:1.55;
}
.policy-card{
  margin-top:16px;
  background:var(--p23149-surface);
  border:1px solid rgba(43,43,43,0.18);
  border-radius:var(--p23149-radius-md,14px);
  padding:18px 16px;
}
.policy-card-title{
  margin:0 0 10px;
  font-size:18px;
  line-height:1.3;
  color:var(--p23149-mist);
}
.policy-ol{
  margin:0;
  padding-left:20px;
}
.policy-li{
  margin:8px 0;
  color:var(--p23149-text);
  line-height:1.6;
  font-size:14.5px;
}
.policy-muted{
  margin:12px 0 0;
  color:rgba(27,27,27,0.72);
  font-size:13.5px;
  line-height:1.5;
}
.policy-footer{
  margin-top:16px;
  padding:18px 0 0;
}
.policy-footer-block{
  background:rgba(244,237,228,0.04);
  border:1px solid rgba(244,237,228,0.14);
  border-radius:var(--p23149-radius-md,14px);
  padding:16px;
  margin-top:14px;
}
.policy-footer-title{
  margin:0 0 8px;
  color:var(--p23149-ink);
  font-size:16.5px;
  line-height:1.35;
}
.policy-footer-text{margin-top:6px;}
.policy-p{
  margin:8px 0;
  color:rgba(246,243,238,0.9);
  font-size:14.5px;
  line-height:1.55;
}
.policy-note{
  margin-top:12px;
  padding-top:10px;
  border-top:1px dashed rgba(246,243,238,0.22);
}
.policy-legal{
  margin:12px 0 0;
  color:rgba(246,243,238,0.78);
  font-size:12.8px;
  line-height:1.5;
}
.policy-link{
  color:var(--p23149-primary);
  text-decoration:none;
  border-bottom:1px solid rgba(255,77,46,0.35);
}
.policy-link:hover{border-bottom-color:rgba(255,77,46,0.8);}
.policy-language-block .policy-p{color:rgba(246,243,238,0.86);} 
@media (max-width:520px){
  .policy-title{font-size:28px;}
  .policy-wrap{padding-left:12px; padding-right:12px;}
}

section[data-p23149-foi]:not([data-p23149-foi='header']):not([data-p23149-foi='footer']) { position: relative; }
section[data-p23149-foi]:not([data-p23149-foi='header']):not([data-p23149-foi='footer']) { border-top: 1px solid var(--p23149-border); }
section[data-p23149-foi]:not([data-p23149-foi='header']) h1,section[data-p23149-foi]:not([data-p23149-foi='header']) h2 { max-width: 20ch; letter-spacing: -0.035em; }
section[data-p23149-foi]:nth-of-type(even)::before { content: ''; position: absolute; top: 0; left: 0; width: 5rem; border-top: 3px solid var(--p23149-accent); }
:root {
  --p23149-c-content-width: 72rem;
  --p23149-c-gutter: clamp(1rem, 4vw, 3rem);
  --p23149-c-measure: 65ch;
  --p23149-c-heading-display: clamp(2.5rem, 6vw, 5.5rem);
}
[data-p23149-dr] { scroll-margin-top: 1.5rem; }
main > section, main [data-p23149-foi] { padding-inline: var(--p23149-c-gutter); }
[data-p23149-dr*='article'], [data-p23149-dr*='review'] { max-width: var(--p23149-c-measure); }
h1 { font-size: var(--p23149-c-heading-display); }
@media (max-width: 768px) { [data-p23149-dr] { min-width: 0; } }