/* Self-hosted fonts (Fontsource, SIL Open Font License). Latin subset only. */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/cormorant-garamond-latin-500-normal.woff2) format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/cormorant-garamond-latin-600-normal.woff2) format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-display:swap;font-weight:500;src:url(/fonts/cormorant-garamond-latin-500-italic.woff2) format('woff2');}
@font-face{font-family:'Work Sans';font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/work-sans-latin-400-normal.woff2) format('woff2');}
@font-face{font-family:'Work Sans';font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/work-sans-latin-500-normal.woff2) format('woff2');}
@font-face{font-family:'Work Sans';font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/work-sans-latin-600-normal.woff2) format('woff2');}
/* Yosemite Gateway Chalet. Design tokens and rules are documented in docs/design.md */
:root{
  --ground:#f2f1ec;     /* granite flour */
  --paper:#fbfaf7;      /* first snow */
  --ink:#18201c;        /* lodgepole night */
  --ink-2:#4c544f;      /* weathered bark */
  --ink-3:#626963;
  --rule:#d8d8d0;
  --pine:#22352b;
  --night:#121915;
  --bronze:#8a6536;     /* aspen bronze, text-safe on ground */
  --bronze-lt:#d9b27a;  /* on dark */
  --on-dark:#f1efe8;
  --f-display:"Cormorant Garamond","Cormorant",Garamond,"Times New Roman",serif;
  --f-text:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4.5rem;--s-9:7rem;
  --gutter:clamp(20px,5vw,72px);
  --max:1320px;
  --measure:64ch;
  --ease:cubic-bezier(.2,.7,.2,1);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root{
    --ground:#111613;--paper:#171d19;--ink:#ecebe5;--ink-2:#b2b7b0;--ink-3:#8b918a;--rule:#2b332e;
    --pine:#cfdcd2;--bronze:#d2a96f;color-scheme:dark;
  }
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{overflow-x:clip;margin:0;background:var(--ground);color:var(--ink);font:400 1.0625rem/1.72 var(--f-text);
  font-feature-settings:"kern","liga";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
picture{display:block}
a{color:inherit;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-underline-offset:.22em;text-decoration-thickness:1px;transition:color .2s,text-decoration-color .2s}
a:hover{text-decoration-color:currentColor}
:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:500;line-height:1.06;letter-spacing:-.005em;margin:0;text-wrap:balance}
h1{font-size:clamp(2.6rem,1.6rem + 4.2vw,5.4rem)}
h2{font-size:clamp(2rem,1.4rem + 2.2vw,3.4rem)}
h3{font-size:clamp(1.45rem,1.2rem + .8vw,1.9rem)}
p{margin:0}
.eyebrow{font:500 .74rem/1.4 var(--f-text);letter-spacing:.22em;text-transform:uppercase;color:var(--bronze);margin:0 0 var(--s-4)}
.muted{color:var(--ink-3)}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--ink);color:var(--paper);padding:.6rem 1rem}
.skip:focus{left:8px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.85rem 1.6rem;font:500 .78rem/1 var(--f-text);
  letter-spacing:.18em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;border-radius:0;cursor:pointer;
  transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease);white-space:nowrap}
.btn-solid{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn-solid:hover{background:var(--pine);border-color:var(--pine)}
.btn-line{border-color:currentColor;color:inherit;background:transparent}
.btn-line:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn-ghost-light{border-color:rgba(255,255,255,.7);color:#fff}
.btn-ghost-light:hover{background:#fff;color:#18201c}
.hero .btn-solid,.closing .btn-solid{background:#f1efe8;color:#18201c;border-color:#f1efe8}
.hero .btn-solid:hover,.closing .btn-solid:hover{background:#fff;border-color:#fff}
.btn-row{display:flex;flex-wrap:wrap;gap:.75rem}
.link-arrow{font:500 .78rem/1 var(--f-text);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;display:inline-flex;gap:.6rem;align-items:center;padding-block:.5rem;border-bottom:1px solid currentColor}
.link-arrow::after{content:"";width:18px;height:1px;background:currentColor;transition:width .3s var(--ease)}
.link-arrow:hover::after{width:30px}

/* masthead */
.masthead{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--ground) 92%,transparent);backdrop-filter:saturate(1.2) blur(12px);
  -webkit-backdrop-filter:saturate(1.2) blur(12px);border-bottom:1px solid var(--rule);padding-top:env(safe-area-inset-top,0px);transition:background .35s,border-color .35s,color .35s}
.mast-inner{max-width:var(--max);margin:0 auto;padding:0 var(--gutter);height:76px;display:flex;align-items:center;gap:2rem}
.wordmark{display:flex;flex-direction:column;text-decoration:none;margin-right:auto;line-height:1}
.wm-name{font:500 1.42rem/1 var(--f-display);letter-spacing:.01em}
.wm-place{font:500 .62rem/1 var(--f-text);letter-spacing:.26em;text-transform:uppercase;margin-top:.42rem;opacity:.75}
.mainnav{display:flex;align-items:center;gap:2.2rem}
.mainnav ul{list-style:none;margin:0;padding:0;display:flex;gap:1.9rem}
.mainnav a:not(.btn){font:500 .74rem/1 var(--f-text);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;padding:.5rem 0;border-bottom:1px solid transparent}
.mainnav a:not(.btn):hover,.mainnav a[aria-current]{border-bottom-color:currentColor}
.nav-inquire,.menu-toggle{display:none}
.mast-inquire{display:none}
.has-hero .masthead{position:fixed;left:0;right:0;background:transparent;border-color:transparent;color:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}
.has-hero .masthead.solid{background:color-mix(in srgb,var(--ground) 94%,transparent);color:var(--ink);border-color:var(--rule);backdrop-filter:saturate(1.2) blur(12px);-webkit-backdrop-filter:saturate(1.2) blur(12px)}
.has-hero .masthead .btn-line:hover{background:#fff;color:#18201c;border-color:#fff}
.has-hero .masthead.solid .btn-line:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
@media (min-width:1101px){.nav-inquire{display:inline-flex}}
@media (max-width:1100px){
  .mast-inner{height:68px}
  .menu-toggle{display:inline-flex;align-items:center;gap:.6rem;background:none;border:0;color:inherit;font:500 .72rem/1 var(--f-text);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;padding:.6rem 0;min-height:44px}
  .mt-bars{width:22px;height:9px;border-top:1px solid currentColor;border-bottom:1px solid currentColor}
  .mast-inquire{display:inline-flex;min-height:40px;padding:.7rem 1rem}
  .mainnav{position:fixed;inset:0;z-index:-1;background:var(--night);color:var(--on-dark);flex-direction:column;justify-content:center;align-items:flex-start;
    padding:calc(96px + env(safe-area-inset-top,0px)) var(--gutter) 3rem;gap:2.5rem;opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility .35s}
  .mainnav ul{flex-direction:column;gap:.4rem}
  .mainnav a:not(.btn){font:500 clamp(2rem,1.4rem + 3vw,2.8rem)/1.25 var(--f-display);letter-spacing:0;text-transform:none;border:0}
  .mainnav .nav-inquire{display:inline-flex;color:var(--on-dark)}
  .menu-open .mainnav{opacity:1;visibility:visible}
  .menu-open .masthead{color:var(--on-dark)!important;background:transparent!important;border-color:transparent!important}
  .menu-open .mast-inquire{visibility:hidden}
  body.menu-open{overflow:hidden}
}
@media (max-width:420px){.wm-place{display:none}.mast-inquire{display:none}}

/* hero */
.hero{position:relative;min-height:min(100svh,940px);display:flex;align-items:flex-end;color:#fff;background:#1d2620;overflow:hidden}
.hero .hero-img,.hero .hero-img img{position:absolute;inset:0;width:100%;height:100%}
.hero .hero-img img{object-fit:cover;animation:settle 2.4s var(--ease) both}
@keyframes settle{from{transform:scale(1.045)}to{transform:scale(1)}}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,16,13,.55) 0%,rgba(12,16,13,0) 24%),linear-gradient(90deg,rgba(12,16,13,.45) 0%,rgba(12,16,13,0) 62%),linear-gradient(180deg,rgba(12,16,13,0) 45%,rgba(12,16,13,.7) 100%)}
.hero-copy{position:relative;z-index:1;width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter) clamp(3rem,8vh,6rem)}
.hero .eyebrow{color:#e8d2a8}
.hero h1{max-width:15ch;font-size:clamp(2.7rem,1.5rem + 5vw,6rem);line-height:1;text-shadow:0 1px 30px rgba(0,0,0,.25);margin-bottom:2.2rem}

/* intro + spec */
.intro{max-width:var(--max);margin:0 auto;padding:var(--s-9) var(--gutter) var(--s-8);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(2rem,6vw,7rem);align-items:end}
.statement{font:500 clamp(1.55rem,1.1rem + 1.5vw,2.45rem)/1.32 var(--f-display);max-width:30ch;text-wrap:pretty}
.statement.small{font-size:clamp(1.3rem,1.1rem + .8vw,1.8rem);max-width:40ch;color:var(--ink-2)}
.spec{margin:0;display:grid;gap:0;border-top:1px solid var(--rule)}
.spec div{display:flex;justify-content:space-between;gap:1rem;padding:.95rem 0;border-bottom:1px solid var(--rule)}
.spec dt{font:500 .72rem/1.6 var(--f-text);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3)}
.spec dd{margin:0;text-align:right;font-size:.98rem}
@media (max-width:860px){.intro{grid-template-columns:1fr;padding-top:var(--s-8)}}

/* distance band */
.miles{border-block:1px solid var(--rule);background:var(--paper)}
.miles ul{list-style:none;margin:0 auto;padding:0 var(--gutter);max-width:var(--max);display:grid;grid-template-columns:repeat(5,1fr)}
.miles li{padding:2.2rem 1.2rem 2rem;border-left:1px solid var(--rule);display:flex;flex-direction:column;gap:.5rem}
.miles li:first-child{border-left:0;padding-left:0}
.m-val{font:500 clamp(2.6rem,2rem + 1.6vw,3.6rem)/1 var(--f-display);font-variant-numeric:lining-nums tabular-nums}
.m-unit{font:500 .72rem/1 var(--f-text);letter-spacing:.18em;text-transform:uppercase;margin-left:.45rem;color:var(--ink-3)}
.m-label{font-size:.88rem;color:var(--ink-2)}
@media (max-width:860px){.miles ul{grid-template-columns:repeat(2,1fr)}.miles li{border-left:0;border-top:1px solid var(--rule);padding-left:0}.miles li:nth-child(-n+2){border-top:0}.miles li:nth-child(even){padding-left:1.2rem;border-left:1px solid var(--rule)}.miles li:last-child{grid-column:1/-1;border-left:0;padding-left:0}}

/* feature split */
.feature{max-width:var(--max);margin:0 auto;padding:var(--s-9) var(--gutter);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,6vw,6.5rem);align-items:center}
.feature.reverse .feature-media{order:2}
.feature-media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.feature-copy h2{margin-bottom:1.6rem}
.feature-copy p{color:var(--ink-2);max-width:46ch}
.feature-copy p+p{margin-top:1.6rem}
@media (max-width:860px){.feature{grid-template-columns:1fr;padding-block:var(--s-8)}.feature.reverse .feature-media{order:0}}

/* section heads */
.sec-head{max-width:var(--max);margin:0 auto;padding:0 var(--gutter) var(--s-7)}
.sec-head h2{max-width:20ch}

/* suites */
.suites{padding:var(--s-8) 0 var(--s-9);background:var(--paper);border-block:1px solid var(--rule)}
.suite-grid{max-width:var(--max);margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2.5vw,2.5rem)}
.suite{text-decoration:none;display:flex;flex-direction:column;gap:.6rem}
.suite picture{overflow:hidden;margin-bottom:.9rem}
.suite img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform 1.1s var(--ease)}
.suite:hover img{transform:scale(1.035)}
.suite-name{font:500 1.75rem/1.1 var(--f-display)}
.suite-spec{font-size:.92rem;color:var(--ink-2)}
@media (max-width:860px){.suite-grid{grid-template-columns:1fr}.suite img{aspect-ratio:3/2}}

/* full-bleed band */
.band-image{position:relative;color:#fff;min-height:min(78vh,760px);display:flex;align-items:flex-end;background:#2b2a1f;overflow:hidden}
.band-image .band-img,.band-image .band-img img{position:absolute;inset:0;width:100%;height:100%}
.band-image .band-img img{object-fit:cover}
.band-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,12,10,0) 40%,rgba(10,12,10,.65) 100%)}
.band-copy{position:relative;z-index:1;width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter) var(--s-8)}
.band-copy .eyebrow{color:#e8d2a8}
.band-copy h2{max-width:16ch}
.seasons{max-width:var(--max);margin:0 auto;padding:var(--s-8) var(--gutter) var(--s-9);display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.5rem,3vw,3rem)}
.season{border-top:1px solid var(--ink);padding-top:1.4rem;display:flex;flex-direction:column;gap:1rem;align-items:flex-start}
.season p{color:var(--ink-2);font-size:.97rem}
.season .link-arrow{margin-top:auto}
@media (max-width:980px){.seasons{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.seasons{grid-template-columns:1fr}}

/* guides list */
.guides-list{padding:var(--s-8) 0 var(--s-9);background:var(--paper);border-block:1px solid var(--rule)}
.glist{list-style:none;margin:0 auto;padding:0 var(--gutter);max-width:var(--max);border-top:1px solid var(--rule)}
.glist li{border-bottom:1px solid var(--rule)}
.glist a{display:grid;grid-template-columns:200px 1fr;gap:clamp(1.2rem,3vw,3rem);align-items:center;padding:1.4rem 0;text-decoration:none}
.gl-img{overflow:hidden}
.gl-img img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform 1s var(--ease)}
.glist a:hover img{transform:scale(1.05)}
.gl-text{display:flex;flex-direction:column;gap:.45rem}
.gl-title{font:500 clamp(1.5rem,1.2rem + 1vw,2.1rem)/1.1 var(--f-display)}
.gl-desc{color:var(--ink-2);font-size:.97rem;max-width:62ch}
@media (max-width:640px){.glist a{grid-template-columns:110px 1fr}}

.press{max-width:var(--max);margin:0 auto;padding:var(--s-8) var(--gutter)}

/* interior pages */
.page-hero{position:relative;min-height:clamp(440px,64vh,640px);display:flex;align-items:flex-end;color:#fff;background:#1d2620;overflow:hidden}
.page-hero.tall{min-height:clamp(480px,76vh,780px)}
.page-hero.xtall{min-height:clamp(520px,92vh,900px)}
.page-hero .ph-img,.page-hero .ph-img img{position:absolute;inset:0;width:100%;height:100%}
.page-hero .ph-img img{object-fit:cover}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,16,13,.45) 0%,rgba(12,16,13,0) 25%,rgba(12,16,13,0) 45%,rgba(12,16,13,.74) 100%)}
.ph-copy{position:relative;z-index:1;width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter) clamp(2.5rem,6vh,4.5rem)}
.ph-copy .eyebrow{color:#e8d2a8}
.ph-copy h1{max-width:18ch}
.crumbs{font:500 .7rem/1 var(--f-text);letter-spacing:.18em;text-transform:uppercase;display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.6rem;opacity:.85}
.crumbs a{text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.page-head{max-width:var(--max);margin:0 auto;padding:var(--s-8) var(--gutter) var(--s-6)}
.page-head h1{max-width:18ch}
.page-head.narrow{max-width:900px}
.page-body{max-width:900px;margin:0 auto;padding:var(--s-8) var(--gutter) var(--s-9)}
.page-body.wide{max-width:var(--max)}
.lead{font:500 clamp(1.4rem,1.15rem + 1vw,2rem)/1.36 var(--f-display);color:var(--ink);max-width:36ch;margin-bottom:var(--s-7)}

.prose{max-width:var(--measure)}
.page-body.wide .prose{max-width:none}
.prose>*+*{margin-top:1.15rem}
.prose h2{margin-top:4.2rem;margin-bottom:.4rem}
.prose h3{margin-top:2.6rem;margin-bottom:.2rem}
.prose h2+*{margin-top:1rem}
.prose p,.prose li{color:var(--ink-2)}
.prose strong{color:var(--ink);font-weight:600}
.prose ul,.prose ol{padding-left:1.15rem}
.prose li+li{margin-top:.5rem}
.prose li::marker{color:var(--bronze)}
.prose a{color:var(--ink)}
.prose a.btn{text-decoration:none}
.prose a.btn-solid,.prose a.btn-solid:hover{color:var(--paper)}
.prose blockquote{margin:2.4rem 0;padding:0 0 0 1.6rem;border-left:1px solid var(--bronze);font:500 1.55rem/1.4 var(--f-display);color:var(--ink)}
.prose::after{content:"";display:block;clear:both}
.prose h2{clear:both}
.fig{margin:clamp(2.6rem,5vw,4rem) 0}
.fig img{width:100%}
.fig figcaption{font-size:.84rem;color:var(--ink-3);padding-top:.75rem;max-width:60ch}
@media (min-width:1100px){.page-body:not(.wide) .fig-wide,.page-body:not(.wide) .trail-card{width:min(100vw - 2 * var(--gutter),1180px);max-width:none;margin-left:calc((min(100vw,900px) - min(100vw - 2 * var(--gutter),1180px)) / 2 - var(--gutter))}}
.fig-portrait{max-width:720px;margin-inline:auto}
@media (min-width:900px){.page-body:not(.wide) .fig-portrait{width:min(100vw - 2 * var(--gutter),720px);max-width:none;margin-left:calc((min(100vw,900px) - min(100vw - 2 * var(--gutter),720px)) / 2 - var(--gutter))}}
.fig-portrait img{max-height:92vh;object-fit:cover}
.fig-portrait figcaption{text-align:center;margin-inline:auto}
.fig-full{width:100vw;max-width:none;margin-left:calc((min(100vw,900px) - 100vw) / 2 - var(--gutter));margin-right:0}
.fig-full figcaption{padding-inline:var(--gutter)}
@media (max-width:760px){.fig-right,.fig-left{float:none;width:100%;margin:2rem 0}.fig-wide{margin-inline:0}}
.note{border-top:1px solid var(--bronze);border-bottom:1px solid var(--rule);padding:1.1rem 0;margin:2.4rem 0;clear:both}
.note p{color:var(--ink);font-size:.95rem}
.facts{margin:2rem 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2.5rem;border-top:1px solid var(--rule)}
.facts div{padding:.85rem 0;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;gap:1rem}
.facts dt{font:500 .72rem/1.7 var(--f-text);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}
.facts dd{margin:0;text-align:right;color:var(--ink)}
@media (max-width:640px){.facts{grid-template-columns:1fr}}

.table-wrap{overflow-x:auto;margin:2.4rem 0;clear:both}
table.data{width:100%;border-collapse:collapse;font-size:.95rem;font-variant-numeric:tabular-nums}
table.data caption{text-align:left;font:500 .72rem/1.6 var(--f-text);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);padding-bottom:.8rem}
table.data th,table.data td{text-align:left;padding:.85rem 1rem .85rem 0;border-bottom:1px solid var(--rule);vertical-align:top}
table.data thead th{font:500 .7rem/1.4 var(--f-text);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);border-bottom-color:var(--ink)}
table.data tbody th{font-weight:500;color:var(--ink)}
table.data td{color:var(--ink-2)}
table.data td.num{white-space:nowrap;color:var(--ink);font-weight:500}



.faq{margin-top:var(--s-8);border-top:1px solid var(--ink);max-width:var(--measure)}
.faq h2{font-size:clamp(1.8rem,1.4rem + 1.4vw,2.6rem);margin:2rem 0 1rem}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;list-style:none;padding:1.25rem 2.5rem 1.25rem 0;position:relative;font:500 1.32rem/1.3 var(--f-display)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:.2rem;top:50%;width:12px;height:12px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-70%) rotate(45deg);transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq details div{padding:0 0 1.4rem;color:var(--ink-2)}
.faq details div p+p{margin-top:.8rem}

.related{border-top:1px solid var(--rule);background:var(--paper);padding:var(--s-8) 0 var(--s-9)}
.related>h2{max-width:var(--max);margin:0 auto 2rem;padding:0 var(--gutter)}
.rel-grid{max-width:var(--max);margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2.5vw,2.5rem)}
.rel-card{text-decoration:none;display:flex;flex-direction:column;gap:.5rem}
.rel-card picture{overflow:hidden;margin-bottom:.7rem}
.rel-card img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform 1s var(--ease)}
.rel-card:hover img{transform:scale(1.04)}
.rel-kicker{font:500 .7rem/1 var(--f-text);letter-spacing:.2em;text-transform:uppercase;color:var(--bronze)}
.rel-title{font:500 1.6rem/1.15 var(--f-display)}
@media (max-width:860px){.rel-grid{grid-template-columns:1fr}}

/* guides */
.guide-wrap{max-width:var(--max);margin:0 auto;padding:var(--s-8) var(--gutter) var(--s-9);display:grid;grid-template-columns:280px minmax(0,1fr);gap:clamp(2rem,6vw,6rem)}
.guide-side{position:sticky;top:110px;align-self:start;display:flex;flex-direction:column;gap:2.4rem}
.glance dl{margin:0;border-top:1px solid var(--rule)}
.glance div{padding:.7rem 0;border-bottom:1px solid var(--rule)}
.glance dt{font:500 .68rem/1.5 var(--f-text);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}
.glance dd{margin:.15rem 0 0;font-size:.95rem}
.toc ol{list-style:none;margin:0;padding:0;counter-reset:t}
.toc li{counter-increment:t;font-size:.92rem;padding:.35rem 0}
.toc a{text-decoration:none;color:var(--ink-2)}
.toc a:hover{color:var(--ink)}
.answer{font:500 clamp(1.45rem,1.15rem + 1.1vw,2.05rem)/1.36 var(--f-display);max-width:36ch;margin-bottom:1.4rem}
.byline{font-size:.82rem;color:var(--ink-3);margin-bottom:var(--s-7);padding-bottom:1.4rem;border-bottom:1px solid var(--rule);max-width:var(--measure)}
.stay-box{margin:var(--s-8) 0 0;padding:2.4rem;background:var(--night);color:var(--on-dark);max-width:var(--measure)}
.stay-box .eyebrow{color:var(--bronze-lt)}
.stay-h{font:500 1.9rem/1.15 var(--f-display);margin-bottom:1rem}
.stay-box p{color:#c9cdc6}
.stay-box .btn-row{margin-top:1.6rem}
.stay-box .btn-solid{background:#f1efe8;color:#18201c;border-color:#f1efe8}
.stay-box .btn-line{color:#f1efe8}
.stay-box .btn-line:hover{background:#f1efe8;color:#18201c;border-color:#f1efe8}
.sources{margin-top:var(--s-7);max-width:var(--measure);font-size:.9rem}
.sources h2{font-size:1.6rem;margin-bottom:.8rem}
.sources ul{padding-left:1.1rem;margin:.8rem 0 0}
.sources li{color:var(--ink-2);margin:.35rem 0}
@media (max-width:980px){.guide-wrap{grid-template-columns:1fr}.guide-side{position:static;order:2}.glance{order:-1}}
@media (max-width:980px){.guide-main{order:1}}

/* forms */
.inquiry{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 1.6rem;margin-top:2rem}
.inquiry .full{grid-column:1/-1}
.inquiry label{display:block;font:500 .72rem/1.4 var(--f-text);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);margin-bottom:.5rem}
.inquiry input,.inquiry select,.inquiry textarea{width:100%;font:400 1rem/1.5 var(--f-text);color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--ink-3);border-radius:0;padding:.7rem 0;min-height:48px;transition:border-color .2s}
.inquiry select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 7px) 55%;background-size:5px 5px;background-repeat:no-repeat}
.inquiry textarea{min-height:150px;resize:vertical;border:1px solid var(--ink-3);padding:.9rem}
.inquiry input:focus,.inquiry select:focus,.inquiry textarea:focus{outline:none;border-color:var(--bronze)}
.inquiry .hint{font-size:.82rem;color:var(--ink-3);margin-top:.4rem}
.inquiry .err{font-size:.85rem;color:#a33a2a;margin-top:.4rem}
.inquiry .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width:640px){.inquiry{grid-template-columns:1fr}}

/* closing */
.closing{position:relative;color:#fff;min-height:420px;display:flex;align-items:center;background:var(--pine) radial-gradient(120% 140% at 85% 10%,#2d4537 0%,#22352b 45%,#18241d 100%);overflow:hidden}
.closing .closing-img,.closing .closing-img img{position:absolute;inset:0;width:100%;height:100%}
.closing .closing-img img{object-fit:cover}

.closing-inner{position:relative;z-index:1;width:100%;max-width:var(--max);margin:0 auto;padding:var(--s-8) var(--gutter)}
.closing .eyebrow{color:#e8d2a8}
.closing h2{max-width:14ch;margin-bottom:1.2rem}
.closing p{max-width:40ch;color:#e7e7df;margin-bottom:2rem}

/* footer */
.site-foot{background:var(--night);color:#c8ccc5;padding:var(--s-8) 0 0;font-size:.92rem}
.foot-grid{max-width:var(--max);margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:1.4fr 1fr 1.3fr 1fr;gap:clamp(1.5rem,4vw,4rem)}
.foot-grid ul{list-style:none;margin:0;padding:0}
.foot-grid li{margin:.45rem 0}
.foot-grid a{color:#e9e9e2;text-decoration:none}
.foot-grid a:hover{text-decoration:underline}
.foot-brand p+p{margin-top:1rem}
.foot-brand .btn-line{color:#f1efe8;margin-top:.4rem}
.foot-brand .btn-line:hover{background:#f1efe8;color:#18201c;border-color:#f1efe8}
.foot-name{font:500 1.6rem/1.1 var(--f-display);color:#f1efe8}
.foot-h{font:500 .7rem/1 var(--f-text);letter-spacing:.22em;text-transform:uppercase;color:#d9b27a;margin-bottom:1rem}
.site-foot .muted{color:#8f958e}
.foot-small{max-width:var(--max);margin:var(--s-7) auto 0;padding:1.6rem var(--gutter) calc(1.6rem + env(safe-area-inset-bottom,0px));border-top:1px solid #29322c;font-size:.8rem;color:#8f958e}
.foot-small a{color:#c8ccc5}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}

/* mobile inquiry bar */
.mobile-bar{display:none}
@media (max-width:760px){
  .mobile-bar{display:grid;grid-template-columns:2fr 1fr;gap:.5rem;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:.6rem var(--gutter) calc(.6rem + env(safe-area-inset-bottom,0px));
    background:color-mix(in srgb,var(--ground) 94%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--rule);transform:translateY(110%);transition:transform .4s var(--ease)}
  .mobile-bar.show{transform:none}
  .mobile-bar .btn{min-height:46px;padding:.7rem}
  .site-foot{padding-bottom:70px}
  .t-inquire .mobile-bar{display:none}
}

/* lightbox */
.lightbox{border:0;padding:0;background:transparent;max-width:94vw;max-height:92vh}
.lightbox::backdrop{background:rgba(8,11,9,.92)}
.lightbox img{max-width:94vw;max-height:88vh;width:auto;height:auto}
.lb-close{position:fixed;top:calc(16px + env(safe-area-inset-top,0px));right:16px;width:48px;height:48px;border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;font-size:1.6rem;cursor:pointer}

/* scroll reveal: content is visible by default; JS adds .reveal-ready only when motion is allowed */
.reveal-ready [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.reveal-ready [data-reveal].in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.hero .hero-img img{animation:none}.reveal-ready [data-reveal]{opacity:1;transform:none}}

/* components used inside content */
.suite-grid.in-prose{padding:0;margin:2rem 0 1rem;max-width:none}
.suite-grid.in-prose .suite-name{font-size:1.45rem}
.page-body .suite-grid.in-prose{width:100%}

.exp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.2rem clamp(1rem,2.5vw,2.5rem);margin-top:3rem}
@media (max-width:860px){.exp-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.exp-grid{grid-template-columns:1fr}}
.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2rem 0}
.video{position:relative;aspect-ratio:16/9;background:#000}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media (max-width:760px){.video-grid{grid-template-columns:1fr}}
.press-grid{display:flex;gap:2rem;flex-wrap:wrap;margin:2rem 0}
.press-grid a{display:flex;flex-direction:column;gap:.7rem;text-decoration:none;font-size:.9rem;width:220px}
.press-grid img{border:1px solid var(--rule)}
.posts{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.posts li{border-bottom:1px solid var(--rule)}
.posts li+li{margin-top:0}
.posts a{display:grid;gap:.35rem;padding:1.6rem 0;text-decoration:none}
.p-date{font:500 .7rem/1 var(--f-text);letter-spacing:.2em;text-transform:uppercase;color:var(--bronze)}
.p-title{font:500 1.8rem/1.15 var(--f-display);color:var(--ink)}
.p-desc{color:var(--ink-2)}
.glist.in-page{padding:0;max-width:none}
.page-body.wide .prose>h2:first-child{margin-top:0}
.t-page .page-body.wide{padding-top:var(--s-7)}

.prose table{width:100%;border-collapse:collapse;font-size:.93rem;font-variant-numeric:tabular-nums;margin:2.2rem 0;display:block;overflow-x:auto}
.prose table th,.prose table td{text-align:left;padding:.8rem 1.1rem .8rem 0;border-bottom:1px solid var(--rule);vertical-align:top}
.prose table thead th{font:500 .68rem/1.4 var(--f-text);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--ink);white-space:nowrap}
.prose table td{color:var(--ink-2)}
.prose table td:first-child{color:var(--ink);font-weight:500}
.guide-main,.page-body,.prose{min-width:0}

/* film band: full-bleed, poster until played */
.film{position:relative;margin:0;background:#0d110f;color:#fff}
.prose .film,.film-tour{margin-top:clamp(4rem,9vw,8rem);margin-bottom:clamp(4rem,9vw,8rem)}
.prose .film,.page-body .film{width:100vw;margin-left:calc(50% - 50vw)}
.film-frame{position:relative;display:block;width:100%;aspect-ratio:21/9;min-height:340px;max-height:86vh;padding:0;border:0;background:#0d110f;color:inherit;cursor:pointer;overflow:hidden;text-align:left}
.film-frame .film-poster,.film-frame .film-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.film-frame .film-poster img{transition:transform 1.2s var(--ease),filter .6s var(--ease);filter:brightness(.62)}
.film-frame:hover .film-poster img,.film-frame:focus-visible .film-poster img{transform:scale(1.03);filter:brightness(.5)}
.film-copy{position:absolute;left:0;right:0;bottom:0;padding:clamp(1.5rem,4vw,4rem) clamp(1rem,6vw,6rem);display:flex;flex-direction:column;gap:1rem;background:linear-gradient(transparent,rgba(0,0,0,.55))}
.film .eyebrow{color:#e8d2a8;margin:0}
.film-title{font:500 clamp(2rem,1.3rem + 3vw,4.2rem)/1.04 var(--f-display);max-width:18ch;text-wrap:balance}
.film-cta{display:inline-flex;align-items:center;gap:.9rem;font:500 .78rem/1 var(--f-text);letter-spacing:.18em;text-transform:uppercase}
.film-icon{width:3.4rem;height:3.4rem;border:1px solid rgba(255,255,255,.8);border-radius:50%;position:relative;flex:none;transition:background .3s var(--ease)}
.film-icon::after{content:"";position:absolute;left:54%;top:50%;transform:translate(-50%,-50%);border-style:solid;border-width:.55rem 0 .55rem .9rem;border-color:transparent transparent transparent #fff}
.film-frame:hover .film-icon,.film-frame:focus-visible .film-icon{background:rgba(255,255,255,.18)}
.film-frame.playing{aspect-ratio:16/9;max-height:none;cursor:auto}
.film-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.film-credit{margin:0;padding:1.1rem clamp(1rem,6vw,6rem) 1.3rem;font-size:.84rem;line-height:1.5;color:#c3c7c0;background:#0d110f}
.film-tour{width:100vw;margin-left:calc(50% - 50vw)}
.film-tour .film-frame{aspect-ratio:16/9;max-height:82vh}
.film-tour .film-poster img{filter:brightness(.55)}
.film-credit a{color:inherit}
@media (max-width:760px){.film-frame{aspect-ratio:4/5;max-height:80vh}.film-frame.playing{aspect-ratio:16/9}}

/* trail card: a hike's key numbers beside its write-up */
.trail-card{margin:clamp(2.6rem,5vw,4rem) 0;background:var(--paper);border:1px solid var(--rule);display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.trail-card picture{height:100%}.trail-card img{height:100%!important;object-fit:cover}
@media (max-width:760px){.trail-card{grid-template-columns:1fr}}
.trail-card picture,.trail-card img{display:block;width:100%;height:auto}
.tc-body{padding:clamp(1.2rem,3vw,2.2rem);align-self:center}
.prose .tc-kicker{font:500 .7rem/1.4 var(--f-text);letter-spacing:.2em;text-transform:uppercase;color:var(--bronze);margin:0}
.prose .tc-title{font:500 1.7rem/1.1 var(--f-display);color:var(--ink);margin:.3rem 0 .8rem}
.trail-card dl{margin:0;display:grid;gap:.55rem}
.trail-card dl div{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--rule);padding-top:.5rem}
.trail-card dt{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.trail-card dd{margin:0;text-align:right;font-size:.92rem;color:var(--ink)}
.prose .tc-cap{font-size:.8rem;color:var(--ink-3);margin:.9rem 0 0}
@media (max-width:760px){.trail-card{float:none;width:100%;margin:1.4rem 0}}

/* slim field-guide row on the home page */
.guide-row{max-width:var(--max);margin:0 auto;padding:var(--s-7) var(--gutter);display:flex;flex-wrap:wrap;align-items:baseline;gap:1rem 2.4rem;border-bottom:1px solid var(--rule)}
.guide-row .eyebrow{margin:0}
.guide-row ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem 2rem}
.guide-row a{font:500 1.35rem/1.2 var(--f-display);color:var(--ink);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s var(--ease)}
.guide-row a:hover{border-bottom-color:var(--bronze)}

/* fall color report callout */
.color-report{margin:0 0 3rem;padding:1.8rem 2rem;background:linear-gradient(135deg,#7a3f12,#b8742a 55%,#d9a441);color:#fff8ec}
.prose .color-report p{color:#fff8ec;margin:0 0 .6rem}
.prose .color-report .cr-kicker{font:500 .72rem/1.4 var(--f-text);letter-spacing:.22em;text-transform:uppercase;opacity:.85}
.prose .color-report .cr-title{font:500 clamp(1.6rem,1.2rem + 1.2vw,2.2rem)/1.1 var(--f-display);color:#fff}
.prose .color-report a.btn-solid{margin-top:.6rem;background:#fff8ec;color:#5a2d0c;border-color:#fff8ec}
.prose .color-report a.btn-solid:hover{background:#fff;color:#3d1e08}

/* live availability calendar */
.avail{position:relative;left:50%;transform:translateX(-50%);width:min(1000px,calc(100vw - 2 * var(--gutter)));margin:0 0 var(--s-8);
  background:var(--paper);border:1px solid var(--rule);padding:clamp(1.4rem,3vw,2.6rem)}
.avail-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 2rem;margin-bottom:1.6rem}
.prose .avail-head h2{margin:0;font-size:clamp(1.9rem,1.4rem + 1.4vw,2.6rem)}
.prose .avail-help{margin:0;max-width:44ch;font-size:.92rem;color:var(--ink-3)}
.cal{position:relative}
.cal-nav{position:absolute;inset:0 0 auto 0;display:flex;justify-content:space-between;pointer-events:none;z-index:1}
.cal-arrow{pointer-events:auto;width:2.6rem;height:2.6rem;border:1px solid var(--rule);border-radius:50%;background:transparent;color:var(--ink);font-size:1.05rem;cursor:pointer;transition:background .2s var(--ease),border-color .2s var(--ease)}
.cal-arrow:hover:not(:disabled){background:var(--ink);color:var(--paper);border-color:var(--ink)}
.cal-arrow:disabled{opacity:.25;cursor:default}
.cal-months{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(1.5rem,4vw,3.5rem)}
.prose .cal-title{text-align:center;font:500 1.5rem/2.6rem var(--f-display);color:var(--ink);margin:0 0 .8rem}
.cal-title span{color:var(--ink-3)}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);row-gap:.2rem}
.cal-dow{text-align:center;font:500 .66rem/2 var(--f-text);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);padding-bottom:.3rem}
.cal-day{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:0;background:transparent;
  font:400 .98rem/1 var(--f-text);font-variant-numeric:tabular-nums;color:var(--ink);cursor:pointer;transition:background .15s var(--ease),color .15s var(--ease)}
.cal-day:hover:not(:disabled){box-shadow:inset 0 0 0 1px var(--ink)}
.cal-day:focus-visible{outline:2px solid var(--bronze);outline-offset:-2px}
.cal-day.is-today::after{content:"";position:absolute;bottom:18%;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--bronze)}
.cal-day.is-past{color:var(--ink-3);opacity:.35;cursor:default}
.cal-day.is-booked{color:var(--ink-3);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--ink-3) 70%,transparent);cursor:default;
  background:repeating-linear-gradient(135deg,transparent 0 6px,color-mix(in srgb,var(--ink) 5%,transparent) 6px 7px)}
.cal-day.is-booked:not(:disabled){cursor:pointer}
.cal-day.is-blocked:not(.is-booked){color:var(--ink-3)}
.cal-day.in-range{background:color-mix(in srgb,var(--bronze) 18%,transparent);text-decoration:none}
.cal-day.is-start,.cal-day.is-end{background:var(--ink);color:var(--paper);text-decoration:none}
.cal-day:disabled{cursor:default}
.cal-bar{margin-top:1.8rem;padding-top:1.4rem;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem}
.cal-summary{display:flex;flex-direction:column;gap:.3rem}
.cs-label{font:500 .68rem/1.4 var(--f-text);letter-spacing:.2em;text-transform:uppercase;color:var(--bronze)}
.cs-value{font:500 1.35rem/1.25 var(--f-display);color:var(--ink);white-space:pre-wrap}
.cal-actions{display:flex;align-items:center;gap:1.2rem}
.cal-clear{border:0;background:none;color:var(--ink-3);font:500 .74rem/1 var(--f-text);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;padding:.6rem 0;border-bottom:1px solid transparent}
.cal-clear:hover{color:var(--ink);border-bottom-color:currentColor}
.avail .btn-solid:disabled{opacity:.35;cursor:not-allowed}
.prose .cal-status{margin:1.2rem 0 0;font-size:.8rem;color:var(--ink-3)}
.prose .cal-status.ok::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#5f8f63;margin-right:.55rem;vertical-align:1px}
@media (max-width:760px){.cal-bar{flex-direction:column;align-items:stretch}.cal-actions{justify-content:space-between}.cal-actions .btn{flex:1}}

/* carousel: one photo at a time on a dark stage */
.carousel{clear:both;margin:2.8rem 0;background:#0e1210;color:#e9e6dc;outline:none}
.prose .carousel{position:relative;left:50%;transform:translateX(-50%);width:min(1100px,100vw)}
.car-stage{position:relative}
.car-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain}
.car-track::-webkit-scrollbar{display:none}
.car-slide{flex:0 0 100%;scroll-snap-align:center;margin:0;display:flex;flex-direction:column}
.car-slide a{display:flex;align-items:center;justify-content:center;height:clamp(300px,68vh,720px);padding:clamp(.75rem,2.5vw,2rem) clamp(.75rem,5vw,4.5rem) 0;cursor:zoom-in}
.car-slide picture{display:contents}
.car-slide img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 30px 60px -30px rgba(0,0,0,.8);background:transparent!important}
.prose .car-slide figcaption,.car-slide figcaption{margin:0;padding:1.1rem clamp(1rem,5vw,4.5rem) 1.3rem;text-align:center;font:italic 400 1.12rem/1.45 var(--f-display);color:#cfcabd;min-height:3.9rem}
.car-arrow{position:absolute;top:calc(50% - 2.4rem);width:3.2rem;height:3.2rem;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(14,18,16,.45);
  color:#fff;font-size:1.1rem;cursor:pointer;backdrop-filter:blur(4px);transition:background .2s var(--ease),opacity .2s var(--ease)}
.car-arrow:hover{background:#f1efe8;color:#18201c}
.car-arrow:disabled{opacity:0;pointer-events:none}
.car-prev{left:clamp(.5rem,1.5vw,1.25rem)}.car-next{right:clamp(.5rem,1.5vw,1.25rem)}
.prose .car-count,.car-count{position:absolute;top:1rem;right:1.2rem;margin:0;font:500 .7rem/1 var(--f-text);letter-spacing:.2em;color:rgba(233,230,220,.7)}
.car-thumbs{display:flex;gap:.5rem;justify-content:center;overflow-x:auto;padding:0 1rem 1.3rem;scrollbar-width:none}
.car-thumbs::-webkit-scrollbar{display:none}
.car-thumb{flex:0 0 auto;width:68px;height:48px;padding:0;border:0;background:#222;cursor:pointer;opacity:.4;transition:opacity .25s var(--ease),outline-color .25s;outline:1px solid transparent;outline-offset:3px}
.car-thumb{overflow:hidden}.car-thumb picture{display:block;width:100%;height:100%}.car-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.car-thumb:hover{opacity:.8}.car-thumb.is-on{opacity:1;outline-color:#d8b77e}
.carousel:focus-visible{box-shadow:0 0 0 2px var(--bronze)}
@media (max-width:760px){.car-arrow{display:none}.car-slide a{height:clamp(220px,44vh,460px)}}

.foot-social{display:inline-flex;align-items:center;gap:.55rem;color:#f1efe8;text-decoration:none;opacity:.85;transition:opacity .2s var(--ease)}
.foot-social:hover{opacity:1}

/* icons in buttons and links */
.ico{flex:none}
.btn .ico{margin-right:.6rem}
.prose a.btn-line,.prose a.btn-line:visited{color:var(--ink)}
.prose a.btn-line:hover{color:var(--paper)}
.btn-map{letter-spacing:.14em}

/* gallery: one curated carousel in chapters */
.story{position:relative;left:50%;transform:translateX(-50%);width:100vw;margin:0 0 var(--s-8);background:#121614;color:#ebe7dc;outline:none;padding-top:1.4rem}
.st-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:.4rem 2.2rem;padding:0 var(--gutter) 1.2rem}
.st-tab{border:0;background:none;padding:.35rem 0;color:rgba(235,231,220,.55);font:500 1.15rem/1.2 var(--f-display);cursor:pointer;border-bottom:1px solid transparent;transition:color .2s var(--ease),border-color .2s var(--ease)}
.st-tab:hover{color:#fff}
.st-tab.is-on{color:#fff;border-bottom-color:#d8b77e}
.story .car-track{scroll-behavior:smooth}
.st-slide{flex:0 0 100%;scroll-snap-align:center;margin:0;display:flex;flex-direction:column;align-items:center}
.st-photo{display:flex;align-items:center;justify-content:center;width:100%;height:clamp(320px,70vh,760px);padding:0 clamp(1rem,7vw,7rem);cursor:zoom-in}
.st-photo picture{display:contents}
.st-photo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;background:transparent!important;box-shadow:0 40px 80px -40px rgba(0,0,0,.9)}
.st-slide figcaption{max-width:46rem;text-align:center;padding:1.6rem var(--gutter) 1.8rem}
.prose .st-title,.st-title{margin:0 0 .45rem;font:500 clamp(1.5rem,1.2rem + 1vw,2.1rem)/1.15 var(--f-display);color:#fff}
.prose .st-note,.st-note{margin:0;font-size:1rem;line-height:1.65;color:rgba(235,231,220,.72)}
.story .car-arrow{top:calc(1.4rem + 3.2rem + clamp(320px,70vh,760px)/2 - 1.6rem)}
.story .car-count{top:auto;bottom:calc(100% - 1.4rem - 2.6rem);display:none}
.story .car-thumbs{padding:0 var(--gutter) 1.8rem;justify-content:flex-start}
@media (min-width:1000px){.story .car-thumbs{justify-content:center}}
@media (max-width:760px){.st-photo{height:clamp(240px,48vh,520px)}.st-tabs{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scrollbar-width:none}.st-tab{white-space:nowrap}}

/* experiences: large editorial tiles */
.exp-tiles{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.4rem,4vw,4rem) clamp(1.5rem,3vw,3rem);margin:3.5rem 0}
.exp-tile{text-decoration:none;color:inherit;display:flex;flex-direction:column}
.exp-tile.is-lead{grid-column:1/-1}
.exp-tile picture{display:block;overflow:hidden}
.exp-tile img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 1.4s var(--ease)}
.exp-tile.is-lead img{aspect-ratio:21/9}
.exp-tile:hover img{transform:scale(1.025)}
.et-text{display:flex;flex-direction:column;gap:.45rem;padding-top:1.2rem;max-width:40rem}
.et-season{font-size:.82rem;color:var(--bronze)}
.et-title{font:500 clamp(1.7rem,1.3rem + 1.2vw,2.4rem)/1.1 var(--f-display);color:var(--ink)}
.exp-tile.is-lead .et-title{font-size:clamp(2.1rem,1.5rem + 2vw,3.2rem)}
.et-desc{color:var(--ink-2);font-size:1rem;line-height:1.6}
@media (max-width:760px){.exp-tiles{grid-template-columns:1fr}.exp-tile.is-lead img{aspect-ratio:4/3}}

/* guides: alternating large features */
.gfeat-list{display:flex;flex-direction:column;gap:clamp(3rem,7vw,6.5rem);margin:3rem 0 2rem}
.gfeat{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.5rem,4vw,4.5rem);align-items:center;text-decoration:none;color:inherit}
.gfeat:nth-child(even){grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.gfeat:nth-child(even) .gf-img{order:2}
.gf-img{display:block;overflow:hidden}
.gf-img img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform 1.4s var(--ease)}
.gfeat:hover .gf-img img{transform:scale(1.025)}
.gf-text{display:flex;flex-direction:column;gap:.9rem}
.gf-title{font:500 clamp(2rem,1.4rem + 2vw,3.1rem)/1.05 var(--f-display);color:var(--ink)}
.gf-desc{color:var(--ink-2);font-size:1.05rem;line-height:1.65;max-width:34rem}
.gf-more{font-size:.85rem;color:var(--ink);border-bottom:1px solid var(--bronze);align-self:flex-start;padding-bottom:.2rem}
@media (max-width:820px){.gfeat,.gfeat:nth-child(even){grid-template-columns:1fr}.gfeat:nth-child(even) .gf-img{order:0}}

/* floorplans: each level large, with its rooms alongside */
.plan-level{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.5rem,4vw,4.5rem);align-items:center;margin:0 0 clamp(3.5rem,8vw,7rem)}
.plan-img{position:relative;display:block;background:#fff;padding:clamp(.75rem,2vw,1.75rem);box-shadow:0 30px 60px -40px rgba(24,32,28,.45);cursor:zoom-in}
.plan-img img{display:block;width:100%;height:auto}
.plan-zoom{position:absolute;right:1rem;bottom:.8rem;font-size:.78rem;color:var(--ink-3)}
.prose .plan-key h2{margin:0 0 .6rem;font-size:clamp(2rem,1.5rem + 1.6vw,2.8rem)}
.prose .plan-key > p{margin:0 0 1.4rem;color:var(--ink-2)}
.plan-key dl{margin:0;display:grid;gap:0}
.plan-key dl div{padding:.85rem 0;border-top:1px solid var(--rule)}
.plan-key dt{font:500 1.2rem/1.2 var(--f-display);color:var(--ink);margin-bottom:.2rem}
.plan-key dt a{color:inherit;text-decoration-color:var(--bronze)}
.plan-key dd{margin:0;font-size:.95rem;color:var(--ink-2)}
.plan-level:nth-of-type(even) .plan-img{order:2}
@media (max-width:860px){.plan-level{grid-template-columns:1fr}.plan-level:nth-of-type(even) .plan-img{order:0}}

/* calendar: booked nights carry real color; your stay is bronze */
.cal-day.is-booked{background:#3d4a57;color:#d9dee3;text-decoration:none}
.cal-day.is-booked:not(:disabled){cursor:pointer;background:#56636f}
.cal-day.is-start,.cal-day.is-end{background:#8a6536;color:#fff}
.cal-day.in-range{background:#ead9bf;color:var(--ink)}
.cal-legend{display:flex;gap:1.4rem;margin:1rem 0 0;font-size:.82rem;color:var(--ink-3);flex-wrap:wrap}
.cal-legend span{display:inline-flex;align-items:center;gap:.5rem}
.cal-legend i{display:inline-block;width:14px;height:14px}
.cal-legend .lg-open{border:1px solid var(--rule);background:var(--paper)}
.cal-legend .lg-booked{background:#3d4a57}
.cal-legend .lg-stay{background:#8a6536}

/* keep exploring: quiet text links in place of photo cards */
.related .rel-h{font:500 clamp(1.6rem,1.3rem + 1vw,2.2rem)/1.1 var(--f-display);margin:0 auto 1.6rem}
.rel-links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(1.5rem,3vw,3rem)}
.rel-links a{display:flex;flex-direction:column;gap:.45rem;padding:1.3rem 0;border-top:1px solid var(--ink);text-decoration:none;color:inherit}
.rl-title{font:500 1.45rem/1.15 var(--f-display);color:var(--ink)}
.rl-desc{font-size:.92rem;line-height:1.55;color:var(--ink-3)}
.rel-links a:hover .rl-title{color:var(--bronze)}
@media (max-width:760px){.rel-links{grid-template-columns:1fr}}

/* The Chalet: hotel-style layout */
.ch-intro{max-width:34ch;margin:0 auto clamp(3rem,6vw,5rem);text-align:center;font:500 clamp(1.7rem,1.2rem + 1.8vw,2.7rem)/1.35 var(--f-display);color:var(--ink);text-wrap:balance}
.ch-glance{display:grid;grid-template-columns:repeat(4,1fr);margin:0 0 clamp(4rem,9vw,8rem);border-block:1px solid var(--rule)}
.ch-glance div{padding:1.6rem 1.2rem;text-align:center}
.ch-glance div+div{border-left:1px solid var(--rule)}
.ch-glance dt{font-size:.82rem;color:var(--bronze);margin-bottom:.4rem}
.ch-glance dd{margin:0;font:500 1.3rem/1.25 var(--f-display);color:var(--ink)}
.ch-split{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,5vw,6rem);align-items:center;margin:0 0 clamp(4rem,9vw,8rem)}
.ch-split.reverse{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.ch-split.reverse .ch-media{order:2}
.ch-media picture,.ch-media img{display:block;width:100%}
.ch-media img{aspect-ratio:4/3;object-fit:cover}
.prose .ch-copy h2{margin:0 0 1.2rem;font-size:clamp(2.2rem,1.6rem + 2vw,3.3rem)}
.prose .ch-copy p{max-width:36rem}
.ch-suites{margin:0 0 clamp(4rem,9vw,8rem)}
.prose .ch-suites h2,.prose .ch-amen h2{text-align:center;margin:0 0 .8rem;font-size:clamp(2.2rem,1.6rem + 2vw,3.3rem)}
.prose .ch-sub{text-align:center;max-width:40rem;margin:0 auto 2.6rem;color:var(--ink-2)}
.ch-suite-row{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2.5vw,2.5rem)}
.ch-suite{display:flex;flex-direction:column;text-decoration:none;color:inherit}
.ch-suite picture{display:block;overflow:hidden}
.ch-suite img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform 1.4s var(--ease)}
.ch-suite:hover img{transform:scale(1.025)}
.cs-name{font:500 1.7rem/1.1 var(--f-display);color:var(--ink);margin-top:1.1rem}
.cs-line{margin-top:.4rem;font-size:.95rem;color:var(--ink-2)}
.prose .ch-more{text-align:center;margin:2.4rem 0 0}
.ch-amen{max-width:960px;margin:0 auto clamp(4rem,9vw,7rem);padding-top:clamp(3rem,6vw,5rem);border-top:1px solid var(--rule)}
.ch-amen-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(2rem,6vw,5rem);margin-top:2rem}
.prose .ch-amen h3{font:500 1.35rem/1.2 var(--f-display);margin:1.8rem 0 .5rem;color:var(--ink)}
.prose .ch-amen p{margin:0;color:var(--ink-2)}
.ch-green{max-width:44rem;margin:0 auto 3rem;text-align:center}
.prose .ch-green p{font:italic 500 1.25rem/1.55 var(--f-display);color:var(--ink-2)}
.prose .ch-cta{text-align:center;margin:0 0 2rem}
@media (max-width:860px){
  .ch-glance{grid-template-columns:1fr 1fr}.ch-glance div:nth-child(3){border-left:0}.ch-glance div:nth-child(n+3){border-top:1px solid var(--rule)}
  .ch-split,.ch-split.reverse{grid-template-columns:1fr}.ch-split.reverse .ch-media{order:0}
  .ch-suite-row{grid-template-columns:1fr}.ch-suite img{aspect-ratio:4/3}
  .ch-amen-cols{grid-template-columns:1fr}
}
.related .rel-links{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.prose .ch-copy p+p{margin-top:1rem}

/* at a glance */
.glance{margin:0 0 3rem;padding:1.6rem 1.8rem;background:var(--paper);border:1px solid var(--rule)}
.prose .glance-h{font:500 1.5rem/1.1 var(--f-display);margin:0 0 1rem}
.glance dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 2rem}
.glance dl div{padding:.7rem 0;border-top:1px solid var(--rule)}
.glance dt{font-size:.8rem;color:var(--bronze);margin-bottom:.2rem}
.glance dd{margin:0;color:var(--ink);font-size:.98rem;line-height:1.45}
@media (max-width:640px){.glance dl{grid-template-columns:1fr}}
@media (min-width:861px){.ch-glance{grid-template-columns:repeat(3,1fr)}.ch-glance div:nth-child(4){border-left:0}.ch-glance div:nth-child(n+4){border-top:1px solid var(--rule)}}
.ch-glance dd{font-size:1.15rem}

/* ---------- guest reviews ---------- */
.rv-scores{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;margin:0 0 var(--s-7);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.rv-scores>div{padding:var(--s-6) var(--s-5) var(--s-6) 0}
.rv-scores>div+div{border-left:1px solid var(--rule);padding-left:var(--s-6)}
.rv-scores dt{font:500 .95rem/1.2 var(--f-text);color:var(--ink-2);margin-bottom:.4rem}
.rv-scores dd{margin:0;color:var(--ink-2)}
.rv-big{font:500 clamp(3rem,6vw,4.4rem)/1 var(--f-display);color:var(--ink);margin-right:.35rem}
.rv-sub{font-size:.92rem;margin-top:.5rem!important}
.prose .rv-pull,.rv-pull{margin:var(--s-7) 0;padding:0;border:0}
.prose .rv-pull blockquote,.rv-pull blockquote{margin:0;padding:0;border:0}
.rv-pull p{font:italic 500 clamp(1.6rem,3vw,2.3rem)/1.32 var(--f-display);color:var(--ink);margin:0;text-wrap:pretty}
.rv-pull p::before{content:"\201C";display:block;font:500 4.5rem/.6 var(--f-display);color:var(--bronze);margin-bottom:.6rem}
.rv-pull figcaption,.rv figcaption{display:flex;flex-direction:column;gap:.15rem;margin-top:var(--s-5)}
.rv-name{font:600 .95rem/1.3 var(--f-text);color:var(--ink)}
.rv-meta{font-size:.85rem;color:var(--ink-3)}
.rv-wall{columns:2 250px;column-gap:var(--s-7);margin:var(--s-6) 0 var(--s-7)}
.rv{break-inside:avoid;margin:0 0 var(--s-6);padding:var(--s-5) 0 0;border-top:1px solid var(--rule)}
.prose .rv blockquote,.rv blockquote{margin:0;padding:0;border:0;font:inherit}
.rv p{font:500 1.28rem/1.45 var(--f-display);color:var(--ink);margin:0}
.rv-band{max-width:var(--max);margin:0 auto;padding:var(--s-8) var(--gutter);display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:var(--s-7);align-items:end}
.rv-band .rv-pull{margin:0;max-width:52rem}
.rv-band .rv-pull p{font-size:clamp(1.7rem,3.2vw,2.6rem)}
.rv-band-side{color:var(--ink-2);font-size:.95rem;line-height:1.6;border-left:1px solid var(--rule);padding-left:var(--s-5)}
.rv-band-side strong{display:block;font:500 2.6rem/1 var(--f-display);color:var(--ink);margin-bottom:.4rem}
@media (max-width:760px){.rv-band{grid-template-columns:1fr}.rv-band-side{border-left:0;padding-left:0;border-top:1px solid var(--rule);padding-top:var(--s-5)}.rv-scores>div+div{border-left:0;padding-left:0;border-top:1px solid var(--rule)}}
.prose .rv-pull p{font-size:clamp(1.4rem,2.3vw,1.8rem)}.prose .rv-pull.rv-lead p{font-size:clamp(1.6rem,3vw,2.3rem)}

/* ---------- Tioga analysis ---------- */
.tg-hero{--c-old:#2fa874;--c-new:#c27a24;--c-early:#9aa39b;--tg-ink:var(--on-dark);--tg-ink-2:rgba(241,239,232,.74);--tg-rule:rgba(241,239,232,.14);--tg-surface:#22352b;
  background:var(--tg-surface);color:var(--tg-ink);padding:calc(var(--s-8) + 40px) var(--gutter) var(--s-7)}
.tg-hero-copy{max-width:var(--max);margin:0 auto}
.tg-hero .crumbs a,.tg-hero .crumbs span{color:var(--tg-ink-2)}
.tg-hero .eyebrow{color:var(--bronze-lt)}
.tg-hero h1{font:500 clamp(2.4rem,5.4vw,4.6rem)/1.02 var(--f-display);margin:.6rem 0 1.4rem;max-width:18ch;color:var(--tg-ink);text-wrap:balance}
.tg-dek{font:400 clamp(1.05rem,1.5vw,1.22rem)/1.6 var(--f-text);color:var(--tg-ink-2);max-width:62ch;margin:0}
.tg-fig{max-width:var(--max);margin:var(--s-7) auto 0;padding:0}
.tg-fig figcaption{color:var(--tg-ink-2);font-size:.9rem;line-height:1.55;margin-top:var(--s-4);max-width:70ch}
.tg-legend{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;font-size:.9rem;color:var(--tg-ink-2);margin-bottom:var(--s-4)}
.tg-legend span{display:inline-flex;align-items:center;gap:.5rem}
.tg-key{display:inline-block;width:10px;height:10px;border-radius:50%}
.tg-key.tg-old{background:var(--c-old)}.tg-key.tg-new{background:var(--c-new)}
.tg-key.tg-line{width:18px;height:2px;border-radius:1px;background:var(--tg-ink-2)}
.tg-chart,.tg-block{position:relative;width:100%}
.tg-svg{display:block;overflow:visible;touch-action:pan-y}
.tg-grid{stroke:var(--tg-rule);stroke-width:1}
.tg-zero{stroke:var(--tg-ink-2);stroke-width:1}
.tg-avg{stroke:var(--tg-ink-2);stroke-width:1;stroke-dasharray:3 4}
.tg-fit{stroke:var(--tg-ink-2);stroke-width:2;stroke-linecap:round}
.tg-tick{font:400 12px/1 var(--f-text);fill:var(--tg-ink-2)}
.tg-axis{font:500 12.5px/1 var(--f-text);fill:var(--tg-ink-2)}
.tg-note{font:italic 500 14px/1 var(--f-display);fill:var(--tg-ink-2)}
.tg-lab{font:600 12px/1 var(--f-text);fill:var(--tg-ink)}
.tg-meanlab{font:600 12px/1 var(--f-text);fill:var(--tg-ink)}
.tg-dot{stroke:var(--tg-surface);stroke-width:2}
.tg-dot.tg-old{fill:var(--c-old)}.tg-dot.tg-new{fill:var(--c-new)}.tg-dot.tg-early{fill:var(--c-early)}
.tg-ring{fill:none;stroke:var(--tg-ink);stroke-width:1.5;pointer-events:none}
.tg-bar.tg-late{fill:var(--c-new)}.tg-bar.tg-early{fill:var(--c-old)}
.tg-mean{stroke:var(--tg-ink);stroke-width:2;stroke-linecap:round}
.tg-eramean{stroke-width:2;stroke-linecap:round;stroke:var(--tg-ink)}
.tg-tip{position:absolute;z-index:3;pointer-events:none;background:var(--paper);color:var(--ink);border:1px solid var(--rule);box-shadow:0 6px 24px rgba(0,0,0,.18);padding:.7rem .85rem;font-size:.85rem;line-height:1.45;display:flex;flex-direction:column;gap:.1rem;max-width:250px}
.tg-tip strong{font:600 1rem/1.2 var(--f-text)}
.tg-tip em{color:var(--ink-2);font-size:.8rem;margin-top:.25rem}
.tg-wrap{max-width:var(--max);margin:0 auto;padding:var(--s-7) var(--gutter) 0}
.tg-main{max-width:760px;margin:0 auto}
.tg-main .prose h2{margin-top:var(--s-7)}
.tg-block{--c-old:#0f8a5f;--c-new:#ad661c;--c-early:#8a908a;--tg-ink:var(--ink);--tg-ink-2:var(--ink-2);--tg-rule:var(--rule);--tg-surface:var(--ground);margin:var(--s-6) 0 var(--s-7)}
@media (prefers-color-scheme:dark){.tg-block{--c-old:#2fa874;--c-new:#c27a24}}
.tg-residuals,.tg-eras{padding-top:var(--s-3);border-top:1px solid var(--rule)}
.tg-pred{border:1px solid var(--rule);background:var(--paper);padding:var(--s-6)}
.tg-pred-l{display:block;font:500 1.05rem/1.4 var(--f-text);color:var(--ink);margin-bottom:var(--s-4)}
.tg-pred-l output{font:500 1.9rem/1 var(--f-display);color:var(--bronze);margin:0 .2rem}
.tg-pred input[type=range]{width:100%;accent-color:var(--bronze);height:28px;margin:0 0 var(--s-5)}
.tg-pred-out{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5) var(--s-6)}
.tg-pred-out>div{display:flex;flex-direction:column;gap:.3rem}
.tg-pred-out>div:last-child{grid-column:1/-1;border-top:1px solid var(--rule);padding-top:var(--s-4)}
.tg-pred-k{font-size:.85rem;color:var(--ink-3)}
.tg-pred-v{font:500 clamp(1.7rem,3.6vw,2.4rem)/1.05 var(--f-display);color:var(--ink)}
.tg-pred-s{font-size:.9rem;color:var(--ink-2);line-height:1.5}
.tg-table summary{cursor:pointer;font-weight:500;padding:var(--s-3) 0;color:var(--ink)}
.tg-table-scroll{overflow-x:auto}
.tg-table table{width:100%;border-collapse:collapse;font-size:.9rem;font-variant-numeric:tabular-nums}
.tg-table th,.tg-table td{text-align:left;padding:.45rem .7rem .45rem 0;border-bottom:1px solid var(--rule);white-space:nowrap}
.tg-table thead th{color:var(--ink-3);font-weight:500}
.tg-share{margin:var(--s-6) 0}
@media (max-width:640px){.tg-pred-out{grid-template-columns:1fr}.tg-pred{padding:var(--s-5)}}
@media (prefers-reduced-motion:no-preference){.tg-ring{transition:cx .12s var(--ease),cy .12s var(--ease)}}
.tg-tip[hidden]{display:none}
.tg-promo{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:var(--s-6);align-items:center;text-decoration:none;color:inherit;margin:var(--s-8) 0 0;padding-top:var(--s-7);border-top:1px solid var(--rule)}
.tg-promo img{width:100%;height:auto;display:block}
@media (max-width:760px){.tg-promo{grid-template-columns:1fr}}
.dine-links{display:flex;gap:1.2rem;margin:-.4rem 0 1rem;font:500 .74rem/1 var(--f-text);letter-spacing:.16em;text-transform:uppercase}
.prose .dine-links a{color:var(--bronze);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.2rem}
.prose .dine-links a:hover{color:var(--ink)}

/* home: the tub under Carson Peak, full width */
.feature.feature-big{grid-template-columns:1fr;max-width:none;padding-inline:0;gap:0}
.feature-big .feature-media img{aspect-ratio:21/9;max-height:84vh;min-height:360px}
.feature-big .feature-copy{max-width:760px;margin:0 auto;padding:clamp(2rem,5vw,3.5rem) var(--gutter) 0}
@media (max-width:860px){.feature-big .feature-media img{aspect-ratio:4/3;min-height:0}}
/* home and chalet: photos lead */
.feature{grid-template-columns:minmax(0,8fr) minmax(0,4fr)}
.feature.reverse:not(.feature-big){grid-template-columns:minmax(0,4fr) minmax(0,8fr)}
.ch-split{grid-template-columns:minmax(0,8fr) minmax(0,4fr)}
.ch-split.reverse{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}
@media (max-width:860px){.feature,.feature.reverse:not(.feature-big),.ch-split,.ch-split.reverse{grid-template-columns:1fr}}
/* plan your trip */
.plan-group{margin:0 0 var(--s-7)}
.plan-group h2{font:500 clamp(1.6rem,2.6vw,2.1rem)/1.15 var(--f-display);margin:0 0 var(--s-4)}
.rel-links.plan-links{margin:0;max-width:none}

.prose>.film:last-child{margin-bottom:0}
.page-body:has(>.prose>.film:last-child){padding-bottom:0}
.page-body:has(>.prose>.film:last-child)+*{margin-top:0}
.fig-wide img{max-height:88vh;object-fit:cover}

/* ---------- fly fishing ---------- */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ff-head{background:var(--pine) radial-gradient(120% 140% at 85% 0%,#2d4537 0%,#22352b 50%,#18241d 100%);color:var(--on-dark);padding:calc(var(--s-8) + 60px) var(--gutter) var(--s-7)}
.ff-head-in{max-width:var(--max);margin:0 auto}
.ff-head .crumbs a,.ff-head .crumbs span{color:rgba(241,239,232,.72)}
.ff-head .eyebrow{color:var(--bronze-lt)}
.ff-head h1{font:500 clamp(2.4rem,5.2vw,4.4rem)/1.03 var(--f-display);margin:.6rem 0 0;max-width:20ch;color:var(--on-dark);text-wrap:balance}
/* tables */
.prose table{width:100%;border-collapse:collapse;margin:var(--s-5) 0 var(--s-7);font-size:.92rem;font-variant-numeric:tabular-nums}
.prose table th,.prose table td{text-align:left;vertical-align:top;padding:.7rem .9rem .7rem 0;border-bottom:1px solid var(--rule);line-height:1.45}
.prose table thead th{font:500 .74rem/1.3 var(--f-text);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--ink-3)}
.prose table tbody th,.prose table td:first-child{color:var(--ink)}
.prose table a{color:var(--ink)}
@media (max-width:760px){.prose table{display:block;overflow-x:auto;white-space:normal}.prose .ff-table td,.prose .ff-table th{min-width:9rem}}
.ff-facts{margin-bottom:var(--s-6)}
/* hatch calendar */
.ff-cal{margin:var(--s-5) 0 var(--s-7)}
.ff-cal-scroll{overflow-x:auto}
.ff-cal table{border-collapse:separate;border-spacing:3px;width:100%;min-width:520px;font-size:.78rem;table-layout:fixed}
.ff-cal thead th:first-child{width:9.5rem}
.ff-cal th{font-weight:500;color:var(--ink-3);text-align:center;padding:0 0 .3rem}
.ff-cal tbody th{text-align:left;padding-right:.8rem;width:9.5rem;color:var(--ink);font-size:.84rem;line-height:1.25}
.ff-cal tbody th a{color:inherit;text-decoration:none;border-bottom:1px solid var(--rule)}
.ffc{height:26px;border-radius:3px;background:var(--rule)}
i.ffc{display:inline-block;width:14px;height:14px;vertical-align:-2px;margin-right:.4rem}
.ffc-0{background:repeating-linear-gradient(135deg,transparent 0 3px,var(--rule) 3px 4px);box-shadow:inset 0 0 0 1px var(--rule)}
.ffc-1{background:#e6d6bb}.ffc-2{background:#c39557}.ffc-3{background:#8a6536}
@media (prefers-color-scheme:dark){.ffc-1{background:#5a4a33}.ffc-2{background:#a07a45}.ffc-3{background:#d9b27a}}
.ff-cal figcaption,.ff-drive figcaption{font-size:.82rem;color:var(--ink-3);margin-top:.8rem;line-height:1.5}
.ff-key{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin-bottom:.5rem;color:var(--ink-2)}
/* drive times */
.ff-drive{margin:var(--s-5) 0 var(--s-7)}
.ff-drive ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.ff-drive li{display:grid;grid-template-columns:minmax(9rem,13rem) 1fr 4.5rem;align-items:center;gap:.8rem;font-size:.9rem}
.prose .ff-drive a{color:var(--ink);text-decoration:none}
.ffd-bar{height:10px;border-radius:0 3px 3px 0;background:var(--bronze);width:calc(var(--v) * 100%)}
.ffd-n{font-variant-numeric:tabular-nums;color:var(--ink-2);text-align:right}
@media (max-width:560px){.ff-drive li{grid-template-columns:8rem 1fr 3.6rem;font-size:.84rem}}
/* the tool */
.fft{background:#18241d;color:var(--on-dark);margin:var(--s-7) 0;border:1px solid #2d4537}
@media (min-width:1100px){.guide-main .fft{margin-right:calc(-1 * clamp(0px,4vw,60px))}}
.fft-head{padding:clamp(1.4rem,3vw,2.2rem) clamp(1.2rem,3vw,2.2rem) 1rem}
.fft .eyebrow{color:var(--bronze-lt);margin:0 0 .5rem}
.prose .fft h2,.fft h2{font:500 clamp(1.7rem,3vw,2.3rem)/1.1 var(--f-display);color:var(--on-dark);margin:0 0 .6rem}
.fft-head p{color:rgba(241,239,232,.74);font-size:.95rem;margin:0;max-width:56ch}
.fft-body{display:grid;grid-template-columns:1fr}
.fft-map{height:360px;background:#121915}
.fft-panel{padding:clamp(1.2rem,3vw,2rem)}
.fft-now{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin:0 0 1.2rem;padding:0 0 1rem;border-bottom:1px solid rgba(241,239,232,.14)}
.fft-now dt{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(241,239,232,.6)}
.fft-now dd{margin:.2rem 0 0;font:500 1.35rem/1.1 var(--f-display);font-variant-numeric:tabular-nums;color:var(--on-dark)}
.fft-form{display:grid;grid-template-columns:1fr 1fr auto;gap:.8rem;align-items:end}
.fft-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(241,239,232,.65)}
.fft-form select{font:400 .95rem/1.2 var(--f-text);color:var(--on-dark);background:#22352b;border:1px solid rgba(241,239,232,.25);padding:.65rem .7rem;border-radius:0;letter-spacing:0;text-transform:none}
.fft-form .btn{white-space:nowrap}
.fft-out{margin-top:1.4rem;display:grid;gap:1.2rem}
.fft-rec{border-top:1px solid rgba(241,239,232,.14);padding-top:1rem}
.prose .fft-rec p{margin:0;color:rgba(241,239,232,.82);font-size:.92rem;line-height:1.5}
.prose .fft-lead{font:italic 500 1rem/1.3 var(--f-display)!important;color:var(--bronze-lt)!important}
.prose .fft-rec h3{font:500 1.6rem/1.15 var(--f-display);margin:.2rem 0 .4rem}
.prose .fft-rec h3 a{color:var(--on-dark);text-decoration:none;border-bottom:1px solid rgba(217,178,122,.5)}
.fft-flies span,.fft-how span{display:inline-block;min-width:7.5rem;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(241,239,232,.55)}
.prose .fft-flies,.prose .fft-how{margin-top:.35rem!important}
.prose .fft-src,.prose .fft-note,.prose .fft-none{font-size:.78rem;color:rgba(241,239,232,.55);margin:1.2rem 0 0}
.prose .fft-src a{color:inherit}
.fft-tip{background:#f1efe8;color:#18201c;border:0;border-radius:0;font:500 .78rem/1.2 var(--f-text);box-shadow:0 4px 14px rgba(0,0,0,.25)}
.fft-tip::before{display:none}
.fft .leaflet-container{font-family:var(--f-text);background:#121915}
.fft .leaflet-control-attribution{background:rgba(18,25,21,.7);color:rgba(241,239,232,.6)}
.fft .leaflet-control-attribution a{color:rgba(241,239,232,.8)}
.fft-list{padding:1.2rem 1.6rem;margin:0}.fft-list a{color:var(--on-dark)}
@media (max-width:640px){.fft-form{grid-template-columns:1fr 1fr}.fft-form .btn{grid-column:1/-1}.fft-now{grid-template-columns:repeat(2,1fr)}.fft-map{height:300px}}
.ff-cal-scroll,.ff-cal td{position:relative}
.fft .btn-solid{background:#d9b27a;border-color:#d9b27a;color:#18201c}.fft .btn-solid:hover{background:#f1efe8;border-color:#f1efe8}
.fft-relief{filter:grayscale(1) sepia(.45) hue-rotate(40deg) saturate(.7) brightness(.42) contrast(1.6)}
.fft .leaflet-container .leaflet-control-attribution{background:transparent!important;color:rgba(241,239,232,.38)!important;font-size:9px!important;line-height:1.3;padding:0 6px 2px;box-shadow:none!important}
.fft .leaflet-container .leaflet-control-attribution a{color:rgba(241,239,232,.5)!important}
.fft .leaflet-control-zoom a{background:#22352b!important;color:#f1efe8!important;border-color:rgba(241,239,232,.2)!important}
.fft .leaflet-bar{border:1px solid rgba(241,239,232,.2)!important;box-shadow:none!important}
/* the guide's asides */
.gs{margin:var(--s-6) 0;padding:1.1rem 1.3rem 1.2rem;background:#18241d;color:var(--on-dark);border-left:3px solid #d9b27a}
.prose .gs-k{font:500 .68rem/1 var(--f-text);letter-spacing:.18em;text-transform:uppercase;color:#d9b27a;margin:0 0 .55rem}
.prose .gs-t{font:italic 500 1.22rem/1.42 var(--f-display);color:var(--on-dark);margin:0}
.prose .gs a{color:#d9b27a;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.prose .gs a:hover,.prose .gs a:focus-visible{color:#fff}
.lf-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--s-6) var(--s-7);margin:var(--s-5) 0 var(--s-7)}
.lf{border-top:1px solid var(--rule);padding-top:var(--s-4)}
.prose .lf h2{font:500 1.6rem/1.15 var(--f-display);margin:0 0 .5rem}
.prose .lf p{margin:0 0 .6rem}
.prose .lf-meta{font-size:.86rem;color:var(--ink-3)}
.lf-list{grid-auto-flow:dense}
.lf-img{margin:0 0 1rem}
@media (min-width:760px){.lf.has-img{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);column-gap:var(--s-6);align-items:start}
.lf.has-img .lf-img{grid-row:1/span 8;margin:0}
.lf.has-img>:not(.lf-img){grid-column:2}}
.lf-img img{width:100%;height:auto;display:block}
.prose .lf-img figcaption{margin-top:.5rem;font-size:.84rem;color:var(--ink-3)}
.prose .lf-guide{font:italic 500 1.12rem/1.4 var(--f-display);color:var(--ink-2);border-left:2px solid var(--bronze);padding-left:.8rem}
.plan-group{display:grid;grid-template-columns:1fr;gap:var(--s-5);margin:0 0 var(--s-7);padding-top:var(--s-6);border-top:1px solid var(--rule)}
.plan-group.has-img{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:clamp(1.5rem,4vw,3.5rem)}
.pg-img img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.plan-links{list-style:none;margin:0;padding:0;columns:2 220px;column-gap:var(--s-6)}
.plan-links li{break-inside:avoid;border-bottom:1px solid var(--rule)}
.prose .plan-links a{display:block;padding:.75rem 0;font:500 1.15rem/1.3 var(--f-display);color:var(--ink);text-decoration:none}
.prose .plan-links a:hover{color:var(--bronze)}
@media (max-width:760px){.plan-group.has-img{grid-template-columns:1fr}}
.page-body .prose ul.plan-links li a{font:500 1.22rem/1.3 var(--f-display);padding:.8rem 0;letter-spacing:0;text-transform:none}

/* home: out the back door */
.backdoor{max-width:var(--max);margin:0 auto;padding:var(--s-9) var(--gutter) var(--s-8);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-areas:"head a" "tall a" "tall b" "c c";gap:clamp(1rem,2vw,1.6rem) clamp(1.5rem,4vw,3.5rem)}
.backdoor-head{grid-area:head;align-self:end}
.backdoor-head h2{margin-bottom:1.2rem}
.backdoor-head p{color:var(--ink-2);max-width:44ch}
.backdoor-head p+p{margin-top:1.2rem}
.backdoor figure{margin:0}
.backdoor img{display:block;width:100%;height:auto;object-fit:cover}
.backdoor picture{display:block}
.bd-tall{grid-area:tall}.bd-tall img{aspect-ratio:3/4}
.bd-a{grid-area:a;align-self:end}.bd-a img{aspect-ratio:4/3}
.bd-b{grid-area:b}.bd-b img{aspect-ratio:4/3}
.bd-c{grid-area:c}.bd-d{grid-area:d}.bd-c img{aspect-ratio:16/9}
.backdoor figcaption,.fam figcaption{font-size:.86rem;color:var(--ink-3);margin-top:.55rem;line-height:1.5}
@media (max-width:860px){.backdoor{grid-template-columns:1fr 1fr;grid-template-areas:"head head" "a a" "tall b" "c c";padding-block:var(--s-8)}.bd-b{align-self:start}.bd-b img{aspect-ratio:3/4}}

/* home: families */
.fam{background:var(--paper);border-block:1px solid var(--rule)}
.fam{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,5vw,5rem);align-items:center;padding:var(--s-9) max(var(--gutter),calc((100vw - var(--max)) / 2 + var(--gutter)))}
.fam figure{margin:0}
.fam-lead img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}
.fam-copy h2{margin-bottom:1.4rem}
.fam-copy>p{color:var(--ink-2);max-width:48ch}
.fam-copy>p+p,.fam-more+p{margin-top:1.6rem}
.fam-more{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:2rem}
.fam-more img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}
.fam-more strong{color:var(--ink);font-weight:500}
@media (max-width:860px){.fam{grid-template-columns:1fr;padding-block:var(--s-8)}.fam-lead img{aspect-ratio:4/5}}

/* small phones (iPhone SE and up) */
.btn{max-width:100%}
.fft-body{grid-template-columns:minmax(0,1fr)}
.fft-body>*,.fft>*{min-width:0}
@media (max-width:380px){
  .btn{white-space:normal;text-align:center;line-height:1.3;padding-inline:1.1rem}
  .fft-form{grid-template-columns:1fr}
  .fft-now{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.link-arrow+.link-arrow{margin-left:1.6rem}
p:has(> .link-arrow + .link-arrow){display:flex;flex-wrap:wrap;gap:.5rem 1.6rem;align-items:center}
p:has(> .link-arrow + .link-arrow) > .link-arrow{margin-left:0}

/* three-photo light study: a gallery, given room */
.light-trio{display:grid;grid-template-columns:1fr;gap:clamp(10px,1.4vw,18px);margin:clamp(2.4rem,5vw,4rem) 0}
.light-trio figure{margin:0;min-width:0}
.light-trio img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;display:block}
.light-trio figcaption{grid-column:1/-1;font-size:.86rem;color:var(--ink-3);margin-top:.2rem}
@media (min-width:760px){.light-trio{grid-template-columns:repeat(3,minmax(0,1fr))}.light-trio.duo{grid-template-columns:repeat(2,minmax(0,1fr))}}
.light-trio.duo img{aspect-ratio:4/5}
@media (min-width:1100px){.page-body:not(.wide) .light-trio:not(.duo){width:min(100vw - 2 * var(--gutter),1320px);margin-left:calc((min(100vw,900px) - min(100vw - 2 * var(--gutter),1320px)) / 2 - var(--gutter))}}
.band-light .band-quote{max-width:34ch}
.band-light::after{background:linear-gradient(180deg,rgba(10,12,10,0) 25%,rgba(10,12,10,.78) 100%)}
.band-quote{margin:.6rem 0 1rem;font:italic 500 clamp(1.35rem,2.6vw,2.1rem)/1.3 var(--f-display);text-wrap:balance}
.band-quote p{margin:0}
.band-cite{margin:0 0 1.2rem;font:500 .74rem/1 var(--f-text);letter-spacing:.18em;text-transform:uppercase;color:var(--bronze-lt)}
.band-light .link-arrow{color:#fff}

/* Plan Your Trip: a line of commentary under each link */
.plan-links.pl-notes{columns:1}
.plan-links.pl-notes li{padding:.15rem 0 .9rem}
.prose .plan-links.pl-notes a{padding:.75rem 0 .2rem}
.plan-links.pl-notes p{margin:0;max-width:56ch;font-size:.95rem;line-height:1.5;color:var(--ink-2)}
.prose .plan-links.pl-notes{padding-left:0;margin-left:0}
.trail-card.no-img{grid-template-columns:1fr;max-width:34rem}
.page-body:not(.wide) .trail-card.no-img{width:auto;margin-left:0}

/* home: fly fishing tool callout */
.ff-band{background:var(--night);color:var(--on-dark)}
.ff-band-in{max-width:var(--max);margin:0 auto;padding-block:clamp(3rem,7vw,5.5rem);padding-left:var(--gutter);padding-right:var(--gutter);display:grid;gap:1rem;justify-items:start}
.ff-band .eyebrow{color:var(--bronze-lt);margin:0}
.ff-band h2{font:500 clamp(2rem,4vw,3.2rem)/1.08 var(--f-display);margin:0;color:var(--on-dark)}
.ff-band p{max-width:58ch;margin:0;color:var(--on-dark);opacity:.88}
.ff-band .ff-band-quote{font:italic 500 clamp(1.3rem,2.4vw,1.8rem)/1.2 var(--f-display);color:var(--bronze-lt);opacity:1}
.ff-band .btn{margin-top:.6rem}
.ff-band .btn-solid{background:var(--on-dark);color:var(--night);border-color:var(--on-dark)}

/* chat launcher: the only chat code that loads with the page */
.chat-fab{position:fixed;right:max(20px,env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:45;display:inline-flex;align-items:center;gap:.5rem;
  padding:.72rem 1.05rem .72rem .9rem;border:1px solid color-mix(in srgb,var(--bronze-lt) 55%,transparent);border-radius:999px;background:var(--night);color:var(--on-dark);
  font:500 .78rem/1 var(--f-text);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;box-shadow:0 6px 24px rgba(10,14,12,.28);transition:transform .25s var(--ease),opacity .25s}
.chat-fab:hover{transform:translateY(-2px)}
.chat-fab:focus-visible{outline:2px solid var(--bronze-lt);outline-offset:3px}
.chat-fab svg{color:var(--bronze-lt)}
.chat-open .chat-fab{opacity:0;pointer-events:none}
@media (max-width:760px){.chat-fab{display:none}.t-inquire .chat-fab{display:inline-flex}}
.link-btn{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* FAQ: floorplans tucked into a drop-down, a small stairs photo after the answers */
.faq-group{font:500 .78rem/1.2 var(--f-text);letter-spacing:.16em;text-transform:uppercase;color:var(--bronze);margin:2.6rem 0 .2rem;padding-bottom:.7rem;border-bottom:1px solid var(--ink)}
.faq h2+.faq-group{margin-top:1.2rem}
.faq-fig{margin:1.2rem 0 0}
.faq-fig img{width:100%;height:auto;display:block}
.faq-fig.portrait{max-width:440px}
.faq-fig figcaption{margin-top:.6rem;font-size:.86rem;color:var(--ink-3)}
.faq-body{margin-top:1.2rem}
.faq-body .fig{width:auto!important;max-width:100%!important;margin:0 0 1.2rem!important}
.faq-body .fig img{width:100%;height:auto}
.dine-logo{margin:.4rem 0 1rem}
.dine-logo img{width:150px;height:auto;border-radius:12px;display:block}

/* Reviews with the host's reply */
.rx{margin:var(--s-7) 0;padding:0}
.prose .rx blockquote{margin:0;padding:0;border:0;font:inherit}
.rx blockquote p{font:500 1.38rem/1.45 var(--f-display);color:var(--ink);margin:0;text-wrap:pretty}
.rx figcaption{display:flex;flex-direction:column;gap:.15rem;margin-top:.9rem}
.rx-reply{margin-top:1.3rem;padding:1rem 1.2rem 1.1rem;background:var(--paper);border:1px solid var(--rule);border-left:3px solid var(--bronze);position:relative}
.rx-reply::before{content:"";position:absolute;top:-8px;left:26px;width:14px;height:14px;background:var(--paper);border-left:1px solid var(--rule);border-top:1px solid var(--rule);transform:rotate(45deg)}
.prose .rx-k{font:500 .68rem/1 var(--f-text);letter-spacing:.18em;text-transform:uppercase;color:var(--bronze);margin:0 0 .5rem}
.prose .rx-t{font:italic 500 1.18rem/1.45 var(--f-display);color:var(--ink-2);margin:0}
.rx-lead blockquote p{font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.32}
.rx-lead blockquote p::before{content:"\201C";display:block;font:500 4.5rem/.6 var(--f-display);color:var(--bronze);margin-bottom:.6rem}
.rx-lead .rx-reply{max-width:36rem;margin-left:auto}
.rx-band{background:var(--night);color:var(--on-dark);padding:clamp(1.6rem,4vw,3rem)}
.rx-band blockquote p{color:var(--on-dark);font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.35}
.rx-band .rv-name{color:var(--on-dark)}.rx-band .rv-meta{color:var(--bronze-lt)}
.rx-band .rx-reply{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);border-left-color:var(--bronze-lt)}
.rx-band .rx-reply::before{background:#212824;border-color:rgba(255,255,255,.14)}
.rx-band .rx-k{color:var(--bronze-lt)}.rx-band .rx-t{color:var(--on-dark)}
.rx-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s-6);margin:var(--s-7) 0}
.rx-pair .rx{margin:0;border-top:1px solid var(--ink);padding-top:var(--s-5)}
.rx-card blockquote p{font-size:1.25rem}
.rx-photo-left,.rx-photo-right{display:grid;gap:var(--s-6);align-items:start}
.rx-img img{width:100%;height:auto;display:block;aspect-ratio:4/5;object-fit:cover}
@media (min-width:860px){.rx-photo-left{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.rx-photo-right{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.rx-photo-right .rx-img{order:2}}
.rx-plain{border-top:1px solid var(--rule);padding-top:var(--s-6)}
.rx-plain blockquote p{font-size:clamp(1.45rem,2.4vw,1.85rem);line-height:1.38}
.rx-plain .rx-reply{margin-left:clamp(0rem,6vw,4rem)}
.rx-short{display:grid;gap:1rem;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:var(--s-5) 0}
@media (min-width:760px){.rx-short .rx-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:var(--s-6);align-items:center}.rx-short .rx-reply{margin-top:0;grid-column:2;grid-row:1/span 2}.rx-short .rx-reply::before{top:calc(50% - 7px);left:-8px;transform:rotate(-45deg)}}
.rx-photo-top .rx-img img{aspect-ratio:3/2}
.rx-photo-top .rx-body{margin-top:var(--s-5);display:grid;gap:0 var(--s-6)}
@media (min-width:860px){.rx-photo-top .rx-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.rx-photo-top .rx-reply{grid-column:2;grid-row:1/span 2;margin-top:0}.rx-photo-top .rx-reply::before{top:22px;left:-8px;transform:rotate(-45deg)}}
.prose .lf-section{font:500 clamp(1.8rem,1.4rem + 1.4vw,2.6rem)/1.15 var(--f-display);margin:var(--s-8) 0 .4rem;padding-top:var(--s-6);border-top:1px solid var(--ink)}
.prose .lf-section-note{color:var(--ink-3);margin:0 0 var(--s-5)}
@media (min-width:760px){.lf.lf-wide{grid-column:1/-1;columns:2;column-gap:var(--s-7)}.prose .lf.lf-wide h2{column-span:all}}
