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

/* design tokens */
:root {
  --zeef2d-primary: #0B3A53;
  --zeef2d-secondary: #D9772B;
  --zeef2d-accent: #D9772B;
  --zeef2d-ink: #102A2F;
  --zeef2d-slate: #5B6B6F;
  --zeef2d-mist: #D9E2E6;
  --zeef2d-border: #D9E2E6;
  --zeef2d-surface: #F5F7F8;
  --zeef2d-bg: #FFFFFF;
  --zeef2d-text: #102A2F;
  --zeef2d-font: 'Iowan Old Style', Palatino, Georgia, 'Times New Roman', serif;
  --zeef2d-font-display: 'Iowan Old Style', 'Palatino Linotype', Palatino, 'Book Antiqua', Georgia, serif;
}

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

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

/* sections */
/* zeef2d:header */
/* zeef2d:header */
#header{--h-pad:clamp(14px,2.2vw,20px);background:var(--zeef2d-bg);border-bottom:1px solid var(--zeef2d-border);position:sticky;top:0;z-index:50}
#header::selection{background:rgba(217,119,43,.25)}
#header .header-inner{max-width:1160px;margin:0 auto;padding:var(--h-pad) calc(var(--h-pad) + 6px);display:flex;align-items:center;justify-content:space-between;gap:14px}
#header .brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--zeef2d-ink);min-width:200px}
#header .brand:focus-visible{outline:3px solid rgba(217,119,43,.45);outline-offset:4px;border-radius:10px}
#header .brand-mark{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-sm,10px);font-size:16px;line-height:1}
#header .brand-text{font-family:var(--zeef2d-font-display);font-weight:700;letter-spacing:-.02em;font-size:18px}
#header .nav{flex:1;display:flex;justify-content:center}
#header .nav-list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:center}
#header .nav-link{color:var(--zeef2d-ink);text-decoration:none;font-size:15px;line-height:1;padding:10px 10px;border-radius:12px;white-space:nowrap}
#header .nav-link:hover{background:var(--zeef2d-surface)}
#header .nav-link:focus-visible{outline:3px solid rgba(217,119,43,.45);outline-offset:3px}
#header .menu-toggle{display:none;align-items:center;gap:10px;border:1px solid var(--zeef2d-border);background:var(--zeef2d-surface);color:var(--zeef2d-ink);border-radius:14px;padding:10px 12px;cursor:pointer;font:inherit}
#header .menu-toggle:focus-visible{outline:3px solid rgba(217,119,43,.45);outline-offset:3px}
#header .menu-toggle-label{font-size:15px;font-weight:650}
#header .menu-toggle-icon{font-size:18px;line-height:1}
#header .mobile-menu{display:none;max-width:1160px;margin:0 auto;padding:0 calc(var(--h-pad) + 6px) var(--h-pad)}
#header .mobile-menu-list{list-style:none;margin:0;padding:10px 0;border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-md,14px);background:var(--zeef2d-surface)}
#header .mobile-menu-link{display:block;padding:12px 14px;color:var(--zeef2d-ink);text-decoration:none;border-bottom:1px solid var(--zeef2d-border);font-size:15px}
#header .mobile-menu-link:last-child{border-bottom:none}
#header .mobile-menu-link:hover{background:var(--zeef2d-bg)}
#header .mobile-menu-link:focus-visible{outline:3px solid rgba(217,119,43,.45);outline-offset:3px;border-radius:12px}
@media (max-width: 880px){#header .nav{display:none}#header .menu-toggle{display:flex}#header .mobile-menu[aria-hidden="false"],#header .mobile-menu.show{display:block}}
@media (prefers-reduced-motion: reduce){#header *{scroll-behavior:auto;transition:none !important;animation:none !important}}
/* zeef2d:footer */
/* zeef2d:footer */
#footer.footer{
  background: var(--zeef2d-surface);
  color: var(--zeef2d-ink);
  border-top: 1px solid var(--zeef2d-border);
}
#footer .footer-inner{
  max-width: 1100px;
  margin: 0 auto;
  padding: 36px 18px 22px;
}
#footer .footer-top{
  display: flex;
  gap: 22px;
  align-items: flex-start;
}
#footer .footer-brand{
  flex: 0 0 340px;
  display: flex;
  gap: 14px;
  align-items: flex-start;
}
#footer .footer-logo{
  width: 42px;
  height: 42px;
  border-radius: var(--zeef2d-radius-md, 14px);
  background: var(--zeef2d-primary);
  color: var(--zeef2d-surface);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 1;
  box-shadow: 0 10px 24px rgba(11,58,83,.18);
  flex: 0 0 auto;
}
#footer .footer-title{
  margin: 0;
  font-family: var(--zeef2d-font-display, var(--zeef2d-font));
  font-size: 22px;
  letter-spacing: -0.02em;
}
#footer .footer-tagline{
  margin: 6px 0 0;
  color: var(--zeef2d-slate);
  font-size: 14px;
  line-height: 1.5;
  text-wrap: balance;
}
#footer .footer-columns{
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
#footer .footer-heading{
  margin: 0 0 10px;
  font-size: 15px;
  letter-spacing: 0.02em;
  text-transform: none;
}
#footer .footer-links,
#footer .footer-contact{
  list-style: none;
  padding: 0;
  margin: 0;
}
#footer .footer-links li{ margin: 8px 0; }
#footer .footer-link{
  color: var(--zeef2d-ink);
  text-decoration: none;
  border-bottom: 1px solid transparent;
}
#footer .footer-link:focus-visible{
  outline: 3px solid rgba(217,119,43,.35);
  outline-offset: 3px;
  border-bottom-color: rgba(217,119,43,.6);
  border-bottom-width: 2px;
}
#footer .footer-link:hover{ border-bottom-color: rgba(217,119,43,.65); }

#footer .footer-contact-row{
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 10px;
  margin: 10px 0;
}
#footer .footer-contact-label{
  color: var(--zeef2d-slate);
  font-size: 13px;
}
#footer .footer-contact-value{
  color: var(--zeef2d-ink);
  text-decoration: none;
  font-size: 14px;
  line-height: 1.4;
}
#footer .footer-contact-value:focus-visible{
  outline: 3px solid rgba(217,119,43,.35);
  outline-offset: 3px;
  border-radius: 8px;
}

#footer .footer-mid{
  margin-top: 22px;
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 18px;
  align-items: start;
}
#footer .footer-callout{
  background: var(--zeef2d-bg);
  border: 1px solid var(--zeef2d-border);
  border-radius: var(--zeef2d-radius-lg, 18px);
  padding: 16px 16px;
}
#footer .footer-callout-title{
  font-family: var(--zeef2d-font-display, var(--zeef2d-font));
  font-size: 16px;
  letter-spacing: -0.01em;
  margin: 0 0 6px;
}
#footer .footer-callout-text{
  margin: 0;
  color: var(--zeef2d-slate);
  font-size: 14px;
  line-height: 1.6;
}

#footer .footer-policy{
  background: rgba(255,255,255,.55);
  border: 1px solid var(--zeef2d-border);
  border-radius: var(--zeef2d-radius-lg, 18px);
  padding: 16px 16px;
}

#footer .footer-bottom{
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--zeef2d-border);
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
}
#footer .footer-legal{ color: var(--zeef2d-ink); font-size: 13px; line-height: 1.5; }
#footer .footer-legal-muted{ color: var(--zeef2d-slate); }
#footer .footer-sep{ color: var(--zeef2d-slate); margin: 0 8px; }
#footer .footer-credits{ color: var(--zeef2d-slate); font-size: 13px; text-align: right; }

#footer ::selection{ background: rgba(217,119,43,.25); }

@media (max-width: 900px){
  #footer .footer-top{ flex-direction: column; }
  #footer .footer-brand{ flex: 0 0 auto; }
  #footer .footer-columns{ grid-template-columns: 1fr; }
  #footer .footer-mid{ grid-template-columns: 1fr; }
  #footer .footer-bottom{ flex-direction: column; }
  #footer .footer-credits{ text-align: left; }
  #footer .footer-contact-row{ grid-template-columns: 92px 1fr; }
}
@media (prefers-reduced-motion: reduce){
  #footer .footer-link:hover{ border-bottom-color: rgba(217,119,43,.65); }
}

/* zeef2d:hero */
/* zeef2d:hero */
#hero{--radius-lg:18px;--radius-md:14px;--radius-sm:10px;--shadow:0 14px 34px rgba(11,58,83,.16);--shadow-soft:0 10px 26px rgba(217,119,43,.12);padding:42px 0 36px;background:var(--zeef2d-bg);color:var(--zeef2d-text);}
#hero .hero__inner{max-width:1120px;margin:0 auto;display:flex;gap:28px;align-items:flex-start;padding:0 20px;}
#hero .hero__content{flex:1 1 56%;padding-top:8px;}
#hero .hero__kicker{font-family:var(--zeef2d-font);font-size:15px;line-height:1.4;color:var(--zeef2d-slate);margin:0 0 14px;}
#hero .hero__title{font-family:var(--zeef2d-font-display);font-size:44px;line-height:1.05;letter-spacing:-.02em;margin:0 0 14px;color:var(--zeef2d-primary);text-wrap:balance;}
#hero .hero__lead{font-family:var(--zeef2d-font);font-size:18px;line-height:1.65;margin:0 0 18px;color:var(--zeef2d-ink);max-width:52ch;}
#hero .hero__cta-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:18px 0 16px;}
#hero .btn{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);padding:12px 16px;font-family:var(--zeef2d-font);font-size:16px;line-height:1;text-decoration:none;user-select:none;min-height:44px;}
#hero .btn--primary{background:var(--zeef2d-primary);color:#fff;border:1px solid var(--zeef2d-primary);box-shadow:var(--shadow);} 
#hero .btn--outline{background:transparent;color:var(--zeef2d-primary);border:1px solid var(--zeef2d-border);}
#hero .btn:focus-visible{outline:3px solid color-mix(in srgb, var(--zeef2d-secondary) 45%, var(--zeef2d-primary));outline-offset:2px;}
#hero .btn--primary:hover{background:color-mix(in srgb, var(--zeef2d-primary) 92%, var(--zeef2d-secondary));}
#hero .btn--outline:hover{border-color:color-mix(in srgb, var(--zeef2d-secondary) 60%, var(--zeef2d-border));}
#hero .hero__highlights{list-style:none;padding:0;margin:10px 0 18px;display:flex;flex-direction:column;gap:10px;}
#hero .hero__highlight{font-family:var(--zeef2d-font);font-size:16px;line-height:1.4;color:var(--zeef2d-ink);padding-left:18px;position:relative;}
#hero .hero__highlight:before{content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;border-radius:50%;background:var(--zeef2d-accent);}
#hero .hero__meta{display:flex;gap:12px;align-items:flex-start;margin-top:6px;padding:14px 14px;border:1px solid var(--zeef2d-border);border-radius:var(--radius-lg);background:var(--zeef2d-surface);box-shadow:var(--shadow-soft);} 
#hero .hero__meta-badge{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:12px;background:color-mix(in srgb, var(--zeef2d-secondary) 18%, var(--zeef2d-surface));color:var(--zeef2d-secondary);font-size:18px;line-height:1;flex:0 0 auto;}
#hero .hero__meta-text{margin:0;font-family:var(--zeef2d-font);font-size:16px;line-height:1.55;color:var(--zeef2d-ink);} 
#hero .hero__visual{flex:1 1 44%;min-width:320px;position:relative;padding-top:6px;}
#hero .hero__image-frame{position:relative;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--zeef2d-border);background:var(--zeef2d-mist);box-shadow:var(--shadow);}
#hero .hero__image{display:block;width:100%;height:auto;object-fit:cover;aspect-ratio:9/7;}
#hero .hero__overlay{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding:16px;}
#hero .hero__overlay-card{background:rgba(245,247,248,.92);backdrop-filter:saturate(1.2);border:1px solid color-mix(in srgb, var(--zeef2d-border) 70%, transparent);border-radius:16px;padding:12px 12px;max-width:46%;}
#hero .hero__overlay-card--accent{background:rgba(217,119,43,.10);border-color:color-mix(in srgb, var(--zeef2d-secondary) 45%, var(--zeef2d-border));}
#hero .hero__overlay-title{margin:0 0 4px;font-family:var(--zeef2d-font-display);font-size:16px;line-height:1.2;color:var(--zeef2d-primary);} 
#hero .hero__overlay-sub{margin:0;font-family:var(--zeef2d-font);font-size:14px;line-height:1.35;color:var(--zeef2d-slate);} 
#hero .hero__decor{position:absolute;right:-18px;top:18px;width:130px;height:130px;border-radius:34px;background:color-mix(in srgb, var(--zeef2d-secondary) 18%, var(--zeef2d-surface));border:1px solid color-mix(in srgb, var(--zeef2d-secondary) 40%, var(--zeef2d-border));z-index:-1;transform:rotate(9deg);} 

::selection{background:color-mix(in srgb, var(--zeef2d-secondary) 35%, white);color:var(--zeef2d-ink);} 

@media (max-width: 900px){#hero .hero__inner{flex-direction:column;gap:16px;}#hero .hero__title{font-size:38px;}#hero .hero__visual{width:100%;}}
@media (max-width: 520px){#hero .hero__title{font-size:32px;}#hero .hero__lead{font-size:16px;}#hero .hero__overlay-card{max-width:48%;}#hero .hero__decor{display:none;}}
@media (prefers-reduced-motion: reduce){#hero .btn{transition:none;}#hero .hero__image-frame{box-shadow:var(--shadow);}}

/* zeef2d:how-to-choose */
/* zeef2d:how-to-choose */

#how-to-choose{
  --gap-1: 12px;
  --gap-2: 18px;
  --gap-3: 26px;
  --max: 1080px;
  padding: 56px 18px;
  background: var(--zeef2d-bg);
  color: var(--zeef2d-text);
}
#how-to-choose *{box-sizing:border-box;}
#how-to-choose .container{max-width:var(--max);margin:0 auto;}

#how-to-choose .section-head{margin-bottom: 26px;}
#how-to-choose .eyebrow{
  margin: 0 0 10px 0;
  font-family: var(--zeef2d-font);
  color: var(--zeef2d-slate);
  letter-spacing: .02em;
  font-size: 14px;
}
#how-to-choose .title{
  margin: 0 0 12px 0;
  font-family: var(--zeef2d-font-display);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.15;
  font-size: 34px;
  text-wrap: balance;
}
#how-to-choose .lead{
  margin: 0;
  max-width: 62ch;
  color: var(--zeef2d-slate);
  font-size: 16.5px;
  line-height: 1.7;
}

#how-to-choose .reasons{
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px;
  margin-bottom: 26px;
}
#how-to-choose .reason{
  grid-column: span 6;
  background: var(--zeef2d-surface);
  border: 1px solid var(--zeef2d-border);
  border-radius: var(--radius-lg, 18px);
  padding: 18px;
  min-height: 150px;
}
#how-to-choose .reason:nth-child(1){grid-column: span 7;}
#how-to-choose .reason:nth-child(2){grid-column: span 5;}
#how-to-choose .reason:nth-child(3){grid-column: span 5;}
#how-to-choose .reason:nth-child(4){grid-column: span 7;}

#how-to-choose .reason-marker{
  font-family: var(--zeef2d-font-display);
  color: var(--zeef2d-secondary);
  font-weight: 800;
  letter-spacing: 0.02em;
  font-size: 18px;
  margin-bottom: 10px;
}
#how-to-choose .reason-title{
  margin: 0 0 8px 0;
  font-family: var(--zeef2d-font-display);
  font-size: 18px;
  line-height: 1.25;
  letter-spacing: -0.01em;
}
#how-to-choose .reason-text{
  margin: 0;
  color: var(--zeef2d-slate);
  line-height: 1.7;
  font-size: 15.5px;
}

#how-to-choose .cta-row{
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 16px;
  align-items: start;
}
#how-to-choose .cta-card{
  background: var(--zeef2d-primary);
  color: var(--zeef2d-bg);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--radius-lg, 18px);
  padding: 22px;
}
#how-to-choose .cta-title{
  margin: 0 0 10px 0;
  font-family: var(--zeef2d-font-display);
  font-size: 20px;
  letter-spacing: -0.01em;
}
#how-to-choose .cta-text{
  margin: 0 0 16px 0;
  color: rgba(245,247,248,.88);
  line-height: 1.7;
  font-size: 15.5px;
}
#how-to-choose .cta-button{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  padding: 0 16px;
  border-radius: var(--radius-md, 14px);
  background: var(--zeef2d-secondary);
  border: 1px solid var(--zeef2d-secondary);
  color: #fff;
  text-decoration: none;
  font-family: var(--zeef2d-font);
  font-weight: 700;
  letter-spacing: .01em;
}
#how-to-choose .cta-button:focus-visible{outline: 3px solid rgba(217,119,43,.45); outline-offset: 2px;}
#how-to-choose .cta-button:hover{filter: brightness(1.02);} 

#how-to-choose .cta-side{
  background: var(--zeef2d-surface);
  border: 1px solid var(--zeef2d-border);
  border-radius: var(--radius-lg, 18px);
  padding: 18px;
}
#how-to-choose .side-title{
  margin: 0 0 10px 0;
  font-family: var(--zeef2d-font-display);
  font-size: 18px;
  letter-spacing: -0.01em;
}
#how-to-choose .side-text{
  margin: 0 0 14px 0;
  color: var(--zeef2d-slate);
  line-height: 1.7;
  font-size: 15.5px;
}
#how-to-choose .side-link{
  color: var(--zeef2d-primary);
  text-decoration: none;
  font-weight: 700;
  border-bottom: 1px solid rgba(11,58,83,.35);
  padding-bottom: 2px;
}
#how-to-choose .side-link:focus-visible{outline: 3px solid rgba(11,58,83,.25); outline-offset: 3px; border-bottom-color: rgba(11,58,83,.65);} 
#how-to-choose .side-link:hover{border-bottom-color: rgba(11,58,83,.75);} 

#how-to-choose ::selection{background: rgba(217,119,43,.22); color: var(--zeef2d-text);} 

@media (max-width: 900px){
  #how-to-choose{padding: 44px 16px;}
  #how-to-choose .title{font-size: 28px;}
  #how-to-choose .reason{grid-column: span 12 !important;}
  #how-to-choose .cta-row{grid-template-columns: 1fr;}
}
@media (prefers-reduced-motion: reduce){
  #how-to-choose *{scroll-behavior:auto;}
}

/* zeef2d:featured-itineraries */
/* zeef2d:featured-itineraries */
#featured-itineraries{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:48px 0 56px;}
#featured-itineraries .container{max-width:1100px;margin:0 auto;padding:0 20px;}
#featured-itineraries .section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px;}
#featured-itineraries .section-title{margin:0;font-family:var(--zeef2d-font-display);font-size:38px;line-height:1.05;letter-spacing:-0.02em;text-wrap:balance;}
#featured-itineraries .section-lead{margin:0;max-width:560px;font-family:var(--zeef2d-font);font-size:16px;line-height:1.6;color:var(--zeef2d-slate);}
#featured-itineraries .itineraries-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
#featured-itineraries .itinerary-card{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--radius-lg);padding:18px 18px 16px;box-shadow:0 10px 30px rgba(11,58,83,0.08);display:flex;flex-direction:column;min-height:320px;}
#featured-itineraries .card-top{display:flex;flex-direction:column;gap:10px;margin-bottom:10px;}
#featured-itineraries .card-badge{display:inline-flex;align-items:center;gap:8px;margin:0;width:max-content;padding:8px 12px;border-radius:999px;background:rgba(217,119,43,0.12);border:1px solid rgba(217,119,43,0.25);color:var(--zeef2d-primary);font-family:var(--zeef2d-font);font-size:13px;font-weight:700;}
#featured-itineraries .card-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--zeef2d-slate);font-size:13px;}
#featured-itineraries .meta-sep{color:rgba(16,42,47,0.35);}
#featured-itineraries .card-title{margin:4px 0 10px;font-family:var(--zeef2d-font-display);font-size:22px;line-height:1.25;letter-spacing:-0.01em;text-wrap:balance;}
#featured-itineraries .card-desc{margin:0 0 16px;color:var(--zeef2d-slate);font-size:15px;line-height:1.65;}
#featured-itineraries .card-actions{margin-top:auto;display:flex;gap:10px;flex-wrap:wrap;}
#featured-itineraries .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:var(--radius-md);padding:11px 14px;font-family:var(--zeef2d-font);font-weight:800;text-decoration:none;line-height:1;}
#featured-itineraries .btn-primary{background:var(--zeef2d-primary);color:var(--zeef2d-bg);border:1px solid rgba(11,58,83,0.25);}
#featured-itineraries .btn-primary:hover{background:#0a324a;}
#featured-itineraries .btn-primary:focus-visible{outline:3px solid rgba(217,119,43,0.55);outline-offset:2px;}
#featured-itineraries .btn-ghost{background:transparent;color:var(--zeef2d-primary);border:1px solid var(--zeef2d-primary);}
#featured-itineraries .btn-ghost:hover{background:rgba(11,58,83,0.06);}
#featured-itineraries .btn-ghost:focus-visible{outline:3px solid rgba(217,119,43,0.55);outline-offset:2px;}
#featured-itineraries .btn:disabled{opacity:0.6;cursor:not-allowed;}
#featured-itineraries ::selection{background:rgba(217,119,43,0.35);}
@media (max-width: 960px){
  #featured-itineraries .section-header{flex-direction:column;align-items:flex-start;}
  #featured-itineraries .itineraries-row{grid-template-columns:1fr;}
  #featured-itineraries .itinerary-card{min-height:unset;}
}
@media (prefers-reduced-motion: reduce){
  #featured-itineraries .btn{transition:none;}
}

/* zeef2d:practical-disclaimer */
/* zeef2d:practical-disclaimer */
#practical-disclaimer{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:56px 16px 64px;}
#practical-disclaimer .practical-disclaimer__inner{max-width:1100px;margin:0 auto;}
#practical-disclaimer .practical-disclaimer__header{max-width:760px;margin-bottom:26px;}
#practical-disclaimer .practical-disclaimer__title{font-family:var(--zeef2d-font-display);font-size:clamp(26px,3.2vw,38px);letter-spacing:-0.02em;line-height:1.1;margin:0 0 10px;font-weight:800;text-wrap:balance;}
#practical-disclaimer .practical-disclaimer__lead{margin:0;font-size:16px;line-height:1.7;color:var(--zeef2d-text);}
#practical-disclaimer .practical-disclaimer__grid{display:grid;grid-template-columns:1fr;gap:14px;}
#practical-disclaimer .practical-disclaimer__card{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius,14px);padding:18px 18px 16px;}
#practical-disclaimer .practical-disclaimer__card-title{margin:0 0 10px;font-size:16px;line-height:1.4;font-weight:800;color:var(--zeef2d-ink);}
#practical-disclaimer .practical-disclaimer__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
#practical-disclaimer .practical-disclaimer__li{position:relative;padding-left:18px;font-size:14.5px;line-height:1.55;color:var(--zeef2d-text);}
#practical-disclaimer .practical-disclaimer__li::before{content:"";position:absolute;left:0;top:0.55em;width:9px;height:9px;border-radius:50%;background:var(--zeef2d-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--zeef2d-accent) 18%, transparent);}
#practical-disclaimer .practical-disclaimer__card--note{background:linear-gradient(180deg, color-mix(in srgb, var(--zeef2d-surface) 88%, white 12%), var(--zeef2d-surface));}
#practical-disclaimer .practical-disclaimer__note{margin:0;font-size:14.5px;line-height:1.7;color:var(--zeef2d-text);}
#practical-disclaimer .practical-disclaimer__link{color:var(--zeef2d-primary);text-decoration:underline;text-underline-offset:3px;font-weight:700;}
#practical-disclaimer .practical-disclaimer__link:focus-visible{outline:3px solid color-mix(in srgb, var(--zeef2d-secondary) 45%, transparent);outline-offset:3px;border-radius:6px;}
#practical-disclaimer .practical-disclaimer__card--cta{border-color:color-mix(in srgb, var(--zeef2d-border) 70%, var(--zeef2d-primary) 30%);}
#practical-disclaimer .practical-disclaimer__cta-text{margin:0 0 14px;font-size:14.5px;line-height:1.7;color:var(--zeef2d-text);}
#practical-disclaimer .practical-disclaimer__cta-row{display:flex;flex-direction:column;gap:10px;}
#practical-disclaimer .practical-disclaimer__button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:var(--zeef2d-radius,14px);padding:12px 14px;font-weight:900;border:1px solid var(--zeef2d-primary);background:var(--zeef2d-primary);color:var(--zeef2d-bg);min-height:44px;}
#practical-disclaimer .practical-disclaimer__button:hover{background:color-mix(in srgb, var(--zeef2d-primary) 88%, var(--zeef2d-secondary) 12%);}
#practical-disclaimer .practical-disclaimer__button:focus-visible{outline:3px solid color-mix(in srgb, var(--zeef2d-secondary) 50%, transparent);outline-offset:3px;}
#practical-disclaimer .practical-disclaimer__button--ghost{background:var(--zeef2d-surface);color:var(--zeef2d-primary);border-color:color-mix(in srgb, var(--zeef2d-primary) 60%, var(--zeef2d-border) 40%);}
#practical-disclaimer .practical-disclaimer__button--ghost:hover{background:color-mix(in srgb, var(--zeef2d-surface) 70%, white 30%);}
#practical-disclaimer .practical-disclaimer__fineprint{margin-top:18px;padding:14px 16px;border-radius:var(--zeef2d-radius,14px);border:1px dashed var(--zeef2d-border);background:color-mix(in srgb, var(--zeef2d-surface) 78%, white 22%);}
#practical-disclaimer .practical-disclaimer__fineprint-text{margin:0;font-size:13.5px;line-height:1.6;color:color-mix(in srgb, var(--zeef2d-text) 84%, var(--zeef2d-slate) 16%);}
#practical-disclaimer ::selection{background:color-mix(in srgb, var(--zeef2d-accent) 35%, transparent);}
@media (min-width:860px){
  #practical-disclaimer{padding:76px 24px 84px;}
  #practical-disclaimer .practical-disclaimer__grid{grid-template-columns:1fr 1fr;gap:16px;}
  #practical-disclaimer .practical-disclaimer__card--cta{grid-column:2 / 3;}
  #practical-disclaimer .practical-disclaimer__cta-row{flex-direction:row;flex-wrap:wrap;}
  #practical-disclaimer .practical-disclaimer__button{flex:1 1 200px;}
}
@media (prefers-reduced-motion:reduce){
  #practical-disclaimer .practical-disclaimer__button{transition:none;}
}

/* zeef2d:contacts */
/* zeef2d:contacts */
#contacts.contacts{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:56px 16px;}
#contacts .contacts__container{max-width:1080px;margin:0 auto;}
#contacts .contacts__header{margin-bottom:22px;}
#contacts .contacts__title{font-family:var(--zeef2d-font-display);font-size:40px;line-height:1.08;letter-spacing:-0.02em;margin:0 0 10px;text-wrap:balance;}
#contacts .contacts__lead{margin:0;max-width:70ch;color:var(--zeef2d-slate);font-size:16px;line-height:1.6;}
#contacts .contacts__grid{display:grid;grid-template-columns:1fr;gap:16px;align-items:start;}
#contacts .contacts__panel{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg,18px);padding:18px;box-shadow:0 10px 28px rgba(11,58,83,.08);}
#contacts .contacts__panel-title{margin:0 0 12px;font-size:18px;letter-spacing:-0.01em;}
#contacts .contacts__dl{margin:0;display:grid;gap:12px;}
#contacts .contacts__row{display:grid;grid-template-columns:140px 1fr;gap:12px;align-items:start;}
#contacts .contacts__dt{color:var(--zeef2d-slate);font-size:13px;}
#contacts .contacts__dd{margin:0;font-size:15px;}
#contacts .contacts__link{color:var(--zeef2d-primary);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
#contacts .contacts__link:focus-visible{outline:3px solid rgba(217,119,43,.35);outline-offset:3px;border-radius:6px;}
#contacts .contacts__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
#contacts .contacts__button{display:inline-flex;align-items:center;justify-content:center;padding:11px 14px;border-radius:var(--zeef2d-radius-md,14px);background:var(--zeef2d-primary);color:var(--zeef2d-bg);text-decoration:none;font-weight:700;border:1px solid var(--zeef2d-primary);font-size:14px;}
#contacts .contacts__button:hover{background:#0a334a;}
#contacts .contacts__button:active{transform:translateY(1px);}
#contacts .contacts__button:focus-visible{outline:3px solid rgba(217,119,43,.35);outline-offset:3px;}
#contacts .contacts__button--ghost{background:transparent;color:var(--zeef2d-primary);border-color:var(--zeef2d-primary);}
#contacts .contacts__button--ghost:hover{background:rgba(11,58,83,.06);}
#contacts .contacts__form{display:grid;gap:12px;}
#contacts .contacts__field{display:grid;gap:6px;}
#contacts .contacts__label{font-size:13px;color:var(--zeef2d-slate);}
#contacts .contacts__input,.contacts .contacts__textarea{width:100%;border:1px solid var(--zeef2d-border);background:var(--zeef2d-bg);border-radius:var(--zeef2d-radius-md,14px);padding:11px 12px;font-size:14px;color:var(--zeef2d-text);font-family:var(--zeef2d-font);}
#contacts .contacts__textarea{resize:vertical;min-height:120px;}
#contacts .contacts__input::placeholder,#contacts .contacts__textarea::placeholder{color:rgba(16,42,47,.55);}
#contacts .contacts__input:focus-visible,#contacts .contacts__textarea:focus-visible{outline:3px solid rgba(217,119,43,.35);outline-offset:2px;border-color:rgba(217,119,43,.7);}
#contacts .contacts__submit{margin-top:2px;justify-self:start;display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:var(--zeef2d-radius-md,14px);background:var(--zeef2d-secondary);border:1px solid var(--zeef2d-secondary);color:var(--zeef2d-bg);font-weight:800;font-size:14px;cursor:pointer;}
#contacts .contacts__submit:hover{background:#c86c25;}
#contacts .contacts__submit:active{transform:translateY(1px);}
#contacts .contacts__submit:focus-visible{outline:3px solid rgba(11,58,83,.25);outline-offset:3px;}
#contacts .contacts__fineprint{margin:4px 0 0;color:var(--zeef2d-slate);font-size:12.5px;line-height:1.5;max-width:60ch;}
#contacts .contacts__disclaimer{margin-top:18px;padding-top:14px;border-top:1px solid var(--zeef2d-border);}
#contacts .contacts__disclaimer-text{margin:0 0 8px;color:var(--zeef2d-slate);font-size:13.5px;line-height:1.6;}
@media (min-width:860px){#contacts .contacts__grid{grid-template-columns:0.95fr 1.05fr;}#contacts .contacts__panel{padding:20px;}}
@media (prefers-reduced-motion: reduce){#contacts .contacts__button,#contacts .contacts__submit{transition:none;}}
#contacts ::selection{background:rgba(217,119,43,.25);}

/* zeef2d:blog-list */
/* zeef2d:blog-list */
#blog-list{--radius-sm:var(--zeef2d-radius-sm,10px);--radius-md:var(--zeef2d-radius-md,14px);--radius-lg:var(--zeef2d-radius-lg,18px);} 
#blog-list{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:56px 0 48px;}
#blog-list .blog-list__container{max-width:1120px;margin:0 auto;padding:0 20px;}
#blog-list .blog-list__header{display:block;margin-bottom:22px;}
#blog-list .blog-list__title{font-family:var(--zeef2d-font-display);font-weight:700;letter-spacing:-0.02em;text-wrap:balance;font-size:34px;line-height:1.12;margin:0 0 10px;}
#blog-list .blog-list__lead{margin:0;max-width:66ch;color:var(--zeef2d-text);font-size:16px;line-height:1.6;}
#blog-list .blog-list__grid{margin-top:22px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
#blog-list .post-card{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-md,14px);box-shadow:0 10px 26px rgba(16,42,47,.06);overflow:hidden;}
#blog-list .post-card__link{display:block;color:inherit;text-decoration:none;height:100%;}
#blog-list .post-card__thumb{height:152px;background:linear-gradient(180deg, rgba(11,58,83,.18), rgba(11,58,83,.04));position:relative;}
#blog-list .post-card__thumb::after{content:"";position:absolute;inset:0;background:
  radial-gradient(120px 80px at 25% 30%, rgba(217,119,43,.35), transparent 55%),
  radial-gradient(140px 90px at 70% 60%, rgba(11,58,83,.25), transparent 58%);
  opacity:.9;}
#blog-list .post-card__thumb--orange{background:linear-gradient(180deg, rgba(217,119,43,.22), rgba(217,119,43,.04));}
#blog-list .post-card__thumb--teal{background:linear-gradient(180deg, rgba(16,42,47,.18), rgba(16,42,47,.05));}
#blog-list .post-card__thumb--sand{background:linear-gradient(180deg, rgba(217,119,43,.18), rgba(245,247,248,.02));}
#blog-list .post-card__thumb--dawn{background:linear-gradient(180deg, rgba(11,58,83,.16), rgba(217,119,43,.06));}
#blog-list .post-card__thumb--navy{background:linear-gradient(180deg, rgba(11,58,83,.22), rgba(16,42,47,.05));}
#blog-list .post-card__body{padding:16px 16px 18px;}
#blog-list .post-card__title{margin:0;font-family:var(--zeef2d-font);font-size:18px;line-height:1.25;font-weight:700;letter-spacing:-0.01em;}
#blog-list .post-card__meta{margin:10px 0 0;color:var(--zeef2d-slate);font-size:14px;line-height:1.5;}
#blog-list .post-card__link:focus-visible{outline:3px solid var(--zeef2d-secondary);outline-offset:2px;}
#blog-list .post-card:has(.post-card__link:focus-visible){box-shadow:0 16px 34px rgba(217,119,43,.16);}
#blog-list .blog-list__footer{margin-top:22px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
#blog-list .blog-list__cta{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:var(--zeef2d-radius-sm,10px);border:1px solid var(--zeef2d-primary);background:var(--zeef2d-primary);color:var(--zeef2d-bg);font-weight:700;text-decoration:none;font-size:15px;}
#blog-list .blog-list__cta:hover{background:rgba(11,58,83,.92);}
#blog-list .blog-list__cta:active{transform:translateY(1px);}
#blog-list .blog-list__cta:focus-visible{outline:3px solid var(--zeef2d-secondary);outline-offset:2px;}
#blog-list .blog-list__hint{color:var(--zeef2d-slate);font-size:14px;line-height:1.6;}
#blog-list ::selection{background:rgba(217,119,43,.28);}
@media (max-width: 980px){#blog-list .blog-list__grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 620px){#blog-list{padding:44px 0 36px;}#blog-list .blog-list__title{font-size:28px;}#blog-list .blog-list__grid{grid-template-columns:1fr;gap:12px;}#blog-list .post-card__thumb{height:138px;}#blog-list .blog-list__footer{justify-content:flex-start;}}
@media (prefers-reduced-motion: reduce){#blog-list .blog-list__cta{transition:none;}#blog-list .post-card{transition:none;}}
/* zeef2d:itineraries-intro */
/* zeef2d:itineraries-intro */
#itineraries-intro{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:28px 0 10px}
#itineraries-intro .intro-wrap{max-width:1040px;margin:0 auto;display:flex;gap:26px;align-items:flex-start;padding:0 18px}
#itineraries-intro .intro-text{flex:1;min-width:280px}
#itineraries-intro .intro-title{font-family:var(--zeef2d-font-display);font-weight:700;letter-spacing:-0.02em;line-height:1.15;margin:0 0 10px;font-size:34px;text-wrap:balance}
#itineraries-intro .intro-lead{margin:0 0 12px;font-size:16px;line-height:1.7;color:var(--zeef2d-ink)}
#itineraries-intro .intro-note{margin:0;font-size:15px;line-height:1.7;color:var(--zeef2d-slate)}
#itineraries-intro .intro-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
#itineraries-intro .intro-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:10px 14px;border-radius:var(--zeef2d-radius-md,14px);border:1px solid var(--zeef2d-border);color:var(--zeef2d-ink);text-decoration:none;background:transparent;white-space:nowrap;font-weight:600}
#itineraries-intro .intro-link-alt{border-color:var(--zeef2d-border);background:var(--zeef2d-surface)}
#itineraries-intro .intro-link:focus-visible{outline:3px solid rgba(217,119,43,.35);outline-offset:2px}
#itineraries-intro .intro-link:hover{border-color:var(--zeef2d-secondary)}
#itineraries-intro .intro-aside{width:360px;max-width:42%;background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg,18px);padding:16px 16px 14px}
#itineraries-intro .aside-title{margin:0 0 10px;font-size:18px;font-weight:700;color:var(--zeef2d-ink)}
#itineraries-intro .aside-list{list-style:none;padding:0;margin:0 0 10px}
#itineraries-intro .aside-item{margin:10px 0;line-height:1.6;color:var(--zeef2d-ink);font-size:14.5px}
#itineraries-intro .aside-dot{display:inline-block;margin-right:10px;color:var(--zeef2d-secondary);font-weight:900}
#itineraries-intro .aside-foot{margin:0;color:var(--zeef2d-slate);font-size:14.5px;line-height:1.65}
@media (max-width:900px){#itineraries-intro .intro-wrap{flex-direction:column;gap:16px}#itineraries-intro .intro-aside{width:auto;max-width:none}}
@media (prefers-reduced-motion:reduce){#itineraries-intro *{scroll-behavior:auto}}
::selection{background:rgba(217,119,43,.22)}
/* zeef2d:itineraries-filter */
/* zeef2d:itineraries-filter */
#itineraries-filter{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:28px 16px;}
#itineraries-filter .container{max-width:1040px;margin:0 auto;}
#itineraries-filter .filter-header{padding:6px 4px 18px 4px;}
#itineraries-filter .kicker{font-family:var(--zeef2d-font);color:var(--zeef2d-slate);font-size:13px;letter-spacing:.02em;margin:0 0 10px 0;}
#itineraries-filter .title{font-family:var(--zeef2d-font-display);font-size:34px;line-height:1.12;letter-spacing:-.02em;margin:0 0 10px 0;text-wrap:balance;}
#itineraries-filter .subtitle{margin:0;color:var(--zeef2d-slate);max-width:70ch;font-size:15.5px;line-height:1.6;}
#itineraries-filter .tempo-fieldset{border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg,18px);padding:18px; background:var(--zeef2d-surface);}
#itineraries-filter .tempo-group{display:grid;gap:12px;grid-template-columns:1fr;}
#itineraries-filter .tempo-option{position:relative;border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-md,14px);background:var(--zeef2d-bg);padding:14px 14px 12px 14px;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;}
#itineraries-filter .tempo-option input{position:absolute;opacity:0;pointer-events:none;}
#itineraries-filter .tempo-label{display:block;font-family:var(--zeef2d-font-display);font-size:18px;line-height:1.2;margin-bottom:6px;letter-spacing:-.01em;}
#itineraries-filter .tempo-meta{display:block;color:var(--zeef2d-slate);font-size:13.5px;line-height:1.45;}
#itineraries-filter .tempo-option:focus-within{box-shadow:0 0 0 3px rgba(217,119,43,.25);border-color:rgba(217,119,43,.85);}
#itineraries-filter .tempo-option:hover{border-color:rgba(217,119,43,.65);}
#itineraries-filter .tempo-option input:checked ~ .tempo-label{color:var(--zeef2d-primary);}
#itineraries-filter .tempo-option input:checked{ }
#itineraries-filter .tempo-option input:checked{ }
#itineraries-filter .tempo-option:has(input:checked){border-color:rgba(217,119,43,.9);box-shadow:0 10px 28px rgba(11,58,83,.06);}
#itineraries-filter .tempo-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:14px;}
#itineraries-filter .btn{appearance:none;border-radius:999px;padding:11px 16px;font-family:var(--zeef2d-font-display);font-size:14.5px;line-height:1;cursor:pointer;border:1px solid transparent;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .05s ease,box-shadow .15s ease;}
#itineraries-filter .btn:active{transform:translateY(1px);}
#itineraries-filter .btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(217,119,43,.3);}
#itineraries-filter .btn-primary{background:var(--zeef2d-primary);color:var(--zeef2d-bg);border-color:var(--zeef2d-primary);}
#itineraries-filter .btn-primary:hover{background:rgba(11,58,83,.92);}
#itineraries-filter .btn-ghost{background:var(--zeef2d-bg);color:var(--zeef2d-primary);border-color:var(--zeef2d-border);}
#itineraries-filter .btn-ghost:hover{border-color:rgba(217,119,43,.85);}
#itineraries-filter .tempo-status{margin-top:12px;color:var(--zeef2d-slate);font-size:14.5px;line-height:1.5;}
#itineraries-filter .tempo-status-value{color:var(--zeef2d-primary);font-weight:700;}
#itineraries-filter .filter-hint{margin-top:14px;padding:14px 16px;border-radius:var(--zeef2d-radius-md,14px);border:1px dashed rgba(217,119,43,.55);background:rgba(217,119,43,.06);}
#itineraries-filter .filter-hint-title{margin:0 0 6px 0;font-family:var(--zeef2d-font-display);color:var(--zeef2d-primary);font-size:15.5px;}
#itineraries-filter .filter-hint-text{margin:0;color:var(--zeef2d-slate);font-size:14.5px;line-height:1.6;}
#itineraries-filter .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
#itineraries-filter ::selection{background:rgba(217,119,43,.25);}
@media (min-width: 820px){
  #itineraries-filter .tempo-group{grid-template-columns:repeat(3,1fr);gap:14px;}
  #itineraries-filter{padding:34px 16px;}
}
@media (prefers-reduced-motion: reduce){
  #itineraries-filter *{transition:none !important;scroll-behavior:auto !important;}
}

/* zeef2d:itineraries-list */
/* zeef2d:itineraries-list */
#itineraries-list{--r:var(--zeef2d-radius,14px);padding:24px 0 56px;background:var(--zeef2d-bg);color:var(--zeef2d-text);}
#itineraries-list *{box-sizing:border-box}
#itineraries-list .container{max-width:1120px;margin:0 auto;padding:0 16px}
#itineraries-list .section-head{display:flex;flex-direction:column;gap:10px;margin:4px 0 18px}
#itineraries-list .section-title{font-family:var(--zeef2d-font-display);font-size:30px;line-height:1.15;margin:0;letter-spacing:-0.02em;text-wrap:balance}
#itineraries-list .section-subtitle{margin:0;color:var(--zeef2d-slate);font-size:16px;line-height:1.6;max-width:62ch}
#itineraries-list .filter-row{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;justify-content:space-between;margin:16px 0 22px}
#itineraries-list .filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
#itineraries-list .field{display:flex;flex-direction:column;gap:8px;min-width:220px}
#itineraries-list .label{font-size:13px;color:var(--zeef2d-ink);font-weight:700}
#itineraries-list .control{appearance:none;background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius,14px);padding:11px 12px;font-size:15px;color:var(--zeef2d-text);font-family:var(--zeef2d-font)}
#itineraries-list .control:focus-visible{outline:3px solid color-mix(in srgb, var(--zeef2d-secondary) 45%, transparent);outline-offset:2px}
#itineraries-list .field-actions{min-width:0;flex-direction:row;gap:10px;align-items:center}
#itineraries-list .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:var(--zeef2d-radius,14px);padding:11px 14px;font-size:15px;line-height:1.1;text-decoration:none;font-family:var(--zeef2d-font);border:1px solid transparent;cursor:pointer;user-select:none}
#itineraries-list .btn-primary{background:var(--zeef2d-primary);color:#fff;border-color:var(--zeef2d-primary)}
#itineraries-list .btn-primary:hover{filter:brightness(1.03)}
#itineraries-list .btn-primary:active{transform:translateY(1px)}
#itineraries-list .btn-ghost{background:var(--zeef2d-surface);color:var(--zeef2d-primary);border-color:var(--zeef2d-border)}
#itineraries-list .btn-ghost:hover{background:color-mix(in srgb, var(--zeef2d-surface) 82%, var(--zeef2d-mist) 18%)}
#itineraries-list .btn-link{background:transparent;color:var(--zeef2d-primary);border-color:var(--zeef2d-border);padding:10px 12px}
#itineraries-list .btn-link:hover{background:color-mix(in srgb, var(--zeef2d-surface) 86%, var(--zeef2d-mist) 14%)}
#itineraries-list .btn:focus-visible{outline:3px solid color-mix(in srgb, var(--zeef2d-secondary) 45%, transparent);outline-offset:2px}
#itineraries-list .result-hint{flex:1;display:flex;justify-content:flex-end}
#itineraries-list .result-pill{display:inline-flex;align-items:center;gap:10px;padding:10px 12px;border-radius:999px;border:1px solid var(--zeef2d-border);background:var(--zeef2d-surface);color:var(--zeef2d-ink);font-size:14px}
#itineraries-list .cards{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}
#itineraries-list .itinerary-card{grid-column:span 6;background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius,14px);padding:16px 16px 14px;display:flex;flex-direction:column;gap:10px;min-height:220px;box-shadow:0 1px 0 color-mix(in srgb, var(--zeef2d-border) 65%, transparent)}
#itineraries-list .card-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px}
#itineraries-list .card-title{margin:0;font-size:17px;line-height:1.25;font-family:var(--zeef2d-font-display);letter-spacing:-0.01em;text-wrap:balance}
#itineraries-list .tag{background:color-mix(in srgb, var(--zeef2d-secondary) 15%, var(--zeef2d-surface) 85%);color:var(--zeef2d-primary);border:1px solid color-mix(in srgb, var(--zeef2d-secondary) 40%, var(--zeef2d-border) 60%);padding:7px 10px;border-radius:999px;font-size:13px;font-weight:800}
#itineraries-list .meta{margin:0;font-size:14px;color:var(--zeef2d-slate);line-height:1.5}
#itineraries-list .meta-label{color:var(--zeef2d-ink);font-weight:700}
#itineraries-list .teaser{margin:0;color:var(--zeef2d-ink);font-size:14px;line-height:1.6}
#itineraries-list .note{margin-top:20px}
#itineraries-list .note-text{margin:0;background:color-mix(in srgb, var(--zeef2d-secondary) 10%, var(--zeef2d-surface) 90%);border:1px solid color-mix(in srgb, var(--zeef2d-secondary) 25%, var(--zeef2d-border) 75%);border-radius:var(--zeef2d-radius,14px);padding:14px 14px;color:var(--zeef2d-ink);font-size:14px;line-height:1.6}
#itineraries-list .cards[data-state="no-results"] .itinerary-card{display:none}
#itineraries-list .cards[data-state="no-results"] .itinerary-card[data-visible="false"]{display:none}
#itineraries-list .cards .itinerary-card[hidden]{display:none}
@media (max-width: 860px){#itineraries-list .itinerary-card{grid-column:span 12}#itineraries-list .result-hint{justify-content:flex-start;width:100%}}
@media (max-width: 520px){#itineraries-list .section-title{font-size:26px}#itineraries-list .field{min-width:0;width:100%}#itineraries-list .filter-row{align-items:stretch}#itineraries-list .field-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}}
#itineraries-list ::selection{background:color-mix(in srgb, var(--zeef2d-secondary) 30%, transparent);color:var(--zeef2d-ink)}
@media (prefers-reduced-motion: reduce){#itineraries-list .btn{transition:none}}

/* zeef2d:planning-disclaimer */
/* zeef2d:planning-disclaimer */
#planning-disclaimer{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:48px 0}
#planning-disclaimer .container{max-width:980px;margin:0 auto;padding:0 20px}
#planning-disclaimer .disclaimer-card{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius,14px);padding:26px 22px;box-shadow:0 10px 30px rgba(11,58,83,.08)}
#planning-disclaimer .kicker{margin:0 0 10px;font:700 12px/1.2 var(--zeef2d-font);letter-spacing:.08em;text-transform:uppercase;color:var(--zeef2d-slate)}
#planning-disclaimer .title{margin:0 0 14px;font:700 30px/1.1 var(--zeef2d-font-display);letter-spacing:-.02em;text-wrap:balance;color:var(--zeef2d-ink)}
#planning-disclaimer .list{margin:0;padding:0;list-style:none}
#planning-disclaimer .item{position:relative;padding-left:18px;margin:10px 0;font:400 16px/1.5 var(--zeef2d-font);color:var(--zeef2d-text)}
#planning-disclaimer .item::before{content:"";position:absolute;left:0;top:.75em;width:8px;height:8px;border-radius:50%;background:var(--zeef2d-secondary)}
#planning-disclaimer .meta{display:flex;gap:10px;align-items:flex-start;margin-top:16px;padding-top:14px;border-top:1px solid var(--zeef2d-border)}
#planning-disclaimer .meta-dot{color:var(--zeef2d-secondary);font-weight:700;line-height:1.2;margin-top:4px}
#planning-disclaimer .meta-text{margin:0;font:400 15px/1.5 var(--zeef2d-font);color:var(--zeef2d-ink)}
#planning-disclaimer .link{display:inline-flex;align-items:center;gap:10px;margin-top:18px;color:var(--zeef2d-primary);font:700 15px/1.2 var(--zeef2d-font);text-decoration:underline;text-decoration-color:rgba(11,58,83,.35);text-underline-offset:3px}
#planning-disclaimer .link:focus-visible{outline:3px solid rgba(217,119,43,.45);outline-offset:3px;border-radius:8px}
#planning-disclaimer ::selection{background:rgba(217,119,43,.22)}
@media (max-width:640px){#planning-disclaimer{padding:36px 0}#planning-disclaimer .disclaimer-card{padding:22px 16px}#planning-disclaimer .title{font-size:24px}#planning-disclaimer .item{font-size:15px}}
@media (prefers-reduced-motion:reduce){#planning-disclaimer *{scroll-behavior:auto;transition:none;animation:none}}
/* zeef2d:step-by-step */
/* zeef2d:step-by-step */
#step-by-step{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:48px 0;}
#step-by-step .step-container{max-width:1040px;margin:0 auto;padding:0 20px;}
#step-by-step .step-header{margin-bottom:22px;}
#step-by-step .step-title{font-family:var(--zeef2d-font-display);font-size:clamp(28px,3.2vw,44px);line-height:1.05;letter-spacing:-0.02em;margin:0 0 10px 0;text-wrap:balance;}
#step-by-step .step-lead{margin:0;max-width:760px;font-family:var(--zeef2d-font);font-size:16px;line-height:1.7;color:var(--zeef2d-ink);}
#step-by-step .step-list{list-style:none;margin:18px 0 0 0;padding:0;display:grid;gap:14px;}
#step-by-step .step-item{display:flex;gap:16px;align-items:flex-start;background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-md,14px);padding:16px 16px;}
#step-by-step .step-stepnum{flex:0 0 auto;width:36px;height:36px;border-radius:999px;background:var(--zeef2d-primary);color:var(--zeef2d-bg);display:flex;align-items:center;justify-content:center;font-family:var(--zeef2d-font-display);font-weight:700;}
#step-by-step .step-content{min-width:0;}
#step-by-step .step-item-title{margin:2px 0 6px 0;font-family:var(--zeef2d-font-display);font-size:18px;letter-spacing:-0.01em;}
#step-by-step .step-item-text{margin:0;color:var(--zeef2d-ink);font-family:var(--zeef2d-font);font-size:15px;line-height:1.65;}
#step-by-step .step-link{display:inline-flex;align-items:center;gap:8px;margin-top:10px;color:var(--zeef2d-primary);text-decoration:none;font-weight:700;border-bottom:2px solid rgba(217,119,43,0.35);padding-bottom:2px;}
#step-by-step .step-link:focus-visible{outline:3px solid rgba(217,119,43,0.65);outline-offset:3px;border-radius:8px;}
#step-by-step .step-link-secondary{border-bottom-color:rgba(217,119,43,0.55);}
#step-by-step .step-aside{margin-top:18px;background:rgba(11,58,83,0.04);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-md,14px);padding:16px;display:flex;gap:14px;align-items:center;justify-content:space-between;}
#step-by-step .step-aside-text{margin:0;font-family:var(--zeef2d-font);color:var(--zeef2d-ink);font-size:15px;line-height:1.6;}
@media (max-width:760px){#step-by-step{padding:36px 0;}#step-by-step .step-aside{flex-direction:column;align-items:flex-start;}#step-by-step .step-item{padding:14px;}}
@media (prefers-reduced-motion: reduce){#step-by-step *{scroll-behavior:auto;transition:none !important;animation:none !important;}}
::selection{background:rgba(217,119,43,0.35);}

/* zeef2d:cycling-notes */
/* zeef2d:cycling-notes */
#cycling-notes.cycling-notes{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:48px 18px;}
#cycling-notes .cycling-notes__inner{max-width:980px;margin:0 auto;}
#cycling-notes .cycling-notes__header{margin-bottom:22px;}
#cycling-notes .cycling-notes__title{font-family:var(--zeef2d-font-display);font-size:34px;line-height:1.1;letter-spacing:-0.02em;margin:0 0 10px 0;text-wrap:balance;}
#cycling-notes .cycling-notes__lead{margin:0;max-width:70ch;font-size:16px;line-height:1.7;color:var(--zeef2d-slate);}
#cycling-notes .cycling-notes__content{display:flex;flex-direction:column;gap:14px;}
#cycling-notes .tip{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--zeef2d-border);background:var(--zeef2d-surface);border-radius:var(--zeef2d-radius-lg, 18px);padding:16px 16px;}
#cycling-notes .tip__index{flex:0 0 auto;width:34px;height:34px;border-radius:12px;background:var(--zeef2d-primary);color:var(--zeef2d-bg);display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--zeef2d-font-display);}
#cycling-notes .tip__body{min-width:0;}
#cycling-notes .tip__title{margin:0 0 8px 0;font-size:18px;line-height:1.25;letter-spacing:-0.01em;}
#cycling-notes .tip__text{margin:0;font-size:15px;line-height:1.65;color:var(--zeef2d-slate);}
#cycling-notes .tip--callout{border-color:rgba(217,119,43,.45);background:linear-gradient(0deg, rgba(217,119,43,.08), rgba(217,119,43,.08)), var(--zeef2d-surface);}
#cycling-notes .tip__text--muted{margin-top:10px;}
#cycling-notes .checklist{margin:0;padding:0;list-style:none;display:grid;gap:8px;}
#cycling-notes .checklist__item{position:relative;padding-left:18px;font-size:15px;line-height:1.6;color:var(--zeef2d-slate);}
#cycling-notes .checklist__item::before{content:"";position:absolute;left:0;top:0.72em;width:10px;height:2px;background:var(--zeef2d-secondary);border-radius:2px;}
#cycling-notes .cycling-notes__nav{margin-top:18px;}
#cycling-notes .link-card{display:block;border-radius:var(--zeef2d-radius-md, 14px);border:1px solid var(--zeef2d-border);background:var(--zeef2d-bg);padding:16px 16px; text-decoration:none; color:var(--zeef2d-text);}
#cycling-notes .link-card__title{display:block;font-weight:800;letter-spacing:-0.01em;margin-bottom:6px;}
#cycling-notes .link-card__hint{display:block;color:var(--zeef2d-slate);font-size:14px;line-height:1.5;}
#cycling-notes .link-card:focus-visible{outline:3px solid var(--zeef2d-secondary);outline-offset:3px;}
#cycling-notes .link-card:hover{border-color:rgba(217,119,43,.55);}
#cycling-notes::selection{background:rgba(217,119,43,.25);}
@media (min-width: 860px){
  #cycling-notes{padding:64px 18px;}
  #cycling-notes .cycling-notes__header{margin-bottom:26px;}
  #cycling-notes .cycling-notes__content{gap:16px;}
}
@media (prefers-reduced-motion: reduce){
  #cycling-notes .link-card:hover{transition:none;}
}

/* zeef2d:food-in-trajectory */
/* zeef2d:food-in-trajectory */
#food-in-trajectory{
  --bg: var(--zeef2d-bg);
  --surface: var(--zeef2d-surface);
  --ink: var(--zeef2d-ink);
  --primary: var(--zeef2d-primary);
  --accent: var(--zeef2d-accent);
  --slate: var(--zeef2d-slate);
  --border: var(--zeef2d-border);
  color: var(--zeef2d-text);
  background: var(--bg);
}
#food-in-trajectory .container{
  max-width: 1060px;
  margin: 0 auto;
  padding: 56px 18px 48px;
}
#food-in-trajectory .intro{
  display:block;
  margin-bottom: 22px;
}
#food-in-trajectory .title{
  font-family: var(--zeef2d-font-display);
  color: var(--primary);
  font-size: 40px;
  letter-spacing: -0.02em;
  line-height: 1.08;
  margin: 0 0 10px;
  text-wrap: balance;
}
#food-in-trajectory .lede{
  margin: 0;
  max-width: 76ch;
  font-size: 18px;
  line-height: 1.6;
  color: var(--ink);
}
#food-in-trajectory .steps{
  list-style: none;
  padding: 0;
  margin: 26px 0 22px;
  display: grid;
  gap: 14px;
}
#food-in-trajectory .step{
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--zeef2d-radius-lg, 18px);
  padding: 18px;
  display:flex;
  gap: 14px;
  align-items:flex-start;
}
#food-in-trajectory .step-num{
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: rgba(217,119,43,0.12);
  color: var(--primary);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family: var(--zeef2d-font-display);
  font-weight: 800;
  border: 1px solid rgba(217,119,43,0.35);
  flex: 0 0 auto;
}
#food-in-trajectory .step-title{
  margin: 0;
  font-size: 20px;
  line-height: 1.3;
  font-weight: 800;
  color: var(--ink);
  font-family: var(--zeef2d-font-display);
}
#food-in-trajectory .step-text{
  margin: 8px 0 0;
  color: var(--slate);
  font-size: 16px;
  line-height: 1.6;
  max-width: 78ch;
}
#food-in-trajectory .callout{
  margin-top: 18px;
  background: rgba(11,58,83,0.04);
  border: 1px solid rgba(11,58,83,0.18);
  border-radius: var(--zeef2d-radius-md, 14px);
  padding: 18px;
}
#food-in-trajectory .callout-title{
  margin: 0 0 10px;
  color: var(--primary);
  font-family: var(--zeef2d-font-display);
  font-size: 20px;
}
#food-in-trajectory .checklist{
  margin: 0;
  padding-left: 18px;
  color: var(--ink);
  display:grid;
  gap: 8px;
}
#food-in-trajectory .checklist li{
  color: var(--ink);
  line-height: 1.55;
  font-size: 16px;
}
#food-in-trajectory .link{
  display:inline-block;
  margin-top: 14px;
  color: var(--accent);
  text-decoration: none;
  font-weight: 800;
  border-bottom: 2px solid rgba(217,119,43,0.35);
}
#food-in-trajectory .link:focus-visible{
  outline: 3px solid rgba(217,119,43,0.55);
  outline-offset: 4px;
  border-radius: 8px;
}
#food-in-trajectory ::selection{ background: rgba(217,119,43,0.28); }
@media (max-width: 720px){
  #food-in-trajectory .container{ padding-top: 42px; }
  #food-in-trajectory .title{ font-size: 32px; }
  #food-in-trajectory .step{ padding: 14px; }
  #food-in-trajectory .step-text{ font-size: 15px; }
}
@media (prefers-reduced-motion: reduce){
  #food-in-trajectory *{ scroll-behavior: auto; transition: none !important; }
}

/* zeef2d:faq-cta */
/* zeef2d:faq-cta */
#faq-cta{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:40px 0;}
#faq-cta .faq-cta__container{max-width:1100px;margin:0 auto;padding:0 18px;display:grid;grid-template-columns:1.2fr 0.8fr;gap:22px;align-items:start;}
#faq-cta .faq-cta__heading{font-family:var(--zeef2d-font-display);font-weight:800;letter-spacing:-0.02em;line-height:1.08;margin:0 0 10px 0;font-size:34px;text-wrap:balance;color:var(--zeef2d-ink);}
#faq-cta .faq-cta__lead{margin:0 0 14px 0;font-family:var(--zeef2d-font);font-size:16px;line-height:1.6;color:var(--zeef2d-text);}
#faq-cta .faq-cta__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
#faq-cta .faq-cta__item{position:relative;padding-left:18px;line-height:1.5;font-size:15px;color:var(--zeef2d-text);}
#faq-cta .faq-cta__item::before{content:"";position:absolute;left:0;top:10px;width:9px;height:9px;border-radius:50%;background:var(--zeef2d-secondary);}
#faq-cta .faq-cta__actions{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg,18px);padding:18px;box-shadow:0 10px 30px rgba(11,58,83,.08);}
#faq-cta .faq-cta__link{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;font-family:var(--zeef2d-font-display);font-weight:800;letter-spacing:-0.01em;padding:12px 14px;border-radius:var(--zeef2d-radius-md,14px);border:2px solid var(--zeef2d-border);background:var(--zeef2d-bg);color:var(--zeef2d-primary);width:100%;margin:0 0 10px 0;}
#faq-cta .faq-cta__link:focus-visible{outline:3px solid rgba(217,119,43,.45);outline-offset:2px;}
#faq-cta .faq-cta__link:hover{border-color:rgba(217,119,43,.65);}
#faq-cta .faq-cta__link--accent{background:var(--zeef2d-secondary);border-color:var(--zeef2d-secondary);color:#fff;}
#faq-cta .faq-cta__link--accent:hover{filter:saturate(1.05);}
#faq-cta .faq-cta__contact{margin-top:14px;padding-top:14px;border-top:1px solid var(--zeef2d-border);}
#faq-cta .faq-cta__contactTitle{margin:0 0 10px 0;font-size:14px;letter-spacing:0.02em;text-transform:uppercase;color:var(--zeef2d-slate);font-family:var(--zeef2d-font-display);font-weight:800;}
#faq-cta .faq-cta__contactGrid{display:flex;flex-direction:column;gap:8px;}
#faq-cta .faq-cta__contactLine{color:var(--zeef2d-primary);text-decoration:underline;text-decoration-color:rgba(217,119,43,.6);text-underline-offset:3px;font-size:15px;}
#faq-cta .faq-cta__contactLine:focus-visible{outline:3px solid rgba(217,119,43,.45);outline-offset:2px;border-radius:6px;}
#faq-cta .faq-cta__small{margin:12px 0 0 0;font-size:13.5px;line-height:1.5;color:var(--zeef2d-slate);font-family:var(--zeef2d-font);}
#faq-cta ::selection{background:rgba(217,119,43,.25);}
@media (max-width: 900px){#faq-cta .faq-cta__container{grid-template-columns:1fr;}}
@media (prefers-reduced-motion: reduce){#faq-cta *{scroll-behavior:auto;transition:none !important;}}

/* zeef2d:about-intro */
/* zeef2d:about-intintro */
#about-intro.about-intro{--radius-md:var(--zeef2d-radius-md,14px);--radius-lg:var(--zeef2d-radius-lg,18px);background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:44px 0}
#about-intro .container{max-width:1100px;margin:0 auto;padding:0 18px}
#about-intro .about-intro-grid{display:grid;grid-template-columns:1.35fr 0.85fr;gap:26px;align-items:start}
#about-intro .kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 10px;font:600 12px/1 var(--zeef2d-font);letter-spacing:.12em;text-transform:uppercase;color:var(--zeef2d-secondary)}
#about-intro .title{margin:0 0 12px;font:700 40px/1.08 var(--zeef2d-font-display);letter-spacing:-.02em;text-wrap:balance}
#about-intro .lead{margin:0 0 18px;font:400 16px/1.6 var(--zeef2d-font);color:var(--zeef2d-text);max-width:62ch}
#about-intro .principles{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
#about-intro .principle{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--zeef2d-border);background:var(--zeef2d-surface);border-radius:var(--zeef2d-radius-md,14px)}
#about-intro .principle-badge{flex:0 0 28px;height:28px;border-radius:999px;background:var(--zeef2d-primary);color:var(--zeef2d-bg);display:flex;align-items:center;justify-content:center;font:700 14px/1 var(--zeef2d-font)}
#about-intro .principle-title{margin:0 0 6px;font:700 16px/1.25 var(--zeef2d-font)}
#about-intro .principle-text{margin:0;font:400 14px/1.55 var(--zeef2d-font);color:var(--zeef2d-slate)}
#about-intro .about-intro-aside{position:relative}
#about-intro .aside-card{border-radius:var(--zeef2d-radius-lg,18px);border:1px solid var(--zeef2d-border);background:linear-gradient(180deg,var(--zeef2d-surface) 0%, #ffffff 100%);padding:18px 18px 16px;box-shadow:0 14px 30px rgba(11,58,83,.08)}
#about-intro .aside-title{margin:0 0 10px;font:700 18px/1.25 var(--zeef2d-font)}
#about-intro .aside-text{margin:0 0 14px;font:400 14px/1.7 var(--zeef2d-font);color:var(--zeef2d-text)}
#about-intro .aside-divider{height:1px;background:var(--zeef2d-border);margin:0 0 12px}
#about-intro .aside-note{margin:0 0 10px;font:400 14px/1.6 var(--zeef2d-font);color:var(--zeef2d-slate)}
#about-intro .aside-meta{margin:12px 0 10px;font:400 14px/1.6 var(--zeef2d-font);color:var(--zeef2d-slate)}
#about-intro .aside-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 14px;border-radius:var(--zeef2d-radius-md,14px);border:1px solid var(--zeef2d-primary);background:var(--zeef2d-primary);color:var(--zeef2d-bg);text-decoration:none;font:700 14px/1 var(--zeef2d-font)}
#about-intro .aside-link.secondary{background:transparent;color:var(--zeef2d-primary)}
#about-intro .aside-link:focus-visible{outline:3px solid rgba(217,119,43,.35);outline-offset:2px}
#about-intro .aside-link.secondary:focus-visible{outline:3px solid rgba(217,119,43,.35);outline-offset:2px}
#about-intro a{color:inherit}
#about-intro ::selection{background:rgba(217,119,43,.25)}
@media (max-width: 920px){#about-intro .about-intro-grid{grid-template-columns:1fr;gap:18px}#about-intro .principles{grid-template-columns:1fr;gap:12px}#about-intro .title{font-size:34px}}
@media (prefers-reduced-motion: reduce){#about-intro *{scroll-behavior:auto}}
/* zeef2d:update-policy */
/* zeef2d:update-policy */
#update-policy.update-policy{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:48px 18px;}
#update-policy .update-policy__container{max-width:1080px;margin:0 auto;}
#update-policy .update-policy__header{margin-bottom:26px;}
#update-policy .update-policy__title{font-family:var(--zeef2d-font-display);font-weight:800;letter-spacing:-0.02em;line-height:1.08;margin:0 0 10px 0;font-size:clamp(26px,3.3vw,40px);text-wrap:balance;}
#update-policy .update-policy__lede{margin:0;max-width:70ch;font-size:16px;line-height:1.7;color:var(--zeef2d-ink);} 
#update-policy .update-policy__steps{display:block;}
#update-policy .update-policy__step{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg,18px);padding:18px 18px 18px 18px;margin:0 0 14px 0;box-shadow:0 10px 22px rgba(11,58,83,.06);}
#update-policy .update-policy__step:last-child{margin-bottom:0;}
#update-policy .update-policy__step-index{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:var(--zeef2d-primary);color:var(--zeef2d-bg);font-weight:800;margin-bottom:10px;font-family:var(--zeef2d-font-display);}
#update-policy .update-policy__step-title{margin:0 0 8px 0;font-size:18px;line-height:1.3;font-weight:800;letter-spacing:-0.01em;color:var(--zeef2d-ink);} 
#update-policy .update-policy__step-text{margin:0;color:var(--zeef2d-text);line-height:1.75;font-size:15px;max-width:78ch;}
#update-policy .update-policy__note{margin-top:22px;background:linear-gradient(180deg, rgba(217,119,43,.10), rgba(217,119,43,.05));border:1px solid rgba(217,119,43,.35);border-radius:var(--zeef2d-radius-lg,18px);padding:18px 18px;}
#update-policy .update-policy__note-text{margin:0 0 14px 0;line-height:1.75;color:var(--zeef2d-ink);font-size:15px;}
#update-policy .update-policy__note-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
#update-policy .update-policy__link{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--zeef2d-primary);font-weight:800;border:1px solid var(--zeef2d-primary);background:var(--zeef2d-bg);padding:10px 14px;border-radius:var(--zeef2d-radius-md,14px);}
#update-policy .update-policy__link:focus-visible{outline:3px solid rgba(217,119,43,.55);outline-offset:3px;}
#update-policy .update-policy__link:hover{background:rgba(11,58,83,.06);} 
#update-policy .update-policy__link:active{transform:translateY(1px);} 
#update-policy .update-policy__link::after{content:"→";font-weight:900;}
#update-policy ::selection{background:rgba(217,119,43,.35);}
@media (min-width: 860px){
  #update-policy{padding:64px 18px;}
  #update-policy .update-policy__steps{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;}
  #update-policy .update-policy__step{margin:0;}
  #update-policy .update-policy__step:nth-child(1){grid-column:span 4;}
  #update-policy .update-policy__step:nth-child(2){grid-column:span 4;}
  #update-policy .update-policy__step:nth-child(3){grid-column:span 4;}
  #update-policy .update-policy__note{padding:20px 22px;}
}
@media (prefers-reduced-motion: reduce){
  #update-policy .update-policy__link{transition:none;}
}

/* zeef2d:tone-and-scope */
/* zeef2d:tone-and-scope */
#tone-and-scope.tone-and-scope{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:48px 0}
#tone-and-scope .container{width:min(1060px,calc(100% - 40px));margin:0 auto}
#tone-and-scope .section-head{margin-bottom:22px}
#tone-and-scope .kicker{margin:0 0 10px 0;letter-spacing:.12em;text-transform:uppercase;font-size:12px;color:var(--zeef2d-slate);font-weight:700}
#tone-and-scope .title{margin:0;font-family:var(--zeef2d-font-display);font-weight:800;letter-spacing:-.02em;line-height:1.18;text-wrap:balance;font-size:34px}
#tone-and-scope .scope-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:18px;align-items:start}
#tone-and-scope .scope-card{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg,18px);padding:22px 20px}
#tone-and-scope .scope-card--alt{background:linear-gradient(180deg,var(--zeef2d-surface),rgba(245,247,248,.72))}
#tone-and-scope .card-title{margin:0 0 14px 0;font-size:18px;font-weight:800;font-family:var(--zeef2d-font-display);letter-spacing:-.01em}
#tone-and-scope .list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
#tone-and-scope .list-item{display:flex;gap:10px;align-items:flex-start}
#tone-and-scope .bullet{display:inline-flex;flex:0 0 22px;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:var(--zeef2d-mist);color:var(--zeef2d-primary);font-weight:900;line-height:1}
#tone-and-scope .scope-card--alt .bullet{background:rgba(217,119,43,.12);color:var(--zeef2d-accent)}
#tone-and-scope .item-text{font-size:15px;line-height:1.55;color:var(--zeef2d-text)}
#tone-and-scope .callout{margin-top:16px;padding:14px 14px;border-radius:var(--zeef2d-radius-md,14px);border:1px solid var(--zeef2d-border);background:var(--zeef2d-bg)}
#tone-and-scope .callout-title{margin:0 0 8px 0;font-weight:900;font-size:14px;color:var(--zeef2d-primary);letter-spacing:.02em}
#tone-and-scope .callout-text{margin:0;font-size:14px;line-height:1.6;color:var(--zeef2d-text)}
#tone-and-scope .policy-row{margin-top:18px;display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-top:1px solid var(--zeef2d-border)}
#tone-and-scope .policy-icon{width:38px;height:38px;border-radius:var(--zeef2d-radius-md,14px);background:rgba(11,58,83,.08);display:flex;align-items:center;justify-content:center;color:var(--zeef2d-primary);font-weight:900;font-size:18px;flex:0 0 auto}
#tone-and-scope .policy-title{margin:0 0 6px 0;font-size:16px;font-weight:900;font-family:var(--zeef2d-font-display)}
#tone-and-scope .policy-paragraph{margin:0;font-size:14.5px;line-height:1.65;color:var(--zeef2d-text)}
#tone-and-scope .links{margin-top:20px;display:flex;flex-wrap:wrap;gap:12px}
#tone-and-scope .link{display:inline-flex;align-items:center;gap:8px;color:var(--zeef2d-primary);text-decoration:none;border:1px solid var(--zeef2d-border);background:var(--zeef2d-bg);padding:10px 12px;border-radius:var(--zeef2d-radius-sm,10px);font-weight:800;font-size:14px}
#tone-and-scope .link:focus-visible{outline:3px solid rgba(217,119,43,.35);outline-offset:2px}
#tone-and-scope .link:hover{border-color:rgba(11,58,83,.35)}
#tone-and-scope ::selection{background:rgba(217,119,43,.28)}
@media (max-width:900px){#tone-and-scope .title{font-size:30px}#tone-and-scope .scope-layout{grid-template-columns:1fr;gap:14px}}
@media (prefers-reduced-motion:reduce){#tone-and-scope .link{transition:none}}

/* zeef2d:faq-intro */
#faq-intro{--pad:clamp(18px,3.5vw,34px);padding:var(--pad);background:var(--zeef2d-bg);} 
#faq-intro .faq-intro-inner{max-width:980px;margin:0 auto;}
#faq-intro .faq-intro-header{padding:18px 16px 14px 16px;border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-lg);background:var(--zeef2d-surface);} 
#faq-intro .faq-kicker{margin:0 0 10px 0;font-family:var(--zeef2d-font);color:var(--zeef2d-secondary);font-weight:700;letter-spacing:.02em;text-transform:none;font-size:0.95rem;}
#faq-intro .faq-title{margin:0 0 10px 0;font-family:var(--zeef2d-font-display);font-size:clamp(1.55rem,2.5vw,2.05rem);line-height:1.1;letter-spacing:-0.02em;color:var(--zeef2d-ink);text-wrap:balance;}
#faq-intro .faq-lead{margin:0;max-width:72ch;color:var(--zeef2d-text);font-size:1.02rem;line-height:1.6;}
#faq-intro .faq-intro-points{margin-top:16px;display:block;}
#faq-intro .faq-point{display:flex;gap:14px;align-items:flex-start;padding:16px 14px;border-radius:var(--zeef2d-md);background:transparent;border:1px solid var(--zeef2d-border);}
#faq-intro .faq-point + .faq-point{margin-top:12px;}
#faq-intro .faq-point-marker{flex:0 0 auto;width:34px;height:34px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--zeef2d-primary);color:var(--zeef2d-bg);font-weight:800;font-family:var(--zeef2d-font);}
#faq-intro .faq-point-title{margin:1px 0 6px 0;font-size:1.05rem;line-height:1.25;color:var(--zeef2d-ink);}
#faq-intro .faq-point-text{margin:0;color:var(--zeef2d-text);line-height:1.55;}
#faq-intro .faq-intro-links{margin-top:18px;display:flex;flex-wrap:wrap;gap:12px;}
#faq-intro .faq-link{display:inline-flex;align-items:center;justify-content:center;padding:12px 14px;border-radius:var(--zeef2d-md);border:1px solid var(--zeef2d-border);background:var(--zeef2d-bg);color:var(--zeef2d-primary);text-decoration:none;font-weight:700;font-size:1rem;}
#faq-intro .faq-link.secondary{background:var(--zeef2d-surface);}
#faq-intro .faq-link:focus-visible{outline:3px solid color-mix(in srgb, var(--zeef2d-secondary) 60%, white);outline-offset:2px;}
#faq-intro .faq-link:hover{border-color:color-mix(in srgb, var(--zeef2d-secondary) 45%, var(--zeef2d-border));}
#faq-intro ::selection{background:color-mix(in srgb, var(--zeef2d-secondary) 22%, transparent);color:var(--zeef2d-ink);} 
@media (min-width:860px){
  #faq-intro .faq-intro-points{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  #faq-intro .faq-point + .faq-point{margin-top:0;}
}
@media (prefers-reduced-motion:reduce){
  #faq-intro .faq-link{transition:none;}
}

/* zeef2d:faq-accordion */
/* zeef2d:faq-accordion */
#faq-accordion{--r:var(--zeef2d-radius,14px);padding:48px 18px;background:var(--zeef2d-bg);color:var(--zeef2d-text);font-family:var(--zeef2d-font);}
#faq-accordion .faq-wrap{max-width:980px;margin:0 auto;}
#faq-accordion .faq-header{margin-bottom:18px;}
#faq-accordion .faq-title{font-family:var(--zeef2d-font-display);font-weight:800;letter-spacing:-0.02em;line-height:1.12;font-size:34px;margin:0 0 10px 0;text-wrap:balance;}
#faq-accordion .faq-lead{margin:0;max-width:760px;color:var(--zeef2d-text);font-size:16.5px;line-height:1.7;}
#faq-accordion .faq-accordion{margin-top:20px;border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius,14px);background:var(--zeef2d-surface);overflow:hidden;}
#faq-accordion .faq-item{border-top:1px solid var(--zeef2d-border);}
#faq-accordion .faq-item:first-child{border-top:none;}
#faq-accordion .faq-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 16px;background:transparent;border:none;cursor:pointer;text-align:left;color:var(--zeef2d-text);}
#faq-accordion .faq-trigger:focus{outline:none;}
#faq-accordion .faq-trigger:focus-visible{outline:3px solid var(--zeef2d-secondary);outline-offset:-3px;border-radius:12px;}
#faq-accordion .faq-q{font-weight:700;font-size:16.5px;line-height:1.4;}
#faq-accordion .faq-icon{flex:0 0 auto;width:28px;height:28px;border-radius:10px;display:flex;align-items:center;justify-content:center;border:1px solid var(--zeef2d-border);background:var(--zeef2d-bg);font-size:18px;font-weight:800;transform:translateY(-1px);}
#faq-accordion .faq-panel{padding:0 16px 16px 16px;}
#faq-accordion .faq-a{border-left:3px solid var(--zeef2d-accent);padding-left:12px;margin-left:2px;}
#faq-accordion .faq-a p{margin:10px 0 0 0;color:var(--zeef2d-text);line-height:1.75;font-size:15.5px;}
#faq-accordion .faq-cta{margin-top:22px;}
#faq-accordion .faq-cta-card{border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius,14px);padding:18px 16px;background:linear-gradient(180deg, var(--zeef2d-surface), #ffffff 65%);}
#faq-accordion .faq-cta-text{margin:0 0 14px 0;font-size:16px;line-height:1.7;max-width:760px;}
#faq-accordion .btn-primary,#faq-accordion .btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;border-radius:var(--zeef2d-radius,14px);padding:12px 14px;font-weight:800;font-size:15.5px;line-height:1;white-space:nowrap;}
#faq-accordion .btn-primary{background:var(--zeef2d-primary);color:#ffffff;border:1px solid var(--zeef2d-primary);}
#faq-accordion .btn-primary:hover{filter:brightness(1.03);}
#faq-accordion .btn-primary:focus-visible{outline:3px solid var(--zeef2d-secondary);outline-offset:3px;}
#faq-accordion .btn-ghost{margin-left:10px;background:var(--zeef2d-bg);color:var(--zeef2d-primary);border:2px solid var(--zeef2d-primary);}
#faq-accordion .btn-ghost:hover{background:var(--zeef2d-primary);color:#ffffff;}
#faq-accordion .btn-ghost:focus-visible{outline:3px solid var(--zeef2d-secondary);outline-offset:3px;}
#faq-accordion .faq-footnote{margin:16px 0 0 0;color:var(--zeef2d-slate);font-size:13.5px;line-height:1.6;}
#faq-accordion ::selection{background:rgba(217,119,43,0.25);}
@media (max-width:720px){
  #faq-accordion{padding:36px 14px;}
  #faq-accordion .faq-title{font-size:28px;}
  #faq-accordion .faq-trigger{padding:14px 14px;}
  #faq-accordion .faq-panel{padding:0 14px 14px 14px;}
  #faq-accordion .faq-cta-card{padding:16px 14px;}
  #faq-accordion .btn-ghost{margin-left:0;margin-top:10px;display:inline-flex;width:100%;}
  #faq-accordion .faq-cta-card .btn-primary{width:100%;}
  #faq-accordion .faq-cta-card a{display:block;}
}
@media (prefers-reduced-motion: reduce){
  #faq-accordion *{scroll-behavior:auto;transition:none !important;animation:none !important;}
}

/* zeef2d:faq-cta */
/* zeef2d:faq-cta */
#faq-cta.faq-cta{background:var(--zeef2d-surface);color:var(--zeef2d-text);padding:40px 0;}
#faq-cta .faq-cta__inner{max-width:1120px;margin:0 auto;padding:0 18px;display:grid;grid-template-columns:1.35fr 0.65fr;gap:22px;align-items:stretch;}
#faq-cta .faq-cta__content{background:var(--zeef2d-bg);border:1px solid var(--zeef2d-border);border-radius:var(--radius-lg);padding:24px 22px;box-shadow:0 10px 30px rgba(11,58,83,0.08);position:relative;overflow:hidden;}
#faq-cta .faq-cta__content::after{content:"";position:absolute;right:-60px;top:-80px;width:220px;height:220px;border-radius:50%;background:rgba(217,119,43,0.12);transform:rotate(15deg);}
#faq-cta .faq-cta__kicker{margin:0 0 10px;letter-spacing:0.2px;color:var(--zeef2d-secondary);font-weight:700;font-size:14px;position:relative;z-index:1;}
#faq-cta .faq-cta__title{margin:0 0 12px;letter-spacing:-0.3px;line-height:1.1;font-family:var(--zeef2d-font-display);font-size:34px;position:relative;z-index:1;text-wrap:balance;}
#faq-cta .faq-cta__text{margin:0 0 18px;max-width:62ch;line-height:1.6;color:var(--zeef2d-text);font-size:16px;position:relative;z-index:1;}
#faq-cta .faq-cta__actions{display:flex;flex-wrap:wrap;gap:12px;position:relative;z-index:1;}
#faq-cta .faq-cta__button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:var(--radius-md);padding:11px 14px;font-weight:700;font-size:15px;line-height:1.2;min-height:42px;}
#faq-cta .faq-cta__button--primary{background:var(--zeef2d-primary);color:var(--zeef2d-bg);border:1px solid var(--zeef2d-primary);}
#faq-cta .faq-cta__button--primary:hover{background:#0a344a;}
#faq-cta .faq-cta__button--outline{background:transparent;color:var(--zeef2d-primary);border:1px solid var(--zeef2d-primary);}
#faq-cta .faq-cta__button--outline:hover{background:rgba(11,58,83,0.06);}
#faq-cta .faq-cta__button:focus-visible{outline:3px solid rgba(217,119,43,0.5);outline-offset:2px;}
#faq-cta .faq-cta__meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:18px;font-size:14px;line-height:1.5;color:var(--zeef2d-ink);position:relative;z-index:1;}
#faq-cta .faq-cta__meta-dot{color:var(--zeef2d-secondary);font-size:18px;line-height:0;}
#faq-cta .faq-cta__meta-sep{color:var(--zeef2d-slate);}
#faq-cta .faq-cta__aside{display:flex;}
#faq-cta .faq-cta__aside-card{width:100%;background:var(--zeef2d-bg);border:1px solid var(--zeef2d-border);border-radius:var(--radius-lg);padding:18px 16px;align-self:start;}
#faq-cta .faq-cta__aside-title{margin:0 0 12px;font-weight:800;font-size:16px;letter-spacing:-0.2px;}
#faq-cta .faq-cta__aside-row{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:10px 0;border-top:1px solid rgba(217,226,230,0.8);}
#faq-cta .faq-cta__aside-row:first-of-type{border-top:none;padding-top:0;}
#faq-cta .faq-cta__aside-label{color:var(--zeef2d-slate);font-size:13px;font-weight:700;}
#faq-cta .faq-cta__aside-link{color:var(--zeef2d-primary);text-decoration:none;font-weight:800;}
#faq-cta .faq-cta__aside-link:hover{text-decoration:underline;}
#faq-cta .faq-cta__aside-link:focus-visible{outline:3px solid rgba(217,119,43,0.5);outline-offset:3px;border-radius:6px;}
#faq-cta .faq-cta__aside-value{color:var(--zeef2d-text);font-weight:700;}
@media (max-width:900px){#faq-cta .faq-cta__inner{grid-template-columns:1fr;gap:14px;}#faq-cta .faq-cta__content{padding:22px 18px;}#faq-cta .faq-cta__title{font-size:30px;}#faq-cta .faq-cta__aside-row{grid-template-columns:96px 1fr;}}
@media (prefers-reduced-motion: reduce){#faq-cta .faq-cta__button{transition:none;}}
#faq-cta ::selection{background:rgba(217,119,43,0.25);}

/* zeef2d:contact-details */
/* zeef2d:contact-details */
#contact-details{--radius-sm:var(--zeef2d-radius-sm,10px);--radius-md:var(--zeef2d-radius-md,14px);--radius-lg:var(--zeef2d-radius-lg,18px);background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:24px 0;}
#contact-details .contact-details{max-width:1060px;margin:0 auto;padding:0 20px;}
#contact-details .contact-header{display:flex;flex-direction:column;gap:10px;margin-bottom:18px;}
#contact-details .contact-title{font-family:var(--zeef2d-font-display);font-size:34px;line-height:1.1;letter-spacing:-0.02em;margin:0;color:var(--zeef2d-ink);text-wrap:balance;}
#contact-details .contact-subtitle{margin:0;font-size:16px;line-height:1.55;color:var(--zeef2d-slate);max-width:60ch;}
#contact-details .contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:stretch;}
#contact-details .contact-card{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--radius-md);padding:16px;display:flex;gap:12px;min-height:140px;}
#contact-details .contact-card--note{background:linear-gradient(180deg, var(--zeef2d-surface), rgba(245,247,248,0.7));}
#contact-details .contact-icon{flex:0 0 auto;width:38px;height:38px;border-radius:12px;background:var(--zeef2d-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;}
#contact-details .contact-card-body{display:flex;flex-direction:column;gap:8px;}
#contact-details .contact-card-title{margin:0;font-size:18px;line-height:1.25;color:var(--zeef2d-ink);font-weight:700;}
#contact-details .contact-card-value{margin:0;font-size:16px;line-height:1.5;color:var(--zeef2d-ink);font-weight:600;}
#contact-details .contact-card-hint{margin:0;font-size:14px;line-height:1.6;color:var(--zeef2d-slate);}
#contact-details .contact-link{color:var(--zeef2d-primary);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;}
#contact-details .contact-link:focus-visible{outline:3px solid var(--zeef2d-accent);outline-offset:3px;border-radius:8px;}
#contact-details .contact-address{white-space:normal;}
#contact-details .contact-actions{margin-top:auto;padding-top:4px;}
#contact-details .contact-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 14px;border-radius:var(--radius-sm);border:2px solid var(--zeef2d-primary);color:var(--zeef2d-primary);background:#fff;font-weight:700;text-decoration:none;}
#contact-details .contact-btn:hover{background:var(--zeef2d-primary);color:#fff;border-color:var(--zeef2d-primary);}
#contact-details .contact-btn:focus-visible{outline:3px solid var(--zeef2d-accent);outline-offset:3px;}
#contact-details .contact-disclaimer{margin-top:16px;padding:14px 16px;border-radius:var(--radius-md);border:1px solid var(--zeef2d-border);background:#fff;}
#contact-details .contact-disclaimer-text{margin:0;color:var(--zeef2d-slate);font-size:14px;line-height:1.65;}
#contact-details ::selection{background:rgba(217,119,43,0.28);}
@media (max-width:820px){#contact-details .contact-grid{grid-template-columns:1fr;}#contact-details .contact-title{font-size:28px;}}
@media (prefers-reduced-motion:reduce){#contact-details *{scroll-behavior:auto;transition:none !important;animation:none !important;}}
/* zeef2d:contact-form */
/* zeef2d:contact-form */
#contact-form.contact-form{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:28px 16px;}
#contact-form .contact-form__inner{max-width:980px;margin:0 auto;}
#contact-form .contact-form__header{margin-bottom:18px;}
#contact-form .contact-form__title{font-family:var(--zeef2d-font-display);font-size:clamp(26px,3vw,36px);line-height:1.12;margin:0 0 8px 0;letter-spacing:-0.02em;text-wrap:balance;}
#contact-form .contact-form__subtitle{margin:0;color:var(--zeef2d-slate);font-size:16px;line-height:1.6;max-width:62ch;}
#contact-form .contact-form__form{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg);padding:16px;}
#contact-form .field-row{display:grid;grid-template-columns:1fr;gap:12px;}
#contact-form .field{margin:12px 0;}
#contact-form .field__label{display:block;font-weight:700;font-size:14px;margin:0 0 6px 0;letter-spacing:0.01em;}
#contact-form .field__input,#contact-form .field__textarea{width:100%;box-sizing:border-box;border:1px solid var(--zeef2d-border);background:var(--zeef2d-bg);border-radius:var(--zeef2d-radius-md);padding:12px 12px;font-size:15px;color:var(--zeef2d-ink);outline:none;}
#contact-form .field__textarea{resize:vertical;min-height:140px;}
#contact-form .field__help{margin-top:6px;font-size:13px;color:var(--zeef2d-slate);}
#contact-form .field__error{min-height:18px;margin-top:6px;font-size:13px;color:var(--zeef2d-secondary);}
#contact-form .contact-form__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;}
#contact-form .button{appearance:none;border-radius:var(--zeef2d-radius-md);padding:12px 14px;font-weight:800;font-size:15px;cursor:pointer;line-height:1.1;outline:none;}
#contact-form .button--primary{border:1px solid var(--zeef2d-primary);background:var(--zeef2d-primary);color:var(--zeef2d-bg);}
#contact-form .button--secondary{border:1px solid var(--zeef2d-border);background:var(--zeef2d-bg);color:var(--zeef2d-ink);}
#contact-form .button:focus-visible{box-shadow:0 0 0 4px rgba(217,119,43,0.25);}
#contact-form .button--primary:hover{background:#0a3449;}
#contact-form .button--secondary:hover{border-color:rgba(16,42,47,0.28);}
#contact-form .contact-form__status{margin-top:14px;font-size:14px;color:var(--zeef2d-slate);}
#contact-form .contact-form__status[data-ok="true"]{color:var(--zeef2d-primary);font-weight:800;}
#contact-form .contact-form__form:invalid .button--primary{opacity:1;}
#contact-form .field__input:invalid,#contact-form .field__textarea:invalid{box-shadow:none;}
@media (min-width: 720px){
  #contact-form .contact-form__form{padding:20px;}
  #contact-form .field-row{grid-template-columns:1fr 1fr;}
}
@media (prefers-reduced-motion: reduce){
  #contact-form *{scroll-behavior:auto;}
}
#contact-form ::selection{background:rgba(217,119,43,0.25);}

/* zeef2d:contact-disclaimer */
/* zeef2d:contact-disclaimer */
#contact-disclaimer{
  --section-padding-y: 22px;
  --section-padding-x: 18px;
  background: var(--zeef2d-surface);
  color: var(--zeef2d-ink);
  border-top: 1px solid var(--zeef2d-border);
  border-bottom: 1px solid var(--zeef2d-border);
}
#contact-disclaimer .contact-disclaimer__inner{
  max-width: 980px;
  margin: 0 auto;
  padding: var(--section-padding-y) var(--section-padding-x);
}
#contact-disclaimer .contact-disclaimer__badge{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 7px 12px;
  border-radius: var(--zeef2d-radius, 14px);
  background: color-mix(in srgb, var(--zeef2d-primary) 10%, var(--zeef2d-surface));
  border: 1px solid color-mix(in srgb, var(--zeef2d-primary) 20%, var(--zeef2d-border));
  font-family: var(--zeef2d-font);
  font-size: 12.5px;
  letter-spacing: 0.02em;
}
#contact-disclaimer .contact-disclaimer__title{
  margin: 12px 0 10px;
  font-family: var(--zeef2d-font-display);
  font-size: 28px;
  line-height: 1.15;
  letter-spacing: -0.02em;
  text-wrap: balance;
}
#contact-disclaimer .contact-disclaimer__text{
  margin: 0 0 14px;
  font-size: 16px;
  line-height: 1.65;
  color: var(--zeef2d-text);
}
#contact-disclaimer .contact-disclaimer__list{
  margin: 0;
  padding: 0 0 0 18px;
}
#contact-disclaimer .contact-disclaimer__item{
  margin: 8px 0;
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--zeef2d-text);
}
#contact-disclaimer .contact-disclaimer__note{
  margin: 14px 0 0;
  padding: 12px 14px;
  border-radius: var(--zeef2d-radius-md, 14px);
  background: color-mix(in srgb, var(--zeef2d-ink) 4%, var(--zeef2d-surface));
  border: 1px solid color-mix(in srgb, var(--zeef2d-border) 85%, var(--zeef2d-ink) 15%);
  font-size: 15px;
  line-height: 1.6;
}
#contact-disclaimer ::selection{ background: color-mix(in srgb, var(--zeef2d-secondary) 25%, transparent); }
@media (max-width: 640px){
  #contact-disclaimer .contact-disclaimer__title{ font-size: 24px; }
  #contact-disclaimer .contact-disclaimer__inner{ padding: 18px 14px; }
}
@media (prefers-reduced-motion: reduce){
  #contact-disclaimer *{ scroll-behavior: auto; }
}

/* zeef2d:itinerary-hero */
/* zeef2d:itinerary-hero */
#itinerary-hero{--radius-sm:var(--zeef2d-radius-sm,10px);--radius-md:var(--zeef2d-radius-md,14px);--radius-lg:var(--zeef2d-radius-lg,18px);background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:28px 18px 18px;}
#itinerary-hero .hero-inner{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1.15fr 0.85fr;gap:22px;align-items:stretch;}
#itinerary-hero .hero-copy{padding:14px 10px 8px;}
#itinerary-hero .hero-kicker{display:inline-block;background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);color:var(--zeef2d-primary);padding:8px 12px;border-radius:999px;font-family:var(--zeef2d-font);font-size:13px;letter-spacing:.2px;}
#itinerary-hero .hero-title{margin:16px 0 10px;font-family:var(--zeef2d-font-display);font-weight:800;font-size:44px;line-height:1.05;letter-spacing:-0.4px;text-wrap:balance;color:var(--zeef2d-ink);}
#itinerary-hero .hero-lead{margin:0 0 16px;max-width:62ch;font-family:var(--zeef2d-font);font-size:18px;line-height:1.55;color:var(--zeef2d-ink);}
#itinerary-hero .hero-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 18px;padding:14px;border-radius:var(--zeef2d-radius-md,14px);background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);}
#itinerary-hero .meta-item{padding:6px 8px;border-radius:12px;}
#itinerary-hero .meta-label{font-family:var(--zeef2d-font);font-size:12px;color:var(--zeef2d-slate);margin-bottom:6px;}
#itinerary-hero .meta-value{font-family:var(--zeef2d-font);font-size:15px;line-height:1.3;color:var(--zeef2d-ink);font-variant-numeric:tabular-nums;}
#itinerary-hero .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0 10px;}
#itinerary-hero .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;border-radius:14px;padding:12px 16px;font-family:var(--zeef2d-font);font-weight:700;letter-spacing:.1px;min-height:44px;}
#itinerary-hero .btn-primary{background:var(--zeef2d-primary);color:#fff;border:1px solid var(--zeef2d-primary);box-shadow:0 10px 22px rgba(11,58,83,.18);}
#itinerary-hero .btn-ghost{background:transparent;color:var(--zeef2d-primary);border:1px solid var(--zeef2d-border);}
#itinerary-hero .btn:focus-visible{outline:3px solid rgba(217,119,43,.45);outline-offset:2px;}
#itinerary-hero .hero-note{margin-top:14px;color:var(--zeef2d-slate);font-family:var(--zeef2d-font);font-size:14px;line-height:1.5;max-width:70ch;}
#itinerary-hero .hero-media{padding:14px 0 0;}
#itinerary-hero .media-frame{position:relative;border-radius:var(--zeef2d-radius-lg,18px);overflow:hidden;border:1px solid var(--zeef2d-border);background:var(--zeef2d-surface);height:100%;min-height:360px;}
#itinerary-hero .media-img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.02) contrast(1.02);}
#itinerary-hero .media-badge{position:absolute;left:14px;bottom:14px;right:14px;background:rgba(245,247,248,.96);border:1px solid rgba(217,226,230,.9);border-radius:16px;padding:12px 12px;box-shadow:0 14px 34px rgba(16,42,47,.16);}
#itinerary-hero .badge-top{font-family:var(--zeef2d-font);font-weight:800;color:var(--zeef2d-primary);margin-bottom:6px;}
#itinerary-hero .badge-bottom{font-family:var(--zeef2d-font);color:var(--zeef2d-ink);line-height:1.35;font-size:14px;}
@media (max-width: 900px){#itinerary-hero .hero-inner{grid-template-columns:1fr;}
#itinerary-hero .hero-title{font-size:36px;}
#itinerary-hero .hero-meta{grid-template-columns:1fr;}
#itinerary-hero .hero-media{padding:0;}
#itinerary-hero .media-frame{min-height:280px;}}
@media (prefers-reduced-motion: reduce){#itinerary-hero *{scroll-behavior:auto;transition:none;animation:none;}}
#itinerary-hero ::selection{background:rgba(217,119,43,.25);}

/* zeef2d:itinerary-outline */
/* zeef2d:itinerary-outline */
#itinerary-outline{--radius-sm:var(--zeef2d-radius-sm,10px);--radius-md:var(--zeef2d-radius-md,14px);--radius-lg:var(--zeef2d-radius-lg,18px);background:var(--zeef2d-bg);color:var(--zeef2d-text);font-family:var(--zeef2d-font);} 
#itinerary-outline .container{max-width:1060px;margin:0 auto;padding:56px 18px 44px;} 
#itinerary-outline .outline-header{display:flex;flex-direction:column;gap:12px;margin-bottom:20px;} 
#itinerary-outline .outline-title{font-family:var(--zeef2d-font-display);font-size:34px;line-height:1.08;letter-spacing:-0.02em;margin:0;color:var(--zeef2d-ink);text-wrap:balance;} 
#itinerary-outline .outline-lead{margin:0;max-width:74ch;font-size:16.5px;line-height:1.65;color:var(--zeef2d-text);} 
#itinerary-outline .outline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;} 
#itinerary-outline .outline-block{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--radius-md);padding:18px 18px 16px;box-shadow:0 10px 28px rgba(11,58,83,0.06);} 
#itinerary-outline .block-title{margin:0 0 10px;font-size:18px;line-height:1.25;color:var(--zeef2d-ink);} 
#itinerary-outline .block-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px;} 
#itinerary-outline .block-list li{font-size:15px;line-height:1.6;color:var(--zeef2d-text);} 
#itinerary-outline .disclaimer{margin-top:18px;display:flex;gap:14px;align-items:flex-start;background:rgba(217,119,43,0.08);border:1px solid rgba(217,119,43,0.35);border-radius:var(--radius-lg);padding:18px;} 
#itinerary-outline .disclaimer-mark{width:34px;height:34px;border-radius:12px;background:var(--zeef2d-secondary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;flex:0 0 auto;margin-top:2px;} 
#itinerary-outline .disclaimer-title{margin:0 0 6px;font-size:18px;line-height:1.25;color:var(--zeef2d-ink);} 
#itinerary-outline .disclaimer-text{margin:0;font-size:15.5px;line-height:1.65;color:var(--zeef2d-text);} 
#itinerary-outline .disclaimer-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;} 
#itinerary-outline .link-button{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:12px;background:var(--zeef2d-primary);color:#fff;text-decoration:none;font-weight:700;font-size:14.5px;border:1px solid var(--zeef2d-primary);} 
#itinerary-outline .link-button:hover{background:#0a334a;} 
#itinerary-outline .link-button:focus-visible{outline:3px solid rgba(217,119,43,0.45);outline-offset:2px;} 
#itinerary-outline .link-button-ghost{background:transparent;color:var(--zeef2d-primary);border:1px solid rgba(11,58,83,0.35);} 
#itinerary-outline .link-button-ghost:hover{background:rgba(11,58,83,0.06);} 
#itinerary-outline .alt-nav{margin-top:18px;} 
#itinerary-outline .alt-text{margin:0;font-size:16px;line-height:1.7;color:var(--zeef2d-text);} 
#itinerary-outline .alt-text strong{color:var(--zeef2d-ink);} 
#itinerary-outline ::selection{background:rgba(217,119,43,0.28);} 
@media (max-width:820px){
  #itinerary-outline .container{padding:44px 16px 34px;}
  #itinerary-outline .outline-title{font-size:28px;}
  #itinerary-outline .outline-grid{grid-template-columns:1fr;}
  #itinerary-outline .disclaimer{flex-direction:row;}
}
@media (prefers-reduced-motion:reduce){
  #itinerary-outline *{scroll-behavior:auto;}
}

/* zeef2d:itinerary-steps */
/* zeef2d:itinerary-steps */
#itinerary-steps.itinerary-steps{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:44px 16px 54px;}
#itinerary-steps .container{max-width:1040px;margin:0 auto;}
#itinerary-steps .section-header{margin-bottom:22px;}
#itinerary-steps .section-title{font-family:var(--zeef2d-font-display);font-weight:700;letter-spacing:-0.02em;line-height:1.08;font-size:40px;margin:0 0 10px;text-wrap:balance;}
#itinerary-steps .section-lead{font-family:var(--zeef2d-font);font-size:16.5px;line-height:1.65;margin:0;max-width:72ch;color:var(--zeef2d-ink);}
#itinerary-steps .steps{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-direction:column;gap:14px;counter-reset:steps;}
#itinerary-steps .step{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--radius-md,14px);padding:16px 16px 16px;display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start;}
#itinerary-steps .step-marker{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--zeef2d-primary) 9%, var(--zeef2d-surface));border:1px solid color-mix(in srgb,var(--zeef2d-primary) 25%, var(--zeef2d-border));color:var(--zeef2d-primary);font-family:var(--zeef2d-font-display);font-weight:800;}
#itinerary-steps .step-title{margin:2px 0 6px;font-size:18.5px;line-height:1.35;font-weight:700;letter-spacing:-0.01em;}
#itinerary-steps .step-text{margin:0;font-size:15.5px;line-height:1.65;color:color-mix(in srgb,var(--zeef2d-text) 82%, var(--zeef2d-slate));}
#itinerary-steps .callout{margin-top:26px;background:color-mix(in srgb,var(--zeef2d-primary) 7%, var(--zeef2d-surface));border:1px solid color-mix(in srgb,var(--zeef2d-primary) 18%, var(--zeef2d-border));border-radius:var(--radius-lg,18px);padding:18px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;}
#itinerary-steps .callout-text{margin:0;font-size:15.5px;line-height:1.5;color:var(--zeef2d-ink);max-width:62ch;}
#itinerary-steps .callout-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
#itinerary-steps .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;border-radius:12px;padding:10px 14px;font-weight:700;font-size:15px;line-height:1.2;transition:background-color .15s ease,border-color .15s ease,color .15s ease;}
#itinerary-steps .btn:focus-visible{outline:3px solid color-mix(in srgb,var(--zeef2d-secondary) 55%, white);outline-offset:2px;}
#itinerary-steps .btn-primary{background:var(--zeef2d-primary);color:#fff;border:1px solid var(--zeef2d-primary);}
#itinerary-steps .btn-primary:hover{background:color-mix(in srgb,var(--zeef2d-primary) 86%, black);}
#itinerary-steps .btn-outline{background:var(--zeef2d-surface);color:var(--zeef2d-primary);border:1px solid color-mix(in srgb,var(--zeef2d-primary) 35%, var(--zeef2d-border));}
#itinerary-steps .btn-outline:hover{background:color-mix(in srgb,var(--zeef2d-primary) 6%, var(--zeef2d-surface));border-color:color-mix(in srgb,var(--zeef2d-primary) 48%, var(--zeef2d-border));}
::selection{background:color-mix(in srgb,var(--zeef2d-secondary) 30%, white);}
@media (max-width:720px){
  #itinerary-steps .section-title{font-size:32px;}
  #itinerary-steps .callout{flex-direction:column;align-items:flex-start;}
  #itinerary-steps .callout-actions{justify-content:flex-start;}
  #itinerary-steps .step{grid-template-columns:40px 1fr;padding:14px;}
  #itinerary-steps .step-marker{width:40px;height:40px;border-radius:11px;}
}
@media (prefers-reduced-motion:reduce){
  #itinerary-steps .btn{transition:none;}
}

/* zeef2d:itinerary-cycling-and-history */
/* zeef2d:itinerary-cycling-and-history */
#itinerary-cycling-and-history{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:56px 0 40px;}
#itinerary-cycling-and-history .container{max-width:1120px;margin:0 auto;padding:0 20px;}
#itinerary-cycling-and-history .section-header{margin-bottom:26px;}
#itinerary-cycling-and-history .eyebrow{font:600 12px/1.2 var(--zeef2d-font);letter-spacing:.12em;text-transform:uppercase;color:var(--zeef2d-secondary);margin:0 0 10px;}
#itinerary-cycling-and-history .title{font:800 40px/1.08 var(--zeef2d-font-display);letter-spacing:-.02em;margin:0 0 14px;text-wrap:balance;}
#itinerary-cycling-and-history .lead{margin:0;max-width:72ch;font:400 16px/1.7 var(--zeef2d-font);color:var(--zeef2d-ink);}
#itinerary-cycling-and-history .two-col{display:grid;grid-template-columns:1.05fr .95fr;gap:18px;align-items:start;}
#itinerary-cycling-and-history .panel{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-md);padding:18px 18px 16px;}
#itinerary-cycling-and-history .panel-title{margin:0 0 12px;font:800 18px/1.25 var(--zeef2d-font);letter-spacing:-.01em;color:var(--zeef2d-ink);}
#itinerary-cycling-and-history .list{list-style:none;margin:0;padding:0;}
#itinerary-cycling-and-history .list-item{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:10px 0;border-top:1px solid var(--zeef2d-border);}
#itinerary-cycling-and-history .list-item:first-child{border-top:none;padding-top:2px;}
#itinerary-cycling-and-history .badge{width:34px;height:34px;border-radius:10px;background:rgba(217,119,43,.12);border:1px solid rgba(217,119,43,.35);display:flex;align-items:center;justify-content:center;color:var(--zeef2d-secondary);font:800 14px/1 var(--zeef2d-font);}
#itinerary-cycling-and-history .list-text{font:400 15px/1.6 var(--zeef2d-font);color:var(--zeef2d-ink);}
#itinerary-cycling-and-history .callout{margin-top:14px;padding:14px;border-radius:var(--zeef2d-radius-sm);background:var(--zeef2d-bg);border:1px solid var(--zeef2d-border);}
#itinerary-cycling-and-history .callout-title{margin:0 0 6px;font:800 14px/1.2 var(--zeef2d-font);color:var(--zeef2d-secondary);}
#itinerary-cycling-and-history .callout-text{margin:0;font:400 14px/1.6 var(--zeef2d-font);color:var(--zeef2d-ink);}
#itinerary-cycling-and-history .steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;}
#itinerary-cycling-and-history .step{padding:10px 10px;border-radius:var(--zeef2d-radius-sm);background:var(--zeef2d-bg);border:1px solid var(--zeef2d-border);}
#itinerary-cycling-and-history .step-top{display:flex;align-items:baseline;gap:10px;margin-bottom:6px;}
#itinerary-cycling-and-history .step-num{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:26px;border-radius:10px;background:rgba(217,119,43,.10);border:1px solid rgba(217,119,43,.35);color:var(--zeef2d-secondary);font:900 13px/1 var(--zeef2d-font);}
#itinerary-cycling-and-history .step-label{font:800 14px/1.2 var(--zeef2d-font);color:var(--zeef2d-ink);}
#itinerary-cycling-and-history .step-text{margin:0;font:400 14px/1.65 var(--zeef2d-font);color:var(--zeef2d-ink);}
#itinerary-cycling-and-history .link-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;}
#itinerary-cycling-and-history .link{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--zeef2d-radius-sm);border:1px solid var(--zeef2d-border);background:var(--zeef2d-bg);color:var(--zeef2d-ink);text-decoration:none;font:800 14px/1 var(--zeef2d-font);}
#itinerary-cycling-and-history .link:focus-visible{outline:3px solid rgba(217,119,43,.35);outline-offset:2px;}
#itinerary-cycling-and-history .link:hover{border-color:rgba(217,119,43,.55);}
#itinerary-cycling-and-history .section-footer{margin-top:18px;}
#itinerary-cycling-and-history .fineprint{margin:0;color:var(--zeef2d-slate);font:400 13px/1.6 var(--zeef2d-font);}
#itinerary-cycling-and-history ::selection{background:rgba(217,119,43,.22);}
@media (max-width: 920px){#itinerary-cycling-and-history .two-col{grid-template-columns:1fr;gap:14px;}#itinerary-cycling-and-history .title{font-size:34px;}}
@media (prefers-reduced-motion: reduce){#itinerary-cycling-and-history *{scroll-behavior:auto;transition:none!important;animation:none!important;}}
/* zeef2d:itinerary-food-and-alternative */
/* zeef2d:itinerary-food-and-alternative */
.itinerary-food-and-alternative{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:44px 0;}
.itinerary-food-and-alternative .container{max-width:1060px;margin:0 auto;padding:0 18px;}
.itinerary-food-and-alternative .section-head{max-width:760px;margin:0 0 22px;}
.itinerary-food-and-alternative .kicker{margin:0 0 10px;font-family:var(--zeef2d-font-display);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--zeef2d-secondary);}
.itinerary-food-and-alternative .title{margin:0 0 12px;font-family:var(--zeef2d-font-display);font-size:34px;line-height:1.15;letter-spacing:-.02em;text-wrap:balance;}
.itinerary-food-and-alternative .lead{margin:0;font-family:var(--zeef2d-font);font-size:16px;line-height:1.7;color:var(--zeef2d-ink);max-width:68ch;}
.itinerary-food-and-alternative .content-wrap{display:grid;grid-template-columns:1.5fr 1fr;gap:22px;align-items:start;}
.itinerary-food-and-alternative .stack{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg);padding:20px;}
.itinerary-food-and-alternative .subhead{margin:0 0 14px;font-family:var(--zeef2d-font-display);font-size:18px;letter-spacing:-.01em;}
.itinerary-food-and-alternative .timeline-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px;}
.itinerary-food-and-alternative .timeline-item{display:flex;gap:14px;align-items:flex-start;padding:14px;border-radius:var(--zeef2d-radius-md);background:var(--zeef2d-bg);border:1px solid var(--zeef2d-border);}
.itinerary-food-and-alternative .num{width:34px;height:34px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--zeef2d-primary);color:var(--zeef2d-bg);font-weight:700;font-family:var(--zeef2d-font-display);flex:0 0 auto;}
.itinerary-food-and-alternative .item-title{margin:0 0 6px;font-family:var(--zeef2d-font-display);font-size:16px;}
.itinerary-food-and-alternative .item-text{margin:0;font-size:15px;line-height:1.6;color:var(--zeef2d-text);}
.itinerary-food-and-alternative .callout{margin-top:16px;padding:14px;border-radius:var(--zeef2d-radius-md);background:color-mix(in srgb, var(--zeef2d-secondary) 12%, var(--zeef2d-bg));border:1px solid color-mix(in srgb, var(--zeef2d-secondary) 30%, var(--zeef2d-border));}
.itinerary-food-and-alternative .callout-title{margin:0 0 6px;font-family:var(--zeef2d-font-display);font-weight:700;}
.itinerary-food-and-alternative .callout-text{margin:0;font-size:15px;line-height:1.6;}
.itinerary-food-and-alternative .aside{padding:6px 0;}
.itinerary-food-and-alternative .aside-text{margin:0 0 12px;font-size:15px;line-height:1.7;color:var(--zeef2d-text);}
.itinerary-food-and-alternative .steps-card{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg);padding:16px;}
.itinerary-food-and-alternative .steps-row{display:flex;gap:12px;align-items:flex-start;padding:6px 0;}
.itinerary-food-and-alternative .dot{width:12px;height:12px;border-radius:999px;background:var(--zeef2d-accent);margin-top:7px;flex:0 0 auto;}
.itinerary-food-and-alternative .steps-title{margin:0 0 4px;font-family:var(--zeef2d-font-display);font-size:16px;}
.itinerary-food-and-alternative .steps-desc{margin:0;font-size:15px;line-height:1.6;color:var(--zeef2d-text);}
.itinerary-food-and-alternative .divider{height:1px;background:var(--zeef2d-border);margin:12px 0;}
.itinerary-food-and-alternative .aside-links{display:flex;flex-direction:column;gap:10px;margin-top:14px;}
.itinerary-food-and-alternative .link-btn,.itinerary-food-and-alternative .ghost-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;border-radius:var(--zeef2d-radius-md);padding:12px 14px;font-family:var(--zeef2d-font-display);font-weight:700;font-size:15px;line-height:1.1;}
.itinerary-food-and-alternative .link-btn{background:var(--zeef2d-primary);color:var(--zeef2d-bg);border:1px solid color-mix(in srgb, var(--zeef2d-primary) 70%, var(--zeef2d-border));}
.itinerary-food-and-alternative .ghost-btn{background:var(--zeef2d-bg);color:var(--zeef2d-primary);border:1px solid var(--zeef2d-primary);}
.itinerary-food-and-alternative .link-btn:hover{background:color-mix(in srgb, var(--zeef2d-primary) 90%, var(--zeef2d-secondary));}
.itinerary-food-and-alternative .ghost-btn:hover{background:color-mix(in srgb, var(--zeef2d-primary) 6%, var(--zeef2d-bg));}
.itinerary-food-and-alternative .link-btn:focus-visible,.itinerary-food-and-alternative .ghost-btn:focus-visible{outline:3px solid color-mix(in srgb, var(--zeef2d-secondary) 55%, white);outline-offset:2px;}
.itinerary-food-and-alternative .aside-foot{margin:12px 0 0;font-size:14px;line-height:1.65;color:var(--zeef2d-slate);}
::selection{background:color-mix(in srgb, var(--zeef2d-secondary) 35%, white);}
@media (max-width:900px){.itinerary-food-and-alternative .content-wrap{grid-template-columns:1fr;}.itinerary-food-and-alternative .title{font-size:30px;}}
@media (prefers-reduced-motion: reduce){.itinerary-food-and-alternative *{scroll-behavior:auto;transition:none!important;animation:none!important;}}

/* zeef2d:itinerary-hero */
/* zeef2d:itinerary-hero */
#itinerary-hero{--r:18px; position:relative; padding:56px 18px 30px; background:var(--zeef2d-bg); color:var(--zeef2d-text);} 
#itinerary-hero .hero{max-width:1100px; margin:0 auto; display:grid; grid-template-columns: 1.15fr 0.85fr; gap:26px; align-items:stretch;}
#itinerary-hero .hero-media{position:relative; border-radius:var(--r); overflow:hidden; min-height:360px; background:var(--zeef2d-surface); border:1px solid var(--zeef2d-border);} 
#itinerary-hero .hero-media-image{position:absolute; inset:0; background-image:linear-gradient(120deg, rgba(11,58,83,.18), rgba(217,119,43,.10)), radial-gradient(800px 420px at 25% 15%, rgba(217,119,43,.22), rgba(217,119,43,0) 60%), radial-gradient(520px 320px at 70% 40%, rgba(11,58,83,.20), rgba(11,58,83,0) 55%);}
#itinerary-hero .hero-media-overlay{position:absolute; inset:0; background:linear-gradient(180deg, rgba(16,42,47,0) 0%, rgba(16,42,47,.55) 92%);}
#itinerary-hero .hero-content{display:flex; flex-direction:column; justify-content:center; padding:6px 0;}
#itinerary-hero .hero-kicker{display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-bottom:10px;}
#itinerary-hero .hero-pill{display:inline-flex; align-items:center; padding:7px 12px; border-radius:999px; background:var(--zeef2d-primary); color:var(--zeef2d-bg); font-family:var(--zeef2d-font); font-size:14px; letter-spacing:.2px;}
#itinerary-hero .hero-meta{color:var(--zeef2d-slate); font-size:15px; font-family:var(--zeef2d-font);} 
#itinerary-hero .hero-title{margin:0 0 12px; font-family:var(--zeef2d-font-display); font-size:44px; line-height:1.05; letter-spacing:-.6px; text-wrap:balance;} 
#itinerary-hero .hero-lead{margin:0 0 18px; font-size:18px; line-height:1.55; color:var(--zeef2d-ink, var(--zeef2d-text));}
#itinerary-hero .hero-strong{font-weight:800; color:var(--zeef2d-text);} 
#itinerary-hero .hero-details{display:flex; flex-wrap:wrap; gap:12px; margin:6px 0 18px;}
#itinerary-hero .detail{flex:1 1 180px; padding:12px 14px; border-radius:var(--zeef2d-radius-md, 14px); border:1px solid var(--zeef2d-border); background:rgba(245,247,248,.75);} 
#itinerary-hero .detail-label{font-size:13px; color:var(--zeef2d-slate); margin-bottom:4px; font-family:var(--zeef2d-font);} 
#itinerary-hero .detail-value{font-size:16px; font-weight:800; color:var(--zeef2d-text); font-family:var(--zeef2d-font);} 
#itinerary-hero .hero-actions{display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:4px;} 
#itinerary-hero .primary-button,#itinerary-hero .secondary-button{display:inline-flex; align-items:center; justify-content:center; text-decoration:none; padding:12px 16px; border-radius:var(--zeef2d-radius-md, 14px); font-family:var(--zeef2d-font); font-weight:800; font-size:16px; line-height:1; border:1px solid transparent;}
#itinerary-hero .primary-button{background:var(--zeef2d-primary); color:var(--zeef2d-bg); border-color:var(--zeef2d-primary);} 
#itinerary-hero .primary-button:focus-visible{outline:3px solid rgba(217,119,43,.55); outline-offset:2px;}
#itinerary-hero .secondary-button{background:transparent; color:var(--zeef2d-text); border-color:var(--zeef2d-border);} 
#itinerary-hero .secondary-button:focus-visible{outline:3px solid rgba(11,58,83,.35); outline-offset:2px;}
#itinerary-hero .primary-button:hover{background: #0a334a;}
#itinerary-hero .secondary-button:hover{border-color: rgba(11,58,83,.45); background: rgba(217,119,43,.06);} 
#itinerary-hero .hero-footnote{margin-top:10px; padding-top:10px; border-top:1px solid var(--zeef2d-border);} 
#itinerary-hero .hero-footnote p{margin:0; color:var(--zeef2d-slate); font-size:15px; line-height:1.55; font-family:var(--zeef2d-font);} 
#itinerary-hero ::selection{background: rgba(217,119,43,.25); color: var(--zeef2d-text);} 
@media (prefers-reduced-motion: reduce){#itinerary-hero *{scroll-behavior:auto; transition:none !important; animation:none !important;}}
@media (max-width: 920px){
  #itinerary-hero{padding-top:42px;}
  #itinerary-hero .hero{grid-template-columns:1fr;}
  #itinerary-hero .hero-media{min-height:240px;}
  #itinerary-hero .hero-title{font-size:38px;}
}
@media (max-width: 520px){
  #itinerary-hero{padding-left:14px; padding-right:14px;}
  #itinerary-hero .hero-title{font-size:32px; letter-spacing:-.4px;}
  #itinerary-hero .hero-lead{font-size:16px;}
  #itinerary-hero .detail{flex:1 1 150px;}
}

/* zeef2d:itinerary-outline */
/* zeef2d:itinerary-outline */

#itinerary-outline{--section-gap:clamp(16px,3vw,26px);background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:var(--section-gap) 0;} 
#itinerary-outline .container{max-width:980px;margin:0 auto;padding:0 18px;} 
#itinerary-outline .section-head{margin-bottom:18px;} 
#itinerary-outline .kicker{display:inline-block;font:600 12px/1.2 var(--zeef2d-font);letter-spacing:.12em;text-transform:uppercase;color:var(--zeef2d-secondary);background:rgba(217,119,43,.10);border:1px solid rgba(217,119,43,.25);padding:8px 10px;border-radius:999px;} 
#itinerary-outline .title{margin:12px 0 10px;font-family:var(--zeef2d-font-display);font-weight:800;font-size:clamp(26px,3.2vw,38px);letter-spacing:-.02em;line-height:1.08;text-wrap:balance;} 
#itinerary-outline .lead{margin:0;max-width:70ch;font-size:16px;line-height:1.65;color:var(--zeef2d-ink);} 
#itinerary-outline .content-wrap{display:grid;grid-template-columns:1.4fr .9fr;gap:18px;align-items:start;} 
#itinerary-outline .outline-panel{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg,18px);padding:18px;} 
#itinerary-outline .panel-title{margin:0 0 12px;font-size:18px;letter-spacing:-.01em;} 
#itinerary-outline .outline-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;} 
#itinerary-outline .outline-item{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:start;padding:12px;border-radius:var(--zeef2d-radius-md,14px);border:1px solid rgba(16,42,47,.12);background:#fff;} 
#itinerary-outline .num{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:rgba(11,58,83,.07);border:1px solid rgba(11,58,83,.18);color:var(--zeef2d-primary);font:800 14px/1 var(--zeef2d-font-display);} 
#itinerary-outline .item-body strong{display:block;font-size:15px;margin-top:2px;} 
#itinerary-outline .item-text{margin:6px 0 0;font-size:14px;line-height:1.6;color:var(--zeef2d-slate);} 
#itinerary-outline .divider{height:1px;background:var(--zeef2d-border);margin:16px 0;} 
#itinerary-outline .mini-note{margin:0 0 12px;font-size:14px;line-height:1.6;color:var(--zeef2d-slate);} 
#itinerary-outline .link-row{display:flex;gap:12px;flex-wrap:wrap;} 
#itinerary-outline .link-card{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border-radius:var(--zeef2d-radius-md,14px);background:var(--zeef2d-primary);color:#fff;text-decoration:none;font-weight:700;font-size:14px;border:1px solid var(--zeef2d-primary);} 
#itinerary-outline .link-card.ghost{background:#fff;color:var(--zeef2d-primary);border:1px solid rgba(11,58,83,.35);} 
#itinerary-outline .link-card:focus-visible{outline:3px solid rgba(217,119,43,.45);outline-offset:2px;} 
#itinerary-outline .link-card:hover{filter:saturate(1.05);} 
#itinerary-outline .notice{background:var(--zeef2d-primary);border:1px solid rgba(255,255,255,.15);border-radius:var(--zeef2d-radius-lg,18px);padding:18px;color:#fff;} 
#itinerary-outline .notice-title{margin:0 0 10px;font-size:18px;letter-spacing:-.01em;} 
#itinerary-outline .notice-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;} 
#itinerary-outline .notice-list li{font-size:14px;line-height:1.6;color:rgba(255,255,255,.9);} 
#itinerary-outline .bullet{color:var(--zeef2d-secondary);font-weight:900;margin-right:8px;} 
#itinerary-outline .fine-print{margin-top:12px;font-size:13px;line-height:1.55;color:rgba(255,255,255,.78);padding-top:12px;border-top:1px solid rgba(255,255,255,.18);} 
#itinerary-outline ::selection{background:rgba(217,119,43,.35);} 
#itinerary-outline a{color:inherit;} 
@media (max-width:860px){#itinerary-outline .content-wrap{grid-template-columns:1fr;} #itinerary-outline .outline-panel{padding:16px;} #itinerary-outline .notice{padding:16px;}}
@media (prefers-reduced-motion:reduce){#itinerary-outline *{scroll-behavior:auto;transition:none !important;animation:none !important;}}
/* zeef2d:itinerary-steps */
/* zeef2d:itinerary-steps */
#itinerary-steps{--r:var(--zeef2d-radius,14px);background:var(--zeef2d-bg);color:var(--zeef2d-text);font-family:var(--zeef2d-font);} 
#itinerary-steps .container{max-width:1040px;margin:0 auto;padding:56px 20px 36px;} 
#itinerary-steps .section-header{display:block;margin-bottom:22px;} 
#itinerary-steps .section-title{font-family:var(--zeef2d-font-display);font-size:40px;line-height:1.06;letter-spacing:-0.02em;margin:0 0 10px;color:var(--zeef2d-primary);text-wrap:balance;} 
#itinerary-steps .section-lead{margin:0;max-width:72ch;font-size:16px;line-height:1.6;color:var(--zeef2d-ink);} 
#itinerary-steps .steps-list{list-style:none;padding:0;margin:22px 0 28px;display:flex;flex-direction:column;gap:14px;} 
#itinerary-steps .step{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:start;padding:18px 18px;border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-md,14px);background:var(--zeef2d-surface);} 
#itinerary-steps .step:nth-child(odd){background:#ffffff;} 
#itinerary-steps .step-index{width:44px;height:44px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--zeef2d-primary);color:#fff;font-weight:700;font-size:16px;letter-spacing:0.01em;} 
#itinerary-steps .step-title{margin:2px 0 6px;font-size:18px;line-height:1.25;color:var(--zeef2d-ink);} 
#itinerary-steps .step-desc{margin:0 0 8px;font-size:15px;line-height:1.65;color:var(--zeef2d-ink);} 
#itinerary-steps .step-meta{margin:0;font-size:13px;line-height:1.5;color:var(--zeef2d-slate);} 
#itinerary-steps .cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px;} 
#itinerary-steps .button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:var(--zeef2d-radius-sm,10px);text-decoration:none;font-weight:700;font-size:14px;line-height:1;letter-spacing:0.01em;min-height:44px;} 
#itinerary-steps .button-primary{background:var(--zeef2d-primary);color:#fff;border:1px solid var(--zeef2d-primary);} 
#itinerary-steps .button-outline{background:transparent;color:var(--zeef2d-primary);border:2px solid var(--zeef2d-primary);} 
#itinerary-steps .button:focus-visible{outline:3px solid rgba(217,119,43,.45);outline-offset:2px;} 
#itinerary-steps ::selection{background:rgba(217,119,43,.25);}
@media (min-width:900px){#itinerary-steps .container{padding-top:68px;} #itinerary-steps .step{padding:20px 20px;} #itinerary-steps .section-title{font-size:44px;} }
@media (max-width:520px){#itinerary-steps .container{padding-left:16px;padding-right:16px;} #itinerary-steps .section-title{font-size:34px;} #itinerary-steps .step{grid-template-columns:56px 1fr;padding:16px;} #itinerary-steps .step-index{width:40px;height:40px;font-size:15px;} }
@media (prefers-reduced-motion:reduce){#itinerary-steps .button{transition:none;} }

/* zeef2d:itinerary-cycling-and-history */
/* zeef2d:itinerary-cycling-and-history */
#itinerary-cycling-and-history{--pad:clamp(18px,3.2vw,34px); background:var(--zeef2d-bg); color:var(--zeef2d-text); padding:var(--pad) 0;}
#itinerary-cycling-and-history .container{width:min(1120px,calc(100% - 2*var(--pad))); margin:0 auto;}
#itinerary-cycling-and-history .section-header{margin-bottom:18px;}
#itinerary-cycling-and-history .section-title{font-family:var(--zeef2d-font-display); font-size:clamp(24px,3.2vw,38px); line-height:1.08; letter-spacing:-0.02em; margin:0 0 10px 0; color:var(--zeef2d-ink);} 
#itinerary-cycling-and-history .section-lead{margin:0; color:var(--zeef2d-ink); font-size:16.5px; line-height:1.6; max-width:64ch;}
#itinerary-cycling-and-history .content-layout{display:grid; grid-template-columns:1.25fr 0.9fr; gap:22px; align-items:start;}
#itinerary-cycling-and-history .bullets{background:var(--zeef2d-surface); border:1px solid var(--zeef2d-border); border-radius:var(--zeef2d-radius-lg); padding:18px 18px 8px 18px;}
#itinerary-cycling-and-history .subheading{margin:0 0 12px 0; font-family:var(--zeef2d-font); font-weight:700; color:var(--zeef2d-ink); font-size:18px; letter-spacing:0.01em;}
#itinerary-cycling-and-history .note-list{list-style:none; padding:0; margin:0 0 10px 0; display:flex; flex-direction:column; gap:12px;}
#itinerary-cycling-and-history .note-item{display:flex; gap:12px; padding:12px; border-radius:var(--zeef2d-radius-md); background:rgba(255,255,255,0.55); border:1px solid color-mix(in srgb, var(--zeef2d-border) 70%, transparent);}
#itinerary-cycling-and-history .note-index{flex:0 0 auto; width:34px; height:34px; display:flex; align-items:center; justify-content:center; border-radius:999px; background:color-mix(in srgb, var(--zeef2d-secondary) 16%, white); color:var(--zeef2d-primary); font-weight:800; border:1px solid color-mix(in srgb, var(--zeef2d-secondary) 45%, var(--zeef2d-border));}
#itinerary-cycling-and-history .note-text{margin:0; color:var(--zeef2d-ink); line-height:1.55; font-size:15.5px;}
#itinerary-cycling-and-history .history-panel{background:var(--zeef2d-primary); border-radius:var(--zeef2d-radius-lg); padding:18px; border:1px solid color-mix(in srgb, var(--zeef2d-primary) 70%, var(--zeef2d-border));}
#itinerary-cycling-and-history .history-panel .subheading{color:var(--zeef2d-bg);}
#itinerary-cycling-and-history .history-list{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px;}
#itinerary-cycling-and-history .history-item{display:flex; gap:12px; align-items:flex-start;}
#itinerary-cycling-and-history .history-mark{flex:0 0 auto; width:28px; height:28px; display:flex; align-items:center; justify-content:center; border-radius:10px; background:color-mix(in srgb, var(--zeef2d-secondary) 18%, transparent); color:var(--zeef2d-bg); border:1px solid color-mix(in srgb, var(--zeef2d-secondary) 35%, rgba(255,255,255,0.25)); font-size:14px; margin-top:2px;}
#itinerary-cycling-and-history .history-text{margin:0; color:var(--zeef2d-bg); line-height:1.55; font-size:15.5px;}
#itinerary-cycling-and-history .quick-link{margin-top:16px; padding-top:14px; border-top:1px solid color-mix(in srgb, rgba(255,255,255,0.25) 70%, transparent);} 
#itinerary-cycling-and-history .quick-link-text{margin:0 0 10px 0; color:var(--zeef2d-bg); opacity:0.98; font-size:14.8px; line-height:1.55;}
#itinerary-cycling-and-history .primary-link{display:inline-flex; align-items:center; gap:10px; text-decoration:none; color:var(--zeef2d-primary); background:var(--zeef2d-bg); border:2px solid var(--zeef2d-bg); border-radius:var(--zeef2d-radius-md); padding:11px 14px; font-weight:800; font-size:15.5px;}
#itinerary-cycling-and-history .primary-link:focus-visible{outline:3px solid color-mix(in srgb, var(--zeef2d-secondary) 55%, white); outline-offset:3px;}
#itinerary-cycling-and-history .primary-link:hover{border-color:color-mix(in srgb, var(--zeef2d-secondary) 50%, var(--zeef2d-bg));}
#itinerary-cycling-and-history .selection-note{margin-top:14px; background:color-mix(in srgb, var(--zeef2d-bg) 10%, transparent); border:1px solid color-mix(in srgb, rgba(255,255,255,0.25) 70%, transparent); border-radius:var(--zeef2d-radius-md); padding:12px;}
#itinerary-cycling-and-history .selection-note-text{margin:0; color:var(--zeef2d-bg); font-size:14.8px; line-height:1.55;}
#itinerary-cycling-and-history ::selection{background:color-mix(in srgb, var(--zeef2d-secondary) 45%, white); color:var(--zeef2d-primary);} 
#itinerary-cycling-and-history a{color:inherit;}
@media (max-width: 920px){#itinerary-cycling-and-history .content-layout{grid-template-columns:1fr;}}
@media (prefers-reduced-motion: reduce){#itinerary-cycling-and-history *{scroll-behavior:auto; transition:none !important; animation:none !important;}}
/* zeef2d:itinerary-food-and-alternative */
#itinerary-food-and-alternative{--section-pad:24px;--container-max:1040px;--gap:22px;--shadow:0 10px 26px rgba(11,58,83,.12);font-family:var(--zeef2d-font);color:var(--zeef2d-text);background:var(--zeef2d-surface);border-top:1px solid var(--zeef2d-border);}
#itinerary-food-and-alternative *{box-sizing:border-box;}
#itinerary-food-and-alternative .container{max-width:var(--container-max);margin:0 auto;padding:var(--section-pad) 16px 28px;}
#itinerary-food-and-alternative .section-header{margin-bottom:18px;}
#itinerary-food-and-alternative .section-title{font-family:var(--zeef2d-font-display);font-size:clamp(22px,2.2vw,30px);line-height:1.12;letter-spacing:-.02em;margin:0 0 10px;font-weight:700;text-wrap:balance;}
#itinerary-food-and-alternative .section-lead{margin:0;max-width:70ch;color:var(--zeef2d-slate);font-size:15.5px;line-height:1.65;}
#itinerary-food-and-alternative .content{display:grid;grid-template-columns: 1.55fr .85fr;gap:var(--gap);align-items:start;}
#itinerary-food-and-alternative .block{background:var(--zeef2d-bg);border:1px solid var(--zeef2d-border);border-radius:var(--radius-lg,18px);padding:18px 18px 16px;box-shadow:var(--shadow);}
#itinerary-food-and-alternative .block-title{margin:0 0 12px;font-size:16px;font-weight:800;letter-spacing:.01em;}
#itinerary-food-and-alternative .timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
#itinerary-food-and-alternative .timeline-item{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:start;padding:12px;border-radius:var(--radius-md,14px);background:linear-gradient(180deg, rgba(217,119,43,.08), rgba(217,119,43,0));border:1px solid rgba(217,119,43,.18);}
#itinerary-food-and-alternative .timeline-item:nth-child(2){background:linear-gradient(180deg, rgba(11,58,83,.06), rgba(11,58,83,0));border-color:rgba(11,58,83,.18);}
#itinerary-food-and-alternative .timeline-item:nth-child(3){background:linear-gradient(180deg, rgba(217,119,43,.07), rgba(217,119,43,0));border-color:rgba(217,119,43,.18);}
#itinerary-food-and-alternative .step-num{width:38px;height:38px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--zeef2d-primary);color:var(--zeef2d-bg);font-weight:900;font-size:14px;}
#itinerary-food-and-alternative .step-body{min-width:0;}
#itinerary-food-and-alternative .step-text{margin:0;color:var(--zeef2d-text);font-size:14.8px;line-height:1.65;}
#itinerary-food-and-alternative .step-tip{margin:8px 0 0;color:var(--zeef2d-slate);font-size:13.8px;line-height:1.5;}
#itinerary-food-and-alternative .aside{background:var(--zeef2d-bg);border:1px solid var(--zeef2d-border);border-radius:var(--radius-lg,18px);padding:18px;box-shadow:0 10px 26px rgba(16,42,47,.06);}
#itinerary-food-and-alternative .aside-title{margin:0 0 10px;font-size:16px;font-weight:900;}
#itinerary-food-and-alternative .aside-text{margin:0 0 12px;color:var(--zeef2d-slate);font-size:14.6px;line-height:1.6;}
#itinerary-food-and-alternative .aside-list{margin:0;padding:0 0 0 18px;display:flex;flex-direction:column;gap:8px;}
#itinerary-food-and-alternative .aside-li{color:var(--zeef2d-text);font-size:14.2px;line-height:1.55;}
#itinerary-food-and-alternative .aside-links{margin-top:14px;display:flex;flex-direction:column;gap:10px;}
#itinerary-food-and-alternative .link-button{display:inline-flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;padding:12px 12px;border-radius:var(--radius-md,14px);border:1px solid rgba(11,58,83,.25);background:var(--zeef2d-primary);color:var(--zeef2d-bg);font-weight:800;font-size:14.6px;}
#itinerary-food-and-alternative .link-button-secondary{background:var(--zeef2d-bg);color:var(--zeef2d-primary);border-color:rgba(11,58,83,.35);}
#itinerary-food-and-alternative .link-button:focus-visible{outline:3px solid rgba(217,119,43,.55);outline-offset:2px;}
#itinerary-food-and-alternative .note{margin-top:18px;display:flex;gap:12px;align-items:flex-start;background:rgba(217,119,43,.08);border:1px solid rgba(217,119,43,.28);border-radius:var(--radius-lg,18px);padding:14px 14px;}
#itinerary-food-and-alternative .note-mark{width:34px;height:34px;border-radius:12px;background:var(--zeef2d-secondary);color:var(--zeef2d-bg);display:flex;align-items:center;justify-content:center;font-weight:900;flex:0 0 auto;}
#itinerary-food-and-alternative .note-title{margin:0 0 6px;font-weight:900;font-size:14.9px;}
#itinerary-food-and-alternative .note-text{margin:0;color:var(--zeef2d-slate);font-size:14.2px;line-height:1.6;}
#itinerary-food-and-alternative ::selection{background:rgba(217,119,43,.35);}
@media (max-width: 900px){
  #itinerary-food-and-alternative .content{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion: reduce){
  #itinerary-food-and-alternative *{scroll-behavior:auto;}
}

/* zeef2d:itinerary-hero */
/* zeef2d:itinerary-hero */
#itinerary-hero{--radius1:var(--zeef2d-radius-sm,10px);--radius2:var(--zeef2d-radius-md,14px);--radius3:var(--zeef2d-radius-lg,18px);background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:56px 0 28px;position:relative;overflow:hidden;}
#itinerary-hero .itinerary-hero__container{max-width:1120px;margin:0 auto;padding:0 20px;display:flex;gap:28px;align-items:stretch;justify-content:space-between;}
#itinerary-hero .itinerary-hero__copy{flex:1.05;min-width:0;}
#itinerary-hero .itinerary-hero__kicker{font-family:var(--zeef2d-font);letter-spacing:.02em;color:var(--zeef2d-slate);font-size:14px;margin:0 0 10px;}
#itinerary-hero .itinerary-hero__title{font-family:var(--zeef2d-font-display);font-size:44px;line-height:1.08;margin:0 0 14px;letter-spacing:-.02em;text-wrap:balance;}
#itinerary-hero .itinerary-hero__lead{font-family:var(--zeef2d-font);font-size:18px;line-height:1.65;color:var(--zeef2d-ink);margin:0 0 22px;max-width:62ch;}
#itinerary-hero .itinerary-hero__meta{display:flex;gap:14px;flex-wrap:wrap;margin:18px 0 22px;padding:16px;background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--radius2);}
#itinerary-hero .meta-item{flex:1 1 190px;min-width:190px;}
#itinerary-hero .meta-item__label{font-size:13px;color:var(--zeef2d-slate);margin-bottom:6px;}
#itinerary-hero .meta-item__value{font-size:16px;color:var(--zeef2d-ink);font-weight:700;}
#itinerary-hero .itinerary-hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0 18px;}
#itinerary-hero .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:var(--radius2);font-weight:800;text-decoration:none;line-height:1;letter-spacing:.01em;transition:transform .15s ease, background-color .15s ease, border-color .15s ease, color .15s ease;}
#itinerary-hero .btn--primary{background:var(--zeef2d-primary);color:#fff;border:1px solid var(--zeef2d-primary);}
#itinerary-hero .btn--primary:hover{background:var(--zeef2d-secondary);border-color:var(--zeef2d-secondary);transform:translateY(-1px);}
#itinerary-hero .btn--ghost{background:transparent;color:var(--zeef2d-primary);border:1px solid var(--zeef2d-primary);}
#itinerary-hero .btn--ghost:hover{background:var(--zeef2d-surface);border-color:var(--zeef2d-primary);transform:translateY(-1px);}
#itinerary-hero .btn:focus-visible{outline:3px solid color-mix(in srgb, var(--zeef2d-secondary) 70%, white 30%);outline-offset:3px;}
#itinerary-hero .itinerary-hero__disclaimer{display:flex;gap:10px;align-items:flex-start;padding:14px 14px;border-radius:var(--radius2);border:1px solid var(--zeef2d-border);background:var(--zeef2d-surface);}
#itinerary-hero .itinerary-hero__disclaimer-emoji{font-size:18px;line-height:1.2;}
#itinerary-hero .itinerary-hero__disclaimer-text{font-size:14px;line-height:1.6;color:var(--zeef2d-ink);}
#itinerary-hero .itinerary-hero__visual{flex:.95;min-width:280px;display:flex;flex-direction:column;gap:14px;align-items:stretch;justify-content:flex-start;}
#itinerary-hero .visual-card{border-radius:var(--radius3);border:1px solid var(--zeef2d-border);background:var(--zeef2d-surface);padding:18px 18px;}
#itinerary-hero .visual-card__label{font-size:13px;color:var(--zeef2d-slate);margin-bottom:8px;}
#itinerary-hero .visual-card__place{font-family:var(--zeef2d-font-display);font-size:22px;line-height:1.2;color:var(--zeef2d-ink);font-weight:900;margin-bottom:12px;}
#itinerary-hero .visual-card__bar{height:10px;border-radius:999px;background:linear-gradient(90deg, var(--zeef2d-primary), color-mix(in srgb, var(--zeef2d-secondary) 65%, var(--zeef2d-primary) 35%));margin:0 0 12px;}
#itinerary-hero .visual-card__hint{font-size:14px;color:var(--zeef2d-ink);opacity:1;}
#itinerary-hero .visual-frame{position:relative;border-radius:var(--radius3);border:1px solid var(--zeef2d-border);background:var(--zeef2d-bg);min-height:180px;overflow:hidden;}
#itinerary-hero .visual-frame__overlay{position:absolute;inset:-40px -40px auto -40px;height:260px;background:radial-gradient(closest-side, color-mix(in srgb, var(--zeef2d-secondary) 28%, transparent 72%), transparent 70%);transform:rotate(-6deg);}
#itinerary-hero .visual-frame:before{content:"";position:absolute;inset:0;background:
  linear-gradient(180deg, color-mix(in srgb, var(--zeef2d-primary) 10%, transparent 90%), transparent 55%),
  repeating-linear-gradient(90deg, color-mix(in srgb, var(--zeef2d-primary) 7%, transparent 93%) 0 1px, transparent 1px 10px);
opacity:.9;}
#itinerary-hero ::selection{background:color-mix(in srgb, var(--zeef2d-secondary) 30%, white 70%);}
@media (max-width: 900px){
  #itinerary-hero{padding:42px 0 24px;}
  #itinerary-hero .itinerary-hero__container{flex-direction:column;gap:18px;}
  #itinerary-hero .itinerary-hero__title{font-size:36px;}
  #itinerary-hero .itinerary-hero__lead{font-size:16px;}
}
@media (prefers-reduced-motion: reduce){
  #itinerary-hero .btn{transition:none;}
  #itinerary-hero .btn:hover{transform:none;}
}

/* zeef2d:itinerary-outline */
/* zeef2d:itinerary-outline */

#itinerary-outline{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:32px 0;}
#itinerary-outline .container{max-width:1080px;margin:0 auto;padding:0 18px;}
#itinerary-outline .outline-header{margin-bottom:18px;}
#itinerary-outline .eyebrow{display:inline-block;background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:999px;padding:7px 12px;font:700 12px/1.1 var(--zeef2d-font);color:var(--zeef2d-ink);letter-spacing:0.02em;}
#itinerary-outline .title{margin:14px 0 10px;font:800 30px/1.15 var(--zeef2d-font-display);letter-spacing:-0.02em;text-wrap:balance;}
#itinerary-outline .lead{margin:0;max-width:70ch;font:400 16px/1.7 var(--zeef2d-font);color:var(--zeef2d-ink);}
#itinerary-outline .outline-body{display:grid;grid-template-columns:1.35fr 0.85fr;gap:18px;align-items:start;}
#itinerary-outline .steps{margin:0; padding:0; list-style:none; counter-reset:item;}
#itinerary-outline .step{display:grid;grid-template-columns:40px 1fr;gap:14px;padding:14px 14px;border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-md,14px);background:var(--zeef2d-surface);margin-bottom:12px;}
#itinerary-outline .step:last-child{margin-bottom:0;}
#itinerary-outline .step-index{width:40px;height:40px;border-radius:999px;background:var(--zeef2d-primary);color:var(--zeef2d-bg);display:flex;align-items:center;justify-content:center;font:800 14px/1 var(--zeef2d-font-display);}
#itinerary-outline .step-title{margin:2px 0 6px;font:800 18px/1.25 var(--zeef2d-font-display);letter-spacing:-0.01em;}
#itinerary-outline .step-text{margin:0;font:400 15px/1.65 var(--zeef2d-font);color:var(--zeef2d-ink);}
#itinerary-outline .disclaimer{border-radius:var(--zeef2d-radius-md,14px);border:1px solid var(--zeef2d-border);background:var(--zeef2d-primary);color:var(--zeef2d-bg);padding:16px 16px 14px;}
#itinerary-outline .disclaimer-title{margin:2px 0 10px;font:900 18px/1.25 var(--zeef2d-font-display);letter-spacing:-0.01em;}
#itinerary-outline .disclaimer-grid{display:flex;flex-direction:column;gap:10px;}
#itinerary-outline .disclaimer-item{display:flex;gap:10px;align-items:flex-start;}
#itinerary-outline .disclaimer-bullet{flex:0 0 22px;width:22px;height:22px;border-radius:999px;background:var(--zeef2d-secondary);color:var(--zeef2d-bg);display:flex;align-items:center;justify-content:center;font:900 12px/1 var(--zeef2d-font-display);margin-top:1px;}
#itinerary-outline .disclaimer-text{margin:0;font:400 14px/1.65 var(--zeef2d-font);color:var(--zeef2d-bg);}
#itinerary-outline .note{margin:12px 0 10px;font:400 14px/1.6 var(--zeef2d-font);color:var(--zeef2d-bg);}
#itinerary-outline .anchor-link{display:inline-block;margin-top:2px;background:var(--zeef2d-secondary);color:var(--zeef2d-bg);border:2px solid var(--zeef2d-secondary);border-radius:var(--zeef2d-radius-sm,10px);padding:10px 12px;font:800 14px/1 var(--zeef2d-font-display);text-decoration:none;}
#itinerary-outline .anchor-link:focus-visible{outline:3px solid var(--zeef2d-mist);outline-offset:3px;}
#itinerary-outline .anchor-link:hover{background:#c9651d; border-color:#c9651d;}
#itinerary-outline .quick-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
#itinerary-outline .nav-chip{display:inline-block;border:1px solid var(--zeef2d-border);background:var(--zeef2d-surface);color:var(--zeef2d-ink);text-decoration:none;border-radius:999px;padding:9px 12px;font:800 13px/1.1 var(--zeef2d-font-display);}
#itinerary-outline .nav-chip:focus-visible{outline:3px solid var(--zeef2d-mist);outline-offset:3px;}
#itinerary-outline .nav-chip:hover{background:var(--zeef2d-mist);}
#itinerary-outline .nav-chip-ghost{background:var(--zeef2d-bg);}
#itinerary-outline .nav-chip-ghost:hover{background:var(--zeef2d-surface);}
#itinerary-outline ::selection{background:rgba(217,119,43,0.28);}
@media (max-width:900px){#itinerary-outline .outline-body{grid-template-columns:1fr;}}
@media (max-width:520px){#itinerary-outline .title{font-size:24px;}#itinerary-outline .step{padding:12px;}#itinerary-outline .lead{font-size:15px;}}
@media (prefers-reduced-motion: reduce){#itinerary-outline *{scroll-behavior:auto;}}

/* zeef2d:itinerary-steps */
/* zeef2d:itinerary-steps */
#itinerary-steps{--s-ink:var(--zeef2d-ink);--s-primary:var(--zeef2d-primary);--s-secondary:var(--zeef2d-secondary);--s-border:var(--zeef2d-border);--s-surface:var(--zeef2d-surface);--s-bg:var(--zeef2d-bg);--s-slate:var(--zeef2d-slate);--s-mist:var(--zeef2d-mist);background:var(--s-bg);color:var(--s-ink);padding:48px 0 56px;}
#itinerary-steps .container{max-width:1120px;margin:0 auto;padding:0 20px;}
#itinerary-steps .section-head{display:flex;gap:24px;align-items:flex-end;justify-content:space-between;margin-bottom:22px;}
#itinerary-steps .title{font-family:var(--zeef2d-font-display);font-size:40px;line-height:1.05;letter-spacing:-0.02em;margin:0;color:var(--s-primary);text-wrap:balance;}
#itinerary-steps .subtitle{margin:0;max-width:640px;font-size:16px;line-height:1.65;color:var(--s-ink);}
#itinerary-steps .steps{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;margin-top:18px;}
#itinerary-steps .step{grid-column:span 4;background:var(--s-surface);border:1px solid var(--s-border);border-radius:var(--zeef2d-radius-lg,18px);padding:18px 18px 16px;position:relative;overflow:hidden;box-shadow:0 10px 30px rgba(16,42,47,0.06);}
#itinerary-steps .step:nth-child(2){transform:translateY(8px);}
#itinerary-steps .step:nth-child(3){transform:translateY(0px);}
#itinerary-steps .step-badge{width:40px;height:40px;border-radius:999px;background:rgba(217,119,43,0.12);border:1px solid rgba(217,119,43,0.35);display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--s-secondary);font-family:var(--zeef2d-font-display);margin-bottom:10px;}
#itinerary-steps .step-title{margin:0 0 8px;font-size:18px;line-height:1.25;color:var(--s-primary);font-family:var(--zeef2d-font);}
#itinerary-steps .step-text{margin:0 0 12px;font-size:14.5px;line-height:1.6;color:var(--s-ink);}
#itinerary-steps .step-points{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;}
#itinerary-steps .step-point{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5;color:var(--s-ink);}
#itinerary-steps .step-point::before{content:"";width:8px;height:8px;border-radius:2px;background:rgba(217,119,43,0.9);margin-top:6px;flex:0 0 auto;box-shadow:0 0 0 3px rgba(217,119,43,0.14);}
#itinerary-steps .step-alt{margin-top:18px;background:rgba(16,42,47,0.03);border:1px solid var(--s-border);border-radius:var(--zeef2d-radius-md,14px);padding:18px;display:block;}
#itinerary-steps .alt-title{margin:0 0 8px;font-size:18px;line-height:1.3;color:var(--s-primary);font-family:var(--zeef2d-font);}
#itinerary-steps .alt-text{margin:0 0 14px;font-size:14.5px;line-height:1.65;color:var(--s-ink);max-width:820px;}
#itinerary-steps .alt-link{display:inline-flex;align-items:center;gap:10px;background:var(--s-primary);color:#fff;border:1px solid var(--s-primary);text-decoration:none;padding:12px 14px;border-radius:var(--zeef2d-radius-sm,10px);font-weight:700;font-size:14.5px;}
#itinerary-steps .alt-link:focus-visible{outline:3px solid rgba(217,119,43,0.45);outline-offset:3px;}
#itinerary-steps .alt-link:hover{background:#0a344b;}
@media (max-width: 980px){
  #itinerary-steps .section-head{flex-direction:column;align-items:flex-start;gap:10px;}
  #itinerary-steps .title{font-size:34px;}
  #itinerary-steps .step{grid-column:span 6;}
}
@media (max-width: 640px){
  #itinerary-steps{padding:34px 0 42px;}
  #itinerary-steps .title{font-size:30px;}
  #itinerary-steps .steps{gap:12px;}
  #itinerary-steps .step{grid-column:span 12;transform:none;}
  #itinerary-steps .step-alt{padding:16px;}
  #itinerary-steps .alt-link{width:100%;justify-content:center;}
}
::selection{background:rgba(217,119,43,0.28);}
#itinerary-steps *{box-sizing:border-box;}
@media (prefers-reduced-motion: reduce){
  #itinerary-steps .step{transform:none !important;}
}

/* zeef2d:itinerary-cycling-and-history */
/* zeef2d:itinerary-cycling-and-history */

#itinerary-cycling-and-history{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:48px 0;}
#itinerary-cycling-and-history .itinerary-container{width:min(1060px,calc(100% - 40px));margin:0 auto;}
#itinerary-cycling-and-history .itinerary-header{margin-bottom:22px;}
#itinerary-cycling-and-history .itinerary-title{font-family:var(--zeef2d-font-display);font-size:34px;line-height:1.05;letter-spacing:-0.02em;margin:0 0 10px;text-wrap:balance;}
#itinerary-cycling-and-history .itinerary-lead{margin:0;max-width:66ch;color:var(--zeef2d-slate);font-size:16px;line-height:1.6;}
#itinerary-cycling-and-history .itinerary-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;margin:18px 0 22px;}
#itinerary-cycling-and-history .itinerary-bullet{grid-column:span 4;background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--radius-md,14px);padding:18px 16px 16px;position:relative;}
#itinerary-cycling-and-history .itinerary-bullet::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:0 12px 28px rgba(11,58,83,0.10);}
#itinerary-cycling-and-history .itinerary-bullet > *{position:relative;z-index:1;}
#itinerary-cycling-and-history .bullet-index{width:36px;height:36px;border-radius:12px;background:var(--zeef2d-primary);color:var(--zeef2d-bg);display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--zeef2d-font-display);letter-spacing:-0.02em;margin-bottom:10px;}
#itinerary-cycling-and-history .bullet-title{margin:0 0 8px;font-size:18px;letter-spacing:-0.01em;font-family:var(--zeef2d-font);}
#itinerary-cycling-and-history .bullet-text{margin:0 0 10px;color:var(--zeef2d-slate);line-height:1.6;font-size:15px;}
#itinerary-cycling-and-history .bullet-note{margin:0;color:var(--zeef2d-ink);font-size:14px;line-height:1.5;}
#itinerary-cycling-and-history .itinerary-aside{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--radius-lg,18px);padding:18px 16px;margin-top:14px;}
#itinerary-cycling-and-history .aside-title{margin:0 0 10px;font-size:18px;letter-spacing:-0.01em;}
#itinerary-cycling-and-history .aside-list{list-style:none;padding:0;margin:0;}
#itinerary-cycling-and-history .aside-item{padding-left:18px;margin:10px 0;position:relative;color:var(--zeef2d-slate);line-height:1.55;font-size:15px;}
#itinerary-cycling-and-history .aside-item::before{content:"";position:absolute;left:0;top:0.72em;width:8px;height:8px;border-radius:999px;background:var(--zeef2d-secondary);}
#itinerary-cycling-and-history .itinerary-link{display:inline-block;margin-top:10px;color:var(--zeef2d-primary);text-decoration:none;border-bottom:1px solid rgba(11,58,83,0.35);padding-bottom:2px;}
#itinerary-cycling-and-history .itinerary-link:focus-visible{outline:3px solid rgba(217,119,43,0.35);outline-offset:3px;border-bottom-color:rgba(11,58,83,0.8);}
#itinerary-cycling-and-history .itinerary-cta-row{margin-top:18px;}
#itinerary-cycling-and-history .cta-card{background:var(--zeef2d-primary);border-radius:var(--radius-lg,18px);padding:18px 16px;border:1px solid rgba(255,255,255,0.10);box-shadow:0 18px 40px rgba(11,58,83,0.18);}
#itinerary-cycling-and-history .cta-title{color:var(--zeef2d-bg);margin:0 0 8px;font-size:18px;letter-spacing:-0.01em;}
#itinerary-cycling-and-history .cta-text{margin:0 0 14px;color:rgba(245,247,248,0.88);line-height:1.6;font-size:15px;max-width:70ch;}
#itinerary-cycling-and-history .cta-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--zeef2d-secondary);color:var(--zeef2d-bg);border:1px solid rgba(255,255,255,0.18);border-radius:var(--radius-md,14px);padding:12px 14px;text-decoration:none;font-weight:700;letter-spacing:-0.01em;}
#itinerary-cycling-and-history .cta-button:hover{filter:brightness(1.02);}
#itinerary-cycling-and-history .cta-button:focus-visible{outline:3px solid rgba(217,119,43,0.45);outline-offset:3px;}
#itinerary-cycling-and-history ::selection{background:rgba(217,119,43,0.35);}

@media (max-width: 940px){
  #itinerary-cycling-and-history .itinerary-bullet{grid-column:span 6;}
}
@media (max-width: 640px){
  #itinerary-cycling-and-history{padding:36px 0;}
  #itinerary-cycling-and-history .itinerary-container{width:calc(100% - 28px);}
  #itinerary-cycling-and-history .itinerary-title{font-size:30px;}
  #itinerary-cycling-and-history .itinerary-grid{gap:12px;}
  #itinerary-cycling-and-history .itinerary-bullet{grid-column:span 12;}
}

@media (prefers-reduced-motion: reduce){
  #itinerary-cycling-and-history *{scroll-behavior:auto;transition:none !important;}
}

/* zeef2d:itinerary-food-and-alternative */
/* zeef2d:itinerary-food-and-alternative */
#itinerary-food-and-alternative{--section-bg:var(--zeef2d-bg);--section-surface:var(--zeef2d-surface);--section-ink:var(--zeef2d-ink);--section-primary:var(--zeef2d-primary);--section-accent:var(--zeef2d-accent);background:var(--section-bg);color:var(--section-ink);padding:48px 0;}
#itinerary-food-and-alternative .container{max-width:1120px;margin:0 auto;padding:0 20px;}
#itinerary-food-and-alternative .section-head{max-width:720px;margin:0 0 26px 0;}
#itinerary-food-and-alternative .kicker{display:inline-flex;align-items:center;gap:10px;font-family:var(--zeef2d-font);font-size:13px;letter-spacing:0.04em;text-transform:none;color:var(--zeef2d-slate);margin:0 0 10px 0;}
#itinerary-food-and-alternative .section-title{margin:0 0 12px 0;font-family:var(--zeef2d-font-display);font-size:34px;line-height:1.08;letter-spacing:-0.02em;text-wrap:balance;}
#itinerary-food-and-alternative .section-subtitle{margin:0;color:var(--zeef2d-slate);font-size:16px;line-height:1.6;}
#itinerary-food-and-alternative .two-col{display:grid;grid-template-columns:1.1fr 0.9fr;gap:18px;align-items:start;}
#itinerary-food-and-alternative .panel{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg,18px);padding:22px;}
#itinerary-food-and-alternative .panel-alt{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:18px;padding:22px;}
#itinerary-food-and-alternative .panel-title{margin:0 0 14px 0;font-size:20px;line-height:1.25;font-family:var(--zeef2d-font-display);}
#itinerary-food-and-alternative .steps-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
#itinerary-food-and-alternative .steps-item{display:flex;gap:14px;align-items:flex-start;padding:12px;border-radius:14px;background:rgba(255,255,255,0.6);border:1px solid rgba(217,226,230,0.65);}
#itinerary-food-and-alternative .steps-num{width:30px;min-width:30px;height:30px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--zeef2d-primary) 14%, white);color:var(--zeef2d-primary);font-weight:700;font-family:var(--zeef2d-font-display);}
#itinerary-food-and-alternative .steps-heading{margin:0 0 6px 0;font-weight:700;color:var(--zeef2d-ink);font-size:16px;}
#itinerary-food-and-alternative .steps-text{margin:0;color:var(--zeef2d-slate);font-size:14.5px;line-height:1.6;}
#itinerary-food-and-alternative .callout{margin-top:16px;display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:14px;border:1px solid rgba(217,226,230,0.9);background:color-mix(in srgb,var(--zeef2d-primary) 6%, white);}
#itinerary-food-and-alternative .callout-mark{color:var(--zeef2d-accent);font-size:18px;line-height:1;}
#itinerary-food-and-alternative .callout-text{margin:0;color:var(--zeef2d-slate);font-size:14.5px;line-height:1.6;}
#itinerary-food-and-alternative .alt-text{margin:0 0 14px 0;color:var(--zeef2d-slate);font-size:14.5px;line-height:1.65;}
#itinerary-food-and-alternative .alt-card{border-radius:14px;border:1px solid rgba(217,226,230,0.95);background:rgba(255,255,255,0.55);padding:14px;}
#itinerary-food-and-alternative .alt-card-label{margin:0 0 10px 0;font-weight:800;color:var(--zeef2d-ink);font-size:15px;}
#itinerary-food-and-alternative .alt-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;}
#itinerary-food-and-alternative .alt-item{margin:0;color:var(--zeef2d-slate);font-size:14.5px;line-height:1.6;display:flex;gap:10px;align-items:flex-start;}
#itinerary-food-and-alternative .alt-bullet{color:var(--zeef2d-accent);font-weight:900;}
#itinerary-food-and-alternative .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px;}
#itinerary-food-and-alternative .btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:800;font-family:var(--zeef2d-font-display);border-radius:14px;padding:12px 14px;min-height:44px;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .05s ease;}
#itinerary-food-and-alternative .btn-primary{background:var(--zeef2d-primary);color:white;border:1px solid var(--zeef2d-primary);}
#itinerary-food-and-alternative .btn-primary:hover{background:color-mix(in srgb,var(--zeef2d-primary) 90%, black);} 
#itinerary-food-and-alternative .btn-primary:active{transform:translateY(1px);} 
#itinerary-food-and-alternative .btn-ghost{background:transparent;color:var(--zeef2d-primary);border:1px solid color-mix(in srgb,var(--zeef2d-primary) 55%, var(--zeef2d-border));}
#itinerary-food-and-alternative .btn-ghost:hover{background:color-mix(in srgb,var(--zeef2d-primary) 6%, white);} 
#itinerary-food-and-alternative .btn-ghost:active{transform:translateY(1px);} 
#itinerary-food-and-alternative .link{color:var(--zeef2d-primary);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px;}
#itinerary-food-and-alternative .link:focus-visible{outline:3px solid color-mix(in srgb,var(--zeef2d-secondary) 55%, white);outline-offset:2px;border-radius:8px;}
#itinerary-food-and-alternative .footnote{margin:14px 0 0 0;color:var(--zeef2d-slate);font-size:14px;line-height:1.6;}
#itinerary-food-and-alternative .mini-footer{margin-top:18px;padding:16px 18px;border-radius:16px;border:1px solid var(--zeef2d-border);background:color-mix(in srgb,var(--zeef2d-surface) 88%, white);}
#itinerary-food-and-alternative .mini-footer-text{margin:0;color:var(--zeef2d-slate);font-size:14.5px;line-height:1.65;}
#itinerary-food-and-alternative :focus-visible{outline:3px solid color-mix(in srgb,var(--zeef2d-secondary) 55%, white);outline-offset:3px;}
#itinerary-food-and-alternative ::selection{background:color-mix(in srgb,var(--zeef2d-accent) 22%, white);}
@media (max-width: 900px){
  #itinerary-food-and-alternative{padding:36px 0;}
  #itinerary-food-and-alternative .two-col{grid-template-columns:1fr;}
  #itinerary-food-and-alternative .section-title{font-size:28px;}
}
@media (prefers-reduced-motion: reduce){
  #itinerary-food-and-alternative .btn{transition:none;}
}

/* zeef2d:itinerary-hero */
/* zeef2d:itinerary-hero */
#itinerary-hero{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:28px 0 36px;}
#itinerary-hero .itinerary-hero__container{max-width:1120px;margin:0 auto;padding:0 18px;display:grid;grid-template-columns:1.25fr 0.75fr;gap:26px;align-items:start;}
#itinerary-hero .itinerary-hero__left{padding:10px 0;}
#itinerary-hero .itinerary-hero__kicker{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--zeef2d-border);border-radius:999px;background:var(--zeef2d-surface);color:var(--zeef2d-ink);font:600 14px/1.2 var(--zeef2d-font);}
#itinerary-hero .itinerary-hero__title{margin:14px 0 12px;font:700 40px/1.08 var(--zeef2d-font-display);letter-spacing:-0.02em;text-wrap:balance;}
#itinerary-hero .itinerary-hero__lead{margin:0 0 16px;font:400 18px/1.55 var(--zeef2d-font);color:var(--zeef2d-text);max-width:62ch;}
#itinerary-hero .itinerary-hero__meta{list-style:none;padding:0;margin:18px 0 18px;display:flex;flex-direction:column;gap:10px;}
#itinerary-hero .itinerary-hero__meta-item{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;padding:10px 12px;border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-md,14px);background:var(--zeef2d-surface);}
#itinerary-hero .itinerary-hero__meta-label{font:700 14px/1.2 var(--zeef2d-font);color:var(--zeef2d-slate);min-width:116px;}
#itinerary-hero .itinerary-hero__meta-value{font:400 16px/1.3 var(--zeef2d-font);color:var(--zeef2d-ink);flex:1;min-width:220px;}
#itinerary-hero .itinerary-hero__cta-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:12px;}
#itinerary-hero .itinerary-hero__primary,#itinerary-hero .itinerary-hero__secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:var(--zeef2d-radius-md,14px);text-decoration:none;font:700 16px/1.1 var(--zeef2d-font);border:1px solid transparent;}
#itinerary-hero .itinerary-hero__primary{background:var(--zeef2d-primary);color:#fff;border-color:var(--zeef2d-primary);}
#itinerary-hero .itinerary-hero__secondary{background:var(--zeef2d-surface);color:var(--zeef2d-primary);border-color:var(--zeef2d-border);}
#itinerary-hero .itinerary-hero__primary:focus-visible,#itinerary-hero .itinerary-hero__secondary:focus-visible{outline:3px solid var(--zeef2d-accent);outline-offset:2px;}
#itinerary-hero .itinerary-hero__primary:hover{filter:brightness(0.98);}
#itinerary-hero .itinerary-hero__secondary:hover{border-color:var(--zeef2d-primary);}
#itinerary-hero .itinerary-hero__note{margin:14px 0 0;font:400 15px/1.6 var(--zeef2d-font);color:var(--zeef2d-slate);}

#itinerary-hero .itinerary-hero__right{padding-top:12px;}
#itinerary-hero .itinerary-hero__panel{background:linear-gradient(180deg,var(--zeef2d-surface),#ffffff);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg,18px);padding:16px;box-shadow:0 10px 28px rgba(11,58,83,0.10);}
#itinerary-hero .itinerary-hero__panel-top{display:flex;flex-direction:column;gap:10px;margin-bottom:12px;}
#itinerary-hero .itinerary-hero__badge{display:inline-flex;align-items:center;justify-content:flex-start;padding:7px 10px;border-radius:999px;background:var(--zeef2d-primary);color:#fff;font:700 13px/1.1 var(--zeef2d-font);width:max-content;}
#itinerary-hero .itinerary-hero__small{font:400 14px/1.5 var(--zeef2d-font);color:var(--zeef2d-slate);}
#itinerary-hero .itinerary-hero__points{display:flex;flex-direction:column;gap:12px;}
#itinerary-hero .itinerary-hero__point{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:var(--zeef2d-radius-md,14px);background:#ffffff;border:1px solid var(--zeef2d-border);}
#itinerary-hero .itinerary-hero__point-icon{width:28px;height:28px;border-radius:10px;background:var(--zeef2d-secondary);color:#fff;font:800 14px/28px var(--zeef2d-font);text-align:center;flex:0 0 auto;}
#itinerary-hero .itinerary-hero__point-title{font:800 15px/1.2 var(--zeef2d-font);color:var(--zeef2d-ink);margin-top:1px;}
#itinerary-hero .itinerary-hero__point-desc{font:400 14px/1.5 var(--zeef2d-font);color:var(--zeef2d-slate);margin-top:4px;}
#itinerary-hero .itinerary-hero__cta-bottom{margin-top:14px;padding-top:12px;border-top:1px solid var(--zeef2d-border);display:flex;}

::selection{background:rgba(217,119,43,0.35);}
@media (max-width: 900px){#itinerary-hero .itinerary-hero__container{grid-template-columns:1fr;gap:18px;}#itinerary-hero .itinerary-hero__title{font-size:34px;}#itinerary-hero .itinerary-hero__meta-value{min-width:180px;}}
@media (prefers-reduced-motion: reduce){#itinerary-hero *{scroll-behavior:auto;transition:none!important;animation:none!important;}}
/* zeef2d:itinerary-outline */
/* zeef2d:itinerary-outline */
#itinerary-outline.itinerary-outline{--pad:clamp(18px,3vw,28px); background:var(--zeef2d-bg); color:var(--zeef2d-text);}
#itinerary-outline .container{max-width:1040px; margin:0 auto; padding:var(--pad) var(--pad) 26px;}
#itinerary-outline .eyebrow{font-family:var(--zeef2d-font); font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:var(--zeef2d-slate); margin-bottom:10px;}
#itinerary-outline .title{font-family:var(--zeef2d-font-display); font-weight:800; letter-spacing:-.02em; line-height:1.12; font-size:clamp(26px,3.2vw,40px); text-wrap:balance; margin:0 0 10px;}
#itinerary-outline .lead{max-width:78ch; font-size:16px; line-height:1.7; color:var(--zeef2d-text); margin:0 0 18px;}
#itinerary-outline .outline{display:grid; grid-template-columns: 1.4fr .9fr; gap:18px; align-items:start; margin-top:14px;}
#itinerary-outline .outline-block{background:var(--zeef2d-surface); border:1px solid var(--zeef2d-border); border-radius:var(--zeef2d-radius-lg,18px); padding:18px 18px 16px;}
#itinerary-outline .block-title{margin:0 0 10px; font-size:16px; font-weight:800; color:var(--zeef2d-ink); letter-spacing:-.01em;}
#itinerary-outline .list{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px;}
#itinerary-outline .list-item{display:flex; gap:12px; align-items:flex-start;}
#itinerary-outline .step-index{width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; background:var(--zeef2d-primary); color:var(--zeef2d-bg); font-weight:800; font-size:13px; flex:0 0 auto;}
#itinerary-outline .list-text{font-size:15px; line-height:1.6; color:var(--zeef2d-text);}
#itinerary-outline .aside{background:transparent; border-radius:var(--zeef2d-radius-lg,18px); padding:6px 2px;}
#itinerary-outline .aside-title{margin:0 0 10px; font-size:16px; font-weight:800; color:var(--zeef2d-ink);}
#itinerary-outline .aside-content{background:var(--zeef2d-surface); border:1px solid var(--zeef2d-border); border-radius:var(--zeef2d-radius-lg,18px); padding:16px;}
#itinerary-outline .aside-text{margin:0; font-size:15px; line-height:1.65; color:var(--zeef2d-text);}
#itinerary-outline .aside-small{font-size:14px; color:var(--zeef2d-text);}
#itinerary-outline .hint-row{display:flex; gap:12px; align-items:flex-start; margin-top:12px;}
#itinerary-outline .hint-badge{background:var(--zeef2d-mist); color:var(--zeef2d-primary); border:1px solid var(--zeef2d-border); padding:6px 10px; border-radius:999px; font-weight:800; font-size:12px; letter-spacing:.04em;}
#itinerary-outline .notice{margin-top:18px; background:var(--zeef2d-primary); color:var(--zeef2d-bg); border-radius:var(--zeef2d-radius-lg,18px); padding:16px; display:flex; gap:14px; align-items:flex-start;}
#itinerary-outline .notice-mark{width:38px; height:38px; border-radius:12px; background:rgba(217,119,43,.18); border:1px solid rgba(217,119,43,.55); display:flex; align-items:center; justify-content:center; font-weight:900; font-size:18px; flex:0 0 auto;}
#itinerary-outline .notice-title{margin:0 0 4px; font-weight:900; font-size:16px;}
#itinerary-outline .notice-body{margin:0; font-size:14.5px; line-height:1.65; color:var(--zeef2d-bg); opacity:1;}
#itinerary-outline .notice-body + .notice-body{margin-top:10px;}
#itinerary-outline .link{color:var(--zeef2d-bg); text-decoration:underline; text-underline-offset:3px;}
#itinerary-outline .link:focus-visible{outline:3px solid rgba(217,119,43,.9); outline-offset:3px; border-radius:6px;}
#itinerary-outline .actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:18px;}
#itinerary-outline .btn{display:inline-flex; align-items:center; justify-content:center; border-radius:14px; padding:12px 14px; font-weight:900; letter-spacing:-.01em; text-decoration:none; border:1px solid var(--zeef2d-border);}
#itinerary-outline .btn-primary{background:var(--zeef2d-primary); color:var(--zeef2d-bg); border-color:var(--zeef2d-primary);}
#itinerary-outline .btn-primary:hover{background: #0a344a;}
#itinerary-outline .btn-outline{background:var(--zeef2d-bg); color:var(--zeef2d-primary); border-color:var(--zeef2d-primary);}
#itinerary-outline .btn-outline:hover{background:var(--zeef2d-mist);}
#itinerary-outline .btn:focus-visible{outline:3px solid rgba(217,119,43,.9); outline-offset:3px;}
#itinerary-outline ::selection{background:rgba(217,119,43,.35);}
@media (max-width:860px){#itinerary-outline .outline{grid-template-columns:1fr;}}
@media (prefers-reduced-motion:reduce){#itinerary-outline *{scroll-behavior:auto; transition:none !important; animation:none !important;}}

/* zeef2d:itinerary-steps */
/* zeef2d:itinerary-steps */
#itinerary-steps.itinerary-steps{
  --s-pad: clamp(18px, 3vw, 34px);
  padding: var(--s-pad);
  background: var(--zeef2d-bg);
  color: var(--zeef2d-text);
  font-family: var(--zeef2d-font);
}
#itinerary-steps .itinerary-steps__header{
  max-width: 980px;
}
#itinerary-steps .itinerary-steps__kicker{
  display: inline-block;
  padding: 7px 12px;
  border: 1px solid var(--zeef2d-border);
  background: var(--zeef2d-surface);
  color: var(--zeef2d-primary);
  border-radius: var(--zeef2d-radius-md);
  font-size: 13px;
  letter-spacing: 0.01em;
}
#itinerary-steps .itinerary-steps__title{
  margin: 14px 0 10px;
  font-family: var(--zeef2d-font-display);
  font-size: clamp(26px, 4vw, 44px);
  line-height: 1.08;
  letter-spacing: -0.02em;
  text-wrap: balance;
}
#itinerary-steps .itinerary-steps__lead{
  margin: 0;
  max-width: 72ch;
  color: var(--zeef2d-slate);
  font-size: 16px;
  line-height: 1.65;
}
#itinerary-steps .itinerary-steps__list{
  margin-top: 26px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
#itinerary-steps .itinerary-step{
  position: relative;
  border: 1px solid var(--zeef2d-border);
  background: var(--zeef2d-surface);
  border-radius: var(--zeef2d-radius-lg);
  padding: 18px;
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 14px;
}
#itinerary-steps .itinerary-step::before{
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(215,119,43,0.18), rgba(215,119,43,0.0));
  opacity: 0;
  transition: opacity 160ms ease;
}
#itinerary-steps .itinerary-step:focus-within::before,
#itinerary-steps .itinerary-step:hover::before{ opacity: 1; }
#itinerary-steps .itinerary-step__num{
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 2px solid var(--zeef2d-secondary);
  color: var(--zeef2d-primary);
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: 16px;
  background: rgba(245,247,248,0.9);
}
#itinerary-steps .itinerary-step__title{
  margin: 0;
  font-family: var(--zeef2d-font-display);
  font-size: 18px;
  letter-spacing: -0.01em;
}
#itinerary-steps .itinerary-step__text{
  margin: 8px 0 0;
  color: var(--zeef2d-slate);
  line-height: 1.65;
  font-size: 15px;
}
#itinerary-steps .itinerary-step__tags{
  margin-top: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
#itinerary-steps .tag{
  border: 1px solid var(--zeef2d-border);
  background: var(--zeef2d-bg);
  color: var(--zeef2d-primary);
  border-radius: var(--zeef2d-radius-sm);
  padding: 6px 10px;
  font-size: 13px;
}
#itinerary-steps .itinerary-step--alt{
  background: var(--zeef2d-bg);
}
#itinerary-steps .itinerary-step--alt .tag{
  border-color: rgba(217,226,230,0.95);
}
#itinerary-steps ::selection{ background: rgba(217,119,43,0.22); }
#itinerary-steps a:focus-visible{ outline: 3px solid rgba(215,119,43,0.6); outline-offset: 2px; border-radius: 8px; }
@media (min-width: 860px){
  #itinerary-steps .itinerary-steps__list{
    grid-template-columns: 1fr 1fr;
  }
  #itinerary-steps .itinerary-step--alt{
    grid-column: 1 / -1;
  }
}
@media (prefers-reduced-motion: reduce){
  #itinerary-steps .itinerary-step::before{ transition: none; }
}

/* zeef2d:itinerary-cycling-and-history */
/* zeef2d:itinerary-cycling-and-history */
#itinerary-cycling-and-history{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:48px 0;}
#itinerary-cycling-and-history .container{max-width:1120px;margin:0 auto;padding:0 20px;}
#itinerary-cycling-and-history .section-header{margin-bottom:26px;}
#itinerary-cycling-and-history .section-title{font-family:var(--zeef2d-font-display);letter-spacing:-0.02em;font-size:40px;line-height:1.08;margin:0 0 10px 0;font-weight:800;text-wrap:balance;}
#itinerary-cycling-and-history .section-lead{margin:0;max-width:68ch;font-size:17px;line-height:1.65;color:var(--zeef2d-ink);}
#itinerary-cycling-and-history .two-col{display:grid;grid-template-columns:1.05fr 0.95fr;gap:22px;align-items:start;}
#itinerary-cycling-and-history .panel{border:1px solid var(--zeef2d-border);background:var(--zeef2d-surface);border-radius:var(--zeef2d-radius-lg,18px);padding:18px 18px 16px 18px;}
#itinerary-cycling-and-history .panel-alt{background:var(--zeef2d-bg);}
#itinerary-cycling-and-history .panel-title{margin:0 0 12px 0;font-size:22px;letter-spacing:-0.01em;font-weight:800;font-family:var(--zeef2d-font-display);}
#itinerary-cycling-and-history .checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
#itinerary-cycling-and-history .check-item{display:flex;gap:10px;align-items:flex-start;}
#itinerary-cycling-and-history .check-bullet{width:22px;height:22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--zeef2d-mist);color:var(--zeef2d-primary);font-weight:900;flex:0 0 auto;line-height:1;}
#itinerary-cycling-and-history .check-text{margin:0;font-size:16px;line-height:1.6;color:var(--zeef2d-ink);}
#itinerary-cycling-and-history .cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px;}
#itinerary-cycling-and-history .btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 14px;border-radius:var(--zeef2d-radius-md,14px);background:var(--zeef2d-primary);color:var(--zeef2d-bg);text-decoration:none;font-weight:800;font-size:15px;border:1px solid var(--zeef2d-primary);}
#itinerary-cycling-and-history .btn-outline{background:transparent;color:var(--zeef2d-primary);border-color:var(--zeef2d-primary);}
#itinerary-cycling-and-history .btn:focus-visible,#itinerary-cycling-and-history .btn-outline:focus-visible,#itinerary-cycling-and-history .link-arrow:focus-visible{outline:3px solid var(--zeef2d-accent);outline-offset:2px;}
#itinerary-cycling-and-history .btn:hover{background:#0a3043;}
#itinerary-cycling-and-history .btn-outline:hover{background:var(--zeef2d-mist);}
#itinerary-cycling-and-history .steps-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
#itinerary-cycling-and-history .step{display:flex;gap:12px;align-items:flex-start;}
#itinerary-cycling-and-history .step-num{width:34px;height:34px;border-radius:999px;background:var(--zeef2d-mist);border:1px solid var(--zeef2d-border);display:flex;align-items:center;justify-content:center;color:var(--zeef2d-primary);font-weight:900;font-family:var(--zeef2d-font-display);flex:0 0 auto;}
#itinerary-cycling-and-history .step-title{margin:0 0 4px 0;font-weight:900;font-size:16px;}
#itinerary-cycling-and-history .step-text{margin:0;font-size:15px;line-height:1.6;color:var(--zeef2d-ink);}
#itinerary-cycling-and-history .info-box{margin-top:16px;border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-md,14px);padding:14px;background:var(--zeef2d-surface);}
#itinerary-cycling-and-history .info-title{margin:0 0 6px 0;font-weight:900;font-family:var(--zeef2d-font-display);font-size:15px;}
#itinerary-cycling-and-history .info-text{margin:0;color:var(--zeef2d-ink);line-height:1.65;font-size:15px;}
#itinerary-cycling-and-history .link-arrow{display:inline-flex;align-items:center;gap:10px;margin-top:10px;color:var(--zeef2d-primary);text-decoration:none;font-weight:900;font-size:15px;}
#itinerary-cycling-and-history .link-arrow::after{content:"→";font-weight:900;}
#itinerary-cycling-and-history .mini-grid{margin-top:22px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
#itinerary-cycling-and-history .mini-card{border:1px solid var(--zeef2d-border);background:var(--zeef2d-surface);border-radius:var(--zeef2d-radius-md,14px);padding:14px 14px 12px 14px;}
#itinerary-cycling-and-history .mini-label{margin:0 0 6px 0;font-size:13px;letter-spacing:0.02em;text-transform:none;color:var(--zeef2d-slate);font-weight:900;}
#itinerary-cycling-and-history .mini-value{margin:0;font-size:15px;line-height:1.5;color:var(--zeef2d-ink);font-weight:800;}
#itinerary-cycling-and-history ::selection{background:rgba(217,119,43,0.25);}
@media (max-width: 920px){#itinerary-cycling-and-history .two-col{grid-template-columns:1fr;}
#itinerary-cycling-and-history .section-title{font-size:34px;}
#itinerary-cycling-and-history .mini-grid{grid-template-columns:1fr;}}
@media (prefers-reduced-motion: reduce){#itinerary-cycling-and-history *{scroll-behavior:auto;transition:none !important;animation:none !important;}}

/* zeef2d:itinerary-food-and-alternative */
/* zeef2d:itinerary-food-and-alternative */
#itinerary-food-and-alternative{--section-pad:clamp(22px,4vw,40px);background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:var(--section-pad) 0 34px 0;}
#itinerary-food-and-alternative::selection{background:color-mix(in srgb,var(--zeef2d-secondary) 22%, transparent);}
#itinerary-food-and-alternative .container{max-width:1100px;margin:0 auto;padding:0 clamp(16px,3.5vw,28px);}
#itinerary-food-and-alternative .section-head{margin-bottom:26px;}
#itinerary-food-and-alternative .kicker{margin:0 0 10px 0;font-size:13px;letter-spacing:.06em;text-transform:none;color:var(--zeef2d-primary);font-weight:700;}
#itinerary-food-and-alternative .title{margin:0 0 10px 0;font-family:var(--zeef2d-font-display);font-size:clamp(22px,3vw,34px);line-height:1.14;letter-spacing:-.02em;text-wrap:balance;color:var(--zeef2d-ink);}
#itinerary-food-and-alternative .lead{margin:0;color:color-mix(in srgb,var(--zeef2d-text) 82%, transparent);max-width:70ch;font-size:16px;line-height:1.7;}
#itinerary-food-and-alternative .content-layout{display:grid;grid-template-columns:1.4fr .9fr;gap:22px;align-items:start;}
#itinerary-food-and-alternative .panel{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--radius-lg);padding:18px;box-shadow:0 10px 28px color-mix(in srgb,var(--zeef2d-primary) 10%, transparent);}
#itinerary-food-and-alternative .panel-title{margin:2px 0 14px 0;font-size:18px;letter-spacing:-.01em;color:var(--zeef2d-ink);}
#itinerary-food-and-alternative .list{list-style:none;margin:0;padding:0;}
#itinerary-food-and-alternative .list-item{display:grid;grid-template-columns:40px 1fr;gap:12px;padding:12px 0;border-top:1px solid color-mix(in srgb,var(--zeef2d-border) 72%, transparent);}
#itinerary-food-and-alternative .list-item:first-child{border-top:none;padding-top:0;}
#itinerary-food-and-alternative .badge{width:40px;height:40px;border-radius:999px;background:color-mix(in srgb,var(--zeef2d-secondary) 18%, var(--zeef2d-surface));border:1px solid color-mix(in srgb,var(--zeef2d-secondary) 35%, var(--zeef2d-border));display:flex;align-items:center;justify-content:center;color:var(--zeef2d-secondary);font-weight:800;}
#itinerary-food-and-alternative .item-strong{display:block;font-size:15px;margin-bottom:4px;}
#itinerary-food-and-alternative .item-sub{color:color-mix(in srgb,var(--zeef2d-text) 78%, transparent);font-size:14px;line-height:1.65;}
#itinerary-food-and-alternative .note{margin-top:14px;padding:14px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--zeef2d-primary) 6%, var(--zeef2d-surface));border:1px solid color-mix(in srgb,var(--zeef2d-primary) 18%, var(--zeef2d-border));}
#itinerary-food-and-alternative .note-title{margin:0 0 6px 0;font-weight:800;color:var(--zeef2d-primary);}
#itinerary-food-and-alternative .note-text{margin:0;color:color-mix(in srgb,var(--zeef2d-text) 80%, transparent);line-height:1.65;font-size:14px;}
#itinerary-food-and-alternative .right-col{position:relative;}
#itinerary-food-and-alternative .alt-card{background:var(--zeef2d-ink);color:color-mix(in srgb,var(--zeef2d-bg) 92%, transparent);border-radius:var(--radius-lg);padding:18px;border:1px solid color-mix(in srgb,var(--zeef2d-ink) 75%, var(--zeef2d-border));box-shadow:0 14px 34px color-mix(in srgb,var(--zeef2d-primary) 22%, transparent);}
#itinerary-food-and-alternative .alt-title{margin:2px 0 10px 0;font-size:18px;letter-spacing:-.01em;color:var(--zeef2d-bg);}
#itinerary-food-and-alternative .alt-lead{margin:0 0 14px 0;color:color-mix(in srgb,var(--zeef2d-bg) 86%, transparent);line-height:1.65;font-size:14.5px;}
#itinerary-food-and-alternative .alt-steps{margin:0;padding:0;list-style:none;}
#itinerary-food-and-alternative .alt-step{padding:10px 0;border-top:1px solid color-mix(in srgb,var(--zeef2d-bg) 18%, transparent);color:color-mix(in srgb,var(--zeef2d-bg) 90%, transparent);line-height:1.55;font-size:14.5px;}
#itinerary-food-and-alternative .alt-step:first-child{border-top:none;padding-top:0;}
#itinerary-food-and-alternative .step-num{display:inline-flex;align-items:center;justify-content:center;width:30px;height:22px;border-radius:999px;background:color-mix(in srgb,var(--zeef2d-secondary) 22%, transparent);border:1px solid color-mix(in srgb,var(--zeef2d-secondary) 40%, transparent);margin-right:8px;font-weight:900;color:var(--zeef2d-bg);}
#itinerary-food-and-alternative .alt-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;}
#itinerary-food-and-alternative .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 14px;border-radius:var(--radius-md);text-decoration:none;font-weight:800;font-size:14px;line-height:1;}
#itinerary-food-and-alternative .btn-primary{background:var(--zeef2d-secondary);color:var(--zeef2d-bg);border:1px solid color-mix(in srgb,var(--zeef2d-secondary) 55%, var(--zeef2d-secondary));}
#itinerary-food-and-alternative .btn-ghost{background:transparent;color:var(--zeef2d-bg);border:1px solid color-mix(in srgb,var(--zeef2d-bg) 26%, transparent);}
#itinerary-food-and-alternative .btn-primary:focus-visible,#itinerary-food-and-alternative .btn-ghost:focus-visible,#itinerary-food-and-alternative a:focus-visible{outline:3px solid color-mix(in srgb,var(--zeef2d-secondary) 55%, transparent);outline-offset:3px;}
#itinerary-food-and-alternative .alt-disclaimer{margin-top:14px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--zeef2d-bg) 18%, transparent);}
#itinerary-food-and-alternative .alt-disclaimer-text{margin:0;color:color-mix(in srgb,var(--zeef2d-bg) 86%, transparent);font-size:13.5px;line-height:1.6;}
#itinerary-food-and-alternative .divider{height:1px;background:color-mix(in srgb,var(--zeef2d-border) 90%, transparent);margin:26px 0 18px 0;}
#itinerary-food-and-alternative .bottom-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
#itinerary-food-and-alternative .mini{background:transparent;border:1px solid transparent;padding:4px;}
#itinerary-food-and-alternative .mini-title{margin:0 0 8px 0;font-size:16px;letter-spacing:-.01em;color:var(--zeef2d-ink);}
#itinerary-food-and-alternative .mini-text{margin:0 0 10px 0;color:color-mix(in srgb,var(--zeef2d-text) 78%, transparent);line-height:1.7;font-size:14.5px;max-width:60ch;}
#itinerary-food-and-alternative .link{color:var(--zeef2d-primary);font-weight:800;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px;}
#itinerary-food-and-alternative .link:hover{color:color-mix(in srgb,var(--zeef2d-primary) 78%, var(--zeef2d-secondary));}
@media (max-width: 920px){
  #itinerary-food-and-alternative .content-layout{grid-template-columns:1fr;}
  #itinerary-food-and-alternative .bottom-row{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion: reduce){
  #itinerary-food-and-alternative *{scroll-behavior:auto;}
}

/* zeef2d:itinerary-hero */
/* zeef2d:itinerary-hero */
#itinerary-hero.itinerary-hero{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:48px 0 54px;position:relative;overflow:hidden;}
#itinerary-hero.itinerary-hero::before{content:"";position:absolute;inset:-160px -120px auto -120px;height:340px;background:var(--zeef2d-surface);border-bottom:1px solid var(--zeef2d-border);transform:rotate(-6deg);pointer-events:none;}
#itinerary-hero.itinerary-hero .container{max-width:1120px;margin:0 auto;padding:0 20px;position:relative;}
#itinerary-hero.itinerary-hero .hero-grid{display:grid;grid-template-columns:1.25fr 0.85fr;gap:28px;align-items:start;}
#itinerary-hero.itinerary-hero .hero-copy{padding:18px 0;}
#itinerary-hero.itinerary-hero .kicker{display:inline-flex;align-items:center;gap:10px;color:var(--zeef2d-primary);font-weight:700;letter-spacing:0.2px;text-transform:none;font-size:14px;margin-bottom:14px;}
#itinerary-hero.itinerary-hero .kicker::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--zeef2d-secondary);box-shadow:0 10px 28px rgba(217,119,43,0.25);}
#itinerary-hero.itinerary-hero .hero-title{font-family:var(--zeef2d-font-display);font-size:44px;line-height:1.05;letter-spacing:-0.6px;margin:0 0 14px;text-wrap:balance;color:var(--zeef2d-ink);}
#itinerary-hero.itinerary-hero .hero-lead{margin:0 0 20px;max-width:62ch;font-size:17px;line-height:1.6;color:var(--zeef2d-text);}
#itinerary-hero.itinerary-hero .hero-meta{display:flex;gap:14px;flex-wrap:wrap;margin:14px 0 22px;padding:14px;background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-md,14px);}
#itinerary-hero.itinerary-hero .meta-item{min-width:160px;flex:1 1 160px;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,0.7);border:1px solid rgba(217,119,43,0.18);}
#itinerary-hero.itinerary-hero .meta-label{font-size:12px;color:var(--zeef2d-slate);letter-spacing:0.2px;font-weight:600;margin-bottom:4px;}
#itinerary-hero.itinerary-hero .meta-value{font-size:15px;color:var(--zeef2d-ink);font-weight:800;}
#itinerary-hero.itinerary-hero .hero-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:6px;}
#itinerary-hero.itinerary-hero .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:var(--zeef2d-radius-md,14px);font-weight:800;text-decoration:none;line-height:1;white-space:nowrap;}
#itinerary-hero.itinerary-hero .btn:focus-visible{outline:3px solid rgba(217,119,43,0.55);outline-offset:3px;}
#itinerary-hero.itinerary-hero .btn-primary{background:var(--zeef2d-primary);color:var(--zeef2d-bg);border:1px solid rgba(11,58,83,0.35);}
#itinerary-hero.itinerary-hero .btn-primary:hover{background:#0A344B;}
#itinerary-hero.itinerary-hero .btn-ghost{background:transparent;color:var(--zeef2d-primary);border:2px solid var(--zeef2d-border);}
#itinerary-hero.itinerary-hero .btn-ghost:hover{border-color:rgba(217,119,43,0.65);background:rgba(245,247,248,0.8);}
#itinerary-hero.itinerary-hero .hero-footnote{margin:16px 0 0;color:var(--zeef2d-slate);font-size:13px;line-height:1.6;}
#itinerary-hero.itinerary-hero .hero-panel{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg,18px);padding:18px;position:relative;}
#itinerary-hero.itinerary-hero .panel-top{margin-bottom:14px;}
#itinerary-hero.itinerary-hero .panel-title{font-family:var(--zeef2d-font-display);font-weight:900;color:var(--zeef2d-ink);font-size:18px;margin-bottom:4px;}
#itinerary-hero.itinerary-hero .panel-subtitle{color:var(--zeef2d-slate);font-size:13px;line-height:1.5;}
#itinerary-hero.itinerary-hero .panel-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;}
#itinerary-hero.itinerary-hero .panel-step{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:12px;border-radius:14px;background:#ffffffb8;border:1px solid rgba(16,42,47,0.08);}
#itinerary-hero.itinerary-hero .step-num{width:34px;height:34px;border-radius:12px;background:rgba(217,119,43,0.16);color:var(--zeef2d-secondary);display:flex;align-items:center;justify-content:center;font-weight:1000;font-size:14px;border:1px solid rgba(217,119,43,0.35);}
#itinerary-hero.itinerary-hero .step-body{color:var(--zeef2d-ink);font-size:14px;line-height:1.5;}
#itinerary-hero.itinerary-hero .step-body strong{color:var(--zeef2d-primary);}
#itinerary-hero.itinerary-hero .panel-cta{margin-top:14px;padding-top:14px;border-top:1px solid rgba(16,42,47,0.08);display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
#itinerary-hero.itinerary-hero .panel-link{color:var(--zeef2d-primary);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;font-weight:800;font-size:14px;}
#itinerary-hero.itinerary-hero .panel-link:focus-visible{outline:3px solid rgba(217,119,43,0.55);outline-offset:3px;border-radius:8px;}
#itinerary-hero.itinerary-hero .panel-sep{color:rgba(16,42,47,0.35);}
#itinerary-hero.itinerary-hero ::selection{background:rgba(217,119,43,0.35);color:var(--zeef2d-ink);}
@media (prefers-reduced-motion: reduce){#itinerary-hero.itinerary-hero *{scroll-behavior:auto;transition:none !important;}}
@media (max-width: 940px){#itinerary-hero.itinerary-hero{padding:36px 0 40px;}
#itinerary-hero.itinerary-hero .hero-grid{grid-template-columns:1fr;gap:18px;}
#itinerary-hero.itinerary-hero .hero-title{font-size:36px;}
#itinerary-hero.itinerary-hero .meta-item{min-width:140px;}
}
@media (max-width: 520px){#itinerary-hero.itinerary-hero .hero-title{font-size:30px;letter-spacing:-0.4px;}
#itinerary-hero.itinerary-hero .hero-lead{font-size:16px;}
#itinerary-hero.itinerary-hero .hero-meta{padding:12px;}
#itinerary-hero.itinerary-hero .btn{width:100%;}
}

/* zeef2d:itinerary-outline */
#itinerary-outline{
  --io-radius-sm: var(--zeef2d-radius-sm, 10px);
  --io-radius-md: var(--zeef2d-radius-md, 14px);
  --io-radius-lg: var(--zeef2d-radius-lg, 18px);
}
#itinerary-outline .container{max-width:1080px;margin:0 auto;padding:28px 18px 24px;}
#itinerary-outline .eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
#itinerary-outline .dot{width:10px;height:10px;border-radius:50%;background:var(--zeef2d-secondary);box-shadow:0 0 0 4px rgba(217,119,43,.15);}
#itinerary-outline .eyebrow-text{font:700 12px/1 var(--zeef2d-font);letter-spacing:.04em;text-transform:uppercase;color:var(--zeef2d-secondary);}
#itinerary-outline .title{margin:0 0 12px;font:700 34px/1.15 var(--zeef2d-font-display);letter-spacing:-.02em;text-wrap:balance;color:var(--zeef2d-ink);}
#itinerary-outline .lead{margin:0 0 18px;max-width:78ch;font:400 16px/1.6 var(--zeef2d-font);color:var(--zeef2d-ink);}
#itinerary-outline .outline{display:grid;grid-template-columns: 1.4fr .9fr;gap:18px;align-items:start;margin-top:14px;}
#itinerary-outline .steps{list-style:none;margin:0;padding:0;border:1px solid var(--zeef2d-border);border-radius:var(--io-radius-lg);background:var(--zeef2d-bg);}
#itinerary-outline .step{display:flex;gap:14px;padding:14px 14px;border-top:1px solid var(--zeef2d-border);}
#itinerary-outline .step:first-child{border-top:0;}
#itinerary-outline .step-index{flex:0 0 auto;width:34px;height:34px;border-radius:999px;background:rgba(217,119,43,.12);color:var(--zeef2d-secondary);display:flex;align-items:center;justify-content:center;font:700 14px/1 var(--zeef2d-font);border:1px solid rgba(217,119,43,.35);}
#itinerary-outline .step-title{display:block;font:700 16px/1.25 var(--zeef2d-font);color:var(--zeef2d-ink);margin-top:2px;}
#itinerary-outline .step-text{margin:6px 0 0;font:400 14px/1.55 var(--zeef2d-font);color:var(--zeef2d-slate);}
#itinerary-outline .disclaimer{border:1px solid var(--zeef2d-border);border-radius:var(--io-radius-lg);background:var(--zeef2d-surface);padding:16px;}
#itinerary-outline .disclaimer-title{margin:0 0 10px;font:700 16px/1.25 var(--zeef2d-font);color:var(--zeef2d-ink);}
#itinerary-outline .disclaimer-text{margin:0 0 10px;font:400 14px/1.6 var(--zeef2d-font);color:var(--zeef2d-ink);}
#itinerary-outline .link{color:var(--zeef2d-primary);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;}
#itinerary-outline .link:focus-visible{outline:3px solid rgba(11,58,83,.35);outline-offset:2px;border-radius:6px;}
#itinerary-outline .quick-links{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 10px;}
#itinerary-outline .pill{display:inline-flex;align-items:center;justify-content:center;padding:10px 12px;border-radius:999px;border:1px solid var(--zeef2d-border);background:var(--zeef2d-bg);color:var(--zeef2d-primary);font:700 13px/1 var(--zeef2d-font);text-decoration:none;}
#itinerary-outline .pill:hover{border-color:rgba(217,119,43,.7);}
#itinerary-outline .pill:focus-visible{outline:3px solid rgba(217,119,43,.35);outline-offset:2px;}
#itinerary-outline .fineprint{margin:10px 0 0;font:400 12.5px/1.6 var(--zeef2d-font);color:var(--zeef2d-slate);}
#itinerary-outline ::selection{background:rgba(217,119,43,.25);}
#itinerary-outline a{cursor:pointer;}
@media (max-width:900px){
  #itinerary-outline .title{font-size:28px;}
  #itinerary-outline .outline{grid-template-columns:1fr;}
  #itinerary-outline .steps .step{padding:13px 12px;}
}
@media (prefers-reduced-motion: reduce){
  #itinerary-outline *{scroll-behavior:auto;transition:none !important;animation:none !important;}
}
/* zeef2d:itinerary-steps */
/* zeef2d:itinerary-steps */
#itinerary-steps{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:40px 16px 34px 16px}
#itinerary-steps .container{max-width:1040px;margin:0 auto}
#itinerary-steps .section-header{display:block;margin-bottom:22px}
#itinerary-steps .section-title{font-family:var(--zeef2d-font-display);font-weight:800;letter-spacing:-0.02em;line-height:1.08;margin:0 0 10px 0;font-size:34px;text-wrap:balance}
#itinerary-steps .section-lead{margin:0;max-width:72ch;color:var(--zeef2d-ink);font-size:16px;line-height:1.65}
#itinerary-steps .steps{display:grid;grid-template-columns:1fr;gap:12px;margin-top:18px}
#itinerary-steps .step{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:flex-start;background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-md,14px);padding:14px 14px}
#itinerary-steps .step:nth-child(odd){background:color-mix(in srgb, var(--zeef2d-surface) 86%, var(--zeef2d-mist) 14%)}
#itinerary-steps .step-badge{width:40px;height:40px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--zeef2d-primary);color:var(--zeef2d-bg);font-weight:800;font-size:16px;line-height:1}
#itinerary-steps .step-title{margin:2px 0 6px 0;font-family:var(--zeef2d-font);font-size:18px;line-height:1.25}
#itinerary-steps .step-text{margin:0;color:var(--zeef2d-ink);font-size:15px;line-height:1.6}
#itinerary-steps .alt{margin-top:18px;background:var(--zeef2d-primary);color:var(--zeef2d-bg);border-radius:var(--zeef2d-radius-lg,18px);padding:18px 16px;border:1px solid rgba(255,255,255,0.12)}
#itinerary-steps .alt-title{margin:0 0 8px 0;font-size:18px;line-height:1.25}
#itinerary-steps .alt-text{margin:0 0 12px 0;color:color-mix(in srgb, var(--zeef2d-bg) 88%, transparent 12%);font-size:15px;line-height:1.65}
#itinerary-steps .alt-link{display:inline-flex;align-items:center;gap:10px;color:var(--zeef2d-bg);text-decoration:none;font-weight:700;padding:10px 12px;border-radius:var(--zeef2d-radius-sm,10px);border:1px solid rgba(255,255,255,0.35);background:transparent}
#itinerary-steps .alt-link:focus-visible{outline:3px solid color-mix(in srgb, var(--zeef2d-secondary) 70%, white 30%);outline-offset:2px}
#itinerary-steps .alt-link:hover{border-color:rgba(255,255,255,0.6)}
#itinerary-steps ::selection{background:color-mix(in srgb, var(--zeef2d-secondary) 35%, transparent 65%)}
@media (min-width:840px){#itinerary-steps{padding:54px 16px 44px 16px}
#itinerary-steps .section-header{margin-bottom:26px}
#itinerary-steps .steps{grid-template-columns:1fr 1fr;gap:14px}
#itinerary-steps .step{padding:16px 16px}
#itinerary-steps .step:nth-child(1){grid-column:1 / -1}
#itinerary-steps .step:nth-child(4){grid-column:1 / -1}
#itinerary-steps .section-title{font-size:40px}
#itinerary-steps .alt{padding:22px 22px}}
@media (prefers-reduced-motion:reduce){#itinerary-steps *{scroll-behavior:auto;transition:none!important}}
/* zeef2d:itinerary-cycling-and-history */
/* zeef2d:itinerary-cycling-and-history */
#itinerary-cycling-and-history{padding:48px 16px;background:var(--zeef2d-bg);color:var(--zeef2d-text)}
#itinerary-cycling-and-history .container{max-width:1120px;margin:0 auto}
#itinerary-cycling-and-history .section-header{margin-bottom:22px}
#itinerary-cycling-and-history .section-title{font-family:var(--zeef2d-font-display);font-weight:700;font-size:clamp(26px,2.6vw,36px);letter-spacing:-0.02em;line-height:1.12;margin:0 0 10px 0;text-wrap:balance;color:var(--zeef2d-ink)}
#itinerary-cycling-and-history .section-subtitle{margin:0;max-width:66ch;font-size:16px;line-height:1.6;color:var(--zeef2d-slate)}
#itinerary-cycling-and-history .content-columns{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}
#itinerary-cycling-and-history .panel{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--radius-lg,18px);padding:18px 16px}
#itinerary-cycling-and-history .panel-title{margin:0 0 10px 0;font-size:18px;line-height:1.35;color:var(--zeef2d-ink);font-weight:700}
#itinerary-cycling-and-history .bullet-list{list-style:none;margin:0;padding:0}
#itinerary-cycling-and-history .bullet-list li{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-top:1px solid rgba(217,226,230,0.75)}
#itinerary-cycling-and-history .bullet-list li:first-child{border-top:none}
#itinerary-cycling-and-history .bullet-mark{width:18px;flex:0 0 18px;color:var(--zeef2d-secondary);font-weight:900;line-height:1.4}
#itinerary-cycling-and-history .bullet-text{font-size:15px;line-height:1.55;color:var(--zeef2d-text)}
#itinerary-cycling-and-history .cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}
#itinerary-cycling-and-history .primary-link,#itinerary-cycling-and-history .ghost-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:11px 14px;border-radius:var(--radius-md,14px);font-weight:700;text-decoration:none;line-height:1}
#itinerary-cycling-and-history .primary-link{background:var(--zeef2d-primary);color:#fff;border:1px solid var(--zeef2d-primary)}
#itinerary-cycling-and-history .ghost-link{background:transparent;color:var(--zeef2d-primary);border:2px solid var(--zeef2d-border)}
#itinerary-cycling-and-history .primary-link:focus-visible,#itinerary-cycling-and-history .ghost-link:focus-visible{outline:3px solid rgba(217,119,43,0.6);outline-offset:2px}
#itinerary-cycling-and-history .primary-link:active{transform:translateY(1px)}
#itinerary-cycling-and-history .ghost-link:active{transform:translateY(1px)}
#itinerary-cycling-and-history .note{margin-top:18px;background:rgba(217,119,43,0.06);border:1px solid rgba(217,119,43,0.35);border-radius:var(--radius-lg,18px);padding:16px 16px 14px 16px}
#itinerary-cycling-and-history .note-title{margin:0 0 6px 0;font-weight:900;color:var(--zeef2d-ink);font-size:15px}
#itinerary-cycling-and-history .note-text{margin:0;color:var(--zeef2d-text);font-size:15px;line-height:1.6}
::selection{background:rgba(217,119,43,0.25)}
@media (min-width:880px){#itinerary-cycling-and-history .content-columns{grid-template-columns:1fr 1fr;gap:20px}.panel{padding:20px 18px}}
@media (prefers-reduced-motion:reduce){#itinerary-cycling-and-history *{scroll-behavior:auto;transition:none;animation:none}}
/* zeef2d:itinerary-food-and-alternative */
/* zeef2d:itinerary-food-and-alternative */
#itinerary-food-and-alternative{--local-radius:var(--zeef2d-radius-md,14px);padding:32px 0;color:var(--zeef2d-text);background:var(--zeef2d-bg)}
#itinerary-food-and-alternative .container{max-width:1080px;margin:0 auto;padding:0 18px}
#itinerary-food-and-alternative .section-header{margin-bottom:22px}
#itinerary-food-and-alternative .section-title{font-family:var(--zeef2d-font-display);font-size:clamp(22px,2.6vw,34px);line-height:1.12;letter-spacing:-0.02em;margin:0 0 10px;font-weight:800;text-wrap:balance}
#itinerary-food-and-alternative .section-lead{margin:0;font-size:16px;line-height:1.7;color:var(--zeef2d-ink);max-width:70ch}
#itinerary-food-and-alternative .content-grid{display:grid;grid-template-columns:1.3fr 0.9fr;gap:18px;align-items:start}
#itinerary-food-and-alternative .block{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg,18px);box-shadow:0 10px 26px rgba(11,58,83,.06);padding:18px 18px 16px}
#itinerary-food-and-alternative .block.alt{border-color:rgba(217,119,43,.45)}
#itinerary-food-and-alternative .block-title{margin:0 0 10px;font-size:18px;line-height:1.3;font-weight:800;letter-spacing:-0.01em}
#itinerary-food-and-alternative .block-body{display:block}
#itinerary-food-and-alternative .steps-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
#itinerary-food-and-alternative .list-item{display:flex;gap:12px;align-items:flex-start}
#itinerary-food-and-alternative .list-index{width:26px;height:26px;flex:0 0 26px;border-radius:8px;background:rgba(11,58,83,.08);color:var(--zeef2d-primary);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;border:1px solid rgba(11,58,83,.18)}
#itinerary-food-and-alternative .item-title{margin:0 0 4px;font-weight:800;font-size:15px}
#itinerary-food-and-alternative .item-desc{margin:0;color:var(--zeef2d-ink);opacity:1;font-size:14.5px;line-height:1.65}
#itinerary-food-and-alternative .callout{margin-top:14px;padding:12px 12px;border-radius:14px;background:rgba(217,119,43,.08);border:1px solid rgba(217,119,43,.26)}
#itinerary-food-and-alternative .callout-text{margin:0;font-size:14.5px;line-height:1.65}
#itinerary-food-and-alternative .alt-lead{margin:0 0 12px;color:var(--zeef2d-ink);font-size:14.5px;line-height:1.7}
#itinerary-food-and-alternative .alt-steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
#itinerary-food-and-alternative .alt-step{padding:12px 12px;border-radius:14px;background:var(--zeef2d-bg);border:1px solid var(--zeef2d-border)}
#itinerary-food-and-alternative .alt-step-title{margin:0 0 6px;font-weight:800;font-size:15px}
#itinerary-food-and-alternative .alt-step-desc{margin:0;color:var(--zeef2d-ink);font-size:14.5px;line-height:1.65}
#itinerary-food-and-alternative .links-row{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap}
#itinerary-food-and-alternative .link-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--zeef2d-primary);color:var(--zeef2d-bg);text-decoration:none;font-weight:800;border:1px solid rgba(0,0,0,0);min-height:42px}
#itinerary-food-and-alternative .link-button.ghost{background:var(--zeef2d-bg);color:var(--zeef2d-primary);border-color:rgba(11,58,83,.28)}
#itinerary-food-and-alternative .link-button:focus-visible{outline:3px solid rgba(217,119,43,.45);outline-offset:2px}
#itinerary-food-and-alternative .link-button:hover{filter:brightness(1.03)}
#itinerary-food-and-alternative .alt-foot{margin:12px 0 0;color:var(--zeef2d-ink);opacity:1;font-size:13.8px;line-height:1.65}
#itinerary-food-and-alternative .divider{height:1px;background:var(--zeef2d-border);margin:20px 0 14px}
#itinerary-food-and-alternative .mini-facts{padding:0 2px}
#itinerary-food-and-alternative .mini-title{margin:0 0 10px;font-size:16px;font-weight:900;letter-spacing:-0.01em}
#itinerary-food-and-alternative .facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
#itinerary-food-and-alternative .fact{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:16px;padding:12px 12px}
#itinerary-food-and-alternative .fact-label{margin:0 0 6px;font-size:13px;color:var(--zeef2d-slate);font-weight:800;letter-spacing:.02em;text-transform:none}
#itinerary-food-and-alternative .fact-value{margin:0;font-size:14.5px;font-weight:900;color:var(--zeef2d-ink);text-wrap:balance}
#itinerary-food-and-alternative ::selection{background:rgba(217,119,43,.35);color:var(--zeef2d-ink)}
#itinerary-food-and-alternative [aria-label]{text-wrap:balance}
@media (max-width: 920px){#itinerary-food-and-alternative .content-grid{grid-template-columns:1fr;gap:14px}#itinerary-food-and-alternative .facts{grid-template-columns:1fr;gap:10px}}
@media (prefers-reduced-motion: reduce){#itinerary-food-and-alternative *{scroll-behavior:auto}}

/* zeef2d:itinerary-hero */
/* zeef2d:itinerary-hero */
#itinerary-hero{
  --ih-pad: clamp(18px, 3.2vw, 34px);
  --ih-gap: clamp(14px, 2.2vw, 22px);
  background: var(--zeef2d-bg);
  color: var(--zeef2d-text);
  padding: var(--ih-pad) 0;
}
#itinerary-hero .itinerary-hero__container{
  width: min(1160px, calc(100% - 2*var(--ih-pad)));
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: var(--ih-gap);
  align-items: start;
}
#itinerary-hero .itinerary-hero__left{padding: 0 0 6px 0;}
#itinerary-hero .itinerary-hero__kicker{
  margin: 0 0 10px 0;
  font-family: var(--zeef2d-font);
  color: var(--zeef2d-primary);
  font-weight: 700;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  font-size: 0.92rem;
}
#itinerary-hero .itinerary-hero__title{
  margin: 0 0 14px 0;
  font-family: var(--zeef2d-font-display);
  font-size: clamp(1.55rem, 2.55vw, 2.35rem);
  line-height: 1.12;
  letter-spacing: -0.03em;
  text-wrap: balance;
}
#itinerary-hero .itinerary-hero__lede{
  margin: 0 0 18px 0;
  color: var(--zeef2d-text);
  font-family: var(--zeef2d-font);
  font-size: 1.02rem;
  line-height: 1.6;
  max-width: 58ch;
}
#itinerary-hero .itinerary-hero__meta{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0 20px 0;
}
#itinerary-hero .meta-item{
  border: 1px solid var(--zeef2d-border);
  background: var(--zeef2d-surface);
  border-radius: var(--zeef2d-radius-md);
  padding: 14px 14px 13px 14px;
}
#itinerary-hero .meta-item__label{
  font-family: var(--zeef2d-font);
  color: var(--zeef2d-slate);
  font-size: 0.92rem;
  margin-bottom: 6px;
}
#itinerary-hero .meta-item__value{
  font-family: var(--zeef2d-font-display);
  font-weight: 800;
  letter-spacing: -0.02em;
  font-size: 1.1rem;
}
#itinerary-hero .itinerary-hero__actions{display:flex; gap: 12px; flex-wrap: wrap; margin: 18px 0 12px 0;}
#itinerary-hero .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  padding: 12px 16px;
  border-radius: var(--zeef2d-radius-md);
  font-family: var(--zeef2d-font);
  font-weight: 800;
  letter-spacing: -0.01em;
  text-decoration: none;
  border: 1px solid transparent;
  transition: background 140ms ease, border-color 140ms ease, color 140ms ease;
}
#itinerary-hero .btn--primary{
  background: var(--zeef2d-primary);
  color: #fff;
  border-color: var(--zeef2d-primary);
}
#itinerary-hero .btn--secondary{
  background: var(--zeef2d-secondary);
  color: #fff;
  border-color: var(--zeef2d-secondary);
}
#itinerary-hero .btn--ghost{
  background: transparent;
  color: var(--zeef2d-primary);
  border-color: var(--zeef2d-border);
}
#itinerary-hero .btn:focus-visible{outline: 3px solid color-mix(in srgb, var(--zeef2d-accent) 55%, white 45%); outline-offset: 3px;}
#itinerary-hero .btn:hover{filter: saturate(1.02);}
#itinerary-hero .btn--ghost:hover{border-color: color-mix(in srgb, var(--zeef2d-border) 55%, var(--zeef2d-secondary) 45%);}
#itinerary-hero .itinerary-hero__note{
  margin: 10px 0 0 0;
  color: var(--zeef2d-slate);
  font-size: 0.98rem;
  line-height: 1.55;
}
#itinerary-hero .itinerary-hero__right{display:flex; flex-direction: column; gap: var(--ih-gap);}
#itinerary-hero .side-panel{
  border-radius: var(--zeef2d-radius-lg);
  border: 1px solid var(--zeef2d-border);
  background: linear-gradient(180deg, var(--zeef2d-surface), #ffffff);
  padding: 18px;
}
#itinerary-hero .side-panel__title{
  margin: 0 0 12px 0;
  font-family: var(--zeef2d-font-display);
  letter-spacing: -0.02em;
  font-size: 1.25rem;
}
#itinerary-hero .side-panel__list{
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
#itinerary-hero .side-panel__list li{
  display:flex;
  gap: 12px;
  align-items: flex-start;
  padding: 10px 10px;
  border-radius: var(--zeef2d-radius-sm);
  background: rgba(217, 226, 230, 0.35);
  border: 1px solid rgba(217, 226, 230, 0.7);
}
#itinerary-hero .step-num{
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--zeef2d-primary);
  color: #fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 900;
  font-size: 0.95rem;
  flex: 0 0 auto;
}
#itinerary-hero .step-text{
  font-family: var(--zeef2d-font);
  color: var(--zeef2d-text);
  font-size: 0.98rem;
  line-height: 1.35;
}
#itinerary-hero .side-panel__cta{margin-top: 14px;}
#itinerary-hero .itinerary-hero__image{
  border-radius: var(--zeef2d-radius-lg);
  overflow: hidden;
  border: 1px solid var(--zeef2d-border);
  background: var(--zeef2d-surface);
}
#itinerary-hero .itinerary-hero__image img{
  width: 100%;
  height: auto;
  display:block;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}
#itinerary-hero ::selection{background: color-mix(in srgb, var(--zeef2d-secondary) 35%, white 65%);}
@media (max-width: 900px){
  #itinerary-hero .itinerary-hero__container{grid-template-columns: 1fr;}
  #itinerary-hero .itinerary-hero__meta{grid-template-columns: 1fr;}
}
@media (prefers-reduced-motion: reduce){
  #itinerary-hero .btn{transition:none;}
}

/* zeef2d:itinerary-outline */
/* zeef2d:itinerary-outline */
#itinerary-outline{--radius-sm:var(--zeef2d-radius-sm,10px);--radius-md:14px;--radius-lg:18px;--ink:var(--zeef2d-ink);--primary:var(--zeef2d-primary);--secondary:var(--zeef2d-secondary);--slate:var(--zeef2d-slate);--mist:var(--zeef2d-mist);--border:var(--zeef2d-border);--surface:var(--zeef2d-surface);--bg:var(--zeef2d-bg);--text:var(--zeef2d-text);font-family:var(--zeef2d-font);background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:48px 18px 56px;}
#itinerary-outline ::selection{background:rgba(217,119,43,.22);}
#itinerary-outline .container{max-width:980px;margin:0 auto;}
#itinerary-outline .lead{display:flex;flex-direction:column;gap:10px;margin-bottom:22px;}
#itinerary-outline .headline{font-family:var(--zeef2d-font-display, var(--zeef2d-font));font-size:40px;line-height:1.12;letter-spacing:-.02em;margin:0;color:var(--zeef2d-primary);text-wrap:balance;}
#itinerary-outline .subhead{margin:0;max-width:70ch;font-size:16px;line-height:1.7;color:var(--zeef2d-ink);}
#itinerary-outline .outline-grid{display:grid;grid-template-columns:1fr;gap:14px;margin:18px 0 26px;}
#itinerary-outline .outline-item{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--radius-md);padding:16px 16px;display:flex;gap:14px;align-items:flex-start;}
#itinerary-outline .step-mark{width:34px;height:34px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(217,119,43,.14);color:var(--zeef2d-secondary);font-weight:700;flex:0 0 auto;}
#itinerary-outline .outline-title{margin:0 0 6px;font-size:18px;line-height:1.35;color:var(--zeef2d-ink);}
#itinerary-outline .outline-text{margin:0;color:var(--zeef2d-slate);font-size:14.5px;line-height:1.65;}
#itinerary-outline .notice{background:rgba(11,58,83,.035);border:1px solid var(--zeef2d-border);border-radius:var(--radius-lg);padding:18px 16px;display:flex;flex-direction:column;gap:10px;}
#itinerary-outline .notice-title{margin:0;font-size:18px;line-height:1.35;color:var(--zeef2d-primary);}
#itinerary-outline .notice-text{margin:0;color:var(--zeef2d-slate);line-height:1.7;font-size:14.5px;}
#itinerary-outline .notice-link{display:inline-flex;align-items:center;gap:10px;margin-top:6px;color:var(--zeef2d-primary);text-decoration:none;font-weight:700;border-bottom:1px solid rgba(11,58,83,.25);width:max-content;}
#itinerary-outline .notice-link:focus-visible{outline:3px solid rgba(217,119,43,.45);outline-offset:4px;border-radius:8px;}
#itinerary-outline .notice-link:hover{border-bottom-color:rgba(11,58,83,.5);}
@media (min-width:740px){
  #itinerary-outline{padding:64px 20px 74px;}
  #itinerary-outline .headline{font-size:46px;}
  #itinerary-outline .outline-grid{grid-template-columns:1fr 1fr;gap:16px;}
  #itinerary-outline .outline-item{padding:18px 18px;}
}
@media (prefers-reduced-motion:reduce){
  #itinerary-outline *{scroll-behavior:auto;}
}

/* zeef2d:itinerary-steps */
/* zeef2d:itinerary-steps */
#itinerary-steps{--radius-sm:var(--zeef2d-radius-sm,10px);--radius-md:var(--zeef2d-radius-md,14px);--radius-lg:var(--zeef2d-radius-lg,18px);color:var(--zeef2d-text);background:var(--zeef2d-bg);}
#itinerary-steps .itinerary-steps__container{max-width:1120px;margin:0 auto;padding:48px 18px 34px;}
#itinerary-steps .itinerary-steps__header{display:flex;flex-direction:column;gap:10px;margin-bottom:22px;}
#itinerary-steps .itinerary-steps__title{font-family:var(--zeef2d-font-display);font-size:34px;line-height:1.1;letter-spacing:-0.02em;margin:0;color:var(--zeef2d-ink);text-wrap:balance;}
#itinerary-steps .itinerary-steps__lead{margin:0;max-width:72ch;color:var(--zeef2d-slate);font-size:15.5px;line-height:1.65;}
#itinerary-steps .itinerary-steps__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px;}
#itinerary-steps .itinerary-step{position:relative;display:flex;gap:16px;align-items:flex-start;padding:16px 16px 16px 16px;border:1px solid var(--zeef2d-border);background:var(--zeef2d-surface);border-radius:var(--zeef2d-radius-md,14px);}
#itinerary-steps .itinerary-step__num{width:34px;height:34px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--zeef2d-primary);color:var(--zeef2d-bg);font-weight:700;font-family:var(--zeef2d-font-display);}
#itinerary-steps .itinerary-step__body{flex:1;min-width:0;}
#itinerary-steps .itinerary-step__heading{margin:2px 0 6px;font-size:18px;line-height:1.25;color:var(--zeef2d-ink);letter-spacing:-0.01em;}
#itinerary-steps .itinerary-step__text{margin:0;color:var(--zeef2d-slate);font-size:15px;line-height:1.65;}
#itinerary-steps .itinerary-step__meta{margin:10px 0 0;color:var(--zeef2d-ink);font-size:13.5px;line-height:1.5;}
#itinerary-steps .itinerary-step--wide{padding:18px 16px;border-color:var(--zeef2d-border);background:linear-gradient(180deg,var(--zeef2d-surface),#ffffff);}
#itinerary-steps .itinerary-step__accent{display:none;}
#itinerary-steps .itinerary-steps__aside{margin-top:18px;border-radius:var(--zeef2d-radius-lg,18px);border:1px solid var(--zeef2d-border);background:#ffffff;padding:16px 16px;}
#itinerary-steps .itinerary-steps__aside-title{margin:0 0 10px;font-size:16px;letter-spacing:-0.01em;color:var(--zeef2d-ink);}
#itinerary-steps .itinerary-steps__aside-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;}
#itinerary-steps .itinerary-steps__aside-list li{display:flex;gap:10px;align-items:flex-start;color:var(--zeef2d-slate);font-size:14.5px;line-height:1.6;}
#itinerary-steps .itinerary-steps__check{flex:0 0 auto;width:18px;height:18px;border-radius:999px;background:var(--zeef2d-mist);border:1px solid var(--zeef2d-border);display:flex;align-items:center;justify-content:center;color:var(--zeef2d-secondary);font-weight:800;font-size:12px;margin-top:1px;}
#itinerary-steps .itinerary-steps__nav{margin-top:22px;display:flex;flex-wrap:wrap;gap:10px;}
#itinerary-steps .itinerary-steps__link{display:inline-flex;align-items:center;justify-content:center;padding:11px 14px;border-radius:var(--zeef2d-radius-sm,10px);border:1px solid var(--zeef2d-border);background:#ffffff;color:var(--zeef2d-ink);font-size:14.5px;text-decoration:none;}
#itinerary-steps .itinerary-steps__link--secondary{background:var(--zeef2d-surface);border-color:var(--zeef2d-border);}
#itinerary-steps .itinerary-steps__link:focus-visible{outline:3px solid var(--zeef2d-secondary);outline-offset:2px;}
#itinerary-steps .itinerary-steps__link:hover{border-color:rgba(16,42,47,.28);}
#itinerary-steps .itinerary-steps__link--secondary:hover{background:#ffffff;}
#itinerary-steps ::selection{background:rgba(217,119,43,.25);}
@media (min-width:900px){#itinerary-steps .itinerary-steps__container{padding:62px 22px 44px;}#itinerary-steps .itinerary-steps__title{font-size:40px;}#itinerary-steps .itinerary-steps__list{gap:16px;}#itinerary-steps .itinerary-step{padding:18px 18px;}#itinerary-steps .itinerary-step__heading{font-size:19px;}}
@media (prefers-reduced-motion:reduce){#itinerary-steps *{scroll-behavior:auto;transition:none !important;}}

/* zeef2d:itinerary-cycling-and-history */
/* zeef2d:itinerary-cycling-and-history */
#itinerary-cycling-and-history{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:56px 18px;}
#itinerary-cycling-and-history .container{max-width:1060px;margin:0 auto;}
#itinerary-cycling-and-history .section-head{margin-bottom:26px;}
#itinerary-cycling-and-history .title{font-family:var(--zeef2d-font-display);font-size:38px;line-height:1.05;letter-spacing:-0.02em;margin:0 0 10px 0;color:var(--zeef2d-primary);text-wrap:balance;}
#itinerary-cycling-and-history .lead{max-width:72ch;font-size:16px;line-height:1.65;margin:0;color:var(--zeef2d-text);} 
#itinerary-cycling-and-history .content{display:grid;grid-template-columns:1.05fr 0.95fr;gap:18px;align-items:start;}
#itinerary-cycling-and-history .panel{border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg,18px);background:var(--zeef2d-surface);padding:18px 18px 16px 18px;}
#itinerary-cycling-and-history .panel.alt{background:#ffffff;}
#itinerary-cycling-and-history .panel-title{margin:2px 0 12px 0;font-family:var(--zeef2d-font-display);font-size:20px;line-height:1.2;color:var(--zeef2d-primary);} 
#itinerary-cycling-and-history .checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
#itinerary-cycling-and-history .checklist-item{display:flex;gap:10px;align-items:flex-start;}
#itinerary-cycling-and-history .bullet{flex:0 0 auto;width:26px;height:26px;border-radius:999px;background:var(--zeef2d-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;line-height:1;}
#itinerary-cycling-and-history .item-text{font-size:15px;line-height:1.6;color:var(--zeef2d-text);} 
#itinerary-cycling-and-history .steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
#itinerary-cycling-and-history .step{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start;padding:10px 8px;border-radius:var(--zeef2d-radius-md,14px);}
#itinerary-cycling-and-history .step-num{width:34px;height:34px;border-radius:10px;background:rgba(217,119,43,0.16);color:var(--zeef2d-secondary);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;border:1px solid rgba(217,119,43,0.35);} 
#itinerary-cycling-and-history .step-title{margin:2px 0 4px 0;font-size:16px;line-height:1.25;color:var(--zeef2d-primary);}
#itinerary-cycling-and-history .step-text{margin:0;font-size:15px;line-height:1.6;color:var(--zeef2d-text);} 
#itinerary-cycling-and-history .aside{margin-top:18px;border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg,18px);background:var(--zeef2d-surface);padding:18px;}
#itinerary-cycling-and-history .aside-title{margin:0 0 8px 0;font-family:var(--zeef2d-font-display);font-size:20px;color:var(--zeef2d-primary);} 
#itinerary-cycling-and-history .aside-text{margin:0 0 14px 0;max-width:80ch;font-size:15px;line-height:1.7;}
#itinerary-cycling-and-history .link-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--zeef2d-secondary);color:#fff;text-decoration:none;border:1px solid var(--zeef2d-secondary);padding:11px 14px;border-radius:12px;font-weight:800;letter-spacing:0.01em;min-height:42px;}
#itinerary-cycling-and-history .link-button:focus-visible{outline:3px solid rgba(11,58,83,0.35);outline-offset:3px;}
#itinerary-cycling-and-history .ghost-link{display:inline-flex;align-items:center;justify-content:center;margin-left:10px;min-height:42px;padding:11px 14px;border-radius:12px;border:1px solid rgba(11,58,83,0.28);color:var(--zeef2d-primary);background:#fff;text-decoration:none;font-weight:800;}
#itinerary-cycling-and-history .ghost-link:focus-visible{outline:3px solid rgba(217,119,43,0.35);outline-offset:3px;}
#itinerary-cycling-and-history .link-button:hover{background:#c96d1f;border-color:#c96d1f;}
#itinerary-cycling-and-history .ghost-link:hover{border-color:rgba(11,58,83,0.55);}
#itinerary-cycling-and-history ::selection{background:rgba(217,119,43,0.28);}
@media (max-width:900px){#itinerary-cycling-and-history{padding:40px 14px;}#itinerary-cycling-and-history .title{font-size:32px;}#itinerary-cycling-and-history .content{grid-template-columns:1fr;gap:14px;}#itinerary-cycling-and-history .ghost-link{margin-left:0;margin-top:10px;}}
@media (prefers-reduced-motion:reduce){#itinerary-cycling-and-history *{scroll-behavior:auto;transition:none !important;animation:none !important;}}
/* zeef2d:itinerary-food-and-alternative */
#itinerary-food-and-alternative{--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--space-0:0;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;box-sizing:border-box;font-family:var(--zeef2d-font);color:var(--zeef2d-text)}
#itinerary-food-and-alternative *{box-sizing:inherit}
#itinerary-food-and-alternative .container{max-width:1100px;margin:0 auto;padding:var(--space-12) var(--space-4) var(--space-12)}
#itinerary-food-and-alternative .intro{max-width:760px}
#itinerary-food-and-alternative .kicker{display:inline-flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--zeef2d-secondary);font-size:.78rem;margin:0 0 var(--space-2)}
#itinerary-food-and-alternative .title{margin:0 0 var(--space-3);font-family:var(--zeef2d-font-display);font-size:2.05rem;line-height:1.12;letter-spacing:-0.02em;text-wrap:balance}
#itinerary-food-and-alternative .lede{margin:0;color:var(--zeef2d-ink);font-size:1.02rem;line-height:1.65}
#itinerary-food-and-alternative .two-col{margin-top:var(--space-8);display:grid;grid-template-columns:1.15fr .85fr;gap:var(--space-6);align-items:start}
#itinerary-food-and-alternative .panel{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--radius-lg);padding:var(--space-6)}
#itinerary-food-and-alternative .alt-panel{position:relative;overflow:hidden}
#itinerary-food-and-alternative .alt-panel:before{content:"";position:absolute;inset:-2px auto auto -2px;width:260px;height:260px;background:rgba(217,119,43,.12);border-radius:50%;filter:saturate(1.1);pointer-events:none}
#itinerary-food-and-alternative .panel-title{margin:0 0 var(--space-4);font-size:1.25rem;letter-spacing:-0.01em}
#itinerary-food-and-alternative .list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}
#itinerary-food-and-alternative .list-item{display:grid;grid-template-columns:34px 1fr;gap:var(--space-3);align-items:start;padding:var(--space-3);border-radius:var(--radius-md);background:rgba(255,255,255,.6);border:1px solid rgba(217,119,43,.18)}
#itinerary-food-and-alternative .badge{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--zeef2d-secondary);color:#fff;font-weight:800;font-size:.95rem;box-shadow:0 10px 22px rgba(217,119,43,.18)}
#itinerary-food-and-alternative .item-text{display:flex;flex-direction:column;gap:6px}
#itinerary-food-and-alternative .item-text strong{font-weight:850;color:var(--zeef2d-ink)}
#itinerary-food-and-alternative .item-text span{color:var(--zeef2d-ink);opacity:.96;line-height:1.55}
#itinerary-food-and-alternative .alt-lede{margin:0 0 var(--space-4);color:var(--zeef2d-ink);line-height:1.65;font-size:1.0rem}
#itinerary-food-and-alternative .steps{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-3)}
#itinerary-food-and-alternative .step{padding:var(--space-3);border-radius:var(--radius-md);background:rgba(255,255,255,.55);border:1px solid rgba(16,42,47,.10)}
#itinerary-food-and-alternative .step strong{display:block;margin:0 0 6px;font-weight:850}
#itinerary-food-and-alternative .step span{color:var(--zeef2d-ink);line-height:1.55}
#itinerary-food-and-alternative .link-row{display:flex;flex-direction:column;gap:10px;margin-top:var(--space-4)}
#itinerary-food-and-alternative .link{display:inline-flex;align-items:center;gap:10px;color:var(--zeef2d-primary);text-decoration:none;font-weight:800;padding:10px 12px;border-radius:12px;border:1px solid var(--zeef2d-border);background:#fff}
#itinerary-food-and-alternative .link:focus-visible{outline:3px solid rgba(217,119,43,.45);outline-offset:2px}
#itinerary-food-and-alternative .link:hover{background:rgba(217,119,43,.08)}
#itinerary-food-and-alternative .note{margin-top:var(--space-4);display:flex;gap:12px;align-items:flex-start;padding:14px 14px;border-radius:var(--radius-md);background:rgba(217,119,43,.10);border:1px solid rgba(217,119,43,.22)}
#itinerary-food-and-alternative .note-mark{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--zeef2d-secondary);color:#fff;font-weight:900;flex:0 0 auto}
#itinerary-food-and-alternative .note-text{margin:0;color:var(--zeef2d-ink);line-height:1.6}
#itinerary-food-and-alternative ::selection{background:rgba(217,119,43,.35)}
@media (prefers-reduced-motion: reduce){#itinerary-food-and-alternative *{scroll-behavior:auto}}
@media (max-width: 900px){#itinerary-food-and-alternative .container{padding:var(--space-8) var(--space-4)}#itinerary-food-and-alternative .two-col{grid-template-columns:1fr;gap:var(--space-4)}#itinerary-food-and-alternative .title{font-size:1.85rem}}
@media (max-width: 520px){#itinerary-food-and-alternative .panel{padding:16px}#itinerary-food-and-alternative .panel-title{font-size:1.12rem}#itinerary-food-and-alternative .title{font-size:1.65rem}}

/* zeef2d:itinerary-hero */
/* zeef2d:itinerary-hero */
#itinerary-hero{position:relative;overflow:hidden;background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:48px 0 44px;}
#itinerary-hero .itinerary-hero__bg{position:absolute;inset:-120px -120px auto -120px;height:420px;background:linear-gradient(180deg, rgba(217,119,43,0.14), rgba(217,119,43,0) 65%);pointer-events:none;}
#itinerary-hero .itinerary-hero__wrap{position:relative;max-width:1080px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns: 1.25fr 0.75fr;gap:28px;align-items:start;}
#itinerary-hero .itinerary-hero__meta{padding:18px 0;}
#itinerary-hero .itinerary-hero__kicker{margin:0 0 10px;font:600 13px/1.2 var(--zeef2d-font);letter-spacing:0.08em;text-transform:uppercase;color:var(--zeef2d-secondary);}
#itinerary-hero .itinerary-hero__title{margin:0 0 14px;font:700 40px/1.08 var(--zeef2d-font-display);letter-spacing:-0.02em;text-wrap:balance;}
#itinerary-hero .itinerary-hero__facts{display:flex;gap:14px;flex-wrap:wrap;margin:16px 0 14px;padding:0;}
#itinerary-hero .fact{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-md,14px);padding:12px 12px;min-width:170px;}
#itinerary-hero .fact__label{margin:0 0 6px;font:600 12px/1.2 var(--zeef2d-font);color:var(--zeef2d-slate);text-transform:uppercase;letter-spacing:0.04em;}
#itinerary-hero .fact__value{margin:0;font:700 16px/1.25 var(--zeef2d-font);}
#itinerary-hero .itinerary-hero__lead{margin:10px 0 18px;font:400 16px/1.65 var(--zeef2d-font);color:var(--zeef2d-ink);max-width:62ch;}
#itinerary-hero .itinerary-hero__actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:16px 0;}
#itinerary-hero .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:var(--zeef2d-radius-md,14px);font:700 15px/1 var(--zeef2d-font);text-decoration:none;white-space:nowrap;min-height:44px;}
#itinerary-hero .btn:focus-visible{outline:3px solid rgba(217,119,43,0.45);outline-offset:2px;}
#itinerary-hero .btn--primary{background:var(--zeef2d-primary);color:var(--zeef2d-bg);border:1px solid var(--zeef2d-primary);}
#itinerary-hero .btn--primary:hover{filter:brightness(1.03);}
#itinerary-hero .btn--ghost{background:transparent;color:var(--zeef2d-primary);border:1px solid var(--zeef2d-border);}
#itinerary-hero .btn--ghost:hover{border-color:rgba(217,119,43,0.6);}
#itinerary-hero .itinerary-hero__fineprint{display:flex;gap:10px;align-items:flex-start;margin-top:12px;color:var(--zeef2d-slate);font:600 13px/1.6 var(--zeef2d-font);}
#itinerary-hero .bullet{color:var(--zeef2d-secondary);font-weight:900;}
#itinerary-hero .itinerary-hero__side{padding-top:6px;}
#itinerary-hero .side-card{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg,18px);padding:18px 18px 14px;}
#itinerary-hero .side-card__title{margin:0 0 10px;font:800 18px/1.2 var(--zeef2d-font-display);letter-spacing:-0.01em;}
#itinerary-hero .side-list{margin:0;padding:0;list-style:none;display:grid;gap:10px;}
#itinerary-hero .side-list__item{position:relative;padding-left:16px;font:600 14px/1.45 var(--zeef2d-font);color:var(--zeef2d-ink);}
#itinerary-hero .side-list__item::before{content:"";position:absolute;left:0;top:0.6em;width:8px;height:8px;border-radius:50%;background:var(--zeef2d-secondary);}
#itinerary-hero .side-card__cta{margin-top:14px;padding-top:12px;border-top:1px solid var(--zeef2d-border);}
#itinerary-hero .link-cta{display:inline-block;color:var(--zeef2d-primary);text-decoration:underline;text-underline-offset:3px;font:800 15px/1.3 var(--zeef2d-font);}
#itinerary-hero .link-cta:focus-visible{outline:3px solid rgba(217,119,43,0.45);outline-offset:3px;border-radius:10px;}
#itinerary-hero ::selection{background:rgba(217,119,43,0.25);}
@media (max-width: 900px){
  #itinerary-hero .itinerary-hero__wrap{grid-template-columns:1fr;}
  #itinerary-hero .itinerary-hero__title{font-size:34px;}
  #itinerary-hero .fact{min-width:160px;}
}
@media (prefers-reduced-motion: reduce){
  #itinerary-hero *{scroll-behavior:auto;}
  #itinerary-hero .btn--primary:hover,#itinerary-hero .btn--ghost:hover{filter:none;}
}

/* zeef2d:itinerary-outline */
/* zeef2d:itinerary-outline */
#itinerary-outline{--local-pad:clamp(18px,3vw,28px); background:var(--zeef2d-bg); color:var(--zeef2d-text); padding:var(--local-pad) 0;}
#itinerary-outline .io-container{max-width:1040px; margin:0 auto; padding:0 var(--local-pad);}
#itinerary-outline .io-header{padding-bottom:18px; border-bottom:1px solid var(--zeef2d-border); margin-bottom:18px;}
#itinerary-outline .io-kicker{font-family:var(--zeef2d-font-display); font-size:14px; letter-spacing:.08em; text-transform:uppercase; color:var(--zeef2d-secondary); margin:0 0 10px;}
#itinerary-outline .io-title{font-family:var(--zeef2d-font-display); font-size:clamp(22px,2.4vw,34px); line-height:1.12; letter-spacing:-0.02em; margin:0 0 10px; text-wrap:balance;}
#itinerary-outline .io-lead{font-size:16px; line-height:1.7; margin:0; color:var(--zeef2d-text); max-width:72ch;}
#itinerary-outline .io-two-col{display:grid; grid-template-columns:1.2fr .8fr; gap:18px; align-items:start;}
#itinerary-outline .io-box{background:var(--zeef2d-surface); border:1px solid var(--zeef2d-border); border-radius:var(--zeef2d-radius,14px); padding:18px;}
#itinerary-outline .io-box-title{margin:0 0 12px; font-size:16px; font-family:var(--zeef2d-font-display); color:var(--zeef2d-ink); letter-spacing:-0.01em;}
#itinerary-outline .io-steps{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:14px;}
#itinerary-outline .io-step{display:grid; grid-template-columns:38px 1fr; gap:12px; align-items:start;}
#itinerary-outline .io-step-num{width:38px; height:38px; border-radius:999px; background:var(--zeef2d-primary); color:var(--zeef2d-bg); display:flex; align-items:center; justify-content:center; font-weight:700; font-variant-numeric:tabular-nums;}
#itinerary-outline .io-step-title{font-weight:700; margin:0 0 6px; font-size:15px;}
#itinerary-outline .io-step-text{margin:0; color:var(--zeef2d-slate); line-height:1.65; font-size:14.5px;}
#itinerary-outline .io-cta{background:var(--zeef2d-bg); border:1px solid var(--zeef2d-border); border-radius:var(--zeef2d-radius,14px); padding:18px;}
#itinerary-outline .io-cta-title{margin:0 0 10px; font-family:var(--zeef2d-font-display); font-size:16px; letter-spacing:-0.01em;}
#itinerary-outline .io-cta-text{margin:0 0 14px; color:var(--zeef2d-slate); line-height:1.7; font-size:14.5px;}
#itinerary-outline .io-checks{margin:0 0 14px; padding:0; list-style:none; display:flex; flex-direction:column; gap:10px;}
#itinerary-outline .io-check{position:relative; padding-left:18px; color:var(--zeef2d-text); line-height:1.6; font-size:14.5px;}
#itinerary-outline .io-check::before{content:"✓"; position:absolute; left:0; top:0; color:var(--zeef2d-secondary); font-weight:800;}
#itinerary-outline .io-cta-disclaimer{margin:0 0 10px; color:var(--zeef2d-slate); line-height:1.7; font-size:14.5px;}
#itinerary-outline .io-link{color:var(--zeef2d-primary); text-decoration:underline; text-underline-offset:3px;}
#itinerary-outline .io-link:focus-visible{outline:3px solid var(--zeef2d-secondary); outline-offset:3px; border-radius:6px;}
#itinerary-outline .io-smallprint{margin:0; color:var(--zeef2d-slate); line-height:1.7; font-size:13.5px;}
#itinerary-outline ::selection{background:rgba(217,119,43,.25);}
#itinerary-outline *:focus-visible{outline:3px solid var(--zeef2d-secondary); outline-offset:3px; border-radius:8px;}
@media (max-width: 860px){
  #itinerary-outline .io-two-col{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion: reduce){
  #itinerary-outline *{scroll-behavior:auto; transition:none !important;}
}

/* zeef2d:itinerary-steps */
/* zeef2d:itinerary-steps */
#itinerary-steps{--pad-inline:clamp(16px,4vw,28px);padding:clamp(28px,5vw,56px) var(--pad-inline);background:var(--zeef2d-bg);color:var(--zeef2d-text);font-family:var(--zeef2d-font);} 
#itinerary-steps .container{max-width:1040px;margin:0 auto;} 
#itinerary-steps .section-head{margin-bottom:18px;} 
#itinerary-steps .section-title{margin:0 0 8px 0;font-family:var(--zeef2d-font-display);font-size:clamp(26px,3.2vw,40px);line-height:1.06;letter-spacing:-0.02em;text-wrap:balance;} 
#itinerary-steps .section-subtitle{margin:0;max-width:70ch;color:var(--zeef2d-slate);font-size:clamp(14px,1.4vw,16px);line-height:1.6;} 
#itinerary-steps .steps{list-style:none;margin:22px 0 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:14px;} 
#itinerary-steps .step{display:flex;gap:14px;align-items:flex-start;padding:14px 14px;background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--radius-md);} 
#itinerary-steps .step-index{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:color-mix(in srgb,var(--zeef2d-primary) 90%, white 10%);color:var(--zeef2d-bg);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;line-height:1;} 
#itinerary-steps .step-title{margin:1px 0 6px 0;font-size:18px;line-height:1.25;font-weight:800;color:var(--zeef2d-ink);font-family:var(--zeef2d-font-display);} 
#itinerary-steps .step-text{margin:0;color:var(--zeef2d-slate);font-size:14.5px;line-height:1.7;} 
#itinerary-steps .step-actions{margin-top:18px;padding:14px 16px;border-radius:var(--radius-md);border:1px solid var(--zeef2d-border);background:linear-gradient(0deg, color-mix(in srgb,var(--zeef2d-surface) 92%, white 8%), color-mix(in srgb,var(--zeef2d-surface) 92%, white 8%));display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;} 
#itinerary-steps .step-actions-text{margin:0;color:var(--zeef2d-slate);font-size:14.5px;line-height:1.6;max-width:72ch;} 
#itinerary-steps .text-link{color:var(--zeef2d-secondary);text-decoration:none;font-weight:800;border-bottom:2px solid color-mix(in srgb,var(--zeef2d-secondary) 55%, transparent);padding-bottom:2px;} 
#itinerary-steps .text-link:focus-visible{outline:3px solid color-mix(in srgb,var(--zeef2d-secondary) 65%, white 35%);outline-offset:3px;border-bottom-color:color-mix(in srgb,var(--zeef2d-secondary) 90%, transparent);} 
#itinerary-steps .text-link:hover{border-bottom-color:color-mix(in srgb,var(--zeef2d-secondary) 90%, transparent);} 
#itinerary-steps ::selection{background:color-mix(in srgb,var(--zeef2d-secondary) 35%, white 65%);} 
@media (min-width:860px){
  #itinerary-steps .steps{gap:16px;grid-template-columns:1fr;} 
  #itinerary-steps .step{padding:16px 16px;} 
  #itinerary-steps .step-title{font-size:19px;} 
}
@media (prefers-reduced-motion:reduce){
  #itinerary-steps *{scroll-behavior:auto;transition:none !important;}
}

/* zeef2d:itinerary-cycling-and-history */
/* zeef2d:itinerary-cycling-and-history */
#itinerary-cycling-and-history{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:24px 0 30px;}
#itinerary-cycling-and-history .container{max-width:1040px;margin:0 auto;padding:0 18px;}
#itinerary-cycling-and-history .section-header{display:block;margin:0 0 18px;}
#itinerary-cycling-and-history .section-title{font-family:var(--zeef2d-font-display);font-size:34px;line-height:1.08;letter-spacing:-0.02em;margin:0 0 10px;font-weight:800;text-wrap:balance;}
#itinerary-cycling-and-history .section-lead{margin:0;max-width:72ch;font-size:16px;line-height:1.6;color:var(--zeef2d-text);} 
#itinerary-cycling-and-history .content-wrap{display:grid;grid-template-columns:1.35fr 0.85fr;gap:18px;align-items:start;}
#itinerary-cycling-and-history .list-block{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg,18px);padding:16px 16px 10px;}
#itinerary-cycling-and-history .subhead{margin:0 0 12px;font-size:18px;line-height:1.3;font-weight:800;font-family:var(--zeef2d-font-display);} 
#itinerary-cycling-and-history .numbered-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
#itinerary-cycling-and-history .list-item{display:flex;gap:12px;align-items:flex-start;padding:10px 10px;border-radius:14px;border:1px solid rgba(217,119,43,0.22);background:rgba(245,247,248,0.65);} 
#itinerary-cycling-and-history .list-index{flex:0 0 auto;width:30px;height:30px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--zeef2d-primary);color:var(--zeef2d-bg);font-weight:800;font-size:14px;}
#itinerary-cycling-and-history .list-text{font-size:15px;line-height:1.55;color:var(--zeef2d-text);} 

#itinerary-cycling-and-history .history-block{background:var(--zeef2d-bg);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg,18px);padding:16px;}
#itinerary-cycling-and-history .history-intro{margin:0 0 12px;font-size:14.5px;line-height:1.6;color:var(--zeef2d-text);} 
#itinerary-cycling-and-history .history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
#itinerary-cycling-and-history .history-item{display:flex;gap:10px;align-items:flex-start;}
#itinerary-cycling-and-history .history-bullet{color:var(--zeef2d-secondary);font-weight:900;line-height:1.4;}
#itinerary-cycling-and-history .history-text{font-size:14.8px;line-height:1.55;color:var(--zeef2d-text);} 

#itinerary-cycling-and-history .history-cta{display:flex;flex-direction:column;gap:10px;margin-top:14px;}
#itinerary-cycling-and-history .link-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 14px;border-radius:var(--zeef2d-radius-md,14px);background:var(--zeef2d-secondary);color:var(--zeef2d-bg);text-decoration:none;font-weight:800;border:1px solid rgba(0,0,0,0);}
#itinerary-cycling-and-history .link-button:focus-visible{outline:3px solid rgba(217,119,43,0.35);outline-offset:2px;}
#itinerary-cycling-and-history .ghost-link{display:inline-flex;align-items:center;justify-content:center;padding:12px 14px;border-radius:var(--zeef2d-radius-md,14px);background:var(--zeef2d-bg);color:var(--zeef2d-primary);text-decoration:none;font-weight:800;border:1px solid var(--zeef2d-border);} 
#itinerary-cycling-and-history .ghost-link:focus-visible{outline:3px solid rgba(11,58,83,0.25);outline-offset:2px;}
#itinerary-cycling-and-history .ghost-link:hover{border-color:rgba(217,119,43,0.65);} 

#itinerary-cycling-and-history .side-note{margin-top:16px;display:flex;gap:12px;align-items:flex-start;padding:14px 14px;border-radius:var(--zeef2d-radius-lg,18px);background:rgba(217,119,43,0.10);border:1px solid rgba(217,119,43,0.25);} 
#itinerary-cycling-and-history .side-note-mark{flex:0 0 auto;width:32px;height:32px;border-radius:10px;background:var(--zeef2d-primary);color:var(--zeef2d-bg);display:flex;align-items:center;justify-content:center;font-weight:900;}
#itinerary-cycling-and-history .side-note-text{margin:0;font-size:14.8px;line-height:1.6;color:var(--zeef2d-text);} 

#itinerary-cycling-and-history ::selection{background:rgba(217,119,43,0.25);}
@media (prefers-reduced-motion: reduce){#itinerary-cycling-and-history *{scroll-behavior:auto;}}
@media (max-width: 900px){#itinerary-cycling-and-history .content-wrap{grid-template-columns:1fr;}}
@media (max-width: 480px){#itinerary-cycling-and-history .section-title{font-size:28px;}#itinerary-cycling-and-history .list-item{padding:10px 8px;}#itinerary-cycling-and-history .container{padding:0 14px;}}

/* zeef2d:itinerary-food-and-alternative */
/* zeef2d:itinerary-food-and-alternative */
#itinerary-food-and-alternative{--s:8px; background:var(--zeef2d-bg); color:var(--zeef2d-text); padding:40px 0;}
#itinerary-food-and-alternative .container{max-width:1080px; margin:0 auto; padding:0 20px;}
#itinerary-food-and-alternative .section-head{margin-bottom:26px;}
#itinerary-food-and-alternative .kicker{display:inline-block; color:var(--zeef2d-primary); font-family:var(--zeef2d-font); font-weight:700; letter-spacing:.02em; text-transform:none; font-size:14px; margin-bottom:10px;}
#itinerary-food-and-alternative .title{margin:0; font-family:var(--zeef2d-font-display); color:var(--zeef2d-ink); font-weight:800; letter-spacing:-0.02em; line-height:1.15; text-wrap:balance; font-size:34px;}
#itinerary-food-and-alternative .lead{margin:12px 0 0; max-width:68ch; color:var(--zeef2d-text); opacity:0.92; font-family:var(--zeef2d-font); font-size:16px; line-height:1.65;}
#itinerary-food-and-alternative .content{display:grid; grid-template-columns: 1.6fr 1fr; gap:22px; align-items:start;}
#itinerary-food-and-alternative .panel{background:var(--zeef2d-surface); border:1px solid var(--zeef2d-border); border-radius:var(--radius-lg); padding:22px;}
#itinerary-food-and-alternative .panel-title{margin:0 0 14px; font-size:18px; font-weight:800; color:var(--zeef2d-primary); font-family:var(--zeef2d-font-display); letter-spacing:-0.01em;}
#itinerary-food-and-alternative .steps{margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:14px;}
#itinerary-food-and-alternative .step{display:flex; gap:14px; padding:14px; background:var(--zeef2d-bg); border:1px solid var(--zeef2d-border); border-radius:var(--radius-md);}
#itinerary-food-and-alternative .step-num{width:32px; height:32px; border-radius:999px; background:var(--zeef2d-primary); color:var(--zeef2d-bg); display:flex; align-items:center; justify-content:center; font-weight:900; font-family:var(--zeef2d-font-display); flex:0 0 auto;}
#itinerary-food-and-alternative .step-title{margin:0; font-weight:900; font-family:var(--zeef2d-font-display); color:var(--zeef2d-ink); font-size:15px;}
#itinerary-food-and-alternative .step-text{margin:6px 0 0; color:var(--zeef2d-text); opacity:.92; font-size:14.5px; line-height:1.6; font-family:var(--zeef2d-font);}
#itinerary-food-and-alternative .aside{padding-top:4px;}
#itinerary-food-and-alternative .aside-card{background:linear-gradient(180deg, var(--zeef2d-surface), var(--zeef2d-bg)); border:1px solid var(--zeef2d-border); border-radius:var(--radius-lg); padding:20px;}
#itinerary-food-and-alternative .aside-title{margin:0 0 10px; font-size:18px; font-weight:900; color:var(--zeef2d-primary); font-family:var(--zeef2d-font-display);}
#itinerary-food-and-alternative .aside-text{margin:0 0 14px; font-size:14.5px; line-height:1.65; font-family:var(--zeef2d-font); opacity:.95;}
#itinerary-food-and-alternative .aside-list{margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:10px;}
#itinerary-food-and-alternative .aside-item{display:flex; gap:10px; align-items:flex-start;}
#itinerary-food-and-alternative .bullet{color:var(--zeef2d-accent); font-size:18px; line-height:1; margin-top:1px;}
#itinerary-food-and-alternative .aside-item-text{font-family:var(--zeef2d-font); font-size:14.5px; line-height:1.55; opacity:.95;}
#itinerary-food-and-alternative .aside-cta{margin-top:16px; display:flex; flex-direction:column; gap:10px;}
#itinerary-food-and-alternative .button{display:inline-flex; align-items:center; justify-content:center; padding:12px 14px; border-radius:var(--radius-md); font-family:var(--zeef2d-font-display); font-weight:900; font-size:15px; text-decoration:none; border:1px solid transparent;}
#itinerary-food-and-alternative .button-primary{background:var(--zeef2d-primary); color:var(--zeef2d-bg); border-color:var(--zeef2d-primary);}
#itinerary-food-and-alternative .button-outline{background:var(--zeef2d-bg); color:var(--zeef2d-primary); border-color:var(--zeef2d-border);}
#itinerary-food-and-alternative .button-primary:hover{filter:brightness(1.03);} 
#itinerary-food-and-alternative .button-outline:hover{border-color:var(--zeef2d-primary); color:var(--zeef2d-primary);} 
#itinerary-food-and-alternative .button:focus-visible{outline:3px solid var(--zeef2d-accent); outline-offset:2px;}
#itinerary-food-and-alternative .note{margin-top:22px; background:var(--zeef2d-surface); border:1px solid var(--zeef2d-border); border-radius:var(--radius-lg); padding:16px; display:flex; gap:14px; align-items:flex-start;}
#itinerary-food-and-alternative .note-mark{width:30px; height:30px; border-radius:999px; background:var(--zeef2d-secondary); color:var(--zeef2d-bg); display:flex; align-items:center; justify-content:center; font-weight:900; font-family:var(--zeef2d-font-display); flex:0 0 auto;}
#itinerary-food-and-alternative .note-title{margin:0; font-weight:1000; font-family:var(--zeef2d-font-display); color:var(--zeef2d-primary);}
#itinerary-food-and-alternative .note-text{margin:6px 0 0; font-family:var(--zeef2d-font); font-size:14.5px; line-height:1.6; opacity:.95;}
#itinerary-food-and-alternative ::selection{background:rgba(217,119,43,.25);}
@media (max-width: 880px){#itinerary-food-and-alternative .title{font-size:28px;}#itinerary-food-and-alternative .content{grid-template-columns:1fr; gap:14px;}}
@media (prefers-reduced-motion: reduce){#itinerary-food-and-alternative *{scroll-behavior:auto; transition:none !important; animation:none !important;}}

/* zeef2d:itinerary-hero */
/* zeef2d:itinerary-hero */
#itinerary-hero{--pad-inline:clamp(16px,4vw,28px);--pad-block:clamp(20px,4vw,36px);background:var(--zeef2d-bg);color:var(--zeef2d-text);font-family:var(--zeef2d-font);}
#itinerary-hero *{box-sizing:border-box;}
#itinerary-hero .itinerary-hero__container{max-width:1160px;margin:0 auto;padding:var(--pad-block) var(--pad-inline);display:grid;grid-template-columns:1.35fr .9fr;gap:22px;align-items:start;}
#itinerary-hero .itinerary-hero__left{min-width:0;}
#itinerary-hero .itinerary-hero__kicker{display:inline-block;padding:8px 12px;border:1px solid var(--zeef2d-border);border-radius:999px;background:var(--zeef2d-surface);color:var(--zeef2d-primary);font-size:13px;letter-spacing:.2px;}
#itinerary-hero .itinerary-hero__title{margin:14px 0 10px;font-family:var(--zeef2d-font-display);font-size:clamp(26px,3.2vw,44px);line-height:1.08;letter-spacing:-.3px;text-wrap:balance;}
#itinerary-hero .itinerary-hero__lead{margin:0 0 18px;font-size:16px;line-height:1.65;color:var(--zeef2d-text);max-width:62ch;}
#itinerary-hero .itinerary-hero__meta{margin:18px 0 18px;padding:16px;border:1px solid var(--zeef2d-border);border-radius:var(--radius-lg);background:rgba(245,247,248,.75);}
#itinerary-hero .meta-list{margin:0;display:grid;gap:10px;}
#itinerary-hero .meta-row{display:flex;gap:12px;align-items:baseline;justify-content:space-between;border-bottom:1px dashed rgba(16,42,47,.18);padding-bottom:10px;}
#itinerary-hero .meta-row:last-child{border-bottom:none;padding-bottom:0;}
#itinerary-hero .meta-label{color:var(--zeef2d-slate);font-size:13px;}
#itinerary-hero .meta-value{color:var(--zeef2d-ink);font-size:15px;font-variant-numeric:tabular-nums;font-weight:650;}
#itinerary-hero .itinerary-hero__cta-row{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0 14px;}
#itinerary-hero .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:12px 16px;font-size:15px;text-decoration:none;line-height:1;white-space:nowrap;}
#itinerary-hero .btn--primary{background:var(--zeef2d-primary);color:var(--zeef2d-bg);border:1px solid var(--zeef2d-primary);box-shadow:0 10px 24px rgba(11,58,83,.14);}
#itinerary-hero .btn--secondary{background:var(--zeef2d-surface);color:var(--zeef2d-primary);border:1px solid rgba(11,58,83,.35);}
#itinerary-hero .btn:focus-visible{outline:3px solid rgba(217,119,43,.45);outline-offset:2px;}
#itinerary-hero .btn:hover{transform:translateY(-1px);}
@media (prefers-reduced-motion:reduce){#itinerary-hero .btn:hover{transform:none;}}
#itinerary-hero .itinerary-hero__note{display:flex;gap:10px;align-items:flex-start;margin-top:14px;}
#itinerary-hero .itinerary-hero__note-dot{width:10px;height:10px;border-radius:50%;background:var(--zeef2d-secondary);margin-top:7px;box-shadow:0 0 0 6px rgba(217,119,43,.14);}
#itinerary-hero .itinerary-hero__note-text{margin:0;color:var(--zeef2d-slate);line-height:1.6;font-size:14px;}

#itinerary-hero .itinerary-hero__right{min-width:0;display:flex;flex-direction:column;gap:14px;}
#itinerary-hero .side-panel{border:1px solid var(--zeef2d-border);background:var(--zeef2d-surface);border-radius:var(--radius-lg);padding:16px;}
#itinerary-hero .side-panel__title{font-family:var(--zeef2d-font-display);font-size:18px;color:var(--zeef2d-ink);margin-bottom:10px;letter-spacing:-.1px;}
#itinerary-hero .side-panel__list{margin:0;padding:0;list-style:none;display:grid;gap:10px;}
#itinerary-hero .side-panel__link{color:var(--zeef2d-primary);text-decoration:none;border-bottom:1px solid rgba(11,58,83,.22);padding-bottom:6px;display:inline-block;font-weight:650;}
#itinerary-hero .side-panel__link:focus-visible{outline:3px solid rgba(217,119,43,.45);outline-offset:3px;border-radius:6px;}
#itinerary-hero .side-panel__link:hover{border-bottom-color:rgba(11,58,83,.55);}
#itinerary-hero .side-panel__divider{height:1px;background:rgba(16,42,47,.12);margin:14px 0;}
#itinerary-hero .side-panel__help{margin:0;color:var(--zeef2d-slate);line-height:1.6;font-size:14px;}

#itinerary-hero .hero-card{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--zeef2d-border);background:linear-gradient(0deg, rgba(217,119,43,.12), rgba(217,119,43,.02)), var(--zeef2d-bg);}
#itinerary-hero .hero-card__frame{padding:16px;min-height:132px;display:flex;flex-direction:column;gap:10px;}
#itinerary-hero .hero-card__monogram{width:44px;height:44px;border-radius:14px;background:rgba(11,58,83,.08);color:var(--zeef2d-primary);display:flex;align-items:center;justify-content:center;font-family:var(--zeef2d-font-display);font-size:22px;font-weight:800;}
#itinerary-hero .hero-card__caption{color:var(--zeef2d-slate);font-size:14px;line-height:1.6;max-width:28ch;}

#itinerary-hero .itinerary-hero__bottom{padding:0 var(--pad-inline) clamp(18px,3vw,28px);}
#itinerary-hero .bottom-band{max-width:1160px;margin:0 auto;border:1px solid var(--zeef2d-border);background:rgba(217,119,43,.07);border-radius:var(--radius-lg);padding:16px;display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;}
#itinerary-hero .bottom-band__text{margin:0;color:var(--zeef2d-ink);line-height:1.6;font-size:14.5px;}
#itinerary-hero .bottom-band__strong{font-weight:850;}
#itinerary-hero .bottom-band__link{color:var(--zeef2d-primary);font-weight:800;text-decoration:none;border-bottom:2px solid rgba(11,58,83,.25);padding-bottom:4px;}
#itinerary-hero .bottom-band__link:focus-visible{outline:3px solid rgba(217,119,43,.45);outline-offset:3px;border-radius:6px;}
#itinerary-hero .bottom-band__link:hover{border-bottom-color:rgba(11,58,83,.6);}

@media (max-width: 900px){
  #itinerary-hero .itinerary-hero__container{grid-template-columns:1fr;}
  #itinerary-hero .meta-row{gap:10px;}
}
#itinerary-hero ::selection{background:rgba(217,119,43,.28);}

/* zeef2d:itinerary-outline */
/* zeef2d:itinerary-outline */
#itinerary-outline{--section-primary:var(--zeef2d-primary);--section-accent:var(--zeef2d-accent);--section-ink:var(--zeef2d-ink);--section-slate:var(--zeef2d-slate);--section-mist:var(--zeef2d-mist);--section-border:var(--zeef2d-border);--section-surface:var(--zeef2d-surface);--section-bg:var(--zeef2d-bg);color:var(--zeef2d-text);background:var(--zeef2d-bg);padding:48px 0;}
#itinerary-outline .container{max-width:1080px;margin:0 auto;padding:0 18px;}
#itinerary-outline .title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;}
#itinerary-outline .section-title{margin:0;font-family:var(--zeef2d-font-display);letter-spacing:-0.02em;line-height:1.12;font-size:34px;text-wrap:balance;color:var(--zeef2d-ink);}
#itinerary-outline .section-meta{margin:0;color:var(--zeef2d-slate);font-family:var(--zeef2d-font);font-size:14px;}
#itinerary-outline .content-grid{display:grid;grid-template-columns:1.35fr 0.85fr;gap:22px;align-items:start;margin-top:22px;}
#itinerary-outline .outline-block{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg,18px);padding:18px 18px 16px;}
#itinerary-outline .block-title{margin:0 0 10px;font-size:18px;letter-spacing:-0.01em;color:var(--zeef2d-ink);font-family:var(--zeef2d-font-display);}
#itinerary-outline .outline-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
#itinerary-outline .outline-item{display:flex;gap:12px;align-items:flex-start;}
#itinerary-outline .outline-number{width:30px;flex:0 0 30px;height:30px;border-radius:999px;background:color-mix(in srgb,var(--zeef2d-accent) 18%, var(--zeef2d-surface));border:1px solid color-mix(in srgb,var(--zeef2d-accent) 35%, var(--zeef2d-border));display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:var(--zeef2d-accent);font-family:var(--zeef2d-font-display);}
#itinerary-outline .outline-text strong{display:block;color:var(--zeef2d-ink);font-size:15px;margin-top:1px;font-family:var(--zeef2d-font-display);}
#itinerary-outline .outline-sub{display:block;margin-top:4px;color:var(--zeef2d-slate);font-size:14px;line-height:1.5;}
#itinerary-outline .disclaimer-block{background:var(--zeef2d-bg);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg,18px);padding:18px;box-shadow:0 10px 24px color-mix(in srgb,var(--zeef2d-primary) 10%, transparent);}
#itinerary-outline .disclaimer-top{padding-bottom:10px;border-bottom:1px solid var(--zeef2d-border);}
#itinerary-outline .disclaimer-lead{margin:6px 0 0;color:var(--zeef2d-slate);font-size:14px;line-height:1.55;}
#itinerary-outline .disclaimer-body{padding-top:12px;}
#itinerary-outline .disclaimer-text{margin:0 0 12px;color:var(--zeef2d-ink);font-size:14px;line-height:1.6;}
#itinerary-outline .checklist{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;}
#itinerary-outline .checklist-item{position:relative;padding-left:16px;color:var(--zeef2d-slate);font-size:14px;line-height:1.55;}
#itinerary-outline .checklist-item:before{content:"";position:absolute;left:0;top:0.72em;width:8px;height:8px;border-radius:2px;background:color-mix(in srgb,var(--zeef2d-accent) 60%, transparent);border:1px solid color-mix(in srgb,var(--zeef2d-accent) 70%, var(--zeef2d-border));}
#itinerary-outline .ghost-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-top:14px;padding:12px 14px;border-radius:var(--zeef2d-radius-md,14px);border:2px solid color-mix(in srgb,var(--zeef2d-primary) 55%, var(--zeef2d-border));color:var(--zeef2d-primary);text-decoration:none;font-weight:700;font-family:var(--zeef2d-font-display);font-size:14px;}
#itinerary-outline .ghost-button:focus-visible{outline:3px solid color-mix(in srgb,var(--zeef2d-secondary) 40%, transparent);outline-offset:3px;}
#itinerary-outline .ghost-button:hover{border-color:var(--zeef2d-primary);background:color-mix(in srgb,var(--zeef2d-primary) 7%, var(--zeef2d-bg));}
#itinerary-outline ::selection{background:color-mix(in srgb,var(--zeef2d-accent) 30%, var(--zeef2d-surface));}
@media (max-width: 900px){#itinerary-outline .content-grid{grid-template-columns:1fr;}}
@media (prefers-reduced-motion: reduce){#itinerary-outline *{scroll-behavior:auto;transition:none !important;animation:none !important;}}
/* zeef2d:itinerary-steps */
/* zeef2d:itinerary-steps */
#itinerary-steps.itinerary-steps{--radius:var(--zeef2d-radius-md,14px);background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:44px 20px 36px;}
#itinerary-steps .section-head{max-width:980px;margin:0 auto 22px;}
#itinerary-steps .section-title{font-family:var(--zeef2d-font-display);letter-spacing:-0.02em;margin:0 0 8px;font-size:clamp(26px,3.2vw,38px);line-height:1.08;color:var(--zeef2d-ink);font-weight:800;text-wrap:balance;}
#itinerary-steps .section-lead{margin:0;max-width:70ch;font-size:16px;line-height:1.6;color:var(--zeef2d-slate);}
#itinerary-steps .steps{list-style:none;padding:0;margin:22px auto 0;max-width:980px;display:grid;grid-template-columns:1fr;gap:14px;}
#itinerary-steps .step{display:flex;gap:14px;align-items:flex-start;padding:16px 16px;border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg,18px);background:var(--zeef2d-surface);}
#itinerary-steps .step-badge{flex:0 0 auto;width:34px;height:34px;border-radius:12px;background:var(--zeef2d-primary);color:var(--zeef2d-bg);display:flex;align-items:center;justify-content:center;font-weight:800;letter-spacing:-0.02em;font-variant-numeric:tabular-nums;}
#itinerary-steps .step-title{margin:0 0 6px;font-family:var(--zeef2d-font);font-size:18px;line-height:1.25;color:var(--zeef2d-ink);font-weight:800;}
#itinerary-steps .step-text{margin:0;font-size:15px;line-height:1.6;color:var(--zeef2d-slate);}
#itinerary-steps .outro{max-width:980px;margin:18px auto 0;padding-top:18px;border-top:1px solid var(--zeef2d-border);display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;}
#itinerary-steps .outro-text{margin:0;color:var(--zeef2d-slate);font-size:15px;line-height:1.6;max-width:62ch;}
#itinerary-steps .outro-links{display:flex;gap:12px;flex-wrap:wrap;}
#itinerary-steps .link{display:inline-flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--zeef2d-radius-sm,10px);border:1px solid var(--zeef2d-border);background:var(--zeef2d-bg);color:var(--zeef2d-ink);text-decoration:none;font-weight:800;font-size:14px;}
#itinerary-steps .link:focus-visible{outline:3px solid color-mix(in srgb, var(--zeef2d-secondary) 55%, white 45%);outline-offset:2px;}
#itinerary-steps .link:hover{border-color:color-mix(in srgb, var(--zeef2d-secondary) 55%, var(--zeef2d-border) 45%);}
#itinerary-steps ::selection{background:color-mix(in srgb, var(--zeef2d-secondary) 30%, white 70%);}
@media (min-width: 880px){
  #itinerary-steps{padding-top:56px;}
  #itinerary-steps .steps{gap:16px;}
  #itinerary-steps .step{padding:18px 18px;}
}
@media (prefers-reduced-motion: reduce){
  #itinerary-steps .link{transition:none;}
}

/* zeef2d:itinerary-cycling-and-history */
/* zeef2d:itinerary-cycling-and-history */
#itinerary-cycling-and-history{--ich-primary:var(--zeef2d-primary);--ich-ink:var(--zeef2d-ink);--ich-slate:var(--zeef2d-slate);--ich-mist:var(--zeef2d-mist);--ich-border:var(--zeef2d-border);--ich-surface:var(--zeef2d-surface);--ich-bg:var(--zeef2d-bg);--ich-accent:var(--zeef2d-accent);color:var(--zeef2d-text);background:var(--zeef2d-bg);padding:48px 20px;}
#itinerary-cycling-and-history .ich-container{max-width:1120px;margin:0 auto;}
#itinerary-cycling-and-history .ich-header{margin-bottom:22px;}
#itinerary-cycling-and-history .ich-title{font-family:var(--zeef2d-font-display);font-size:36px;line-height:1.1;letter-spacing:-0.02em;margin:0 0 10px 0;color:var(--zeef2d-ink);text-wrap:balance;}
#itinerary-cycling-and-history .ich-lead{margin:0;max-width:72ch;color:var(--zeef2d-slate);font-size:16px;line-height:1.6;}
#itinerary-cycling-and-history .ich-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:18px;align-items:start;}
#itinerary-cycling-and-history .ich-card{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg,18px);padding:18px 18px;box-shadow:0 10px 24px rgba(16,42,47,.06);}
#itinerary-cycling-and-history .ich-card-title{margin:0 0 12px 0;font-size:18px;letter-spacing:-0.01em;color:var(--zeef2d-ink);font-weight:700;}
#itinerary-cycling-and-history .ich-list{margin:0;padding:0;list-style:none;}
#itinerary-cycling-and-history .ich-item{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid rgba(217,226,230,.65);}
#itinerary-cycling-and-history .ich-item:first-child{border-top:none;padding-top:0;}
#itinerary-cycling-and-history .ich-bullet{flex:0 0 auto;min-width:26px;height:26px;border-radius:999px;background:rgba(217,119,43,.12);color:var(--zeef2d-accent);display:flex;align-items:center;justify-content:center;font-weight:800;}
#itinerary-cycling-and-history .ich-item-text{color:var(--zeef2d-ink);font-size:15px;line-height:1.55;}
#itinerary-cycling-and-history .ich-steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;}
#itinerary-cycling-and-history .ich-step{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start;padding:12px;border-radius:var(--zeef2d-radius-md,14px);background:rgba(217,226,230,.45);border:1px solid rgba(217,226,230,.65);}
#itinerary-cycling-and-history .ich-step-num{width:44px;height:44px;border-radius:999px;background:rgba(11,58,83,.08);border:1px solid rgba(11,58,83,.14);display:flex;align-items:center;justify-content:center;font-weight:900;color:var(--zeef2d-primary);font-size:14px;}
#itinerary-cycling-and-history .ich-step-title{margin:2px 0 6px 0;font-size:16px;letter-spacing:-0.01em;color:var(--zeef2d-ink);}
#itinerary-cycling-and-history .ich-step-text{margin:0;color:var(--zeef2d-slate);font-size:14px;line-height:1.55;}
#itinerary-cycling-and-history .ich-link{display:inline-block;margin-top:12px;color:var(--zeef2d-primary);text-decoration:underline;text-decoration-color:rgba(11,58,83,.35);text-underline-offset:3px;font-weight:700;font-size:14.5px;}
#itinerary-cycling-and-history .ich-link:focus-visible{outline:3px solid rgba(217,119,43,.45);outline-offset:3px;border-radius:10px;}
#itinerary-cycling-and-history .ich-link--secondary{color:var(--zeef2d-accent);text-decoration-color:rgba(217,119,43,.45);}
#itinerary-cycling-and-history .ich-callout{margin-top:18px;display:flex;gap:14px;align-items:flex-start;padding:16px;border-radius:var(--zeef2d-radius-lg,18px);border:1px solid rgba(11,58,83,.18);background:linear-gradient(180deg, rgba(245,247,248,1) 0%, rgba(217,226,230,.35) 100%);}
#itinerary-cycling-and-history .ich-callout-mark{flex:0 0 auto;width:38px;height:38px;border-radius:12px;background:rgba(217,119,43,.14);display:flex;align-items:center;justify-content:center;color:var(--zeef2d-accent);font-size:18px;}
#itinerary-cycling-and-history .ich-callout-title{margin:0 0 6px 0;font-weight:800;color:var(--zeef2d-ink);font-size:15.5px;letter-spacing:-0.01em;}
#itinerary-cycling-and-history .ich-callout-text{margin:0;color:var(--zeef2d-slate);font-size:14.5px;line-height:1.6;}
#itinerary-cycling-and-history ::selection{background:rgba(217,119,43,.22);color:var(--zeef2d-ink);}
#itinerary-cycling-and-history a{transition:color .15s ease, text-decoration-color .15s ease;}
@media (max-width: 920px){
  #itinerary-cycling-and-history .ich-grid{grid-template-columns:1fr;}
  #itinerary-cycling-and-history .ich-title{font-size:32px;}
}
@media (prefers-reduced-motion: reduce){
  #itinerary-cycling-and-history a{transition:none;}
}

/* zeef2d:itinerary-food-and-alternative */
/* zeef2d:itinerary-food-and-alternative */
#itinerary-food-and-alternative{--radius-sm:var(--zeef2d-radius-sm,10px);--radius-md:var(--zeef2d-radius-md,14px);--radius-lg:var(--zeef2d-radius-lg,18px);font-family:var(--zeef2d-font);} 
#itinerary-food-and-alternative .container{max-width:1100px;margin:0 auto;padding:48px 18px 54px;} 
#itinerary-food-and-alternative .section-header{margin-bottom:26px;} 
#itinerary-food-and-alternative .kicker{margin:0 0 10px;color:var(--zeef2d-secondary);font-weight:700;letter-spacing:.04em;text-transform:none;font-size:14px;} 
#itinerary-food-and-alternative .title{margin:0;font-family:var(--zeef2d-font-display, var(--zeef2d-font));font-size:34px;line-height:1.12;letter-spacing:-0.02em;text-wrap:balance;color:var(--zeef2d-ink);font-weight:800;} 
#itinerary-food-and-alternative .lead{margin:14px 0 0;max-width:62ch;color:var(--zeef2d-slate);font-size:16px;line-height:1.7;} 
#itinerary-food-and-alternative .content-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:22px;align-items:start;} 
#itinerary-food-and-alternative .panel{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg,18px);padding:20px 18px;} 
#itinerary-food-and-alternative .side-panel{background:var(--zeef2d-bg);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg,18px);padding:20px 18px;position:relative;overflow:hidden;} 
#itinerary-food-and-alternative .panel-title{margin:0 0 12px;font-size:18px;line-height:1.3;color:var(--zeef2d-ink);font-weight:800;} 
#itinerary-food-and-alternative .timeline{margin:0;padding:0;list-style:none;} 
#itinerary-food-and-alternative .timeline-item{display:flex;gap:12px;padding:14px 10px;border-radius:14px;} 
#itinerary-food-and-alternative .timeline-item:nth-child(2){background:rgba(217,119,43,.06);} 
#itinerary-food-and-alternative .step-badge{flex:0 0 34px;width:34px;height:34px;border-radius:12px;background:var(--zeef2d-primary);color:var(--zeef2d-bg);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;} 
#itinerary-food-and-alternative .timeline-body{min-width:0;} 
#itinerary-food-and-alternative .timeline-title{margin:2px 0 6px;font-size:16px;color:var(--zeef2d-ink);font-weight:800;} 
#itinerary-food-and-alternative .timeline-text{margin:0;color:var(--zeef2d-slate);font-size:14.5px;line-height:1.65;} 
#itinerary-food-and-alternative .side-text{margin:0 0 12px;color:var(--zeef2d-slate);font-size:14.8px;line-height:1.7;} 
#itinerary-food-and-alternative .alt-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;} 
#itinerary-food-and-alternative .alt-item{display:flex;gap:10px;align-items:flex-start;color:var(--zeef2d-slate);font-size:14.8px;line-height:1.65;} 
#itinerary-food-and-alternative .dot{color:var(--zeef2d-secondary);font-weight:900;font-size:18px;line-height:1;} 
#itinerary-food-and-alternative .cta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;} 
#itinerary-food-and-alternative .button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 14px;border-radius:14px;font-weight:800;text-decoration:none;font-size:14.5px;line-height:1;letter-spacing:.01em;transition:background-color .2s ease,border-color .2s ease,color .2s ease;}
#itinerary-food-and-alternative .button.primary{background:var(--zeef2d-primary);color:var(--zeef2d-bg);border:1px solid var(--zeef2d-primary);} 
#itinerary-food-and-alternative .button.primary:hover{background:var(--zeef2d-secondary);border-color:var(--zeef2d-secondary);} 
#itinerary-food-and-alternative .button.ghost{background:transparent;color:var(--zeef2d-primary);border:1px solid var(--zeef2d-border);} 
#itinerary-food-and-alternative .button.ghost:hover{background:rgba(217,119,43,.08);border-color:rgba(217,119,43,.55);} 
#itinerary-food-and-alternative .button:focus-visible{outline:3px solid rgba(217,119,43,.45);outline-offset:2px;} 
#itinerary-food-and-alternative .note{margin-top:14px;padding:12px 12px;border-radius:14px;background:rgba(16,42,47,.04);border:1px solid rgba(217,119,43,.25);} 
#itinerary-food-and-alternative .note p{margin:0;color:var(--zeef2d-ink);font-size:14.5px;line-height:1.6;} 
#itinerary-food-and-alternative .link-strip{margin-top:26px;border-top:1px solid var(--zeef2d-border);padding-top:18px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;} 
#itinerary-food-and-alternative .strip-title{margin:0;color:var(--zeef2d-slate);font-weight:700;font-size:14.5px;} 
#itinerary-food-and-alternative .strip-links{display:flex;gap:16px;flex-wrap:wrap;} 
#itinerary-food-and-alternative .link{color:var(--zeef2d-primary);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;font-weight:800;font-size:14.5px;} 
#itinerary-food-and-alternative .link:focus-visible{outline:3px solid rgba(217,119,43,.45);outline-offset:3px;border-radius:10px;} 
#itinerary-food-and-alternative ::selection{background:rgba(217,119,43,.28);color:var(--zeef2d-ink);} 
@media (max-width: 900px){#itinerary-food-and-alternative .content-grid{grid-template-columns:1fr;gap:14px;}#itinerary-food-and-alternative .title{font-size:28px;}}
@media (prefers-reduced-motion: reduce){#itinerary-food-and-alternative .button{transition:none;}}
/* zeef2d:itinerary-hero */
/* zeef2d:itinerary-hero */
#itinerary-hero{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:56px 0 48px;}
#itinerary-hero .itinerary-hero__container{max-width:1120px;margin:0 auto;padding:0 20px;}
#itinerary-hero .itinerary-hero__top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:16px;}
#itinerary-hero .itinerary-hero__badge{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-md,14px);background:var(--zeef2d-surface);font-family:var(--zeef2d-font);font-size:14px;letter-spacing:0.2px;}
#itinerary-hero .itinerary-hero__meta{display:flex;gap:14px;flex-wrap:wrap;}
#itinerary-hero .itinerary-hero__meta-item{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-md,14px);padding:10px 14px;min-width:160px;}
#itinerary-hero .itinerary-hero__meta-label{display:block;color:var(--zeef2d-slate);font-size:12px;letter-spacing:0.22px;margin-bottom:4px;font-family:var(--zeef2d-font);}
#itinerary-hero .itinerary-hero__meta-value{display:block;color:var(--zeef2d-ink);font-size:15px;font-family:var(--zeef2d-font);font-weight:700;}
#itinerary-hero .itinerary-hero__title{margin:10px 0 12px;font-family:var(--zeef2d-font-display);font-size:40px;line-height:1.08;letter-spacing:-0.4px;text-wrap:balance;}
#itinerary-hero .itinerary-hero__lead{margin:0 0 22px;max-width:780px;font-size:17px;line-height:1.6;color:var(--zeef2d-text);}
#itinerary-hero .itinerary-hero__cta-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:24px;}
#itinerary-hero .itinerary-hero__primary{display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;border-radius:var(--zeef2d-radius-md,14px);background:var(--zeef2d-primary);color:var(--zeef2d-bg);text-decoration:none;font-family:var(--zeef2d-font);font-weight:800;letter-spacing:0.2px;border:1px solid var(--zeef2d-primary);}
#itinerary-hero .itinerary-hero__primary:focus-visible{outline:3px solid var(--zeef2d-secondary);outline-offset:3px;}
#itinerary-hero .itinerary-hero__primary:hover{background:var(--zeef2d-primary);filter:brightness(1.03);}
#itinerary-hero .itinerary-hero__secondary{display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;border-radius:var(--zeef2d-radius-md,14px);background:var(--zeef2d-bg);color:var(--zeef2d-ink);text-decoration:none;font-family:var(--zeef2d-font);font-weight:800;letter-spacing:0.2px;border:1px solid var(--zeef2d-border);}
#itinerary-hero .itinerary-hero__secondary:focus-visible{outline:3px solid var(--zeef2d-secondary);outline-offset:3px;}
#itinerary-hero .itinerary-hero__secondary:hover{border-color:var(--zeef2d-secondary);}
#itinerary-hero .itinerary-hero__highlights{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0 16px;}
#itinerary-hero .highlight{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg,18px);padding:14px 14px;}
#itinerary-hero .highlight__title{font-size:13px;color:var(--zeef2d-slate);margin-bottom:6px;font-family:var(--zeef2d-font);}
#itinerary-hero .highlight__value{font-size:15px;color:var(--zeef2d-ink);font-family:var(--zeef2d-font);font-weight:800;line-height:1.35;}
#itinerary-hero .itinerary-hero__fineprint{margin-top:16px;color:var(--zeef2d-slate);font-size:13px;line-height:1.55;max-width:900px;border-top:1px solid var(--zeef2d-border);padding-top:14px;}
#itinerary-hero ::selection{background:rgba(217,119,43,0.22);}
@media (max-width: 980px){
  #itinerary-hero{padding:44px 0 40px;}
  #itinerary-hero .itinerary-hero__title{font-size:32px;}
  #itinerary-hero .itinerary-hero__highlights{grid-template-columns:repeat(2,minmax(0,1fr));}
  #itinerary-hero .itinerary-hero__meta-item{min-width:150px;}
}
@media (max-width: 520px){
  #itinerary-hero .itinerary-hero__title{font-size:26px;letter-spacing:-0.2px;}
  #itinerary-hero .itinerary-hero__lead{font-size:16px;}
  #itinerary-hero .itinerary-hero__cta-row{gap:10px;}
  #itinerary-hero .itinerary-hero__highlights{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion: reduce){
  #itinerary-hero *{scroll-behavior:auto;transition:none!important;}
}

/* zeef2d:itinerary-outline */
/* zeef2d:itinerary-outline */
#itinerary-outline{
  --radius-sm: var(--zeef2d-radius-sm, 10px);
  --radius-md: var(--zeef2d-radius-md, 14px);
  --radius-lg: var(--zeef2d-radius-lg, 18px);
  padding: 36px 0;
  background: var(--zeef2d-bg);
  color: var(--zeef2d-ink);
}
#itinerary-outline .container{
  width: min(1060px, calc(100% - 40px));
  margin: 0 auto;
}
#itinerary-outline .section-title{
  margin: 0;
  font-family: var(--zeef2d-font-display, var(--zeef2d-font));
  font-size: 30px;
  line-height: 1.15;
  letter-spacing: -0.02em;
  text-wrap: balance;
  color: var(--zeef2d-ink);
}
#itinerary-outline .section-lead{
  margin: 12px 0 22px;
  max-width: 78ch;
  font-size: 16.5px;
  line-height: 1.65;
  color: var(--zeef2d-text);
}
#itinerary-outline .outline-wrap{
  background: var(--zeef2d-surface);
  border: 1px solid var(--zeef2d-border);
  border-radius: var(--zeef2d-radius-md, 14px);
  padding: 16px;
}
#itinerary-outline .outline-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
#itinerary-outline .outline-item{
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 14px;
  background: var(--zeef2d-bg);
  border: 1px solid var(--zeef2d-border);
  border-radius: var(--zeef2d-radius-sm, 10px);
  padding: 14px;
}
#itinerary-outline .outline-step{
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: color-mix(in srgb, var(--zeef2d-secondary) 12%, var(--zeef2d-surface));
  border: 1px solid color-mix(in srgb, var(--zeef2d-secondary) 35%, var(--zeef2d-border));
  color: var(--zeef2d-primary);
  font-weight: 800;
  font-family: var(--zeef2d-font-display, var(--zeef2d-font));
}
#itinerary-outline .outline-title{
  margin: 0;
  font-size: 18px;
  line-height: 1.3;
  letter-spacing: -0.01em;
}
#itinerary-outline .outline-text{
  margin: 6px 0 0;
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--zeef2d-slate);
}
#itinerary-outline .note{
  margin-top: 18px;
  padding: 18px;
  border-radius: var(--zeef2d-radius-md, 14px);
  background: color-mix(in srgb, var(--zeef2d-secondary) 10%, var(--zeef2d-surface));
  border: 1px solid color-mix(in srgb, var(--zeef2d-secondary) 28%, var(--zeef2d-border));
}
#itinerary-outline .note-title{
  margin: 0 0 10px;
  font-size: 18px;
  letter-spacing: -0.01em;
  color: var(--zeef2d-ink);
}
#itinerary-outline .note-list{
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 8px;
  color: var(--zeef2d-text);
  font-size: 15.5px;
  line-height: 1.6;
}
#itinerary-outline .note-cta{
  margin: 14px 0 0;
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--zeef2d-text);
}
#itinerary-outline .link{
  color: var(--zeef2d-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}
#itinerary-outline .link:focus-visible{
  outline: 3px solid color-mix(in srgb, var(--zeef2d-secondary) 40%, transparent);
  outline-offset: 3px;
  border-radius: 6px;
}
#itinerary-outline ::selection{ background: color-mix(in srgb, var(--zeef2d-secondary) 30%, white); }
@media (min-width: 860px){
  #itinerary-outline{ padding: 44px 0; }
  #itinerary-outline .outline-list{ grid-template-columns: 1fr 1fr; }
  #itinerary-outline .outline-item{ grid-template-columns: 46px 1fr; }
}
@media (prefers-reduced-motion: reduce){
  #itinerary-outline *{ scroll-behavior: auto !important; transition: none !important; }
}

/* zeef2d:itinerary-steps */
/* zeef2d:itinerary-steps */
#itinerary-steps.itinerary-steps{--radius-sm:var(--zeef2d-radius-sm,10px);--radius-md:var(--zeef2d-radius-md,14px);--radius-lg:var(--zeef2d-radius-lg,18px);background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:48px 0 28px 0;}
#itinerary-steps .container{max-width:980px;margin:0 auto;padding:0 18px;}
#itinerary-steps .itinerary-steps__header{display:block;margin-bottom:18px;}
#itinerary-steps .itinerary-steps__title{font-family:var(--zeef2d-font-display,var(--zeef2d-font));font-size:34px;line-height:1.08;letter-spacing:-0.02em;margin:0 0 8px 0;color:var(--zeef2d-ink);text-wrap:balance;}
#itinerary-steps .itinerary-steps__subtitle{margin:0;color:var(--zeef2d-text);max-width:64ch;font-size:16px;line-height:1.6;}
#itinerary-steps .itinerary-steps__list{list-style:none;padding:0;margin:18px 0 0 0;display:flex;flex-direction:column;gap:14px;}
#itinerary-steps .itinerary-step{display:grid;grid-template-columns:56px 1fr;gap:14px;align-items:flex-start;padding:16px;border:1px solid var(--zeef2d-border);background:var(--zeef2d-surface);border-radius:var(--zeef2d-radius-md,14px);}
#itinerary-steps .itinerary-step__index{width:44px;height:44px;border-radius:999px;background:var(--zeef2d-primary);color:var(--zeef2d-bg);display:flex;align-items:center;justify-content:center;font-weight:700;letter-spacing:0.01em;font-size:16px;}
#itinerary-steps .itinerary-step__title{margin:2px 0 6px 0;font-family:var(--zeef2d-font-display,var(--zeef2d-font));font-size:18px;line-height:1.25;color:var(--zeef2d-ink);}
#itinerary-steps .itinerary-step__desc{margin:0;color:var(--zeef2d-text);font-size:15px;line-height:1.65;}
#itinerary-steps .itinerary-step__meta{margin:10px 0 0 0;color:var(--zeef2d-slate);font-size:13px;line-height:1.5;}
#itinerary-steps .itinerary-steps__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;}
#itinerary-steps .button{display:inline-flex;align-items:center;justify-content:center;padding:12px 14px;border-radius:12px;text-decoration:none;font-weight:650;font-size:15px;border:1px solid transparent;transition:background-color .15s ease,border-color .15s ease,color .15s ease;}
#itinerary-steps .button:focus-visible{outline:3px solid color-mix(in srgb, var(--zeef2d-secondary) 45%, white);outline-offset:2px;}
#itinerary-steps .button--primary{background:var(--zeef2d-primary);color:var(--zeef2d-bg);border-color:var(--zeef2d-primary);}
#itinerary-steps .button--primary:hover{background:color-mix(in srgb, var(--zeef2d-primary) 85%, var(--zeef2d-secondary) 15%);}
#itinerary-steps .button--ghost{background:transparent;color:var(--zeef2d-primary);border-color:var(--zeef2d-primary);}
#itinerary-steps .button--ghost:hover{background:color-mix(in srgb, var(--zeef2d-primary) 10%, white);}
::selection{background:color-mix(in srgb, var(--zeef2d-secondary) 30%, white);}
@media (max-width:720px){#itinerary-steps .itinerary-steps__title{font-size:28px;}#itinerary-steps .itinerary-step{grid-template-columns:48px 1fr;padding:14px;}#itinerary-steps .itinerary-step__index{width:40px;height:40px;font-size:15px;}}
@media (prefers-reduced-motion: reduce){#itinerary-steps .button{transition:none;}}

/* zeef2d:itinerary-cycling-and-history */
/* zeef2d:itinerary-cycling-and-history */
#itinerary-cycling-and-history{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:48px 16px;}
#itinerary-cycling-and-history .container{max-width:1100px;margin:0 auto;}
#itinerary-cycling-and-history .section-header{margin-bottom:22px;}
#itinerary-cycling-and-history .section-title{font-family:var(--zeef2d-font-display);font-size:38px;line-height:1.08;letter-spacing:-0.02em;margin:0 0 10px 0;color:var(--zeef2d-ink);text-wrap:balance;}
#itinerary-cycling-and-history .section-lead{margin:0;max-width:64ch;font-family:var(--zeef2d-font);font-size:16px;line-height:1.75;color:var(--zeef2d-ink);}
#itinerary-cycling-and-history .content-grid{display:grid;grid-template-columns:1.35fr 0.85fr;gap:18px;align-items:start;}
#itinerary-cycling-and-history .panel{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--radius-lg,18px);padding:18px 18px 16px 18px;}
#itinerary-cycling-and-history .panel-side{padding:18px;}
#itinerary-cycling-and-history .panel-title{margin:0 0 12px 0;font-family:var(--zeef2d-font-display);font-size:20px;letter-spacing:-0.01em;color:var(--zeef2d-ink);}
#itinerary-cycling-and-history .bullet-list{margin:0;padding:0;list-style:none;}
#itinerary-cycling-and-history .bullet-item{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--zeef2d-border);}
#itinerary-cycling-and-history .bullet-item:first-child{border-top:none;padding-top:2px;}
#itinerary-cycling-and-history .bullet-index{flex:0 0 auto;width:28px;height:28px;border-radius:999px;background:color-mix(in srgb, var(--zeef2d-primary) 86%, var(--zeef2d-surface));color:var(--zeef2d-bg);display:flex;align-items:center;justify-content:center;font-family:var(--zeef2d-font-display);font-weight:700;font-size:14px;}
#itinerary-cycling-and-history .bullet-text{font-family:var(--zeef2d-font);font-size:15px;line-height:1.65;color:var(--zeef2d-ink);}
#itinerary-cycling-and-history .check-list{list-style:none;margin:0;padding:0;}
#itinerary-cycling-and-history .check-item{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--zeef2d-border);}
#itinerary-cycling-and-history .check-item:first-child{border-top:none;padding-top:2px;}
#itinerary-cycling-and-history .check-mark{flex:0 0 auto;width:22px;height:22px;border-radius:8px;background:color-mix(in srgb, var(--zeef2d-secondary) 20%, var(--zeef2d-surface));border:1px solid color-mix(in srgb, var(--zeef2d-secondary) 45%, var(--zeef2d-border));color:var(--zeef2d-secondary);display:flex;align-items:center;justify-content:center;font-weight:800;line-height:1;}
#itinerary-cycling-and-history .check-text{font-family:var(--zeef2d-font);font-size:15px;line-height:1.6;color:var(--zeef2d-ink);}
#itinerary-cycling-and-history .side-cta{margin-top:14px;padding-top:14px;border-top:1px solid var(--zeef2d-border);}
#itinerary-cycling-and-history .side-note{margin:0 0 10px 0;font-family:var(--zeef2d-font);font-size:14px;line-height:1.6;color:var(--zeef2d-slate);}
#itinerary-cycling-and-history .link-button{display:inline-flex;align-items:center;justify-content:center;padding:11px 14px;border-radius:var(--radius-md,14px);border:1px solid color-mix(in srgb, var(--zeef2d-primary) 65%, var(--zeef2d-border));background:var(--zeef2d-bg);color:var(--zeef2d-ink);font-family:var(--zeef2d-font-display);font-weight:700;text-decoration:none;}
#itinerary-cycling-and-history .link-button:focus-visible{outline:3px solid color-mix(in srgb, var(--zeef2d-secondary) 70%, transparent);outline-offset:2px;}
#itinerary-cycling-and-history .link-button:hover{background:color-mix(in srgb, var(--zeef2d-primary) 6%, var(--zeef2d-bg));}
#itinerary-cycling-and-history .alternatives{margin-top:18px;}
#itinerary-cycling-and-history .alternatives-title{margin:0 0 12px 0;font-family:var(--zeef2d-font-display);font-size:22px;letter-spacing:-0.01em;color:var(--zeef2d-ink);}
#itinerary-cycling-and-history .alternatives-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
#itinerary-cycling-and-history .alt-card{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--radius-lg,18px);padding:16px;}
#itinerary-cycling-and-history .alt-head{margin:0 0 10px 0;font-family:var(--zeef2d-font-display);font-size:16px;color:var(--zeef2d-ink);}
#itinerary-cycling-and-history .alt-list{margin:0;padding-left:18px;font-family:var(--zeef2d-font);font-size:15px;line-height:1.7;color:var(--zeef2d-ink);}
#itinerary-cycling-and-history .section-bottom{margin-top:16px;padding-top:14px;border-top:1px solid var(--zeef2d-border);display:flex;gap:14px;align-items:flex-start;justify-content:space-between;}
#itinerary-cycling-and-history .muted{margin:0;max-width:68ch;font-family:var(--zeef2d-font);font-size:14px;line-height:1.65;color:var(--zeef2d-slate);}
#itinerary-cycling-and-history .text-link{color:var(--zeef2d-secondary);font-family:var(--zeef2d-font-display);font-weight:800;text-decoration:none;white-space:nowrap;}
#itinerary-cycling-and-history .text-link:focus-visible{outline:3px solid color-mix(in srgb, var(--zeef2d-secondary) 70%, transparent);outline-offset:3px;border-radius:8px;}
#itinerary-cycling-and-history .text-link:hover{text-decoration:underline;}
#itinerary-cycling-and-history ::selection{background:color-mix(in srgb, var(--zeef2d-secondary) 28%, var(--zeef2d-bg));}
@media (max-width: 920px){
  #itinerary-cycling-and-history .content-grid{grid-template-columns:1fr;}
  #itinerary-cycling-and-history .alternatives-grid{grid-template-columns:1fr;}
  #itinerary-cycling-and-history .section-title{font-size:34px;}
  #itinerary-cycling-and-history .section-bottom{flex-direction:column;}
}
@media (prefers-reduced-motion: reduce){
  #itinerary-cycling-and-history *{scroll-behavior:auto;transition:none !important;animation:none !important;}
}
/* zeef2d:itinerary-food-and-alternative */
/* zeef2d:itinerary-food-and-alternative */
#itinerary-food-and-alternative{
  background: var(--zeef2d-bg);
  color: var(--zeef2d-text);
  padding: var(--zeef2d-spacing-y, 56px) 0;
}
#itinerary-food-and-alternative .container{
  width: min(1040px, calc(100% - 40px));
  margin: 0 auto;
}
#itinerary-food-and-alternative .section-header{
  display: grid;
  gap: 10px;
  margin-bottom: 22px;
}
#itinerary-food-and-alternative .section-title{
  font-family: var(--zeef2d-font-display);
  font-size: 34px;
  line-height: 1.08;
  letter-spacing: -0.02em;
  margin: 0;
  text-wrap: balance;
}
#itinerary-food-and-alternative .section-lead{
  margin: 0;
  color: var(--zeef2d-slate);
  font-size: 16px;
  line-height: 1.6;
  max-width: 74ch;
}
#itinerary-food-and-alternative .content-grid{
  display: grid;
  grid-template-columns: 1.35fr 0.85fr;
  gap: 22px;
  align-items: start;
}
#itinerary-food-and-alternative .block-title{
  font-family: var(--zeef2d-font-display);
  margin: 0 0 12px;
  font-size: 20px;
  letter-spacing: -0.01em;
}
#itinerary-food-and-alternative .trajectory-block{
  background: var(--zeef2d-surface);
  border: 1px solid var(--zeef2d-border);
  border-radius: var(--zeef2d-radius, 14px);
  padding: 18px;
}
#itinerary-food-and-alternative .step-list{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 14px;
}
#itinerary-food-and-alternative .step-item{
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 12px;
  padding: 12px;
  border-radius: var(--zeef2d-radius, 14px);
  border: 1px solid rgba(217, 226, 230, 0.85);
  background: #FFFFFF;
}
#itinerary-food-and-alternative .step-index{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: var(--zeef2d-primary);
  color: #FFFFFF;
  font-weight: 700;
  font-family: var(--zeef2d-font-display);
}
#itinerary-food-and-alternative .step-heading{
  margin: 0 0 6px;
  font-weight: 700;
  font-size: 15px;
}
#itinerary-food-and-alternative .step-body{
  margin: 0;
  color: var(--zeef2d-slate);
  font-size: 14px;
  line-height: 1.6;
}
#itinerary-food-and-alternative .quick-links{
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--zeef2d-border);
  display: grid;
  gap: 8px;
}
#itinerary-food-and-alternative .quick-links-label{
  margin: 0;
  font-size: 13px;
  color: var(--zeef2d-slate);
}
#itinerary-food-and-alternative .text-link{
  color: var(--zeef2d-primary);
  text-decoration: none;
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  width: fit-content;
  padding: 6px 0;
  border-bottom: 1px solid transparent;
}
#itinerary-food-and-alternative .text-link:focus-visible{
  outline: 3px solid rgba(217, 119, 43, 0.35);
  outline-offset: 3px;
  border-bottom-color: var(--zeef2d-secondary);
}
#itinerary-food-and-alternative .text-link:hover{
  border-bottom-color: var(--zeef2d-secondary);
}
#itinerary-food-and-alternative .alternative-block{
  background: var(--zeef2d-primary);
  color: #FFFFFF;
  border-radius: var(--zeef2d-radius, 14px);
  border: 1px solid rgba(217, 226, 230, 0.55);
  padding: 18px;
}
#itinerary-food-and-alternative .alternative-block .block-title{ color: #FFFFFF; }
#itinerary-food-and-alternative .alternative-lead{
  margin: 0 0 14px;
  color: rgba(255,255,255,0.86);
  line-height: 1.6;
  font-size: 14px;
}
#itinerary-food-and-alternative .alt-card{
  background: rgba(245, 247, 248, 0.08);
  border: 1px solid rgba(217, 226, 230, 0.35);
  border-radius: var(--zeef2d-radius, 14px);
  padding: 14px;
  display: grid;
  gap: 10px;
}
#itinerary-food-and-alternative .alt-row{
  display: grid;
  gap: 4px;
}
#itinerary-food-and-alternative .alt-label{
  font-size: 12px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.75);
}
#itinerary-food-and-alternative .alt-value{
  font-size: 14px;
  color: #FFFFFF;
  line-height: 1.45;
}
#itinerary-food-and-alternative .cta-row{
  margin-top: 14px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
#itinerary-food-and-alternative .button{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid transparent;
  text-decoration: none;
  font-weight: 700;
  letter-spacing: 0.01em;
}
#itinerary-food-and-alternative .button-primary{
  background: var(--zeef2d-secondary);
  color: #FFFFFF;
  border-color: rgba(217, 119, 43, 0.8);
}
#itinerary-food-and-alternative .button-primary:hover{
  background: #c96a1f;
}
#itinerary-food-and-alternative .button-ghost{
  background: transparent;
  color: #FFFFFF;
  border-color: rgba(217, 226, 230, 0.6);
}
#itinerary-food-and-alternative .button-ghost:hover{
  border-color: rgba(217, 119, 43, 0.9);
}
#itinerary-food-and-alternative .button:focus-visible{
  outline: 3px solid rgba(217, 119, 43, 0.4);
  outline-offset: 3px;
}
#itinerary-food-and-alternative .fineprint{
  margin: 14px 0 0;
  color: rgba(255,255,255,0.78);
  font-size: 13px;
  line-height: 1.6;
}
#itinerary-food-and-alternative ::selection{ background: rgba(217, 119, 43, 0.25); }
#itinerary-food-and-alternative *{ box-sizing: border-box; }
@media (max-width: 900px){
  #itinerary-food-and-alternative .content-grid{ grid-template-columns: 1fr; }
  #itinerary-food-and-alternative .section-title{ font-size: 30px; }
}
@media (prefers-reduced-motion: reduce){
  #itinerary-food-and-alternative .text-link,
  #itinerary-food-and-alternative .button{ transition: none !important; }
}

/* zeef2d:blog-hero */
/* zeef2d:blog-hero */
#blog-hero{--section-pad:clamp(22px,4vw,46px);background:var(--zeef2d-bg);color:var(--zeef2d-text);position:relative;overflow:hidden;}
#blog-hero::before{content:"";position:absolute;inset:-2px auto auto -60px;width:260px;height:260px;border-radius:50%;background:rgba(217,119,43,0.10);filter:saturate(110%);pointer-events:none;}
#blog-hero::after{content:"";position:absolute;top:auto;right:-120px;bottom:-160px;width:420px;height:420px;border-radius:50%;background:rgba(11,58,83,0.06);pointer-events:none;}
#blog-hero .blog-hero__inner{position:relative;max-width:1120px;margin:0 auto;padding:var(--section-pad) 20px;display:flex;flex-direction:column;gap:18px;}
#blog-hero .blog-hero__badge{display:inline-flex;align-items:center;align-self:flex-start;padding:8px 12px;border:1px solid var(--zeef2d-border);border-radius:999px;background:var(--zeef2d-surface);font:700 13px/1.1 var(--zeef2d-font);letter-spacing:0.02em;color:var(--zeef2d-primary);text-transform:none;}
#blog-hero .blog-hero__title{margin:0;font:700 clamp(26px,3.4vw,44px)/1.08 var(--zeef2d-font-display);letter-spacing:-0.02em;text-wrap:balance;color:var(--zeef2d-ink);}
#blog-hero .blog-hero__lead{margin:0;max-width:72ch;font:400 16px/1.65 var(--zeef2d-font);color:var(--zeef2d-text);}
#blog-hero .blog-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px;}
#blog-hero .blog-hero__btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:var(--zeef2d-radius-md,14px);text-decoration:none;font:700 15px/1.2 var(--zeef2d-font);border:1px solid transparent;transition:background-color .15s ease,border-color .15s ease,color .15s ease;}
#blog-hero .blog-hero__btn:focus-visible{outline:3px solid rgba(217,119,43,0.35);outline-offset:2px;}
#blog-hero .blog-hero__btn--primary{background:var(--zeef2d-primary);color:#fff;border-color:var(--zeef2d-primary);}
#blog-hero .blog-hero__btn--primary:hover{background:#0a334a;}
#blog-hero .blog-hero__btn--secondary{background:var(--zeef2d-surface);color:var(--zeef2d-primary);border-color:var(--zeef2d-border);}
#blog-hero .blog-hero__btn--secondary:hover{background:#eef2f3;}
#blog-hero .blog-hero__meta{display:grid;grid-template-columns:1fr;gap:12px;margin-top:10px;}
#blog-hero .blog-hero__meta-item{border:1px solid var(--zeef2d-border);background:rgba(245,247,248,0.7);border-radius:var(--zeef2d-radius-lg,18px);padding:14px 14px;}
#blog-hero .blog-hero__meta-kicker{font:700 12px/1.1 var(--zeef2d-font);letter-spacing:0.08em;text-transform:uppercase;color:var(--zeef2d-slate);}
#blog-hero .blog-hero__meta-value{margin-top:6px;font:400 15px/1.5 var(--zeef2d-font);color:var(--zeef2d-ink);}
#blog-hero .blog-hero__note{display:flex;align-items:flex-start;gap:10px;border-left:4px solid var(--zeef2d-secondary);padding:10px 12px;margin-top:4px;}
#blog-hero .blog-hero__note-mark{width:26px;height:26px;border-radius:50%;background:rgba(217,119,43,0.18);border:1px solid rgba(217,119,43,0.35);display:inline-flex;align-items:center;justify-content:center;font:800 14px/1 var(--zeef2d-font);color:var(--zeef2d-primary);flex:0 0 auto;}
#blog-hero .blog-hero__note-text{font:400 14px/1.6 var(--zeef2d-font);color:var(--zeef2d-ink);}
#blog-hero ::selection{background:rgba(217,119,43,0.26);}
@media (min-width:860px){#blog-hero .blog-hero__meta{grid-template-columns:1fr 1fr;gap:14px;}}
@media (prefers-reduced-motion:reduce){#blog-hero .blog-hero__btn{transition:none;}}

/* zeef2d:blog-list */
/* zeef2d:blog-list */
#blog-list.blog-list-wrapper{--radius:var(--zeef2d-radius-md,14px);box-sizing:border-box;padding:56px 20px;background:var(--zeef2d-bg);color:var(--zeef2d-text);font-family:var(--zeef2d-font-display);}
#blog-list .blog-list-header{max-width:980px;margin:0 auto 26px;}
#blog-list .blog-list-title{margin:0 0 10px;font-family:var(--zeef2d-font-display);font-weight:800;letter-spacing:-0.02em;line-height:1.12;font-size:clamp(26px,3.2vw,40px);text-wrap:balance;color:var(--zeef2d-ink);}
#blog-list .blog-list-subtitle{margin:0;color:var(--zeef2d-text);opacity:0.92;max-width:70ch;line-height:1.65;font-size:16px;}
#blog-list .blog-list-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(12,1fr);gap:16px;}
#blog-list .post-card{grid-column:span 6;background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--radius);padding:18px 18px 16px;box-shadow:0 10px 24px rgba(11,58,83,0.06);display:flex;flex-direction:column;min-height:160px;}
#blog-list .post-meta{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
#blog-list .post-topic{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--zeef2d-primary);background:rgba(217,119,43,0.10);border:1px solid rgba(217,119,43,0.35);padding:6px 10px;border-radius:999px;}
#blog-list .post-title{margin:0 0 8px;}
#blog-list .post-link{color:var(--zeef2d-ink);text-decoration:none;font-family:var(--zeef2d-font-display);font-weight:800;line-height:1.25;font-size:18px;}
#blog-list .post-link:focus-visible{outline:3px solid rgba(217,119,43,0.55);outline-offset:3px;border-radius:8px;}
#blog-list .post-link:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;}
#blog-list .post-excerpt{margin:0;color:var(--zeef2d-text);opacity:0.9;line-height:1.65;font-size:14.5px;}
#blog-list .blog-list-pagination{max-width:1100px;margin:22px auto 0;display:flex;align-items:center;gap:10px;justify-content:flex-start;}
#blog-list .page-link{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--zeef2d-border);background:var(--zeef2d-surface);color:var(--zeef2d-ink);text-decoration:none;font-weight:800;}
#blog-list .page-link[aria-current="page"]{background:rgba(11,58,83,0.06);border-color:rgba(11,58,83,0.25);}
#blog-list .page-link:focus-visible{outline:3px solid rgba(217,119,43,0.55);outline-offset:3px;}
#blog-list ::selection{background:rgba(217,119,43,0.25);}
@media (max-width:900px){#blog-list{padding:44px 16px;}#blog-list .post-card{grid-column:span 12;}}
@media (prefers-reduced-motion:reduce){#blog-list .post-link:hover{text-decoration:none;}}

/* zeef2d:article-hero */
/* zeef2d:article-hero */

#article-hero{position:relative; background:var(--zeef2d-bg); color:var(--zeef2d-text); overflow:hidden;}
#article-hero .article-hero__bg{position:absolute; inset:-2px; background:
  radial-gradient(900px 420px at 18% 10%, rgba(217,119,43,.18), rgba(217,119,43,0) 58%),
  radial-gradient(720px 360px at 75% 20%, rgba(11,58,83,.16), rgba(11,58,83,0) 60%);
  pointer-events:none;}
#article-hero .container{max-width:1100px; margin:0 auto; padding:44px 20px 34px; position:relative;}
#article-hero .article-hero__inner{display:grid; grid-template-columns: 1.35fr .85fr; gap:26px; align-items:start;}
#article-hero .article-hero__meta{padding:18px 0;}
#article-hero .kicker{display:inline-flex; align-items:center; gap:10px; font-family:var(--zeef2d-font); font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:var(--zeef2d-primary); background:rgba(11,58,83,.06); border:1px solid rgba(11,58,83,.14); padding:8px 12px; border-radius:999px;}
#article-hero .article-hero__title{margin:14px 0 12px; font-family:var(--zeef2d-font-display); font-weight:800; font-size:44px; line-height:1.05; letter-spacing:-.02em; text-wrap:balance;}
#article-hero .article-hero__subtitle{margin:0; font-family:var(--zeef2d-font); font-size:16px; line-height:1.7; color:var(--zeef2d-text); max-width:62ch;}
#article-hero .article-hero__row{display:flex; flex-wrap:wrap; gap:10px; margin-top:18px;}
#article-hero .meta-pill{font-family:var(--zeef2d-font); font-size:13.5px; line-height:1.3; color:var(--zeef2d-ink); background:var(--zeef2d-surface); border:1px solid var(--zeef2d-border); padding:9px 12px; border-radius:999px;}
#article-hero .article-hero__side{padding-top:10px;}
#article-hero .side-card{background:rgba(245,247,248,.9); border:1px solid var(--zeef2d-border); border-radius:var(--zeef2d-radius-lg); padding:18px 16px 16px; box-shadow:0 18px 40px rgba(11,58,83,.08);}
#article-hero .side-card__title{font-family:var(--zeef2d-font-display); font-weight:800; font-size:18px; margin:0 0 10px; color:var(--zeef2d-primary);}
#article-hero .side-card__list{margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:10px;}
#article-hero .side-card__list li{font-family:var(--zeef2d-font); font-size:14.5px; line-height:1.55; color:var(--zeef2d-text);} 
#article-hero .bullet{display:inline-block; width:18px; color:var(--zeef2d-secondary); font-weight:900;}
#article-hero .side-card__actions{margin-top:14px; display:flex; flex-direction:column; gap:10px;}
#article-hero .btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; width:100%; text-decoration:none; border-radius:var(--zeef2d-radius-md); font-family:var(--zeef2d-font-display); font-weight:800; padding:12px 14px; font-size:15.5px; border:1px solid transparent; transition:background-color .15s ease, border-color .15s ease, transform .06s ease;}
#article-hero .btn:active{transform:translateY(1px);}
#article-hero .btn:focus-visible{outline:3px solid rgba(217,119,43,.35); outline-offset:2px;}
#article-hero .btn-primary{background:var(--zeef2d-primary); color:var(--zeef2d-bg); border-color:var(--zeef2d-primary);}
#article-hero .btn-primary:hover{background:#0a344b; border-color:#0a344b;}
#article-hero .btn-ghost{background:transparent; color:var(--zeef2d-primary); border-color:rgba(11,58,83,.35);}
#article-hero .btn-ghost:hover{background:rgba(11,58,83,.05); border-color:rgba(11,58,83,.55);}
#article-hero .side-card__note{margin:12px 0 0; font-family:var(--zeef2d-font); font-size:13.5px; line-height:1.6; color:var(--zeef2d-slate);}
#article-hero ::selection{background:rgba(217,119,43,.28);}
@media (max-width: 900px){
  #article-hero .article-hero__inner{grid-template-columns:1fr;}
  #article-hero .article-hero__title{font-size:36px;}
  #article-hero .container{padding:34px 16px 26px;}
}
@media (prefers-reduced-motion: reduce){
  #article-hero .btn{transition:none;}
}

/* zeef2d:article-content */
/* zeef2d:article-content */
#article-content{--accent:var(--zeef2d-accent);--primary:var(--zeef2d-primary);--ink:var(--zeef2d-ink);--slate:var(--zeef2d-slate);--mist:var(--zeef2d-mist);--border:var(--zeef2d-border);--surface:var(--zeef2d-surface);--bg:var(--zeef2d-bg);--text:var(--zeef2d-text);background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:40px 18px;}
#article-content *{box-sizing:border-box;}
#article-content .article{max-width:980px;margin:0 auto;font-family:var(--zeef2d-font);}
#article-content .article-header{margin:0 0 26px;}
#article-content .article-kicker{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--zeef2d-border);background:var(--zeef2d-surface);border-radius:999px;color:var(--zeef2d-primary);font-size:14px;letter-spacing:.02em;}
#article-content .article-title{margin:14px 0 10px;font-family:var(--zeef2d-font-display);font-weight:800;font-size:40px;line-height:1.08;letter-spacing:-.02em;text-wrap:balance;}
#article-content .article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:var(--zeef2d-slate);font-size:15px;}
#article-content .meta-dot{color:var(--zeef2d-border);}
#article-content .article-body{background:transparent;}
#article-content .lead{font-size:18px;line-height:1.7;color:var(--zeef2d-ink);margin:0 0 18px;}
#article-content h2{margin:26px 0 12px;font-size:22px;line-height:1.3;letter-spacing:-.01em;color:var(--zeef2d-ink);font-weight:800;text-wrap:balance;}
#article-content h3{margin:0 0 6px;font-size:18px;line-height:1.35;color:var(--zeef2d-ink);}
#article-content h4{margin:14px 0 6px;font-size:15px;line-height:1.35;color:var(--zeef2d-primary);font-weight:800;}
#article-content p{margin:0 0 14px;line-height:1.8;font-size:16.5px;color:var(--zeef2d-ink);}
#article-content a{color:var(--zeef2d-primary);text-decoration:underline;text-underline-offset:3px;}
#article-content a:focus-visible{outline:3px solid var(--zeef2d-accent);outline-offset:4px;border-radius:8px;}
#article-content ::selection{background:rgba(217,119,43,.25);}
#article-content .toc{border:1px solid var(--zeef2d-border);background:var(--zeef2d-surface);border-radius:var(--zeef2d-radius-lg,18px);padding:16px 16px 14px;margin:18px 0 18px;}
#article-content .toc-title{margin:0 0 10px;font-size:16px;font-weight:900;color:var(--zeef2d-primary);letter-spacing:.01em;}
#article-content .toc-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:10px;}
#article-content .toc-list li{color:var(--zeef2d-ink);line-height:1.65;font-size:15.5px;}
#article-content .toc-day{display:inline-block;min-width:90px;padding:4px 10px;border-radius:999px;background:rgba(217,119,43,.12);color:var(--zeef2d-accent);font-weight:900;font-size:13px;letter-spacing:.02em;margin-right:10px;}
#article-content .day-sections{display:flex;flex-direction:column;gap:14px;margin:10px 0 6px;}
#article-content .day{border:1px solid var(--zeef2d-border);background:var(--zeef2d-bg);border-radius:var(--zeef2d-radius-lg,18px);padding:16px 16px 14px;}
#article-content .day-title{display:flex;align-items:flex-start;gap:12px;}
#article-content .day-num{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:rgba(11,58,83,.08);border:1px solid rgba(11,58,83,.18);color:var(--zeef2d-primary);font-weight:900;flex:0 0 auto;}
#article-content .day-text{margin-bottom:0;}
#article-content .bullets{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:10px;}
#article-content .bullets li{font-size:16px;line-height:1.75;color:var(--zeef2d-ink);}
#article-content .bullets strong{color:var(--zeef2d-primary);}
#article-content .practical{border-left:4px solid var(--zeef2d-accent);padding:6px 14px 2px;background:rgba(217,119,43,.06);border-radius:14px;margin-top:18px;}
#article-content .closing{margin-top:18px;font-size:16.5px;color:var(--zeef2d-slate);}
#article-content .article-links{margin-top:26px;border-top:1px solid var(--zeef2d-border);padding-top:18px;}
#article-content .links-title{margin:0 0 12px;font-size:18px;font-weight:900;color:var(--zeef2d-ink);}
#article-content .links-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
#article-content .article-link{display:inline-block;padding:10px 12px;border-radius:12px;border:1px solid var(--zeef2d-border);background:var(--zeef2d-surface);text-decoration:none;}
#article-content .article-link:hover{background:rgba(217,119,43,.10);border-color:rgba(217,119,43,.35);}
#article-content .article-link:active{transform:translateY(1px);}
@media (max-width:720px){#article-content{padding:26px 14px;}#article-content .article-title{font-size:30px;}#article-content .lead{font-size:16.5px;}#article-content p,#article-content .bullets li{font-size:16px;}}
@media (prefers-reduced-motion: reduce){#article-content *{scroll-behavior:auto;transition:none !important;animation:none !important;}}

/* zeef2d:related-articles */
/* zeef2d:related-articles */
#related-articles{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:48px 16px;}
#related-articles .container{max-width:1040px;margin:0 auto;}
#related-articles .section-head{display:flex;flex-direction:column;gap:10px;margin-bottom:22px;}
#related-articles .section-title{font-family:var(--zeef2d-font-display);font-size:30px;line-height:1.12;letter-spacing:-0.02em;margin:0;color:var(--zeef2d-ink);text-wrap:balance;}
#related-articles .section-subtitle{margin:0;max-width:72ch;color:var(--zeef2d-slate);font-size:16px;line-height:1.6;}
#related-articles .articles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch;}
#related-articles .article-card{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg);overflow:hidden;box-shadow:0 10px 24px rgba(11,58,83,0.08);display:flex;}
#related-articles .article-link{display:flex;flex-direction:column;gap:0;flex:1;color:inherit;text-decoration:none;}
#related-articles .thumb{height:132px;background:
  linear-gradient(135deg, rgba(11,58,83,0.12), rgba(217,119,43,0.10)),
  repeating-linear-gradient(90deg, rgba(16,42,47,0.06) 0 1px, transparent 1px 10px);
  position:relative;
}
#related-articles .thumb:after{content:"";position:absolute;inset:14px;border-radius:12px;border:1px solid rgba(16,42,47,0.12);}
#related-articles .article-meta{padding:14px 14px 16px 14px;display:flex;flex-direction:column;gap:8px;}
#related-articles .article-kicker{margin:0;font-size:12px;letter-spacing:0.06em;text-transform:uppercase;color:var(--zeef2d-secondary);font-weight:700;}
#related-articles .article-title{margin:0;font-size:16px;line-height:1.35;color:var(--zeef2d-ink);font-weight:700;text-wrap:balance;}
#related-articles .article-link:focus-visible{outline:3px solid var(--zeef2d-secondary);outline-offset:2px;}
#related-articles .more-row{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 16px;border-radius:var(--zeef2d-radius-md);border:1px solid var(--zeef2d-border);background:rgba(245,247,248,0.7);}
#related-articles .more-text{margin:0;color:var(--zeef2d-slate);font-size:15px;line-height:1.5;}
#related-articles .more-link{display:inline-flex;align-items:center;gap:8px;color:var(--zeef2d-ink);text-decoration:none;font-weight:800;border:1px solid var(--zeef2d-border);background:var(--zeef2d-surface);padding:10px 12px;border-radius:var(--zeef2d-radius-sm);}
#related-articles .more-link:hover{border-color:rgba(217,119,43,0.55);box-shadow:0 10px 20px rgba(11,58,83,0.08);}
#related-articles .more-link:focus-visible{outline:3px solid var(--zeef2d-secondary);outline-offset:2px;}
#related-articles ::selection{background:rgba(217,119,43,0.28);}
@media (max-width: 900px){#related-articles .articles-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 560px){#related-articles{padding:36px 14px;}#related-articles .section-title{font-size:26px;}#related-articles .articles-grid{grid-template-columns:1fr;}#related-articles .thumb{height:118px;}}
@media (prefers-reduced-motion: reduce){#related-articles *{scroll-behavior:auto;transition:none !important;animation:none !important;}}
/* zeef2d:article-hero */
/* zeef2d:article-hero */
#article-hero{--radius-sm:10px;--radius-md:14px;--radius-lg:18px;position:relative;background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:clamp(28px,4.2vw,54px) 0 26px;}
#article-hero ::selection{background:rgba(217,119,43,.22);}
#article-hero .container{max-width:1120px;margin:0 auto;padding:0 18px;}
#article-hero .hero-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:26px;align-items:start;}
#article-hero .kicker{margin:0 0 12px;font:600 12px/1.2 var(--zeef2d-font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--zeef2d-secondary);}
#article-hero .hero-title{margin:0 0 14px;font:700 clamp(28px,3.1vw,44px)/1.08 var(--zeef2d-font-display);letter-spacing:-.02em;text-wrap:balance;color:var(--zeef2d-ink);}
#article-hero .meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:10px 0 16px;}
#article-hero .meta-item{display:flex;gap:10px;align-items:baseline;}
#article-hero .meta-label{font:600 13px/1.3 var(--zeef2d-font);color:var(--zeef2d-slate);}
#article-hero .meta-value{font:700 13px/1.3 var(--zeef2d-font);color:var(--zeef2d-ink);}
#article-hero .meta-dot{color:var(--zeef2d-slate);font-weight:700;}
#article-hero .lead{margin:0 0 18px;font:400 16px/1.65 var(--zeef2d-font);color:var(--zeef2d-ink);max-width:62ch;}
#article-hero .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px;}
#article-hero .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:var(--radius-md);text-decoration:none;white-space:nowrap;font:700 14px/1.1 var(--zeef2d-font-display);border:1px solid transparent;}
#article-hero .btn:focus-visible{outline:3px solid rgba(217,119,43,.45);outline-offset:2px;}
#article-hero .btn-primary{background:var(--zeef2d-primary);color:#fff;border-color:var(--zeef2d-primary);}
#article-hero .btn-primary:hover{background:#093243;}
#article-hero .btn-ghost{background:transparent;color:var(--zeef2d-primary);border-color:var(--zeef2d-border);}
#article-hero .btn-ghost:hover{border-color:rgba(11,58,83,.45);background:rgba(217,119,43,.08);}
#article-hero .hero-aside{position:relative;}
#article-hero .aside-card{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--radius-lg);padding:18px 16px;}
#article-hero .aside-title{margin:0 0 12px;font:800 15px/1.3 var(--zeef2d-font-display);color:var(--zeef2d-ink);}
#article-hero .aside-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;}
#article-hero .aside-list li{display:flex;gap:10px;align-items:flex-start;}
#article-hero .check{display:inline-flex;flex:0 0 auto;width:18px;height:18px;align-items:center;justify-content:center;border-radius:6px;background:rgba(217,119,43,.14);color:var(--zeef2d-secondary);font-weight:900;}
#article-hero .aside-text{font:600 14px/1.45 var(--zeef2d-font);color:var(--zeef2d-ink);}
#article-hero .aside-footer{margin-top:14px;padding-top:12px;border-top:1px solid rgba(217,119,43,.18);}
#article-hero .aside-note{margin:0;font:400 13px/1.55 var(--zeef2d-font);color:var(--zeef2d-slate);}
@media (max-width: 900px){#article-hero .hero-grid{grid-template-columns:1fr;gap:16px;}#article-hero .lead{font-size:15px;}}
@media (prefers-reduced-motion: reduce){#article-hero *{scroll-behavior:auto;}}

/* zeef2d:article-content */
/* zeef2d:article-content */
#article-content.article-content{--pad:24px; background:var(--zeef2d-bg); color:var(--zeef2d-text); font-family:var(--zeef2d-font); padding:48px 0;}
#article-content .article{max-width:920px; margin:0 auto; padding:0 var(--pad);}
#article-content .article-head{margin-bottom:22px;}
#article-content .article-title{font-family:var(--zeef2d-font-display); font-size:40px; line-height:1.08; letter-spacing:-0.02em; font-weight:800; margin:0 0 12px 0; text-wrap:balance; color:var(--zeef2d-ink);} 
#article-content .article-meta{margin:0; color:var(--zeef2d-slate); font-size:18px; line-height:1.6; max-width:720px;}
#article-content .article-body{margin-top:18px;}
#article-content .h2{font-size:26px; line-height:1.25; margin:28px 0 10px 0; font-weight:800; letter-spacing:-0.01em; color:var(--zeef2d-ink); text-wrap:balance;}
#article-content p{margin:14px 0; font-size:17px; line-height:1.8; color:var(--zeef2d-text);} 
#article-content .list{margin:14px 0 10px 18px; padding:0; color:var(--zeef2d-text);}
#article-content .list li{margin:10px 0; line-height:1.7; font-size:17px;}
#article-content .list-ol{counter-reset:item;}
#article-content .list-ol li{list-style:decimal;}
#article-content .links{margin:14px 0 0 18px; padding:0;}
#article-content .links li{margin:10px 0;}
#article-content .link{color:var(--zeef2d-primary); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:3px; font-weight:700;}
#article-content .link:focus-visible{outline:3px solid var(--zeef2d-secondary); outline-offset:3px; border-radius:6px;}
#article-content .note{margin-top:22px; background:var(--zeef2d-surface); border:1px solid var(--zeef2d-border); border-radius:var(--zeef2d-radius-lg, 18px); padding:16px 16px 14px 16px;}
#article-content .note-title{margin:0 0 8px 0; font-weight:900; color:var(--zeef2d-primary); font-size:16px; letter-spacing:0.01em;}
#article-content .note-text{margin:0; color:var(--zeef2d-text); font-size:16px; line-height:1.7;}
#article-content ::selection{background:rgba(217,119,43,0.25);} 
#article-content .article-body a[aria-disabled="true"]{pointer-events:none; opacity:0.6;}
@media (max-width: 720px){
  #article-content .article-title{font-size:30px;}
  #article-content .article-meta{font-size:16px;}
  #article-content p,#article-content .list li{font-size:16px;}
  #article-content{padding:34px 0;}
}
@media (prefers-reduced-motion: reduce){
  #article-content *{scroll-behavior:auto; transition:none !important;}
}

/* zeef2d:related-articles */
/* zeef2d:related-articles */
#related-articles.related-articles{--ra-primary:var(--zeef2d-primary);--ra-ink:var(--zeef2d-ink);--ra-surface:var(--zeef2d-surface);--ra-border:var(--zeef2d-border);--ra-mist:var(--zeef2d-mist);--ra-accent:var(--zeef2d-accent);background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:24px 0 10px 0;}
#related-articles .related-articles__wrap{max-width:1100px;margin:0 auto;padding:0 16px;}
#related-articles .related-articles__header{display:block;margin-bottom:14px;}
#related-articles .related-articles__title{font-family:var(--zeef2d-font-display);letter-spacing:-0.02em;color:var(--zeef2d-ink);font-size:28px;line-height:1.15;margin:0 0 8px 0;font-weight:700;text-wrap:balance;}
#related-articles .related-articles__subtitle{margin:0;color:var(--zeef2d-slate);font-size:16px;line-height:1.55;max-width:70ch;}
#related-articles .related-articles__list{list-style:none;padding:0;margin:16px 0 6px 0;display:grid;grid-template-columns:1fr;gap:12px;}
#related-articles .related-articles__card{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg);padding:14px 14px 12px 14px;box-shadow:0 10px 26px rgba(11,58,83,0.08);}
#related-articles .related-articles__link{display:block;text-decoration:none;color:var(--zeef2d-ink);outline:none;}
#related-articles .related-articles__link:focus-visible{box-shadow:0 0 0 4px rgba(217,119,43,0.28);border-radius:var(--zeef2d-radius-md);}
#related-articles .related-articles__meta{display:inline-block;font-size:13px;line-height:1.2;color:var(--zeef2d-primary);font-weight:700;margin-bottom:8px;}
#related-articles .related-articles__card-title{margin:0;color:var(--zeef2d-text);font-family:var(--zeef2d-font);font-size:18px;line-height:1.35;font-weight:650;text-wrap:balance;}
#related-articles .related-articles__cta-row{margin:16px 0 6px 0;}
#related-articles .related-articles__cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:11px 16px;border-radius:var(--zeef2d-radius-md);border:1px solid rgba(217,119,43,0.65);background:rgba(217,119,43,0.08);color:var(--zeef2d-ink);font-weight:800;text-decoration:none;}
#related-articles .related-articles__cta:hover{background:rgba(217,119,43,0.14);}
#related-articles .related-articles__cta:focus-visible{box-shadow:0 0 0 4px rgba(217,119,43,0.28);outline:none;}
#related-articles ::selection{background:rgba(217,119,43,0.25);}
@media (min-width: 760px){
  #related-articles .related-articles__list{grid-template-columns:1fr 1fr;gap:14px;}
  #related-articles .related-articles__title{font-size:34px;}
}
@media (prefers-reduced-motion: reduce){
  #related-articles .related-articles__card{box-shadow:none;}
  #related-articles .related-articles__cta{transition:none;}
}
/* zeef2d:article-hero */
/* zeef2d:article-hero */
#article-hero{--radius-lg:18px;--radius-md:14px;--space-0:0;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;font-family:var(--zeef2d-font);background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:var(--space-12) 0;}
#article-hero *{box-sizing:border-box;}
#article-hero ::selection{background:rgba(217,119,43,0.25);}
#article-hero .hero-wrap{max-width:1120px;margin:0 auto;padding:0 20px;}
#article-hero .hero-grid{display:grid;grid-template-columns:1.35fr 0.65fr;gap:22px;align-items:start;}
#article-hero .hero-header{padding:4px 0 0 0;}
#article-hero .hero-kicker{display:inline-flex;align-items:center;gap:10px;font-family:var(--zeef2d-font-display);letter-spacing:0.02em;color:var(--zeef2d-primary);font-weight:700;font-size:0.95rem;margin:0 0 12px 0;}
#article-hero .hero-title{margin:0 0 16px 0;font-size:2.35rem;line-height:1.08;letter-spacing:-0.02em;font-weight:800;text-wrap:balance;}
#article-hero .hero-meta{margin:0 0 18px 0;}
#article-hero .meta-list{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;}
#article-hero .meta-item{margin:0;padding:12px 14px;border:1px solid var(--zeef2d-border);border-radius:var(--radius-md);background:var(--zeef2d-surface);}
#article-hero .meta-label{font-size:0.85rem;letter-spacing:0.01em;color:var(--zeef2d-slate);font-weight:700;margin:0 0 6px 0;}
#article-hero .meta-value{margin:0;font-size:1rem;line-height:1.35;color:var(--zeef2d-text);font-weight:650;}
#article-hero .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px;}
#article-hero .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:var(--radius-md);text-decoration:none;font-weight:800;font-size:1rem;line-height:1;transition:transform 120ms ease, background-color 140ms ease, border-color 140ms ease, color 140ms ease;}
#article-hero .btn:focus-visible{outline:3px solid rgba(217,119,43,0.35);outline-offset:2px;}
#article-hero .btn-primary{background:var(--zeef2d-primary);color:var(--zeef2d-bg);border:1px solid var(--zeef2d-primary);}
#article-hero .btn-primary:hover{transform:translateY(-1px);background:color-mix(in srgb, var(--zeef2d-primary) 88%, var(--zeef2d-secondary) 12%);}
#article-hero .btn-ghost{background:var(--zeef2d-bg);color:var(--zeef2d-primary);border:2px solid color-mix(in srgb, var(--zeef2d-primary) 65%, var(--zeef2d-secondary) 35%);}
#article-hero .btn-ghost:hover{transform:translateY(-1px);background:var(--zeef2d-surface);}
#article-hero .hero-aside{padding-top:8px;}
#article-hero .aside-panel{border:1px solid var(--zeef2d-border);border-radius:var(--radius-lg);background:linear-gradient(180deg, var(--zeef2d-surface), rgba(245,247,248,0.65));padding:18px 16px;}
#article-hero .aside-title{margin:0 0 12px 0;font-size:1.05rem;letter-spacing:-0.01em;font-weight:900;color:var(--zeef2d-ink);}
#article-hero .aside-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
#article-hero .aside-list li{display:flex;gap:10px;align-items:flex-start;color:var(--zeef2d-text);font-weight:650;line-height:1.35;}
#article-hero .bullet{color:var(--zeef2d-secondary);font-weight:900;flex:0 0 auto;}
#article-hero .aside-note{margin:14px 0 0 0;color:var(--zeef2d-slate);font-weight:650;line-height:1.45;}
#article-hero .hero-photo{margin-top:18px;border-radius:var(--radius-lg);border:1px solid var(--zeef2d-border);background:var(--zeef2d-primary);min-height:210px;position:relative;overflow:hidden;display:flex;align-items:flex-end;}
#article-hero .photo-sheen{position:absolute;inset:-40% -30%;background:radial-gradient(closest-side at 30% 30%, rgba(217,119,43,0.45), rgba(217,119,43,0) 60%),radial-gradient(closest-side at 70% 60%, rgba(217,119,43,0.22), rgba(217,119,43,0) 62%);transform:rotate(-8deg);}
#article-hero .photo-caption{position:relative;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 16px 18px 16px;}
#article-hero .cap-tag{background:rgba(255,255,255,0.14);border:1px solid rgba(255,255,255,0.26);color:var(--zeef2d-bg);font-weight:900;border-radius:999px;padding:8px 12px;font-size:0.9rem;}
#article-hero .cap-text{color:rgba(255,255,255,0.92);font-weight:750;line-height:1.35;}
@media (max-width: 900px){#article-hero .hero-grid{grid-template-columns:1fr;gap:16px;}#article-hero .hero-title{font-size:2.05rem;}#article-hero .hero-photo{min-height:190px;}}
@media (prefers-reduced-motion: reduce){#article-hero .btn{transition:none;}#article-hero .btn-primary:hover,#article-hero .btn-ghost:hover{transform:none;}}

/* zeef2d:article-content */
/* zeef2d:article-content */
#article-content.article-content{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:28px 16px 46px;}
#article-content .article-shell{max-width:980px;margin:0 auto;}
#article-content .article-header{padding:6px 2px 22px;border-bottom:1px solid var(--zeef2d-border);}
#article-content .article-title{font-family:var(--zeef2d-font-display);font-size:clamp(26px,3.2vw,42px);line-height:1.08;letter-spacing:-0.02em;margin:0 0 12px;font-weight:800;text-wrap:balance;}
#article-content .article-meta{margin:0;font-family:var(--zeef2d-font);font-size:16px;line-height:1.7;color:var(--zeef2d-slate);max-width:72ch;}
#article-content .article-body{padding:22px 2px 0;}
#article-content .section-heading{font-family:var(--zeef2d-font-display);font-size:22px;line-height:1.25;margin:26px 0 12px;font-weight:800;color:var(--zeef2d-ink);letter-spacing:-0.01em;text-wrap:balance;}
#article-content p{margin:0 0 14px;font-family:var(--zeef2d-font);font-size:16px;line-height:1.85;color:var(--zeef2d-ink);}
#article-content ul{margin:0 0 16px 18px;padding:0;}
#article-content .content-list li{margin:8px 0;color:var(--zeef2d-ink);font-size:16px;line-height:1.8;}
#article-content .content-list strong{font-weight:800;}
#article-content .callout{display:flex;gap:14px;align-items:flex-start;margin:18px 0 22px;padding:16px 16px;border-radius:var(--zeef2d-radius-lg,18px);background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);}
#article-content .callout-mark{width:36px;height:36px;border-radius:999px;background:var(--zeef2d-primary);color:var(--zeef2d-bg);display:flex;align-items:center;justify-content:center;font-weight:900;flex:0 0 auto;}
#article-content .callout-title{margin:0 0 6px;font-family:var(--zeef2d-font-display);font-weight:900;font-size:16px;letter-spacing:-0.01em;}
#article-content .callout-body{margin:0;color:var(--zeef2d-slate);font-size:15px;line-height:1.75;}
#article-content .reading-block{margin:18px 0 22px;padding:16px 16px;border-left:4px solid var(--zeef2d-secondary);background:var(--zeef2d-surface);border-radius:var(--zeef2d-radius-md,14px);border:1px solid var(--zeef2d-border);}
#article-content .reading-title{margin:0 0 10px;font-family:var(--zeef2d-font-display);font-weight:900;font-size:18px;}
#article-content .content-steps{margin:0 0 10px 18px;padding:0;}
#article-content .content-steps li{margin:8px 0;color:var(--zeef2d-ink);font-size:16px;line-height:1.8;}
#article-content .related-links{display:grid;grid-template-columns:1fr;gap:10px;margin:12px 0 8px;}
#article-content .related-link{display:block;padding:12px 14px;border:1px solid var(--zeef2d-border);background:var(--zeef2d-bg);border-radius:var(--zeef2d-radius-sm,10px);color:var(--zeef2d-primary);text-decoration:none;font-weight:800;line-height:1.3;}
#article-content .related-link:focus-visible{outline:3px solid var(--zeef2d-secondary);outline-offset:2px;}
#article-content .related-link:hover{background:var(--zeef2d-surface);}
#article-content .closing{margin-top:18px;padding-top:14px;border-top:1px solid var(--zeef2d-border);color:var(--zeef2d-slate);}
#article-content *::selection{background:rgba(217,119,43,0.25);}
@media (min-width:720px){
  #article-content{padding:36px 20px 58px;}
  #article-content .section-heading{font-size:24px;}
  #article-content .related-links{grid-template-columns:1fr 1fr;}
  #article-content .article-meta{font-size:17px;}
}
@media (prefers-reduced-motion:reduce){
  #article-content .related-link{transition:none;}
}

/* zeef2d:related-articles */
/* zeef2d:related-articles */
#related-articles{--ra-pad:clamp(18px,3vw,32px);background:var(--zeef2d-surface);border-top:1px solid var(--zeef2d-border);border-bottom:1px solid var(--zeef2d-border);padding:var(--ra-pad) 0;}
#related-articles .container{max-width:1060px;margin:0 auto;padding:0 18px;}
#related-articles .section-head{display:flex;flex-direction:column;gap:10px;margin-bottom:18px;}
#related-articles .section-title{font-family:var(--zeef2d-font-display);font-weight:800;letter-spacing:-0.02em;line-height:1.15;font-size:clamp(22px,3.2vw,32px);color:var(--zeef2d-primary);margin:0;}
#related-articles .section-lead{margin:0;max-width:70ch;color:var(--zeef2d-ink);font-family:var(--zeef2d-font);font-size:16px;line-height:1.65;}
#related-articles .cards{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;}
#related-articles .article-card{grid-column:span 12;background:var(--zeef2d-bg);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg,18px);padding:14px 14px 16px;box-shadow:0 10px 24px rgba(11,58,83,0.08);}
#related-articles .card-title{margin:0 0 8px 0;font-family:var(--zeef2d-font-display);font-size:18px;line-height:1.25;color:var(--zeef2d-ink);}
#related-articles .card-link{color:var(--zeef2d-primary);text-decoration:none;}
#related-articles .card-link:focus-visible{outline:3px solid var(--zeef2d-secondary);outline-offset:3px;border-radius:8px;}
#related-articles .card-link:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;}
#related-articles .card-meta{margin:0;color:var(--zeef2d-slate);font-family:var(--zeef2d-font);font-size:14px;line-height:1.6;}
#related-articles .more{margin-top:16px;display:flex;align-items:center;justify-content:flex-start;}
#related-articles .ghost-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border:2px solid var(--zeef2d-primary);border-radius:14px;background:var(--zeef2d-bg);color:var(--zeef2d-primary);font-family:var(--zeef2d-font-display);font-weight:700;text-decoration:none;}
#related-articles .ghost-button:hover{border-color:var(--zeef2d-accent);color:var(--zeef2d-primary);}
#related-articles .ghost-button:focus-visible{outline:3px solid var(--zeef2d-secondary);outline-offset:3px;}
#related-articles ::selection{background:rgba(217,119,43,0.25);}
@media (min-width:720px){
  #related-articles .article-card{grid-column:span 6;}
}
@media (min-width:980px){
  #related-articles .article-card{grid-column:span 4;}
}
@media (prefers-reduced-motion:reduce){
  #related-articles .card-link:hover,#related-articles .ghost-button:hover{transition:none;}
}

/* zeef2d:article-hero */
/* zeef2d:article-hero */
#article-hero.article-hero{position:relative;overflow:hidden;background:var(--zeef2d-bg);border-bottom:1px solid var(--zeef2d-border);}
#article-hero .article-hero__bg{position:absolute;inset:-1px;pointer-events:none;background:
radial-gradient(900px 420px at 10% 10%, rgba(215,119,43,0.18), transparent 55%),
radial-gradient(720px 360px at 80% 0%, rgba(11,58,83,0.14), transparent 58%),
linear-gradient(180deg, rgba(245,247,248,1) 0%, rgba(245,247,248,1) 65%, rgba(255,255,255,1) 100%);
}
#article-hero .article-hero__container{position:relative;max-width:1060px;margin:0 auto;padding:72px 20px 54px;}
#article-hero .article-hero__header{max-width:900px;}
#article-hero .article-hero__kicker{display:flex;gap:12px;align-items:center;margin-bottom:14px;flex-wrap:wrap;}
#article-hero .article-hero__badge{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;background:rgba(215,119,43,0.12);border:1px solid rgba(215,119,43,0.35);color:var(--zeef2d-accent);font:600 13px/1.1 var(--zeef2d-font);letter-spacing:0.2px;}
#article-hero .article-hero__meta{color:var(--zeef2d-slate);font:500 14px/1.3 var(--zeef2d-font);}
#article-hero .article-hero__title{margin:0 0 16px;font:700 44px/1.05 var(--zeef2d-font-display);letter-spacing:-0.4px;color:var(--zeef2d-ink);text-wrap:balance;}
#article-hero .article-hero__meta-row{margin:0 0 16px;}
#article-hero .article-hero__dl{display:flex;gap:22px;flex-wrap:wrap;margin:0;}
#article-hero .article-hero__dl-item{display:flex;gap:10px;align-items:baseline;padding:10px 14px;border-radius:var(--zeef2d-radius-md,14px);background:rgba(245,247,248,0.8);border:1px solid var(--zeef2d-border);}
#article-hero .article-hero__dt{color:var(--zeef2d-slate);font:600 12px/1.2 var(--zeef2d-font);letter-spacing:0.18px;text-transform:none;}
#article-hero .article-hero__dd{margin:0;color:var(--zeef2d-ink);font:600 14px/1.2 var(--zeef2d-font);}
#article-hero .article-hero__lead{margin:0 0 22px;color:var(--zeef2d-text);font:500 18px/1.6 var(--zeef2d-font);max-width:78ch;}
#article-hero .article-hero__actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
#article-hero .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:var(--zeef2d-radius-md,14px);text-decoration:none;font:700 15px/1 var(--zeef2d-font-display);letter-spacing:0.1px;transition:transform 120ms ease, background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;}
#article-hero .btn:focus-visible{outline:3px solid rgba(11,58,83,0.35);outline-offset:3px;}
#article-hero .btn--primary{background:var(--zeef2d-primary);color:var(--zeef2d-bg);border:1px solid var(--zeef2d-primary);box-shadow:0 10px 22px rgba(11,58,83,0.12);}
#article-hero .btn--primary:hover{background:#0a3248;transform:translateY(-1px);}
#article-hero .btn--outline{background:transparent;color:var(--zeef2d-ink);border:2px solid var(--zeef2d-border);}
#article-hero .btn--outline:hover{border-color:rgba(11,58,83,0.55);background:rgba(245,247,248,0.75);transform:translateY(-1px);}
#article-hero ::selection{background:rgba(215,119,43,0.28);}
@media (max-width: 820px){#article-hero .article-hero__container{padding:56px 18px 44px;}
#article-hero .article-hero__title{font-size:34px;}
#article-hero .article-hero__lead{font-size:16px;}}
@media (prefers-reduced-motion: reduce){#article-hero .btn{transition:none;}}

/* zeef2d:article-content */
/* zeef2d:article-content */
#article-content{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:0 16px;}
#article-content .article-shell{max-width:980px;margin:0 auto;padding:26px 0 40px;}
#article-content .article-header{padding:18px 0 16px;}
#article-content .article-kicker{font-family:var(--zeef2d-font);letter-spacing:.02em;color:var(--zeef2d-primary);font-weight:700;font-size:14px;text-transform:none;}
#article-content .article-title{font-family:var(--zeef2d-font-display);text-wrap:balance;margin:10px 0 10px;font-size:40px;line-height:1.08;letter-spacing:-.02em;color:var(--zeef2d-ink);}
#article-content .article-meta{margin:0;max-width:70ch;font-size:16px;line-height:1.7;color:var(--zeef2d-ink);}
#article-content .article-body{border-top:1px solid var(--zeef2d-border);padding-top:22px;}
#article-content .article-body h2{margin:26px 0 10px;font-family:var(--zeef2d-font-display);font-size:24px;line-height:1.25;letter-spacing:-.01em;color:var(--zeef2d-ink);}
#article-content .article-body p{margin:0 0 14px;line-height:1.8;font-size:16px;color:var(--zeef2d-ink);}
#article-content .list{margin:10px 0 18px;padding-left:18px;}
#article-content .list li{margin:8px 0;line-height:1.75;color:var(--zeef2d-ink);}
#article-content .callout{margin:18px 0 8px;padding:16px 16px;border:1px solid var(--zeef2d-border);background:var(--zeef2d-surface);border-radius:var(--zeef2d-lg);}
#article-content .callout h3{margin:0 0 8px;font-family:var(--zeef2d-font-display);font-size:18px;color:var(--zeef2d-ink);}
#article-content .article-links{margin:22px 0 0;padding:16px;border:1px solid var(--zeef2d-border);background:var(--zeef2d-surface);border-radius:var(--zeef2d-lg);}
#article-content .links-title{margin:0 0 10px;font-family:var(--zeef2d-font-display);font-size:18px;color:var(--zeef2d-ink);}
#article-content .links-list{margin:0;padding-left:18px;}
#article-content .links-list li{margin:10px 0;}
#article-content .link{color:var(--zeef2d-primary);text-decoration:underline;text-decoration-color:var(--zeef2d-border);text-underline-offset:3px;}
#article-content .link:focus-visible{outline:3px solid var(--zeef2d-accent);outline-offset:3px;border-radius:6px;}
#article-content .article-footer{margin-top:26px;display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;border-top:1px solid var(--zeef2d-border);padding-top:16px;}
#article-content .small{margin:0;max-width:70ch;color:var(--zeef2d-slate);font-size:14px;line-height:1.6;}
#article-content .button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:var(--zeef2d-md);padding:12px 16px;font-weight:800;font-size:15px;font-family:var(--zeef2d-font);text-decoration:none;cursor:pointer;}
#article-content .button-primary{background:var(--zeef2d-primary);color:#fff;border:2px solid var(--zeef2d-primary);}
#article-content .button-primary:hover{background:#0a3348;border-color:#0a3348;}
#article-content .button-primary:focus-visible{outline:3px solid var(--zeef2d-accent);outline-offset:3px;}
#article-content ::selection{background:rgba(217,119,43,.25);}
@media (max-width:720px){#article-content .article-title{font-size:32px;}#article-content .article-shell{padding:18px 0 34px;}#article-content .article-footer{justify-content:flex-start;}}
@media (prefers-reduced-motion:reduce){#article-content .button-primary:hover{transition:none;}}
/* zeef2d:related-articles */
/* zeef2d:related-articles */
.related-articles{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:48px 0;}
.related-articles .container{max-width:1080px;margin:0 auto;padding:0 18px;}
.related-articles .head{display:flex;gap:18px;align-items:flex-end;justify-content:space-between;margin-bottom:22px;}
.related-articles .title{font-family:var(--zeef2d-font-display);font-size:34px;letter-spacing:-0.02em;line-height:1.1;margin:0;color:var(--zeef2d-ink);text-wrap:balance;}
.related-articles .lede{margin:0;max-width:520px;font-size:16px;line-height:1.6;color:var(--zeef2d-slate);}
.related-articles .cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.related-card{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-lg);overflow:hidden;}
.related-link{display:block;color:inherit;text-decoration:none;outline:none;}
.related-card-inner{padding:18px 18px 16px 18px;min-height:184px;display:flex;flex-direction:column;gap:10px;}
.related-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.related-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;background:rgba(217,119,43,0.12);border:1px solid rgba(217,119,43,0.22);color:var(--zeef2d-primary);font-size:13px;font-weight:700;}
.related-sep{color:rgba(16,42,47,0.35);}
.related-small{color:var(--zeef2d-slate);font-size:13px;}
.related-name{margin:0;font-family:var(--zeef2d-font-display);font-size:18px;line-height:1.25;color:var(--zeef2d-ink);text-wrap:balance;}
.related-desc{margin:0;color:var(--zeef2d-slate);font-size:14px;line-height:1.6;}
.related-link:focus-visible .related-card{box-shadow:0 0 0 3px rgba(217,119,43,0.35);}
.related-link:focus-visible .related-chip{border-color:rgba(217,119,43,0.55);}
.related-link:hover .related-name{color:var(--zeef2d-primary);}
.more{margin-top:18px;}
.more-link{display:inline-block;padding:12px 14px;border-radius:var(--radius-md, var(--zeef2d-radius-md));border:1px solid var(--zeef2d-border);background:transparent;color:var(--zeef2d-primary);text-decoration:none;font-weight:800;letter-spacing:0.01em;}
.more-link:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(16,58,83,0.25);} 
.more-link:hover{background:rgba(245,247,248,0.7);} 
@media (max-width: 980px){.related-articles .head{flex-direction:column;align-items:flex-start;}.related-articles .cards{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 640px){.related-articles{padding:36px 0;}.related-articles .title{font-size:28px;}.related-articles .cards{grid-template-columns:1fr;}.related-card-inner{min-height:auto;}}
.related-articles ::selection{background:rgba(217,119,43,0.25);}
@media (prefers-reduced-motion: reduce){.related-link:hover .related-name{transition:none;}}

/* zeef2d:article-hero */
/* zeef2d:article-hero */

#article-hero{background:var(--zeef2d-surface);color:var(--zeef2d-ink);padding:28px 0 18px;}
#article-hero .article-hero__container{max-width:1040px;margin:0 auto;padding:0 18px;}
#article-hero .article-hero__top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px;}
#article-hero .article-hero__kicker{font-family:var(--zeef2d-font);font-size:14px;letter-spacing:0.02em;color:var(--zeef2d-primary);background:rgba(11,58,83,0.08);border:1px solid rgba(11,58,83,0.14);padding:8px 12px;border-radius:var(--zeef2d-radius-sm,10px);}
#article-hero .article-hero__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
#article-hero .article-hero__meta-item{font-size:13px;color:var(--zeef2d-slate);}
#article-hero .article-hero__meta-sep{color:rgba(16,42,47,0.35);}
#article-hero .article-hero__title{font-family:var(--zeef2d-font-display);font-size:44px;line-height:1.05;letter-spacing:-0.02em;margin:10px 0 12px;text-wrap:balance;}
#article-hero .article-hero__lede{font-size:18px;line-height:1.6;max-width:74ch;margin:0 0 18px;color:var(--zeef2d-text);}
#article-hero .article-hero__cta-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:18px 0 16px;}
#article-hero .article-hero__button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:var(--zeef2d-radius-md,14px);text-decoration:none;font-size:16px;font-weight:700;line-height:1;border:1px solid transparent;}
#article-hero .article-hero__button--primary{background:var(--zeef2d-primary);color:var(--zeef2d-bg);border-color:rgba(11,58,83,0.35);}
#article-hero .article-hero__button--ghost{background:var(--zeef2d-bg);color:var(--zeef2d-primary);border-color:var(--zeef2d-border);}
#article-hero .article-hero__button:focus-visible{outline:3px solid rgba(217,119,43,0.6);outline-offset:2px;}
#article-hero .article-hero__button--primary:hover{filter:brightness(1.03);}
#article-hero .article-hero__button--ghost:hover{border-color:rgba(11,58,83,0.35);}
#article-hero .article-hero__note{display:flex;gap:12px;align-items:flex-start;max-width:860px;background:var(--zeef2d-bg);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg,18px);padding:14px 14px;}
#article-hero .article-hero__note-mark{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:10px;background:rgba(217,119,43,0.12);color:var(--zeef2d-secondary);border:1px solid rgba(217,119,43,0.25);font-weight:800;}
#article-hero .article-hero__note-text{margin:0;font-size:15px;line-height:1.55;color:var(--zeef2d-text);} 
@media (max-width: 720px){
  #article-hero{padding:22px 0 14px;}
  #article-hero .article-hero__title{font-size:34px;}
  #article-hero .article-hero__lede{font-size:16px;}
}
@media (prefers-reduced-motion: reduce){
  #article-hero .article-hero__button{transition:none;}
}
#article-hero ::selection{background:rgba(217,119,43,0.25);}

/* zeef2d:article-content */
/* zeef2d:article-content */
#article-content{--pad:clamp(18px,3vw,28px);background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:clamp(24px,4vw,44px) 0}
#article-content .article-container{max-width:1120px;margin:0 auto;padding:0 var(--pad)}
#article-content .article-intro{margin-bottom:22px}
#article-content .article-kicker{font-family:var(--zeef2d-font-display);text-transform:none;letter-spacing:.02em;color:var(--zeef2d-secondary);font-weight:700;margin:0 0 10px 0;font-size:13px}
#article-content .article-title{font-family:var(--zeef2d-font-display);font-size:clamp(28px,4.2vw,44px);line-height:1.08;letter-spacing:-.02em;margin:0 0 12px 0;text-wrap:balance}
#article-content .article-lead{margin:0;max-width:78ch;color:var(--zeef2d-text);font-size:16.5px;line-height:1.75}
#article-content .article-layout{display:grid;grid-template-columns:320px 1fr;gap:26px;align-items:start}
#article-content .article-toc{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius,14px);padding:18px 18px 16px 18px;position:sticky;top:18px;align-self:start}
#article-content .toc-title{margin:0 0 10px 0;font-size:16px;font-weight:800;color:var(--zeef2d-ink);letter-spacing:-.01em}
#article-content .toc-list{margin:0;padding-left:18px}
#article-content .toc-item{margin:10px 0}
#article-content .toc-link{color:var(--zeef2d-ink);text-decoration:underline;text-decoration-color:var(--zeef2d-border);text-underline-offset:4px;font-weight:650;outline:none}
#article-content .toc-link:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--zeef2d-secondary) 30%,transparent);border-radius:8px}
#article-content .toc-note{margin-top:14px;padding-top:12px;border-top:1px solid var(--zeef2d-border)}
#article-content .toc-note-title{margin:0 0 6px 0;font-weight:900;color:var(--zeef2d-ink)}
#article-content .toc-note-text{margin:0;color:var(--zeef2d-slate);line-height:1.6;font-size:14.5px}
#article-content .article-body{min-width:0}
#article-content .article-section{padding:18px 0 8px 0}
#article-content .section-title{margin:0 0 10px 0;font-family:var(--zeef2d-font-display);font-size:clamp(20px,2.3vw,26px);letter-spacing:-.015em;line-height:1.2}
#article-content .section-paragraph{margin:0 0 12px 0;line-height:1.75;color:var(--zeef2d-ink);font-size:16px}
#article-content .callout{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius,14px);padding:14px 14px 12px 14px;margin:12px 0 10px 0}
#article-content .callout-title{margin:0 0 10px 0;font-weight:900;color:var(--zeef2d-ink)}
#article-content .checklist{margin:0;padding-left:18px;color:var(--zeef2d-slate)}
#article-content .check-item{margin:8px 0;line-height:1.6}
#article-content .checklist-alt{padding-left:18px}
#article-content .route-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
#article-content .tile{border:1px solid var(--zeef2d-border);background:var(--zeef2d-bg);border-radius:var(--zeef2d-radius,14px);padding:14px}
#article-content .tile-title{margin:0 0 6px 0;font-weight:900;color:var(--zeef2d-ink)}
#article-content .tile-text{margin:0;color:var(--zeef2d-slate);line-height:1.65;font-size:14.8px}
#article-content .mini-map{border-left:3px solid var(--zeef2d-secondary);padding:12px 14px;background:color-mix(in srgb,var(--zeef2d-surface) 85%, white);border-radius:var(--zeef2d-radius,14px);border:1px solid color-mix(in srgb,var(--zeef2d-border) 70%, transparent)}
#article-content .mini-map-title{margin:0 0 6px 0;font-weight:950;color:var(--zeef2d-ink)}
#article-content .mini-map-text{margin:0;color:var(--zeef2d-slate);line-height:1.65}
#article-content .article-cta{padding:22px 0 8px 0}
#article-content .cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}
#article-content .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--zeef2d-radius,14px);padding:12px 16px;font-weight:850;text-decoration:none;outline:none;line-height:1.1;min-width:180px}
#article-content .btn-primary{background:var(--zeef2d-primary);color:var(--zeef2d-bg);border:1px solid var(--zeef2d-primary)}
#article-content .btn-primary:hover{background:color-mix(in srgb,var(--zeef2d-primary) 86%, var(--zeef2d-secondary) 14%)}
#article-content .btn-primary:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--zeef2d-secondary) 35%, transparent)}
#article-content .btn-ghost{background:var(--zeef2d-bg);color:var(--zeef2d-ink);border:1px solid var(--zeef2d-border)}
#article-content .btn-ghost:hover{border-color:color-mix(in srgb,var(--zeef2d-secondary) 55%, var(--zeef2d-border));background:color-mix(in srgb,var(--zeef2d-surface) 80%, white)}
#article-content .btn-ghost:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--zeef2d-secondary) 35%, transparent)}
#article-content .article-bottom{margin-top:22px;padding-top:16px;border-top:1px solid var(--zeef2d-border)}
#article-content .bottom-text{margin:0 0 10px 0;color:var(--zeef2d-slate);line-height:1.7}
#article-content .bottom-link{color:var(--zeef2d-secondary);text-decoration:underline;text-decoration-color:var(--zeef2d-secondary);text-underline-offset:4px;font-weight:800}
#article-content .bottom-link:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--zeef2d-secondary) 35%, transparent);border-radius:10px}
#article-content ::selection{background:color-mix(in srgb,var(--zeef2d-secondary) 30%, white)}
@media (max-width: 920px){#article-content .article-layout{grid-template-columns:1fr;gap:18px}#article-content .article-toc{position:relative;top:auto}}
@media (prefers-reduced-motion: reduce){#article-content *{scroll-behavior:auto;transition:none !important}}

/* zeef2d:related-articles */
/* zeef2d:related-articles */
#related-articles.related-articles{background:var(--zeef2d-surface);border-top:1px solid var(--zeef2d-border)}
#related-articles .container{max-width:1080px;margin:0 auto;padding:42px 20px 54px}
#related-articles .section-header{display:flex;gap:18px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;margin-bottom:22px}
#related-articles .section-title{margin:0;font-family:var(--zeef2d-font-display);font-size:34px;line-height:1.1;letter-spacing:-0.02em;color:var(--zeef2d-ink);text-wrap:balance}
#related-articles .section-subtitle{margin:0;max-width:600px;font-family:var(--zeef2d-font);font-size:16px;line-height:1.7;color:var(--zeef2d-text)}
#related-articles .articles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
#related-articles .article-card{background:var(--zeef2d-bg);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg,18px);padding:18px 18px 16px;min-height:168px;display:flex;flex-direction:column;gap:10px}
#related-articles .article-meta{display:flex;align-items:center;gap:10px}
#related-articles .pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid var(--zeef2d-border);background:var(--zeef2d-surface);color:var(--zeef2d-primary);font-family:var(--zeef2d-font);font-size:12.5px;line-height:1;font-weight:700}
#related-articles .article-title{margin:0;font-family:var(--zeef2d-font-display);font-size:18px;line-height:1.25;letter-spacing:-0.01em}
#related-articles .article-link{color:var(--zeef2d-primary);text-decoration:none}
#related-articles .article-link:focus-visible{outline:3px solid var(--zeef2d-secondary);outline-offset:2px;border-radius:6px}
#related-articles .article-link:hover{text-decoration:underline}
#related-articles .article-text{margin:0;color:var(--zeef2d-text);font-family:var(--zeef2d-font);font-size:14.5px;line-height:1.65}
#related-articles .more-wrap{margin-top:22px;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}
#related-articles .ghost-link{color:var(--zeef2d-primary);text-decoration:none;font-family:var(--zeef2d-font);font-weight:800;border:1px solid var(--zeef2d-border);background:var(--zeef2d-bg);padding:10px 14px;border-radius:12px}
#related-articles .ghost-link:focus-visible{outline:3px solid var(--zeef2d-secondary);outline-offset:2px}
#related-articles .ghost-link:hover{background:var(--zeef2d-surface)}
#related-articles .primary-link{color:var(--zeef2d-bg);text-decoration:none;font-family:var(--zeef2d-font);font-weight:900;background:var(--zeef2d-primary);padding:10px 14px;border-radius:12px;border:1px solid var(--zeef2d-primary)}
#related-articles .primary-link:focus-visible{outline:3px solid var(--zeef2d-secondary);outline-offset:2px}
#related-articles .primary-link:hover{filter:brightness(1.03)}
#related-articles .separator{color:var(--zeef2d-slate);font-weight:800}
#related-articles ::selection{background:rgba(217,119,43,.25);color:var(--zeef2d-ink)}
@media (max-width: 900px){#related-articles .articles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 560px){#related-articles .container{padding:34px 16px 44px}#related-articles .section-title{font-size:28px}#related-articles .articles-grid{grid-template-columns:1fr}#related-articles .article-card{min-height:auto}}
@media (prefers-reduced-motion: reduce){#related-articles .article-link,#related-articles .ghost-link,#related-articles .primary-link{transition:none}}

/* zeef2d:article-hero */
/* zeef2d:article-hero */
#article-hero{--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--max:1080px;display:block;background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:48px 16px 22px;position:relative;overflow:hidden}
#article-hero::selection{background:var(--zeef2d-secondary);color:var(--zeef2d-bg)}
.article-hero__inner{max-width:var(--max);margin:0 auto}
.article-hero__header{padding:18px 0 10px}
.article-hero__kicker{display:inline-flex;align-items:center;gap:10px;font-family:var(--zeef2d-font);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--zeef2d-secondary);background:rgba(217,119,43,.10);border:1px solid rgba(217,119,43,.25);padding:8px 12px;border-radius:999px}
.article-hero__title{margin:14px 0 12px;font-family:var(--zeef2d-font-display, var(--zeef2d-font));font-weight:700;letter-spacing:-0.02em;line-height:1.08;font-size:clamp(30px, 4.2vw, 46px);text-wrap:balance}
.article-hero__lead{margin:0;max-width:78ch;font-size:16px;line-height:1.65;color:var(--zeef2d-ink)}
.article-hero__meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.meta-pill{display:flex;flex-direction:column;gap:4px;min-width:160px;padding:12px 14px;border:1px solid var(--zeef2d-border);background:var(--zeef2d-surface);border-radius:var(--radius-md)}
.meta-pill__label{font-size:12px;color:var(--zeef2d-slate);letter-spacing:.02em}
.meta-pill__value{font-size:14px;font-weight:650;color:var(--zeef2d-ink);font-variant-numeric:tabular-nums}
.article-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:var(--radius-md);text-decoration:none;font-weight:650;line-height:1;font-family:var(--zeef2d-font-display, var(--zeef2d-font));border:1px solid transparent;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}
.btn:focus-visible{outline:3px solid rgba(217,119,43,.35);outline-offset:2px}
.btn--primary{background:var(--zeef2d-primary);color:var(--zeef2d-bg);border-color:var(--zeef2d-primary)}
.btn--primary:hover{background:#093249;transform:translateY(-1px)}
.btn--ghost{background:transparent;color:var(--zeef2d-ink);border-color:var(--zeef2d-border)}
.btn--ghost:hover{border-color:rgba(16,42,47,.35);background:rgba(245,247,248,.8);transform:translateY(-1px)}
.btn[aria-disabled="true"],.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.article-hero__info{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding:14px 14px;border-radius:var(--radius-lg);border:1px solid rgba(217,119,43,.25);background:rgba(217,119,43,.08)}
.article-hero__info-mark{width:26px;height:26px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--zeef2d-secondary);color:var(--zeef2d-bg);font-weight:800;flex:0 0 auto;margin-top:2px}
.article-hero__info-text{margin:0;font-size:14px;line-height:1.6;color:var(--zeef2d-ink)}
.article-hero__divider{height:1px;background:var(--zeef2d-border);margin-top:26px}
@media (max-width:640px){#article-hero{padding-top:34px} .meta-pill{min-width:0;flex:1} .article-hero__actions{gap:10px} .btn{width:100%}}
@media (prefers-reduced-motion:reduce){.btn{transition:none} .btn--primary:hover,.btn--ghost:hover{transform:none}}

/* zeef2d:article-content */
/* zeef2d:article-content */
#article-content.article-content{--ac:#D9772B;--ink:var(--zeef2d-ink);--slate:var(--zeef2d-slate);--border:var(--zeef2d-border);--bg:var(--zeef2d-bg);--surface:var(--zeef2d-surface);--mist:var(--zeef2d-mist);background:var(--zeef2d-bg);padding:44px 16px 60px;}
#article-content .article{max-width:980px;margin:0 auto;color:var(--zeef2d-text);}
#article-content .article-header{margin-bottom:26px;}
#article-content .article-kicker{font-family:var(--zeef2d-font);color:var(--zeef2d-slate);letter-spacing:.02em;text-transform:none;font-size:14px;margin:0 0 10px;}
#article-content .article-title{margin:0 0 14px;font-family:var(--zeef2d-font-display);font-size:38px;line-height:1.08;letter-spacing:-.02em;text-wrap:balance;}
#article-content .article-lead{margin:0;font-size:18px;line-height:1.65;color:var(--zeef2d-ink);max-width:820px;}
#article-content .article-body{display:block;}
#article-content .content-block{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg,18px);padding:22px 18px;margin:18px 0;}
#article-content .content-block h2{margin:0 0 10px;font-family:var(--zeef2d-font-display);font-size:24px;letter-spacing:-.01em;color:var(--zeef2d-ink);}
#article-content .content-block h3{margin:0 0 10px;font-family:var(--zeef2d-font-display);font-size:18px;color:var(--zeef2d-ink);}
#article-content .content-block p{margin:0 0 12px;line-height:1.75;font-size:16.5px;color:var(--zeef2d-ink);} 
#article-content ul{margin:12px 0 0;padding-left:18px;}
#article-content li{margin:10px 0;line-height:1.65;font-size:16.5px;color:var(--zeef2d-ink);} 
#article-content .checklist{list-style:none;padding-left:0;}
#article-content .checklist li{display:flex;gap:10px;align-items:flex-start;}
#article-content .checklist li::before{content:"✓";color:var(--zeef2d-secondary);font-weight:700;flex:0 0 auto;margin-top:2px;}
#article-content .checklist.compact li{margin:8px 0;}
#article-content .note{margin:14px 0 6px;padding:14px 14px;border-radius:var(--zeef2d-radius-md,14px);border:1px solid var(--zeef2d-border);background:var(--zeef2d-bg);} 
#article-content .note-title{margin:0 0 6px;font-family:var(--zeef2d-font-display);font-weight:700;color:var(--zeef2d-primary);}
#article-content .note-text{margin:0;font-size:16.5px;line-height:1.7;color:var(--zeef2d-ink);} 
#article-content .steps{list-style:none;padding-left:0;margin-top:14px;display:flex;flex-direction:column;gap:10px;}
#article-content .steps li{display:flex;gap:12px;align-items:flex-start;}
#article-content .step-index{width:28px;height:28px;border-radius:999px;background:var(--zeef2d-secondary);color:var(--zeef2d-bg);display:inline-flex;align-items:center;justify-content:center;font-family:var(--zeef2d-font-display);font-weight:800;flex:0 0 auto;margin-top:2px;}
#article-content .step-text{font-size:16.5px;line-height:1.65;color:var(--zeef2d-ink);}
#article-content .two-col{display:grid;grid-template-columns:1fr;gap:16px;margin-top:12px;}
#article-content .col-title{margin-bottom:8px;}
#article-content .mini-list{margin:0;padding-left:18px;}
#article-content .mini-list li{margin:8px 0;}
#article-content .callout{margin-top:14px;background:var(--zeef2d-bg);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-md,14px);padding:12px 14px;}
#article-content .article-footer{margin-top:18px;padding:18px 14px;border-radius:var(--zeef2d-radius-lg,18px);border:1px solid var(--zeef2d-border);background:var(--zeef2d-surface);} 
#article-content .article-footer-text{margin:0 0 14px;font-size:16.5px;line-height:1.7;color:var(--zeef2d-ink);} 
#article-content .footer-actions{display:flex;flex-wrap:wrap;gap:12px;}
#article-content .btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-family:var(--zeef2d-font-display);font-weight:800;letter-spacing:.01em;border-radius:var(--zeef2d-radius-md,14px);padding:12px 16px;border:1px solid transparent;min-height:44px;}
#article-content .btn-primary{background:var(--zeef2d-primary);color:var(--zeef2d-bg);border-color:var(--zeef2d-primary);} 
#article-content .btn-outline{background:var(--zeef2d-bg);color:var(--zeef2d-primary);border-color:var(--zeef2d-border);} 
#article-content .btn:focus-visible{outline:3px solid var(--zeef2d-accent);outline-offset:2px;}
#article-content .content-block .btn{margin-top:2px;}
#article-content ::selection{background:rgba(217,119,43,.25);}
@media (min-width:760px){
  #article-content{padding:62px 20px 76px;}
  #article-content .article-title{font-size:46px;}
  #article-content .content-block{padding:26px 22px;}
  #article-content .two-col{grid-template-columns:1fr 1fr;}
}
@media (prefers-reduced-motion:reduce){
  #article-content *{scroll-behavior:auto;}
}

/* zeef2d:related-articles */
#related-articles { --ra-primary: var(--zeef2d-primary); --ra-secondary: var(--zeef2d-secondary); --ra-ink: var(--zeef2d-ink); --ra-slate: var(--zeef2d-slate); --ra-mist: var(--zeef2d-mist); --ra-border: var(--zeef2d-border); --ra-surface: var(--zeef2d-surface); --ra-bg: var(--zeef2d-bg); --ra-radius-md: var(--zeef2d-radius-md, 14px); }
/* zeef2d:related-articles */
#related-articles .related-articles__container{max-width:1060px;margin:0 auto;padding:48px 20px 10px;}
#related-articles .related-articles__header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px;}
#related-articles .related-articles__title{margin:0;font-family:var(--zeef2d-font-display, var(--zeef2d-font));font-size:32px;line-height:1.1;letter-spacing:-0.02em;color:var(--zeef2d-ink);text-wrap:balance;}
#related-articles .related-articles__subtitle{margin:0;max-width:560px;color:var(--zeef2d-slate);font-size:16px;line-height:1.6;}
#related-articles .related-articles__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;}
#related-articles .related-articles__card{background:var(--zeef2d-bg);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg, 18px);overflow:hidden;position:relative;}
#related-articles .related-articles__card::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg, rgba(217,119,43,0.16), rgba(11,58,83,0.06));opacity:0;transition:opacity 200ms ease;pointer-events:none;}
#related-articles .related-articles__card-link{display:block;padding:18px 18px 16px;position:relative;z-index:1;text-decoration:none;color:inherit;height:100%;}
#related-articles .related-articles__meta{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap;}
#related-articles .related-articles__kicker{display:inline-block;font-size:12px;letter-spacing:0.02em;text-transform:none;color:var(--zeef2d-primary);background:rgba(11,58,83,0.06);border:1px solid rgba(11,58,83,0.12);padding:6px 10px;border-radius:999px;}
#related-articles .related-articles__dot{color:var(--zeef2d-slate);font-size:14px;line-height:1;}
#related-articles .related-articles__card-title{margin:0;font-size:18px;line-height:1.35;color:var(--zeef2d-ink);font-family:var(--zeef2d-font);font-weight:700;text-wrap:balance;}
#related-articles .related-articles__card-link:focus-visible{outline:3px solid rgba(217,119,43,0.55);outline-offset:3px;border-radius:14px;}
#related-articles .related-articles__card:hover::before{opacity:1;}
#related-articles .related-articles__footer{display:flex;align-items:center;justify-content:flex-start;gap:14px;flex-wrap:wrap;margin-top:18px;padding-top:18px;border-top:1px solid var(--zeef2d-border);}
#related-articles .related-articles__backlink{color:var(--zeef2d-primary);text-decoration:underline;text-decoration-color:rgba(11,58,83,0.35);text-underline-offset:3px;font-weight:650;}
#related-articles .related-articles__backlink:hover{text-decoration-color:rgba(217,119,43,0.9);}
#related-articles .related-articles__backlink--secondary{color:var(--zeef2d-secondary);text-decoration-color:rgba(217,119,43,0.45);} 
#related-articles .related-articles__backlink:focus-visible{outline:3px solid rgba(217,119,43,0.55);outline-offset:4px;border-radius:10px;}
::selection{background:rgba(217,119,43,0.25);}
#related-articles *{box-sizing:border-box;}
@media (max-width:860px){#related-articles .related-articles__header{flex-direction:column;align-items:flex-start;}#related-articles .related-articles__subtitle{max-width:none;}#related-articles .related-articles__list{grid-template-columns:1fr;}}
@media (prefers-reduced-motion: reduce){#related-articles .related-articles__card::before{transition:none;}}
/* zeef2d:article-hero */
/* zeef2d:article-hero */
#article-hero{position:relative;background:var(--zeef2d-bg);color:var(--zeef2d-text);overflow:hidden;}
#article-hero .article-hero__bg{position:absolute;inset:-2px;background:
 radial-gradient(1000px 500px at 12% 18%, rgba(217,119,43,.18), rgba(217,119,43,0) 60%),
 radial-gradient(900px 420px at 85% 30%, rgba(11,58,83,.16), rgba(11,58,83,0) 62%);
 pointer-events:none;}
#article-hero .article-hero__container{position:relative;max-width:1120px;margin:0 auto;padding:48px 20px 30px;display:flex;gap:28px;align-items:flex-start;}
#article-hero .article-hero__content{flex:1;min-width:0;}
#article-hero .kicker{display:inline-block;padding:8px 12px;border:1px solid var(--zeef2d-border);border-radius:999px;background:rgba(245,247,248,.75);font-size:13px;letter-spacing:.2px;color:var(--zeef2d-ink);}
#article-hero .headline{margin:18px 0 12px;font-family:var(--zeef2d-font-display);font-size:clamp(30px,3.2vw,46px);line-height:1.08;letter-spacing:-.4px;text-wrap:balance;}
#article-hero .lede{margin:0 0 18px;max-width:58ch;font-size:16px;line-height:1.7;color:var(--zeef2d-text);}
#article-hero .meta{display:flex;flex-wrap:wrap;gap:14px 18px;margin:18px 0 18px;padding:14px 14px;background:rgba(245,247,248,.85);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-md);}
#article-hero .meta__item{display:flex;gap:10px;align-items:baseline;}
#article-hero .meta__label{font-size:12px;color:var(--zeef2d-slate);text-transform:none;letter-spacing:.3px;}
#article-hero .meta__value{font-size:14px;color:var(--zeef2d-ink);font-weight:700;}
#article-hero .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px;}
#article-hero .btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:var(--zeef2d-radius-md);text-decoration:none;font-weight:700;font-size:14px;line-height:1;gap:10px;}
#article-hero .btn--primary{background:var(--zeef2d-primary);color:var(--zeef2d-bg);border:1px solid var(--zeef2d-primary);}
#article-hero .btn--primary:focus-visible{outline:3px solid rgba(11,58,83,.35);outline-offset:2px;}
#article-hero .btn--ghost{background:var(--zeef2d-bg);color:var(--zeef2d-primary);border:1px solid rgba(217,119,43,.65);}
#article-hero .btn--ghost:focus-visible{outline:3px solid rgba(217,119,43,.35);outline-offset:2px;}
#article-hero .btn--ghost:hover{background:rgba(217,119,43,.08);} 
#article-hero .note{margin-top:16px;padding:12px 14px;border-radius:var(--zeef2d-radius-md);background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);color:var(--zeef2d-text);font-size:14px;line-height:1.6;}
#article-hero .article-hero__aside{width:340px;flex:0 0 auto;}
#article-hero .aside-card{background:rgba(245,247,248,.9);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg);padding:18px 18px 14px;position:relative;}
#article-hero .aside-card__title{margin:0 0 10px;font-size:16px;letter-spacing:-.2px;}
#article-hero .aside-list{margin:0;padding-left:18px;}
#article-hero .aside-list__item{margin:10px 0;font-size:14px;line-height:1.55;color:var(--zeef2d-text);}
#article-hero .aside-link{display:inline-block;margin-top:12px;color:var(--zeef2d-primary);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;font-weight:700;font-size:14px;}
#article-hero .aside-link:focus-visible{outline:3px solid rgba(11,58,83,.35);outline-offset:3px;border-radius:10px;}
#article-hero .aside-figure{margin-top:14px;}
#article-hero .aside-figure__frame{height:118px;border-radius:var(--zeef2d-radius-lg);border:1px solid var(--zeef2d-border);background:
 linear-gradient(180deg, rgba(217,119,43,.12), rgba(217,119,43,0));position:relative;overflow:hidden;}
#article-hero .aside-figure__mark{position:absolute;left:16px;top:14px;font-weight:800;color:var(--zeef2d-primary);font-size:16px;}
#article-hero .aside-figure__line{position:absolute;left:16px;right:16px;bottom:18px;height:2px;background:rgba(11,58,83,.22);}
#article-hero .aside-figure__dot{position:absolute;right:34px;bottom:12px;width:12px;height:12px;border-radius:50%;background:var(--zeef2d-secondary);box-shadow:0 10px 22px rgba(217,119,43,.25);} 
#article-hero .aside-figure__caption{margin-top:10px;font-size:13px;color:var(--zeef2d-slate);line-height:1.5;}
#article-hero ::selection{background:rgba(217,119,43,.22);}
@media (max-width: 920px){#article-hero .article-hero__container{flex-direction:column;padding-top:34px;}#article-hero .article-hero__aside{width:100%;}}
@media (prefers-reduced-motion: reduce){#article-hero *{scroll-behavior:auto;transition:none !important;animation:none !important;}}

/* zeef2d:article-content */
/* zeef2d:article-content */
#article-content{--ac-pad:clamp(18px,3.6vw,36px);background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:var(--ac-pad) 0 44px 0;}
#article-content *{box-sizing:border-box;}
#article-content .article-container{max-width:1080px;margin:0 auto;padding:0 18px;}
#article-content .article-header{margin-bottom:18px;}
#article-content .article-kicker{display:inline-block;font-family:var(--zeef2d-font);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--zeef2d-secondary);margin:0 0 10px 0;}
#article-content .article-title{font-family:var(--zeef2d-font-display);font-weight:700;font-size:clamp(26px,3.4vw,44px);line-height:1.08;letter-spacing:-.02em;text-wrap:balance;margin:0 0 12px 0;color:var(--zeef2d-ink);}
#article-content .article-intro{font-family:var(--zeef2d-font);font-size:16px;line-height:1.65;color:var(--zeef2d-text);max-width:72ch;margin:0;}
#article-content .article-grid{display:grid;grid-template-columns:280px 1fr;gap:28px;align-items:start;margin-top:18px;}
#article-content .article-toc{position:relative;border:1px solid var(--zeef2d-border);background:var(--zeef2d-surface);border-radius:var(--zeef2d-radius-md);padding:16px 16px 14px 16px;}
#article-content .toc-title{margin:0 0 10px 0;font-family:var(--zeef2d-font-display);font-size:18px;letter-spacing:-.01em;color:var(--zeef2d-ink);}
#article-content .toc-list{margin:0;padding-left:18px;}
#article-content .toc-list li{margin:10px 0;}
#article-content .toc-link{display:inline-block;color:var(--zeef2d-primary);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px;font-family:var(--zeef2d-font);font-size:14px;line-height:1.4;}
#article-content .toc-link:hover{border-bottom-color:var(--zeef2d-secondary);}
#article-content .toc-link:focus-visible{outline:3px solid rgba(217,119,43,.35);outline-offset:3px;border-bottom-color:var(--zeef2d-secondary);}
#article-content .toc-note{margin:14px 0 0 0;font-family:var(--zeef2d-font);font-size:13px;line-height:1.55;color:var(--zeef2d-slate);}
#article-content .article-body{min-width:0;}
#article-content .prose{margin:0 0 22px 0;padding:18px 18px 20px 18px;border-radius:var(--zeef2d-radius-lg);border:1px solid transparent;}
#article-content .prose-title{margin:0 0 10px 0;font-family:var(--zeef2d-font-display);font-size:22px;letter-spacing:-.01em;color:var(--zeef2d-ink);}
#article-content .prose-p{margin:0 0 12px 0;font-family:var(--zeef2d-font);font-size:16px;line-height:1.75;color:var(--zeef2d-text);}
#article-content .prose-list{margin:0;padding-left:20px;font-family:var(--zeef2d-font);font-size:15px;line-height:1.75;color:var(--zeef2d-text);}
#article-content .prose-list--tight{padding-left:18px;margin-top:8px;}
#article-content .prose-list li{margin:8px 0;}
#article-content .callout{border:1px solid var(--zeef2d-border);background:var(--zeef2d-surface);border-radius:var(--zeef2d-radius-md);padding:14px 14px 12px 14px;margin:14px 0 12px 0;}
#article-content .callout-title{margin:0 0 10px 0;font-family:var(--zeef2d-font-display);font-weight:700;color:var(--zeef2d-ink);font-size:16px;letter-spacing:-.01em;}
#article-content .callout-list{margin:0;padding-left:18px;font-family:var(--zeef2d-font);font-size:14px;line-height:1.65;color:var(--zeef2d-text);}
#article-content .prose-steps{margin:0;padding-left:20px;font-family:var(--zeef2d-font);color:var(--zeef2d-text);line-height:1.7;font-size:15px;}
#article-content .prose-steps li{margin:10px 0;}
#article-content .meal-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:12px;}
#article-content .meal-card{border:1px solid var(--zeef2d-border);background:var(--zeef2d-surface);border-radius:var(--zeef2d-radius-md);padding:14px;}
#article-content .meal-title{margin:0 0 6px 0;font-family:var(--zeef2d-font-display);font-size:16px;font-weight:700;color:var(--zeef2d-ink);}
#article-content .meal-p{margin:0;font-family:var(--zeef2d-font);font-size:14px;line-height:1.65;color:var(--zeef2d-text);}
#article-content .article-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;}
#article-content .primary-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border-radius:var(--zeef2d-radius-md);background:var(--zeef2d-primary);color:var(--zeef2d-bg);text-decoration:none;font-family:var(--zeef2d-font-display);font-size:15px;font-weight:700;border:1px solid var(--zeef2d-primary);}
#article-content .primary-link:hover{background:color-mix(in srgb, var(--zeef2d-primary) 92%, var(--zeef2d-secondary) 8%);}
#article-content .primary-link:focus-visible{outline:3px solid rgba(11,58,83,.25);outline-offset:3px;}
#article-content .secondary-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border-radius:var(--zeef2d-radius-md);background:var(--zeef2d-surface);color:var(--zeef2d-primary);text-decoration:none;font-family:var(--zeef2d-font-display);font-size:15px;font-weight:700;border:1px solid var(--zeef2d-border);}
#article-content .secondary-link:hover{border-color:var(--zeef2d-secondary);}
#article-content .secondary-link:focus-visible{outline:3px solid rgba(217,119,43,.25);outline-offset:3px;border-color:var(--zeef2d-secondary);}
#article-content .article-footer{margin-top:10px;padding:16px 18px;border-top:1px solid var(--zeef2d-border);}
#article-content .article-footer-text{margin:0;font-family:var(--zeef2d-font);color:var(--zeef2d-slate);font-size:14px;line-height:1.6;}
#article-content ::selection{background:rgba(217,119,43,.28);}
@media (max-width: 900px){
  #article-content .article-grid{grid-template-columns:1fr;}
  #article-content .article-toc{order:2;}
}
@media (prefers-reduced-motion: reduce){
  #article-content .toc-link,#article-content .primary-link,#article-content .secondary-link{transition:none;}
}

/* zeef2d:related-articles */
/* zeef2d:related-articles */
#related-articles{--ra-pad:clamp(20px,4vw,40px);--ra-ink:var(--zeef2d-ink);--ra-primary:var(--zeef2d-primary);--ra-secondary:var(--zeef2d-secondary);--ra-border:var(--zeef2d-border);--ra-surface:var(--zeef2d-surface);--ra-mist:var(--zeef2d-mist);background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:var(--ra-pad) 0;}
#related-articles::selection{background:rgba(217,119,43,.25);}
#related-articles .related-articles-inner{max-width:1040px;margin:0 auto;padding:0 18px;}
#related-articles .related-articles-header{margin-bottom:22px;}
#related-articles .related-articles-title{font-family:var(--zeef2d-font-display);font-weight:700;letter-spacing:-0.02em;line-height:1.15;margin:0 0 10px 0;font-size:clamp(26px,4.2vw,38px);text-wrap:balance;color:var(--zeef2d-ink);}
#related-articles .related-articles-subtitle{margin:0;max-width:70ch;line-height:1.6;font-size:16px;color:var(--zeef2d-slate);}
#related-articles .related-articles-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:14px;}
#related-articles .related-article-card{background:var(--zeef2d-surface);border:1px solid var(--ra-border);border-radius:var(--zeef2d-radius-md,14px);padding:16px 16px 14px 16px;box-shadow:0 10px 30px rgba(11,58,83,.06);}
#related-articles .related-article-name{margin:0 0 8px 0;font-family:var(--zeef2d-font);font-size:18px;line-height:1.35;color:var(--zeef2d-ink);font-weight:700;text-wrap:balance;}
#related-articles .related-article-meta{margin:0 0 12px 0;color:var(--zeef2d-slate);line-height:1.55;font-size:14.5px;}
#related-articles .related-article-link{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;color:var(--zeef2d-primary);font-weight:700;text-decoration:none;border:1px solid var(--ra-mist);background:#fff;border-radius:12px;padding:10px 12px;}
#related-articles .related-article-link::after{content:"›";font-weight:800;color:var(--zeef2d-secondary);}
#related-articles .related-article-link:focus-visible{outline:3px solid rgba(217,119,43,.35);outline-offset:2px;}
#related-articles .related-article-link:hover{border-color:rgba(217,119,43,.55);}
#related-articles .related-articles-actions{margin-top:16px;display:flex;justify-content:flex-start;}
#related-articles .related-articles-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border-radius:14px;border:1px solid rgba(217,119,43,.55);background:var(--zeef2d-bg);color:var(--zeef2d-primary);font-weight:800;text-decoration:none;}
#related-articles .related-articles-secondary:focus-visible{outline:3px solid rgba(217,119,43,.35);outline-offset:2px;}
#related-articles .related-articles-secondary:hover{background:rgba(217,119,43,.08);}
@media (min-width:860px){
  #related-articles .related-articles-list{grid-template-columns:1fr 1fr;gap:16px;}
}
@media (prefers-reduced-motion:reduce){
  #related-articles *{scroll-behavior:auto;transition:none !important;}
}

/* zeef2d:article-hero */
/* zeef2d:article-hero */
#article-hero{--radius-sm:var(--zeef2d-radius-sm,10px);--radius-md:var(--zeef2d-radius-md,14px);--radius-lg:var(--zeef2d-radius-lg,18px);background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:24px 0 34px}
#article-hero .container{max-width:1100px;margin:0 auto;padding:0 18px}
#article-hero .hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:26px;align-items:start}
#article-hero .breadcrumb{margin:0 0 12px}
#article-hero .breadcrumb-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center}
#article-hero .crumb{color:var(--zeef2d-slate);font-family:var(--zeef2d-font);font-size:14px}
#article-hero .crumb-link{color:var(--zeef2d-primary);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s ease}
#article-hero .crumb-link:focus-visible{outline:3px solid color-mix(in srgb,var(--zeef2d-secondary),white 25%);outline-offset:3px;border-bottom-color:var(--zeef2d-secondary)}
#article-hero .crumb-link:hover{border-bottom-color:var(--zeef2d-secondary)}
#article-hero .hero-title{margin:0 0 14px;font-family:var(--zeef2d-font-display);font-weight:800;letter-spacing:-0.02em;line-height:1.08;font-size:40px;text-wrap:balance}
#article-hero .hero-meta{margin:0 0 18px;padding:14px 16px;border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-md,14px);background:var(--zeef2d-surface)}
#article-hero .meta-item{margin:0 0 8px;font-family:var(--zeef2d-font);font-size:15px;color:var(--zeef2d-text)}
#article-hero .meta-item:last-child{margin-bottom:0}
#article-hero .meta-label{font-weight:700;color:var(--zeef2d-primary);margin-right:8px}
#article-hero .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 14px}
#article-hero .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 14px;border-radius:var(--zeef2d-radius-sm,10px);text-decoration:none;font-family:var(--zeef2d-font);font-weight:800;font-size:15px;line-height:1;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,transform .15s ease}
#article-hero .btn:focus-visible{outline:3px solid color-mix(in srgb,var(--zeef2d-secondary),white 20%);outline-offset:3px}
#article-hero .btn.primary{background:var(--zeef2d-primary);color:var(--zeef2d-bg);border:1px solid var(--zeef2d-primary)}
#article-hero .btn.primary:hover{background:color-mix(in srgb,var(--zeef2d-primary),var(--zeef2d-secondary) 18%)}
#article-hero .btn.outline{background:var(--zeef2d-bg);color:var(--zeef2d-primary);border:1px solid var(--zeef2d-primary)}
#article-hero .btn.outline:hover{background:color-mix(in srgb,var(--zeef2d-primary),white 92%)}
#article-hero .hero-intro{margin:0;font-family:var(--zeef2d-font);font-size:17px;line-height:1.6;color:color-mix(in srgb,var(--zeef2d-ink),white 0%)}
#article-hero .hero-aside{position:relative}
#article-hero .aside-card{border:1px solid var(--zeef2d-border);background:var(--zeef2d-surface);border-radius:var(--zeef2d-radius-lg,18px);padding:18px 16px}
#article-hero .aside-title{margin:0 0 10px;font-family:var(--zeef2d-font-display);font-size:20px;letter-spacing:-0.01em;line-height:1.2;color:var(--zeef2d-primary)}
#article-hero .aside-list{margin:0;padding:0 0 0 18px;list-style:disc}
#article-hero .aside-li{margin:10px 0;font-family:var(--zeef2d-font);font-size:15px;line-height:1.5;color:var(--zeef2d-text)}
#article-hero .aside-link{display:inline-block;margin-top:14px;font-weight:900;color:var(--zeef2d-primary);text-decoration:none;border-bottom:1px solid var(--zeef2d-border);padding-bottom:2px}
#article-hero .aside-link:focus-visible{outline:3px solid color-mix(in srgb,var(--zeef2d-secondary),white 20%);outline-offset:4px;border-bottom-color:var(--zeef2d-secondary)}
#article-hero .aside-link:hover{border-bottom-color:var(--zeef2d-secondary)}
#article-hero .aside-note{margin-top:12px;border-radius:var(--zeef2d-radius-md,14px);padding:14px 14px;background:var(--zeef2d-bg);border:1px solid var(--zeef2d-border)}
#article-hero .aside-note-text{margin:0;font-family:var(--zeef2d-font);font-size:14px;line-height:1.5;color:var(--zeef2d-slate)}
#article-hero ::selection{background:color-mix(in srgb,var(--zeef2d-secondary),white 20%);color:var(--zeef2d-bg)}
@media (max-width: 880px){#article-hero .hero-grid{grid-template-columns:1fr;gap:16px}#article-hero .hero-title{font-size:34px}#article-hero .meta-item{font-size:14px}#article-hero .hero-intro{font-size:16px}}
@media (prefers-reduced-motion: reduce){#article-hero .btn,#article-hero .crumb-link{transition:none}}
/* zeef2d:article-content */
/* zeef2d:article-content */
#article-content{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:22px 0 52px;font-family:var(--zeef2d-font)}
#article-content::selection{background:var(--zeef2d-secondary);color:#fff}
#article-content .article-container{max-width:1120px;margin:0 auto;padding:0 18px}
#article-content .article-header{padding:18px 0 18px}
#article-content .article-title{font-family:var(--zeef2d-font-display);font-weight:800;letter-spacing:-0.02em;line-height:1.12;margin:0 0 10px;font-size:clamp(26px,3.2vw,40px);text-wrap:balance}
#article-content .article-meta{margin:0;color:var(--zeef2d-slate);font-size:16px;line-height:1.7;max-width:70ch}
#article-content .article-grid{display:grid;grid-template-columns:320px 1fr;gap:22px;align-items:start}
#article-content .article-toc{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--radius-md);padding:16px 14px;position:sticky;top:14px}
#article-content .toc-title{margin:0 0 10px;font-size:14px;letter-spacing:0.02em;text-transform:uppercase;color:var(--zeef2d-ink)}
#article-content .toc-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
#article-content .toc-link{display:block;padding:10px 10px;border-radius:var(--radius-sm);color:var(--zeef2d-ink);text-decoration:none;border:1px solid transparent;background:transparent;font-weight:700;line-height:1.2}
#article-content .toc-link:focus-visible{outline:3px solid var(--zeef2d-secondary);outline-offset:2px}
#article-content .toc-link:hover{border-color:var(--zeef2d-border);background:rgba(217,119,43,0.06)}
#article-content .article-body{background:transparent}
#article-content .content-block{margin:0 0 18px;padding:18px 18px;border:1px solid var(--zeef2d-border);border-radius:var(--radius-lg);background:rgba(245,247,248,0.6)}
#article-content .content-block:last-child{margin-bottom:0}
#article-content .block-title{margin:0 0 10px;font-size:22px;letter-spacing:-0.01em;line-height:1.25}
#article-content .block-paragraph{margin:0 0 12px;line-height:1.8;color:var(--zeef2d-text);font-size:16px}
#article-content .feature-list{margin:10px 0 0;padding-left:18px}
#article-content .feature-list li{margin:8px 0;line-height:1.7;color:var(--zeef2d-text);font-size:16px}
#article-content .feature-list strong{color:var(--zeef2d-primary)}
#article-content .callouts{display:grid;grid-template-columns:1fr;gap:12px;margin-top:8px}
#article-content .callout{background:var(--zeef2d-bg);border:1px solid var(--zeef2d-border);border-radius:var(--radius-md);padding:14px 14px}
#article-content .callout-title{margin:0 0 6px;font-size:16px;color:var(--zeef2d-primary);font-weight:800}
#article-content .callout-text{margin:0;line-height:1.7;color:var(--zeef2d-text);font-size:15px}
#article-content .article-linkrow{margin-top:14px}
#article-content .text-button{display:inline-block;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--zeef2d-primary);background:var(--zeef2d-primary);color:#fff;text-decoration:none;font-weight:900;letter-spacing:0.01em}
#article-content .text-button:hover{background:#083142}
#article-content .text-button:focus-visible{outline:3px solid var(--zeef2d-secondary);outline-offset:2px}
@media (max-width: 900px){#article-content .article-grid{grid-template-columns:1fr}#article-content .article-toc{position:relative;top:auto}}
@media (prefers-reduced-motion: reduce){#article-content *{scroll-behavior:auto}}

/* zeef2d:related-articles */
#related-articles{--ra-brand:var(--zeef2d-primary);--ra-ink:var(--zeef2d-ink);--ra-slate:var(--zeef2d-slate);--ra-mist:var(--zeef2d-mist);--ra-border:var(--zeef2d-border);--ra-surface:var(--zeef2d-surface);--ra-bg:var(--zeef2d-bg);--ra-accent:var(--zeef2d-accent);background:var(--ra-bg);padding:48px 0;}/* zeef2d:related-articles */
#related-articles .related-articles__container{max-width:1120px;margin:0 auto;padding:0 20px;}
#related-articles .related-articles__header{display:block;margin-bottom:22px;}
#related-articles .related-articles__title{font-family:var(--zeef2d-font-display);color:var(--ra-ink);font-size:34px;line-height:1.1;margin:0 0 10px;letter-spacing:-0.02em;text-wrap:balance;}
#related-articles .related-articles__subtitle{margin:0;color:var(--ra-slate);font-family:var(--zeef2d-font);font-size:16px;line-height:1.6;max-width:74ch;}
#related-articles .related-articles__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch;margin:24px 0;}
#related-articles .related-article{background:var(--ra-surface);border:1px solid var(--ra-border);border-radius:var(--zeef2d-radius-md,14px);padding:16px 16px 14px;box-shadow:0 10px 24px rgba(11,58,83,0.06);}
#related-articles .related-article__title{margin:0 0 8px;font-family:var(--zeef2d-font-display);font-size:18px;line-height:1.25;}
#related-articles .related-article__link{color:var(--ra-ink);text-decoration:none;border-bottom:1px solid transparent;}
#related-articles .related-article__link:focus-visible{outline:3px solid rgba(217,119,43,0.35);outline-offset:3px;border-bottom-color:rgba(217,119,43,0.7);} 
#related-articles .related-article__link:hover{border-bottom-color:rgba(217,119,43,0.7);} 
#related-articles .related-article__meta{margin:0;color:var(--ra-slate);font-size:14px;line-height:1.55;}
#related-articles .related-articles__cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:10px;}
#related-articles .related-articles__button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:11px 14px;border-radius:var(--zeef2d-radius-md,14px);background:var(--ra-accent);color:var(--ra-bg);border:1px solid rgba(0,0,0,0);text-decoration:none;font-family:var(--zeef2d-font-display);font-size:15px;line-height:1.2;min-width:180px;}
#related-articles .related-articles__button:hover{background:var(--ra-accent);} 
#related-articles .related-articles__button:focus-visible{outline:3px solid rgba(217,119,43,0.35);outline-offset:3px;}
#related-articles .related-articles__button--ghost{background:transparent;color:var(--ra-ink);border:1px solid var(--ra-border);} 
#related-articles .related-articles__button--ghost:hover{border-color:rgba(217,119,43,0.7);} 
#related-articles .related-articles__button--ghost:focus-visible{outline:3px solid rgba(11,58,83,0.25);outline-offset:3px;}
#related-articles ::selection{background:rgba(217,119,43,0.22);}
@media (max-width: 980px){
  #related-articles .related-articles__list{grid-template-columns:repeat(2,minmax(0,1fr));}
  #related-articles .related-articles__title{font-size:30px;}
}
@media (max-width: 620px){
  #related-articles{padding:36px 0;}
  #related-articles .related-articles__list{grid-template-columns:1fr;}
  #related-articles .related-articles__subtitle{font-size:15px;}
  #related-articles .related-articles__button{min-width:0;width:100%;}
}
@media (prefers-reduced-motion: reduce){
  #related-articles *{scroll-behavior:auto;transition:none !important;animation:none !important;}
}

/* zeef2d:article-hero */
/* zeef2d:article-hero */
#article-hero{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:48px 0 24px;position:relative;overflow:hidden;}
#article-hero::before{content:"";position:absolute;inset:-40% -20% auto -20%;height:420px;background:linear-gradient(180deg, color-mix(in srgb,var(--zeef2d-primary) 10%, transparent), transparent);pointer-events:none;}
#article-hero .hero-inner{max-width:1100px;margin:0 auto;padding:0 20px;position:relative;}
#article-hero .hero-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px;}
#article-hero .hero-kicker{margin:0;font-family:var(--zeef2d-font);font-size:14px;letter-spacing:0.02em;color:color-mix(in srgb,var(--zeef2d-ink) 72%, var(--zeef2d-primary));text-transform:none;}
#article-hero .hero-badges{display:flex;gap:10px;flex-wrap:wrap;}
#article-hero .meta-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--zeef2d-border);border-radius:var(--radius-sm,10px);background:color-mix(in srgb,var(--zeef2d-surface) 78%, white);font-family:var(--zeef2d-font);font-size:13px;color:var(--zeef2d-ink);}
#article-hero .hero-title{margin:0;font-family:var(--zeef2d-font-display);font-weight:700;font-size:40px;line-height:1.12;letter-spacing:-0.02em;text-wrap:balance;}
#article-hero .hero-lead{margin:14px 0 0;max-width:820px;font-size:17px;line-height:1.65;color:color-mix(in srgb,var(--zeef2d-ink) 86%, var(--zeef2d-slate));font-family:var(--zeef2d-font);}
#article-hero .hero-meta{margin-top:18px;display:flex;gap:18px;flex-wrap:wrap;}
#article-hero .meta-block{min-width:220px;padding:14px 16px;border:1px solid var(--zeef2d-border);border-radius:var(--radius-md,14px);background:color-mix(in srgb,var(--zeef2d-surface) 92%, white);}
#article-hero .meta-label{margin:0 0 6px;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:color-mix(in srgb,var(--zeef2d-slate) 95%, white);font-family:var(--zeef2d-font);}
#article-hero .meta-value{margin:0;font-size:15px;line-height:1.4;color:var(--zeef2d-ink);font-family:var(--zeef2d-font);}
#article-hero .hero-actions{margin-top:22px;display:flex;gap:12px;flex-wrap:wrap;}
#article-hero .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:var(--radius-md,14px);font-family:var(--zeef2d-font);font-weight:700;text-decoration:none;font-size:15px;line-height:1;outline:none;}
#article-hero .btn-primary{background:var(--zeef2d-primary);color:var(--zeef2d-bg);border:1px solid color-mix(in srgb,var(--zeef2d-primary) 85%, black);}
#article-hero .btn-ghost{background:color-mix(in srgb,var(--zeef2d-surface) 92%, white);color:var(--zeef2d-ink);border:2px solid var(--zeef2d-border);}
#article-hero .btn-primary:focus-visible,#article-hero .btn-ghost:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,var(--zeef2d-secondary) 25%, transparent);}
#article-hero .btn-primary:hover{background:color-mix(in srgb,var(--zeef2d-primary) 92%, var(--zeef2d-secondary));}
#article-hero .btn-ghost:hover{border-color:color-mix(in srgb,var(--zeef2d-secondary) 45%, var(--zeef2d-border));}
#article-hero .hero-note{margin-top:18px;padding:14px 16px;border-left:4px solid var(--zeef2d-accent);border-radius:var(--radius-sm,10px);background:color-mix(in srgb,var(--zeef2d-surface) 84%, white);border:1px solid var(--zeef2d-border);}
#article-hero .hero-note-text{margin:0;font-size:15px;line-height:1.6;color:color-mix(in srgb,var(--zeef2d-ink) 88%, var(--zeef2d-slate));font-family:var(--zeef2d-font);}
#article-hero ::selection{background:color-mix(in srgb,var(--zeef2d-secondary) 25%, transparent);}
@media (max-width: 720px){
  #article-hero{padding:36px 0 18px;}
  #article-hero .hero-title{font-size:30px;}
  #article-hero .meta-block{min-width:unset;flex:1 1 200px;}
}
@media (prefers-reduced-motion: reduce){
  #article-hero *{scroll-behavior:auto;}
  #article-hero .btn{transition:none;}
}

/* zeef2d:article-content */
/* zeef2d:article-content */

#article-content.article-content{font-family:var(--zeef2d-font);background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:24px 0 40px}
#article-content .container{max-width:980px;margin:0 auto;padding:0 18px}
#article-content .article-meta{margin:10px 0 22px}
#article-content .article-kicker{display:inline-block;background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);color:var(--zeef2d-ink);padding:10px 12px;border-radius:var(--radius-md);font-weight:700;letter-spacing:-0.01em;font-size:14px}
#article-content .article-submeta{margin:10px 0 0;color:var(--zeef2d-slate);font-size:15px}
#article-content .title{font-size:30px;line-height:1.15;letter-spacing:-0.02em;margin:10px 0 14px;text-wrap:balance}
#article-content .lead{font-size:18px;line-height:1.7;color:var(--zeef2d-ink);margin:0 0 22px;max-width:78ch}
#article-content .section-heading{font-size:20px;line-height:1.35;margin:26px 0 10px;letter-spacing:-0.01em}
#article-content p{font-size:16px;line-height:1.8;margin:12px 0;color:var(--zeef2d-text)}
#article-content .callout{margin:18px 0 16px;background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--radius-lg);padding:16px 16px}
#article-content .callout-title{margin:0 0 10px;font-weight:800;letter-spacing:-0.01em}
#article-content .checklist{margin:0;padding-left:18px}
#article-content .checklist li{margin:8px 0;font-size:15px;line-height:1.6;color:var(--zeef2d-text)}
#article-content .two-col{display:grid;grid-template-columns:1fr;gap:14px;margin:10px 0 18px}
#article-content .side{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--radius-lg);padding:14px 14px}
#article-content .side-title{margin:0 0 10px;font-weight:900;letter-spacing:-0.01em}
#article-content .bullets{margin:0;padding-left:18px}
#article-content .bullets li{margin:8px 0;font-size:15px;line-height:1.65}
#article-content .ordered{margin:12px 0 0;padding-left:18px}
#article-content .ordered li{margin:10px 0;font-size:15px;line-height:1.65}
#article-content .note{margin-top:18px;color:var(--zeef2d-slate)}
#article-content .article-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
#article-content .btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:var(--radius-md);padding:12px 16px;font-weight:800;letter-spacing:-0.01em;font-size:15px;min-width:170px}
#article-content .btn-primary{background:var(--zeef2d-primary);color:#fff;border:1px solid var(--zeef2d-primary)}
#article-content .btn-ghost{background:transparent;color:var(--zeef2d-ink);border:1px solid var(--zeef2d-border)}
#article-content .btn:focus-visible{outline:3px solid var(--zeef2d-secondary);outline-offset:2px}
#article-content ::selection{background:rgba(217,119,43,0.28)}
#article-content a{color:inherit}

@media (min-width:860px){
  #article-content .container{padding:0 24px}
  #article-content .title{font-size:36px}
  #article-content .lead{font-size:19px}
  #article-content .two-col{grid-template-columns:1fr 1fr}
  #article-content .section-heading{font-size:22px}
}

@media (prefers-reduced-motion: reduce){
  #article-content *{scroll-behavior:auto}
}

/* zeef2d:related-articles */
/* zeef2d:related-articles */
#related-articles{background:var(--zeef2d-bg);color:var(--zeef2d-text);padding:48px 0;}
#related-articles .container{max-width:1100px;margin:0 auto;padding:0 18px;}
#related-articles .related-header{margin-bottom:20px;}
#related-articles .related-title{font-family:var(--zeef2d-font-display);font-size:34px;line-height:1.12;letter-spacing:-0.02em;margin:0 0 10px;font-weight:800;text-wrap:balance;}
#related-articles .related-subtitle{margin:0;max-width:74ch;font-size:16px;line-height:1.6;color:var(--zeef2d-slate);}
#related-articles .related-grid{display:grid;grid-template-columns:1fr;gap:14px;margin:22px 0 18px;padding:0;list-style:none;}
#related-articles .related-item{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--zeef2d-radius-lg,18px);padding:16px 16px;}
#related-articles .related-link{display:block;text-decoration:none;color:inherit;}
#related-articles .related-link:focus-visible{outline:3px solid var(--zeef2d-secondary);outline-offset:3px;border-radius:12px;}
#related-articles .related-kicker{display:inline-block;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:var(--zeef2d-primary);font-weight:800;margin-bottom:8px;}
#related-articles .related-item-title{display:block;font-family:var(--zeef2d-font);font-size:16px;line-height:1.45;color:var(--zeef2d-ink);font-weight:700;text-wrap:balance;}
#related-articles .related-actions{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0 8px;}
#related-articles .button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:var(--zeef2d-radius-md,14px);font-weight:800;text-decoration:none;line-height:1;transition:transform .12s ease, background-color .12s ease, border-color .12s ease, color .12s ease;}
#related-articles .button:active{transform:translateY(1px);}
#related-articles .button-primary{background:var(--zeef2d-primary);color:#fff;border:1px solid var(--zeef2d-primary);}
#related-articles .button-primary:hover{background:rgba(11,58,83,0.92);}
#related-articles .button-ghost{background:transparent;color:var(--zeef2d-primary);border:1px solid var(--zeef2d-primary);}
#related-articles .button-ghost:hover{background:var(--zeef2d-surface);}
#related-articles .button:focus-visible{outline:3px solid var(--zeef2d-secondary);outline-offset:3px;}
#related-articles .related-footnote{margin:10px 0 0;color:var(--zeef2d-slate);font-size:14px;line-height:1.6;}
@media (min-width:820px){
  #related-articles .related-grid{grid-template-columns:1fr 1fr;gap:14px;}
  #related-articles .related-item{padding:18px;}
}
@media (prefers-reduced-motion:reduce){
  #related-articles .button{transition:none;}
}
#related-articles ::selection{background:rgba(217,119,43,0.25);}

/* Design-system variables */
.policy-page{background:var(--zeef2d-bg);color:var(--zeef2d-text);font-family:var(--zeef2d-font);line-height:1.5;}
.policy-content{max-width:920px;margin:0 auto;padding:28px 18px 40px 18px;}
.policy-header{margin-bottom:18px;padding:18px;border:1px solid var(--zeef2d-border);background:var(--zeef2d-surface);border-radius:var(--radius-lg);}
.policy-h1{font-size:28px;line-height:1.2;margin:0 0 10px 0;color:var(--zeef2d-primary);font-family:var(--zeef2d-font-display);}
.policy-lead{margin:0;color:var(--zeef2d-text);}
.policy-section{margin-top:16px;padding:16px;border:1px solid var(--zeef2d-border);background:#ffffff;border-radius:var(--radius-md);}
.policy-h2{font-size:18px;margin:0 0 10px 0;color:var(--zeef2d-primary);font-family:var(--zeef2d-font-display);}
.policy-text{margin:0 0 10px 0;color:var(--zeef2d-text);}
.policy-note{margin:10px 0 0 0;padding:10px 12px;border-left:4px solid var(--zeef2d-secondary);background:rgba(217,119,43,0.06);border-radius:var(--radius-sm);color:var(--zeef2d-text);}
.policy-strong{font-weight:700;color:var(--zeef2d-ink);}
.policy-list{margin:0;padding-left:20px;}
.policy-list li{margin:7px 0;}
.policy-link{color:var(--zeef2d-primary);text-decoration:underline;}
.policy-link:hover{color:var(--zeef2d-secondary);}
.policy-contact{margin-top:10px;}
.policy-contact-line{margin:6px 0;}
.policy-footer{margin-top:18px;padding:14px 16px;border:1px solid var(--zeef2d-border);background:var(--zeef2d-surface);border-radius:var(--radius-md);}
.policy-small{font-size:13px;color:var(--zeef2d-slate);margin:0;}

/* Design-system variables are used via var(--zeef2d-*) */
.policy-page{background:var(--zeef2d-bg);color:var(--zeef2d-text);font-family:var(--zeef2d-font);line-height:1.6;}
.policy-wrapper{max-width:980px;margin:0 auto;padding:28px 18px 36px 18px;}
.policy-header{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--radius-lg);padding:22px 18px;margin-bottom:18px;}
.policy-title{margin:0 0 10px 0;font-family:var(--zeef2d-font-display);font-size:28px;line-height:1.2;color:var(--zeef2d-primary);letter-spacing:0.2px;}
.policy-lead{margin:0;color:var(--zeef2d-ink);}
.policy-section{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--radius-md);padding:18px;margin:14px 0;}
.policy-h2{margin:0 0 10px 0;font-size:18px;color:var(--zeef2d-primary);}
.policy-text{margin:10px 0;}
.policy-small{margin:10px 0 0 0;color:var(--zeef2d-slate);font-size:13px;}
.policy-link{color:var(--zeef2d-accent);text-decoration:underline;}
.policy-link:hover{color:var(--zeef2d-primary);}
.policy-list{margin:10px 0 0 18px;padding:0;}
.policy-li{margin:6px 0;}
.policy-footer{margin-top:18px;}
.policy-footer-card{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--radius-lg);padding:18px;}
.policy-footer-title{margin:0 0 10px 0;font-size:16px;color:var(--zeef2d-primary);}
@media (max-width:640px){.policy-wrapper{padding:20px 14px 28px 14px;}.policy-header{padding:18px 14px;}.policy-section{padding:16px 14px;}.policy-title{font-size:24px;}}

/* Design system variables (expected to exist in the page) */
.policy-page{max-width:980px;margin:0 auto;padding:28px 18px 10px 18px;}
.policy-header{background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--radius-lg);padding:18px;}
.policy-title{margin:0 0 8px 0;color:var(--zeef2d-primary);font-family:var(--zeef2d-font-display);font-size:28px;line-height:1.2;letter-spacing:0.2px;}
.policy-lead{margin:0;color:var(--zeef2d-text);font-size:16px;line-height:1.6;}
.policy-meta{margin:10px 0 0 0;color:var(--zeef2d-slate);font-size:13px;}
.policy-section{margin-top:18px;background:var(--zeef2d-bg);border:1px solid var(--zeef2d-border);border-radius:var(--radius-lg);padding:18px;}
.policy-h2{margin:0 0 10px 0;color:var(--zeef2d-primary);font-size:18px;line-height:1.35;}
.policy-p{margin:0 0 10px 0;color:var(--zeef2d-text);font-size:15px;line-height:1.7;}
.policy-list{margin:0;padding-left:18px;color:var(--zeef2d-text);font-size:15px;line-height:1.7;}
.policy-li{margin:6px 0;}
.policy-odr{margin:0 0 8px 0;}
.policy-link{color:var(--zeef2d-primary);text-decoration:underline;}
.policy-link:focus{outline:2px solid var(--zeef2d-secondary);outline-offset:2px;}
.policy-footnote{margin:0;color:var(--zeef2d-slate);font-size:12.5px;line-height:1.5;}
.policy-Heterocladm{color:var(--zeef2d-secondary);font-weight:600;}
.policy-contact{margin-top:8px;background:var(--zeef2d-surface);border:1px solid var(--zeef2d-border);border-radius:var(--radius-md);padding:14px;}
.policy-contact-line{margin:6px 0;color:var(--zeef2d-text);font-size:14px;line-height:1.5;}
.policy-contact-label{display:inline-block;min-width:180px;color:var(--zeef2d-slate);}
.policy-contact-value{font-weight:600;}
.policy-footer{margin-top:18px;background:var(--zeef2d-surface);border-top:1px solid var(--zeef2d-border);}
.policy-footer-inner{max-width:980px;margin:0 auto;padding:18px;}
.policy-footer-title{margin:0 0 6px 0;color:var(--zeef2d-primary);font-family:var(--zeef2d-font-display);font-size:16px;}
.policy-footer-text{margin:4px 0;color:var(--zeef2d-text);font-size:14px;line-height:1.5;}
.policy-footer-small{margin:8px 0 0 0;color:var(--zeef2d-slate);font-size:12.5px;line-height:1.5;}
.page{background:var(--zeef2d-bg);min-height:100vh;font-family:var(--zeef2d-font);color:var(--zeef2d-text);} 
@media (max-width:520px){.policy-title{font-size:24px;}.policy-contact-label{min-width:140px;}}
