/* 9Devy release 15 — flagship brand layer.
   Loaded after styles.css and editorial.css on every page. Remove the <link> to roll back.
   Tokens: ink / paper / moss (brand) / amber (live + attention only). */
/* fonts:start — generated by docs/build_fonts.py (D1 typography); edit that script, not this block */
@font-face{font-family:"Inter Tight";src:url("./assets/fonts/inter-tight-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter Tight Fallback";src:local("Arial");size-adjust:96.19%;ascent-override:100.71%;descent-override:25.08%;line-gap-override:0.00%}
@font-face{font-family:"Instrument Serif";src:url("./assets/fonts/instrument-serif-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Instrument Serif";src:url("./assets/fonts/instrument-serif-latin-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Instrument Serif Fallback";src:local("Times New Roman");size-adjust:83.83%;ascent-override:118.09%;descent-override:36.98%;line-gap-override:0.00%}
@font-face{font-family:"JetBrains Mono";src:url("./assets/fonts/jetbrains-mono-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"JetBrains Mono Fallback";src:local("Courier New");size-adjust:99.98%;ascent-override:102.02%;descent-override:30.00%;line-gap-override:0.00%}
:root{--sans:"Inter Tight","Inter Tight Fallback","Helvetica Neue",Arial,sans-serif;--serif:"Instrument Serif","Instrument Serif Fallback",Georgia,"Times New Roman",serif;--mono:"JetBrains Mono","JetBrains Mono Fallback",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace}
/* fonts:end */

:root{
  --ink:#070807;--ink-2:#0b0d0b;--panel:#0f120e;--panel-2:#141812;
  --paper:#f3f1ea;--paper-dim:#d9dbd2;--muted:#a3a89c;--line:#ffffff1c;--line-strong:#ffffff33;
  --moss:#aab493;--moss-soft:#cfd5bd;--moss-deep:#182016;--amber:#e3b66a;
    --radius-pill:999px;--frame:2px;--shadow-media:0 30px 80px -30px #000c;
  --ease:cubic-bezier(.2,.7,.2,1);--section-y:clamp(72px,9vw,128px)
}
body{background:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;font-feature-settings:"ss01","cv11";text-rendering:optimizeLegibility}
h1,h2,h3{font-family:var(--sans);font-weight:450;letter-spacing:-.03em}
h2{font-size:clamp(36px,4.4vw,68px);line-height:1.02;letter-spacing:-.035em}
h2 em,h1 em,.final-cta h2 em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em;color:var(--moss-soft)}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.14em;font-weight:400;color:var(--moss)}
.section-intro{font-size:15px;color:var(--muted);max-width:380px;line-height:1.7}
.section-intro p{margin:0}
.quiet{color:var(--muted);font-size:14px}
::selection{background:var(--moss-soft);color:var(--ink)}

/* Header: sticky, translucent, with the business CTA as a pill. */
.site-header{position:sticky;top:0;height:78px;background:#070807d9;-webkit-backdrop-filter:saturate(140%) blur(16px);backdrop-filter:saturate(140%) blur(16px);border-bottom:1px solid #ffffff12}
.brand{font-family:var(--sans);font-weight:800;letter-spacing:-.05em}
.brand-dot{color:var(--moss)}
.site-header nav{font-size:12px;letter-spacing:.08em;font-weight:500}
@media(min-width:761px){
  .site-header nav a:last-child{padding:10px 18px;border:1px solid var(--line-strong);border-radius:var(--radius-pill);color:var(--paper);transition:background .3s var(--ease),color .3s var(--ease),border-color .3s}
  .site-header nav a:last-child:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
  .site-header nav a:last-child::after{display:none}
}
.hero{height:calc(100svh - 78px)}
html{scroll-padding-top:86px}

/* Buttons: pills for actions, frames for content. */
.button{border-radius:var(--radius-pill);min-height:52px;padding:0 26px;gap:12px;font-size:14px;font-weight:550;letter-spacing:.005em;text-transform:none;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s,transform .3s var(--ease),box-shadow .3s}
.button:hover{transform:translateY(-1px)}
.button-light{background:var(--paper);color:var(--ink);border-color:var(--paper);box-shadow:0 14px 34px -14px #000c}
.button-light:hover{background:#fff;border-color:#fff}
.button-outline{border-color:var(--line-strong);color:var(--paper)}
.button-outline:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.button-ghost{background:#ffffff12;border:1px solid #ffffff40;color:var(--paper);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.button-ghost:hover{background:#ffffff24;border-color:#ffffff80}
.button span[aria-hidden]{transition:transform .3s var(--ease)}
.button:hover span[aria-hidden]{transform:translateX(3px)}
.text-link{font-size:14px;gap:14px;border-bottom-color:#ffffff38}
.text-link:hover{border-bottom-color:var(--paper)}
.play-button{width:58px;height:58px;background:#0709078c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-color:#ffffffcc;transition:transform .4s var(--ease),background .3s}
a:hover .play-button,button:hover .play-button{transform:translate(-50%,-50%) scale(1.08);background:#070907cc}

/* ---------- Homepage ---------- */
.home .section{padding-top:var(--section-y);padding-bottom:var(--section-y)}
.home .section-top{align-items:flex-end;margin-bottom:clamp(30px,4vw,52px)}
.home .section-top h2{max-width:15ch}
@media(min-width:761px){.home .section-top h2 em{white-space:nowrap}}

/* Hero: benefit-led, left-weighted cinematic title card. */
.hero-flagship{place-items:end start;min-height:640px}
.hero-flagship .hero-image{filter:saturate(.72) brightness(.66) contrast(1.04);transform-origin:60% 40%;animation:heroDrift 26s var(--ease) both}
@keyframes heroDrift{from{transform:scale(1.08)}to{transform:scale(1)}}
.hero-flagship .hero-shade{background:linear-gradient(90deg,#060806d9 0%,#06080680 38%,#06080610 70%),linear-gradient(180deg,#0608062e 0%,#06080600 40%,#070807f2 100%)}
.hero-flagship .hero-content{text-align:left;max-width:1180px;justify-self:start;padding:0 var(--gutter) clamp(110px,15vh,170px)}
.hero-kicker{display:flex;align-items:center;gap:14px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:600;color:var(--paper-dim);margin-bottom:28px}
.kicker-rule{width:42px;height:1px;background:var(--moss)}
.hero-flagship h1{font-size:clamp(46px,7vw,116px);line-height:.96;letter-spacing:-.045em;font-weight:500;margin:0;max-width:12.5ch;text-shadow:0 18px 60px #0009;color:#fff}
.hero-flagship h1 em{display:block;color:#e7ead9;letter-spacing:-.02em;font-size:1.04em;line-height:.98}
.hero-flagship .hero-tagline{font-size:clamp(16px,1.35vw,19px);line-height:1.6;color:#dfe3d8;max-width:560px;margin:28px 0 0}
.hero-flagship .hero-actions{justify-content:flex-start;gap:14px;flex-wrap:wrap;margin-top:36px}
.hero-flagship .play-small{font-size:10px}
.hero-proof{display:flex;align-items:center;gap:14px;margin-top:34px;font-size:13px;color:var(--paper-dim)}
.hero-proof strong{color:var(--paper);font-weight:600}
.proof-marks{display:flex}
.proof-marks span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:11px;color:var(--paper);background:#181c16;border:2px solid #0b0d0b;margin-left:-9px;box-shadow:0 0 0 1px #ffffff26}
.proof-marks span:first-child{margin-left:0;background:var(--paper);color:var(--ink)}
.hero-flagship .hero-bottom{font-size:10px;letter-spacing:.2em;color:#cfd3c8}
.hero-flagship .hero-bottom a{display:inline-flex;gap:10px;align-items:center}

/* Proof band: social proof in numbers, immediately after the promise. */
.proof-band{padding:0 var(--gutter);background:var(--ink);border-bottom:1px solid var(--line)}
.proof-stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}
.proof-stats li{padding:clamp(28px,3.4vw,46px) clamp(14px,2vw,32px) clamp(26px,3vw,40px) 0;display:grid;gap:8px}
.proof-stats li+li{padding-left:clamp(18px,2.4vw,36px);border-left:1px solid var(--line)}
.proof-stats strong{font-size:clamp(38px,4.6vw,72px);line-height:1;font-weight:550;letter-spacing:-.05em;color:var(--paper);font-variant-numeric:tabular-nums}
.proof-stats strong span{color:var(--moss)}
.proof-stats li>span{font-size:13px;color:var(--muted);letter-spacing:.01em}
.proof-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:18px 0;font-size:13px;color:var(--muted)}
.proof-foot p{margin:0;display:flex;gap:22px;flex-wrap:wrap;align-items:center}
.proof-foot a{color:var(--paper);display:inline-flex;gap:6px;min-height:44px;align-items:center}
.proof-foot a:hover{color:var(--moss-soft)}
.proof-note{font-size:11px;color:#7f857a}

/* Paths: three self-selecting doors (Hick's law). */
.path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,24px)}
.path-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:clamp(440px,38vw,560px);overflow:hidden;border-radius:var(--frame);background:var(--panel);isolation:isolate;box-shadow:var(--shadow-media)}
.path-art{position:absolute;inset:0;z-index:-2}
.path-art img{width:100%;height:100%;object-fit:cover;object-position:50% 85%;filter:saturate(.78) brightness(.72);transition:transform 1.1s var(--ease),filter .8s}
.path-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#07080700 30%,#070807d9 78%,#070807f5 100%)}
.path-card:hover .path-art img,.path-card:focus-visible .path-art img{transform:scale(1.05);filter:saturate(.95) brightness(.8)}
.path-body{display:grid;gap:10px;padding:clamp(22px,2.4vw,34px)}
.path-num{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--moss-soft);font-weight:600}
.path-title{font-size:clamp(24px,2.1vw,32px);line-height:1.12;letter-spacing:-.03em;font-weight:500;max-width:15ch}
.path-text{font-size:14px;color:#c9cdc2;line-height:1.6;max-width:34ch}
.path-cta{margin-top:10px;display:inline-flex;gap:10px;align-items:center;font-size:14px;font-weight:550;border-bottom:1px solid #ffffff55;padding-bottom:6px;width:max-content}
.path-cta span{transition:transform .3s var(--ease)}
.path-card:hover .path-cta span{transform:translateX(4px)}

/* Favorites: 1 lead + 2 supporting, with real view counts. */
.fav-grid{display:grid;grid-template-columns:2.3fr 1fr;grid-template-rows:auto auto;gap:clamp(16px,1.8vw,26px)}
.fav-card{display:grid;gap:16px;align-content:start}
.fav-lead{grid-row:span 2;grid-template-rows:1fr auto}
.fav-lead .fav-art{aspect-ratio:auto;height:100%;min-height:340px}
.fav-art{position:relative;display:block;overflow:hidden;aspect-ratio:16/9;border-radius:var(--frame);background:var(--panel);box-shadow:var(--shadow-media)}
.fav-art img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),filter .6s;filter:saturate(.92)}
.fav-card:hover .fav-art img{transform:scale(1.04);filter:saturate(1.05)}
.fav-art .duration{position:absolute;right:12px;bottom:12px;background:#000000b3;padding:3px 8px;font-size:11px;letter-spacing:.04em}
.fav-copy{display:grid;gap:8px}
.fav-meta{display:flex;gap:14px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.fav-views{color:var(--amber);font-weight:600}
.fav-title{font-size:clamp(18px,1.5vw,22px);line-height:1.25;letter-spacing:-.02em;font-weight:500}
.fav-lead .fav-title{font-size:clamp(24px,2.3vw,34px);max-width:22ch}
.fav-cta{font-size:13px;color:var(--paper-dim);display:inline-flex;gap:8px}
.fav-card:not(.fav-lead) .fav-title{font-size:17px}

/* Rails: one unified look for Adventures, Shorts and TikTok. */
.rail-head-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:18px}
.films-intro .rail-head-actions .film-rail-controls{margin-top:0}
.rail-controls button{border-radius:50%;width:46px;height:46px;min-width:46px;border:1px solid var(--line-strong);background:transparent;transition:background .3s,color .3s,border-color .3s}
.rail-controls button:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.feed-status{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted);margin-bottom:22px;letter-spacing:.02em}
.feed-status::before{content:"";width:7px;height:7px;border-radius:50%;background:#6c7266;flex:none}
.feed-status.is-live::before{background:var(--amber);box-shadow:0 0 0 0 #e3b66a80;animation:livePulse 2.4s infinite}
@keyframes livePulse{0%{box-shadow:0 0 0 0 #e3b66a80}70%{box-shadow:0 0 0 9px #e3b66a00}100%{box-shadow:0 0 0 0 #e3b66a00}}
.feed-status button{margin-left:6px}
.film-art,.short-art{border-radius:var(--frame);overflow:hidden}
.film-art img,.short-art img{transition:transform 1s var(--ease)}
.film-card:hover .film-art img,.short-card:hover .short-art img{transform:scale(1.04)}
.film-rail>.film-card:first-child .film-art::before,.shorts-rail>.short-card:first-child .short-art::before,.latest-badge{content:"Latest";position:absolute;z-index:3;top:12px;left:12px;padding:5px 10px;border-radius:var(--radius-pill);background:var(--amber);color:#1a1408;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.film-title{font-size:clamp(18px,1.5vw,22px);letter-spacing:-.02em;font-weight:500}
.section-bottom{display:flex;justify-content:space-between;align-items:center;gap:22px;flex-wrap:wrap;margin-top:44px;padding-top:30px;border-top:1px solid var(--line)}
.home .shorts-section{padding-top:24px}

/* TikTok: blended rail, profile proof, inline play. */
.home .tiktok-section{padding-top:var(--section-y)}
.tiktok-profile{display:flex;align-items:center;gap:14px}
.tiktok-mark{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--panel-2);border:1px solid var(--line-strong);font-size:18px}
.tiktok-profile strong{display:block;color:var(--paper);font-size:16px;font-weight:600;letter-spacing:-.01em}
.tiktok-profile strong+span{font-size:13px;color:var(--muted)}
.home .tiktok-panel,.home .tiktok-embed-host{border:0;background:none;padding:0;box-shadow:none;width:100%;max-width:none;margin:0}
.tiktok-rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 4*22px)/5);gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#626958 transparent;padding-bottom:18px}
.tiktok-video-card{scroll-snap-align:start;min-width:0;display:grid;gap:12px;align-content:start}
.tiktok-facade{position:relative;display:block;aspect-ratio:9/16;overflow:hidden;border-radius:var(--frame);background:var(--panel);box-shadow:var(--shadow-media);border:0;padding:0;width:100%;color:inherit;cursor:pointer}
.tiktok-facade img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.tiktok-video-card:hover .tiktok-facade img{transform:scale(1.04)}
.tiktok-facade::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0000 55%,#000a 100%);pointer-events:none}
.tiktok-video-title{font-size:14px;line-height:1.45;color:var(--paper-dim);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tiktok-video-title:hover{color:var(--paper)}
.tiktok-player-frame{display:block;width:100%;aspect-ratio:9/16;border:0;border-radius:var(--frame);background:#000;box-shadow:var(--shadow-media)}
.embed-note{margin-top:14px;font-size:11px;color:#7f857a}

/* About: story + verifiable credentials. */
.home .about-section{background:var(--panel)}
.home .about-copy h2{max-width:12ch}
.about-lead{font-size:clamp(17px,1.4vw,20px);line-height:1.6;color:var(--paper);margin:26px 0 16px!important}
.about-copy>p:not(.eyebrow):not(.signature):not(.about-lead){color:var(--muted);font-size:15px}
.about-facts{list-style:none;padding:0;margin:30px 0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.about-facts li{padding:20px 14px 20px 0;display:grid;gap:4px}
.about-facts li+li{padding-left:16px;border-left:1px solid var(--line)}
.about-facts strong{font-size:clamp(18px,1.6vw,24px);font-weight:600;letter-spacing:-.03em}
.about-facts span{font-size:12px;color:var(--muted);line-height:1.45}
.about-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.about-copy .signature{font-family:var(--serif);font-style:italic;font-size:26px;margin-top:34px!important;color:var(--paper);display:flex;align-items:baseline;gap:14px}
.about-copy .signature span{font-family:var(--sans);font-style:normal;font-size:10px;letter-spacing:.24em;color:var(--muted)}

/* Explore destinations. */
.destination{border-radius:var(--frame)}
.destination h3{font-weight:500;letter-spacing:-.03em}
.home .explore-section .section-intro .text-link{margin-top:14px}

/* Guide offer: the free Oregon guide as a tangible product. */
.home .lut-section{background:radial-gradient(120% 120% at 0% 0%,#1d2719 0%,#10150f 55%,#0b0e0a 100%)}
.home .offer-stage{display:grid;place-items:center;min-height:640px;padding:70px 40px 90px}
.home .offer-stage::after{display:none}
.home .offer-stage img.offer-cover{position:relative;inset:auto;grid-area:1/1;width:min(40%,250px);height:auto;aspect-ratio:612/792;object-fit:cover;filter:none;border-radius:3px;box-shadow:0 40px 80px -24px #000e,0 0 0 1px #ffffff1a;transform:rotate(-4deg) translateX(-26%);z-index:2;transition:transform .8s var(--ease)}
.home .offer-stage img.offer-cover-back{transform:rotate(5deg) translateX(30%) translateY(2%);filter:brightness(.8);z-index:1}
.home .lut-section:hover .offer-stage img.offer-cover:not(.offer-cover-back){transform:rotate(-6deg) translateX(-30%) translateY(-6px)}
.home .offer-stage .lut-label{position:absolute;left:var(--gutter);bottom:36px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--moss-soft)}

/* Services: outcome copy, ideal-for tags and a clear process. */
.home .services-section{padding-top:var(--section-y)}
.service-row h3{font-size:clamp(24px,2.3vw,34px);letter-spacing:-.03em;font-weight:500}
.service-row p{color:var(--muted)}
.service-tags{font-size:12px;color:var(--moss-soft);letter-spacing:.02em;text-align:right}
.process{list-style:none;margin:56px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px);counter-reset:none}
.process li{padding:28px;border:1px solid var(--line);border-radius:var(--frame);background:linear-gradient(160deg,#121611,#0c0e0b)}
.process-num{font-size:11px;letter-spacing:.22em;color:var(--amber);font-weight:700}
.process h3{font-size:22px;margin:14px 0 8px;font-weight:500;letter-spacing:-.02em}
.process p{font-size:14px;color:var(--muted);line-height:1.6}

/* Contact reassurance. */
.contact-copy h2{font-weight:450}
.contact-copy h2 em{font-family:var(--serif);font-style:italic;color:var(--moss-soft)}
.next-steps{margin:34px 0 0;padding:0;list-style:none;display:grid;gap:12px;counter-reset:step;max-width:380px}
.next-steps li{counter-increment:step;display:flex;gap:14px;align-items:center;font-size:14px;color:var(--paper-dim)}
.next-steps li::before{content:counter(step);width:28px;height:28px;flex:none;border-radius:50%;border:1px solid var(--line-strong);display:grid;place-items:center;font-size:12px;color:var(--moss-soft)}
.contact-form button[type=submit],#contact-submit{border-radius:var(--radius-pill)}

/* Closing community CTA (peak-end). */
.final-cta{position:relative;isolation:isolate;overflow:hidden;min-height:min(78vh,680px);display:grid;place-items:center;text-align:center;padding:110px var(--gutter)}
.final-cta>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 80%;z-index:-2;filter:saturate(.7) brightness(.5)}
.final-cta::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(80% 70% at 50% 50%,#07080766 0%,#070807e6 100%)}
.final-inner{max-width:880px;display:grid;justify-items:center}
.final-cta h2{font-size:clamp(42px,6vw,96px);line-height:.98;letter-spacing:-.045em;font-weight:500}
.final-cta h2 em{display:block}
.final-inner>p:not(.eyebrow){margin-top:22px;color:var(--paper-dim);font-size:17px}
.final-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:34px}

/* Footer polish. */
.site-footer{background:var(--ink-2)}
.footer-brand{font-weight:800;letter-spacing:-.05em}

/* Responsive. */
@media(max-width:1100px){
  .tiktok-rail{grid-auto-columns:calc((100% - 3*20px)/3.4);gap:20px}
  .path-card{min-height:440px}
  .service-tags{display:none}
}
@media(max-width:900px){
  .fav-grid{grid-template-columns:1fr}
  .fav-lead{grid-row:auto;grid-template-rows:auto}
  .fav-lead .fav-art{aspect-ratio:16/9;height:auto;min-height:0}
  .path-grid{grid-template-columns:1fr 1fr}
  .path-card:last-child{grid-column:1/-1;min-height:380px}
  .process{grid-template-columns:1fr}
  .proof-stats{grid-template-columns:1fr 1fr}
  .proof-stats li:nth-child(3){padding-left:0;border-left:0}
  .proof-stats li:nth-child(n+3){border-top:1px solid var(--line)}
}
@media(max-width:760px){
  .site-header{height:68px}
  .hero{height:auto;min-height:calc(100svh - 68px)}
  html{scroll-padding-top:76px}
  .hero-flagship .hero-content{padding:120px 22px 120px}
  .hero-flagship h1{font-size:clamp(42px,12.4vw,64px);max-width:none}
  .hero-flagship .hero-tagline{font-size:16px;margin-top:22px}
  .hero-flagship .hero-actions{flex-direction:column;align-items:stretch;gap:10px;margin-top:28px}
  .hero-flagship .hero-actions .button{width:100%}
  .hero-proof{font-size:12.5px;margin-top:26px}
  .hero-flagship .hero-bottom{display:none}
  .hero-flagship .hero-shade{background:linear-gradient(180deg,#06080640 0%,#06080690 45%,#070807f5 100%)}
  .proof-band{padding:0 22px}
  .proof-stats li{padding:24px 10px 22px 0}
  .proof-stats li+li{padding-left:16px}
  .proof-stats li:nth-child(3){padding-left:0}
  .proof-stats strong{font-size:clamp(34px,10vw,46px)}
  .proof-foot{flex-direction:column;align-items:flex-start;gap:4px}
  .proof-foot p{gap:4px 18px}
  .home .section-top{flex-direction:column;align-items:flex-start;gap:16px}
  .home .section-top h2{max-width:none}
  .path-grid{grid-template-columns:1fr;gap:14px}
  .path-card,.path-card:last-child{min-height:380px;grid-column:auto}
  .fav-meta{letter-spacing:.12em}
  .tiktok-rail{grid-auto-columns:64%;gap:14px}
  .rail-head-actions{gap:12px;width:100%}
  .rail-head-actions .rail-controls{margin-left:auto}
  .about-facts{grid-template-columns:1fr}
  .about-facts li+li{padding-left:0;border-left:0;border-top:1px solid var(--line)}
  .home .offer-stage{min-height:460px;padding:50px 20px 80px}
  .home .offer-stage img.offer-cover{width:min(44%,190px)}
  .section-bottom{flex-direction:column;align-items:flex-start}
  .section-bottom .button{width:100%}
  .final-cta{min-height:auto;padding:96px 22px}
  .final-actions{flex-direction:column;width:100%}
  .final-actions .button{width:100%}
  .about-actions .button{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .hero-flagship .hero-image{animation:none}
  .feed-status.is-live::before{animation:none}
  .button:hover,.path-card:hover .path-art img,.fav-card:hover .fav-art img,.tiktok-video-card:hover .tiktok-facade img{transform:none}
}

/* Mobile intrinsic-sizing repair: min-height + aspect-ratio previously widened the grid. */
@media(max-width:760px){
  .explore-grid{min-width:0;grid-template-columns:minmax(0,1fr)}
  .explore-grid .destination{width:100%;min-width:0;min-height:0;aspect-ratio:4/3}
  .home .section-intro,.home h2{min-width:0;text-wrap:pretty}
}

.tiktok-close-player{justify-self:start;min-height:44px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:transparent;color:var(--paper);font:inherit;font-size:12px;cursor:pointer}
.tiktok-close-player:hover{background:var(--paper);color:var(--ink)}

/* Release 15: vary composition without changing the shared video-rail controls. */
.home .paths-compact{padding-top:52px;padding-bottom:52px}
.paths-compact h2{font-size:clamp(24px,2.5vw,36px);margin-bottom:24px;max-width:none}
.paths-compact .path-grid{gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.paths-compact .path-card,.paths-compact .path-card:last-child{min-height:0;justify-content:flex-start;border-radius:0;background:transparent;box-shadow:none;grid-column:auto}
.paths-compact .path-card::after{display:none}
.paths-compact .path-card+.path-card{border-left:1px solid var(--line)}
.paths-compact .path-body{padding:28px;gap:12px}
.paths-compact .path-card:first-child .path-body{padding-left:0}
.paths-compact .path-title{font-size:clamp(22px,2vw,30px);max-width:none}
.paths-compact .path-text{color:var(--muted)}
.paths-compact .path-card:hover{background:#ffffff03}
.home .spotlight-section{padding-top:32px;padding-bottom:clamp(64px,6vw,96px)}
.spotlight-layout{display:grid;grid-template-columns:1.55fr 1fr;gap:clamp(28px,5vw,76px);align-items:center}
.spotlight-art{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;border-radius:var(--frame);background:var(--panel);box-shadow:var(--shadow-media)}
.spotlight-art img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.spotlight-art:hover img{transform:scale(1.035)}
.spotlight-art .duration{position:absolute;right:12px;bottom:12px;font-size:12px;background:#000a;padding:3px 8px}
.spotlight-copy h2{font-size:clamp(30px,3.4vw,52px);margin:18px 0;max-width:none}
.spotlight-copy>p:not(.eyebrow){color:var(--muted);font-size:16px;max-width:34ch}
.spotlight-copy .spotlight-meta{font-size:12px!important;margin-top:16px}
.spotlight-copy .button{margin-top:24px}
.home .shorts-section .section-top h2{font-size:clamp(30px,3.5vw,48px)}
.home .shorts-section .section-top{margin-bottom:26px}
.home .gear-section .section-top h2{font-size:clamp(30px,3.5vw,48px)}
.home .gear-section{padding-top:64px;padding-bottom:72px}
.home .final-cta{min-height:0;padding-top:76px;padding-bottom:76px;background:var(--moss-deep)}
.home .final-cta>img{display:none}
.home .final-cta::after{background:linear-gradient(180deg,#07080700,#0708074d)}
.home .final-cta h2{font-size:clamp(38px,5vw,72px)}
@media(min-width:761px){.paths-compact .path-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){
  .paths-compact .path-grid{grid-template-columns:minmax(0,1fr)}
  .paths-compact .path-card+.path-card{border-left:0;border-top:1px solid var(--line)}
  .paths-compact .path-body,.paths-compact .path-card:first-child .path-body{padding:22px 0}
  .spotlight-layout{grid-template-columns:minmax(0,1fr);gap:26px}
  .spotlight-copy h2{margin-top:12px}
  .home .spotlight-section{padding-top:24px}
  .home .final-cta{padding:64px 22px}
}
@media(prefers-reduced-motion:reduce){.spotlight-art:hover img{transform:none}}

/* Keep destination cards inside their grid tracks at tablet widths too. */
.home .explore-grid .destination{width:100%;min-width:0;min-height:0}

/* ===== Release 18 homepage: Devon's own frames, one story top to bottom ===== */
.hero-devon{place-items:end end}
.hero-devon .hero-image{filter:brightness(.96);object-position:36% 50%;transform-origin:36% 50%}
.hero-devon .hero-shade{background:linear-gradient(270deg,#060806eb 0%,#060806a6 30%,#06080626 58%,#06080600 72%),linear-gradient(180deg,#06080626 0%,#06080600 42%,#070807d9 100%)}
.hero-devon .hero-content{justify-self:end;max-width:min(660px,100%);padding:0 var(--gutter) clamp(110px,15vh,170px)}
.hero-devon h1{max-width:none;font-size:clamp(44px,5vw,84px)}
.hero-devon .hero-proof{flex-wrap:wrap;gap:6px 0}
.hero-devon .hero-proof span+span::before{content:"·";margin:0 12px;color:var(--paper-dim)}
.hero-devon .hero-bottom{justify-content:flex-end;gap:32px}
.hero-devon .hero-bottom>span{margin-right:auto}
.start-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 26px}
.start-card .card-description{margin-top:10px}
.start-links{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:14px}
.start-links .film-watch{display:inline-flex;align-items:center;min-height:44px}
.lut-section-coast{position:relative;isolation:isolate;background:#0b0e0a}
.lut-section-coast::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#07080766 0%,#07080780 38%,#070807c7 55%,#070807e6 100%),url("assets/oregon-coast-1600.webp") center/cover no-repeat}
@media(min-width:1700px){.lut-section-coast::before{background-image:linear-gradient(90deg,#07080766 0%,#07080780 38%,#070807c7 55%,#070807e6 100%),url("assets/oregon-coast-2560.webp")}}
.devon-section{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,104px);align-items:center;max-width:1750px;margin-inline:auto;padding:var(--section-y,clamp(84px,10vw,140px)) var(--gutter)}
.devon-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:18px}
.devon-copy h2{margin:0 0 26px}
.devon-copy p{font-size:17px;line-height:1.72;color:var(--paper-dim);max-width:62ch;margin:0 0 18px}
.devon-copy .devon-lead{font-size:clamp(19px,1.55vw,22px);line-height:1.6;color:var(--paper)}
.devon-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 26px;margin-top:32px}
.devon-actions .text-link{display:inline-flex;align-items:center;min-height:44px}
.place-list{border-top:1px solid var(--line)}
.place-row{display:grid;grid-template-columns:minmax(200px,1.1fr) minmax(0,2fr) auto;gap:10px 32px;align-items:baseline;padding:26px 0;border-bottom:1px solid var(--line)}
.place-row h3{margin:0;font-size:clamp(26px,3vw,42px);font-weight:520;letter-spacing:-.03em;line-height:1.1}
.place-row p{margin:0;color:var(--muted);font-size:15px;line-height:1.6}
.place-row p a{display:inline-block;padding:10px 0;color:#e2e5dc;text-decoration:underline;text-decoration-color:#ffffff40;text-underline-offset:4px}
.place-row p a:hover{text-decoration-color:currentColor}
.place-count{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);white-space:nowrap}
.place-count a{display:inline-block;padding:10px 0;color:inherit}
.work-band{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px 48px;border-top:1px solid var(--line)}
.work-copy{flex:1 1 560px;min-width:0}
.work-copy h2{margin:0 0 18px}
.work-copy h2 em{font-family:var(--serif);font-style:italic;font-weight:400}
.work-copy p{margin:0;max-width:56ch;color:var(--paper-dim);font-size:17px;line-height:1.65}
.work-actions{display:flex;flex-wrap:wrap;gap:12px}
/* Comfortable tap targets for small text links, site-wide. */
.breadcrumbs a,.footer-bottom a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:1100px){.start-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.devon-section{grid-template-columns:1fr}.devon-photo{max-width:520px}.place-row{grid-template-columns:1fr;gap:6px}}
@media(max-width:760px){
  .hero-devon{place-items:end start}
  .hero-devon .hero-image{object-position:50% 50%} /* phones get their own portrait crop (hero-devon-m-*) */
  .hero-devon .hero-shade{background:linear-gradient(180deg,#06080640 0%,#0608061a 30%,#060806b3 62%,#070807f7 100%)}
  .hero-devon .hero-content{justify-self:stretch;max-width:none;padding:220px 22px 64px}
  .hero-devon h1{max-width:none}
  .start-grid{grid-template-columns:1fr}
  .lut-section-coast::before{background:linear-gradient(180deg,#070807cc 0%,#070807e6 100%),url("assets/oregon-coast-900.webp") center/cover no-repeat}
}

/* ===== Release 18.2: calmer homepage rhythm, mood cards, Places map ===== */
.home{--section-y:clamp(56px,6vw,84px)}
.home .devon-section{padding-top:clamp(72px,7vw,104px);padding-bottom:clamp(16px,2vw,32px)}
.home .devon-lead{margin-bottom:0}
.mood-section h2 em,.places-map-section h2 em{font-family:var(--serif);font-style:italic;font-weight:400;color:#e7ead9}
.mood-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:18px}
.mood-card{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;min-height:540px;padding:30px;border-radius:18px;overflow:hidden;color:var(--paper);text-decoration:none;background:#151a13}
.mood-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:filter .6s var(--ease)}
.mood-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#07080700 28%,#0708078c 58%,#070807f2 100%)}
.mood-card:hover>img{filter:brightness(1.08) saturate(1.05)}
.mood-label{align-self:flex-start;padding:8px 14px;border-radius:999px;background:#f3f1ea24;backdrop-filter:blur(8px);font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px}
.mood-card-gold .mood-label{background:#c9a86ae6;color:#070807;font-weight:650}
.mood-card h3{font-size:clamp(28px,2.6vw,38px);line-height:1.04;letter-spacing:-.035em;font-weight:540;margin:0 0 10px}
.mood-hook{font-family:var(--serif);font-style:italic;font-size:21px;color:#e7ead9;margin:0 0 12px}
.mood-places{font-size:13.5px;line-height:1.6;color:#c9ccc0;margin:0}
.mood-start{align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;margin-top:20px;padding:0 18px;border-radius:999px;background:var(--paper);color:var(--ink);font-size:13.5px;font-weight:600;transition:transform .3s var(--ease)}
.mood-card:hover .mood-start{transform:translateX(3px)}
.mood-go{position:absolute;top:20px;right:20px;width:44px;height:44px;border-radius:50%;border:1px solid #f3f1ea59;display:grid;place-items:center;background:#07080740;backdrop-filter:blur(6px)}
.films-compact .film-rail{grid-auto-columns:calc((100% - 3*20px)/4);gap:20px}
.films-compact .film-title{font-size:17px;line-height:1.3}
.films-compact .film-meta{font-size:9px}
/* Places map */
.places-map-section{padding-top:8px}
.map-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.map-head h2{margin:0}
.map-views{display:flex;gap:8px;flex-wrap:wrap}
.map-views button{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--line-strong);background:transparent;color:var(--paper);font:inherit;font-size:14px;cursor:pointer}
.map-views button[aria-pressed=true]{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.map-shell{display:grid;grid-template-columns:minmax(0,1fr) 340px;height:580px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#0b0c0a}
.map-canvas{height:100%;background:#0d0f0c}
.map-canvas .leaflet-tile{width:256.5px!important;height:256.5px!important}
.map-canvas .leaflet-tile-pane{filter:brightness(.62) sepia(.35) hue-rotate(40deg) saturate(.9) contrast(1.1)}
.map-canvas .leaflet-control-attribution{background:#070807b3;color:#8d9286;font-size:10px}
.map-canvas .leaflet-control-attribution a{color:#b9beb0}
.map-canvas .leaflet-bar a{background:#0b0c0a;color:var(--paper);border-color:#2a2f26}
.map-list{list-style:none;margin:0;padding:8px 0;overflow:auto;border-left:1px solid var(--line)}
.map-item{display:flex;align-items:center;gap:14px;padding:11px 20px;color:var(--paper);text-decoration:none;min-height:44px}
.map-item:hover,.map-item:focus-visible{background:#151812}
.map-item img{width:72px;height:44px;flex:none;border-radius:6px;object-fit:cover;background:#1b1f17}
.map-item b{display:block;font-weight:560;font-size:15px}
.map-item small{color:var(--muted);font-size:12.5px}
.map-foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:14px 0 0;color:var(--muted);font-size:13px}
.map-pin{display:block;width:18px;height:18px;border-radius:50%;background:#e7ead9;border:3px solid #070807;box-shadow:0 0 0 1px #e7ead9,0 0 0 8px #e7ead924}
.map-pin-guide{background:#c9a86a;box-shadow:0 0 0 1px #c9a86a,0 0 0 8px #c9a86a33}
.map-popup .leaflet-popup-content-wrapper{background:#0b0c0a;color:var(--paper);border-radius:14px;padding:0;overflow:hidden;border:1px solid #2a2f26}
.map-popup .leaflet-popup-tip{background:#0b0c0a}
.map-popup .leaflet-popup-content{margin:0;width:250px!important}
.map-popup a.leaflet-popup-close-button{color:var(--paper);width:32px;height:32px;font-size:20px;line-height:30px}
.map-pop img{display:block;width:100%;height:140px;object-fit:cover}
.map-pop div{padding:13px 16px 16px;display:grid;gap:4px}
.map-pop small{color:var(--accent,#aab493);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase}
.map-pop b{font-size:17px;font-weight:600}
.map-pop-go{justify-self:start;display:inline-flex;align-items:center;min-height:40px;margin-top:8px;padding:0 16px;border-radius:999px;background:var(--paper);color:var(--ink)!important;font-weight:600;font-size:13px;text-decoration:none}
.no-js .map-shell{grid-template-columns:1fr;height:auto}
.no-js .map-canvas,.no-js .map-views{display:none}
.no-js .map-list{border-left:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.by-state{padding-top:24px}
.devon-about{padding-top:24px}
@media(max-width:1000px){.mood-grid{grid-template-columns:1fr 1fr}.mood-card-lead{grid-column:1/-1}.films-compact .film-rail{grid-auto-columns:calc((100% - 20px)/2.3)}}
@media(max-width:900px){.map-shell{grid-template-columns:1fr;height:auto}.map-canvas{height:420px}.map-list{border-left:0;border-top:1px solid var(--line);max-height:420px}}
@media(max-width:640px){.mood-grid{grid-template-columns:1fr}.mood-card{min-height:440px;padding:24px}.films-compact .film-rail{grid-auto-columns:78%;gap:14px}.map-canvas{height:360px}.map-foot{flex-direction:column;gap:4px}}
.places-only{padding-top:clamp(28px,4vw,48px)}
.places-only .breadcrumbs{padding:0 var(--gutter);max-width:var(--max,none)}
.places-only .places-map-section{padding-top:12px}
.places-map-section h1{margin:0;font-size:clamp(42px,5.4vw,84px);line-height:1;letter-spacing:-.045em;font-weight:500}
.places-map-section h1 em{font-family:var(--serif);font-style:italic;font-weight:400;color:#e7ead9}
.map-deck{margin:14px 0 0;color:var(--muted);font-size:15px}
.places-only .map-shell{height:min(72vh,680px)}
@media(max-width:900px){.places-only .map-shell{height:auto}}
.no-js .map-shell{height:auto!important}.no-js .map-list{align-content:start}

/* ===== Release 18.3: YouTube facades, the Oregon film, chapter links ===== */
.watch-player{position:relative;overflow:hidden;border-radius:var(--frame,12px)}
.video-facade{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;background:#0b0d0a;cursor:pointer;color:var(--paper)}
.video-facade img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),filter .5s}
.video-facade::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#07080700 50%,#07080799 100%);pointer-events:none}
.video-facade:hover img,.video-facade:focus-visible img{transform:scale(1.02);filter:brightness(1.06)}
.facade-play{position:absolute;left:50%;top:50%;z-index:2;width:clamp(64px,8vw,92px);height:clamp(64px,8vw,92px);transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:50%;background:#f3f1eaeb;color:#070807;font-size:clamp(18px,2vw,26px);padding-left:4px;box-shadow:0 18px 40px -12px #000c;transition:transform .3s var(--ease)}
.video-facade:hover .facade-play,.video-facade:focus-visible .facade-play{transform:translate(-50%,-50%) scale(1.06)}
.facade-meta{position:absolute;left:18px;bottom:16px;z-index:2;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.video-facade:focus-visible{outline:2px solid var(--paper);outline-offset:-4px}
.watch-player>iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.watch-player noscript iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.chapters{margin-top:44px}
.chapter-list{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:2px 24px;border-top:1px solid var(--line)}
.chapter-link{all:unset;box-sizing:border-box;display:flex;gap:14px;align-items:baseline;width:100%;min-height:44px;padding:12px 0;border-bottom:1px solid var(--line);color:var(--paper-dim);cursor:pointer;font-size:15px}
.chapter-link span{color:var(--accent,#aab493);font-variant-numeric:tabular-nums;font-size:13px;letter-spacing:.04em;min-width:42px}
.chapter-link:hover,.chapter-link:focus-visible{color:var(--paper)}
.chapter-link:focus-visible{outline:2px solid var(--paper);outline-offset:2px}
.scenes{margin-top:44px}
.scene-list{list-style:none;margin:18px 0 0;padding:0;border-top:1px solid var(--line);max-width:760px}
.scene-list li{border-bottom:1px solid var(--line);padding-bottom:12px}
.scene-list .scene-link{border-bottom:0;padding-bottom:4px;color:var(--paper)}
.scene-list p{margin:0 0 0 56px;color:var(--paper-dim);font-size:14px;line-height:1.55}
@media(max-width:560px){.scene-list p{margin-left:0}}
.chapter-inline{width:auto;border:0;padding:8px 0 0;font-size:13px;gap:10px}
.oregon-film{display:grid;gap:26px}
.oregon-film-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 48px;align-items:end}
.oregon-film-head .eyebrow{grid-column:1/-1;margin:0}
.oregon-film-head h2{margin:0}
.oregon-film-head p:not(.eyebrow){margin:0;color:var(--paper-dim);font-size:17px;line-height:1.65;max-width:56ch}
.oregon-film-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 26px}
.oregon-film-actions .text-link{display:inline-flex;align-items:center;min-height:44px}
.offer-film{position:absolute;left:var(--gutter);bottom:78px;z-index:3;display:flex;align-items:center;gap:14px;max-width:min(360px,calc(100% - 2*var(--gutter)));padding:10px 18px 10px 10px;border-radius:14px;background:#070807cc;backdrop-filter:blur(10px);border:1px solid #f3f1ea2e;color:var(--paper);text-decoration:none;transition:background .3s}
.offer-film:hover{background:#070807f0}
.offer-film img{width:96px;height:54px;flex:none;border-radius:8px;object-fit:cover}
.offer-film b{display:block;font-size:15px;font-weight:600}
.offer-film small{display:block;color:var(--paper-dim);font-size:12.5px;margin-top:2px}
.offer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}
.offer-actions .text-link{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:760px){.oregon-film-head{grid-template-columns:1fr}.offer-film{bottom:64px}.oregon-film-actions .button{width:100%}}
.lut-image .offer-film img{position:static;inset:auto;width:96px;height:54px;flex:none;filter:none;border-radius:8px;object-fit:cover}

/* R19: discreet Studio login in the main navigation (creator only). */
.site-header nav a.nav-studio{display:inline-flex;align-items:center;gap:6px;color:var(--muted);opacity:.75}
.site-header nav a.nav-studio:hover,.site-header nav a.nav-studio:focus-visible{color:var(--paper);opacity:1}
.site-header nav a.nav-studio::after{display:none}
.site-header nav a.nav-studio svg{flex:none}

/* ---------- Release 22.6: centred header, search, carousels, gear ---------- */
.site-header--centered{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.site-header--centered>.brand{justify-self:start}
.site-header--centered>nav{justify-self:center}
.site-header--centered nav a.nav-home,.site-header--centered nav a.nav-extra{display:none}
.site-header--centered nav a:last-child{padding:12px 0;border:0;border-radius:0}
.header-tools{justify-self:end;display:flex;align-items:center;gap:16px}
.header-tools .search-open{display:inline-flex;align-items:center;gap:8px;background:none;border:1px solid var(--line-strong);border-radius:var(--radius-pill);color:var(--paper);padding:8px 13px;font:inherit;font-size:12px;letter-spacing:.04em;cursor:pointer;transition:border-color .2s,background .2s}
.header-tools .search-open:hover,.header-tools .search-open:focus-visible{border-color:var(--paper)}
.header-tools kbd{font:inherit;font-size:10px;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:1px 5px}
.header-tools a.nav-vault,.header-tools a.nav-studio{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:10px 0}
.header-tools a.nav-vault:hover,.header-tools a.nav-studio:hover,.header-tools a:focus-visible{color:var(--paper)}
@media(max-width:1100px){
  .site-header--centered{gap:16px}
  .site-header--centered nav{gap:20px}
  .header-tools{gap:12px}
  .header-tools .search-label,.header-tools kbd{display:none}
  .header-tools .search-open{padding:9px}
  .header-tools a.nav-vault span,.header-tools a.nav-studio span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .header-tools a.nav-vault,.header-tools a.nav-studio{min-width:40px;min-height:40px;justify-content:center;padding:0}
  .header-tools .search-open{min-width:40px;min-height:40px;justify-content:center}
}
@media(max-width:760px){
  .site-header--centered{display:flex;justify-content:space-between}
  .site-header--centered>nav{justify-self:stretch;width:auto}
  .site-header--centered .header-tools{order:2;margin-left:auto;margin-right:16px}
  .site-header--centered .menu-toggle{order:3}
  .site-header--centered nav a.nav-home,.site-header--centered nav a.nav-extra{display:block}
}
.no-js .header-tools .search-open{display:none}
html.search-open{overflow:hidden}
.site-search{position:fixed;inset:0;z-index:200;background:#050605cc;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;justify-content:center;align-items:flex-start;padding:12vh 16px 16px}
.site-search[hidden]{display:none}
.site-search-panel{width:min(640px,100%);background:#0e100e;border:1px solid var(--line-strong);border-radius:14px;box-shadow:0 30px 80px #000a;overflow:hidden}
.site-search-panel input{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--paper);font:inherit;font-size:18px;padding:18px 20px;outline:none}
.site-search-status,.site-search-hint{margin:0;padding:10px 20px;font-size:11px;color:var(--muted);letter-spacing:.04em}
.site-search-hint{border-top:1px solid var(--line)}
#site-search-results{list-style:none;margin:0;padding:4px 8px;max-height:52vh;overflow:auto}
#site-search-results a{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;padding:11px 12px;border-radius:9px;color:var(--paper);text-decoration:none}
#site-search-results li[aria-selected=true] a{background:#ffffff12}
.site-search-kind{grid-row:span 2;align-self:start;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 8px}
.site-search-text{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.film-rail{scroll-snap-type:x mandatory;scroll-behavior:smooth}.film-rail>*{scroll-snap-align:start}
.film-rail:focus-visible,.shorts-rail:focus-visible,.tiktok-rail:focus-visible{outline:2px solid var(--paper);outline-offset:6px}
[data-scroll]:disabled{opacity:.3;cursor:default}
@media(prefers-reduced-motion:reduce){.film-rail{scroll-behavior:auto}}
.disclosure-top{margin:0 0 22px;padding:12px 16px;border:1px solid var(--line);border-radius:10px;color:var(--paper)}
.gear-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px}
.gear-filter{background:none;border:1px solid var(--line-strong);border-radius:999px;color:var(--muted);font:inherit;font-size:12px;padding:8px 16px;cursor:pointer}
.gear-filter[aria-pressed=true]{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.gear-films{font-size:12px;color:var(--muted)}.gear-films a{color:var(--paper);text-decoration:underline;text-underline-offset:3px}
.gear-lookup{margin:48px 0 0;padding:28px;border:1px solid var(--line);border-radius:14px;display:grid;gap:10px;max-width:640px}
.gear-lookup h2{font-size:clamp(24px,3vw,34px);margin:0}.gear-lookup select{background:#0e100e;color:var(--paper);border:1px solid var(--line-strong);border-radius:10px;padding:12px;font:inherit}
.gear-lookup label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.gear-lookup-result{min-height:1.4em;color:var(--paper)}

/* ---------- Release 22.7: Adventure Atlas ---------- */
.atlas-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:22px}
.atlas-bar input,.atlas-bar select{background:#0e100e;color:var(--paper);border:1px solid var(--line-strong);border-radius:999px;padding:10px 16px;font:inherit;font-size:13px}
.atlas-views{display:inline-flex;border:1px solid var(--line-strong);border-radius:999px;overflow:hidden}
.atlas-views button{background:none;border:0;color:var(--muted);padding:10px 18px;font:inherit;font-size:12px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.atlas-views button[aria-selected=true]{background:var(--paper);color:var(--ink)}
.atlas-count{margin:0 0 0 auto;font-size:12px;color:var(--muted)}
.atlas-layout{display:grid;gap:24px;grid-template-columns:minmax(0,1fr)}
.atlas-ready[data-atlas-view=map] .atlas-layout{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
.atlas-map-wrap{position:relative}.atlas-map{height:clamp(360px,62vh,640px);border-radius:14px;border:1px solid var(--line);background:#0e100e}
.atlas-attrib{font-size:11px;color:var(--muted);margin:6px 0 0}
.atlas-list{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.atlas-ready[data-atlas-view=map] .atlas-list{grid-template-columns:1fr;max-height:clamp(360px,62vh,640px);overflow:auto;padding-right:6px}
.atlas-item article{border:1px solid var(--line);border-radius:12px;padding:18px;display:grid;gap:8px}
.atlas-item h3{margin:0;font-size:20px}.atlas-coords{font-family:var(--mono);font-size:12px;color:var(--muted);margin:0}
.atlas-links{display:flex;flex-wrap:wrap;gap:14px}
.atlas-detail{position:fixed;right:16px;top:96px;bottom:16px;width:min(380px,calc(100% - 32px));overflow:auto;background:#0e100e;border:1px solid var(--line-strong);border-radius:16px;padding:24px;z-index:70;box-shadow:0 30px 80px #000c;display:grid;gap:10px;align-content:start}
.atlas-detail[hidden]{display:none}.atlas-detail h2{font-size:28px;margin:0}
.atlas-close{position:absolute;top:12px;right:14px;background:none;border:0;color:var(--paper);font-size:26px;cursor:pointer;min-width:40px;min-height:40px}
.atlas-detail input[type=date]{background:#080908;color:var(--paper);border:1px solid var(--line-strong);border-radius:10px;padding:10px;font:inherit}
.atlas-sky{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:6px 0}.atlas-sky dt{color:var(--muted);font-size:12px}.atlas-sky dd{margin:0;font-size:13px}
@media(max-width:900px){.atlas-ready[data-atlas-view=map] .atlas-layout{grid-template-columns:1fr}.atlas-ready[data-atlas-view=map] .atlas-list{max-height:none}}
.no-js .atlas-open{display:none}
/* R22.9 — the Journal */
.journal-article{max-width:780px;margin:0 auto}
.journal-article h1{font-size:clamp(34px,5vw,58px);line-height:1.04;margin:10px 0 14px}
.journal-byline{color:var(--muted);font-size:14px;margin:0 0 28px}
.journal-byline a{color:var(--paper-dim)}
.journal-logistics{border:1px solid var(--line-strong);border-radius:14px;padding:20px 22px;margin:0 0 34px;background:#ffffff08}
.journal-logistics h2{font-size:15px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px}
.journal-logistics dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 22px;margin:0 0 12px}
.journal-logistics dt{color:var(--muted);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.journal-logistics dd{margin:2px 0 0;color:var(--paper)}
.journal-logistics p{margin:8px 0 0;font-size:14px;color:var(--paper-dim)}
.journal-body h2{font-size:clamp(24px,3vw,32px);margin:38px 0 12px}
.journal-body p{font-size:18px;line-height:1.7;color:var(--paper-dim);margin:0 0 18px}
.journal-body a{color:var(--paper);text-decoration:underline;text-underline-offset:3px}
.journal-body sup.cite{font-size:11px;margin-left:2px}
.journal-body sup.cite a{display:inline-block;min-width:18px;padding:0 3px;margin-left:2px;text-align:center;border:1px solid var(--line-strong);border-radius:6px;text-decoration:none;color:var(--muted)}
.journal-body sup.cite a:hover,.journal-body sup.cite a:focus-visible{color:var(--paper);border-color:var(--paper)}
.journal-next{display:flex;flex-wrap:wrap;gap:12px;margin:34px 0}
.journal-sources{border-top:1px solid var(--line);padding-top:22px;margin-top:22px}
.journal-sources h2{font-size:18px;margin:0 0 12px}
.journal-sources ol{margin:0;padding-left:22px;color:var(--paper-dim);font-size:14px;line-height:1.6}
.journal-sources li{margin-bottom:6px}
.journal-sources li:target{color:var(--paper)}
.journal-sources .source-kind{font-size:11px;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line-strong);border-radius:6px;padding:1px 6px}
.journal-list{display:grid;gap:2px;border-top:1px solid var(--line)}
.journal-card{padding:24px 0;border-bottom:1px solid var(--line)}
.journal-card h2{font-size:clamp(22px,3vw,30px);margin:6px 0 8px}
.journal-card p{color:var(--paper-dim);margin:0;max-width:720px}
/* R22.10 — travel assistant box */
.assistant{max-width:780px}
.assistant-note{color:var(--muted);font-size:14px;margin:0 0 14px}
.assistant-form{display:flex;gap:10px;flex-wrap:wrap}
.assistant-form input{flex:1 1 260px;min-height:46px;padding:10px 14px;border-radius:12px;border:1px solid var(--line-strong);background:transparent;color:var(--paper);font:inherit}
.assistant-form input:focus-visible{outline:2px solid var(--paper);outline-offset:2px}
.assistant-answer{margin-top:16px}
.assistant-answer p{margin:0 0 10px;color:var(--paper-dim);line-height:1.6}
.assistant-answer .assistant-error{color:#f0b6a8}
.assistant-answer .assistant-wait,.assistant-answer .assistant-meta{color:var(--muted);font-size:13px}
.assistant-sources{margin:0 0 10px;padding-left:20px}
.assistant-sources a{color:var(--paper)}
/* R22.11 — reserve the space of controls that JavaScript reveals, so nothing below them moves (no layout shift) */
html:not(.no-js) [data-library-tools][hidden]{display:grid!important;visibility:hidden}
html:not(.no-js) .atlas-bar input[hidden],html:not(.no-js) .atlas-bar select[hidden],html:not(.no-js) .atlas-open[hidden]{display:inline-block!important;visibility:hidden}
html:not(.no-js) .atlas-views[hidden]{display:inline-flex!important;visibility:hidden}
html:not(.no-js) .atlas:not([data-atlas-view=list]) #atlas-map-wrap[hidden]{display:block!important;visibility:hidden}
html:not(.no-js) .atlas:not([data-atlas-view=list]) .atlas-list{grid-template-columns:1fr}
@media(min-width:901px){html:not(.no-js) .atlas:not([data-atlas-view=list]) .atlas-layout{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}html:not(.no-js) .atlas:not([data-atlas-view=list]) .atlas-list{max-height:clamp(360px,62vh,640px);overflow:auto;padding-right:6px}}
/* R22.11: if the map cannot load, the layout stays put (no shift); the empty map area says so and the list has every place */
.map-unavailable .map-canvas{display:grid;place-items:center}
.map-unavailable .map-canvas::before{content:"The map could not load. Every place is in the list.";color:var(--muted);font-size:14px;padding:24px;text-align:center}
.map-unavailable .map-views{visibility:hidden}
.mono,.watch-runtime,.duration,.journal-sources .source-kind{font-family:var(--mono)}
html:not(.no-js) .gear-filters[hidden]:not(:empty){display:flex!important;visibility:hidden}
@media(min-width:1101px){.search-open kbd{display:inline-block;min-width:4.2em;text-align:center;white-space:nowrap}}
.header-tools a.nav-vault,.header-tools a.nav-studio{white-space:nowrap}
html:not(.no-js) .save-button[data-save][hidden]{display:block!important;visibility:hidden}
html:not(.no-js) .text-button[data-share][hidden]{display:inline-block!important;visibility:hidden}
/* R22.11 — reading progress and "On this page" (Journal stories) */
.read-progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:60;pointer-events:none}
.read-progress span{display:block;height:100%;background:var(--moss);transform-origin:0 50%;transform:scaleX(0)}
@supports (animation-timeline: scroll()){.read-progress span{animation:read-progress linear both;animation-timeline:scroll(root)}@keyframes read-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}}
@media (prefers-reduced-motion: reduce){.read-progress{display:none}}
.journal-toc{border-left:2px solid var(--line-strong);padding:4px 0 4px 18px;margin:0 0 34px}
.journal-toc h2{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-weight:400}
.journal-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.journal-toc a{color:var(--paper-dim);text-decoration:none;font-size:15px}
.journal-toc a:hover,.journal-toc a:focus-visible,.journal-toc a[aria-current]{color:var(--paper);text-decoration:underline;text-underline-offset:3px}
.journal-body h2{scroll-margin-top:96px}
