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

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

/* sections */
/* gyyna:header */
/* gyyna:header */
#header{position:sticky;top:0;z-index:40;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;background:var(--gyyna-surface);border-bottom:1px solid var(--gyyna-border);padding:.7rem 4vw}
#header.is-scrolled{box-shadow:0 4px 14px rgba(26,46,25,.08)}
#header .brand{font-size:1.15rem;font-weight:600;color:var(--gyyna-ink);text-decoration:none}
#header .primary-nav{display:flex;align-items:center;gap:1.4rem}
#header .nav-list{display:flex;gap:1.4rem;margin:0;padding:0;list-style:none}
#header .nav-list a{color:var(--gyyna-ink);font-size:.95rem;text-decoration:none;padding:.7rem 0}
#header .nav-list a:hover{color:var(--gyyna-secondary);text-decoration:underline}
#header .nav-cta{background:var(--gyyna-primary);color:var(--gyyna-surface);text-decoration:none;padding:.7rem 1.1rem}
#header .nav-cta:hover{background:var(--gyyna-secondary)}
#header :focus-visible{outline:2px solid var(--gyyna-accent);outline-offset:3px}
#header .menu-toggle{display:none;min-height:44px;padding:.6rem .9rem;border:1px solid var(--gyyna-border);background:none;color:var(--gyyna-ink);cursor:pointer}
@media(max-width:767px){#header .menu-toggle{display:flex}#header .primary-nav{display:none;flex-direction:column;align-items:flex-start;gap:.5rem;padding-top:.6rem;border-top:1px solid var(--gyyna-border)}#header .nav-list{flex-direction:column}#header.is-open .primary-nav,#header .primary-nav.is-open{display:flex}}
/* gyyna:footer */
/* gyyna:footer */
#footer{background:var(--gyyna-secondary);color:var(--gyyna-surface);padding:clamp(3rem,7vw,5.5rem) clamp(1rem,4vw,3rem) 2rem;border-top:1px solid var(--gyyna-primary);font-variant-numeric:tabular-nums}
#footer ::selection{background:var(--gyyna-accent);color:var(--gyyna-surface)}
#footer .footer-inner,#footer .footer-legal,#footer .footer-bottom{max-width:72rem;margin:0 auto}
#footer .footer-inner{display:grid;grid-template-columns:1.5fr 1fr 1.2fr 1.3fr;gap:clamp(1.5rem,4vw,3rem);padding-bottom:2.5rem;border-bottom:1px solid var(--gyyna-primary)}
#footer .footer-logo{font-size:1.5rem;letter-spacing:-0.01em;margin:0 0 .6rem;text-wrap:balance}
#footer .footer-tagline{color:var(--gyyna-mist);font-size:.9rem;line-height:1.65;max-width:34ch;margin:0}
#footer .footer-heading{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gyyna-accent);margin:0 0 1rem;font-weight:600}
#footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}
#footer a{color:var(--gyyna-surface);text-decoration:none;font-size:.9rem;border-bottom:1px solid var(--gyyna-primary);padding-bottom:1px}
#footer a:hover{color:var(--gyyna-mist);border-bottom-color:var(--gyyna-accent)}
#footer a:focus-visible{outline:2px solid var(--gyyna-accent);outline-offset:3px}
#footer address{font-style:normal;color:var(--gyyna-mist);font-size:.9rem;line-height:1.75;display:flex;flex-direction:column;gap:.3rem}
#footer .footer-legal{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(1.5rem,4vw,3rem);padding-top:1.9rem;align-items:start}
#footer .footer-links{flex-direction:row;flex-wrap:wrap;gap:.45rem 1.4rem}
#footer .footer-disclaimer{margin:0;color:var(--gyyna-mist);font-size:.85rem;line-height:1.65;max-width:66ch}
#footer .footer-bottom{margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid var(--gyyna-primary);display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;justify-content:space-between;font-size:.78rem;color:var(--gyyna-mist)}
@media (max-width:1024px){#footer .footer-inner{grid-template-columns:1fr 1fr}}
@media (max-width:640px){#footer .footer-inner,#footer .footer-legal{grid-template-columns:1fr}#footer .footer-tagline{max-width:none}}
@media (prefers-reduced-motion:reduce){#footer a{transition:none}}
/* gyyna:hero */
/* gyyna:hero */
.hero{--fn:system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:min(90vh,44rem);font-family:'Iowan Old Style',Georgia,serif;color:var(--gyyna-surface);background:var(--gyyna-secondary)}
.hero-media{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.hero:hover .hero-media{transform:scale(1.02)}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(26,46,25,.3),rgba(26,46,25,.94))}
.hero-inner{display:grid;grid-template-columns:7fr 5fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:end;max-width:72rem;margin:auto;padding:clamp(2.5rem,7vw,4rem) clamp(1rem,4vw,3rem)}
.hero-title{margin:0;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:400;line-height:1.02;letter-spacing:-.02em;text-wrap:balance}
.hero-sub{margin:1.25rem 0 0;max-width:32rem;font:400 1.0625rem/1.6 var(--fn);color:var(--gyyna-mist)}
.hero-eyebrow,.rail-title{margin:0 0 .75rem;font:600 .75rem/1.4 var(--fn);letter-spacing:.12em;text-transform:uppercase;color:var(--gyyna-mist)}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem;margin-top:2rem}
.btn{display:inline-block;padding:.75rem 1.75rem;background:var(--gyyna-accent);color:var(--gyyna-surface);font:600 1rem/1.5 var(--fn);text-decoration:none}
.btn:hover,.btn:focus-visible{background:var(--gyyna-mist);color:var(--gyyna-secondary)}
.link{padding-bottom:.1rem;border-bottom:1px solid var(--gyyna-mist);color:var(--gyyna-surface);font:600 .9375rem/1.5 var(--fn);text-decoration:none}
.link:hover{color:var(--gyyna-mist)}
.rail{border-left:1px solid var(--gyyna-mist);padding-left:clamp(1rem,2.5vw,1.75rem)}
.dep{margin:0;padding:0;list-style:none}
.dep li{display:flex;align-items:center;gap:.7rem;padding:.7rem 0;border-bottom:1px solid var(--gyyna-mist);font:400 .9375rem/1.5 var(--fn)}
.dep b{margin-left:auto;font:600 .9375rem/1.4 var(--fn);font-variant-numeric:tabular-nums}
.dot{width:.5rem;height:.5rem;flex:none;background:var(--gyyna-accent)}
.dot.ok{background:var(--gyyna-mist)}
.rail-note{margin:1.25rem 0 0;font:400 .875rem/1.5 var(--fn);color:var(--gyyna-mist)}
.hero :focus-visible{outline:2px solid var(--gyyna-accent);outline-offset:2px}
.hero ::selection{background:var(--gyyna-accent);color:var(--gyyna-surface)}
@media(max-width:768px){.hero{min-height:0}.hero-inner{grid-template-columns:1fr;gap:2rem;align-items:start}.rail{border:0;border-top:1px solid var(--gyyna-mist);padding:1.5rem 0 0}}
@media(prefers-reduced-motion:reduce){.hero:hover .hero-media{transform:none}}
/* gyyna:featured-route */
/* gyyna:featured-route */
#featured-route{background:var(--gyyna-bg);color:var(--gyyna-text);padding:clamp(3rem,7vw,6rem) clamp(1rem,4vw,3rem);font:1.06rem/1.6 system-ui,sans-serif}
.fr-wrap{max-width:72rem;margin:auto}
#featured-route h2,#featured-route h3,#featured-route h4{margin:0 0 .6rem;font-family:Georgia,serif;text-wrap:balance}
#featured-route ::selection{background:var(--gyyna-mist)}
.fr-eyebrow{margin:0 0 .8rem;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gyyna-slate)}
.fr-eyebrow b{color:var(--gyyna-accent);margin-right:.5rem;font-family:Georgia,serif}
.rt-title{font-size:clamp(1.5rem,3vw,2.5rem);letter-spacing:-.02em}
.rt-lede{margin:.7rem 0 0;max-width:44rem;color:var(--gyyna-slate)}
.rt-grid{display:grid;grid-template-columns:7fr 5fr;gap:clamp(2rem,4vw,3.5rem);margin-top:2.5rem;border-top:1px solid var(--gyyna-border);padding-top:2rem}
.rt-grid figure{margin:0 0 1.5rem;overflow:hidden}
.rt-grid img{display:block;width:100%;height:auto;transition:transform .4s ease}
.rt-grid figure:hover img{transform:scale(1.02)}
.fr-cap{display:block;padding-top:.5rem;font-size:.8rem;color:var(--gyyna-slate)}
.fr-itin{list-style:none;margin:0;padding:0}
.fr-itin li{padding:1.1rem 0;border-top:1px solid var(--gyyna-border)}
.fr-itin li:first-child{border:0;padding-top:0}
.fr-itin h3{font-size:1.05rem}
.fr-itin b{color:var(--gyyna-accent);margin-right:.6rem;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}
.fr-itin p,.fr-note{margin:0;color:var(--gyyna-slate)}
.fr-note{margin-top:1.4rem;font-size:.94rem}
#featured-route a{color:var(--gyyna-primary);text-decoration:underline;text-underline-offset:2px}
#featured-route a:focus-visible,.fr-btn:focus-visible{outline:2px solid var(--gyyna-accent);outline-offset:2px}
.fr-meta{position:sticky;top:2rem;align-self:start;padding:clamp(1.2rem,3vw,2rem);background:var(--gyyna-surface);border:1px solid var(--gyyna-border)}
.fr-meta dl{margin:0}
.fr-meta div{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--gyyna-border)}
.fr-meta dt{font-size:.85rem;color:var(--gyyna-slate)}
.fr-meta dd{margin:0;font-weight:600;text-align:right}
.fr-meta .price{color:var(--gyyna-primary);font-size:1.25rem;font-variant-numeric:tabular-nums}
.fr-meta .price span{display:block;font-size:.8rem;font-weight:400;color:var(--gyyna-slate)}
.fr-deps h4{margin:1.4rem 0 .4rem;font-size:1rem}
.fr-deps ul{list-style:none;margin:0;padding:0;font-size:.94rem}
.fr-deps li{display:flex;align-items:center;gap:.5rem;padding:.35rem 0}
.fr-deps li::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--gyyna-primary);flex:none}
.fr-deps .wait::before{background:var(--gyyna-surface);border:1px solid var(--gyyna-slate)}
.fr-deps em{margin-left:auto;font-size:.8rem;font-style:normal;color:var(--gyyna-slate)}
.fr-btn{display:block;margin-top:1.2rem;padding:.75rem 1rem;background:var(--gyyna-primary);border:1px solid var(--gyyna-primary);font-weight:600;text-align:center}
#featured-route .fr-btn{color:var(--gyyna-surface);text-decoration:none}
.fr-btn:hover{background:var(--gyyna-secondary);border-color:var(--gyyna-secondary)}
.fr-fine{margin:.7rem 0 0;font-size:.8rem;color:var(--gyyna-slate)}
@media(max-width:900px){.rt-grid{grid-template-columns:1fr}.fr-meta{position:static}}
@media(prefers-reduced-motion:no-preference){.rt-grid>*{animation:r .5s ease both}}
@keyframes r{from{opacity:0;transform:translateY(12px)}}
/* gyyna:guides */
/* gyyna:guides */
#guides{--g-serif:'Iowan Old Style','Palatino Linotype',Palatino,Georgia,serif;background:var(--gyyna-bg);color:var(--gyyna-text);font-family:var(--g-serif);padding:clamp(3rem,8vw,7rem) 0}
#guides ::selection{background:var(--gyyna-accent);color:var(--gyyna-surface)}
.guides__inner{max-width:72rem;margin-inline:auto;padding-inline:clamp(1rem,4vw,3rem);display:grid;grid-template-columns:7fr 5fr;gap:clamp(1.5rem,4vw,3rem)}
.guides__head{grid-column:1;border-top:1px solid var(--gyyna-border);padding-top:1.25rem}
.guides__numeral{margin:0 0 1rem;font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gyyna-accent)}
.guides__title{margin:0;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:400;line-height:1.12;letter-spacing:-.02em;text-wrap:balance}
.guides__lede{grid-column:2;margin:0;border-top:1px solid var(--gyyna-border);padding-top:1.25rem;font-size:1rem;line-height:1.6;color:var(--gyyna-slate)}
.guides__rail{grid-column:1/-1;list-style:none;margin:clamp(2rem,4vw,3rem) 0 0;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(19rem,20rem);overflow-x:auto;scroll-snap-type:x mandatory;border-top:1px solid var(--gyyna-border);border-bottom:1px solid var(--gyyna-border);background:var(--gyyna-surface)}
.guides__rail:focus-visible{outline:2px solid var(--gyyna-accent);outline-offset:3px}
.guide-card{display:grid;grid-template-columns:5.5rem 1fr;gap:1rem;padding:1.5rem 1.25rem;border-left:1px solid var(--gyyna-border);scroll-snap-align:start;align-content:start}
.guide-card:last-child{border-right:1px solid var(--gyyna-border)}
.guide-card__portrait{width:5.5rem;height:5.5rem;object-fit:cover;display:block;border-radius:0;transition:transform .3s ease}
.guide-card:hover .guide-card__portrait{transform:scale(1.02)}
.guide-card__name{margin:0;font-size:1.125rem;font-weight:400;letter-spacing:-.01em;line-height:1.25}
.guide-card__meta{margin:.4rem 0 0;font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gyyna-slate)}
.guide-card__langs{margin:.55rem 0 0;font-size:.875rem;font-weight:600;color:var(--gyyna-primary)}
.guide-card__quote{margin:.8rem 0 0;padding-left:.8rem;border-left:1px solid var(--gyyna-accent);font-size:.9375rem;line-height:1.6;font-style:italic;color:var(--gyyna-ink)}
.guides__note{grid-column:1/-1;margin:clamp(1.5rem,3vw,2.5rem) 0 0;font-size:.9375rem;line-height:1.6;color:var(--gyyna-slate)}
.guides__link{color:var(--gyyna-primary);text-decoration:underline;text-underline-offset:.2em}
.guides__link:hover{color:var(--gyyna-secondary)}
.guides__link:focus-visible{outline:2px solid var(--gyyna-accent);outline-offset:2px}
@media (max-width:768px){.guides__inner{grid-template-columns:1fr}.guides__head,.guides__lede{grid-column:1}.guides__lede{margin-top:1.5rem}.guides__rail{grid-auto-columns:minmax(16rem,80vw)}}
@media (prefers-reduced-motion:reduce){.guide-card__portrait{transition:none}.guide-card:hover .guide-card__portrait{transform:none}}
/* gyyna:field-notes */
/* gyyna:field-notes */
#field-notes{--fn-serif:Georgia,"Times New Roman",serif;--fn-sans:ui-sans-serif,system-ui,"Segoe UI",Arial,sans-serif;background:var(--gyyna-bg);color:var(--gyyna-text);font-family:var(--fn-sans);font-size:1.0625rem;line-height:1.65;padding:clamp(3rem,8vw,7rem) 0}
.field-notes__inner{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.5rem,4vw,3rem)}
.field-notes__eyebrow{margin:0 0 1rem;font-family:var(--fn-serif);font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gyyna-slate)}
.field-notes__title{margin:0 0 .75rem;font-family:var(--fn-serif);font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.15;letter-spacing:-.015em;text-wrap:balance;color:var(--gyyna-ink)}
.field-notes__lede{margin:0 0 2rem;max-width:46ch;color:var(--gyyna-slate)}
.field-notes__quotes{display:grid;gap:1.75rem}
.field-note{margin:0;padding-left:1.25rem;border-left:1px solid var(--gyyna-border)}
.field-note__quote{margin:0 0 .75rem;font-family:var(--fn-serif);font-size:1.125rem;line-height:1.5;color:var(--gyyna-ink)}
.field-note__name{display:block;font-style:normal;font-weight:600;color:var(--gyyna-primary)}
.field-note__detail{display:block;font-size:.875rem;color:var(--gyyna-slate);font-variant-numeric:tabular-nums}
.field-notes__more{margin:1.75rem 0 0}
.field-notes__more a{color:var(--gyyna-primary);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.field-notes__rail{padding-top:1.5rem;border-top:1px solid var(--gyyna-border)}
.field-notes__photo{display:block;width:100%;height:auto}
.field-notes__facts{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:.875rem}
.field-notes__facts li{padding-top:.875rem;border-top:1px solid var(--gyyna-mist);font-size:.9375rem}
.field-notes__facts strong{display:block;font-family:var(--fn-serif);font-size:1.0625rem;color:var(--gyyna-ink)}
#field-notes a:focus-visible{outline:2px solid var(--gyyna-accent);outline-offset:3px}
#field-notes ::selection{background:var(--gyyna-primary);color:var(--gyyna-surface)}
@media (max-width:768px){.field-notes__inner{grid-template-columns:1fr}.field-notes__rail{order:2}}
@media (prefers-reduced-motion:reduce){#field-notes *{transition:none!important;animation:none!important}}
/* gyyna:safety-refund */
/* gyyna:safety-refund */
#safety-refund {
  background: var(--gyyna-bg);
  color: var(--gyyna-text);
  padding: clamp(3rem, 8vw, 7rem) 0;
}
#safety-refund .section-grid {
  max-width: 72rem;
  margin: 0 auto;
  padding: 0 clamp(1rem, 4vw, 3rem);
  display: grid;
  gap: clamp(1.5rem, 4vw, 3rem);
}
#safety-refund .section-number {
  display: block;
  font-family: 'Iowan Old Style', Palatino, Georgia, serif;
  font-size: 0.8125rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gyyna-accent);
  margin-bottom: 1rem;
}
#safety-refund h2 {
  font-family: 'Iowan Old Style', Palatino, Georgia, serif;
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  line-height: 1.2;
  color: var(--gyyna-secondary);
  margin: 0 0 1.25rem;
  text-wrap: balance;
}
#safety-refund p {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.0625rem;
  line-height: 1.6;
  margin: 0 0 1rem;
}
#safety-refund a {
  color: var(--gyyna-primary);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
#safety-refund a:hover,
#safety-refund a:focus-visible {
  color: var(--gyyna-accent);
}
#safety-refund img {
  width: 100%;
  height: auto;
  display: block;
  margin: 1.5rem 0;
}
#safety-refund .meta-col {
  border-top: 1px solid var(--gyyna-border);
  padding-top: 1.5rem;
}
#safety-refund .meta-col h3 {
  font-family: 'Iowan Old Style', Palatino, Georgia, serif;
  font-size: 1.25rem;
  color: var(--gyyna-secondary);
  margin: 0 0 1rem;
}
#safety-refund .refund-list {
  margin: 0 0 1.25rem;
}
#safety-refund .refund-list dt {
  font-weight: 700;
  color: var(--gyyna-secondary);
  margin-top: 0.875rem;
}
#safety-refund .refund-list dd {
  margin: 0.25rem 0 0;
  color: var(--gyyna-slate);
}
#safety-refund .insurance-note {
  color: var(--gyyna-secondary);
  font-weight: 500;
}
@media (min-width: 768px) {
  #safety-refund .section-grid {
    grid-template-columns: 7fr 5fr;
  }
  #safety-refund .meta-col {
    border-top: 0;
    border-left: 1px solid var(--gyyna-border);
    padding-top: 0;
    padding-left: clamp(1.5rem, 4vw, 3rem);
  }
}
/* gyyna:contact-form */
/* gyyna:contact-form */
#contact-form{background:var(--gyyna-bg);color:var(--gyyna-text);padding:clamp(3rem,8vw,7rem) 0}
#contact-form .contact-inner{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);display:grid;grid-template-columns:1fr;gap:clamp(2rem,5vw,4rem)}
@media(min-width:768px){#contact-form .contact-inner{grid-template-columns:7fr 5fr}}
#contact-form .section-index{display:block;font-family:'Iowan Old Style',Palatino,Georgia,serif;font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gyyna-accent);margin-bottom:.75rem}
#contact-form h2{font-family:'Iowan Old Style',Palatino,Georgia,serif;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.15;letter-spacing:-.02em;color:var(--gyyna-primary);margin:0 0 1rem;text-wrap:balance}
#contact-form p{font-family:'Iowan Old Style',Palatino,Georgia,'Times New Roman',serif;font-size:1rem;line-height:1.6;color:var(--gyyna-slate);margin:0 0 1.5rem}
#contact-form .contact-meta{display:grid;gap:1.5rem;margin-top:2rem;border-top:1px solid var(--gyyna-border);padding-top:1.5rem}
@media(min-width:640px){#contact-form .contact-meta{grid-template-columns:repeat(2,1fr)}}
#contact-form .meta-block strong{font-family:'Iowan Old Style',Palatino,Georgia,serif;color:var(--gyyna-primary)}
#contact-form .meta-block p{margin:.25rem 0 0;font-size:.9375rem;color:var(--gyyna-slate)}
#contact-form a{color:var(--gyyna-primary);text-decoration:underline;text-underline-offset:.15em}
#contact-form .contact-panel{background:var(--gyyna-surface);border:1px solid var(--gyyna-border);padding:clamp(1.5rem,4vw,2.5rem)}
#contact-form .enquiry-form{display:grid;gap:1.25rem}
#contact-form .field-row{display:flex;flex-direction:column;gap:.375rem}
@media(min-width:480px){#contact-form .date-guests{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}}
#contact-form label{font-family:'Iowan Old Style',Palatino,Georgia,'Times New Roman',serif;font-size:.875rem;color:var(--gyyna-ink)}
#contact-form input,#contact-form select,#contact-form textarea{font-family:'Iowan Old Style',Palatino,Georgia,'Times New Roman',serif;font-size:1rem;color:var(--gyyna-ink);background:var(--gyyna-surface);border:1px solid var(--gyyna-border);padding:.75rem;border-radius:0;min-height:44px}
#contact-form input:focus-visible,#contact-form select:focus-visible,#contact-form textarea:focus-visible{outline:2px solid var(--gyyna-primary);outline-offset:2px}
#contact-form .submit-button{justify-self:start;font-family:'Iowan Old Style',Palatino,Georgia,'Times New Roman',serif;font-size:1rem;color:var(--gyyna-surface);background:var(--gyyna-primary);border:none;padding:.75rem 1.5rem;border-radius:0;cursor:pointer;min-height:44px}
#contact-form .submit-button:hover,#contact-form .submit-button:active{background:var(--gyyna-secondary)}
#contact-form .submit-button:focus-visible{outline:2px solid var(--gyyna-accent);outline-offset:2px}
::selection{background:var(--gyyna-primary);color:var(--gyyna-surface)}
/* gyyna:routes-intro */
/* gyyna:routes-intro */
#routes-intro{background:var(--gyyna-bg);color:var(--gyyna-ink);font:400 1.0625rem/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;padding:clamp(3rem,8vw,6rem) clamp(1rem,4vw,3rem)}
.intro-grid{display:grid;grid-template-columns:7fr 5fr;gap:clamp(1.5rem,4vw,3rem);max-width:72rem;margin:0 auto}
.intro-copy,.intro-facts{animation:rise .6s ease-out both}
.intro-copy{border-top:1px solid var(--gyyna-border);padding-top:1.25rem}
.intro-copy p{margin:0 0 1.25rem}
.intro-kicker{display:flex;gap:.6rem;margin:0 0 1rem;font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gyyna-slate)}
.intro-kicker span{font:1rem "Iowan Old Style",Palatino,Georgia,serif;font-variant:small-caps;color:var(--gyyna-accent)}
.intro-title{margin:0 0 1rem;font:600 clamp(1.75rem,3.4vw,2.75rem)/1.12 "Iowan Old Style",Palatino,Georgia,serif;letter-spacing:-.02em;text-wrap:balance}
.intro-lede{font-size:1.125rem}
.intro-figure{margin:0 0 1.5rem}
.intro-figure img{display:block;width:100%;height:auto}
.intro-figure figcaption{padding-top:.5rem;font-size:.8125rem;color:var(--gyyna-slate)}
.intro-link{display:inline-block;margin-right:1.25rem}
#routes-intro a{color:var(--gyyna-primary);font-weight:600;text-decoration:underline;text-underline-offset:.2em}
#routes-intro a:hover{color:var(--gyyna-accent)}
#routes-intro a:focus-visible{outline:2px solid var(--gyyna-primary);outline-offset:3px}
#routes-intro ::selection{background:var(--gyyna-primary);color:var(--gyyna-surface)}
.intro-facts{margin:0;padding-left:clamp(1rem,2vw,1.75rem);border-left:1px solid var(--gyyna-border)}
.intro-facts h3{margin:0 0 1rem;font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gyyna-slate)}
.intro-facts dl{margin:0}
.intro-fact{display:grid;grid-template-columns:8.5rem 1fr;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--gyyna-border)}
.intro-fact dt{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gyyna-slate)}
.intro-fact dd{margin:0;font-size:.9375rem;font-variant-numeric:tabular-nums}
.intro-note{margin:1.25rem 0 0;padding-left:.875rem;border-left:2px solid var(--gyyna-accent);font-size:.9375rem;color:var(--gyyna-slate)}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:768px){.intro-grid{grid-template-columns:1fr}.intro-facts{border-left:0;border-top:1px solid var(--gyyna-border);padding:1.5rem 0 0}.intro-fact{grid-template-columns:7.5rem 1fr}}
@media(prefers-reduced-motion:reduce){.intro-copy,.intro-facts{animation:none}}
/* gyyna:route-filter */
/* gyyna:route-filter */
#route-filter{background:var(--gyyna-bg);color:var(--gyyna-ink);padding:clamp(3rem,8vw,7rem) 0}
#route-filter .section-shell{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}
#route-filter .filter-grid{display:grid;grid-template-columns:1fr;gap:clamp(1.5rem,4vw,3rem)}
#route-filter .section-number{display:block;font-family:'Iowan Old Style',Palatino,Georgia,serif;font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gyyna-slate);margin-bottom:.5rem}
#route-filter .section-title{font-family:'Iowan Old Style',Palatino,Georgia,serif;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.1;letter-spacing:-.02em;margin:0 0 .75rem}
#route-filter .section-lead{color:var(--gyyna-slate);line-height:1.6;max-width:55ch;margin:0 0 1.5rem}
#route-filter .filter-bar{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;padding:1rem;background:var(--gyyna-surface);border:1px solid var(--gyyna-border);margin-bottom:1rem}
#route-filter label{display:flex;flex-direction:column;gap:.375rem;font-size:.875rem;color:var(--gyyna-slate)}
#route-filter select{min-height:44px;padding:.5rem .75rem;background:var(--gyyna-bg);border:1px solid var(--gyyna-border);color:var(--gyyna-ink);font-family:'Iowan Old Style',Palatino,Georgia,serif}
#route-filter .results-count{font-size:.875rem;color:var(--gyyna-slate);margin-bottom:1rem}
#route-filter .route-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
#route-filter .route-item{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;background:var(--gyyna-surface);border:1px solid var(--gyyna-border)}
#route-filter .route-title{font-family:'Iowan Old Style',Palatino,Georgia,serif;font-size:1.25rem;margin:0 0 .25rem}
#route-filter .route-meta{margin:0;font-size:.875rem;color:var(--gyyna-slate)}
#route-filter .price{font-weight:600;color:var(--gyyna-primary);margin-right:1rem}
#route-filter .route-item.is-hidden{display:none}
#route-filter .filter-side{display:flex;flex-direction:column;gap:1.5rem}
#route-filter .side-block h3{font-family:'Iowan Old Style',Palatino,Georgia,serif;font-size:1rem;margin:0 0 .5rem}
#route-filter .side-block p{margin:0;font-size:.875rem;line-height:1.6;color:var(--gyyna-slate)}
#route-filter .side-image{width:100%;height:auto;display:block;margin-top:auto;border:1px solid var(--gyyna-border)}
#route-filter .filter-cta{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--gyyna-border)}
#route-filter .button-primary{display:inline-block;padding:.75rem 1.25rem;background:var(--gyyna-primary);color:var(--gyyna-mist);text-decoration:none;font-weight:500}
#route-filter .text-link{color:var(--gyyna-accent);text-decoration:underline;text-underline-offset:3px;background:none;border:none;padding:0;font:inherit;cursor:pointer}
@media(min-width:768px){#route-filter .filter-grid{grid-template-columns:7fr 5fr}}
/* gyyna:routes-list */
/* gyyna:routes-list */
#routes-list{background:var(--gyyna-bg);color:var(--gyyna-text);padding:clamp(3rem,7vw,6rem) 0}
#routes-list .wrap{max-width:72rem;margin:auto;padding:0 clamp(1rem,4vw,3rem)}
#routes-list .num{margin:0 0 .7rem;font:600 .8125rem/1 Georgia,serif;letter-spacing:.08em;text-transform:uppercase;color:var(--gyyna-accent)}
#routes-list h2{margin:0 0 1.1rem;font:400 clamp(1.75rem,3.4vw,2.75rem)/1.1 Georgia,Palatino,serif;letter-spacing:-.02em;text-wrap:balance}
#routes-list .shot{margin:0}
#routes-list .shot img{display:block;width:100%;margin:0 0 2rem}
#routes-list .routes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(1.5rem,4vw,3rem)}
#routes-list .r{border-top:1px solid var(--gyyna-border);padding:1.15rem 0 1.4rem}
#routes-list .r h3{margin:0 0 .3rem;font-size:1.125rem}
#routes-list .r p{margin:0 0 .55rem;font-size:.9375rem;line-height:1.6}
#routes-list .m{font-size:.875rem;color:var(--gyyna-slate);font-variant-numeric:tabular-nums}
#routes-list .r a{display:inline-block;padding:.6rem 0;font-weight:600;color:var(--gyyna-primary);text-decoration:underline;text-underline-offset:3px}
#routes-list .r a:hover{color:var(--gyyna-accent)}
#routes-list :focus-visible{outline:2px solid var(--gyyna-accent);outline-offset:2px}
#routes-list ::selection{background:var(--gyyna-mist)}
@media (max-width:768px){#routes-list .routes{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){#routes-list .shot img{transition:none}}
/* gyyna:practicalities-intro */
/* gyyna:practicalities-intro */
.pract{padding:clamp(3rem,8vw,7rem) clamp(1rem,4vw,3rem);background:var(--gyyna-bg);color:var(--gyyna-text)}
.pract__inner{max-width:72rem;margin:0 auto}
.pract__eyebrow,.pract__meta h3{margin:0 0 1rem;font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gyyna-slate)}
.pract__eyebrow{border-bottom:1px solid var(--gyyna-border);padding-bottom:.75rem;margin-bottom:2rem}
.pract__grid{display:grid;grid-template-columns:7fr 5fr;gap:clamp(1.5rem,4vw,3.5rem)}
.pract h2{margin:0 0 1.25rem;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.15;letter-spacing:-.015em}
.pract p{margin:0 0 1.125rem;max-width:62ch}
.pract a{color:var(--gyyna-primary);text-decoration:underline}
.pract img{display:block;width:100%;height:auto}
.pract__figure{margin:2rem 0 0;border-top:1px solid var(--gyyna-border);padding-top:1.5rem}
.pract figcaption{margin-top:.75rem;color:var(--gyyna-slate)}
.pract__meta{padding-top:1rem;border-top:2px solid var(--gyyna-primary)}
.pract__meta div{display:flex;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid var(--gyyna-border)}
.pract dt{color:var(--gyyna-slate);font-size:.875rem}
.pract dd{margin:0;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.pract__link{display:inline-block;margin-top:1rem;padding:.75rem 0}
.pract :focus-visible{outline:2px solid var(--gyyna-accent)}
.pract ::selection{background:var(--gyyna-mist);color:var(--gyyna-ink)}
@media(max-width:900px){.pract__grid{grid-template-columns:1fr}}
/* gyyna:included-excluded */
/* gyyna:included-excluded */
#included-excluded{background:var(--gyyna-bg);color:var(--gyyna-text);padding:4rem 6vw}
.ie-wrap{max-width:72rem;margin:0 auto}
.ie-eyebrow{margin:0;font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gyyna-slate)}
.ie-title{margin:.75rem 0 0;font-size:clamp(1.75rem,3.4vw,2.5rem);line-height:1.12;letter-spacing:-.02em;text-wrap:balance}
.ie-lede{margin:1rem 0 0;color:var(--gyyna-slate);line-height:1.65}
.ie-grid{display:grid;grid-template-columns:7fr 5fr;gap:2.5rem;margin-top:2.5rem}
.ie-photo{margin:0 0 2rem}
.ie-photo img{display:block;width:100%;height:auto}
.ie-lists{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.ie-sub{margin:0 0 1rem;font-size:.9375rem;text-transform:uppercase;color:var(--gyyna-ink)}
.ie-list,.ie-pack{margin:0;padding:0;list-style:none}
.ie-list li,.ie-pack li{padding:.6rem 0;border-top:1px solid var(--gyyna-border);line-height:1.55}
.ie-list--in li::before{content:"✓ ";color:var(--gyyna-primary)}
.ie-list--out li::before{content:"× ";color:var(--gyyna-accent)}
.ie-aside{border-left:1px solid var(--gyyna-border);padding-left:2rem;font-size:.9375rem;line-height:1.65}
.ie-link{color:var(--gyyna-primary);text-decoration:underline;text-underline-offset:.2em}
.ie-link:hover{color:var(--gyyna-secondary)}
.ie-link:focus-visible{outline:2px solid var(--gyyna-accent);outline-offset:3px}
@media(max-width:768px){.ie-grid,.ie-lists{grid-template-columns:1fr}.ie-aside{border:0;padding:1.5rem 0 0}}
/* gyyna:cancellation-refund */
/* gyyna:cancellation-refund */
.refund{padding:clamp(3rem,8vw,7rem) clamp(1rem,4vw,3rem);background:var(--gyyna-surface);color:var(--gyyna-text)}
.refund__grid{display:grid;gap:clamp(1.5rem,4vw,3rem);max-width:72rem;margin:auto}
@media(min-width:1024px){.refund__grid{grid-template-columns:7fr 5fr}}
.refund__numeral,.tier__when,.fact dt{margin:0 0 .375rem;font-size:.8125rem;letter-spacing:.07em;text-transform:uppercase;color:var(--gyyna-slate)}
.refund__numeral{color:var(--gyyna-accent)}
.refund h2{margin:0 0 1rem;font-size:clamp(1.75rem,3.5vw,2.5rem);line-height:1.1;letter-spacing:-.02em;text-wrap:balance}
.refund__lede,.tier__rule{margin:0;line-height:1.6;color:var(--gyyna-slate)}
.refund__tiers{list-style:none;margin:2rem 0 0;padding:0}
.tier{padding:1.25rem 0 1.25rem 1rem;border-left:2px solid var(--gyyna-border);border-bottom:1px solid var(--gyyna-border)}
.tier--safety{border-left-color:var(--gyyna-accent);background:var(--gyyna-bg)}
.tier__amount{font-weight:700;font-variant-numeric:tabular-nums;color:var(--gyyna-primary)}
.refund__meta{margin:0;padding-top:1.25rem;border-top:1px solid var(--gyyna-border)}
.refund__photo{display:block;width:100%;height:auto}
.refund__facts{display:grid;gap:.625rem;margin:1.25rem 0 0}
.fact{display:flex;justify-content:space-between;gap:1rem;margin:0}
.fact dd{margin:0;color:var(--gyyna-ink);font-variant-numeric:tabular-nums}
.refund__links{display:grid;gap:.5rem;margin-top:1.5rem}
.refund a{color:var(--gyyna-primary);text-decoration:underline;text-underline-offset:3px}
.refund a:hover{color:var(--gyyna-accent)}
.refund :focus-visible{outline:2px solid var(--gyyna-accent);outline-offset:3px}
/* gyyna:advisory-insurance */
/* gyyna:advisory-insurance */
#advisory-insurance{background:var(--gyyna-surface);color:var(--gyyna-text);padding:clamp(3rem,8vw,7rem) clamp(1rem,4vw,3rem)}
.advisory-inner{max-width:72rem;margin:0 auto;display:grid;grid-template-columns:7fr 5fr;gap:clamp(1.5rem,4vw,3rem)}
.advisory-numeral{font-size:.8125rem;text-transform:uppercase;color:var(--gyyna-accent);margin:0 0 .75rem}
#advisory-insurance h2{font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.1;letter-spacing:-.02em;text-wrap:balance;margin:0 0 1rem}
#advisory-insurance h3{color:var(--gyyna-primary);margin:1.25rem 0 .4rem}
.advisory-text{font-size:1.0625rem;line-height:1.6;margin:0 0 1rem}
.advisory-meta{border-left:1px solid var(--gyyna-border);padding-left:clamp(1rem,3vw,2rem)}
.advisory-figure{margin:1.5rem 0}
.advisory-figure img{display:block;width:100%;height:auto;border:1px solid var(--gyyna-border);transition:transform .4s ease}
.advisory-figure img:hover{transform:scale(1.02)}
.advisory-figure figcaption{font-size:.875rem;color:var(--gyyna-slate);margin:.6rem 0 0}
.advisory-note{border-left:3px solid var(--gyyna-accent);padding-left:.85rem;margin:0 0 1.25rem}
.advisory-link{display:inline-block;margin-bottom:.5rem;color:var(--gyyna-primary);text-decoration:underline}
#advisory-insurance a:focus-visible{outline:2px solid var(--gyyna-accent)}
@media(max-width:768px){.advisory-inner{grid-template-columns:1fr}.advisory-meta{border-left:0;padding:1rem 0 0}}
@media(prefers-reduced-motion:reduce){.advisory-figure img{transition:none}}
.policy-page{background:var(--gyyna-bg);color:var(--gyyna-text);font-family:var(--gyyna-font);line-height:1.65;padding:48px 20px;}
.policy-content{max-width:820px;margin:0 auto;background:var(--gyyna-surface);border:1px solid var(--gyyna-border);padding:40px;}
.policy-header{border-bottom:2px solid var(--gyyna-primary);padding-bottom:20px;margin-bottom:32px;}
.policy-eyebrow{margin:0 0 8px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--gyyna-accent);}
.policy-title{margin:0 0 10px;font-family:var(--gyyna-font-display);font-size:34px;line-height:1.2;color:var(--gyyna-primary);}
.policy-meta{margin:0;font-size:14px;color:var(--gyyna-slate);}
.policy-section{margin:0 0 30px;}
.policy-section h2{margin:0 0 12px;font-family:var(--gyyna-font-display);font-size:21px;font-weight:600;color:var(--gyyna-secondary);}
.policy-section p{margin:0 0 12px;}
.policy-content a{color:var(--gyyna-primary);text-decoration:underline;}
.policy-content a:hover{color:var(--gyyna-accent);}
.cookie-table{width:100%;border-collapse:collapse;font-size:15px;}
.cookie-table caption{text-align:left;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--gyyna-slate);padding-bottom:8px;}
.cookie-table th,.cookie-table td{border:1px solid var(--gyyna-border);padding:10px 12px;text-align:left;vertical-align:top;}
.cookie-table th{background:var(--gyyna-primary);color:var(--gyyna-surface);font-weight:600;}
.cookie-table tbody tr:nth-child(even){background:var(--gyyna-bg);}
.policy-contact{border-top:1px solid var(--gyyna-border);padding-top:20px;margin-bottom:0;}
@media (max-width:600px){.policy-page{padding:24px 12px;}.policy-content{padding:22px;}.policy-title{font-size:26px;}.cookie-table{font-size:14px;}}
.policy-page{max-width:72rem;margin:0 auto;padding:3rem 1.5rem;font-family:var(--gyyna-font);color:var(--gyyna-text);background:var(--gyyna-bg);}
.policy-header{padding-bottom:1.5rem;margin-bottom:2rem;border-bottom:1px solid var(--gyyna-border);}
.policy-brand{margin:0 0 .75rem;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gyyna-slate);}
.policy-title{margin:0 0 .75rem;font-family:var(--gyyna-font-display);font-size:2.25rem;line-height:1.15;color:var(--gyyna-primary);}
.policy-meta{margin:0;font-size:.875rem;color:var(--gyyna-slate);}
.policy-content{padding:2rem;background:var(--gyyna-surface);border:1px solid var(--gyyna-border);}
.policy-content h2{margin:2rem 0 .75rem;font-family:var(--gyyna-font-display);font-size:1.25rem;line-height:1.3;color:var(--gyyna-secondary);}
.policy-content h2:first-child{margin-top:0;}
.policy-content p,.policy-content li{margin:0 0 1rem;font-size:1rem;line-height:1.7;}
.policy-content ul{margin:0 0 1rem 1.25rem;padding:0;}
.policy-content li{margin-bottom:.5rem;}
.policy-contacts{margin-top:2rem;padding:1.5rem 2rem;background:var(--gyyna-surface);border:1px solid var(--gyyna-border);border-left:4px solid var(--gyyna-accent);}
.policy-contacts h2{margin:0 0 .75rem;font-family:var(--gyyna-font-display);font-size:1.25rem;color:var(--gyyna-secondary);}
.policy-contacts p{margin:0 0 .5rem;font-size:.95rem;line-height:1.6;color:var(--gyyna-slate);}
.policy-contacts a{color:var(--gyyna-accent);text-decoration:underline;}
.policy-contacts a:hover{color:var(--gyyna-primary);}
.policy-contacts a:focus{outline:2px solid var(--gyyna-accent);outline-offset:2px;}
@media (max-width:40rem){.policy-page{padding:2rem 1rem;}.policy-title{font-size:1.75rem;}.policy-content,.policy-contacts{padding:1.25rem;}}
.advisory-page{max-width:60rem;margin:0 auto;padding:3rem 1.25rem 4rem;background:var(--gyyna-bg);color:var(--gyyna-text);font-family:var(--gyyna-font);line-height:1.7}
.advisory-page__head{border-bottom:1px solid var(--gyyna-border);padding-bottom:1.5rem;margin-bottom:2.5rem}
.advisory-page h1{font-family:var(--gyyna-font-display);font-size:2.1rem;line-height:1.2;color:var(--gyyna-primary);margin:0 0 .85rem;font-weight:600}
.advisory-page__lead{color:var(--gyyna-slate);font-size:1.05rem;margin:0}
.advisory-page__section{margin:0 0 1.75rem;padding:1.5rem 1.75rem;background:var(--gyyna-surface);border:1px solid var(--gyyna-border);border-left:5px solid var(--gyyna-accent)}
.advisory-page h2{font-family:var(--gyyna-font-display);font-size:1.2rem;color:var(--gyyna-secondary);margin:0 0 .6rem;font-weight:600}
.advisory-page__section p{margin:0;color:var(--gyyna-text)}
.advisory-page__footer{margin-top:2.5rem;padding:1.75rem;background:var(--gyyna-mist);border:1px solid var(--gyyna-border)}
.advisory-page__footer h2{font-size:1.05rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gyyna-secondary)}
.advisory-page__footer p{margin:0 0 .6rem;font-size:.95rem;color:var(--gyyna-ink)}
.advisory-page__footer p:last-child{margin-bottom:0}
@media (max-width:640px){.advisory-page{padding:2rem 1rem 3rem}.advisory-page h1{font-size:1.55rem}.advisory-page__section{padding:1.25rem}}
.policy-page{background:var(--gyyna-bg);color:var(--gyyna-text);font-family:var(--gyyna-font);font-size:1.05rem;line-height:1.7}
.policy-shell{max-width:52rem;margin:0 auto;padding:3rem 1.25rem 4rem}
.policy-header{border-bottom:2px solid var(--gyyna-border);padding-bottom:1.25rem;margin-bottom:2rem}
.policy-kicker{margin:0 0 .4rem;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gyyna-accent)}
.policy-header h1{margin:0;font-family:var(--gyyna-font-display);font-size:clamp(1.7rem,4vw,2.4rem);line-height:1.2;color:var(--gyyna-primary)}
.policy-section{margin:0 0 1.9rem}
.policy-section h2{margin:0 0 .55rem;font-family:var(--gyyna-font-display);font-size:1.15rem;color:var(--gyyna-secondary)}
.policy-section p{margin:0 0 .8rem}
.policy-list{margin:0 0 .9rem;padding-left:1.2rem}
.policy-list li{margin-bottom:.35rem}
.policy-contacts{margin-top:2.4rem;padding:1.4rem;background:var(--gyyna-surface);border:1px solid var(--gyyna-border)}
.policy-contacts h2{margin:0 0 .5rem;font-family:var(--gyyna-font-display);font-size:1.05rem;color:var(--gyyna-primary)}
.policy-contacts p{margin:0;color:var(--gyyna-slate);font-size:.95rem}
.policy-page a{color:var(--gyyna-accent)}
.policy-page a:hover{color:var(--gyyna-secondary)}
@media(max-width:600px){.policy-shell{padding:2rem 1rem 3rem}}
.terms-page{max-width:820px;margin:0 auto;padding:56px 24px;background:var(--gyyna-bg);color:var(--gyyna-text);font-family:var(--gyyna-font);font-size:1rem;line-height:1.7}
.terms-hero{border-bottom:1px solid var(--gyyna-border);padding-bottom:20px;margin-bottom:36px}
.terms-hero h1{font-family:var(--gyyna-font-display);font-size:2rem;line-height:1.2;margin:0 0 10px;color:var(--gyyna-secondary)}
.terms-lead{margin:0;color:var(--gyyna-slate)}
.terms-section{margin:0 0 32px}
.terms-section h2{font-family:var(--gyyna-font-display);font-size:1.15rem;margin:0 0 8px;color:var(--gyyna-primary)}
.terms-section p{margin:0}
.terms-laws{border-left:3px solid var(--gyyna-accent);background:var(--gyyna-surface);padding:12px 16px;margin:0 0 32px;font-size:.9rem;color:var(--gyyna-slate)}
.terms-footer{border-top:1px solid var(--gyyna-border);padding-top:24px;font-size:.92rem;color:var(--gyyna-slate)}
.terms-footer h2{font-family:var(--gyyna-font-display);font-size:1rem;margin:0 0 8px;color:var(--gyyna-primary)}
.terms-footer p{margin:0 0 20px}
.contact-form label{display:block;font-size:.85rem;margin-bottom:6px;color:var(--gyyna-primary)}
.contact-form input{width:100%;padding:10px 12px;border:1px solid var(--gyyna-border);background:var(--gyyna-surface);color:var(--gyyna-text);font-family:inherit;font-size:.95rem;margin-bottom:12px}
.contact-form button{padding:12px 26px;border:1px solid var(--gyyna-primary);background:var(--gyyna-primary);color:var(--gyyna-surface);font-family:inherit;font-size:.9rem;letter-spacing:.05em;cursor:pointer}
.contact-form button:hover{background:var(--gyyna-secondary)}
@media(max-width:600px){.terms-page{padding:32px 16px}.terms-hero h1{font-size:1.6rem}}
body{background:var(--gyyna-bg);color:var(--gyyna-text);font-family:var(--gyyna-font);line-height:1.7;margin:0}
.policy-page{max-width:52rem;margin:0 auto;padding:3rem 1.25rem 4rem}
.policy-page header{border-bottom:1px solid var(--gyyna-border);padding-bottom:1.5rem;margin-bottom:2.5rem}
.policy-page h1{font-family:var(--gyyna-font-display);font-size:2rem;line-height:1.2;margin:0 0 .5rem;color:var(--gyyna-primary)}
.policy-meta{color:var(--gyyna-slate);font-size:.9rem;margin:0;letter-spacing:.02em}
.policy-page section{margin:0 0 2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--gyyna-mist)}
.policy-page h2{font-family:var(--gyyna-font-display);font-size:1.25rem;line-height:1.3;margin:0 0 .75rem;color:var(--gyyna-secondary)}
.policy-page p{margin:0 0 1rem}
.policy-page ul{list-style:none;margin:0;padding:0}
.policy-page li{position:relative;margin:0 0 .5rem;padding-left:1.4rem}
.policy-page li::before{content:"—";position:absolute;left:0;color:var(--gyyna-accent)}
.policy-page footer{background:var(--gyyna-surface);border:1px solid var(--gyyna-border);padding:1.5rem;margin-top:1rem}
.policy-page footer h2{margin-top:0}
.policy-page footer p{margin:0 0 .5rem;font-size:.95rem}
.policy-page a{color:var(--gyyna-accent);text-decoration:underline}
.policy-page a:hover{color:var(--gyyna-primary)}
@media (max-width:37.5rem){.policy-page{padding:2rem 1rem}.policy-page h1{font-size:1.6rem}}
.thanks-page{max-width:760px;margin:0 auto;padding:48px 24px;background:var(--gyyna-bg);color:var(--gyyna-text);font-family:var(--gyyna-font);font-size:17px;line-height:1.65}
.thanks-hero{border-bottom:3px solid var(--gyyna-accent);padding-bottom:24px;margin-bottom:32px}
.thanks-eyebrow{margin:0 0 8px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--gyyna-slate)}
.thanks-title{margin:0 0 12px;font-family:var(--gyyna-font-display);font-size:34px;line-height:1.15;color:var(--gyyna-primary)}
.thanks-lead{margin:0;color:var(--gyyna-secondary)}
.thanks-card,.thanks-contact,.thanks-legal{background:var(--gyyna-surface);border:1px solid var(--gyyna-border);padding:24px;margin-bottom:24px}
.thanks-card h2,.thanks-contact h2,.thanks-legal h2{margin:0 0 12px;font-family:var(--gyyna-font-display);font-size:20px;color:var(--gyyna-primary)}
.thanks-steps{margin:0 0 16px;padding-left:22px;color:var(--gyyna-ink)}
.thanks-steps li{margin-bottom:8px}
.thanks-note{margin:0;padding:12px;background:var(--gyyna-mist);border-left:3px solid var(--gyyna-accent);font-size:15px}
.thanks-contact-list{list-style:none;margin:0;padding:0}
.thanks-contact-list li{padding:8px 0;border-bottom:1px dashed var(--gyyna-border)}
.thanks-contact-list li:last-child{border-bottom:0}
.thanks-label{display:inline-block;min-width:80px;color:var(--gyyna-slate);font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.thanks-legal p{margin:0 0 12px;font-size:15px}
.thanks-legal p:last-child{margin-bottom:0}
.thanks-footer{border-top:1px solid var(--gyyna-border);padding-top:20px;font-size:14px;color:var(--gyyna-slate)}
.thanks-footer p{margin:0 0 6px}
.thanks-footer-brand{font-family:var(--gyyna-font-display);font-size:18px;color:var(--gyyna-primary)}
.thanks-page a{color:var(--gyyna-accent)}
.thanks-page a:hover{color:var(--gyyna-primary)}
@media(max-width:560px){.thanks-page{padding:28px 16px}.thanks-title{font-size:26px}}
section[data-gyyna-qje]:not([data-gyyna-qje='header']):not([data-gyyna-qje='footer']) { position: relative; }
section[data-gyyna-qje]:not([data-gyyna-qje='header']):not([data-gyyna-qje='footer']) { border-top: 1px solid var(--gyyna-border); }
section[data-gyyna-qje]:not([data-gyyna-qje='header']) h1,section[data-gyyna-qje]:not([data-gyyna-qje='header']) h2 { max-width: 20ch; letter-spacing: -0.035em; }
section[data-gyyna-qje]:nth-of-type(even)::before { content: ''; position: absolute; top: 0; left: 0; width: 5rem; border-top: 3px solid var(--gyyna-accent); }
:root {
  --gyyna-c-content-width: 72rem;
  --gyyna-c-gutter: clamp(1rem, 4vw, 3rem);
  --gyyna-c-measure: 65ch;
  --gyyna-c-heading-display: clamp(2.5rem, 6vw, 5.5rem);
}
[data-gyyna-dr] { scroll-margin-top: 1.5rem; }
main > section, main [data-gyyna-qje] { padding-inline: var(--gyyna-c-gutter); }
[data-gyyna-dr*='article'], [data-gyyna-dr*='review'] { max-width: var(--gyyna-c-measure); }
h1 { font-size: var(--gyyna-c-heading-display); }
@media (max-width: 768px) { [data-gyyna-dr] { min-width: 0; } }