/* Brand fonts, self-hosted. GT Walsheim Light 200 (display/labels) + GT Sectra Book 300 (body/editorial).
   Trial licences — purchase before launch. */
@font-face{font-family:"GT Walsheim";src:url("../assets/fonts/GT-Walsheim-Light.woff2") format("woff2");font-weight:200;font-style:normal;font-display:block}
@font-face{font-family:"GT Sectra";src:url("../assets/fonts/GT-Sectra-Book.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"GT Sectra";src:url("../assets/fonts/GT-Sectra-Book-Italic.woff2") format("woff2");font-weight:300;font-style:italic;font-display:swap}
@font-face{font-family:"GT Sectra Display";src:url("../assets/fonts/GT-Sectra-Display-Light.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"GT Sectra Display";src:url("../assets/fonts/GT-Sectra-Display-Light-Italic.woff2") format("woff2");font-weight:300;font-style:italic;font-display:swap}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{background:var(--c-bg);color:var(--c-charcoal);-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}
body{background:var(--c-bg);font:300 var(--fs-body)/1.8 var(--f-serif);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}
img,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul,ol{list-style:none}
h1,h2,h3,h4,h5,h6,p{font-weight:inherit}
::selection{background:var(--c-obsidian);color:var(--c-cream)}

/* ---- Display and headings: GT Walsheim Light, uppercase, tracked out. Never bold. ---- */
.h1{font:200 var(--fs-h1)/1.15 var(--f-sans);letter-spacing:var(--ls-display);text-transform:uppercase;color:var(--c-obsidian)}
.h2{font:200 var(--fs-h2)/1.15 var(--f-sans);letter-spacing:var(--ls-display);text-transform:uppercase;color:var(--c-obsidian)}
.h3{font:200 var(--fs-h3)/1.2 var(--f-sans);letter-spacing:var(--ls-heading);text-transform:uppercase;color:var(--c-obsidian)}
.h4{font:200 var(--fs-h4)/1.25 var(--f-sans);letter-spacing:var(--ls-display);text-transform:uppercase;color:var(--c-obsidian)}
.h2 .line{display:block}
/* The editorial counter-line: serif display italic, sentence case. Carries the warmth the sans cannot. */
.h2 .it,.h2.it{font:300 var(--fs-h2-it)/1.1 var(--f-serif-display);font-style:italic;letter-spacing:0;text-transform:none;display:block;margin-top:.18em}
/* GT Sectra Display is a large-size cut: its hairlines and tight spacing break down small.
   It is used only where the type is 24px or more, which means the italic counter-lines and
   the desktop sub-head. Below 1200px the sub-head drops to 22px and 19px, so it takes the
   text cut instead. */
.h5{font:300 var(--fs-h5)/1.35 var(--f-serif-display);letter-spacing:0;color:var(--c-obsidian)}
@media (max-width:1199.98px){.h5{font-family:var(--f-serif)}}

/* ---- Editorial: GT Sectra. Sentence case, generous leading. ---- */
.lead{font:300 var(--fs-lead)/1.6 var(--f-serif);letter-spacing:0;color:var(--c-charcoal)}
.body{background:var(--c-bg);font:300 var(--fs-body)/1.8 var(--f-serif);letter-spacing:0}
.list-text{font:300 var(--fs-list)/1.75 var(--f-serif);letter-spacing:0}
.caption{font:300 15px/1.6 var(--f-serif);font-style:italic;letter-spacing:.04em;color:var(--c-mid)}

/* ---- Labels: sans, uppercase, wide. ---- */
.cta-text{font:200 var(--fs-cta)/1 var(--f-sans);letter-spacing:var(--ls-cta);text-transform:uppercase}
.label{font:200 var(--fs-label)/1 var(--f-sans);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--c-charcoal)}
.footer .label,.drawer .label{color:var(--c-mid)}

/* Reversed type on obsidian is cream */
.banner .h4,.footer .h5,.hero__title,.phero__title{color:var(--c-cream)}

/* Layout helpers */
.container{width:100%;max-width:var(--container);margin:0 auto}
.section{padding:0 var(--pad-x)}
.img{position:relative;overflow:hidden}
.img>img{width:100%;height:100%;object-fit:cover;object-position:center}
.stack{display:flex;flex-direction:column}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Motion initial states (only when JS is running) */
.js .hero__tagline .ch{display:inline-block;opacity:0;transform:translateY(10px)}
.js .w{display:inline-block;white-space:nowrap}
@media (prefers-reduced-motion:reduce){
  .js .hero__tagline .ch{opacity:1;transform:none}
  html{scroll-behavior:auto}
}

/* Screenshot hook (?shot=1): fixed hero height so a tall headless capture shows the whole page */
.shot .hero{height:720px;position:relative}
.shot .activities__media{position:relative;top:0}
.shot .phero{height:600px;min-height:0}

/* The brand is built on lightness: no bold or black weights, ever. */
strong,b{font-weight:inherit;color:var(--c-obsidian)}

/* Gold is Obsidian/Founding tier only, never below 14px, and never over photography.
   It lives on the controlled cream surface of the tier page: the terms. */
.tier-obsidian .term .h3{color:var(--c-gold)}
