@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Oswald:wght@400;600;700&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600&display=swap');

:root{--forest-dark:#071209;--forest:#0F1F12;--forest-mid:#192E1D;--forest-light:#2A5035;--orange:#E8601C;--orange-light:#F07A38;--sand:#C9A660;--cream:#F5ECD6;--white:#FFFFFF;--dim:rgba(245,236,214,0.55);--mid:rgba(245,236,214,0.8);--border:rgba(201,166,96,0.22);--fn-d:'Bebas Neue',sans-serif;--fn-h:'Oswald',sans-serif;--fn-b:'Lora',serif;--fn-u:'DM Sans',sans-serif;--ease:all 0.3s cubic-bezier(.4,0,.2,1);--shadow:0 20px 60px rgba(0,0,0,0.5);--r:4px;--rm:8px;--rl:16px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{background:var(--forest-dark);color:var(--cream);font-family:var(--fn-b);overflow-x:hidden}
body::after{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");pointer-events:none;z-index:9998;opacity:.5}
::selection{background:var(--orange);color:#fff}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}
button{cursor:pointer;border:none;background:none;font-family:inherit}
section{padding:100px 0}
.con{max-width:1200px;margin:0 auto;padding:0 32px}
.lbl{font-family:var(--fn-u);font-size:11px;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--orange);display:flex;align-items:center;gap:12px;margin-bottom:16px}
.lbl::before{content:'';width:32px;height:1px;background:var(--orange)}
.lbl-c{justify-content:center}.lbl-c::before{display:none}
.sec-title{font-family:var(--fn-h);font-size:clamp(34px,5vw,54px);font-weight:700;text-transform:uppercase;letter-spacing:1px;line-height:1.05}
.sec-title span{color:var(--orange)}
.body-t{font-size:17px;line-height:1.85;color:var(--mid)}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--fn-h);font-size:17px;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:17px 38px;border-radius:var(--r);transition:var(--ease);position:relative;overflow:hidden;cursor:pointer}
.btn::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);transition:left .5s ease}
.btn:hover::after{left:100%}
.btn-orange{background:var(--orange);color:#fff;border:2px solid var(--orange)}
.btn-orange:hover{background:var(--orange-light);border-color:var(--orange-light);transform:translateY(-2px);box-shadow:0 12px 40px rgba(232,96,28,.45)}
.btn-ghost{background:transparent;color:var(--sand);border:1.5px solid var(--sand)}
.btn-ghost:hover{background:var(--sand);color:var(--forest-dark)}
.btn-sm{padding:12px 26px;font-size:14px}
.rev{opacity:0;transform:translateY(36px);transition:opacity .7s ease,transform .7s ease}
.rev.vis{opacity:1;transform:translateY(0)}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}

#nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:12px 0;background:rgba(7,18,9,.96);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);transition:var(--ease)}
#nav.scrolled{padding:8px 0}
.nav-in{display:flex;align-items:center;justify-content:space-between}
.nav-logo{display:flex;align-items:center;gap:11px}
.nav-logo-img{width:100px;height:100px;object-fit:contain;flex-shrink:0}
.ft-logo-img{width:100px;height:100px;object-fit:contain;margin-bottom:10px}
.nav-logo-txt{font-family:var(--fn-h);font-size:17px;font-weight:700;letter-spacing:2px;text-transform:uppercase}.nav-logo-txt span{color:var(--orange)}
.nav-tag{font-family:var(--fn-u);font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--dim);margin-top:-2px}
.nav-links{display:flex;align-items:center;gap:18px;list-style:none}
.nav-links a{font-family:var(--fn-u);font-size:12px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--dim);transition:var(--ease)}
.nav-links a:hover,.nav-links a.active{color:var(--cream)}
.nav-right{display:flex;align-items:center;gap:14px}
.nav-phone{font-family:var(--fn-u);font-size:12px;font-weight:600;letter-spacing:1px;color:var(--dim);transition:var(--ease)white-space:nowrap}.nav-phone:hover{color:var(--cream)}
.nav-cta-btn{font-family:var(--fn-h);font-size:13px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#fff;background:var(--orange);padding:10px 22px;border-radius:var(--r);transition:var(--ease)}.nav-cta-btn:hover{background:var(--orange-light)}
.ham{display:none;flex-direction:column;gap:5px;padding:8px;cursor:pointer;z-index:1001}
.ham span{width:24px;height:2px;background:var(--cream);transition:var(--ease);display:block}
.mob-nav{display:none;position:fixed;inset:0;background:var(--forest-dark);z-index:999;flex-direction:column;align-items:center;justify-content:center;gap:36px}
.mob-nav.open{display:flex}
.mob-nav a{font-family:var(--fn-h);font-size:28px;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--cream);transition:var(--ease)}.mob-nav a:hover{color:var(--orange)}

/* HERO FULL */
#hero{position:relative;height:70vh;min-height:560px;display:flex;align-items:flex-end;padding-bottom:60px;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:center 35%/cover}
@keyframes hzoom{from{transform:scale(1.02)}to{transform:scale(1.1)}}
.hero-ov{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(7,18,9,.15) 0%,rgba(7,18,9,.08) 30%,rgba(7,18,9,.6) 65%,rgba(7,18,9,.97) 100%)}
.hero-c{position:relative;z-index:2;width:100%}
.hero-eye{font-family:var(--fn-u);font-size:11px;font-weight:600;letter-spacing:5px;text-transform:uppercase;color:var(--orange);margin-bottom:14px;display:flex;align-items:center;gap:12px}
.hero-eye::before{content:'';width:40px;height:1px;background:var(--orange)}
.hero-title{font-family:var(--fn-d);font-size:clamp(64px,14vw,150px);line-height:.88;letter-spacing:2px;text-transform:uppercase;color:#fff}
.hero-sub{font-family:var(--fn-h);font-size:clamp(20px,3.5vw,32px);color:var(--sand);letter-spacing:2px;margin-top:10px}
.hero-stats{display:flex;gap:28px;flex-wrap:wrap;margin-top:20px}
.hero-stat{text-align:center}
.hero-stat-num{font-family:var(--fn-d);font-size:44px;color:var(--cream);line-height:1}
.hero-stat-lbl{font-family:var(--fn-u);font-size:10px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--dim)}

/* OVERVIEW */
.over-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}
.over-card{background:var(--forest-mid);border:1px solid var(--border);border-radius:var(--rm);padding:28px;text-align:center;transition:var(--ease)}
.over-card:hover{border-color:var(--orange)}
.over-ico{font-size:32px;margin-bottom:10px}
.over-val{font-family:var(--fn-d);font-size:36px;color:var(--orange);line-height:1;margin-bottom:4px}
.over-lbl{font-family:var(--fn-u);font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--dim)}

/* ITINERARY */
.itin-list{max-width:800px;margin:40px auto 0;display:flex;flex-direction:column;gap:12px}
.itin-day{background:var(--forest-mid);border:1px solid var(--border);border-radius:var(--rm);padding:24px 28px;display:flex;gap:24px;align-items:flex-start;transition:var(--ease)}
.itin-day:hover{border-color:var(--orange)}
.itin-num{font-family:var(--fn-d);font-size:40px;color:var(--orange);line-height:1;flex-shrink:0;width:56px;text-align:center}
.itin-info h3{font-family:var(--fn-h);font-size:18px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--cream);margin-bottom:4px}
.itin-info p{font-family:var(--fn-u);font-size:13px;color:var(--dim);line-height:1.7}

/* INCLUDES / NOT INCLUDED */
.inc-cols{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:40px}
.inc-list{list-style:none;display:flex;flex-direction:column;gap:10px}
.inc-list li{display:flex;align-items:flex-start;gap:10px;font-family:var(--fn-u);font-size:14px;color:var(--mid);line-height:1.6}
.inc-list li .check{color:var(--orange);font-weight:700;flex-shrink:0}
.inc-list li .cross{color:#c0392b;font-weight:700;flex-shrink:0}
.inc-col h3{font-family:var(--fn-h);font-size:20px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--cream);margin-bottom:16px}

/* HIGHLIGHTS */
.hl-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:40px}
.hl-card{position:relative;height:320px;border-radius:var(--rm);overflow:hidden}
.hl-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.hl-card:hover img{transform:scale(1.08)}
.hl-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(7,18,9,.85) 0%,transparent 60%)}
.hl-info{position:absolute;bottom:0;left:0;right:0;padding:28px}
.hl-name{font-family:var(--fn-h);font-size:22px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--cream)}
.hl-desc{font-family:var(--fn-u);font-size:13px;color:var(--dim);line-height:1.6;margin-top:6px}
.hl-elev{font-family:var(--fn-d);font-size:36px;color:var(--orange);line-height:1;margin-bottom:4px}

/* FITNESS */
.fit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
.fit-card{background:var(--forest-mid);border:1px solid var(--border);border-radius:var(--rm);padding:24px;text-align:center;transition:var(--ease)}
.fit-card:hover{border-color:var(--orange)}
.fit-ico{font-size:28px;margin-bottom:8px}
.fit-title{font-family:var(--fn-h);font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--cream);margin-bottom:4px}
.fit-desc{font-family:var(--fn-u);font-size:13px;color:var(--dim);line-height:1.6}

/* PACK LIST */
.pack-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:40px}
.pack-item{background:var(--forest-mid);border:1px solid var(--border);border-radius:var(--rm);padding:16px;text-align:center;font-family:var(--fn-u);font-size:13px;font-weight:500;color:var(--mid);transition:var(--ease)}
.pack-item:hover{border-color:var(--orange)}
.pack-item .ico{font-size:22px;display:block;margin-bottom:6px}

/* PRICING */
.price-hero{background:linear-gradient(135deg,var(--orange) 0%,#C94E0E 100%);border-radius:var(--rl);padding:60px;text-align:center}
.price-hero .price-big{font-family:var(--fn-d);font-size:clamp(60px,12vw,100px);color:#fff;line-height:.9}
.price-hero .price-sub{font-family:var(--fn-u);font-size:16px;color:rgba(255,255,255,.85);margin:12px 0 28px}
.price-hero .btn{background:#fff;color:var(--orange);border:2px solid #fff}
.price-hero .btn:hover{background:var(--cream)}

/* FAQ */
.faq-list{max-width:800px;margin:40px auto 0;display:flex;flex-direction:column;gap:8px}
.faq-item{background:var(--forest-mid);border:1px solid var(--border);border-radius:var(--rm);overflow:hidden;transition:var(--ease)}
.faq-item:hover{border-color:var(--sand)}
.faq-q{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 28px;cursor:pointer;font-family:var(--fn-h);font-size:16px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--cream)}
.faq-q .arrow{transition:transform .3s ease;font-size:14px;color:var(--dim)}
.faq-item.open .arrow{transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease;padding:0 28px}
.faq-item.open .faq-a{max-height:400px;padding:0 28px 22px}
.faq-a p{font-family:var(--fn-u);font-size:14px;line-height:1.8;color:var(--mid)}

footer{background:var(--forest-dark);border-top:1px solid var(--border);padding:60px 0 28px}
.ft-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:44px;border-bottom:1px solid var(--border);margin-bottom:28px}
.ft-brand p{font-family:var(--fn-u);font-size:13px;color:var(--dim);line-height:1.75;margin-top:14px;max-width:280px}
.ft-col-title{font-family:var(--fn-h);font-size:13px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--sand);margin-bottom:14px}
.ft-links{display:flex;flex-direction:column;gap:9px;list-style:none}
.ft-links a{font-family:var(--fn-u);font-size:13px;color:var(--dim);transition:var(--ease)}.ft-links a:hover{color:var(--cream)}
.ft-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.ft-copy{font-family:var(--fn-u);font-size:12px;color:var(--dim)}
.ft-socials{display:flex;gap:10px}
.ft-social{background:var(--forest);border:1px solid var(--border);padding:8px 14px;border-radius:var(--r);font-family:var(--fn-u);font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--dim);transition:var(--ease)}.ft-social:hover{color:var(--cream);border-color:var(--orange)}
.float-wa{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;font-size:28px;color:#fff;z-index:9000;box-shadow:0 4px 20px rgba(37,211,102,.4);transition:var(--ease);text-decoration:none}.float-wa:hover{transform:scale(1.1)}

@media(max-width:1060px){
  .over-grid{grid-template-columns:1fr 1fr}
  .hl-grid{grid-template-columns:1fr}
  .inc-cols{grid-template-columns:1fr}
  .fit-grid{grid-template-columns:1fr}
  .pack-grid{grid-template-columns:1fr 1fr}
  .ft-grid{grid-template-columns:1fr 1fr;gap:30px}
}
@media(max-width:1280px){.nav-phone{display:none}}
@media(max-width:768px){
  section{padding:70px 0}
  .con{padding:0 18px}
  .nav-links,.nav-right{display:none}
  .ham{display:flex}
  .over-grid{grid-template-columns:1fr 1fr}
  .pack-grid{grid-template-columns:1fr 1fr}
  .ft-grid{grid-template-columns:1fr}
  .price-hero{padding:40px 24px}
}

/* ===== YELLOWSTONE 2026 ===== */
#hero{height:auto;min-height:640px;padding:150px 0 60px}
/* Poster paints instantly (no video bytes needed); the loop fades in on top once it is actually playing. */
.ys-poster{background:#0F1F12 url('https://islandhikers.com/wp-content/uploads/2026/09/yellowstone-hero-poster.jpg') center 35%/cover no-repeat;animation:none}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}
.hero-video.on{opacity:1}
.ys-title{font-size:clamp(44px,9vw,104px);line-height:.95}
.ys-title span{color:var(--orange)}
.ys-sub{max-width:640px;font-size:clamp(17px,2.4vw,24px);letter-spacing:1px}
.ys-caption{font-family:var(--fn-u);font-size:13px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--sand);min-height:20px;margin-top:14px;transition:opacity .5s ease}
.ys-hero-acts{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:22px}
.ys-link{font-family:var(--fn-u);font-size:13px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--cream);border-bottom:1px solid var(--sand);padding-bottom:2px}
.ys-link:hover{color:var(--orange)}
.ys-closes{font-family:var(--fn-u);font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--orange);margin-top:18px}

.ys-flights{margin-top:44px;background:var(--forest-mid);border:1px solid var(--border);border-radius:var(--rm);padding:28px}
.ys-flights h3{font-family:var(--fn-h);font-size:18px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--cream);margin-bottom:14px}
.ys-flight-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;font-family:var(--fn-u);font-size:14px;line-height:1.7;color:var(--mid)}
.ys-flights p{font-family:var(--fn-u);font-size:13px;color:var(--dim);margin-top:14px}

.ys-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
.ys-step{background:var(--forest-mid);border:1px solid var(--border);border-radius:var(--rm);padding:28px;text-align:center}
.ys-step-n{font-family:var(--fn-d);font-size:48px;color:var(--orange);line-height:1}
.ys-step h3{font-family:var(--fn-h);font-size:20px;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin:6px 0}
.ys-step p{font-family:var(--fn-u);font-size:14px;line-height:1.7;color:var(--dim)}

.ys-flyer{display:grid;grid-template-columns:minmax(0,360px) 1fr;gap:48px;align-items:center}
.ys-flyer-img{display:block;border-radius:var(--rm);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow)}
.ys-flyer-img img{width:100%;height:auto}

.ys-form{margin-top:32px;display:flex;flex-direction:column;gap:16px;background:var(--forest-mid);border:1px solid var(--border);border-radius:var(--rl);padding:32px}
.ys-form label{display:flex;flex-direction:column;gap:6px;font-family:var(--fn-u);font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--sand)}
.ys-form input,.ys-form select,.ys-form textarea{font-family:var(--fn-u);font-size:16px;letter-spacing:0;text-transform:none;color:var(--cream);background:var(--forest-dark);border:1px solid var(--border);border-radius:var(--r);padding:13px 14px;width:100%}
.ys-form input:focus,.ys-form select:focus,.ys-form textarea:focus{outline:none;border-color:var(--orange)}
.ys-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ys-form .ys-check{flex-direction:row;align-items:flex-start;gap:12px;text-transform:none;letter-spacing:0;font-weight:400;font-size:13px;line-height:1.6;color:var(--mid)}
.ys-form .ys-check input{width:auto;margin-top:3px;flex-shrink:0}
.ys-err{font-family:var(--fn-u);font-size:14px;color:#ff8a70;min-height:0}
.ys-err:empty{display:none}
.ys-fine{font-family:var(--fn-u);font-size:12px;line-height:1.7;color:var(--dim)}
.ys-fine a{color:var(--sand);text-decoration:underline}
#ysBtn[disabled]{opacity:.6;cursor:wait}

.ys-modal{display:none;position:fixed;inset:0;z-index:10000;background:rgba(7,18,9,.92);align-items:center;justify-content:center;padding:20px}
.ys-modal.open{display:flex}
.ys-modal-box{max-width:460px;background:var(--forest-mid);border:1px solid var(--orange);border-radius:var(--rl);padding:36px 30px;text-align:center}
.ys-modal-ico{font-size:48px;margin-bottom:8px}
.ys-modal-box h3{font-family:var(--fn-h);font-size:26px;text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}
.ys-modal-box p{font-family:var(--fn-u);font-size:15px;line-height:1.7;color:var(--mid);margin-bottom:22px}

@media(max-width:1060px){.ys-steps{grid-template-columns:1fr}.ys-flyer{grid-template-columns:1fr;gap:28px}.ys-flyer-img{max-width:360px;margin:0 auto}}
@media(max-width:768px){#hero{min-height:560px;padding:120px 0 40px}.ys-row,.ys-flight-grid{grid-template-columns:1fr}.ys-form{padding:22px 18px}.fit-grid{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){.hero-video{display:none}}

/* ===== Yellowstone: low-cognitive-load layout (one idea per section) ===== */
.ys-chapters{max-width:820px;margin:44px auto 0;display:flex;flex-direction:column;gap:28px}
.ys-chapter{background:var(--forest-mid);border:1px solid var(--border);border-radius:var(--rl);padding:28px 30px}
.ys-chap-h{display:flex;align-items:center;gap:16px;padding-bottom:16px;margin-bottom:8px;border-bottom:1px solid var(--border)}
.ys-chap-ico{font-size:34px}
.ys-chap-h h3{font-family:var(--fn-h);font-size:22px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--cream)}
.ys-chap-h p{font-family:var(--fn-u);font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--orange);margin-top:2px}
.ys-day{display:grid;grid-template-columns:64px 92px 1fr;gap:4px 14px;padding:14px 0;border-bottom:1px solid rgba(201,166,96,.1);align-items:baseline}
.ys-day:last-child{border-bottom:none}
.ys-day-n{font-family:var(--fn-d);font-size:24px;color:var(--orange);line-height:1}
.ys-day-d{font-family:var(--fn-u);font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--dim)}
.ys-day-t{font-family:var(--fn-h);font-size:17px;font-weight:600;letter-spacing:.5px;color:var(--cream)}
.ys-day-x{grid-column:3;font-family:var(--fn-u);font-size:14px;color:var(--mid);line-height:1.6}

.ys-stays{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:40px}
.ys-stay{background:var(--forest-mid);border:1px solid var(--border);border-radius:var(--rm);padding:24px 14px;text-align:center}
.ys-stay-n{font-family:var(--fn-d);font-size:52px;color:var(--orange);line-height:1}
.ys-stay-t{font-family:var(--fn-u);font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--dim);margin-bottom:10px}
.ys-stay h3{font-family:var(--fn-h);font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--cream);line-height:1.3}

.ys-flight-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px}
.ys-fcard{background:var(--forest-mid);border:1px solid var(--border);border-radius:var(--rl);padding:30px;text-align:center}
.ys-fcard-k{font-family:var(--fn-u);font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--orange)}
.ys-fcard h3{font-family:var(--fn-h);font-size:24px;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin:8px 0 12px}
.ys-fcard-r{font-family:var(--fn-u);font-size:15px;color:var(--cream);margin-bottom:12px}
.ys-fcard-t{font-family:var(--fn-d);font-size:30px;color:var(--sand);line-height:1}
.ys-fcard-s{font-family:var(--fn-u);font-size:13px;color:var(--dim);margin-top:6px}

.ys-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:32px}
.ys-chips span{font-family:var(--fn-u);font-size:14px;color:var(--mid);background:var(--forest-mid);border:1px solid var(--border);border-radius:999px;padding:10px 18px}
.ys-notes{margin-top:40px;background:rgba(232,96,28,.08);border:1px solid rgba(232,96,28,.4);border-radius:var(--rm);padding:24px 28px}
.ys-notes h3{font-family:var(--fn-h);font-size:16px;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}
.ys-notes ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.ys-notes li{font-family:var(--fn-u);font-size:14px;line-height:1.7;color:var(--mid)}

@media(max-width:1060px){.ys-stays{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){
  .ys-stays{grid-template-columns:1fr 1fr}
  .ys-flight-cards{grid-template-columns:1fr}
  .ys-chapter{padding:22px 18px}
  .ys-day{grid-template-columns:52px 1fr}
  .ys-day-d{grid-column:2}.ys-day-t{grid-column:1/-1}.ys-day-x{grid-column:1/-1}
}

/* Hero eyebrow: larger */
#hero .hero-eye{font-size:clamp(14px,1.7vw,22px);letter-spacing:4px;font-weight:700;margin-bottom:18px;flex-wrap:wrap}
#hero .hero-eye::before{width:48px;height:2px}
@media(max-width:768px){#hero .hero-eye{font-size:15px;letter-spacing:2px;flex-direction:column;align-items:flex-start;gap:2px}#hero .hero-eye::before,#hero .hero-eye .ys-dot{display:none}}

@media(max-width:768px){
  #hero{padding:150px 0 40px}
  #hero .hero-ov{background:linear-gradient(to bottom,rgba(7,18,9,.86) 0%,rgba(7,18,9,.78) 34%,rgba(7,18,9,.55) 52%,rgba(7,18,9,.80) 74%,rgba(7,18,9,.97) 100%)}
}

/* Desktop: darker fade on the left so the headline stays legible over bright footage */
@media(min-width:769px){
  #hero .hero-ov{background:linear-gradient(to right,rgba(7,18,9,.78) 0%,rgba(7,18,9,.5) 42%,rgba(7,18,9,0) 78%),linear-gradient(to bottom,rgba(7,18,9,.25) 0%,rgba(7,18,9,.08) 30%,rgba(7,18,9,.6) 65%,rgba(7,18,9,.97) 100%)}
}

/* phones: break the tagline after the first sentence */
.ys-br{display:none}
@media(max-width:768px){.ys-br{display:inline}}

@media(min-width:769px){.ys-title span{display:inline-block;font-size:.62em;letter-spacing:3px;margin-top:8px}}

/* reserve the flyer image's height before it loads (prevents layout shift, keeps #register anchor accurate) */
.ys-flyer-img img{width:100%;height:auto;aspect-ratio:853/1280;background:var(--forest-mid)}
#register{scroll-margin-top:110px}

/* Register & Pay banner: shows the BOTTOM two-thirds of a 16:9 photo */
.ys-reg-banner{position:relative;width:100%;aspect-ratio:1280/480;max-height:520px;overflow:hidden;margin-bottom:64px;background:var(--forest-mid)}
.ys-reg-banner img{display:block;width:100%;height:100%;object-fit:cover;object-position:center bottom}
.ys-reg-banner::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(7,18,9,.25) 0%,rgba(7,18,9,0) 30%,rgba(7,18,9,0) 62%,var(--forest-dark) 100%);pointer-events:none}
@media(max-width:768px){.ys-reg-banner{aspect-ratio:auto;height:230px;margin-bottom:44px}}

/* ===== Yellowstone: photo-led layout (less text, more pictures) ===== */
.ys-gallery{display:grid;grid-template-columns:1.1fr 1fr 1fr;grid-template-rows:300px 300px;gap:14px;margin-top:36px}
.ys-g{position:relative;margin:0;border-radius:var(--rm);overflow:hidden;background:var(--forest-mid)}
.ys-g-big{grid-row:1/3;grid-column:1}
.ys-g img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.ys-g:hover img{transform:scale(1.06)}
.ys-g::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(7,18,9,.9) 0%,rgba(7,18,9,.15) 44%,transparent 62%);pointer-events:none}
.ys-g figcaption{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:18px 20px;display:flex;flex-direction:column;gap:3px}
.ys-g figcaption strong{font-family:var(--fn-h);font-size:20px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#fff;line-height:1.1}
.ys-g-big figcaption strong{font-size:28px}
.ys-g figcaption span{font-family:var(--fn-u);font-size:13px;color:var(--sand);line-height:1.4}
@media(max-width:768px){.ys-gallery{grid-template-columns:1fr 1fr;grid-template-rows:none;grid-auto-rows:200px;gap:10px}.ys-g-big{grid-column:1/-1;grid-row:span 2;height:auto}.ys-g figcaption{padding:12px 14px}.ys-g figcaption strong{font-size:16px}.ys-g-big figcaption strong{font-size:24px}.ys-g figcaption span{font-size:12px}}

.ys-chap-stops{font-family:var(--fn-u);font-size:15px;color:var(--mid);margin:14px 0 6px;line-height:1.6}
.ys-more{margin-top:8px}
.ys-more summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:8px;font-family:var(--fn-u);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);padding:8px 0}
.ys-more summary::-webkit-details-marker{display:none}
.ys-more summary::after{content:'▾';font-size:14px;transition:transform .25s ease}
.ys-more[open] summary::after{transform:rotate(180deg)}
.ys-more[open] summary{margin-bottom:6px}

.ys-accs{display:flex;flex-direction:column;gap:10px;margin-top:34px}
.ys-acc{background:var(--forest-mid);border:1px solid var(--border);border-radius:var(--rm);overflow:hidden;transition:border-color .25s ease}
.ys-acc:hover,.ys-acc[open]{border-color:var(--sand)}
.ys-acc summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 26px;font-family:var(--fn-h);font-size:18px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--cream)}
.ys-acc summary::-webkit-details-marker{display:none}
.ys-acc summary::after{content:'▾';font-size:16px;color:var(--dim);transition:transform .25s ease}
.ys-acc[open] summary::after{transform:rotate(180deg)}
.ys-acc-body{padding:0 26px 24px}
.ys-acc-body p{font-family:var(--fn-u);font-size:14px;line-height:1.75;color:var(--mid);margin-bottom:10px}
.ys-acc-body .ys-flight-cards{margin-top:16px}
.ys-acc-body .ys-chips{margin-top:14px;justify-content:flex-start}

/* itinerary tabs: small custom illustrated icon badge (drawn as vector art, not photos) */
.ys-chap-ico{width:72px;height:72px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0;background:radial-gradient(circle at 30% 24%,#2f5a3a 0%,#173020 62%,#0f1f12 100%);border:2px solid rgba(232,96,28,.7);box-shadow:0 6px 18px rgba(0,0,0,.35)}
.ys-chap-ico svg{width:50px;height:50px;display:block}
@media(max-width:768px){.ys-chap-ico{width:60px;height:60px}.ys-chap-ico svg{width:42px;height:42px}}

/* gallery: Old Faithful plays as a looping clip (poster photo shows until it loads) */
.ys-g video{display:block;width:100%;height:100%;object-fit:cover;object-position:center 30%;background:var(--forest-mid)}
@media(prefers-reduced-motion:reduce){.ys-g video{display:none}}

/* ===== Shared with home page: page-fade + typography ===== */
#page-fade{position:fixed;inset:0;background:#071209;z-index:99998;pointer-events:none;opacity:1;transition:opacity .35s ease;animation:_pf-out .4s ease .15s forwards}#page-fade.out{opacity:0}@keyframes _pf-out{to{opacity:0}}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:var(--fn-u);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
.hero-eye{font-family:var(--fn-h)}
#hero .hero-eye{font-family:var(--fn-h)}
.hero-title,.ys-title{font-family:var(--fn-d);-webkit-text-stroke:3px #fff;paint-order:stroke fill;letter-spacing:2px}
.ys-title{font-size:clamp(44px,8.4vw,120px)!important;line-height:.94!important}
.ys-title span{background:linear-gradient(90deg,#FFA51F,#E8601C);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;-webkit-text-stroke:0;filter:drop-shadow(0 2px 8px rgba(0,0,0,.55))}
/* phones: clear the fixed nav with room to spare */
@media(max-width:768px){#hero{padding-top:185px!important}}

/* Same hero height as the home page */
#hero{min-height:720px}
@media(max-width:768px){#hero{min-height:720px}}

/* ===== Nav: never wrap, even spacing, menu button before it gets cramped ===== */
.nav-links{gap:clamp(14px,1.9vw,30px)}
.nav-links a,.nav-cta-btn,.nav-phone{white-space:nowrap}
@media(max-width:1200px){.nav-links a{letter-spacing:1px}.nav-phone{display:none}}
@media(max-width:1279px){.nav-links,.nav-right,.nav-phone{display:none}.ham{display:flex}}
.nav-phone{display:none!important}
.nav-logo{flex-shrink:0;white-space:nowrap}
.nav-logo .nav-tag{white-space:nowrap}
#nav .nav-in{max-width:1560px}
