/* Editorial magazine layer: ink, paper, vermilion and aged gold; Archivo and IBM Plex Mono; square corners; no shadows. */

:root {
  /* ── Material palette ── */
  --ink:            #14110e;   /* deepest ink */
  --ink-soft:       #2a2520;   /* body text */
  --ink-wash:       #4a4339;   /* secondary text (8.0 on paper-pure) */
  --umber:          #6b5843;   /* tertiary text (5.9 on paper-pure) */
  --mist:           #c9c0ad;   /* hairlines */
  --paper:          #e6dcc2;   /* toasted paper: page background */
  --paper-pure:     #f9f4e4;   /* lighter paper: cards */
  --vermilion:      #a02e22;   /* accent + primary button (6.6 on paper-pure) */
  --vermilion-deep: #7a1f15;
  --vermilion-light:#d9765f;   /* accent on ink (5.5 on ink) */
  --gold:           #a07d2a;   /* aged gold: lines and the lantern motif */
  --gold-deep:      #6f5418;

  /* ── Base tokens mapped onto the palette ── */
  --karst-ink:       var(--ink);
  --sail-cta:        var(--vermilion);
  --sail-lit:        var(--vermilion);
  --sail-press:      var(--vermilion-deep);
  --dusk-badge:      var(--ink-soft);
  --link-green:      var(--vermilion);
  --limestone-panel: var(--paper);
  --foam-white:      var(--paper-pure);
  --bay-bg:          var(--paper);
  --charcoal:        var(--ink);
  --slate:           var(--ink-wash);
  --stone:           var(--umber);
  --silver:          var(--mist);
  --sea-mist:        var(--paper);
  --white:           var(--paper-pure);
  --hero-overlay:    linear-gradient(180deg, rgba(20,17,14,0.55) 0%, rgba(20,17,14,0.86) 100%);
  --sail-glow:       var(--vermilion);
  --deep-bay:        var(--ink);

  /* ── Typography: magazine grotesque + mono UI ── */
  --font-display:  'Archivo', 'Helvetica Neue', Arial, sans-serif;
  --font-body:     'Archivo', 'Helvetica Neue', Arial, sans-serif;
  --font-ui:       'IBM Plex Mono', 'Courier New', monospace;

  /* ── Sharp corners, no shadows ── */
  --rounded-sm:   0;
  --rounded-md:   0;
  --rounded-lg:   0;
  --rounded-xl:   0;
  --rounded-2xl:  0;
  --rounded-full: 0;
  --shadow-sm:  none;
  --shadow-md:  none;
  --shadow-lg:  none;
  --shadow-xl:  none;
  --transition-normal: 400ms cubic-bezier(0.16, 1, 0.3, 1);
}

/* ── Global ── */
body {
  background: var(--paper);
  color: var(--ink-soft);
  font-family: var(--font-body);
  font-weight: 500;
  line-height: 1.7;
  position: relative;
}
/* faint paper grain */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  opacity: 0.08;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.45 0 0 0 0 0.40 0 0 0 0 0.32 0 0 0 0.18 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}
main, footer { position: relative; z-index: 2; }

/* ── Typography ── */
h1, h2, h3, h4,
.section-title, .hero-title, .guide-title, .page-title,
.experience-title, .step-title, .faq-question, .cta-title,
.area-card-title, .choice-card__title, .viator-card-title, .price-amount {
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: -0.018em;
  color: var(--ink);
  line-height: 1.16;
}
.hero-title {
  color: var(--paper);
  font-size: clamp(2.3rem, 5.6vw, 4rem);
  line-height: 1.04;
  letter-spacing: -0.024em;
}
.section-title { font-size: clamp(1.85rem, 3.8vw, 2.7rem); letter-spacing: -0.022em; }

.hero-overline, .section-overline, .experience-badge, .hero-badge, .comparison-badge,
.trust-label, .footer-col-title, .footer-seo-title, .nav-link, .nav-cta,
.btn-primary, .btn-secondary, .btn-outline, .btn-lg, .btn-sm, .comparison-btn, .sticky-cta-btn,
.mobile-nav-link, .guide-meta, .choice-card__tag, .area-card-drive, .breadcrumb-list {
  font-family: var(--font-ui);
  font-weight: 500;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}
.section-overline, .hero-overline {
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  color: var(--vermilion);
}
.hero-overline, .hero-overline a { color: var(--vermilion-light); }

.section-subtitle, .guide-subtitle {
  font-family: var(--font-body);
  font-style: italic;
  color: var(--ink-wash);
  line-height: 1.7;
}

/* ── Header: paper, hairline, ink type, at every scroll position ── */
.site-header,
.site-header.scrolled,
body.no-hero .site-header {
  background: var(--paper);
  border-bottom: 1px solid var(--mist);
  box-shadow: none !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.logo-primary {
  color: var(--ink) !important;
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: 0.04em;
}
.logo-tagline {
  color: var(--umber) !important;
  font-family: var(--font-ui);
  font-size: 0.64rem;
  letter-spacing: 0.16em;
}
.logo-icon { color: var(--ink) !important; opacity: 1 !important; }
.nav-link { color: var(--ink-soft) !important; font-size: 0.72rem; position: relative; }
.nav-link::after {
  content: ""; position: absolute; left: 0.6rem; right: 0.6rem; bottom: 0.25rem; height: 1px;
  background: var(--vermilion); transform: scaleX(0); transform-origin: left center;
  transition: transform var(--transition-normal);
}
.nav-link:hover { color: var(--vermilion) !important; }
.nav-link:hover::after { transform: scaleX(1); }
.nav-cta { background: var(--vermilion) !important; color: var(--paper-pure) !important; border: 1px solid var(--vermilion) !important; }
.nav-cta:hover { background: var(--paper-pure) !important; color: var(--vermilion) !important; }
.hamburger-line { background: var(--ink) !important; }
.mobile-menu { background: var(--paper-pure); }
.mobile-nav-link { color: var(--ink); border-bottom: 1px solid var(--mist); }
.mobile-nav-link:hover { color: var(--vermilion); }
.hub-strip, .hub-strip--band { background: var(--paper-pure); border-bottom: 1px solid var(--mist); }
.hub-nav-pill {
  border-radius: 0 !important; background: transparent; border: 1px solid var(--mist); color: var(--ink-soft);
  font-family: var(--font-ui); font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase;
}
.hub-nav-pill:hover, .hub-nav-pill[aria-current="page"] { background: var(--ink); border-color: var(--ink); color: var(--paper-pure); }
/* main.css styles the band / guide strips for a dark band (pale text, gold current pill) with two-class selectors; on the
   magazine's paper strip that text vanished, so match its specificity here. */
.hub-strip--band, .hub-strip--guide { background: var(--paper-pure); border-bottom: 1px solid var(--mist); }
.hub-strip--band .hub-nav-pill, .hub-strip--guide .hub-nav-pill { background: transparent; border: 1px solid var(--mist); color: var(--ink); }
.hub-strip--band .hub-nav-pill:hover, .hub-strip--guide .hub-nav-pill:hover,
.hub-strip--band .hub-nav-pill.is-current, .hub-strip--guide .hub-nav-pill.is-current { background: var(--ink); border-color: var(--ink); color: var(--paper-pure); }

/* ── Hero: ink over the image, with a lantern in line art (the one motif) ── */
.hero { background-color: var(--ink); position: relative; }
.hero-overlay { background: var(--hero-overlay); }
.hero-subtitle { color: rgba(249,244,228,0.88); font-family: var(--font-body); font-weight: 500; }
.hero::after {
  content: "";
  position: absolute;
  top: 5.6rem;
  right: 2rem;
  width: 3.2rem;
  height: 5.4rem;
  z-index: 2;
  pointer-events: none;
  opacity: 0.85;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 40 68' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23c9a24a' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'><path d='M20 1 V10'/><path d='M14 10 H26 V13 H14 Z'/><path d='M20 13 C6 15 4 26 4 33 C4 41 7 50 20 52 C33 50 36 41 36 33 C36 26 34 15 20 13 Z'/><path d='M20 13 C13 20 13 45 20 52 M20 13 C27 20 27 45 20 52'/><path d='M5 27 H35 M5 40 H35'/><path d='M14 52 H26 V55 H14 Z'/><path d='M17 55 V63 M20 55 V66 M23 55 V63'/></svg>");
}
.hero-badge {
  border-radius: 0 !important; background: rgba(20,17,14,0.55); border: 1px solid var(--vermilion-light);
  color: var(--paper); font-size: 0.66rem; letter-spacing: 0.14em;
}
body .hero .price-amount { color: var(--paper-pure) !important; }
body .hero .price-from, body .hero .price-per, body .hero .price-free-cancel { color: rgba(249,244,228,0.8) !important; }
.hero-price-badge { border-radius: 0 !important; background: rgba(20,17,14,0.62); border: 1px solid rgba(201,162,74,0.55); box-shadow: none !important; }
.hero .btn-secondary, .hero .btn-secondary-dark {
  background: transparent; color: var(--paper-pure); border: 1px solid rgba(249,244,228,0.75);
}
.hero .btn-secondary:hover { background: var(--paper-pure); color: var(--ink); }

/* ── Buttons: flat, sharp ── */
.btn-primary, .btn-secondary, .btn-outline, .comparison-btn, .btn-lg, .btn-sm, .sticky-cta-btn, .viator-card-btn {
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 0.78rem;
  transition: all var(--transition-normal);
}
.btn-primary { background: var(--vermilion) !important; color: var(--paper-pure) !important; border: 1px solid var(--vermilion) !important; }
.btn-primary:hover { background: var(--paper-pure) !important; color: var(--vermilion) !important; }
.btn-outline { background: transparent; color: var(--ink); border: 1px solid var(--ink); }
.btn-outline:hover { background: var(--ink); color: var(--paper-pure); }
.btn-lg { padding: 0.95rem 1.8rem; font-size: 0.82rem; }

/* ── Cards and panels: flat, hairline borders ── */
.experience-card, .review-card, .step-card, .gallery-item, .faq-item, .comparison-table,
.area-card, .guide-card, .related-tour-card, .viator-card, .tour-booking-card, .guide-cta-card,
.booking-widget-wrapper, .verdict-card, .choice-card {
  border-radius: 0 !important;
  box-shadow: none !important;
}
.experience-card, .review-card, .step-card, .area-card, .guide-card, .related-tour-card, .viator-card {
  background: var(--paper-pure);
  border: 1px solid var(--mist);
}
.experience-card:hover, .area-card:hover, .guide-card:hover, .related-tour-card:hover, .viator-card:hover {
  border-color: var(--vermilion);
  transform: none !important;
  box-shadow: none !important;
}
.experience-image img, .area-card img, .gallery-item img, .viator-card-img img {
  border-radius: 0 !important;
  filter: saturate(0.82) contrast(0.96);
  transition: filter var(--transition-slow);
}
.experience-card:hover .experience-image img { filter: none; }
.experience-badge {
  border-radius: 0 !important; background: var(--ink); color: var(--paper-pure);
  font-size: 0.62rem; letter-spacing: 0.14em; padding: 0.3rem 0.6rem;
}
.experience-title, .area-card-title { font-size: 1.22rem; }
.experience-desc { font-style: italic; color: var(--ink-wash); }
.experience-meta, .experience-duration, .experience-price-from, .area-card-drive { color: var(--umber); }
.experience-cta-text { font-family: var(--font-ui); font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--vermilion); }

/* ── Section rhythm: 01 / 02 numbering + brushstroke dividers ── */
main { counter-reset: section-num; }
main .section { counter-increment: section-num; position: relative; }
main .section > .container > .section-header::before {
  content: counter(section-num, decimal-leading-zero);
  display: block;
  width: max-content;
  margin: 0 auto 0.9rem;
  padding: 0 0.6rem;
  font-family: var(--font-ui);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  color: var(--vermilion);
  border-left: 1px solid var(--vermilion);
  border-right: 1px solid var(--vermilion);
  line-height: 1;
  background: none;
  height: auto;
}
main .section + .section::before,
main .section + .cta-band::before {
  content: "";
  display: block;
  height: 24px;
  margin: 0 auto;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 120px 24px;
  background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 120 24' xmlns='http://www.w3.org/2000/svg'><path d='M2 12 Q18 8 38 12 T78 11 Q100 13 118 11' stroke='%23a02e22' stroke-width='1.4' fill='none' stroke-linecap='round' opacity='0.7'/><circle cx='60' cy='11' r='1.2' fill='%23a02e22' opacity='0.6'/></svg>");
  opacity: 0.85;
}
main .section + .cta-band::before { display: none; }

.section, .experiences-section, .faq-section, .reviews-section, .gallery-section, .highlights-section,
.how-it-works, .comparison-section, .area-cards-section { background: var(--paper); }
.booking-section, .faq-section { background: var(--paper-pure); }

/* ── Comparison: editorial grid ── */
.comparison-table { border-collapse: collapse; background: var(--paper-pure); }
.comparison-table th, .comparison-table td { border: 1px solid var(--mist); background: var(--paper-pure); }
.comparison-col { background: var(--paper); font-family: var(--font-display); font-weight: 600; color: var(--ink); }
.comparison-table .comparison-col--highlight { background: rgba(160,46,34,0.07); border-top: 3px solid var(--vermilion); color: var(--ink); }
.comparison-badge { border-radius: 0 !important; background: var(--vermilion); color: var(--paper-pure); font-size: 0.6rem; letter-spacing: 0.16em; }
.comparison-row-label {
  background: var(--paper); font-family: var(--font-ui); font-size: 0.68rem; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--umber); font-weight: 600;
}
.comparison-cell { color: var(--ink-soft); }
.comparison-cell--highlight { background: rgba(160,46,34,0.04) !important; border-left: 3px solid var(--vermilion) !important; border-right: 3px solid var(--vermilion) !important; color: var(--ink) !important; }
.comparison-btn { text-transform: none !important; letter-spacing: 0 !important; white-space: normal; line-height: 1.3; }

/* ── FAQ ── */
.faq-item { border: none !important; border-bottom: 1px solid var(--mist) !important; background: transparent; }
.faq-item:first-child { border-top: 1px solid var(--mist) !important; }
.faq-question { font-weight: 500; font-size: 1.18rem; color: var(--ink); }
.faq-question:hover { color: var(--vermilion); }
.faq-chevron { color: var(--vermilion); }
.faq-answer-inner p { color: var(--ink-wash); line-height: 1.78; }

/* ── Steps, highlights, trust band ── */
.step-number {
  background: var(--vermilion) !important; color: var(--paper-pure) !important; border-radius: 0 !important;
  font-family: var(--font-display); font-weight: 600; position: relative;
}
.step-number::after { content: ""; position: absolute; inset: 3px; border: 1px solid rgba(249,244,228,0.35); pointer-events: none; }
.step-title { color: var(--ink); }
.step-body { color: var(--ink-wash); }
.highlight-check, .highlight-check--sail-cta { color: var(--vermilion); }
.trust-band { background: var(--paper-pure); border-top: 1px solid var(--mist); border-bottom: 1px solid var(--mist); }
.trust-item { border-right: 1px solid var(--mist); }
.trust-item:last-child { border-right: none; }
.trust-metric { font-family: var(--font-display); font-weight: 600; color: var(--ink); }
.trust-label { font-size: 0.64rem; letter-spacing: 0.12em; color: var(--umber); }
.trust-icon, .trust-icon-svg { color: var(--vermilion); }

/* ── CTA band: ink panel with vermilion rails ── */
.cta-band { background: var(--ink); border-top: 3px solid var(--vermilion); border-bottom: 3px solid var(--vermilion); }
.cta-band .cta-title { color: var(--paper); }
.cta-band .cta-body { color: rgba(241,235,217,0.86); }
.cta-band .section-overline { color: var(--vermilion-light); }

/* ── Reviews ── */
.reviews-section { background: var(--paper-pure); }
.review-text { font-style: italic; color: var(--ink-wash); }
.review-stars, .aggregate-stars, .guide-cta-stars { color: var(--vermilion); }

/* ── Booking box: no tab label, a hairline frame ── */
.booking-widget-wrapper { background: var(--paper-pure); border: 1px solid var(--mist); border-top: 3px solid var(--ink); }

/* ── Footer: ink ── */
.site-footer { background: var(--ink); color: rgba(241,235,217,0.72); border-top: 4px solid var(--vermilion); }
.footer-link, .footer-legal-link, .footer-seo-link { color: rgba(241,235,217,0.76); }
.footer-link:hover, .footer-legal-link:hover, .footer-seo-link:hover { color: var(--vermilion-light); }
.footer-seo-link { font-family: var(--font-ui); font-size: 0.76rem; letter-spacing: 0.03em; }
.footer-col-title, .footer-seo-title { color: var(--paper); font-size: 0.7rem; letter-spacing: 0.18em; }
.footer-brand-desc { color: rgba(241,235,217,0.8); font-style: italic; }
.footer-logo-text { color: var(--paper); font-family: var(--font-display); letter-spacing: 0.06em; }
.footer-logo svg, .footer-logo-icon { color: var(--paper); }
.footer-copy { font-family: var(--font-ui); font-size: 0.7rem; letter-spacing: 0.06em; color: rgba(241,235,217,0.62); }

/* ── Sticky bar ── */
.sticky-cta { background: var(--ink); border-top: 1px solid var(--vermilion); box-shadow: none !important; }
body .sticky-cta .sticky-price-amount, body .sticky-cta .sticky-cta-name { color: var(--paper-pure) !important; }
body .sticky-cta .sticky-price-from, body .sticky-cta .sticky-price-per, body .sticky-cta .sticky-cta-what { color: rgba(241,235,217,0.78) !important; }

/* ── Guide pages ── */
.breadcrumb { background: transparent; }
.breadcrumb-list { font-size: 0.68rem; letter-spacing: 0.1em; color: var(--umber); }
.breadcrumb-list a { color: var(--vermilion); }
.guide-header { background: var(--paper); border-bottom: 1px solid var(--mist); }
.guide-title { font-size: clamp(2rem, 4.6vw, 3.1rem); line-height: 1.08; }
.guide-meta { font-size: 0.68rem; letter-spacing: 0.12em; color: var(--umber); }
.prose h2 { font-size: clamp(1.45rem, 3vw, 1.9rem); margin-top: 2.6rem; padding-top: 1.1rem; border-top: 1px solid var(--mist); }
.prose h3 { font-size: 1.2rem; }
.prose p, .prose li { color: var(--ink-soft); font-size: 1.06rem; line-height: 1.75; }
.prose blockquote { border-left: 3px solid var(--vermilion); background: transparent; font-style: italic; color: var(--ink-wash); }
.prose table { border-collapse: collapse; }
.prose th { background: var(--paper); font-family: var(--font-ui); font-size: 0.7rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--umber); }
.prose th, .prose td { border: 1px solid var(--mist); }
.prose td { background: var(--paper-pure); }
.prose a, .faq-answer a {
  color: var(--vermilion);
  text-decoration: underline;
  text-decoration-color: rgba(160,46,34,0.4);
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
.prose a:hover, .faq-answer a:hover { text-decoration-color: var(--vermilion); text-decoration-thickness: 2px; }
/* buttons inside prose keep their own colours */
.prose a.btn-primary, .choice-card a.btn-primary, .guide-inline-cta a.btn-primary { color: var(--paper-pure) !important; text-decoration: none; }
.prose a.btn-primary:hover, .choice-card a.btn-primary:hover, .guide-inline-cta a.btn-primary:hover { color: var(--vermilion) !important; }
.prose a.btn-outline, .choice-card a.btn-outline { color: var(--ink) !important; text-decoration: none; }
.prose a.btn-outline:hover, .choice-card a.btn-outline:hover { color: var(--paper-pure) !important; }
.cta-band .guide-cta-card { background: transparent !important; border: 0 !important; }
.cta-band .guide-cta-card .cta-title, .cta-band .guide-cta-content .cta-title { color: var(--paper) !important; }
.cta-band .guide-cta-meta, .cta-band .cta-body, .cta-band .guide-cta-meta strong { color: rgba(241,235,217,0.9) !important; }

/* ── Choice cards ── */
.choice-card { background: var(--paper-pure); border: 1px solid var(--mist); border-top: 3px solid var(--ink); }
.choice-card--primary { border-top-color: var(--vermilion); }
.choice-card__tag { font-size: 0.68rem; letter-spacing: 0.08em; color: var(--umber); }
.choice-card__why { color: var(--ink-wash); }
.choice-card .btn-primary, .choice-card .btn-outline { white-space: normal; line-height: 1.3; }

/* ── Pull quote (editorial component) ── */
.pull-quote {
  font-family: var(--font-display);
  font-weight: 400;
  font-style: italic;
  font-size: clamp(1.35rem, 2.8vw, 1.9rem);
  line-height: 1.35;
  color: var(--ink);
  text-align: center;
  max-width: 34ch;
  margin: 2.6rem auto;
}
.pull-quote::before { content: "\201C"; display: block; font-size: 4.4rem; line-height: 0.6; color: var(--vermilion); font-style: normal; margin-bottom: 0.4rem; }
.pull-quote::after { content: ""; display: block; width: 48px; height: 1px; background: var(--vermilion); margin: 1.1rem auto 0; }
.pull-quote cite {
  display: block; margin-top: 0.8rem; font-family: var(--font-ui); font-size: 0.7rem; font-style: normal;
  letter-spacing: 0.16em; text-transform: uppercase; color: var(--umber);
}

/* ── Figure caption (editorial component) ── */
.editorial-figure { margin: 0 0 2.2rem; }
.editorial-figure img { width: 100%; height: auto; display: block; border: 1px solid var(--mist); border-radius: 0 !important; }
.editorial-figure figcaption, .gallery-caption {
  font-family: var(--font-body);
  font-size: 0.86rem;
  line-height: 1.5;
  font-style: italic;
  color: var(--umber);
  padding: 0.5rem 0.85rem;
  border-top: 1px solid var(--mist);
  background: var(--paper-pure);
}

/* ── Stay22 area rows (stay page) ── */
.stay22-areas { list-style: none; padding: 0; display: grid; gap: 1rem; margin: 1.5rem 0 0; }
.stay22-area { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 1rem 1.25rem; background: var(--paper-pure); border: 1px solid var(--mist); }
.stay22-area-text { flex: 1 1 260px; min-width: 0; }
.stay22-area-name { font-family: var(--font-display); font-size: 1.1rem; color: var(--ink); margin-bottom: 0.25rem; }
.stay22-area-why { font-size: 0.9rem; color: var(--ink-wash); line-height: 1.5; }
.stay22-btn { white-space: normal; text-align: center; }

/* ── No hover lifts ── */
.experience-card:hover, .review-card:hover, .step-card:hover, .related-tour-card:hover,
.gallery-item:hover, .faq-item:hover, .tour-booking-card:hover, .area-card:hover {
  transform: none !important;
}
input, textarea, select { border-radius: 0 !important; }

/* ── Phone ── */
@media (max-width: 1023px) {
  .nav-inner { gap: 0.75rem; }
  .logo { flex-shrink: 1; min-width: 0; }
  .logo-text { min-width: 0; }
  .logo-primary { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .logo-tagline { display: none; }
  .hamburger { margin-left: auto; flex-shrink: 0; }
}
@media (max-width: 768px) {
  .hero::after { top: 4.8rem; right: 0.9rem; width: 2.2rem; height: 3.7rem; opacity: 0.7; }
  .section-title { font-size: clamp(1.6rem, 7vw, 2.1rem); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
  body::before { display: none; }
}
.prose blockquote.pull-quote, blockquote.pull-quote { border-left: none; padding: 0; background: none; }
.pull-quote p, .prose .pull-quote p { font-family: var(--font-display); font-size: inherit; font-style: italic; line-height: 1.35; color: var(--ink); margin: 0; text-align: center; }

/* hero topic strip: on ink, not on paper */
.hero .hub-strip, .hub-strip--hero { background: transparent !important; border: 0 !important; box-shadow: none !important; }
.hero .hub-nav-pill { background: rgba(20,17,14,0.45) !important; color: var(--paper) !important; border: 1px solid rgba(217,118,95,0.65) !important; }
.hero .hub-nav-pill:hover { background: var(--vermilion) !important; border-color: var(--vermilion) !important; color: var(--paper-pure) !important; }
@media (max-width: 480px) { .logo-primary { font-size: 0.92rem; letter-spacing: 0.02em; } }

/* comparison: the featured header in ink with paper type; no faded last column (every column is a real option) */
.comparison-table th.comparison-col--highlight { background: var(--ink) !important; color: var(--paper-pure) !important; border-top: 3px solid var(--vermilion) !important; }
.comparison-table th.comparison-col--highlight * { color: var(--paper-pure); }
.comparison-table th.comparison-col--highlight .comparison-badge { background: var(--vermilion); color: var(--paper-pure); }
.comparison-table th:last-child:not(.comparison-col--highlight), .comparison-table td:last-child:not(.comparison-cta-cell):not(.comparison-cell--highlight) { opacity: 1 !important; font-style: normal !important; }
.comparison-table th:last-child:not(.comparison-col--highlight) { background: var(--paper) !important; color: var(--ink) !important; }
.cta-band .guide-cta-stars, .cta-band .review-stars { color: var(--vermilion-light) !important; }
