
:root{
  --deep:#062f2f;--pine:#0f4f45;--pine2:#16695d;--lake:#0ea5a4;--mist:#e4fbf8;--cream:#fff7ea;--gold:#f5b84b;--coral:#ef6f4d;--ink:#13201f;--muted:#60736f;--white:#fff;
  --shadow:0 22px 70px rgba(6,47,47,.18);--soft:0 14px 40px rgba(6,47,47,.09);--radius:28px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:linear-gradient(180deg,#f3fffd 0%,#fffaf0 45%,#f7fffc 100%);line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.topbar{position:sticky;top:0;z-index:99;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(15,79,69,.12)}.nav{width:min(1240px,calc(100% - 32px));min-height:78px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:12px;font-weight:950;font-size:1.25rem;letter-spacing:-.05em;color:var(--deep);white-space:nowrap}.brand-mark{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--pine),var(--lake));color:white;box-shadow:0 10px 30px rgba(14,165,164,.26);font-size:1.35rem}.links{display:flex;gap:14px;align-items:center;font-weight:850;font-size:.9rem;color:var(--pine)}.links a:hover{color:var(--coral)}.mobile-menu{display:none;background:var(--pine);color:white;border:0;border-radius:999px;padding:10px 14px;font-weight:900}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;padding:14px 22px;font-weight:950;cursor:pointer;transition:.2s ease;text-align:center}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,var(--coral),var(--gold));color:var(--deep);box-shadow:0 16px 36px rgba(239,111,77,.25)}.btn-light{background:white;color:var(--deep);box-shadow:0 12px 28px rgba(6,47,47,.14)}.btn-ghost{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.32);color:white}.btn-outline{background:transparent;border:1px solid rgba(15,79,69,.2);color:var(--pine)}
.hero{position:relative;min-height:760px;display:grid;align-items:center;overflow:hidden;color:white;background:radial-gradient(circle at 80% 15%,rgba(245,184,75,.42),transparent 28%),linear-gradient(135deg,rgba(6,47,47,.9),rgba(15,79,69,.75)),var(--hero-img, url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1800&q=80')) center/cover}.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:170px;background:linear-gradient(180deg,transparent,#f3fffd)}.hero-inner{position:relative;z-index:2;width:min(1240px,calc(100% - 32px));margin:auto;display:grid;grid-template-columns:1.08fr .92fr;gap:48px;align-items:center;padding:90px 0 140px}.eyebrow{display:inline-flex;gap:10px;align-items:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:9px 14px;font-weight:950;text-transform:uppercase;font-size:.78rem;letter-spacing:.1em}h1{font-size:clamp(3rem,8vw,7rem);line-height:.9;margin:26px 0 24px;letter-spacing:-.08em}.hero p{font-size:clamp(1.08rem,2vw,1.36rem);max-width:720px;color:rgba(255,255,255,.9);margin:0 0 32px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.hero-card{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(18px);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}.hero-card h3{margin:0 0 16px;font-size:1.3rem;color:white}.quick-list{display:grid;gap:12px}.quick-item{display:flex;gap:12px;align-items:flex-start;background:rgba(255,255,255,.12);border-radius:18px;padding:14px}.quick-icon{font-size:1.25rem}.quick-item strong{display:block}.quick-item span{color:rgba(255,255,255,.82);font-size:.94rem}.stat-strip{position:relative;z-index:5;width:min(1240px,calc(100% - 32px));margin:-76px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat{background:white;border-radius:24px;padding:22px;box-shadow:var(--soft);border:1px solid rgba(15,79,69,.08)}.stat strong{display:block;color:var(--deep);font-size:1.55rem;line-height:1;letter-spacing:-.05em}.stat span{color:var(--muted);font-weight:800}section,.wrap{width:min(1240px,calc(100% - 32px));margin:auto;padding:82px 0}.section-head{display:grid;grid-template-columns:1fr .78fr;gap:30px;align-items:end;margin-bottom:34px}.kicker{color:var(--coral);font-weight:950;text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;margin-bottom:10px}h2{font-size:clamp(2.1rem,4vw,4rem);line-height:1;letter-spacing:-.06em;margin:0;color:var(--deep)}h3{color:var(--deep)}.lead,.section-head p{margin:0;color:var(--muted);font-size:1.05rem}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.card{background:white;border-radius:var(--radius);padding:24px;box-shadow:var(--soft);border:1px solid rgba(15,79,69,.08);position:relative;overflow:hidden}.card:before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,var(--lake),var(--gold),var(--coral));opacity:.9}.icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;font-size:1.6rem;background:var(--mist);margin-bottom:18px}.card h3{margin:0 0 8px;font-size:1.25rem}.card p{margin:0;color:var(--muted)}.card ul{margin:14px 0 0;padding-left:18px;color:var(--muted)}.feature{display:grid;grid-template-columns:.95fr 1.05fr;gap:28px;align-items:stretch;background:linear-gradient(135deg,var(--deep),var(--pine));color:white;border-radius:36px;padding:26px;box-shadow:var(--shadow);overflow:hidden}.feature h2{color:white}.feature p{color:rgba(255,255,255,.86)}.feature-copy{padding:28px;align-self:center}.photo-panel{min-height:440px;border-radius:28px;background:linear-gradient(180deg,rgba(6,47,47,.05),rgba(6,47,47,.35)),var(--photo) center/cover}.pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.pill{background:rgba(255,255,255,.13);color:white;padding:10px 14px;border-radius:999px;font-weight:850;border:1px solid rgba(255,255,255,.18);font-size:.92rem}.pill-dark{background:var(--mist);color:var(--deep);border-color:rgba(14,165,164,.18)}.page-block{background:white;border-radius:36px;padding:30px;box-shadow:var(--soft);border:1px solid rgba(15,79,69,.08)}.note-box{background:#fff2df;border:1px solid rgba(245,184,75,.45);border-radius:24px;padding:20px;color:var(--deep);margin-top:20px}.resource-list{display:grid;gap:14px}.resource-link{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:16px;border-radius:22px;background:#f3fffd;border:1px solid rgba(14,165,164,.16);transition:.2s ease}.resource-link:hover{transform:translateY(-2px);box-shadow:var(--soft)}.resource-link strong{display:block;color:var(--deep)}.resource-link span{display:block;color:var(--muted);font-size:.95rem}.badge{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:white;box-shadow:0 8px 18px rgba(6,47,47,.08);font-size:1.35rem}.external{color:var(--coral);font-weight:950}.trail-card{background:var(--cream);border-radius:24px;padding:22px;border:1px solid rgba(245,184,75,.28)}.trail-card strong{display:block;color:var(--deep);font-size:1.1rem}.trail-card span{color:var(--muted)}.listing{display:grid;grid-template-columns:auto 1fr;gap:16px;padding:18px;border-radius:22px;background:#f3fffd;border:1px solid rgba(14,165,164,.15);margin-bottom:14px}.listing h3{margin:0 0 4px}.listing p{margin:0;color:var(--muted)}.itinerary{background:white;border-radius:36px;padding:28px;box-shadow:var(--shadow);border:1px solid rgba(15,79,69,.08)}.day{display:grid;grid-template-columns:92px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid rgba(15,79,69,.1)}.day:last-child{border-bottom:0}.day-number{width:72px;height:72px;border-radius:22px;background:linear-gradient(135deg,var(--lake),var(--pine));color:white;display:grid;place-items:center;font-weight:950;font-size:1.1rem}.day h3{margin:0 0 6px}.day p{margin:0;color:var(--muted)}.photo-map-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.location-card{background:white;border-radius:30px;overflow:hidden;box-shadow:var(--soft);border:1px solid rgba(15,79,69,.08)}.location-card img{width:100%;height:260px;object-fit:cover;background:#dff7f4}.location-card-body{padding:20px}.location-card-body h3{margin:0 0 6px}.location-card-body p{margin:0 0 16px;color:var(--muted)}.map-frame{width:100%;height:260px;border:0;border-radius:20px;background:#dff7f4}.map-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.map-actions a{font-weight:900;color:var(--pine);background:var(--mist);padding:10px 12px;border-radius:999px;font-size:.9rem}.map-actions a:hover{color:var(--coral)}.map-placeholder{min-height:430px;border-radius:32px;background:radial-gradient(circle at 20% 25%,rgba(239,111,77,.30),transparent 12%),radial-gradient(circle at 68% 35%,rgba(245,184,75,.32),transparent 15%),radial-gradient(circle at 45% 72%,rgba(14,165,164,.36),transparent 16%),linear-gradient(135deg,#dff7f4,#fff7ea);border:2px dashed rgba(15,79,69,.26);display:grid;place-items:center;text-align:center;padding:28px}.map-placeholder strong{display:block;color:var(--deep);font-size:1.5rem}.map-placeholder span{color:var(--muted)}.cta{width:min(1240px,calc(100% - 32px));margin:76px auto;border-radius:40px;padding:clamp(34px,6vw,70px);background:radial-gradient(circle at 90% 12%,rgba(245,184,75,.42),transparent 26%),linear-gradient(135deg,var(--deep),var(--pine));color:white;box-shadow:var(--shadow);text-align:center}.cta h2{color:white}.cta p{max-width:780px;margin:18px auto 28px;color:rgba(255,255,255,.86)}footer{background:var(--deep);color:rgba(255,255,255,.78);padding:48px 0}.footer-inner{width:min(1240px,calc(100% - 32px));margin:auto;display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:28px}footer strong{display:block;color:white;margin-bottom:8px}footer a{display:block;color:rgba(255,255,255,.76);margin:6px 0}footer a:hover{color:white}.small{font-size:.9rem;color:var(--muted)}
@media(max-width:1000px){.links{display:none;position:absolute;left:16px;right:16px;top:82px;background:white;border-radius:24px;box-shadow:var(--shadow);padding:18px;flex-direction:column;align-items:flex-start}.links.open{display:flex}.mobile-menu{display:inline-flex}.hero-inner,.section-head,.feature,.footer-inner{grid-template-columns:1fr}.stat-strip{grid-template-columns:repeat(2,1fr)}.grid-2,.grid-3,.grid-4,.photo-map-grid{grid-template-columns:1fr}.photo-panel{min-height:320px}.day{grid-template-columns:1fr}}
@media(max-width:560px){.stat-strip{grid-template-columns:1fr;margin-top:-48px}.hero-actions .btn{width:100%}.page-block,.itinerary{padding:20px}section,.wrap{padding:56px 0}}


/* Wildlife and shop additions */
.alert-box{background:#fff2df;border:1px solid rgba(239,111,77,.35);border-left:8px solid var(--coral);border-radius:24px;padding:20px;color:var(--deep);box-shadow:var(--soft);margin:18px 0}.success-box{background:#e9fbf4;border:1px solid rgba(14,165,164,.25);border-left:8px solid var(--lake);border-radius:24px;padding:20px;color:var(--deep);box-shadow:var(--soft);margin:18px 0}.animal-card{background:white;border-radius:30px;overflow:hidden;box-shadow:var(--soft);border:1px solid rgba(15,79,69,.08)}.animal-card .animal-image{height:230px;background:linear-gradient(135deg,var(--pine),var(--lake));display:grid;place-items:center;font-size:4rem;color:white}.animal-card .animal-body{padding:22px}.animal-card h3{margin:0 0 8px}.animal-meta{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.tag{display:inline-flex;align-items:center;background:var(--mist);color:var(--deep);border:1px solid rgba(14,165,164,.22);border-radius:999px;padding:8px 11px;font-weight:850;font-size:.85rem}.danger-tag{background:#fff2df;border-color:rgba(239,111,77,.32)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field{display:grid;gap:7px}.field label{font-weight:900;color:var(--deep)}.field input,.field select,.field textarea{width:100%;border:1px solid rgba(15,79,69,.18);border-radius:16px;padding:13px 14px;font:inherit;background:white}.field textarea{min-height:120px}.full{grid-column:1/-1}.sighting-board{display:grid;gap:14px}.sighting{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;background:#f3fffd;border:1px solid rgba(14,165,164,.16);border-radius:22px;padding:16px}.sighting strong{display:block;color:var(--deep)}.sighting span{display:block;color:var(--muted);font-size:.95rem}.shop-card{background:white;border-radius:30px;overflow:hidden;box-shadow:var(--soft);border:1px solid rgba(15,79,69,.08);display:flex;flex-direction:column}.shop-art{height:230px;display:grid;place-items:center;background:radial-gradient(circle at 75% 20%,rgba(245,184,75,.35),transparent 25%),linear-gradient(135deg,var(--deep),var(--lake));color:white;font-size:4rem}.shop-body{padding:22px;display:flex;flex-direction:column;gap:12px;flex:1}.price{font-size:1.45rem;font-weight:950;color:var(--pine)}.ad-slot{border:2px dashed rgba(15,79,69,.25);background:rgba(255,255,255,.58);border-radius:26px;padding:24px;text-align:center;color:var(--muted);margin:22px 0}.ad-slot strong{display:block;color:var(--deep);font-size:1.1rem}.mini-table{width:100%;border-collapse:collapse;background:white;border-radius:22px;overflow:hidden;box-shadow:var(--soft)}.mini-table th,.mini-table td{padding:14px;border-bottom:1px solid rgba(15,79,69,.08);text-align:left}.mini-table th{background:var(--mist);color:var(--deep)}.mini-table tr:last-child td{border-bottom:0}
@media(max-width:800px){.form-grid{grid-template-columns:1fr}.sighting{grid-template-columns:1fr}}


/* Conditions, safety and booking additions */
.warning-panel{background:linear-gradient(135deg,#fff2df,#ffffff);border:1px solid rgba(245,184,75,.55);border-radius:28px;padding:24px;box-shadow:var(--soft)}
.danger-panel{background:linear-gradient(135deg,#ffe9e2,#ffffff);border:1px solid rgba(239,111,77,.42);border-radius:28px;padding:24px;box-shadow:var(--soft)}
.checklist{display:grid;gap:12px;margin:18px 0 0;padding:0;list-style:none}.checklist li{background:#f3fffd;border:1px solid rgba(14,165,164,.14);border-radius:18px;padding:14px;color:var(--muted)}.checklist li strong{color:var(--deep)}
.live-card{background:white;border-radius:28px;padding:24px;box-shadow:var(--soft);border:1px solid rgba(15,79,69,.08)}.live-card h3{margin:0 0 8px}.live-card .big-number{font-size:2.4rem;line-height:1;font-weight:950;color:var(--deep);letter-spacing:-.06em}.live-card .label{color:var(--muted);font-weight:800}.live-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.live-actions a{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--mist);color:var(--pine);font-weight:950;padding:10px 14px}.live-actions a:hover{color:var(--coral)}
.package-card{background:white;border-radius:30px;padding:24px;box-shadow:var(--soft);border:1px solid rgba(15,79,69,.08);display:flex;flex-direction:column;gap:12px}.package-card .price{font-size:1.25rem}.affiliate-note{font-size:.92rem;color:var(--muted);background:#f3fffd;border-radius:18px;padding:12px;margin-top:12px}.timeline{display:grid;gap:18px}.timeline-step{display:grid;grid-template-columns:64px 1fr;gap:16px;align-items:start}.timeline-step .step-num{width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg,var(--lake),var(--pine));color:white;display:grid;place-items:center;font-weight:950}.timeline-step h3{margin:0 0 6px}.timeline-step p{margin:0;color:var(--muted)}
@media(max-width:800px){.timeline-step{grid-template-columns:1fr}.live-actions a{width:100%}}

/* Aurora page additions */
.alert-panel{background:linear-gradient(135deg,#071f2a,#123a4a 55%,#0f4f45);color:white;border-radius:34px;padding:28px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.12)}
.alert-panel h3{color:white;margin-top:0}.alert-panel p{color:rgba(255,255,255,.86)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid rgba(15,79,69,.16);border-radius:18px;padding:14px 16px;font:inherit;background:white;color:var(--ink)}.form-grid textarea{grid-column:1/-1;min-height:110px}.form-grid .full{grid-column:1/-1}.form-note{font-size:.9rem;color:rgba(255,255,255,.75);margin-top:12px}.signal-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.signal{background:white;border-radius:22px;padding:18px;box-shadow:var(--soft);border:1px solid rgba(15,79,69,.08)}.signal strong{display:block;color:var(--deep);font-size:1.25rem}.signal span{display:block;color:var(--muted);font-size:.95rem}.photo-tip{background:#f3fffd;border:1px solid rgba(14,165,164,.18);border-radius:24px;padding:20px}.photo-tip strong{display:block;color:var(--deep);margin-bottom:4px}.aurora-night{background:linear-gradient(180deg,rgba(6,47,47,.05),rgba(6,47,47,.45)),url('https://images.unsplash.com/photo-1506744038136-46273834b3fb?auto=format&fit=crop&w=1600&q=80') center/cover}
@media(max-width:1000px){.form-grid,.signal-row{grid-template-columns:1fr}}

/* Approved realistic icon system — sourced from the final Jasper Journeys icon sheet */
.icon img,.badge img,.quick-icon img,.brand-mark img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
.icon{overflow:hidden;background:#061416;box-shadow:0 10px 24px rgba(6,47,47,.14)}
.badge{overflow:hidden;background:#061416;padding:0}
.quick-icon{width:34px;height:34px;min-width:34px;border-radius:12px;display:inline-grid;place-items:center;overflow:hidden;background:#061416;box-shadow:0 6px 14px rgba(0,0,0,.18);font-size:0}
.brand-mark{overflow:hidden;background:#061416;padding:0}
.brand-mark img{border-radius:16px}


/* Blog and SEO article system */
.article-hero{position:relative;min-height:520px;display:grid;align-items:center;color:white;background:radial-gradient(circle at 80% 15%,rgba(245,184,75,.34),transparent 28%),linear-gradient(135deg,rgba(6,47,47,.92),rgba(15,79,69,.78)),var(--hero-img,url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1800&q=80')) center/cover;overflow:hidden}.article-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(180deg,transparent,#f3fffd)}.article-hero-inner{position:relative;z-index:2;width:min(1120px,calc(100% - 32px));margin:auto;padding:78px 0 120px}.article-hero h1{max-width:980px}.article-meta{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.article-meta span{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:8px 12px;font-weight:850}.article-layout{width:min(1120px,calc(100% - 32px));margin:auto;padding:64px 0;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}.article-main{background:white;border-radius:34px;padding:clamp(24px,4vw,46px);box-shadow:var(--soft);border:1px solid rgba(15,79,69,.08)}.article-main h2{font-size:clamp(1.7rem,3vw,2.7rem);margin:42px 0 14px}.article-main h3{font-size:1.35rem;margin:28px 0 8px}.article-main p{color:var(--muted);font-size:1.05rem}.article-main li{color:var(--muted);margin:7px 0}.article-main a{color:var(--pine);font-weight:900;text-decoration:underline;text-decoration-color:rgba(14,165,164,.35);text-underline-offset:3px}.quick-facts{background:var(--cream);border:1px solid rgba(245,184,75,.35);border-radius:26px;padding:20px;margin:24px 0}.quick-facts strong{color:var(--deep)}.article-sidebar{position:sticky;top:100px;display:grid;gap:18px}.sidebar-box{background:white;border-radius:28px;padding:22px;box-shadow:var(--soft);border:1px solid rgba(15,79,69,.08)}.sidebar-box h3{margin-top:0}.toc a,.related-links a{display:block;padding:9px 0;border-bottom:1px solid rgba(15,79,69,.08);color:var(--pine);font-weight:850}.toc a:last-child,.related-links a:last-child{border-bottom:0}.affiliate-box{background:linear-gradient(135deg,#fff2df,#fff);border:1px solid rgba(245,184,75,.45);border-radius:26px;padding:20px;margin:28px 0}.ad-placeholder{border:2px dashed rgba(15,79,69,.25);border-radius:24px;background:#f8fffd;color:var(--muted);text-align:center;padding:22px;margin:32px 0}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.blog-card{background:white;border-radius:28px;padding:24px;box-shadow:var(--soft);border:1px solid rgba(15,79,69,.08);display:flex;flex-direction:column;gap:12px}.blog-card .icon{width:64px;height:64px}.blog-card h3{margin:0}.blog-card p{margin:0;color:var(--muted)}.category-label{display:inline-flex;align-self:flex-start;background:var(--mist);color:var(--deep);border-radius:999px;padding:7px 10px;font-weight:900;font-size:.82rem}@media(max-width:1000px){.article-layout{grid-template-columns:1fr}.article-sidebar{position:static}.blog-grid{grid-template-columns:1fr}}


/* =========================================================
   Jasper Journeys Visual Upgrade v2 - Navigation, CTAs, Footer
   Research-informed: simpler palette, stronger contrast, clearer actions.
   ========================================================= */
:root{
  --evergreen:#04302f;
  --forest:#0B4A43;
  --glacier:#0EA5A4;
  --glacier-soft:#DFF7F4;
  --sunset:#F97316;
  --sunset-2:#FDBA3B;
  --stone:#F6F0E6;
  --night:#071f1f;
  --text:#102826;
  --text-soft:#5D716E;
  --focus:0 0 0 4px rgba(249,115,22,.25);
}
body{color:var(--text);background:linear-gradient(180deg,#F2FFFD 0%,#FFF7EA 44%,#F8FFFC 100%)}
.topbar{background:rgba(246,255,253,.86);backdrop-filter:blur(22px) saturate(1.18);border-bottom:1px solid rgba(6,47,47,.10);box-shadow:0 10px 34px rgba(6,47,47,.07)}
.nav{min-height:84px;gap:22px}.brand{font-size:1.28rem;letter-spacing:-.045em}.brand-mark{width:52px;height:52px;border-radius:18px;background:linear-gradient(145deg,var(--evergreen),var(--glacier));box-shadow:0 14px 34px rgba(14,165,164,.26), inset 0 1px 0 rgba(255,255,255,.25)}
.brand-mark img{width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 5px 8px rgba(0,0,0,.18))}
.links{background:rgba(255,255,255,.68);border:1px solid rgba(15,79,69,.10);border-radius:999px;padding:8px;box-shadow:0 10px 30px rgba(6,47,47,.06);gap:4px}.links a{padding:10px 12px;border-radius:999px;color:var(--forest);transition:.18s ease}.links a:hover{background:var(--glacier-soft);color:var(--evergreen);transform:translateY(-1px)}.links .btn{margin-left:4px;padding:12px 16px}
.btn{min-height:48px;letter-spacing:-.01em;box-shadow:none}.btn:focus-visible,.links a:focus-visible,.map-actions a:focus-visible{outline:none;box-shadow:var(--focus)}
.btn-primary{background:linear-gradient(135deg,var(--sunset),var(--sunset-2));color:#102826;box-shadow:0 14px 30px rgba(249,115,22,.26), inset 0 1px 0 rgba(255,255,255,.35)}.btn-primary:hover{box-shadow:0 18px 38px rgba(249,115,22,.34)}
.btn-outline{background:#fff;border:1px solid rgba(15,79,69,.16);color:var(--forest);box-shadow:0 8px 18px rgba(6,47,47,.06)}.btn-outline:hover{border-color:rgba(249,115,22,.35);background:#FFF7EA;color:#9A3E0E}.btn-light{background:#fff;color:var(--evergreen);box-shadow:0 14px 32px rgba(6,47,47,.14)}
.hero{background:radial-gradient(circle at 78% 13%,rgba(253,186,59,.48),transparent 26%),linear-gradient(135deg,rgba(4,48,47,.92),rgba(11,74,67,.76)),var(--hero-img, url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1800&q=80')) center/cover}.eyebrow{background:rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.card{border-radius:32px;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}.card:hover{transform:translateY(-4px);box-shadow:0 22px 58px rgba(6,47,47,.13);border-color:rgba(14,165,164,.22)}.card:before{height:5px;background:linear-gradient(90deg,var(--glacier),var(--sunset-2),var(--sunset))}.icon{width:68px;height:68px;border-radius:22px;background:linear-gradient(180deg,#fff,var(--glacier-soft));box-shadow:0 12px 24px rgba(6,47,47,.10)}.icon img,.badge img,.quick-icon img{width:100%;height:100%;object-fit:contain}.badge{background:linear-gradient(180deg,#fff,#F2FFFD)}
.kicker{color:#D85B20}h1,h2,h3{letter-spacing:-.05em}.section-head p,.lead,.card p,.trail-card span,.resource-link span{color:var(--text-soft)}
.resource-link{background:rgba(255,255,255,.86);border-color:rgba(14,165,164,.15);box-shadow:0 10px 24px rgba(6,47,47,.05)}.resource-link:hover{border-color:rgba(249,115,22,.25);background:#fff}.note-box{background:#FFF3DF;border-color:rgba(249,115,22,.28)}
.cta{background:radial-gradient(circle at 88% 18%,rgba(253,186,59,.45),transparent 25%),linear-gradient(135deg,var(--evergreen),var(--forest));box-shadow:0 28px 80px rgba(6,47,47,.22)}
footer{background:linear-gradient(135deg,#061D1D,#052F2E);padding:64px 0 92px}.footer-inner{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.10);border-radius:34px;padding:30px;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}footer a{padding:4px 0}footer a:hover{color:#FDBA3B}.small{font-size:.92rem;color:rgba(255,255,255,.64)}
.bottom-action-bar{position:fixed;left:12px;right:12px;bottom:12px;z-index:120;display:none;grid-template-columns:repeat(4,1fr);gap:8px;background:rgba(6,31,31,.88);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.13);border-radius:24px;padding:9px;box-shadow:0 18px 48px rgba(0,0,0,.26)}.bottom-action-bar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#fff;font-weight:850;font-size:.78rem;min-height:54px;border-radius:17px}.bottom-action-bar a:hover{background:rgba(255,255,255,.10)}.bottom-action-bar img{width:24px;height:24px;object-fit:contain}.bottom-action-bar .hot{background:linear-gradient(135deg,var(--sunset),var(--sunset-2));color:#102826}
@media(max-width:1000px){.links{display:none}.mobile-menu{display:inline-flex}.bottom-action-bar{display:grid}body{padding-bottom:86px}.nav{min-height:74px}.brand-mark{width:46px;height:46px}.brand-mark img{width:38px;height:38px}}
@media(max-width:560px){h1{font-size:clamp(2.85rem,14vw,4.4rem)}.hero-inner{padding-top:70px}.section-head{gap:16px}.card{border-radius:26px}.footer-inner{padding:22px;border-radius:26px}}


/* Site-wide horizontal AdSense banner */
.site-ad {
  width: min(1180px, calc(100% - 32px));
  margin: 34px auto;
  padding: 0;
}

.site-ad-inner {
  position: relative;
  min-height: 100px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(15, 79, 69, 0.12);
  box-shadow: 0 14px 34px rgba(6, 47, 47, 0.08);
  overflow: hidden;
  padding: 22px 16px 16px;
}

.ad-label {
  position: absolute;
  top: 8px;
  left: 16px;
  z-index: 2;
  font-size: 0.7rem;
  line-height: 1;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(19, 32, 31, 0.55);
  font-weight: 800;
}

.site-ad ins.adsbygoogle {
  min-height: 90px;
}

@media (max-width: 700px) {
  .site-ad {
    width: min(100% - 20px, 1180px);
    margin: 24px auto;
  }

  .site-ad-inner {
    border-radius: 18px;
    min-height: 90px;
  }
}


/* Blog in-content AdSense banners */
.article-body .site-ad,
.blog-post .site-ad,
main .site-ad {
  clear: both;
}

.site-ad-horizontal {
  margin-top: 36px;
  margin-bottom: 36px;
}


/* Meta-only AdSense verification: reserved blog banner placement styling */
.ad-placeholder-only .site-ad-inner {
  min-height: 96px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ad-placeholder-message {
  width: 100%;
  min-height: 64px;
  border: 1px dashed rgba(15, 79, 69, 0.22);
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: rgba(19, 32, 31, 0.56);
  font-weight: 700;
  font-size: 0.95rem;
  padding: 14px;
  background: rgba(255, 255, 255, 0.55);
}


/* Jasper Journeys Interactive Map */
.interactive-map-shell{width:min(1240px,calc(100% - 32px));margin:0 auto;padding:42px 0 88px}.map-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:22px;align-items:start}.map-panel{background:rgba(255,255,255,.92);border:1px solid rgba(15,79,69,.12);box-shadow:0 18px 45px rgba(6,47,47,.10);border-radius:28px;padding:22px}.map-panel.sticky{position:sticky;top:92px}#discover-map{min-height:720px;width:100%;border-radius:30px;overflow:hidden;border:1px solid rgba(15,79,69,.14);box-shadow:0 22px 60px rgba(6,47,47,.16);background:#dff7f4}.map-filter-list{display:grid;gap:9px;margin:16px 0 0}.map-filter-list label{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--deep,#062f2f);background:rgba(228,251,248,.72);padding:10px 12px;border-radius:16px;cursor:pointer}.dj-map-marker{background:transparent;border:0}.dj-marker-dot{width:30px;height:30px;display:grid;place-items:center;border-radius:999px;background:var(--pin,#0ea5a4);border:3px solid white;box-shadow:0 8px 20px rgba(6,47,47,.28);color:#062f2f;font-weight:1000;font-size:.8rem}.dj-marker-dot.paid-pin{animation:pinPulse 1.8s infinite}.wildlife-dot{background:#f5b84b;color:#062f2f}@keyframes pinPulse{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(239,111,77,.32),0 8px 20px rgba(6,47,47,.28)}70%{transform:scale(1.08);box-shadow:0 0 0 14px rgba(239,111,77,0),0 8px 20px rgba(6,47,47,.28)}100%{transform:scale(1)}}.map-popup h3{margin:0 0 8px;color:#062f2f}.map-popup p{margin:0 0 8px}.map-popup-link{display:inline-flex;padding:8px 12px;background:#e4fbf8;color:#0f4f45;border-radius:999px;font-weight:900;text-decoration:none}.map-safe-note{color:#5a6f6b;font-size:.92rem}.map-badge{display:inline-flex;margin-left:6px;padding:4px 8px;border-radius:999px;font-size:.68rem;font-weight:900;text-transform:uppercase}.map-badge.featured{background:#fff2d5;color:#6f4500}.map-badge.premium{background:#ffe7df;color:#7a2410}.sighting-form{display:grid;gap:12px}.sighting-form label{display:grid;gap:5px;font-weight:850;color:#062f2f}.sighting-form select,.sighting-form input,.sighting-form textarea{width:100%;padding:12px 13px;border-radius:16px;border:1px solid rgba(15,79,69,.18);background:white;font:inherit}.sighting-form textarea{min-height:84px;resize:vertical}.form-note,.map-small-note{color:#5a6f6b;font-size:.92rem;margin:8px 0 0}.confirmation-text{color:#0f4f45;font-weight:850;min-height:22px}.wildlife-report-list{display:grid;gap:10px;margin-top:12px}.wildlife-report-card,.empty-report{background:rgba(255,247,234,.85);border:1px solid rgba(245,184,75,.28);border-radius:18px;padding:12px}.wildlife-report-card strong,.wildlife-report-card span{display:block}.wildlife-report-card span{color:#5a6f6b;font-size:.9rem}.map-money-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.map-money-card{background:white;border:1px solid rgba(15,79,69,.12);border-radius:24px;box-shadow:0 14px 36px rgba(6,47,47,.08);padding:20px}.map-money-card strong{display:block;color:#062f2f;font-size:1.1rem;margin-bottom:6px}.map-money-card span{color:#5a6f6b;display:block}.map-money-card em{display:inline-block;margin-top:12px;color:#ef6f4d;font-style:normal;font-weight:950}.map-warning{background:#fff2df;border:1px solid rgba(245,184,75,.45);border-radius:24px;padding:18px;color:#062f2f}@media(max-width:980px){.map-layout,.map-money-grid{grid-template-columns:1fr}.map-panel.sticky{position:static}#discover-map{min-height:560px}}


/* Premium Jasper Journeys Navigation + Footer Upgrade */
:root{--nav-glass:rgba(255,255,255,.86);--nav-border:rgba(15,79,69,.14);--nav-text:#062f2f;--nav-muted:rgba(6,47,47,.66);--nav-shadow:0 18px 55px rgba(6,47,47,.14)}
.site-header-pro{position:sticky;top:0;z-index:1000;width:100%;padding:12px 0;background:linear-gradient(180deg,rgba(243,255,253,.96),rgba(243,255,253,.78));backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(15,79,69,.1)}
.nav-pro{width:min(1240px,calc(100% - 28px));min-height:72px;margin:0 auto;padding:10px 12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;border:1px solid var(--nav-border);border-radius:999px;background:var(--nav-glass);box-shadow:var(--nav-shadow)}
.brand-pro{display:inline-flex;align-items:center;gap:12px;min-width:max-content;color:var(--nav-text);text-decoration:none}.brand-icon-pro{width:50px;height:50px;display:grid;place-items:center;border-radius:18px;background:radial-gradient(circle at 70% 18%,#f5b84b 0 18%,transparent 19%),linear-gradient(135deg,#062f2f,#0f4f45 52%,#0ea5a4);color:white;box-shadow:0 14px 28px rgba(14,165,164,.24);font-size:1.42rem}.brand-text-pro{display:grid;line-height:1.05}.brand-text-pro strong{font-size:1.12rem;letter-spacing:-.045em;font-weight:1000}.brand-text-pro em{margin-top:3px;font-style:normal;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--nav-muted);font-weight:900}
.nav-menu-pro{justify-self:center;display:flex;align-items:center;justify-content:center;gap:4px;padding:6px;border-radius:999px;background:rgba(228,251,248,.58);border:1px solid rgba(14,165,164,.1);min-width:0}.nav-menu-pro a{position:relative;display:inline-flex;align-items:center;min-height:42px;padding:0 13px;border-radius:999px;color:var(--nav-text);font-size:.91rem;font-weight:900;text-decoration:none;white-space:nowrap;transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.nav-menu-pro a:hover,.nav-menu-pro a:focus-visible{color:#062f2f;background:white;box-shadow:0 10px 24px rgba(6,47,47,.1);transform:translateY(-1px);outline:none}
.nav-actions-pro{display:inline-flex;align-items:center;gap:9px;justify-content:flex-end;min-width:max-content}.nav-link-soft,.btn-nav-primary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 17px;border-radius:999px;text-decoration:none;font-weight:950;white-space:nowrap;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.nav-link-soft{color:#0f4f45;background:rgba(255,255,255,.72);border:1px solid rgba(15,79,69,.12)}.btn-nav-primary{color:#062f2f;background:linear-gradient(135deg,#f5b84b,#ef6f4d);box-shadow:0 14px 26px rgba(239,111,77,.24);border:0}.nav-link-soft:hover,.btn-nav-primary:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(6,47,47,.14)}
.nav-toggle-pro{display:none;width:48px;height:48px;border-radius:16px;border:1px solid rgba(15,79,69,.12);background:white;box-shadow:0 10px 22px rgba(6,47,47,.1);cursor:pointer}.nav-toggle-pro span{display:block;width:22px;height:2px;margin:5px auto;border-radius:999px;background:#062f2f;transition:transform .2s ease,opacity .2s ease}.nav-toggle-pro.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle-pro.is-open span:nth-child(2){opacity:0}.nav-toggle-pro.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-bottom-pro{display:none}
.footer-pro{position:relative;margin-top:70px;padding:46px 0 22px;color:rgba(255,255,255,.82);background:radial-gradient(circle at 12% 18%,rgba(14,165,164,.26),transparent 32%),radial-gradient(circle at 82% 12%,rgba(245,184,75,.22),transparent 28%),linear-gradient(135deg,#062f2f,#0f4f45);overflow:hidden}.footer-pro:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 35%),linear-gradient(0deg,rgba(0,0,0,.16),transparent 40%);pointer-events:none}.footer-pro-inner{position:relative;z-index:1;width:min(1240px,calc(100% - 32px));margin:0 auto;display:grid;grid-template-columns:minmax(280px,1.15fr) 2fr;gap:30px;align-items:stretch}.footer-brand-card{padding:28px;border-radius:30px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);box-shadow:0 18px 45px rgba(0,0,0,.18)}.footer-brand-pro{color:white;margin-bottom:18px}.footer-brand-pro .brand-text-pro em{color:rgba(255,255,255,.72)}.footer-brand-card p{color:rgba(255,255,255,.78);margin:0 0 22px}.footer-cta-row{display:flex;flex-wrap:wrap;gap:10px}.footer-soft{color:white;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.18)}
.footer-link-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding:28px;border-radius:30px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.13)}.footer-link-grid h3{margin:0 0 13px;color:white;font-size:.86rem;letter-spacing:.14em;text-transform:uppercase}.footer-link-grid a{display:block;margin:9px 0;color:rgba(255,255,255,.76);text-decoration:none;font-weight:750}.footer-link-grid a:hover{color:white;transform:translateX(2px)}.footer-pro-bottom{position:relative;z-index:1;width:min(1240px,calc(100% - 32px));margin:24px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:16px;color:rgba(255,255,255,.64);font-size:.92rem}.footer-pro-bottom a{color:rgba(255,255,255,.78);text-decoration:none}.footer-pro-bottom a:hover{color:white}
.topbar{display:none!important}
@media(max-width:1180px){.nav-pro{grid-template-columns:auto auto}.nav-toggle-pro{display:inline-block;justify-self:end}.nav-menu-pro{position:fixed;top:92px;left:16px;right:16px;z-index:1001;display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px;border-radius:26px;background:rgba(255,255,255,.97);box-shadow:0 24px 70px rgba(6,47,47,.22);border:1px solid rgba(15,79,69,.12)}.nav-menu-pro.is-open{display:grid}.nav-menu-pro a{min-height:50px;background:rgba(228,251,248,.7);justify-content:center}.nav-actions-pro{display:none}}
@media(max-width:760px){body{padding-bottom:82px}.site-header-pro{padding:8px 0}.nav-pro{width:min(100% - 18px,1240px);min-height:64px;padding:8px 10px;border-radius:24px}.brand-icon-pro{width:44px;height:44px;border-radius:15px}.brand-text-pro strong{font-size:1rem}.brand-text-pro em{display:none}.nav-menu-pro{top:78px;grid-template-columns:1fr}.mobile-bottom-pro{position:fixed;left:10px;right:10px;bottom:10px;z-index:1000;display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:8px;border-radius:24px;background:rgba(255,255,255,.93);border:1px solid rgba(15,79,69,.14);box-shadow:0 18px 45px rgba(6,47,47,.24);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.mobile-bottom-pro a{display:grid;place-items:center;gap:3px;min-height:54px;border-radius:18px;color:#062f2f;text-decoration:none;font-size:.72rem;font-weight:900;background:rgba(228,251,248,.62)}.mobile-bottom-pro span{font-size:1.15rem;line-height:1}.mobile-bottom-pro strong{font-size:.72rem}.footer-pro{margin-bottom:76px}.footer-pro-inner{grid-template-columns:1fr}.footer-link-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:22px}.footer-pro-bottom{flex-direction:column}}
@media(max-width:460px){.footer-link-grid{grid-template-columns:1fr}}


/* Live HorizontalJasper AdSense banner styling */
.site-ad{width:min(1180px,calc(100% - 32px));margin:34px auto;padding:0;clear:both}.site-ad-inner{position:relative;min-height:110px;border-radius:24px;background:rgba(255,255,255,.72);border:1px solid rgba(15,79,69,.12);box-shadow:0 14px 34px rgba(6,47,47,.08);overflow:hidden;padding:22px 16px 16px}.ad-label{position:absolute;top:8px;left:16px;z-index:2;font-size:.7rem;line-height:1;letter-spacing:.12em;text-transform:uppercase;color:rgba(19,32,31,.55);font-weight:800}.site-ad ins.adsbygoogle{min-height:90px}@media(max-width:700px){.site-ad{width:min(100% - 20px,1180px);margin:24px auto}.site-ad-inner{border-radius:18px;min-height:96px}}


/* Homepage cinematic hero video */
.hero.has-video {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #062f2f;
}

.hero.has-video .hero-bg-video {
  position: absolute;
  inset: 0;
  z-index: -3;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
  transform: scale(1.03);
}

.hero.has-video .hero-video-overlay {
  position: absolute;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(6, 47, 47, 0.88), rgba(6, 47, 47, 0.42), rgba(6, 47, 47, 0.78)),
    linear-gradient(0deg, rgba(6, 47, 47, 0.92), rgba(6, 47, 47, 0.12) 58%, rgba(6, 47, 47, 0.62));
}

.hero.has-video .hero-inner,
.hero.has-video > *:not(.hero-bg-video):not(.hero-video-overlay) {
  position: relative;
  z-index: 1;
}

@media (prefers-reduced-motion: reduce) {
  .hero.has-video .hero-bg-video {
    display: none;
  }

  .hero.has-video {
    background-image: linear-gradient(135deg, rgba(6,47,47,.90), rgba(15,79,69,.82)), url("../video/jasper-hero-poster.jpg");
    background-size: cover;
    background-position: center;
  }
}


/* Jasper Weather Centre */
.weather-status {
  margin-top: 16px;
  color: rgba(255,255,255,.82);
  font-weight: 800;
}

.weather-error {
  color: #ffd7c8 !important;
}

.weather-centre-shell {
  width: min(1240px, calc(100% - 32px));
  margin: 0 auto;
  padding: 56px 0 20px;
}

.weather-current-card {
  min-width: min(390px, 100%);
}

.weather-current-main {
  display: flex;
  gap: 18px;
  align-items: center;
}

.weather-icon-large {
  font-size: 4rem;
  line-height: 1;
  filter: drop-shadow(0 12px 18px rgba(6,47,47,.25));
}

.weather-kicker {
  color: #0ea5a4;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-weight: 1000;
}

.weather-current-main h2 {
  margin: 4px 0 5px;
  font-size: clamp(2.7rem, 5vw, 4.6rem);
  letter-spacing: -.08em;
  color: #062f2f;
}

.weather-current-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 20px;
}

.weather-current-grid div,
.blend-score-grid div,
.weather-source-comparison article {
  border-radius: 18px;
  background: rgba(228,251,248,.72);
  border: 1px solid rgba(15,79,69,.10);
  padding: 12px;
}

.weather-current-grid strong,
.blend-score-grid strong {
  display: block;
  color: rgba(6,47,47,.64);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.weather-current-grid span,
.blend-score-grid span {
  display: block;
  color: #062f2f;
  font-size: 1.1rem;
  font-weight: 1000;
  margin-top: 4px;
}

.forecast-blend-summary {
  display: grid;
  grid-template-columns: minmax(280px, 1.1fr) 1.4fr;
  gap: 18px;
}

.blend-score-card,
.weather-source-panel,
.page-block {
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(15,79,69,.12);
  box-shadow: 0 18px 45px rgba(6,47,47,.08);
  border-radius: 28px;
  padding: 24px;
}

.blend-score-card h3 {
  margin: 8px 0;
  color: #062f2f;
  font-size: clamp(2rem, 4vw, 3.3rem);
  letter-spacing: -.06em;
}

.blend-score-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.weather-source-panel {
  margin-top: 22px;
}

.weather-source-comparison {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.weather-source-comparison strong {
  display: block;
  color: #062f2f;
  margin-bottom: 5px;
}

.weather-source-comparison span {
  color: #5a6f6b;
  font-size: .92rem;
}

.source-links-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}

.source-links-grid a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  text-align: center;
  padding: 10px;
  border-radius: 999px;
  color: #0f4f45;
  background: rgba(228,251,248,.82);
  text-decoration: none;
  font-weight: 900;
}

.hourly-forecast-grid {
  width: min(1240px, calc(100% - 32px));
  margin: 0 auto;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(160px, 1fr);
  gap: 14px;
  overflow-x: auto;
  padding: 0 0 16px;
  scroll-snap-type: x mandatory;
}

.hourly-card {
  scroll-snap-align: start;
  min-height: 230px;
  border-radius: 24px;
  background: white;
  border: 1px solid rgba(15,79,69,.12);
  box-shadow: 0 14px 34px rgba(6,47,47,.08);
  padding: 18px;
  display: grid;
  gap: 7px;
}

.hourly-card strong {
  color: #062f2f;
}

.hourly-icon {
  font-size: 2.2rem;
}

.hourly-card b {
  font-size: 1.75rem;
  color: #062f2f;
}

.hourly-card small {
  color: #5a6f6b;
  font-weight: 800;
}

.hourly-mini {
  display: grid;
  gap: 4px;
  margin-top: 8px;
  color: #5a6f6b;
  font-size: .88rem;
}

.weekly-forecast-grid {
  width: min(1240px, calc(100% - 32px));
  margin: 0 auto;
  display: grid;
  gap: 14px;
}

.daily-card {
  display: grid;
  grid-template-columns: 1.2fr auto 1.4fr;
  align-items: center;
  gap: 18px;
  border-radius: 24px;
  background: white;
  border: 1px solid rgba(15,79,69,.12);
  box-shadow: 0 14px 34px rgba(6,47,47,.08);
  padding: 18px;
}

.daily-card strong {
  display: block;
  color: #062f2f;
  font-size: 1.15rem;
}

.daily-card span,
.daily-details span {
  display: block;
  color: #5a6f6b;
}

.daily-temps {
  text-align: right;
}

.daily-temps b {
  color: #062f2f;
  font-size: 1.8rem;
}

.daily-temps small {
  color: #5a6f6b;
  font-weight: 900;
}

.daily-details {
  display: grid;
  gap: 4px;
  font-size: .92rem;
}

@media (max-width: 980px) {
  .forecast-blend-summary,
  .weather-source-comparison,
  .source-links-grid,
  .daily-card {
    grid-template-columns: 1fr;
  }

  .daily-temps {
    text-align: left;
  }
}


/* Jasper Journeys brand update */
.brand-logo-img-wrap {
  overflow: hidden;
  background: white !important;
}

.brand-logo-img-wrap img,
.brand-mark img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.jasper-journeys-home-logo {
  width: min(520px, 100%);
  margin: 0 0 24px;
  padding: 18px;
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(255,255,255,0.42);
  box-shadow: 0 20px 60px rgba(6,47,47,0.18);
  backdrop-filter: blur(12px);
}

.jasper-journeys-home-logo img {
  display: block;
  width: 100%;
  height: auto;
}

.jasper-journeys-home-logo p {
  margin: 8px 0 0;
  text-align: center;
  color: #062f2f !important;
  font-weight: 1000;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: clamp(0.78rem, 1.8vw, 0.98rem);
}

.footer-brand-card .brand-logo-img-wrap {
  background: rgba(255,255,255,0.92) !important;
}


/* Jasper Journeys Premium Homepage + Brand System */
.jc-hero{position:relative;min-height:86vh;display:grid;align-items:center;isolation:isolate;overflow:hidden;background:#062f2f;color:white}
.jc-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;transform:scale(1.035)}
.jc-hero-overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(6,47,47,.92),rgba(6,47,47,.45),rgba(8,37,58,.82)),linear-gradient(0deg,rgba(6,47,47,.94),transparent 60%)}
.jc-hero-inner{width:min(1240px,calc(100% - 32px));margin:0 auto;display:grid;grid-template-columns:minmax(0,1.4fr) 360px;gap:30px;align-items:center;padding:90px 0}
.jc-logo-card{width:min(520px,100%);background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.44);border-radius:30px;padding:18px;margin-bottom:24px;box-shadow:0 22px 70px rgba(0,0,0,.22)}
.jc-logo-card img{width:100%;height:auto;display:block}
.jc-pill,.jc-kicker,.jc-section-head span{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:8px 13px;border-radius:999px;background:rgba(245,184,75,.16);border:1px solid rgba(245,184,75,.34);color:#f5b84b;font-size:.78rem;font-weight:1000;letter-spacing:.13em;text-transform:uppercase}
.jc-hero h1{font-size:clamp(3.4rem,8.5vw,7.6rem);line-height:.86;letter-spacing:-.085em;margin:18px 0 20px;max-width:900px}
.jc-hero p{font-size:clamp(1.1rem,2.1vw,1.45rem);max-width:760px;color:rgba(255,255,255,.86)}
.jc-hero-actions,.jc-feature-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.jc-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:999px;font-weight:1000;text-decoration:none;border:1px solid transparent}
.jc-btn-primary{background:linear-gradient(135deg,#f5b84b,#ef6f4d);color:#062f2f;box-shadow:0 16px 34px rgba(239,111,77,.28)}
.jc-btn-secondary{background:rgba(255,255,255,.16);color:white;border-color:rgba(255,255,255,.28)}
.jc-btn-ghost{background:rgba(228,251,248,.14);color:white;border-color:rgba(228,251,248,.24)}
.jc-trust-strip{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.jc-trust-strip span{padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.13);font-weight:800;color:rgba(255,255,255,.86)}
.jc-trip-widget{background:rgba(255,255,255,.92);color:#062f2f;border:1px solid rgba(255,255,255,.44);border-radius:32px;padding:24px;box-shadow:0 24px 70px rgba(0,0,0,.22)}
.jc-trip-widget strong{color:#ef6f4d;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}
.jc-trip-widget h2{font-size:2rem;letter-spacing:-.05em;margin:8px 0 16px}
.jc-trip-widget a{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;margin:9px 0;background:#e4fbf8;color:#0f4f45;border-radius:18px;text-decoration:none;font-weight:950}
.jc-quick-planner{width:min(1160px,calc(100% - 32px));margin:-36px auto 70px;position:relative;z-index:3;display:grid;grid-template-columns:repeat(6,1fr);gap:12px;background:rgba(255,255,255,.88);border:1px solid rgba(15,79,69,.12);border-radius:30px;padding:14px;box-shadow:0 22px 60px rgba(6,47,47,.16);backdrop-filter:blur(14px)}
.jc-quick-planner a{display:grid;place-items:center;gap:8px;min-height:96px;border-radius:22px;background:linear-gradient(180deg,#fff,#e4fbf8);color:#062f2f;text-decoration:none;font-weight:1000;text-align:center}
.jc-quick-planner img{width:44px;height:44px;object-fit:contain}
.jc-section{width:min(1240px,calc(100% - 32px));margin:0 auto 82px}
.jc-section-head{display:grid;gap:10px;margin-bottom:24px;max-width:820px}
.jc-section-head h2,.jc-feature-copy h2,.jc-weather-preview h2,.jc-newsletter h2{font-size:clamp(2.1rem,4.6vw,4.2rem);line-height:.95;letter-spacing:-.07em;color:#062f2f;margin:0}
.jc-section-head p,.jc-feature-copy p,.jc-weather-preview p,.jc-newsletter p{color:#5a6f6b;font-size:1.08rem}
.jc-card-grid{display:grid;gap:18px}.jc-card-grid.four{grid-template-columns:repeat(4,1fr)}.jc-card-grid.three{grid-template-columns:repeat(3,1fr)}
.jc-card,.jc-guide-card{display:block;text-decoration:none;background:white;border:1px solid rgba(15,79,69,.12);border-radius:28px;padding:22px;box-shadow:0 18px 44px rgba(6,47,47,.08);transition:transform .18s ease,box-shadow .18s ease}
.jc-card:hover,.jc-guide-card:hover{transform:translateY(-4px);box-shadow:0 24px 70px rgba(6,47,47,.14)}
.jc-card img{width:64px;height:64px;object-fit:contain;margin-bottom:12px}
.jc-card h3,.jc-guide-card h3{color:#062f2f;font-size:1.35rem;margin:8px 0;letter-spacing:-.035em}
.jc-card p,.jc-guide-card p{color:#5a6f6b;margin:0}.jc-guide-card span{color:#ef6f4d;text-transform:uppercase;font-weight:1000;letter-spacing:.12em;font-size:.76rem}
.jc-feature-split{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;padding:34px;border-radius:36px;background:linear-gradient(135deg,#e4fbf8,#fff7ea);border:1px solid rgba(15,79,69,.12)}
.jc-feature-copy .jc-btn-secondary{color:#0f4f45;background:white;border-color:rgba(15,79,69,.14)}
.jc-map-preview{position:relative;min-height:420px;border-radius:32px;background:radial-gradient(circle at 30% 30%,rgba(245,184,75,.32),transparent 20%),linear-gradient(135deg,#b8f2ed,#0ea5a4 50%,#0f4f45);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
.jc-map-preview:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.22) 1px,transparent 1px);background-size:54px 54px;opacity:.55}
.jc-map-preview .pin{position:absolute;width:72px;filter:drop-shadow(0 14px 20px rgba(6,47,47,.26))}.p1{left:18%;top:20%}.p2{right:20%;top:28%}.p3{left:46%;top:52%}.p4{right:15%;bottom:18%}
.jc-map-card{position:absolute;left:24px;right:24px;bottom:24px;background:rgba(255,255,255,.9);border-radius:24px;padding:18px;display:grid;gap:3px;box-shadow:0 18px 45px rgba(6,47,47,.16)}.jc-map-card strong{color:#062f2f;font-size:1.35rem}.jc-map-card span{color:#5a6f6b;font-weight:800}
.jc-weather-preview{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;align-items:center}
.jc-weather-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.jc-weather-cards a{display:grid;gap:8px;text-decoration:none;background:white;border:1px solid rgba(15,79,69,.12);border-radius:26px;padding:20px;box-shadow:0 18px 44px rgba(6,47,47,.08)}.jc-weather-cards img{width:58px}.jc-weather-cards strong{font-size:1.25rem;color:#062f2f}.jc-weather-cards span{color:#5a6f6b}
.jc-business-section{padding:40px;border-radius:36px;background:#062f2f;color:white}.jc-business-section h2,.jc-business-section p{color:white}.jc-price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.jc-price-grid article{padding:22px;border-radius:26px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14)}.jc-price-grid .featured{background:rgba(245,184,75,.18)}.jc-price-grid .premium{background:rgba(239,111,77,.2)}.jc-price-grid strong{display:block;color:#f5b84b;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem}.jc-price-grid b{display:block;font-size:2rem;margin:8px 0;color:white}.jc-price-grid p{color:rgba(255,255,255,.78);margin:0}.jc-center{text-align:center;margin-top:24px}
.jc-newsletter{display:grid;grid-template-columns:1fr 460px;gap:24px;align-items:center;padding:36px;border-radius:36px;background:linear-gradient(135deg,#fff7ea,#e4fbf8);border:1px solid rgba(15,79,69,.12)}
.jc-newsletter-form{display:flex;gap:10px;background:white;border:1px solid rgba(15,79,69,.12);border-radius:999px;padding:8px;box-shadow:0 18px 44px rgba(6,47,47,.08)}.jc-newsletter-form input{flex:1;border:0;padding:0 16px;font:inherit;outline:0}.jc-newsletter-form button{border:0;border-radius:999px;padding:0 18px;background:linear-gradient(135deg,#f5b84b,#ef6f4d);font-weight:1000;color:#062f2f}
.brand-logo-img-wrap{overflow:hidden;background:white!important}.brand-logo-img-wrap img,.brand-mark img{width:100%;height:100%;object-fit:contain;display:block}
@media(max-width:1000px){.jc-hero-inner,.jc-feature-split,.jc-weather-preview,.jc-newsletter{grid-template-columns:1fr}.jc-quick-planner{grid-template-columns:repeat(3,1fr)}.jc-card-grid.four,.jc-card-grid.three,.jc-price-grid,.jc-weather-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.jc-hero-inner{padding:60px 0}.jc-hero h1{font-size:3.2rem}.jc-quick-planner{grid-template-columns:repeat(2,1fr);margin-top:-20px}.jc-card-grid.four,.jc-card-grid.three,.jc-price-grid,.jc-weather-cards{grid-template-columns:1fr}.jc-newsletter-form{border-radius:24px;display:grid}.jc-newsletter-form button{min-height:48px}.jc-logo-card{padding:12px;border-radius:20px}}


/* Jasper Journeys premium page headers and business page */
.jc-page-hero{width:min(1240px,calc(100% - 32px));margin:38px auto 80px;display:grid;grid-template-columns:minmax(0,1.25fr)360px;gap:28px;align-items:center;padding:46px;border-radius:38px;background:linear-gradient(135deg,#062f2f,#0f4f45 58%,#0ea5a4);color:white;box-shadow:0 24px 70px rgba(6,47,47,.18);position:relative;overflow:hidden}
.jc-page-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 15%,rgba(245,184,75,.25),transparent 24%),linear-gradient(0deg,rgba(0,0,0,.18),transparent);pointer-events:none}
.jc-page-hero>*{position:relative;z-index:1}.jc-page-hero h1{font-size:clamp(2.5rem,5.8vw,5.4rem);line-height:.9;letter-spacing:-.075em;margin:16px 0;color:white}.jc-page-hero p{color:rgba(255,255,255,.84);font-size:1.16rem;max-width:760px}.jc-breadcrumbs{display:flex;gap:8px;align-items:center;margin-bottom:14px;color:rgba(255,255,255,.78);font-weight:850}.jc-breadcrumbs a{color:white;text-decoration:none}.jc-business-hero-card{background:rgba(255,255,255,.92);color:#062f2f;border-radius:30px;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.18)}.jc-business-hero-card img{width:96px;display:block;margin-bottom:14px}.jc-business-hero-card strong{font-size:1.35rem}.jc-business-hero-card p{color:#5a6f6b}.jc-price-grid.light article{background:white;color:#062f2f;border:1px solid rgba(15,79,69,.12);box-shadow:0 18px 44px rgba(6,47,47,.08)}.jc-price-grid.light article p{color:#5a6f6b}.jc-price-grid.light article b{color:#062f2f}.jc-price-grid ul{padding-left:18px;color:inherit}.jc-card-grid.two{grid-template-columns:repeat(2,1fr)}.jc-business-form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;background:white;border:1px solid rgba(15,79,69,.12);box-shadow:0 18px 44px rgba(6,47,47,.08);border-radius:30px;padding:24px}.jc-business-form label{display:grid;gap:6px;color:#062f2f;font-weight:900}.jc-business-form input,.jc-business-form select,.jc-business-form textarea{width:100%;border:1px solid rgba(15,79,69,.16);border-radius:16px;padding:13px 14px;font:inherit;background:#fff}.jc-business-form textarea{min-height:120px;resize:vertical}.jc-business-form .full{grid-column:1/-1}.jc-business-form button{width:max-content}.jc-article-upgrade{width:min(1100px,calc(100% - 32px));margin:46px auto;padding:26px;border-radius:30px;background:linear-gradient(135deg,#e4fbf8,#fff7ea);border:1px solid rgba(15,79,69,.12)}.jc-article-upgrade-grid{display:grid;grid-template-columns:1fr 300px;gap:20px;align-items:center}.jc-article-upgrade h2{margin:8px 0;color:#062f2f}.jc-mini-cta-list{display:grid;gap:10px}.jc-mini-cta-list a{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:999px;background:white;color:#0f4f45;text-decoration:none;font-weight:950;border:1px solid rgba(15,79,69,.12)}.jc-newsletter.inline{width:min(1100px,calc(100% - 32px));margin:44px auto}
@media(max-width:900px){.jc-page-hero,.jc-business-form,.jc-article-upgrade-grid{grid-template-columns:1fr}.jc-card-grid.two{grid-template-columns:1fr}}


/* Jasper Journeys panoramic header/nav upgrade based on supplied reference */
.jj-top-shell {
  position: sticky;
  top: 0;
  z-index: 2000;
  height: 120px;
  background:
    linear-gradient(90deg, rgba(8, 22, 32, 0.96), rgba(10, 28, 40, 0.88), rgba(8, 22, 32, 0.96)),
    url("../img/hero/jasper-journeys-header-mountains.jpg") center 22% / cover no-repeat;
  border-bottom: 1px solid rgba(217, 159, 70, 0.32);
  box-shadow: 0 14px 45px rgba(0, 0, 0, 0.30);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.jj-top-shell::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(4, 12, 18, 0.50), rgba(4, 12, 18, 0.18));
  pointer-events: none;
}

.jj-top-nav {
  position: relative;
  z-index: 2;
  width: min(100%, 1980px);
  height: 100%;
  margin: 0 auto;
  padding: 0 56px;
  display: grid;
  grid-template-columns: 380px 1fr;
  align-items: center;
  gap: 34px;
}

.jj-header-logo {
  display: flex;
  align-items: center;
  height: 100%;
  text-decoration: none;
}

.jj-header-logo img {
  width: min(350px, 100%);
  height: auto;
  display: block;
  filter: drop-shadow(0 6px 16px rgba(0, 0, 0, 0.38));
}

.jj-nav-links {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: clamp(18px, 2.3vw, 52px);
  height: 100%;
}

.jj-nav-links a {
  position: relative;
  display: inline-flex;
  align-items: center;
  height: 100%;
  color: rgba(245, 246, 239, 0.86);
  text-decoration: none;
  font-size: clamp(1rem, 1.15vw, 1.35rem);
  font-weight: 700;
  letter-spacing: 0.01em;
  white-space: nowrap;
  transition: color .18s ease, transform .18s ease;
}

.jj-nav-links a:hover,
.jj-nav-links a.is-active {
  color: #d99f46;
}

.jj-nav-links a.is-active::after,
.jj-nav-links a:not(.jj-plan-btn):hover::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 25px;
  height: 3px;
  background: #d99f46;
  box-shadow: 0 0 18px rgba(217, 159, 70, 0.45);
}

.jj-plan-btn {
  height: 60px !important;
  padding: 0 28px;
  border: 2px solid #d99f46;
  color: #d99f46 !important;
  font-weight: 850 !important;
  letter-spacing: 0.02em;
  background: rgba(7, 18, 27, 0.32);
}

.jj-plan-btn:hover {
  color: #081620 !important;
  background: #d99f46;
  transform: translateY(-1px);
}

.jj-plan-btn::after {
  display: none !important;
}

.jj-nav-toggle {
  display: none;
  justify-self: end;
  width: 54px;
  height: 54px;
  border: 1px solid rgba(217, 159, 70, .62);
  background: rgba(8, 22, 32, .72);
  border-radius: 0;
  cursor: pointer;
}

.jj-nav-toggle span {
  display: block;
  width: 26px;
  height: 2px;
  margin: 6px auto;
  background: #d99f46;
  transition: transform .2s ease, opacity .2s ease;
}

.jj-nav-toggle.is-open span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.jj-nav-toggle.is-open span:nth-child(2) { opacity: 0; }
.jj-nav-toggle.is-open span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

.jj-panorama-hero {
  position: relative;
  min-height: 650px;
  display: grid;
  align-items: end;
  isolation: isolate;
  overflow: hidden;
  background: url("../img/hero/jasper-journeys-header-mountains.jpg") center center / cover no-repeat;
  color: white;
  margin-top: 0;
}

.jj-panorama-overlay {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(5, 17, 25, .84), rgba(5, 17, 25, .18), rgba(5, 17, 25, .62)),
    linear-gradient(0deg, rgba(5, 17, 25, .92), rgba(5, 17, 25, .03) 62%, rgba(5, 17, 25, .30));
}

.jj-panorama-content {
  width: min(1120px, calc(100% - 48px));
  margin: 0 auto;
  padding: 0 0 86px;
}

.jj-hero-kicker {
  display: inline-flex;
  padding: 9px 15px;
  border: 1px solid rgba(217,159,70,.5);
  color: #d99f46;
  background: rgba(8,22,32,.45);
  text-transform: uppercase;
  letter-spacing: .14em;
  font-weight: 900;
  font-size: .78rem;
}

.jj-panorama-content h1 {
  max-width: 880px;
  margin: 18px 0 18px;
  color: #fff;
  font-size: clamp(3.2rem, 7vw, 7rem);
  line-height: .88;
  letter-spacing: -.075em;
  text-shadow: 0 10px 32px rgba(0,0,0,.36);
}

.jj-panorama-content p {
  max-width: 780px;
  color: rgba(255,255,255,.88);
  font-size: clamp(1.08rem, 2vw, 1.4rem);
  line-height: 1.55;
}

.jj-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.jj-hero-actions a {
  display: inline-flex;
  align-items: center;
  min-height: 54px;
  padding: 0 22px;
  border: 1px solid rgba(217,159,70,.65);
  color: #d99f46;
  background: rgba(8,22,32,.55);
  text-decoration: none;
  font-weight: 900;
}

.jj-hero-actions a:first-child {
  background: #d99f46;
  color: #081620;
}

.jj-scenic-page-hero {
  background:
    linear-gradient(90deg, rgba(6,47,47,.88), rgba(6,47,47,.45), rgba(8,37,58,.82)),
    url("../img/hero/jasper-journeys-header-mountains.jpg") center center / cover no-repeat !important;
  color: white;
}

.jj-scenic-page-hero h1,
.jj-scenic-page-hero h2,
.jj-scenic-page-hero p {
  color: white !important;
}

.site-header-pro {
  display: none !important;
}

@media (max-width: 1200px) {
  .jj-top-shell {
    height: 92px;
  }

  .jj-top-nav {
    grid-template-columns: 300px auto;
    padding: 0 22px;
  }

  .jj-header-logo img {
    width: 280px;
  }

  .jj-nav-toggle {
    display: block;
  }

  .jj-nav-links {
    position: fixed;
    top: 92px;
    left: 14px;
    right: 14px;
    height: auto;
    display: none;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 16px;
    background: rgba(8, 22, 32, .96);
    border: 1px solid rgba(217, 159, 70, .36);
    box-shadow: 0 24px 70px rgba(0,0,0,.34);
  }

  .jj-nav-links.is-open {
    display: grid;
  }

  .jj-nav-links a {
    height: 54px;
    justify-content: center;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.08);
  }

  .jj-nav-links a::after {
    display: none !important;
  }

  .jj-plan-btn {
    height: 54px !important;
  }
}

@media (max-width: 700px) {
  .jj-top-shell {
    height: 80px;
  }

  .jj-top-nav {
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 0 12px;
  }

  .jj-header-logo img {
    width: min(245px, 72vw);
  }

  .jj-nav-links {
    top: 80px;
    grid-template-columns: 1fr;
  }

  .jj-panorama-hero {
    min-height: 620px;
  }

  .jj-panorama-content {
    padding-bottom: 68px;
  }
}


/* Jasper Journeys local services + transit upgrade */
.jj-directory-hero {
  width: min(1240px, calc(100% - 32px));
  margin: 42px auto 72px;
  padding: 54px;
  border-radius: 38px;
  color: white;
  background:
    linear-gradient(90deg, rgba(6,47,47,.90), rgba(6,47,47,.55), rgba(8,37,58,.82)),
    url("../img/hero/jasper-journeys-header-mountains.jpg") center center / cover no-repeat;
  box-shadow: 0 24px 70px rgba(6,47,47,.18);
}

.jj-directory-hero h1 {
  color: white;
  font-size: clamp(2.7rem, 6vw, 5.8rem);
  line-height: .9;
  letter-spacing: -.075em;
  max-width: 900px;
  margin: 16px 0;
}

.jj-directory-hero p {
  color: rgba(255,255,255,.86);
  max-width: 780px;
  font-size: 1.14rem;
}

.jj-tool-section {
  width: min(1240px, calc(100% - 32px));
  margin: 0 auto 76px;
}

.jj-services-grid,
.jj-listing-grid,
.jj-route-grid,
.jj-stop-grid,
.jj-price-mini-grid {
  display: grid;
  gap: 18px;
}

.jj-services-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jj-listing-grid,
.jj-stop-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jj-route-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.jj-price-mini-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jj-service-card,
.jj-listing-card,
.jj-route-card,
.jj-stop-card,
.jj-price-mini-grid article {
  display: block;
  background: white;
  border: 1px solid rgba(15,79,69,.12);
  border-radius: 28px;
  box-shadow: 0 18px 44px rgba(6,47,47,.08);
  padding: 22px;
  color: #062f2f;
}

.jj-service-icon {
  width: 66px;
  height: 66px;
  display: grid;
  place-items: center;
  border-radius: 20px;
  background: linear-gradient(135deg, #e4fbf8, #fff7ea);
  font-size: 2rem;
  margin-bottom: 13px;
}

.jj-service-card h3,
.jj-listing-card h3,
.jj-route-card h3,
.jj-stop-card h3 {
  margin: 6px 0 8px;
  color: #062f2f;
  font-size: 1.35rem;
}

.jj-service-card p,
.jj-listing-card p,
.jj-route-card p,
.jj-stop-card p,
.jj-price-mini-grid p {
  color: #5a6f6b;
}

.jj-service-card a,
.jj-route-card a,
.jj-listing-actions a,
.jj-transit-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 14px;
  border-radius: 999px;
  background: #e4fbf8;
  color: #0f4f45;
  font-weight: 950;
  text-decoration: none;
  margin-top: 8px;
}

.jj-listing-card.is-featured {
  border-color: rgba(245,184,75,.5);
  background: linear-gradient(135deg, #fff, #fff7ea);
}

.jj-listing-card > span {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(245,184,75,.18);
  color: #7a4a00;
  text-transform: uppercase;
  letter-spacing: .1em;
  font-weight: 1000;
  font-size: .72rem;
}

.jj-listing-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.jj-paid-panel {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.5fr);
  gap: 22px;
  align-items: center;
  padding: 34px;
  border-radius: 36px;
  background: linear-gradient(135deg, #062f2f, #0f4f45);
  color: white;
}

.jj-paid-panel h2,
.jj-paid-panel p {
  color: white;
}

.jj-price-mini-grid article b {
  display: block;
  color: #ef6f4d;
  font-size: 1.7rem;
  margin: 8px 0;
}

.jj-official-note {
  padding: 18px;
  border-radius: 22px;
  background: #fff7ea;
  border: 1px solid rgba(245,184,75,.38);
  color: #062f2f;
  margin-bottom: 14px;
}

.jj-transit-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.jj-route-card {
  position: relative;
  overflow: hidden;
}

.jj-route-card > span {
  display: block;
  width: 100%;
  height: 8px;
  border-radius: 999px;
  background: var(--route);
  margin-bottom: 12px;
}

.jj-route-card strong {
  color: #5a6f6b;
}

.jj-schedule-accordion {
  background: white;
  border: 1px solid rgba(15,79,69,.12);
  border-radius: 24px;
  box-shadow: 0 14px 34px rgba(6,47,47,.08);
  overflow: hidden;
  margin-bottom: 14px;
}

.jj-schedule-accordion summary {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 22px;
  font-weight: 1000;
  color: #062f2f;
}

.jj-schedule-accordion summary span {
  width: 18px;
  height: 18px;
  border-radius: 999px;
  display: inline-block;
}

.jj-schedule-scroll {
  overflow-x: auto;
  padding: 0 18px 18px;
}

.jj-schedule-scroll table {
  width: 100%;
  border-collapse: collapse;
  min-width: 620px;
}

.jj-schedule-scroll td {
  border-bottom: 1px solid rgba(15,79,69,.10);
  padding: 10px;
  color: #13201f;
}

.jj-schedule-scroll tr td:first-child {
  font-weight: 1000;
  color: #062f2f;
}

.jj-stop-card strong {
  display: inline-flex;
  min-width: 42px;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: #062f2f;
  color: white;
}

.jj-transit-map-marker {
  background: transparent !important;
  border: 0 !important;
}

.jj-transit-map-marker span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--route);
  color: white;
  border: 3px solid white;
  box-shadow: 0 10px 24px rgba(6,47,47,.28);
  font-size: .72rem;
  font-weight: 1000;
}

.route-filter-list label:nth-child(1) { border-left: 6px solid #2FA84F; }
.route-filter-list label:nth-child(2) { border-left: 6px solid #D43D32; }
.route-filter-list label:nth-child(3) { border-left: 6px solid #F28C28; }
.route-filter-list label:nth-child(4) { border-left: 6px solid #0EA5A4; }
.route-filter-list label:nth-child(5) { border-left: 6px solid #7C3AED; }

@media (max-width: 980px) {
  .jj-services-grid,
  .jj-listing-grid,
  .jj-route-grid,
  .jj-stop-grid,
  .jj-price-mini-grid,
  .jj-paid-panel {
    grid-template-columns: 1fr;
  }

  .jj-directory-hero {
    padding: 36px 24px;
  }
}


/* Transit pin sizing update: small stops, larger hub */
.jj-transit-map-marker.small-stop span {
  width: 22px;
  height: 22px;
  font-size: 0.52rem;
  border-width: 2px;
  box-shadow: 0 6px 13px rgba(6,47,47,.22);
}

.jj-transit-map-marker.hub-stop span {
  width: 46px;
  height: 46px;
  font-size: 0.68rem;
  border-width: 3px;
  background: #d99f46 !important;
  color: #081620;
  box-shadow: 0 12px 28px rgba(6,47,47,.34);
}

.jj-transit-map-marker.small-stop span:hover,
.jj-transit-map-marker.hub-stop span:hover {
  transform: scale(1.12);
}


/* Jasper Journeys repaired interactive map */
.repaired-map-shell,
.map-page-shell {
  width: min(1440px, calc(100% - 32px));
  margin: 0 auto 82px;
  display: grid;
  grid-template-columns: 360px minmax(0, 1fr);
  gap: 18px;
  align-items: stretch;
}

.map-control-panel {
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(15,79,69,.12);
  border-radius: 28px;
  box-shadow: 0 18px 44px rgba(6,47,47,.08);
  padding: 22px;
  max-height: 820px;
  overflow: auto;
}

.map-control-panel h2,
.map-control-panel h3 {
  color: #062f2f;
  margin: 0 0 10px;
}

.map-control-panel h3 {
  margin-top: 18px;
  font-size: 1rem;
}

.map-control-panel hr {
  border: 0;
  border-top: 1px solid rgba(15,79,69,.12);
  margin: 18px 0;
}

.map-small-note {
  color: #5a6f6b;
  font-size: .9rem;
  line-height: 1.45;
}

.map-error {
  color: #b42318 !important;
  font-weight: 900;
}

.map-filter-list {
  display: grid;
  gap: 8px;
}

.map-filter-list label {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 12px;
  border-radius: 16px;
  background: #f7fbfa;
  border: 1px solid rgba(15,79,69,.10);
  color: #062f2f;
  font-weight: 850;
  cursor: pointer;
}

.map-filter-list input {
  width: 18px;
  height: 18px;
  accent-color: #0f4f45;
}

.route-filter-list label:nth-child(1) { border-left: 6px solid #2FA84F; }
.route-filter-list label:nth-child(2) { border-left: 6px solid #D43D32; }
.route-filter-list label:nth-child(3) { border-left: 6px solid #F28C28; }
.route-filter-list label:nth-child(4) { border-left: 6px solid #0EA5A4; }
.route-filter-list label:nth-child(5) { border-left: 6px solid #7C3AED; }
.route-filter-list label:nth-child(6) { border-left: 6px solid #334155; }

.map-mini-form {
  display: grid;
  gap: 10px;
}

.map-mini-form label {
  display: grid;
  gap: 6px;
  color: #062f2f;
  font-weight: 900;
}

.map-mini-form select {
  border: 1px solid rgba(15,79,69,.16);
  border-radius: 14px;
  padding: 10px;
  background: white;
  font: inherit;
}

.map-mini-form button,
.map-popup-link.full {
  min-height: 42px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #f5b84b, #ef6f4d);
  color: #062f2f;
  font-weight: 1000;
  text-decoration: none;
  display: grid;
  place-items: center;
  padding: 0 14px;
  cursor: pointer;
}

.map-card-area {
  min-height: 760px;
  border-radius: 30px;
  overflow: hidden;
  background: white;
  box-shadow: 0 18px 44px rgba(6,47,47,.10);
  border: 1px solid rgba(15,79,69,.12);
}

.discover-map,
.repaired-map {
  width: 100%;
  height: 760px;
  min-height: 620px;
}

.jj-map-marker,
.jj-transit-map-marker {
  background: transparent !important;
  border: 0 !important;
}

.jj-map-marker span {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--pin);
  color: #062f2f;
  border: 3px solid white;
  box-shadow: 0 9px 20px rgba(6,47,47,.25);
  font-size: .7rem;
  font-weight: 1000;
}

.jj-transit-map-marker.small-stop span {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--route);
  color: white;
  border: 2px solid white;
  box-shadow: 0 6px 13px rgba(6,47,47,.24);
  font-size: .50rem;
  font-weight: 1000;
}

.jj-transit-map-marker.hub-stop span {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #d99f46 !important;
  color: #081620;
  border: 3px solid white;
  box-shadow: 0 12px 28px rgba(6,47,47,.34);
  font-size: .68rem;
  font-weight: 1000;
}

.map-popup {
  max-width: 280px;
}

.map-popup h3 {
  color: #062f2f;
  margin: 0 0 8px;
  font-size: 1.1rem;
}

.map-popup p {
  margin: 7px 0;
  color: #4b635f;
}

.map-safe-note {
  padding: 8px 10px;
  border-radius: 12px;
  background: #fff7ea;
  border: 1px solid rgba(245,184,75,.32);
  color: #5a3b00 !important;
  font-size: .86rem;
}

.map-popup-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 9px;
}

.map-popup-link {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 0 12px;
  background: #e4fbf8;
  color: #0f4f45 !important;
  text-decoration: none;
  font-weight: 900;
}

.map-badge {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 0 7px;
  border-radius: 999px;
  font-size: .68rem;
  font-weight: 1000;
  vertical-align: middle;
}

.map-badge.featured {
  background: #fff7ea;
  color: #7a4a00;
}

.map-badge.premium {
  background: #ffe4dc;
  color: #8a2b18;
}

@media (max-width: 980px) {
  .repaired-map-shell,
  .map-page-shell {
    grid-template-columns: 1fr;
  }

  .map-control-panel {
    max-height: none;
  }

  .map-card-area,
  .discover-map,
  .repaired-map {
    min-height: 620px;
    height: 620px;
  }
}

@media (max-width: 620px) {
  .repaired-map-shell,
  .map-page-shell {
    width: min(100% - 18px, 1440px);
  }

  .map-card-area,
  .discover-map,
  .repaired-map {
    min-height: 560px;
    height: 560px;
  }
}


/* Jasper SkyTram uploaded image update */
.card-photo {
  min-height: 180px;
  margin: -6px -6px 16px;
  border-radius: 22px;
  background-image: var(--photo);
  background-size: cover;
  background-position: center;
  border: 1px solid rgba(15,79,69,.12);
  box-shadow: inset 0 -70px 90px rgba(6,47,47,.18);
}
.photo-panel {
  background-size: cover;
  background-position: center;
}


/* Jasper Journeys watercolour icon system */
.jj-watercolour-icon,
.jc-card img,
.jc-weather-cards img,
.jj-service-card img,
.icon img {
  border-radius: 18px;
}

.jc-card img[src*="jasper-journeys-watercolour"],
.jc-weather-cards img[src*="jasper-journeys-watercolour"],
.icon img[src*="jasper-journeys-watercolour"] {
  filter: drop-shadow(0 10px 18px rgba(6,47,47,.12));
}


/* Jasper Journeys final polish pass */
:root {
  --jj-ink: #08253A;
  --jj-forest: #0F4F45;
  --jj-teal: #0EA5A4;
  --jj-gold: #D99F46;
  --jj-orange: #EF6F4D;
  --jj-paper: #FFF7EA;
}

html { scroll-behavior: smooth; }

body {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--jj-gold);
  outline-offset: 3px;
}

img { max-width: 100%; }

.btn,
.jc-btn,
.btn-nav-primary,
.jj-hero-actions a,
.map-popup-link,
.jj-service-card a,
.jj-listing-actions a {
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}

.btn:hover,
.jc-btn:hover,
.btn-nav-primary:hover,
.jj-hero-actions a:hover,
.map-popup-link:hover,
.jj-service-card a:hover,
.jj-listing-actions a:hover {
  transform: translateY(-1px);
}

.card,
.jc-card,
.jj-service-card,
.jj-listing-card,
.jj-route-card,
.jj-stop-card {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.card:hover,
.jc-card:hover,
.jj-service-card:hover,
.jj-listing-card:hover,
.jj-route-card:hover,
.jj-stop-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 24px 54px rgba(6,47,47,.12);
}

.adsense-slot,
.jj-ad-slot {
  width: min(1100px, calc(100% - 32px));
  min-height: 92px;
  margin: 28px auto;
  display: grid;
  place-items: center;
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(14,165,164,.08), rgba(217,159,70,.11));
  border: 1px dashed rgba(15,79,69,.22);
  overflow: hidden;
}

.adsense-slot::before,
.jj-ad-slot::before {
  content: "Advertisement";
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(8,37,58,.54);
  font-weight: 900;
}

.footer-pro a { text-underline-offset: 3px; }

@media (max-width: 700px) {
  body { padding-bottom: 72px; }

  .jj-directory-hero,
  .jc-page-hero { border-radius: 26px; }
}

@media print {
  .jj-top-shell,
  .mobile-bottom-pro,
  .footer-pro,
  .adsense-slot,
  .jj-ad-slot {
    display: none !important;
  }
}


/* NEW TESTER CRO + tourism copy polish */
.new-tester-trust-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  width: min(1120px, calc(100% - 32px));
  margin: 22px auto 6px;
}
.new-tester-trust-strip article {
  border: 1px solid rgba(15,79,69,.16);
  border-radius: 22px;
  background: rgba(255,247,234,.88);
  padding: 16px 18px;
  box-shadow: 0 14px 34px rgba(6,47,47,.08);
}
.new-tester-trust-strip strong {
  display: block;
  color: var(--jj-ink, #08253A);
  font-size: 1rem;
  margin-bottom: 4px;
}
.new-tester-trust-strip span {
  color: rgba(8,37,58,.74);
  font-size: .92rem;
  line-height: 1.45;
}
.new-tester-cta-panel {
  width: min(1120px, calc(100% - 32px));
  margin: 36px auto;
  border-radius: 30px;
  padding: clamp(26px, 5vw, 52px);
  background: linear-gradient(135deg, rgba(8,37,58,.96), rgba(15,79,69,.94));
  color: #FFF7EA;
  box-shadow: 0 28px 72px rgba(6,47,47,.24);
  position: relative;
  overflow: hidden;
}
.new-tester-cta-panel::after {
  content: "";
  position: absolute;
  inset: auto -80px -120px auto;
  width: 280px;
  height: 280px;
  border-radius: 999px;
  background: rgba(217,159,70,.28);
  filter: blur(4px);
}
.new-tester-cta-panel > * { position: relative; z-index: 1; }
.new-tester-cta-panel .kicker {
  color: #D99F46;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-weight: 900;
  font-size: .78rem;
}
.new-tester-cta-panel h2 {
  color: #FFF7EA;
  max-width: 760px;
  margin: 8px 0 10px;
  font-size: clamp(2rem, 4vw, 3.35rem);
  line-height: 1.03;
}
.new-tester-cta-panel p {
  max-width: 780px;
  color: rgba(255,247,234,.86);
  font-size: 1.08rem;
  line-height: 1.7;
}
.new-tester-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}
.new-tester-cta-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 20px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 900;
}
.new-tester-cta-actions a:first-child {
  background: #D99F46;
  color: #08253A;
}
.new-tester-cta-actions a:last-child {
  border: 1px solid rgba(255,247,234,.42);
  color: #FFF7EA;
}
.new-tester-note {
  width: min(1120px, calc(100% - 32px));
  margin: 24px auto;
  padding: 18px 20px;
  border-radius: 22px;
  border-left: 6px solid #D99F46;
  background: rgba(255,247,234,.82);
  color: rgba(8,37,58,.82);
}
.jj-panorama-content p {
  max-width: 760px;
}
@media (max-width: 780px) {
  .new-tester-trust-strip {
    grid-template-columns: 1fr;
    margin-top: 16px;
  }
  .new-tester-cta-actions a {
    width: 100%;
  }
}
