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

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

/* sections */
/* j8148:header */
/* j8148:header */
#header{background:var(--j8148-surface);border-bottom:1px solid var(--j8148-border);position:sticky;top:0;z-index:50}
#header .header-inner{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
#header .brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--j8148-ink)}
#header .brand-mark{width:26px;height:26px;border-radius:50%;background:var(--j8148-bg);border:1px solid var(--j8148-border);display:grid;place-items:center;font-size:14px;line-height:1;flex:0 0 auto;color:var(--j8148-accent)}
#header .brand-text{font-family:var(--font-family-sans);font-weight:800;letter-spacing:-.02em}
#header .nav{display:flex;align-items:center;gap:1.1rem}
#header .nav-link{font-family:var(--font-family-sans);font-size:0.95rem;color:var(--j8148-text);text-decoration:none;padding:.6rem .65rem;border-radius:12px;border:1px solid transparent;white-space:nowrap}
#header .nav-link:focus-visible{outline:3px solid rgba(14,124,123,.35);outline-offset:2px}
#header .nav-link:hover{border-color:var(--j8148-border);background:rgba(217,208,190,.35)}
#header .nav-cta{background:var(--j8148-primary);color:var(--j8148-surface);border-color:var(--j8148-primary);padding:.65rem .8rem}
#header .nav-cta:hover{filter:brightness(1.02)}
#header .mobile-actions{display:none}
#header .menu-toggle{appearance:none;border:1px solid var(--j8148-border);background:var(--j8148-surface);color:var(--j8148-ink);border-radius:14px;padding:.65rem .85rem;font-family:var(--font-family-sans);font-weight:700;min-height:44px;cursor:pointer}
#header .menu-toggle:focus-visible{outline:3px solid rgba(14,124,123,.35);outline-offset:2px}
#header .mobile-menu{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem) 1rem}
#header .mobile-menu-inner{background:var(--j8148-surface);border:1px solid var(--j8148-border);border-radius:16px;padding:.75rem;display:flex;flex-direction:column;gap:.35rem}
#header .mobile-link{display:block;text-decoration:none;color:var(--j8148-text);font-family:var(--font-family-sans);font-size:1rem;padding:.75rem .8rem;border-radius:14px;border:1px solid transparent}
#header .mobile-link:hover{border-color:var(--j8148-border);background:rgba(217,208,190,.35)}
#header .mobile-link:focus-visible{outline:3px solid rgba(14,124,123,.35);outline-offset:2px}
#header .mobile-link-cta{background:var(--j8148-primary);color:var(--j8148-surface);border-color:var(--j8148-primary)}
@media (max-width:768px){#header .nav{display:none}#header .mobile-actions{display:block}}
@media (prefers-reduced-motion:reduce){#header *{scroll-behavior:auto !important;transition:none !important;animation:none !important}}
/* j8148:footer */
#footer.footer{background:var(--j8148-bg);color:var(--j8148-ink);padding:clamp(2.25rem,4vw,4rem) 0;border-top:1px solid var(--j8148-border)}
#footer.footer .footer-inner{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}
#footer.footer .footer-top{display:grid;grid-template-columns:1.15fr 0.85fr 1fr;gap:clamp(1.25rem,3.4vw,2.5rem);align-items:start}
#footer.footer .footer-brand{display:flex;gap:0.9rem;align-items:flex-start}
#footer.footer .brand-mark{width:2.5rem;height:2.5rem;border:1px solid var(--j8148-border);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--j8148-primary);background:var(--j8148-surface);font-size:1.2rem;line-height:1}
#footer.footer .brand-name{font-family:var(--font-serif);font-weight:700;font-size:1.25rem;letter-spacing:-0.01em}
#footer.footer .brand-tag{margin-top:0.35rem;font-size:0.95rem;color:var(--j8148-slate);line-height:1.35}
#footer.footer .footer-meta-title{font-weight:700;margin-bottom:0.6rem}
#footer.footer .footer-disclaimer{margin:0;color:var(--j8148-text);line-height:1.55;font-size:0.98rem}
#footer.footer .footer-nav-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0.7rem}
#footer.footer .footer-link{color:var(--j8148-text);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:0.15rem;display:inline-block}
#footer.footer .footer-link:focus-visible{outline:3px solid rgba(14,124,123,0.35);outline-offset:3px;border-bottom-color:var(--j8148-primary);border-radius:6px}
#footer.footer .footer-link:hover{border-bottom-color:var(--j8148-primary)}
#footer.footer .footer-link-inline{color:var(--j8148-text);text-decoration:underline;text-decoration-color:var(--j8148-border);text-underline-offset:3px}
#footer.footer .footer-link-inline:focus-visible{outline:3px solid rgba(14,124,123,0.35);outline-offset:3px;border-radius:6px}
#footer.footer .footer-bottom{margin-top:clamp(1.8rem,4vw,3rem);display:grid;grid-template-columns:1.35fr 0.65fr;gap:clamp(1.25rem,3.4vw,2.5rem);align-items:start}
#footer.footer .footer-company-title,#footer.footer .footer-legal-title{font-weight:700;margin-bottom:0.8rem}
#footer.footer .footer-company-grid{display:grid;grid-template-columns:1fr;gap:0.55rem}
#footer.footer .footer-row{display:flex;gap:0.55rem;flex-wrap:wrap;line-height:1.45}
#footer.footer .footer-k{color:var(--j8148-slate);min-width:8.5rem;font-size:0.92rem}
#footer.footer .footer-v{color:var(--j8148-text);font-size:0.95rem}
#footer.footer .footer-legal-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0.65rem}
#footer.footer .footer-copy{margin-top:1.1rem;color:var(--j8148-slate);font-size:0.92rem}
#footer.footer ::selection{background:rgba(14,124,123,0.22)}
@media (max-width: 1024px){#footer.footer .footer-top{grid-template-columns:1fr;gap:1.2rem}#footer.footer .footer-bottom{grid-template-columns:1fr;gap:1.2rem}}
@media (prefers-reduced-motion: reduce){#footer.footer .footer-link:hover{border-bottom-color:transparent}}
/* j8148:trust-strip */
/* j8148:trust-strip */
#trust-strip.trust-strip{background:var(--j8148-bg);border-top:1px solid var(--j8148-border);border-bottom:1px solid var(--j8148-border);}
#trust-strip .trust-strip__inner{max-width:72rem;margin:0 auto;padding:1.1rem clamp(1rem,4vw,3rem);display:flex;gap:1rem;align-items:flex-start;}
#trust-strip .trust-strip__badge{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:var(--j8148-surface);border:1px solid var(--j8148-border);color:var(--j8148-primary);display:flex;align-items:center;justify-content:center;font-weight:800;line-height:1;box-shadow:0 8px 20px rgba(8,95,94,.10);}
#trust-strip .trust-strip__content{min-width:0;}
#trust-strip .trust-strip__title{margin:0 0 .4rem 0;font-family:var(--font-serif);font-size:1.125rem;letter-spacing:-.01em;color:var(--j8148-ink);text-wrap:balance;}
#trust-strip .trust-strip__text{margin:0;color:var(--j8148-text);font-size:1rem;line-height:1.55;}
#trust-strip .trust-strip__small{margin-top:.35rem;color:var(--j8148-slate);font-size:.925rem;}
#trust-strip *::selection{background:rgba(14,124,123,.18);}
@media (max-width:640px){#trust-strip .trust-strip__inner{align-items:flex-start;gap:.8rem;}#trust-strip .trust-strip__title{font-size:1.05rem;}}
@media (prefers-reduced-motion:reduce){#trust-strip{scroll-behavior:auto;}}
/* j8148:hero-trip-builder */
#hero-trip-builder{--s:16px;box-sizing:border-box;background:var(--j8148-bg);color:var(--j8148-ink);padding:clamp(1.5rem,4vw,3rem) 0 0;font-family:var(--j8148-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif)}
#hero-trip-builder*,#hero-trip-builder*::before,#hero-trip-builder*::after{box-sizing:border-box}
#hero-trip-builder .hero-top{max-width:72rem;margin:0 auto;padding:0 var(--gutter, clamp(1rem,4vw,3rem))}
#hero-trip-builder .hero-nav{display:flex;align-items:center;gap:1rem;justify-content:space-between;padding:0 0 1.1rem}
#hero-trip-builder .hero-logo{font-weight:800;letter-spacing:-0.02em;color:var(--j8148-ink);text-decoration:none;font-size:1.05rem}
#hero-trip-builder .hero-menu-toggle{display:none;min-height:44px;padding:0.6rem 0.9rem;border-radius:var(--j8148-radius-md,14px);border:1px solid var(--j8148-border);background:var(--j8148-surface);color:var(--j8148-ink);font-weight:700}
#hero-trip-builder .hero-menu{display:flex;gap:1rem;align-items:center}
#hero-trip-builder .hero-menu a{color:var(--j8148-ink);text-decoration:none;font-weight:650;font-size:0.95rem}
#hero-trip-builder .hero-menu a:focus-visible,#hero-trip-builder .hero-logo:focus-visible,#hero-trip-builder button:focus-visible,#hero-trip-builder a:focus-visible{outline:3px solid color-mix(in srgb,var(--j8148-primary) 45%, white 55%);outline-offset:2px}
#hero-trip-builder .trust-strip{display:flex;gap:1rem;flex-wrap:wrap;justify-content:space-between;border:1px solid var(--j8148-border);background:rgba(255,255,255,0.65);border-radius:16px;padding:0.95rem 1rem;margin:0 0 1.2rem}
#hero-trip-builder .trust-item{display:flex;flex-direction:column;gap:0.25rem;min-width:min(30rem,100%)}
#hero-trip-builder .trust-item strong{font-weight:900;letter-spacing:-0.015em}
#hero-trip-builder .trust-item span{color:color-mix(in srgb,var(--j8148-slate) 75%, var(--j8148-text) 25%);font-weight:600}
#hero-trip-builder .hero-layout{max-width:72rem;margin:0 auto;padding:0 var(--gutter, clamp(1rem,4vw,3rem)) clamp(2rem,6vw,5rem);display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1rem,3vw,2rem)}
#hero-trip-builder .hero-left{grid-column:1 / span 7}
#hero-trip-builder .hero-right{grid-column:8 / span 5}
#hero-trip-builder .hero-title{font-family:var(--j8148-serif, 'Avenir Next', Avenir, 'Segoe UI', 'Century Gothic', sans-serif);font-size:clamp(2rem,4vw,4rem);line-height:1.05;margin:0 0 0.65rem;letter-spacing:-0.03em;text-wrap:balance}
#hero-trip-builder .hero-subtitle{margin:0 0 1.1rem;color:color-mix(in srgb,var(--j8148-slate) 80%, var(--j8148-text) 20%);font-weight:650;max-width:38rem}
#hero-trip-builder .constraints{border:1px solid var(--j8148-border);background:var(--j8148-surface);border-radius:16px;padding:1rem}
#hero-trip-builder .chip-row{display:flex;flex-wrap:wrap;gap:0.6rem;margin:0 0 1rem}
#hero-trip-builder .constraint-chip{min-height:44px;padding:0.55rem 0.85rem;border-radius:999px;border:1px solid var(--j8148-border);background:var(--j8148-surface);color:var(--j8148-ink);font-weight:750;cursor:pointer}
#hero-trip-builder .constraint-chip[aria-pressed="true"]{border-color:var(--j8148-primary);background:color-mix(in srgb,var(--j8148-primary) 14%, var(--j8148-surface) 86%)}
#hero-trip-builder .steps{padding-top:0.4rem}
#hero-trip-builder .step-head{font-weight:900;letter-spacing:-0.02em;margin-bottom:0.65rem}
#hero-trip-builder .step-number{font-variant-numeric:tabular-nums}
#hero-trip-builder .step-chips{display:flex;gap:0.6rem;align-items:center}
#hero-trip-builder .day-chip{min-height:44px;padding:0.55rem 0.85rem;border-radius:999px;border:1px solid var(--j8148-border);background:var(--j8148-surface);color:var(--j8148-ink);font-weight:850;cursor:pointer}
#hero-trip-builder .day-chip.is-active{border-color:var(--j8148-primary);background:color-mix(in srgb,var(--j8148-primary) 16%, var(--j8148-surface) 84%)}
#hero-trip-builder .step-rail{height:8px;border-radius:999px;background:color-mix(in srgb,var(--j8148-border) 60%, white 40%);margin-top:0.65rem;overflow:hidden}
#hero-trip-builder .step-rail-fill{display:block;height:100%;background:var(--j8148-primary);border-radius:999px;transition:width 180ms ease}
#hero-trip-builder .builder-form{margin-top:1.1rem}
#hero-trip-builder .form-grid{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:0.85rem}
#hero-trip-builder .field{display:flex;flex-direction:column;gap:0.45rem}
#hero-trip-builder .label{font-size:0.875rem;font-weight:850;color:color-mix(in srgb,var(--j8148-slate) 70%, var(--j8148-text) 30%)}
#hero-trip-builder .control{min-height:44px;padding:0.65rem 0.75rem;border-radius:14px;border:1px solid var(--j8148-border);background:var(--j8148-surface);color:var(--j8148-ink);font-weight:650}
#hero-trip-builder .form-actions{display:flex;gap:0.85rem;align-items:center;flex-wrap:wrap;margin-top:1rem}
#hero-trip-builder .primary-btn{min-height:44px;padding:0.7rem 1rem;border-radius:14px;border:1px solid var(--j8148-primary);background:var(--j8148-primary);color:var(--j8148-surface);font-weight:900;cursor:pointer}
#hero-trip-builder .ghost-btn{min-height:44px;padding:0.7rem 1rem;border-radius:14px;border:1px solid var(--j8148-border);background:var(--j8148-surface);color:var(--j8148-ink);font-weight:900;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
#hero-trip-builder .primary-btn:hover{filter:brightness(1.02)}
#hero-trip-builder .ghost-btn:hover{border-color:color-mix(in srgb,var(--j8148-primary) 45%, var(--j8148-border) 55%)}
#hero-trip-builder .primary-btn:disabled,#hero-trip-builder .ghost-btn:disabled{opacity:0.65;cursor:not-allowed}
#hero-trip-builder .disclaimer{margin:0.9rem 0 0;color:color-mix(in srgb,var(--j8148-slate) 80%, var(--j8148-text) 20%);font-weight:650;line-height:1.35}
#hero-trip-builder .preview-stack{display:flex;flex-direction:column;gap:0.9rem}
#hero-trip-builder .day-card{border-radius:16px;border:1px solid var(--j8148-border);background:rgba(255,255,255,0.75);padding:1rem;box-shadow:0 10px 26px rgba(13,124,123,0.08);transform:translateY(0)}
#hero-trip-builder .day-card[aria-current="true"]{border-color:var(--j8148-primary);background:color-mix(in srgb,var(--j8148-primary) 9%, var(--j8148-surface) 91%)}
#hero-trip-builder .day-card:focus-visible{outline:3px solid color-mix(in srgb,var(--j8148-primary) 45%, white 55%);outline-offset:2px}
#hero-trip-builder .day-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:0.75rem}
#hero-trip-builder .day-card-title{margin:0;font-family:var(--j8148-serif, 'Avenir Next', Avenir, 'Segoe UI', 'Century Gothic', sans-serif);font-size:1.25rem;line-height:1.15;letter-spacing:-0.02em}
#hero-trip-builder .day-date{min-width:5rem;text-align:right;color:var(--j8148-slate);font-weight:900;font-variant-numeric:tabular-nums}
#hero-trip-builder .day-meta{margin-top:0.75rem;display:flex;flex-direction:column;gap:0.42rem}
#hero-trip-builder .meta-row{display:flex;justify-content:space-between;gap:0.75rem;font-size:0.875rem}
#hero-trip-builder .meta-key{color:color-mix(in srgb,var(--j8148-slate) 80%, var(--j8148-text) 20%);font-weight:850}
#hero-trip-builder .meta-val{color:var(--j8148-ink);font-weight:800;text-align:right;max-width:60%}
#hero-trip-builder .day-primary{margin:0.85rem 0 0;color:var(--j8148-ink);font-weight:800;line-height:1.3}
#hero-trip-builder .day-primary strong{font-weight:950}
#hero-trip-builder .day-micro{margin:0.55rem 0 0;color:color-mix(in srgb,var(--j8148-slate) 80%, var(--j8148-text) 20%);font-weight:700}
#hero-trip-builder .day-anatomy{margin-top:1rem;border:1px dashed color-mix(in srgb,var(--j8148-primary) 35%, var(--j8148-border) 65%);border-radius:16px;padding:0.95rem;background:rgba(255,255,255,0.55)}
#hero-trip-builder .day-anatomy-head{font-weight:950;letter-spacing:-0.02em;margin-bottom:0.7rem}
#hero-trip-builder .anatomy-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.6rem}
#hero-trip-builder .anatomy-pill{padding:0.55rem 0.7rem;border-radius:999px;border:1px solid var(--j8148-border);background:var(--j8148-surface);font-weight:850;font-size:0.875rem;color:var(--j8148-ink);text-align:center}
#hero-trip-builder .preview-controls{display:flex;gap:0.85rem;justify-content:space-between;align-items:center;margin-top:1rem}
#hero-trip-builder .preview-controls .primary-btn,#hero-trip-builder .preview-controls .ghost-btn{flex:1}
#hero-trip-builder .preview-note{margin-top:0.9rem;color:color-mix(in srgb,var(--j8148-slate) 78%, var(--j8148-text) 22%);font-weight:700;line-height:1.35}
@media (max-width: 1024px){#hero-trip-builder .hero-left{grid-column:1 / span 12}#hero-trip-builder .hero-right{grid-column:1 / span 12}#hero-trip-builder .preview-controls{justify-content:flex-start}#hero-trip-builder .preview-controls .primary-btn,#hero-trip-builder .preview-controls .ghost-btn{flex:initial;min-width:10rem}}
@media (max-width: 640px){#hero-trip-builder .form-grid{grid-template-columns:1fr}#hero-trip-builder .trust-strip{padding:0.8rem}#hero-trip-builder .hero-menu-toggle{display:inline-flex}#hero-trip-builder .hero-menu{display:none}#hero-trip-builder .hero-nav{gap:0.75rem}#hero-trip-builder .day-card-title{font-size:1.15rem}#hero-trip-builder .anatomy-grid{grid-template-columns:1fr}}
#hero-trip-builder .hero-menu[aria-hidden="false"]{display:flex;flex-direction:column;gap:0.65rem;position:absolute;right:var(--gutter, clamp(1rem,4vw,3rem));top:6.5rem;background:var(--j8148-surface);border:1px solid var(--j8148-border);border-radius:16px;padding:0.85rem 0.9rem;min-width:12rem}
#hero-trip-builder .day-card{opacity:1;transition:transform 180ms ease, box-shadow 180ms ease, background 180ms ease}
#hero-trip-builder .day-card[data-animate="in"]{transform:translateY(0);box-shadow:0 14px 36px rgba(13,124,123,0.14)}
#hero-trip-builder ::selection{background:color-mix(in srgb,var(--j8148-primary) 24%, white 76%)}
@media (prefers-reduced-motion: reduce){#hero-trip-builder .step-rail-fill,#hero-trip-builder .day-card{transition:none}}

/* j8148:itinerary-builder */
/* j8148:itinerary-builder */

#itinerary-builder{--radius-sm:12px;--radius-md:14px;--radius-lg:16px;--shadow:0 10px 30px rgba(20,24,26,.08);--shadow-soft:0 8px 22px rgba(20,24,26,.06);background:var(--j8148-bg);color:var(--j8148-ink);padding:clamp(2.25rem,6vw,4.25rem) 0}
#itinerary-builder *{box-sizing:border-box}
#itinerary-builder .container{width:min(72rem,calc(100% - clamp(1.25rem,4vw,3rem)));margin:0 auto}
#itinerary-builder .section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.25rem;margin-bottom:clamp(1.5rem,3vw,2.25rem)}
#itinerary-builder .section-title{font-family:var(--j8148-font-serif, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);font-size:clamp(1.6rem,2.6vw,2.25rem);letter-spacing:-.02em;line-height:1.1;margin:0}
#itinerary-builder .section-subtitle{margin:0;color:var(--j8148-slate);font-size:1rem;max-width:28rem}
#itinerary-builder .itinerary-layout{display:grid;grid-template-columns:7fr 5fr;gap:clamp(1.25rem,3vw,2.5rem);align-items:start}
#itinerary-builder .days-col{min-width:0}
#itinerary-builder .progress-rail{position:sticky;top:1.1rem;display:flex;flex-direction:column;gap:.6rem;margin-bottom:1rem;padding:.85rem .9rem;background:var(--j8148-surface);border:1px solid var(--j8148-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}
#itinerary-builder .progress-label{font-size:.95rem;color:var(--j8148-ink);font-weight:700}
#itinerary-builder .progress-track{height:8px;background:rgba(20,24,26,.08);border-radius:999px;overflow:hidden}
#itinerary-builder .progress-fill{height:100%;background:var(--j8148-primary);transition:width 160ms ease}
#itinerary-builder .days-list{display:flex;flex-direction:column;gap:.9rem;margin:0}
#itinerary-builder .day-card{background:var(--j8148-surface);border:1px solid var(--j8148-border);border-radius:var(--radius-lg);padding:1.05rem 1.05rem 1.1rem;box-shadow:none;outline:none;cursor:pointer;transition:border-color 160ms ease,box-shadow 160ms ease,transform 160ms ease}
#itinerary-builder .day-card:focus-visible{box-shadow:0 0 0 3px rgba(14,124,123,.25)}
#itinerary-builder .day-card[aria-pressed="true"]{border-color:var(--j8148-primary);box-shadow:0 0 0 1px rgba(14,124,123,.35), var(--shadow-soft)}
#itinerary-builder .day-card[aria-pressed="false"]{border-color:rgba(217,208,190,.95)}
#itinerary-builder .day-card[data-day-index]{transform:translateY(0)}
#itinerary-builder .day-card[aria-pressed="true"] .activity-line{color:var(--j8148-ink)}
#itinerary-builder .day-title{font-family:var(--j8148-font-serif, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);font-size:1.35rem;letter-spacing:-.01em;line-height:1.2;margin-bottom:.4rem}
#itinerary-builder .meta-row{font-size:.93rem;color:var(--j8148-slate);margin-top:.22rem}
#itinerary-builder .activity-line{margin-top:.75rem;font-weight:800;color:var(--j8148-slate);font-size:1rem;line-height:1.35}
#itinerary-builder .evidence-callout{margin-top:1.1rem;background:rgba(217,208,190,.35);border:1px solid rgba(217,208,190,.9);border-radius:var(--radius-lg);padding:1rem 1.05rem}
#itinerary-builder .evidence-title{font-weight:900;color:var(--j8148-ink);letter-spacing:-.01em;margin-bottom:.65rem}
#itinerary-builder .evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}
#itinerary-builder .evidence-item{padding:.65rem .75rem;background:rgba(255,255,255,.55);border:1px solid rgba(217,208,190,.65);border-radius:12px}
#itinerary-builder .evidence-key{font-size:.9rem;color:var(--j8148-ink);font-weight:700}
#itinerary-builder .disclaimer{margin-top:1.15rem;padding:1rem 1.05rem;border:1px solid rgba(217,208,190,.85);border-radius:var(--radius-lg);background:var(--j8148-surface)}
#itinerary-builder .disclaimer-title{font-weight:900;margin-bottom:.35rem}
#itinerary-builder .disclaimer-text{color:var(--j8148-slate);font-size:.95rem;line-height:1.45}
#itinerary-builder .map-col{min-width:0}
#itinerary-builder .sticky-map{position:sticky;top:1.1rem;padding:1.05rem;background:var(--j8148-surface);border:1px solid var(--j8148-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}
#itinerary-builder .map-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.7rem}
#itinerary-builder .map-title{font-weight:950;letter-spacing:-.02em;font-size:1.05rem}
#itinerary-builder .map-sub{color:var(--j8148-slate);font-size:.95rem}
#itinerary-builder .map-active{font-weight:900;color:var(--j8148-ink)}
#itinerary-builder .map-surface{position:relative;border-radius:14px;overflow:hidden;border:1px solid rgba(217,208,190,.9);background:linear-gradient(180deg, rgba(246,241,230,.6), rgba(246,241,230,.35))}
#itinerary-builder .map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(20,24,26,.08) 1px, transparent 1px),linear-gradient(90deg, rgba(20,24,26,.08) 1px, transparent 1px);background-size:34px 34px;opacity:.55}
#itinerary-builder .map-route{position:absolute;left:8%;top:18%;width:84%;height:64%;border-radius:20px;border:2px solid rgba(14,124,123,.22);opacity:.7;transition:opacity 180ms ease}
#itinerary-builder .map-marker{position:absolute;display:flex;flex-direction:column;align-items:center;gap:.1rem;background:transparent;border:none;cursor:pointer;padding:0;outline:none;transition:transform 120ms ease}
#itinerary-builder .map-marker:focus-visible .marker-dot{box-shadow:0 0 0 3px rgba(14,124,123,.25)}
#itinerary-builder .map-marker[data-marker-for="day-1"]{left:18%;top:30%}
#itinerary-builder .map-marker[data-marker-for="day-2"]{left:55%;top:38%}
#itinerary-builder .map-marker[data-marker-for="day-3"]{left:66%;top:62%}
#itinerary-builder .marker-dot{width:16px;height:16px;border-radius:999px;background:rgba(14,124,123,.18);border:2px solid rgba(14,124,123,.35);transition:background 160ms ease,border-color 160ms ease,transform 160ms ease}
#itinerary-builder .marker-label{font-weight:900;font-size:.85rem;color:var(--j8148-slate);transition:color 160ms ease}
#itinerary-builder .map-marker[aria-current="true"] .marker-dot{background:var(--j8148-primary);border-color:var(--j8148-primary);transform:scale(1.08)}
#itinerary-builder .map-marker[aria-current="true"] .marker-label{color:var(--j8148-ink)}
#itinerary-builder .map-legend{margin-top:.85rem;display:flex;flex-direction:column;gap:.45rem}
#itinerary-builder .legend-row{display:flex;align-items:center;gap:.6rem;color:var(--j8148-slate);font-size:.92rem}
#itinerary-builder .legend-dot{width:12px;height:12px;border-radius:999px;background:rgba(14,124,123,.14);border:2px solid rgba(14,124,123,.25)}
#itinerary-builder .legend-dot.active{background:var(--j8148-primary);border-color:var(--j8148-primary)}
#itinerary-builder .map-actions{margin-top:1rem}
#itinerary-builder .ghost-link{display:inline-block;text-decoration:none;color:var(--j8148-ink);font-weight:850;border:1px solid rgba(217,208,190,.95);background:rgba(255,255,255,.8);padding:.85rem 1rem;border-radius:14px;transition:background 160ms ease,border-color 160ms ease,transform 160ms ease}
#itinerary-builder .ghost-link:hover{background:var(--j8148-surface);border-color:rgba(14,124,123,.45)}
#itinerary-builder .ghost-link:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(14,124,123,.25)}
#itinerary-builder .day-card[aria-pressed="true"]{transform:translateY(-2px)}
#itinerary-builder .day-card .activity-line{text-wrap:balance}
#itinerary-builder ::selection{background:rgba(14,124,123,.22)}

@media (max-width:1024px){
  #itinerary-builder .itinerary-layout{grid-template-columns:1fr;gap:1.25rem}
  #itinerary-builder .map-col{order:2}
  #itinerary-builder .sticky-map{position:relative;top:auto}
  #itinerary-builder .progress-rail{position:relative;top:auto}
  #itinerary-builder .evidence-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  #itinerary-builder .section-head{flex-direction:column;align-items:flex-start}
  #itinerary-builder .evidence-grid{grid-template-columns:1fr}
  #itinerary-builder .day-card{padding:1rem}
}
@media (prefers-reduced-motion:reduce){
  #itinerary-builder .progress-fill, #itinerary-builder .map-marker, #itinerary-builder .map-route, #itinerary-builder .day-card{transition:none!important;animation:none!important}
}

/* j8148:whats-included */
/* j8148:whats-included */
#whats-included.whats-included{background:var(--j8148-bg);color:var(--j8148-text);padding:clamp(2.5rem,6vw,5rem) 0;}
#whats-included .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#whats-included .section-head{display:flex;gap:1.25rem;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;margin-bottom:1.75rem;}
#whats-included .section-title{font-family:var(--font-serif, 'Avenir Next'), var(--j8148-sans);font-size:clamp(1.6rem,3.2vw,2.3rem);letter-spacing:-0.02em;line-height:1.15;margin:0;}
#whats-included .section-subtitle{margin:0;max-width:44rem;color:var(--j8148-text);font-size:1rem;line-height:1.6;}
#whats-included .inclusions-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;}
#whats-included .inclusion-card{grid-column:span 6;background:var(--j8148-surface);border:1px solid var(--j8148-border);border-radius:var(--radius-md,14px);padding:1.25rem 1.2rem;box-shadow:0 10px 30px rgba(20,24,26,0.06);}
#whats-included .card-top{display:flex;gap:0.75rem;align-items:flex-start;margin-bottom:0.75rem;}
#whats-included .card-icon{width:2.25rem;height:2.25rem;border-radius:12px;background:rgba(14,124,123,0.10);display:flex;align-items:center;justify-content:center;font-size:1.05rem;flex:0 0 auto;}
#whats-included .card-title{margin:0;font-size:1.15rem;line-height:1.25;font-family:var(--font-serif, 'Avenir Next');letter-spacing:-0.01em;color:var(--j8148-ink);}
#whats-included .card-list{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:0.45rem;}
#whats-included .card-list li{color:var(--j8148-text);line-height:1.55;font-size:0.98rem;}
#whats-included .card-list strong{font-weight:700;}
#whats-included .disclaimer{margin:1.4rem 0 0;max-width:70rem;font-size:0.95rem;line-height:1.6;color:var(--j8148-slate);}
#whats-included .quick-links{margin-top:1.5rem;display:flex;gap:0.75rem;flex-wrap:wrap;align-items:center;}
#whats-included .link-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0.75rem 1rem;border-radius:var(--radius-sm,12px);background:var(--j8148-primary);color:var(--j8148-surface);text-decoration:none;border:1px solid var(--j8148-primary);font-weight:700;letter-spacing:0.01em;}
#whats-included .link-button.secondary{background:var(--j8148-surface);color:var(--j8148-ink);border:1px solid var(--j8148-border);}
#whats-included .link-button:focus-visible{outline:3px solid rgba(14,124,123,0.35);outline-offset:2px;}
#whats-included .link-button:hover{filter:brightness(0.98);}
#whats-included .link-button.secondary:hover{border-color:rgba(14,124,123,0.55);}
#whats-included ::selection{background:rgba(14,124,123,0.22);}
@media (max-width: 900px){#whats-included .inclusion-card{grid-column:span 12;}}
@media (prefers-reduced-motion: reduce){#whats-included .inclusion-card{transition:none;}}

/* j8148:contact */
#contact{--_bg:var(--j8148-bg);--_surface:var(--j8148-surface);--_ink:var(--j8148-ink);--_slate:var(--j8148-slate);--_border:var(--j8148-border);--_accent:var(--j8148-primary);}#contact{box-sizing:border-box;padding:clamp(1.75rem,4vw,3rem) 0;background:var(--j8148-bg);color:var(--j8148-text);}#contact *,#contact *::before,#contact *::after{box-sizing:inherit;}#contact .contact-shell{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);display:grid;grid-template-columns:1fr;gap:clamp(1.25rem,3.2vw,2.25rem);}#contact .contact-intro{max-width:40rem;}#contact .contact-title{margin:0 0 .65rem 0;font-family:'Avenir Next',Avenir,'Segoe UI',system-ui,sans-serif;font-size:clamp(1.6rem,3.2vw,2.25rem);letter-spacing:-0.02em;line-height:1.1;color:var(--j8148-ink);text-wrap:balance;}#contact .contact-lede{margin:0 0 .9rem 0;font-size:1rem;line-height:1.65;color:var(--j8148-text);}#contact .contact-note{margin:0;font-size:.95rem;line-height:1.6;color:var(--j8148-slate);}#contact .contact-form{background:var(--j8148-surface);border:1px solid var(--j8148-border);border-radius:var(--j8148-radius,16px);border-radius:var(--j8148-radius,16px);}#contact .contact-form{padding:clamp(1rem,2.6vw,1.5rem);display:flex;flex-direction:column;gap:1rem;}#contact .contact-help{margin:0;font-size:.9rem;line-height:1.4;color:var(--j8148-slate);}#contact .field-row{display:grid;grid-template-columns:1fr;gap:.4rem;}#contact .field{font-size:.9rem;line-height:1.2;color:var(--j8148-text);font-weight:600;}#contact .input,#contact .select,#contact .textarea{width:100%;border-radius:var(--j8148-radius,14px);border:1px solid var(--j8148-border);background:var(--j8148-surface);padding:.85rem .9rem;font-size:1rem;line-height:1.4;color:var(--j8148-ink);outline:none;}#contact .textarea{resize:vertical;min-height:140px;}#contact .input::placeholder,#contact .textarea::placeholder{color:var(--j8148-slate);}#contact .input:focus-visible,#contact .select:focus-visible,#contact .textarea:focus-visible{border-color:var(--j8148-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--j8148-primary) 22%, transparent);}#contact .select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--j8148-slate) 50%),linear-gradient(135deg, var(--j8148-slate) 50%, transparent 50%);background-position:calc(100% - 18px) calc(1rem + 2px),calc(100% - 12px) calc(1rem + 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;}#contact .form-actions{display:flex;flex-direction:column;gap:.75rem;}#contact .primary-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.95rem 1rem;border-radius:var(--j8148-radius,14px);border:1px solid color-mix(in srgb,var(--j8148-primary) 85%, #000 0%);background:var(--j8148-primary);color:var(--j8148-surface);font-weight:700;font-size:1rem;cursor:pointer;letter-spacing:.01em;}#contact .primary-button:hover{background:var(--j8148-secondary);}#contact .primary-button:active{background:var(--j8148-accent);}#contact .primary-button:disabled{cursor:not-allowed;opacity:.65;}#contact .primary-button:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--j8148-primary) 22%, transparent);}#contact .form-disclaimer{margin:0;font-size:.92rem;line-height:1.55;color:var(--j8148-slate);}#contact .contact-links{display:flex;flex-direction:column;gap:.65rem;align-items:flex-start;justify-content:flex-start;padding-top:.2rem;}#contact .secondary-link{color:var(--j8148-secondary);text-decoration:none;font-weight:700;letter-spacing:.01em;border-bottom:1px solid color-mix(in srgb,var(--j8148-secondary) 30%, transparent);padding-bottom:.15rem;}#contact .secondary-link:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--j8148-secondary) 22%, transparent);border-radius:8px;}#contact .secondary-link:hover{color:var(--j8148-accent);border-bottom-color:color-mix(in srgb,var(--j8148-accent) 45%, transparent);}#contact ::selection{background:color-mix(in srgb,var(--j8148-primary) 25%, transparent);}#contact .contact-form .input[required],#contact .contact-form .textarea[required]{border-color:var(--j8148-border);}#contact .contact-form:invalid .primary-button{opacity:.98;}@media (min-width: 900px){#contact .contact-shell{grid-template-columns:1fr 1fr;align-items:start;}#contact .contact-intro{grid-column:1 / 2;}#contact .contact-form{grid-column:2 / 3;}#contact .contact-links{grid-column:1 / -1;flex-direction:row;align-items:center;gap:1.25rem;}}@media (prefers-reduced-motion: reduce){#contact .primary-button{transition:none;}#contact .secondary-link{transition:none;}}
/* j8148:destination-intro */
/* j8148:destination-intro */
#destination-intro.destination-intro{background:var(--j8148-bg);color:var(--j8148-text);padding:clamp(2rem,4.5vw,4rem) 0;}
#destination-intro .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#destination-intro .intro-grid{display:grid;grid-template-columns:1.25fr 0.75fr;gap:clamp(1.25rem,3.5vw,2.5rem);align-items:start;}
#destination-intro .intro-heading{padding-top:0.25rem;}
#destination-intro .intro-title{font-family:var(--j8148-sans, 'Avenir Next, Avenir, Segoe UI, system-ui, sans-serif');font-size:clamp(1.6rem,3.2vw,2.4rem);line-height:1.08;letter-spacing:-0.02em;margin:0 0 0.9rem 0;text-wrap:balance;}
#destination-intro .intro-lede{margin:0 0 1.25rem 0;font-size:1rem;line-height:1.6;color:var(--j8148-text);max-width:42rem;}
#destination-intro .constraints{display:flex;flex-direction:column;gap:0.85rem;margin-top:0.75rem;}
#destination-intro .constraint{display:flex;gap:0.8rem;align-items:flex-start;}
#destination-intro .constraint-dot{width:10px;height:10px;border-radius:50%;background:var(--j8148-primary);margin-top:0.6rem;flex:0 0 auto;box-shadow:0 0 0 4px color-mix(in oklab, var(--j8148-primary) 18%, transparent);}
#destination-intro .constraint-text{margin:0;font-size:0.98rem;line-height:1.55;color:var(--j8148-text);} 
#destination-intro .constraint-text strong{font-weight:800;}

#destination-intro .intro-side{display:flex;flex-direction:column;gap:1.1rem;}
#destination-intro .note-card{background:var(--j8148-surface);border:1px solid var(--j8148-border);border-radius:var(--j8148-radius-lg, var(--j8148-lg, 16px));padding:1.2rem 1.2rem 1.05rem 1.2rem;box-shadow:0 10px 30px color-mix(in oklab, var(--j8148-primary) 10%, transparent);}
#destination-intro .note-kicker{font-size:0.875rem;letter-spacing:0.02em;color:color-mix(in oklab, var(--j8148-slate) 65%, var(--j8148-text));text-transform:none;margin-bottom:0.5rem;}
#destination-intro .note-text{margin:0 0 0.85rem 0;font-size:1rem;line-height:1.6;}
#destination-intro .note-list{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:0.45rem;}
#destination-intro .note-list li{font-size:0.95rem;line-height:1.5;color:var(--j8148-text);} 
#destination-intro .note-link{display:inline-block;margin-top:0.95rem;color:var(--j8148-primary);font-weight:800;text-decoration:none;border-bottom:1px solid color-mix(in oklab, var(--j8148-primary) 40%, transparent);padding-bottom:2px;}
#destination-intro .note-link:focus-visible{outline:3px solid color-mix(in oklab, var(--j8148-primary) 45%, white);outline-offset:3px;border-bottom-color:var(--j8148-primary);}

#destination-intro .quick-compare{background:transparent;border:1px dashed color-mix(in oklab, var(--j8148-border) 80%, transparent);border-radius:var(--j8148-radius-md, var(--j8148-md, 14px));padding:1.05rem 1.05rem 1rem 1.05rem;}
#destination-intro .quick-title{margin:0 0 0.75rem 0;font-family:var(--j8148-serif, 'Avenir Next, Avenir, Segoe UI, Century Gothic, sans-serif');font-size:1.12rem;line-height:1.25;letter-spacing:-0.01em;}
#destination-intro .toggle-row{display:flex;gap:0.65rem;align-items:center;margin-bottom:0.65rem;}
#destination-intro .pill{border:1px solid color-mix(in oklab, var(--j8148-primary) 35%, var(--j8148-border));background:color-mix(in oklab, var(--j8148-primary) 10%, transparent);color:color-mix(in oklab, var(--j8148-primary) 80%, var(--j8148-text));padding:0.4rem 0.7rem;border-radius:999px;font-weight:900;font-size:0.92rem;}
#destination-intro .pill.alt{border-color:color-mix(in oklab, var(--j8148-secondary) 35%, var(--j8148-border));background:color-mix(in oklab, var(--j8148-secondary) 10%, transparent);color:color-mix(in oklab, var(--j8148-secondary) 82%, var(--j8148-text));}
#destination-intro .quick-text{margin:0;font-size:0.95rem;line-height:1.6;color:var(--j8148-text);}

#destination-intro .note-card, #destination-intro .quick-compare{transition:transform 200ms ease, box-shadow 200ms ease;}
#destination-intro .note-card:hover{transform:translateY(-2px);}
@media (prefers-reduced-motion: reduce){#destination-intro .note-card, #destination-intro .quick-compare{transition:none;}#destination-intro .note-card:hover{transform:none;}}

@media (max-width: 1024px){#destination-intro .intro-grid{grid-template-columns:1fr;}}
@media (max-width: 640px){#destination-intro{padding:2.1rem 0;}#destination-intro .note-card{padding:1.05rem;}}

#destination-intro ::selection{background:color-mix(in oklab, var(--j8148-primary) 32%, white);}

/* j8148:turkey-vs-egypt */
/* j8148:turkey-vs-egypt */
#turkey-vs-egypt{background:var(--j8148-bg);color:var(--j8148-text);padding:clamp(2.25rem,5vw,4rem) 0;}
#turkey-vs-egypt .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#turkey-vs-egypt .section-header{margin-bottom:1.5rem;}
#turkey-vs-egypt .section-title{margin:0 0 .6rem;font:700 clamp(1.45rem,2.7vw,2.15rem)/1.15 var(--j8148-font-serif, var(--j8148-serif, 'Avenir Next', Avenir, 'Segoe UI', 'Century Gothic', sans-serif));letter-spacing:-0.02em;text-wrap:balance;color:var(--j8148-ink);}
#turkey-vs-egypt .section-subtitle{margin:0;max-width:62ch;font:400 1rem/1.6 var(--j8148-font-sans, var(--j8148-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif));color:var(--j8148-text);}
#turkey-vs-egypt .compare-wrap{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start;}
#turkey-vs-egypt .country-pill{font:700 .95rem/1.2 var(--j8148-font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);letter-spacing:.02em;color:var(--j8148-ink);background:var(--j8148-surface);border:1px solid var(--j8148-border);border-radius:var(--j8148-radius-lg, 16px);padding:.7rem 1rem;margin-bottom:.7rem;position:sticky;top:1rem;}
#turkey-vs-egypt .table-card{background:var(--j8148-surface);border:1px solid var(--j8148-border);border-radius:var(--j8148-radius-lg, 16px);padding:1rem;box-shadow:0 10px 30px rgba(20,24,26,.06);}
#turkey-vs-egypt .row{display:grid;grid-template-columns:190px 1fr;gap:.9rem;padding:.75rem .25rem;border-top:1px solid rgba(217,208,190,.55);}
#turkey-vs-egypt .row:first-of-type{border-top:none;padding-top:.25rem;}
#turkey-vs-egypt .cell-key{font:700 .875rem/1.35 var(--j8148-font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);color:var(--j8148-secondary);}
#turkey-vs-egypt .cell-val{font:400 .98rem/1.5 var(--j8148-font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);color:var(--j8148-text);}
#turkey-vs-egypt .note-card{margin-top:1.25rem;display:flex;gap:.85rem;align-items:flex-start;background:var(--j8148-surface);border:1px solid var(--j8148-border);border-radius:var(--j8148-radius-lg, 16px);padding:1rem 1rem;}
#turkey-vs-egypt .note-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:rgba(14,124,123,.10);border:1px solid rgba(14,124,123,.25);color:var(--j8148-primary);font-size:1.1rem;flex:0 0 auto;}
#turkey-vs-egypt .note-title{margin:0 0 .35rem;font:800 1.05rem/1.25 var(--j8148-font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);letter-spacing:-.01em;color:var(--j8148-ink);}
#turkey-vs-egypt .note-text{margin:0;font:400 1rem/1.6 var(--j8148-font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);color:var(--j8148-text);max-width:70ch;}
#turkey-vs-egypt ::selection{background:rgba(14,124,123,.22);}
#turkey-vs-egypt .table-card:focus-within{outline:3px solid rgba(14,124,123,.28);outline-offset:2px;}
@media (max-width: 900px){
  #turkey-vs-egypt .compare-wrap{grid-template-columns:1fr;}
  #turkey-vs-egypt .country-pill{position:static;}
}
@media (max-width: 640px){
  #turkey-vs-egypt .row{grid-template-columns:1fr;gap:.35rem;}
  #turkey-vs-egypt .cell-key{color:var(--j8148-secondary);}
  #turkey-vs-egypt .table-card{padding:.95rem;}
}
@media (prefers-reduced-motion: reduce){
  #turkey-vs-egypt *{scroll-behavior:auto;transition:none !important;animation:none !important;}
}
/* j8148:sample-day-rhythms */
#sample-day-rhythms{--local-accent:var(--j8148-primary);--local-ink:var(--j8148-ink);--local-bg:var(--j8148-bg);--local-surface:var(--j8148-surface);--local-border:var(--j8148-border);background:var(--local-bg);color:var(--local-ink);padding:clamp(2.5rem,6vw,4.5rem) 0;}
#sample-day-rhythms .shell{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#sample-day-rhythms .section-head{max-width:62ch;margin-bottom:clamp(1.5rem,3vw,2.2rem);}
#sample-day-rhythms .section-title{font-family:var(--ds-font-serif, 'Avenir Next', Avenir, 'Segoe UI', 'Century Gothic', sans-serif);font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.12;margin:0 0 .6rem;letter-spacing:-0.02em;text-wrap:balance;}
#sample-day-rhythms .section-subtitle{margin:0;max-width:60ch;font-family:var(--ds-font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);font-size:1rem;line-height:1.55;color:var(--j8148-text);} 
#sample-day-rhythms .grid{display:grid;grid-template-columns:1fr;gap:clamp(1.2rem,3vw,2.2rem);align-items:start;}
#sample-day-rhythms .left-col{min-width:0;}
#sample-day-rhythms .right-col{min-width:0;}
#sample-day-rhythms .daycard-sample{background:var(--j8148-surface);border:1px solid var(--j8148-border);border-radius:var(--j8148-radius-md,14px);padding:clamp(1.1rem,2.4vw,1.6rem);box-shadow:0 10px 30px rgba(20,24,26,0.06);}
#sample-day-rhythms .daycard-header{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between;}
#sample-day-rhythms .daycard-title{margin:0;font-family:var(--ds-font-serif, 'Avenir Next', Avenir, 'Segoe UI', 'Century Gothic', sans-serif);font-size:1.25rem;line-height:1.15;letter-spacing:-0.015em;}
#sample-day-rhythms .daycard-badge{font-family:var(--ds-font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);font-size:.875rem;color:var(--j8148-text);background:rgba(11,93,122,0.09);border:1px solid rgba(11,93,122,0.22);border-radius:999px;padding:.35rem .7rem;white-space:nowrap;}
#sample-day-rhythms .evidence-callout{margin-top:1rem;padding:1rem;border-radius:var(--j8148-radius-sm,12px);background:rgba(217,208,190,0.35);border:1px solid rgba(217,208,190,0.75);}
#sample-day-rhythms .evidence-row{display:flex;gap:.8rem;justify-content:space-between;align-items:baseline;padding:.35rem 0;border-bottom:1px dashed rgba(20,24,26,0.14);} 
#sample-day-rhythms .evidence-row:last-child{border-bottom:none;padding-bottom:0;}
#sample-day-rhythms .evidence-label{font-family:var(--ds-font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);font-size:.875rem;color:var(--j8148-slate);}
#sample-day-rhythms .evidence-value{font-family:var(--ds-font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);font-size:.875rem;font-variant-numeric:tabular-nums;color:var(--j8148-ink);text-align:right;}
#sample-day-rhythms .rhythm-steps{margin-top:1.1rem;display:flex;flex-direction:column;gap:1rem;}
#sample-day-rhythms .step{display:flex;gap:1rem;align-items:flex-start;padding:.9rem;border-radius:var(--j8148-radius-md,14px);border:1px solid rgba(217,208,190,0.65);background:rgba(255,255,255,0.6);} 
#sample-day-rhythms .step-index{min-width:3.2rem;height:2.4rem;display:flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(11,93,122,0.25);color:var(--j8148-accent);background:rgba(11,93,122,0.08);font-family:var(--ds-font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);font-size:.9rem;font-variant-numeric:tabular-nums;}
#sample-day-rhythms .step-title{margin:0;font-family:var(--ds-font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);font-size:1rem;font-weight:750;}
#sample-day-rhythms .step-text{margin:.35rem 0 0;font-size:.98rem;line-height:1.55;color:var(--j8148-text);}
#sample-day-rhythms .step-micro{margin:.55rem 0 0;font-size:.9rem;line-height:1.45;color:var(--j8148-slate);} 
#sample-day-rhythms .note-box{margin-top:1.1rem;padding:1rem 1.05rem;border-radius:var(--j8148-radius-md,14px);border:1px solid rgba(217,208,190,0.9);background:rgba(255,255,255,0.65);} 
#sample-day-rhythms .note-title{margin:0;font-weight:800;font-size:1rem;}
#sample-day-rhythms .note-text{margin:.4rem 0 0;color:var(--j8148-text);line-height:1.55;}
#sample-day-rhythms .inpage-links{margin-top:1.25rem;display:flex;flex-wrap:wrap;gap:.75rem;}
#sample-day-rhythms .link-card{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.7rem 1rem;border-radius:var(--j8148-radius-md,14px);border:1px solid rgba(11,93,122,0.25);background:var(--j8148-surface);color:var(--j8148-ink);font-family:var(--ds-font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);font-weight:700;text-decoration:none;}
#sample-day-rhythms .link-card:focus-visible{outline:3px solid rgba(11,93,122,0.35);outline-offset:2px;}
#sample-day-rhythms .right-col .map-sticky{position:sticky;top:clamp(1.1rem,3vw,2.2rem);}
#sample-day-rhythms .map-sticky{background:var(--j8148-surface);border:1px solid var(--j8148-border);border-radius:var(--j8148-radius-md,14px);padding:1rem;box-shadow:0 10px 30px rgba(20,24,26,0.05);} 
#sample-day-rhythms .sticky-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.85rem;border-bottom:1px solid rgba(217,208,190,0.85);} 
#sample-day-rhythms .sticky-label{margin:0;font-family:var(--ds-font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);font-size:.875rem;color:var(--j8148-slate);font-weight:700;}
#sample-day-rhythms .progress{display:flex;align-items:center;gap:.75rem;min-width:0;}
#sample-day-rhythms .progress-rail{width:92px;height:6px;border-radius:999px;background:rgba(11,93,122,0.12);position:relative;overflow:hidden;}
#sample-day-rhythms .progress-rail::after{content:"";position:absolute;left:0;top:0;bottom:0;width:33%;background:var(--local-accent);border-radius:999px;}
#sample-day-rhythms .progress-text{font-family:var(--ds-font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);font-size:.875rem;font-variant-numeric:tabular-nums;color:var(--j8148-ink);font-weight:800;white-space:nowrap;}
#sample-day-rhythms .mini-map{padding:.9rem 0;display:flex;flex-direction:column;gap:.75rem;}
#sample-day-rhythms .mini-block{display:flex;gap:.75rem;align-items:flex-start;padding:.65rem;border-radius:var(--j8148-radius-sm,12px);border:1px solid rgba(217,208,190,0.85);background:rgba(246,241,230,0.35);} 
#sample-day-rhythms .mini-dot{width:12px;height:12px;border-radius:50%;background:rgba(11,93,122,0.2);margin-top:.25rem;box-shadow:0 0 0 4px rgba(11,93,122,0.07) inset;}
#sample-day-rhythms .mini-title{margin:0;font-weight:850;font-size:.95rem;}
#sample-day-rhythms .mini-sub{margin:.2rem 0 0;color:var(--j8148-slate);font-size:.9rem;line-height:1.35;}
#sample-day-rhythms .mini-block.is-active{border-color:rgba(11,93,122,0.5);background:rgba(11,93,122,0.06);} 
#sample-day-rhythms .mini-block.is-active .mini-dot{background:var(--local-accent);box-shadow:0 0 0 4px rgba(14,124,123,0.14) inset;}
#sample-day-rhythms .legend{padding-top:.75rem;border-top:1px solid rgba(217,208,190,0.85);display:flex;flex-direction:column;gap:.55rem;}
#sample-day-rhythms .legend-item{display:flex;gap:.6rem;align-items:center;}
#sample-day-rhythms .legend-swatch{width:12px;height:12px;border-radius:50%;background:var(--local-accent);}
#sample-day-rhythms .legend-swatch.muted{background:rgba(11,93,122,0.2);} 
#sample-day-rhythms .legend-text{font-size:.9rem;color:var(--j8148-slate);line-height:1.3;}
#sample-day-rhythms .cta{margin-top:.9rem;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.75rem 1rem;border-radius:var(--j8148-radius-md,14px);border:1px solid rgba(11,93,122,0.35);background:var(--j8148-surface);color:var(--j8148-ink);font-family:var(--ds-font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);font-weight:800;cursor:pointer;}
#sample-day-rhythms .cta:hover{background:rgba(11,93,122,0.06);} 
#sample-day-rhythms .cta:focus-visible{outline:3px solid rgba(11,93,122,0.35);outline-offset:2px;}
#sample-day-rhythms .daycard-sample, #sample-day-rhythms .map-sticky{animation:none;}
#sample-day-rhythms ::selection{background:rgba(14,124,123,0.22);}
@media (min-width: 1024px){
  #sample-day-rhythms .grid{grid-template-columns:7fr 5fr;gap:clamp(1.5rem,3.2vw,2.8rem);} 
}
@media (prefers-reduced-motion: reduce){
  #sample-day-rhythms *{scroll-behavior:auto;}
}

/* j8148:pricing-disclaimer-callout */
/* j8148:pricing-disclaimer-callout */
#pricing-disclaimer-callout{padding:clamp(1.5rem,4vw,3rem) 0; background:var(--j8148-bg); color:var(--j8148-text);}
#pricing-disclaimer-callout .container{max-width:72rem; margin:0 auto; padding:0 clamp(1rem,4vw,3rem);}
#pricing-disclaimer-callout .callout{display:flex; gap:1rem; align-items:flex-start; background:var(--j8148-surface); border:1px solid var(--j8148-border); border-radius:var(--radius-lg,16px); padding:clamp(1.25rem,3vw,2rem); box-shadow:0 10px 24px rgba(8,95,94,.10);} 
#pricing-disclaimer-callout .callout-icon{flex:0 0 auto; width:2.25rem; height:2.25rem; border-radius:12px; border:1px solid color-mix(in srgb, var(--j8148-accent) 35%, var(--j8148-border)); color:var(--j8148-accent); display:flex; align-items:center; justify-content:center; font-family:var(--font-sans, 'Avenir Next'); font-weight:700;}
#pricing-disclaimer-callout .callout-title{margin:0 0 .5rem 0; font-family:var(--font-serif,'Avenir Next'); font-size:clamp(1.35rem,2.5vw,2rem); letter-spacing:-0.02em; line-height:1.15;}
#pricing-disclaimer-callout .callout-text{margin:0 0 .9rem 0; font-size:1rem; line-height:1.6; color:var(--j8148-text);} 
#pricing-disclaimer-callout .callout-list{margin:0; padding-left:1.1rem; display:grid; gap:.55rem;}
#pricing-disclaimer-callout .callout-item{font-size:0.98rem; line-height:1.55; color:var(--j8148-text);} 
#pricing-disclaimer-callout .callout-small{margin:.95rem 0 0 0; color:var(--j8148-slate); font-size:0.9rem; line-height:1.5;}
#pricing-disclaimer-callout .callout-actions{margin-top:1rem;}
#pricing-disclaimer-callout .ghost-link{display:inline-flex; align-items:center; gap:.5rem; padding:.7rem 1rem; border:1px solid var(--j8148-border); border-radius:var(--radius-md,14px); text-decoration:none; color:var(--j8148-ink); background:transparent; font-weight:600; font-size:0.95rem;}
#pricing-disclaimer-callout .ghost-link:focus-visible{outline:3px solid color-mix(in srgb, var(--j8148-accent) 65%, transparent); outline-offset:3px;}
#pricing-disclaimer-callout .ghost-link:hover{border-color:color-mix(in srgb, var(--j8148-accent) 55%, var(--j8148-border)); background:color-mix(in srgb, var(--j8148-bg) 70%, var(--j8148-surface));}
#pricing-disclaimer-callout ::selection{background:color-mix(in srgb, var(--j8148-primary) 25%, white);}
@media (max-width:640px){#pricing-disclaimer-callout .callout{flex-direction:column; gap:.75rem;} #pricing-disclaimer-callout .callout-icon{width:2.1rem; height:2.1rem; border-radius:12px;} }
@media (prefers-reduced-motion: reduce){#pricing-disclaimer-callout *{scroll-behavior:auto; transition:none !important; animation:none !important;}}
/* j8148:planning-disclaimer */
/* j8148:planning-disclaimer */

#planning-disclaimer.planning-disclaimer{background:var(--j8148-bg); color:var(--j8148-text); padding:clamp(1.5rem, 3.5vw, 3rem) 0;}
#planning-disclaimer .container{max-width:72rem; margin:0 auto; padding:0 clamp(1rem, 4vw, 3rem);}
#planning-disclaimer .disclaimer-grid{display:grid; grid-template-columns: 1.2fr 0.8fr; gap:clamp(1.25rem, 3vw, 2.5rem); align-items:start;}
#planning-disclaimer .title{font-family:var(--font-serif, 'Avenir Next', Avenir, 'Segoe UI', Century Gothic, sans-serif); font-size:clamp(1.6rem, 2.5vw, 2.1rem); line-height:1.12; margin:0 0 0.75rem; letter-spacing:-0.02em; text-wrap:balance;}
#planning-disclaimer .lead{font-size:1rem; line-height:1.7; margin:0 0 1.1rem; color:var(--j8148-ink);} 
#planning-disclaimer .note{border:1px solid var(--j8148-border); background:var(--j8148-surface); border-radius:var(--radius-md, 14px); padding:1rem 1rem 0.9rem; box-shadow:0 10px 24px rgba(20,24,26,0.06);} 
#planning-disclaimer .note-head{font-weight:700; color:var(--j8148-secondary); margin-bottom:0.6rem;}
#planning-disclaimer .list{margin:0; padding-left:1.15rem;}
#planning-disclaimer .list li{margin:0.55rem 0; line-height:1.6; color:var(--j8148-text);} 
#planning-disclaimer .disclaimer-aside{position:relative;}
#planning-disclaimer .aside-card{border:1px solid var(--j8148-border); background:rgba(255,255,255,0.78); border-radius:var(--radius-lg, 16px); padding:1.05rem 1.05rem 0.95rem;}
#planning-disclaimer .aside-title{margin:0 0 0.7rem; font-size:1.05rem; letter-spacing:-0.01em; color:var(--j8148-ink);} 
#planning-disclaimer .aside-list{margin:0; padding-left:1.1rem;}
#planning-disclaimer .aside-list li{margin:0.55rem 0; line-height:1.6; color:var(--j8148-slate);} 
#planning-disclaimer .aside-foot{margin:0.85rem 0 1rem; color:var(--j8148-slate); line-height:1.6; font-size:0.95rem;}
#planning-disclaimer .link{display:inline-flex; align-items:center; gap:0.5rem; color:var(--j8148-primary); text-decoration:underline; text-underline-offset:3px; font-weight:650;}
#planning-disclaimer .link:focus-visible{outline:3px solid color-mix(in srgb, var(--j8148-primary) 40%, transparent); outline-offset:3px; border-radius:10px;}
#planning-disclaimer ::selection{background:color-mix(in srgb, var(--j8148-primary) 25%, transparent);}

@media (max-width: 900px){
  #planning-disclaimer .disclaimer-grid{grid-template-columns:1fr;}
  #planning-disclaimer .disclaimer-aside{order:2;}
}

@media (prefers-reduced-motion: reduce){
  #planning-disclaimer *{scroll-behavior:auto;}
}

/* j8148:whats-not-included */
/* j8148:whats-not-included */
#whats-not-included.whats-not-included{background:var(--j8148-bg);color:var(--j8148-text);padding:clamp(2rem,4vw,3rem) 0;}
#whats-not-included .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#whats-not-included .section-head{max-width:58rem;margin-bottom:clamp(1.5rem,3vw,2.5rem);}
#whats-not-included .eyebrow{font-family:var(--font-family-sans, 'Avenir Next, Avenir, Segoe UI, system-ui, sans-serif');letter-spacing:0.04em;text-transform:uppercase;font-size:0.875rem;color:var(--j8148-secondary);margin:0 0 0.5rem 0;}
#whats-not-included .title{font-size:clamp(1.5rem,2.7vw,2.25rem);line-height:1.12;margin:0 0 0.85rem 0;font-family:var(--font-family-serif, 'Avenir Next, Avenir, Segoe UI, Century Gothic, sans-serif');font-weight:650;letter-spacing:-0.02em;text-wrap:balance;}
#whats-not-included .lead{margin:0;font-size:1rem;line-height:1.7;color:var(--j8148-text);max-width:56ch;}
#whats-not-included .columns{display:grid;grid-template-columns:1.2fr 0.8fr;gap:clamp(1rem,3vw,1.5rem);align-items:start;}
#whats-not-included .proof-card,#whats-not-included .disclaimer-card{background:var(--j8148-surface);border:1px solid var(--j8148-border);border-radius:var(--radius-lg);box-shadow:0 10px 30px rgba(20,24,26,0.06);}
#whats-not-included .proof-card{padding:clamp(1.1rem,2.3vw,1.5rem);}
#whats-not-included .disclaimer-card{padding:clamp(1.1rem,2.3vw,1.5rem);position:relative;overflow:hidden;}
#whats-not-included .disclaimer-card:before{content:"";position:absolute;inset:-2px -2px auto -2px;height:120px;background:linear-gradient(180deg, rgba(14,124,123,0.10), rgba(14,124,123,0));pointer-events:none;}
#whats-not-included .card-title{margin:0 0 0.9rem 0;font-size:1.125rem;line-height:1.25;font-family:var(--font-family-serif, 'Avenir Next, Avenir, Segoe UI, Century Gothic, sans-serif');letter-spacing:-0.01em;font-weight:680;}
#whats-not-included .exclusion-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.65rem;}
#whats-not-included .exclusion-item{display:flex;gap:0.75rem;align-items:flex-start;}
#whats-not-included .dot{width:10px;height:10px;border-radius:999px;background:var(--j8148-primary);margin-top:0.55rem;flex:0 0 auto;box-shadow:0 0 0 4px rgba(14,124,123,0.12);}
#whats-not-included .exclusion-text{font-size:1rem;line-height:1.55;color:var(--j8148-text);}
#whats-not-included .exclusion-text strong{font-weight:800;}
#whats-not-included .disclaimer-block{position:relative;z-index:1;}
#whats-not-included .disclaimer-line{margin:0 0 0.65rem 0;color:var(--j8148-text);line-height:1.7;font-size:0.98rem;}
#whats-not-included .actions{display:flex;flex-wrap:wrap;gap:0.75rem;margin-top:1.1rem;position:relative;z-index:1;}
#whats-not-included .button{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.7rem 1rem;border-radius:var(--radius-md);text-decoration:none;font-weight:750;font-size:0.98rem;min-height:44px;}
#whats-not-included .button-primary{background:var(--j8148-primary);color:var(--j8148-surface);border:1px solid var(--j8148-primary);}
#whats-not-included .button-primary:hover{background:var(--j8148-secondary);border-color:var(--j8148-secondary);}
#whats-not-included .button-ghost{background:var(--j8148-surface);color:var(--j8148-text);border:1px solid var(--j8148-border);}
#whats-not-included .button-ghost:hover{border-color:rgba(14,124,123,0.55);background:rgba(14,124,123,0.06);}
#whats-not-included .button:focus-visible{outline:3px solid rgba(14,124,123,0.35);outline-offset:2px;}
#whats-not-included a.button-ghost:focus-visible{outline-color:rgba(14,124,123,0.45);}
#whats-not-included .fineprint{margin-top:1.25rem;padding:0.85rem 1rem;border:1px dashed rgba(217,208,190,0.95);border-radius:var(--radius-md);background:rgba(217,208,190,0.22);}
#whats-not-included .fineprint p{margin:0;line-height:1.6;color:var(--j8148-text);font-size:0.95rem;}
#whats-not-included ::selection{background:rgba(14,124,123,0.22);}
@media (max-width: 1024px){#whats-not-included .columns{grid-template-columns:1fr;}}
@media (prefers-reduced-motion: reduce){#whats-not-included *{scroll-behavior:auto;transition:none !important;animation:none !important;}}

/* j8148:faq */
/* j8148:faq */
#faq.faq{background:var(--j8148-bg);color:var(--j8148-text);padding:clamp(2.25rem,5vw,4rem) 0;}
#faq .faq__container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,3.2vw,2.5rem);}
#faq .faq__header{display:block;margin-bottom:1.75rem;}
#faq .faq__title{font-family:var(--font-serif, var(--j8148-ink));font-weight:650;letter-spacing:-0.02em;font-size:clamp(1.8rem,3.2vw,2.4rem);margin:0 0 0.55rem;line-height:1.1;text-wrap:balance;}
#faq .faq__lede{margin:0;max-width:56ch;color:var(--j8148-slate);font-size:1.02rem;line-height:1.65;}
#faq .faq__grid{display:grid;grid-template-columns:1fr;gap:1.25rem;align-items:start;}
#faq .faq__col{display:flex;flex-direction:column;gap:0.75rem;}
#faq .faq-item{border:1px solid var(--j8148-border);background:var(--j8148-surface);border-radius:var(--j8148-radius-md,14px);overflow:hidden;}
#faq .faq-item__trigger{width:100%;text-align:left;background:transparent;border:0;padding:1rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;}
#faq .faq-item__trigger:focus-visible{outline:3px solid rgba(14,124,123,0.35);outline-offset:2px;}
#faq .faq-item__q{font-family:var(--font-sans, var(--j8148-text));font-weight:650;color:var(--j8148-ink);font-size:1.02rem;line-height:1.35;}
#faq .faq-item__icon{flex:0 0 auto;width:2rem;height:2rem;border-radius:999px;border:1px solid var(--j8148-border);display:flex;align-items:center;justify-content:center;color:var(--j8148-text);background:var(--j8148-surface);font-size:1.25rem;line-height:1;}
#faq .faq-item__panel{padding:0 1rem 1rem;}
#faq .faq-item__a{margin:0;color:var(--j8148-slate);line-height:1.75;font-size:1rem;max-width:65ch;}
#faq .faq__aside{margin-top:0.1rem;}
#faq .faq-aside-card{border-radius:var(--j8148-radius-lg,16px);border:1px solid var(--j8148-border);background:linear-gradient(180deg, rgba(14,124,123,0.06), rgba(255,255,255,1) 40%);padding:1.25rem;}
#faq .faq-aside-card__title{margin:0 0 0.75rem;font-size:1.05rem;font-weight:750;color:var(--j8148-ink);letter-spacing:-0.01em;}
#faq .faq-aside-card__list{margin:0;padding:0 0 0 1.1rem;display:flex;flex-direction:column;gap:0.6rem;}
#faq .faq-aside-card__list li{color:var(--j8148-slate);line-height:1.6;font-size:0.98rem;}
#faq .faq-aside-card__list strong{color:var(--j8148-ink);font-weight:750;}
#faq .faq-aside-card__note{margin:0.9rem 0 0;color:var(--j8148-slate);line-height:1.65;font-size:0.98rem;}
#faq .faq-item[data-open="true"]{border-color:rgba(14,124,123,0.6);}
#faq .faq-item[data-open="true"] .faq-item__icon{border-color:rgba(14,124,123,0.6);color:var(--j8148-primary);}
#faq .faq-item[data-open="true"] .faq-item__trigger{padding-bottom:0.8rem;}
@media (min-width: 768px){
  #faq .faq__grid{grid-template-columns:1.35fr 0.95fr;gap:2rem;}
  #faq .faq-item__trigger{padding:1.05rem 1.15rem;}
  #faq .faq-item__panel{padding:0 1.15rem 1.15rem;}
}
@media (prefers-reduced-motion: reduce){
  #faq *{scroll-behavior:auto;transition:none !important;animation:none !important;}
}
#faq ::selection{background:rgba(14,124,123,0.18);}

/* j8148:contact-cta */
/* j8148:contact-cta */
#contact-cta.contact-cta{background:var(--j8148-bg);color:var(--j8148-text);padding:clamp(2.5rem,6vw,5rem) 0;}
#contact-cta .contact-cta__shell{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);display:grid;grid-template-columns:1.05fr 0.95fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:start;}
#contact-cta .contact-cta__kicker{margin:0 0 .75rem 0;font:600 0.95rem/1.2 var(--font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);letter-spacing:.02em;color:var(--j8148-secondary);text-transform:uppercase;}
#contact-cta .contact-cta__title{margin:0 0 1rem 0;font:700 clamp(1.5rem,2.6vw,2.25rem)/1.15 var(--font-serif, 'Avenir Next', Avenir, 'Segoe UI', Century Gothic, sans-serif);letter-spacing:-0.01em;text-wrap:balance;}
#contact-cta .contact-cta__lede{margin:0 0 1.25rem 0;font:400 1rem/1.6 var(--font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);color:var(--j8148-ink);}
#contact-cta .contact-cta__fineprint{border:1px solid var(--j8148-border);border-radius:var(--radius-md, 14px);background:var(--j8148-surface);padding:1rem 1.1rem;}
#contact-cta .contact-cta__fineprint p{margin:0 0 .5rem 0;font:600 .95rem/1.35 var(--font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);}
#contact-cta .contact-cta__links{margin:0;padding-left:1.1rem;}
#contact-cta .contact-cta__link{color:var(--j8148-accent);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.2em;font:600 .95rem/1.6 var(--font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);}
#contact-cta .contact-cta__link:focus-visible{outline:3px solid rgba(14,124,123,.35);outline-offset:3px;border-radius:8px;}
#contact-cta .contact-cta__formwrap{background:var(--j8148-surface);border:1px solid var(--j8148-border);border-radius:var(--radius-lg, 16px);padding:1.25rem;}
#contact-cta .lead-form__fields{display:flex;flex-direction:column;gap:0.95rem;}
#contact-cta .field label{display:block;margin:0 0 .45rem 0;font:600 .92rem/1.2 var(--font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);color:var(--j8148-ink);}
#contact-cta .field input,#contact-cta .field textarea{width:100%;border:1px solid var(--j8148-border);border-radius:var(--radius-md, 14px);padding:.85rem .95rem;font:400 1rem/1.4 var(--font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);background:var(--j8148-surface);color:var(--j8148-ink);box-shadow:0 0 0 rgba(0,0,0,0);}
#contact-cta .field textarea{resize:vertical;min-height:140px;}
#contact-cta .field input:focus-visible,#contact-cta .field textarea:focus-visible{outline:3px solid rgba(14,124,123,.35);outline-offset:2px;border-color:transparent;}
#contact-cta .lead-form__actions{margin-top:1.05rem;display:flex;flex-direction:column;gap:.8rem;}
#contact-cta .btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:44px;padding:.9rem 1rem;border-radius:var(--radius-md, 14px);border:1px solid transparent;cursor:pointer;font:700 1rem/1 var(--font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);text-decoration:none;background:transparent;color:var(--j8148-ink);}
#contact-cta .btn-primary{background:var(--j8148-primary);color:var(--j8148-surface);border-color:rgba(0,0,0,0);}
#contact-cta .btn-primary:hover{background:var(--j8148-secondary);}
#contact-cta .btn-primary:active{background:var(--j8148-accent);}
#contact-cta .btn-primary:focus-visible{outline:3px solid rgba(14,124,123,.35);outline-offset:3px;}
#contact-cta .lead-form__redirect{margin:0;color:var(--j8148-slate);font:500 .92rem/1.45 var(--font-sans, 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif);}
#contact-cta ::selection{background:rgba(14,124,123,.22);}
@media (max-width: 900px){
  #contact-cta .contact-cta__shell{grid-template-columns:1fr;}
  #contact-cta .contact-cta__formwrap{padding:1.1rem;}
}
@media (prefers-reduced-motion: reduce){
  #contact-cta .btn-primary:hover{transition:none;}
}

.policy-page{background:var(--j8148-bg);color:var(--j8148-text);min-height:100vh;padding:24px 16px;font-family:var(--j8148-font);} .policy-container{max-width:980px;margin:0 auto;padding:18px 16px 26px;background:var(--j8148-surface);border:1px solid var(--j8148-border);border-radius:var(--j8148-lg);box-shadow:0 1px 0 rgba(20,24,26,.04);} .policy-header{padding:8px 6px 12px;border-bottom:1px solid rgba(217,208,190,.9);} .policy-title{margin:0;font-family:var(--j8148-font-display);font-size:28px;line-height:1.2;letter-spacing:-.02em;color:var(--j8148-ink);} .policy-intro{margin:10px 0 0;color:var(--j8148-slate);font-size:14px;} .policy-section{padding:14px 6px 2px;} .policy-heading{margin:0 0 8px;font-size:18px;line-height:1.3;color:var(--j8148-ink);} .policy-paragraph{margin:0 0 10px;font-size:15px;line-height:1.65;color:var(--j8148-ink);} .policy-legal{margin-top:8px;padding:10px 12px;border-left:4px solid var(--j8148-accent);background:rgba(11,93,122,.05);border-radius:var(--radius-sm,12px);} .policy-list{margin:6px 0 0;padding:0 0 0 18px;color:var(--j8148-ink);} .policy-list li{margin:8px 0;font-size:15px;line-height:1.6;} .policy-strong{font-weight:700;} .policy-footer{margin-top:18px;padding:12px 6px 0;border-top:1px solid rgba(217,208,190,.9);} .policy-footnote{margin:0 0 8px;color:var(--j8148-slate);font-size:13px;line-height:1.5;} .policy-date{font-weight:600;color:var(--j8148-accent);} @media (max-width:520px){.policy-container{padding:14px 12px 22px;} .policy-title{font-size:24px;} .policy-paragraph,.policy-list li{font-size:14.5px;}}
/* Design-system tokens via variables */
:root{
  --j8148-primary: #0E7C7B;
  --j8148-secondary: #085F5E;
  --j8148-accent: #0B5D7A;
  --j8148-ink: #14181A;
  --j8148-slate: #4C565C;
  --j8148-mist: #D9D0BE;
  --j8148-border: #D9D0BE;
  --j8148-surface: #FFFFFF;
  --j8148-bg: #F6F1E6;
  --j8148-text: #14181A;
  --j8148-font: 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif;
  --j8148-font-display: 'Avenir Next', Avenir, 'Segoe UI', 'Century Gothic', sans-serif;
  --radius-sm: 12px;
  --radius-md: 14px;
  --radius-lg: 16px;
}

.policy-page{
  min-height:100vh;
  background: var(--j8148-bg);
  color: var(--j8148-text);
  font-family: var(--j8148-font);
  line-height:1.6;
}
.policy-container{
  box-sizing:border-box;
  width:100%;
  max-width: 980px;
  margin: 0 auto;
  padding: 28px 18px 44px 18px;
}
.policy-header{
  background: var(--j8148-surface);
  border: 1px solid var(--j8148-border);
  border-radius: var(--radius-lg);
  padding: 22px 20px;
  box-shadow: 0 1px 0 rgba(20,24,26,0.03);
}
.policy-title{
  margin: 0 0 10px 0;
  font-family: var(--j8148-font-display);
  font-size: 28px;
  letter-spacing: -0.2px;
  color: var(--j8148-ink);
}
.policy-intro{
  margin: 0;
  color: var(--j8148-slate);
  font-size: 14.5px;
}
.policy-section{
  margin-top: 16px;
  background: var(--j8148-surface);
  border: 1px solid var(--j8148-border);
  border-radius: var(--radius-lg);
  padding: 18px 20px;
}
.policy-h2{
  margin: 0 0 10px 0;
  font-size: 18px;
  color: var(--j8148-ink);
}
.policy-p{
  margin: 10px 0;
  color: var(--j8148-text);
  font-size: 14.5px;
}
.policy-strong{
  color: var(--j8148-ink);
  font-weight: 700;
}
.policy-list{
  margin: 8px 0 0 18px;
  padding: 0;
}
.policy-li{
  margin: 6px 0;
  color: var(--j8148-text);
  font-size: 14.5px;
}
.policy-footer{
  margin-top: 16px;
  background: var(--j8148-surface);
  border: 1px solid var(--j8148-border);
  border-radius: var(--radius-lg);
  padding: 18px 20px;
}
.policy-h2--footer{
  margin-bottom: 8px;
}
.policy-small{
  font-size: 13px;
  color: var(--j8148-slate);
}

/* Accessibility */
.policy-page a{color: var(--j8148-primary);}

@media (max-width: 520px){
  .policy-container{padding-left: 14px; padding-right: 14px;}
  .policy-header{padding: 18px 14px;}
  .policy-section{padding: 16px 14px;}
  .policy-footer{padding: 16px 14px;}
  .policy-title{font-size: 24px;}
}

/* Design-system variable usage */
.policy-page{background:var(--j8148-bg);color:var(--j8148-text);font-family:var(--j8148-font);line-height:1.5;min-height:100vh;}
.policy-content{max-width:980px;margin-left:auto;margin-right:auto;padding:24px 18px 10px 18px;}
.policy-heading{margin:0 0 10px 0;font-family:var(--j8148-font-display);font-size:34px;letter-spacing:-0.01em;color:var(--j8148-ink);}
.policy-lead{margin:0 0 18px 0;font-size:16px;color:var(--j8148-ink);max-width:70ch;}
.policy-card{background:var(--j8148-surface);border:1px solid var(--j8148-border);border-radius:var(--radius-lg);padding:16px 16px;margin:16px 0;box-shadow:0 1px 0 rgba(0,0,0,0.03);}
.policy-subheading{margin:0 0 10px 0;font-size:18px;color:var(--j8148-ink);font-family:var(--j8148-font-display);}
.policy-list{margin:0;padding:0;list-style:none;}
.policy-list li{margin:8px 0;}
.policy-label{display:inline-block;min-width:92px;color:var(--j8148-slate);font-weight:600;}
.policy-value{color:var(--j8148-ink);}
.policy-link{color:var(--j8148-accent);text-decoration:underline;text-underline-offset:3px;}
.policy-link:hover{color:var(--j8148-primary);}
.policy-note{margin:10px 0 0 0;color:var(--j8148-text);font-size:14.5px;}
.policy-footer{max-width:980px;margin-left:auto;margin-right:auto;padding:12px 18px 26px 18px;}
.policy-footer-text{margin:6px 0 0 0;color:var(--j8148-slate);font-size:13.5px;}
@media (max-width:520px){
  .policy-heading{font-size:28px;}
  .policy-content{padding-left:14px;padding-right:14px;}
  .policy-card{padding:14px 12px;}
}

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