/* ============================================
   Seward Helicopter Tour — Design Tokens
   ============================================ */
:root{
  --fjord-navy:#0F2438;
  --midnight-slate:#173350;
  --glacier-teal:#4FB8C4;
  --teal-soft:#DCEEF2;
  --snowfield:#F7FAF9;
  --amber:#F0904A;
  --amber-dark:#D97535;
  --stone:#5C6B74;
  --ink:#1B2733;
  --white:#FFFFFF;
  --border:#E1E8EA;

  --font-display:'Big Shoulders Display', sans-serif;
  --font-body:'Inter', sans-serif;
  --font-mono:'IBM Plex Mono', monospace;

  --header-h:76px;
  --radius:14px;
  --radius-sm:8px;
  --shadow-soft:0 10px 30px rgba(15,36,56,0.10);
  --shadow-card:0 4px 18px rgba(15,36,56,0.08);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;}
}

body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--snowfield);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3{
  font-family:var(--font-display);
  color:var(--fjord-navy);
  margin:0 0 0.4em;
  line-height:1.05;
  letter-spacing:0.01em;
}
h1{font-weight:800;}
h2{font-weight:800; font-size:clamp(1.8rem,3.4vw,2.6rem); text-transform:uppercase;}
h3{font-weight:700; font-size:1.15rem; text-transform:uppercase;}

p{margin:0 0 1em;}
a{color:var(--glacier-teal); text-decoration-thickness:1.5px; text-underline-offset:3px;}
a:hover{color:var(--amber-dark);}
img{max-width:100%; display:block;}

section, header, footer{scroll-margin-top:var(--header-h);}

.section-inner{max-width:1160px; margin:0 auto; padding:5rem 1.5rem;}

.eyebrow{
  font-family:var(--font-mono);
  font-size:0.72rem;
  letter-spacing:0.14em;
  color:var(--glacier-teal);
  text-transform:uppercase;
  margin:0 0 0.9em;
}

.skip-link{
  position:absolute; left:-9999px; top:0;
  background:var(--fjord-navy); color:var(--white);
  padding:0.8em 1.2em; z-index:200; border-radius:0 0 var(--radius-sm) 0;
}
.skip-link:focus{left:0;}

:focus-visible{outline:3px solid var(--amber); outline-offset:2px;}

/* ============================================
   Buttons
   ============================================ */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0.5em;
  font-family:var(--font-body);
  font-weight:600;
  font-size:0.98rem;
  padding:0.9em 1.7em;
  border-radius:999px;
  text-decoration:none;
  border:2px solid transparent;
  cursor:pointer;
  transition:transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease, color 0.15s ease;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-2px);}
.btn:active{transform:translateY(0);}

.btn-primary{background:var(--amber); color:var(--white); box-shadow:0 6px 18px rgba(240,144,74,0.35);}
.btn-primary:hover{background:var(--amber-dark); color:var(--white);}

.btn-ghost{background:transparent; color:var(--fjord-navy); border-color:var(--fjord-navy);}
.btn-ghost:hover{background:var(--fjord-navy); color:var(--white);}

.btn-outline{background:transparent; color:var(--glacier-teal); border-color:var(--glacier-teal); width:100%;}
.btn-outline:hover{background:var(--glacier-teal); color:var(--white);}

.btn-large{padding:1.1em 2.3em; font-size:1.05rem;}
.btn-nav{padding:0.6em 1.4em; font-size:0.9rem;}

/* ============================================
   Header / Nav
   ============================================ */
.site-header{
  position:sticky; top:0; z-index:100;
  background:rgba(247,250,249,0.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
}
.header-inner{
  max-width:1280px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 1.5rem; height:var(--header-h);
}
.brand{display:flex; align-items:center; gap:0.6rem; text-decoration:none;}
.brand-mark{width:36px; height:36px; flex-shrink:0;}
.brand-word{
  font-family:var(--font-display);
  font-weight:800; text-transform:uppercase;
  font-size:1.05rem; letter-spacing:0.01em;
  color:var(--fjord-navy);
}

.main-nav{display:flex; align-items:center; gap:1.8rem;}
.main-nav ul{list-style:none; display:flex; gap:1.6rem; margin:0; padding:0;}
.main-nav a{
  color:var(--ink); text-decoration:none; font-weight:600; font-size:0.92rem;
  position:relative; padding:0.3em 0;
}
.main-nav ul a::after{
  content:''; position:absolute; left:0; right:100%; bottom:-2px; height:2px;
  background:var(--amber); transition:right 0.2s ease;
}
.main-nav ul a:hover::after{right:0;}

.hamburger{
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:44px; height:44px; border:none; background:transparent; cursor:pointer;
  border-radius:var(--radius-sm);
}
.hamburger span{
  display:block; width:22px; height:2px; background:var(--fjord-navy); margin:0 auto;
  transition:transform 0.25s ease, opacity 0.25s ease;
}
.hamburger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.hamburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.nav-scrim{
  position:fixed; top:0; right:0; bottom:0; left:0; background:rgba(15,36,56,0.45);
  opacity:0; pointer-events:none; transition:opacity 0.25s ease; z-index:90;
}
.nav-scrim.is-visible{opacity:1; pointer-events:auto;}

/* ============================================
   Hero
   ============================================ */
.hero{
  background:linear-gradient(160deg, var(--fjord-navy) 0%, var(--midnight-slate) 55%, #1c4363 100%);
  color:var(--white);
  position:relative;
  overflow:hidden;
}
.hero::after{
  content:'';
  position:absolute; top:0; right:0; bottom:0; left:0;
  background:url('../images/seward helicopter glacier tour.jpg') center 65%/cover no-repeat;
  opacity:0.22; mix-blend-mode:luminosity;
}
.hero-inner{
  position:relative; z-index:1;
  max-width:820px; margin:0 auto; padding:6.5rem 1.5rem 5rem;
  text-align:center;
}
.hero .eyebrow{color:var(--glacier-teal); text-align:center;}
.hero h1{
  color:var(--white);
  font-size:clamp(2.6rem,6vw,4.4rem);
  text-transform:uppercase;
}
.hero .slogan{
  font-family:var(--font-display);
  font-size:clamp(1.3rem,2.6vw,1.8rem);
  font-weight:600;
  color:var(--amber);
  text-transform:uppercase;
  letter-spacing:0.04em;
  margin-bottom:1.1em;
}
.hero-intro{
  font-size:1.08rem;
  color:var(--teal-soft);
  max-width:620px; margin:0 auto 2.2em;
}
.hero-actions{display:flex; gap:1rem; justify-content:center; flex-wrap:wrap;}
.hero-actions .btn-ghost{color:var(--white); border-color:rgba(255,255,255,0.55);}
.hero-actions .btn-ghost:hover{background:var(--white); color:var(--fjord-navy); border-color:var(--white);}

/* Flight path signature divider */
.flight-path-wrap{background:var(--midnight-slate); padding-top:0.5rem;}
.flight-path{width:100%; height:56px; display:block;}
#flightPath{
  stroke-dasharray:1600;
  stroke-dashoffset:1600;
  transition:stroke-dashoffset 1.8s ease-out;
}
#flightPath.is-drawn{stroke-dashoffset:0;}
.flight-path-labels{
  max-width:1160px; margin:0 auto; padding:0 1.5rem 1.4rem;
  display:flex; justify-content:space-between;
  font-family:var(--font-mono); font-size:0.66rem; letter-spacing:0.08em;
  color:var(--teal-soft); text-transform:uppercase;
}

/* ============================================
   Gallery
   ============================================ */
.gallery-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1rem;
}
.gallery-cell{
  aspect-ratio:4/3; overflow:hidden; border-radius:var(--radius);
  box-shadow:var(--shadow-card);
  border:none; padding:0; margin:0; display:block;
  background:none; cursor:zoom-in; position:relative;
}
.gallery-cell img{
  width:100%; height:100%; object-fit:cover;
  transition:transform 0.5s ease;
}
.gallery-cell:hover img{transform:scale(1.06);}
.gallery-cell::after{
  content:'';
  position:absolute; top:0; right:0; bottom:0; left:0;
  background:rgba(15,36,56,0.15);
  opacity:0; transition:opacity 0.2s ease;
}
.gallery-cell:hover::after, .gallery-cell:focus-visible::after{opacity:1;}

/* ============================================
   Lightbox
   ============================================ */
.lightbox{
  position:fixed; top:0; right:0; bottom:0; left:0; z-index:200;
  background:rgba(15,36,56,0.92);
  display:flex; align-items:center; justify-content:center;
  padding:3.5rem 1.5rem;
}
.lightbox[hidden]{display:none;}
.lightbox-img{
  max-width:min(1100px,88vw); max-height:82vh;
  object-fit:contain;
  border-radius:var(--radius-sm);
  box-shadow:0 20px 60px rgba(0,0,0,0.5);
}
.lightbox-close, .lightbox-nav{
  position:fixed;
  background:rgba(255,255,255,0.12);
  color:var(--white);
  border:1px solid rgba(255,255,255,0.3);
  border-radius:50%;
  width:48px; height:48px;
  font-size:1.6rem; line-height:1;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
  transition:background-color 0.2s ease;
}
.lightbox-close:hover, .lightbox-nav:hover{background:rgba(255,255,255,0.25);}
.lightbox-close{top:1.5rem; right:1.5rem;}
.lightbox-prev{left:1.5rem; top:50%; transform:translateY(-50%);}
.lightbox-next{right:1.5rem; top:50%; transform:translateY(-50%);}

@media (max-width:680px){
  .lightbox{padding:1rem;}
  .lightbox-img{max-width:92vw; max-height:72vh;}
  .lightbox-close{top:0.75rem; right:0.75rem; width:42px; height:42px;}
  .lightbox-prev{left:0.5rem;}
  .lightbox-next{right:0.5rem;}
  .lightbox-prev, .lightbox-next{width:42px; height:42px;}
}

/* ============================================
   Highlights
   ============================================ */
.highlights{background:var(--white); border-top:1px solid var(--border); border-bottom:1px solid var(--border);}
.highlights-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; margin-top:2.5rem;
}
.highlight-card{
  background:var(--snowfield); border:1px solid var(--border);
  border-radius:var(--radius); padding:1.8rem;
  text-align:center;
}
.highlight-icon{width:34px; height:34px; color:var(--glacier-teal); margin:0 auto 0.9rem; display:block;}
.highlight-card h3{font-size:1rem; margin-bottom:0.4em;}
.highlight-card p{margin:0; color:var(--stone); font-size:0.94rem;}

/* ============================================
   CTA bands
   ============================================ */
.cta-band{background:var(--teal-soft);}
.cta-band-alt{background:var(--fjord-navy); color:var(--white);}
.cta-band-alt p{color:var(--teal-soft);}
.cta-band-inner{
  padding:2.6rem 1.5rem;
  display:flex; align-items:center; justify-content:center; gap:2rem;
  flex-wrap:wrap; text-align:center;
}
.cta-band-inner p{margin:0; font-weight:500; max-width:420px;}

/* ============================================
   Description / Details
   ============================================ */
.description-copy{max-width:760px;}
.description-copy p{color:var(--ink);}

.details-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:1.6rem; margin-top:2.5rem;
}
.details-card{
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--radius); padding:2rem; box-shadow:var(--shadow-card);
}
.details-card h3{font-size:0.95rem; margin-top:1.4em;}
.details-card h3:first-child{margin-top:0;}

.check-list, .plain-list{list-style:none; margin:0 0 0.4em; padding:0;}
.check-list li, .plain-list li{
  padding-left:1.7em; position:relative; margin-bottom:0.6em; color:var(--ink); font-size:0.95rem;
}
.check-list li.yes::before{content:'✓'; position:absolute; left:0; color:var(--glacier-teal); font-weight:700;}
.check-list li.no::before{content:'✕'; position:absolute; left:0; color:var(--stone); font-weight:700;}
.check-list li.no{color:var(--stone);}
.plain-list li::before{content:'—'; position:absolute; left:0; color:var(--amber);}

/* ============================================
   Options
   ============================================ */
.options{background:var(--white); border-top:1px solid var(--border); border-bottom:1px solid var(--border);}
.options-intro{max-width:620px; color:var(--stone);}
.options-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; margin-top:2.5rem;
}
.option-card{
  border:1px solid var(--border); border-radius:var(--radius);
  padding:2rem; background:var(--snowfield);
  display:flex; flex-direction:column;
}
.option-card-featured{
  background:var(--fjord-navy); color:var(--white); border-color:var(--fjord-navy);
  box-shadow:var(--shadow-soft); transform:translateY(-6px);
}
.option-card-featured h3, .option-card-featured .option-duration{color:var(--white);}
.option-card-featured p{color:var(--teal-soft);}
.option-duration{
  font-family:var(--font-mono); font-size:0.8rem; letter-spacing:0.08em;
  color:var(--glacier-teal); text-transform:uppercase; margin-bottom:0.3em;
}
.option-card h3{margin-bottom:0.2em;}
.option-meta{font-weight:600; color:var(--amber); margin-bottom:0.8em; font-size:0.9rem;}
.option-card p:not(.option-duration):not(.option-meta){flex-grow:1; color:inherit;}
.option-card .btn{margin-top:0.6em;}

/* ============================================
   Reviews
   ============================================ */
.reviews{background:var(--snowfield);}
.reviews-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; margin-top:2.5rem;
}
.review-card{
  background:var(--white); border:1px solid var(--border); border-radius:var(--radius);
  padding:1.7rem; box-shadow:var(--shadow-card);
  display:flex; flex-direction:column;
}
.stars{color:var(--amber); letter-spacing:2px; font-size:1rem; margin-bottom:0.6em;}
.star-off{color:var(--border);}
.review-text{color:var(--ink); font-size:0.94rem; flex-grow:1;}
.review-meta{
  display:flex; justify-content:space-between; gap:0.6em; flex-wrap:wrap;
  font-size:0.82rem; margin:0.6em 0 0.9em; padding-top:0.7em; border-top:1px dashed var(--border);
}
.review-name{font-weight:700; color:var(--fjord-navy);}
.review-loc{color:var(--stone); font-family:var(--font-mono); font-size:0.74rem;}
.review-reply{
  background:var(--teal-soft); border-radius:var(--radius-sm);
  padding:0.9rem 1.05rem; margin-top:auto;
}
.reply-tag{
  display:block; font-family:var(--font-mono); font-size:0.66rem; letter-spacing:0.08em;
  color:var(--midnight-slate); text-transform:uppercase; margin-bottom:0.35em; opacity:0.75;
}
.review-reply p{margin:0; font-size:0.87rem; color:var(--midnight-slate);}

/* ============================================
   Trip Notes (article teaser grid)
   ============================================ */
.guides{background:var(--white); border-top:1px solid var(--border); border-bottom:1px solid var(--border);}
.guides-intro{max-width:620px; color:var(--stone);}
.guides-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; margin-top:2.5rem;
}
.guide-card{
  display:flex; flex-direction:column;
  background:var(--snowfield); border:1px solid var(--border);
  border-radius:var(--radius); padding:1.7rem;
}
.guide-card h3{font-size:1rem; margin-bottom:0.5em;}
.guide-card p{color:var(--stone); font-size:0.92rem; flex-grow:1; margin-bottom:1.2em;}
.guide-card .btn{align-self:flex-start;}

/* ============================================
   Pre-footer CTA (2-column)
   ============================================ */
.pre-footer-cta{background:linear-gradient(120deg, var(--fjord-navy), var(--midnight-slate));}
.pre-footer-inner{
  display:grid; grid-template-columns:1.3fr 1fr; gap:2.5rem; align-items:center;
}
.pre-footer-text h2, .pre-footer-text .eyebrow{color:var(--white);}
.pre-footer-text .eyebrow{color:var(--glacier-teal);}
.pre-footer-text p{color:var(--teal-soft); margin:0;}
.pre-footer-button{display:flex; justify-content:center;}

/* ============================================
   Footer
   ============================================ */
.site-footer{background:var(--fjord-navy); color:var(--teal-soft);}
.footer-inner{
  display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:2.5rem;
  padding-top:4rem; padding-bottom:2.5rem;
}
.footer-brand .brand-word{color:var(--white); font-size:1.1rem;}
.footer-brand p{color:var(--teal-soft); font-size:0.9rem; margin-top:0.8em;}
.site-footer h3{color:var(--white); font-size:0.85rem; margin-bottom:0.9em;}
.footer-contact address{font-style:normal; display:flex; flex-direction:column; gap:0.6em; font-size:0.9rem;}
.footer-contact a{color:var(--glacier-teal);}
.footer-links ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:0.6em;}
.footer-links a{color:var(--teal-soft); text-decoration:none; font-size:0.9rem;}
.footer-links a:hover{color:var(--amber);}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,0.12);
  text-align:center; padding:1.4rem 1.5rem; font-size:0.8rem; color:var(--stone);
}

/* ============================================
   Back to top
   ============================================ */
.back-to-top{
  position:fixed; right:1.3rem; bottom:1.3rem; z-index:80;
  width:46px; height:46px; border-radius:50%;
  background:var(--fjord-navy); color:var(--white); border:none;
  display:flex; align-items:center; justify-content:center;
  box-shadow:var(--shadow-soft); cursor:pointer;
  opacity:0; transform:translateY(12px); pointer-events:none;
  transition:opacity 0.25s ease, transform 0.25s ease, background-color 0.2s ease;
}
.back-to-top svg{width:20px; height:20px;}
.back-to-top.is-visible{opacity:1; transform:translateY(0); pointer-events:auto;}
.back-to-top:hover{background:var(--amber);}

/* ============================================
   Responsive
   ============================================ */
@media (max-width:900px){
  .highlights-grid, .options-grid, .reviews-grid, .guides-grid{grid-template-columns:repeat(2,1fr);}
  .details-grid{grid-template-columns:1fr;}
  .option-card-featured{transform:none;}
  .pre-footer-inner{grid-template-columns:1fr; text-align:center;}
  .footer-inner{grid-template-columns:1fr 1fr;}
}

@media (max-width:680px){
  :root{--header-h:64px;}
  .section-inner{padding:3.2rem 1.25rem;}

  .main-nav{
    position:fixed; top:var(--header-h); right:0; bottom:0;
    height:calc(100vh - var(--header-h));
    height:calc(100dvh - var(--header-h));
    width:min(320px,86vw);
    z-index:110;
    background:var(--white);
    flex-direction:column; align-items:stretch;
    padding:2rem 1.5rem;
    transform:translateX(100%);
    transition:transform 0.3s ease;
    box-shadow:-8px 0 30px rgba(15,36,56,0.15);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .main-nav.is-open{transform:translateX(0);}
  .main-nav ul{flex-direction:column; gap:0.3rem;}
  .main-nav ul a{display:block; padding:0.85em 0.2em; border-bottom:1px solid var(--border); font-size:1rem;}
  .main-nav .btn-nav{margin-top:1.4rem;}
  .hamburger{display:flex;}

  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .gallery-cell{cursor:default;}
  .gallery-cell::after{display:none;}
  .highlights-grid, .options-grid, .reviews-grid, .guides-grid{grid-template-columns:1fr;}
  .footer-inner{grid-template-columns:1fr; text-align:center;}
  .footer-contact address{align-items:center;}
  .flight-path-labels{font-size:0.56rem;}
  .flight-path-labels span:nth-child(3){display:none;}

  /* All buttons: centered and one-sized on mobile */
  .btn{
    display:flex;
    width:min(320px,100%);
    margin-left:auto;
    margin-right:auto;
    text-align:center;
    padding:0.95em 1.5em;
  }
  .hero-actions{flex-direction:column; align-items:center;}
  .cta-band-inner{flex-direction:column;}
  .article-hero{padding:3rem 1.25rem 2.5rem;}
  .article-body{padding:2.5rem 1.25rem 1rem;}
}

/* ============================================
   Article pages (guides)
   ============================================ */
.breadcrumb-bar{background:var(--snowfield); border-bottom:1px solid var(--border);}
.breadcrumb{max-width:820px; margin:0 auto; padding:1rem 1.5rem; font-size:0.85rem; color:var(--stone);}
.breadcrumb a{color:var(--glacier-teal); text-decoration:none;}
.breadcrumb a:hover{color:var(--amber-dark);}

.article-hero{
  background:linear-gradient(160deg, var(--fjord-navy) 0%, var(--midnight-slate) 100%);
  color:var(--white);
  padding:4rem 1.5rem 3.5rem;
  text-align:center;
}
.article-hero .eyebrow{color:var(--glacier-teal); text-align:center;}
.article-hero h1{
  color:var(--white); font-size:clamp(2rem,4.4vw,3.2rem);
  max-width:900px; margin-left:auto; margin-right:auto; text-transform:uppercase;
}
.article-dek{color:var(--teal-soft); max-width:680px; margin:1rem auto 0; font-size:1.05rem;}

.article-body{max-width:760px; margin:0 auto; padding:3.5rem 1.5rem 1rem;}
.article-body h2{font-size:1.5rem; margin-top:2em; text-transform:none;}
.article-body h3{font-size:1.05rem; text-transform:none; margin-top:1.6em;}
.article-body p{color:var(--ink); font-size:1.03rem; line-height:1.75;}
.article-body ul, .article-body ol{color:var(--ink); font-size:1.03rem; line-height:1.75; padding-left:1.4em; margin-bottom:1.2em;}
.article-body li{margin-bottom:0.5em;}
.article-body a{font-weight:600;}

.table-wrap{overflow-x:auto; margin:1.6em 0; border-radius:var(--radius-sm); border:1px solid var(--border);}
.article-table{width:100%; border-collapse:collapse; min-width:480px; font-size:0.95rem;}
.article-table th, .article-table td{padding:0.8em 1em; text-align:left; border-bottom:1px solid var(--border);}
.article-table th{background:var(--fjord-navy); color:var(--white); font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.06em; text-transform:uppercase;}
.article-table tr:last-child td{border-bottom:none;}
.article-table tr:nth-child(even) td{background:var(--snowfield);}

.article-cta{
  max-width:760px; margin:3rem auto 0; padding:2.2rem 1.5rem;
  background:linear-gradient(120deg, var(--fjord-navy), var(--midnight-slate));
  border-radius:var(--radius); color:var(--white); text-align:center;
}
.article-cta h2{color:var(--white); margin-top:0;}
.article-cta p{color:var(--teal-soft);}
.article-cta .btn{margin-top:0.6em;}

.price-cta-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:1.5rem;}
.price-cta-card{
  background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.18);
  border-radius:var(--radius-sm); padding:1.2rem;
}
.price-cta-card .price-duration{font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.06em; color:var(--glacier-teal); text-transform:uppercase;}
.price-cta-card .price-amount{font-family:var(--font-display); font-size:1.6rem; color:var(--amber); margin:0.3em 0;}
.price-cta-card p{color:var(--teal-soft); font-size:0.85rem; margin-bottom:1em;}

.article-footer-nav{max-width:760px; margin:2rem auto 0; padding:0 1.5rem;}
.article-footer-nav a{color:var(--glacier-teal); text-decoration:none; font-weight:600; font-size:0.92rem;}
.article-footer-nav a:hover{color:var(--amber-dark);}

@media (max-width:680px){
  .price-cta-grid{grid-template-columns:1fr;}
}
