/* Sand and Soul — a year of sunrises, scrolled slowly.
   Nautical, meditative, cinematic. Not a website, a daybook.
   Dark ink carries the photographs. Fraunces italic carries the feeling. */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght,SOFT@0,9..144,300..700,25..100;1,9..144,300..700,25..100&family=Inter:wght@300;400;500;600&family=Caveat:wght@400;600&family=Bebas+Neue&display=swap');

:root{
  --ink:#0a0c10;
  --ink-2:#12161d;
  --deep:#1d3045;
  --paper:#f4ecd8;
  --paper-dim:#d4cab0;
  --mute:#6a6e74;
  --mute-2:#9c9a8f;
  --ember:#c67c5a;             /* coral, sunrise */
  --salt:#8fa9ad;              /* pale sea glass */
  --gold:#d4a86a;              /* morning gold */
  --rule:rgba(244,236,216,.18);
  --serif:"Fraunces", "Cormorant Garamond", Georgia, serif;
  --hand:"Caveat", "Brush Script MT", cursive;
  --sans:"Inter", system-ui, sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--ink)}
body{
  background:var(--ink);color:var(--paper);
  font-family:var(--sans);font-weight:300;
  font-size:16.5px;line-height:1.75;letter-spacing:.002em;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;height:auto;-webkit-user-drag:none;user-select:none;-webkit-touch-callout:none}
a{color:var(--paper);text-decoration:none;transition:color .6s ease}
a:hover{color:var(--ember)}

/* ══════ Fixed mark + navigation ══════ */
.mark{
  position:fixed;top:34px;left:42px;z-index:100;
  width:88px;height:88px;display:flex;align-items:center;justify-content:center;
  opacity:.96;transition:opacity .6s ease, transform .6s ease;
}
.mark img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 10px rgba(0,0,0,.5))}
.mark:hover{opacity:1;transform:scale(1.03)}

.navline{
  position:fixed;top:56px;right:52px;z-index:99;
  display:flex;gap:36px;
  font-family:var(--sans);font-size:12.5px;font-weight:500;
  letter-spacing:.32em;text-transform:uppercase;
  color:rgba(244,236,216,.8);text-shadow:0 2px 8px rgba(0,0,0,.4);
}
.navline a{color:inherit}
.navline a:hover{color:var(--ember)}
.navline.inv{color:rgba(13,15,20,.82);text-shadow:none}
.navline.inv a:hover{color:var(--ember)}
@media (max-width:780px){
  .mark{top:18px;left:20px;width:62px;height:62px}
  .navline{top:28px;right:20px;gap:20px;font-size:10.5px;letter-spacing:.22em}
}
body.light-page .mark img{filter:none}

/* ══════ Fade-on-scroll (cinematic reveal) ══════ */
.fade-in{opacity:0;transform:translateY(24px);transition:opacity 1.4s ease, transform 1.4s cubic-bezier(.19,1,.22,1)}
.fade-in.in{opacity:1;transform:translateY(0)}
.fade-in.d-1{transition-delay:.15s}
.fade-in.d-2{transition-delay:.3s}
.fade-in.d-3{transition-delay:.45s}
.fade-in.d-4{transition-delay:.6s}

/* ══════ Opening overture ══════ */
.overture{
  position:relative;min-height:100vh;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:15vh 8vw 10vh;
  overflow:hidden;z-index:1;
}
/* Full-bleed ambient video background (autoplay muted loop, YouTube embed) */
.overture .bg-video{
  position:absolute;inset:0;z-index:-2;pointer-events:none;overflow:hidden;
  background:var(--ink);
}
.overture .bg-video iframe{
  position:absolute;top:50%;left:50%;
  width:100vw;height:56.25vw;      /* 16:9 always */
  min-height:100vh;min-width:177.77vh;
  transform:translate(-50%,-50%);
  border:0;pointer-events:none;
}
.overture::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse at center, rgba(10,12,16,.38) 0%, rgba(10,12,16,.72) 55%, rgba(10,12,16,.92) 100%);
}
.overture .salutation{
  font-family:var(--hand);font-weight:400;font-size:28px;
  color:var(--gold);letter-spacing:.02em;margin-bottom:38px;
  transform:rotate(-1.4deg);
}
.overture h1{
  font-family:"Bebas Neue", "Oswald", Impact, sans-serif;
  font-weight:400;text-transform:uppercase;
  font-size:clamp(60px, 10.5vw, 200px);line-height:.88;letter-spacing:.008em;
  color:var(--paper);margin-bottom:50px;max-width:16ch;
  text-shadow:0 4px 30px rgba(0,0,0,.5);
}
.overture h1 em{color:var(--ember);font-style:normal;font-weight:400}
.overture .sub{
  font-size:17px;line-height:1.65;max-width:46ch;
  color:rgba(244,236,216,.72);font-weight:300;margin-bottom:70px;
  font-style:italic;font-family:var(--serif);
}
.overture .descent{
  font-family:var(--sans);font-size:10.5px;letter-spacing:.5em;
  text-transform:uppercase;color:var(--mute-2);
  animation:drift 3.6s ease-in-out infinite;
}
@keyframes drift{0%,100%{transform:translateY(0);opacity:.7}50%{transform:translateY(6px);opacity:1}}

/* ══════ Footer — nautical logbook ══════ */
footer{
  padding:8vh 8vw 5vh;background:var(--ink);
  border-top:1px solid var(--rule);color:rgba(244,236,216,.45);
  font-size:12.5px;letter-spacing:.03em;
}
footer .grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:40px;
  max-width:1280px;margin:0 auto;
}
footer .brand-name{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:22px;color:var(--paper);font-variation-settings:"SOFT" 80;
}
footer .brand-name em{color:var(--ember)}
footer nav{display:flex;flex-direction:column;gap:8px}
footer nav a{color:rgba(244,236,216,.55);font-family:var(--sans);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
footer nav a:hover{color:var(--ember)}
footer .logbook{
  font-family:var(--sans);font-size:11px;letter-spacing:.18em;
  color:var(--mute-2);line-height:1.9;
}
footer .logbook strong{
  display:block;font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:14px;color:var(--paper);text-transform:none;letter-spacing:.01em;
  margin-bottom:8px;
}
footer .copyright{
  grid-column:1/-1;padding-top:24px;border-top:1px solid var(--rule);
  margin-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;
  font-family:var(--hand);font-size:17px;color:var(--gold);
}

/* ══════ Retain pages that haven't been touched this pass ══════ */
/* Practices, photo detail, videos, shop — keep their existing structure; new typography
   inherits via body + serif vars. We override a few specifics below. */

.practice-detail,
.practices-section,
.archive,
.videos-section,
.photo-stage,
.shop-item-page{
  background:var(--ink);color:var(--paper);
}
.practice-detail h1,
.practices-section h2{font-family:var(--serif);font-style:italic;font-weight:300;font-variation-settings:"SOFT" 100}
.photo-stage{min-height:100vh;padding:22vh 40px;display:grid;grid-template-columns:1.15fr .9fr;gap:60px;max-width:1400px;margin:0 auto}
.photo-stage .frame{position:relative;overflow:hidden;box-shadow:0 40px 90px rgba(0,0,0,.6)}
.photo-stage .frame img{width:100%;height:auto;display:block;filter:saturate(1.04)}
.photo-stage .aside .plate{font-family:var(--sans);font-size:10px;letter-spacing:.44em;text-transform:uppercase;color:var(--gold);margin-bottom:24px;display:flex;align-items:center;gap:16px}
.photo-stage .aside .plate::before{content:"";width:40px;height:1px;background:var(--gold)}
.photo-stage .aside h1{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(36px,4.5vw,58px);line-height:1;margin-bottom:14px;font-variation-settings:"SOFT" 100}
.photo-stage .aside .date{font-family:var(--hand);color:var(--gold);font-size:22px;margin-bottom:28px;transform:rotate(-1.5deg);display:inline-block}
.photo-stage .aside p{font-family:var(--serif);font-style:italic;font-size:16.5px;line-height:1.7;color:rgba(244,236,216,.72);margin-bottom:26px}
.buy-rule{border:0;height:1px;background:var(--rule);margin:28px 0}
.buy-row{display:block;padding:22px 24px;background:var(--ink-2);border:1px solid var(--rule);margin-bottom:14px;transition:border-color .3s ease}
.buy-row:hover{border-color:var(--ember)}
.buy-row .tag{font-family:var(--sans);font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;display:block}
.buy-row .row-main{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.buy-row .name{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--paper)}
.buy-row .price{font-family:var(--serif);font-size:26px;color:var(--ember);font-weight:400}
.buy-row .note{font-family:var(--sans);font-size:12px;color:var(--mute-2)}
.fine{font-family:var(--sans);font-size:11px;color:var(--mute-2);line-height:1.7;margin-top:30px}

@media (max-width:900px){
  .photo-stage{grid-template-columns:1fr;padding:18vh 20px 10vh}
}

/* Crumbs */
.crumbs{font-family:var(--sans);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--mute-2);margin-bottom:28px}
.crumbs a{color:var(--mute-2)}
.crumbs a:hover{color:var(--ember)}
.crumbs span{margin:0 12px}

/* Watermarks (preserved from previous pass) */
.watermark-corner{position:absolute;bottom:16px;right:20px;z-index:3;pointer-events:none;font-family:var(--sans);font-size:9.5px;letter-spacing:.42em;text-transform:uppercase;color:rgba(244,236,216,.8);text-shadow:0 1px 3px rgba(0,0,0,.6)}
.watermark-big{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(40px,6vw,82px);color:rgba(244,236,216,.13);letter-spacing:.04em;transform:rotate(-14deg);mix-blend-mode:overlay;font-variation-settings:"SOFT" 100}

/* Archive/shop/videos sections retained from previous CSS, with typography reset to new vars */
.archive{min-height:100vh;padding:22vh 0 16vh}
.archive-intro{text-align:center;padding:0 8vw;margin-bottom:10vh}
.archive-intro .plate{font-family:var(--sans);font-size:10px;letter-spacing:.5em;text-transform:uppercase;color:var(--gold);margin-bottom:22px}
.archive-intro h2{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(44px,5.5vw,82px);line-height:1;letter-spacing:-.02em;color:var(--paper);font-variation-settings:"SOFT" 100;max-width:18ch;margin:0 auto 20px}
.archive-intro h2 em{color:var(--ember)}
.archive-intro p{max-width:52ch;margin:0 auto;color:rgba(244,236,216,.68);font-size:17px;line-height:1.75;font-weight:300;font-family:var(--serif);font-style:italic}

.videos-section{background:var(--ink);padding:18vh 0 14vh}
.videos-section .intro{padding:0 8vw;max-width:1040px;margin:0 auto 6vh}
.videos-section .plate{font-family:var(--sans);font-size:10px;letter-spacing:.5em;text-transform:uppercase;color:var(--gold);margin-bottom:22px}
.videos-section h2{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(44px,5.5vw,82px);line-height:.95;letter-spacing:-.025em;margin-bottom:26px;color:var(--paper);font-variation-settings:"SOFT" 100}
.videos-section h2 em{color:var(--ember)}
.videos-section p{max-width:52ch;color:rgba(244,236,216,.68);font-size:16.5px;line-height:1.75;font-family:var(--serif);font-style:italic}
.video-feature{max-width:1100px;margin:0 auto;padding:0 40px}
.video-feature .player{width:100%;aspect-ratio:16/9;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.55)}
.video-feature .player iframe{width:100%;height:100%;border:0}
.video-feature .caption{margin-top:18px}
.video-feature h3{font-family:var(--serif);font-style:italic;font-weight:300;font-size:24px;color:var(--paper)}
.video-feature .date{font-family:var(--hand);color:var(--gold);font-size:18px;transform:rotate(-1deg);display:inline-block;margin-top:4px}

.video-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px;padding:0 40px;max-width:1400px;margin:0 auto}
.video-list article{}
.video-list .player-sm{aspect-ratio:16/9;overflow:hidden}
.video-list .player-sm iframe{width:100%;height:100%;border:0}
.video-list h3{font-family:var(--serif);font-style:italic;font-weight:300;font-size:19px;color:var(--paper);margin-top:12px}
.video-list .date{font-family:var(--hand);font-size:15px;color:var(--gold);transform:rotate(-1deg);display:inline-block;margin-top:2px}

.shop-item-page{background:var(--ink)}

/* Practices-section + library tiles, preserved compact */
.practices-section{padding:18vh 0 12vh}
.practice-library{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;max-width:1240px;margin:0 auto;padding:0 40px}
.practice-tile{display:block;background:var(--ink-2);padding:34px 30px;border:1px solid var(--rule);color:var(--paper);transition:border-color .4s ease, transform .4s ease}
.practice-tile:hover{border-color:var(--ember);transform:translateY(-3px)}
.practice-tile h3{font-family:var(--serif);font-style:italic;font-weight:300;font-size:24px;line-height:1.15;margin-bottom:10px;font-variation-settings:"SOFT" 100}
.practice-tile .subtitle{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--mute-2);margin-bottom:14px;line-height:1.45}
.practice-tile .duration{font-family:var(--hand);color:var(--gold);font-size:16px;transform:rotate(-1deg);display:inline-block}

/* Practice detail — dark to match the rest of the site */
.practice-detail{
  background:var(--ink);color:var(--paper);
  padding:16vh 24px 12vh;min-height:100vh;
}
.practice-detail .reading{
  max-width:680px;margin:0 auto;padding:0;
}
.practice-detail .reading .plate{
  font-family:var(--sans);font-size:10.5px;letter-spacing:.44em;text-transform:uppercase;
  color:var(--gold);font-weight:500;margin-bottom:26px;
  display:flex;align-items:center;gap:16px;
}
.practice-detail .reading .plate::before{content:"";width:40px;height:1px;background:var(--gold)}
.practice-detail h1{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(48px,6vw,84px);line-height:1;letter-spacing:-.025em;
  margin-bottom:22px;font-variation-settings:"SOFT" 100;color:var(--paper);
}
.practice-detail h1 em{color:var(--ember)}
.practice-detail .subtitle{
  font-family:var(--serif);font-style:italic;font-size:22px;
  color:rgba(244,236,216,.6);margin-bottom:46px;line-height:1.4;
}
.practice-detail .intro-quote{
  padding:24px 28px;border-left:3px solid var(--gold);margin:36px 0;
  font-family:var(--serif);font-style:italic;font-size:clamp(18px,2vw,22px);
  line-height:1.55;color:rgba(244,236,216,.85);
  background:var(--ink-2);
}
.practice-detail .section-h{
  font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:clamp(24px,2.4vw,30px);margin:52px 0 18px;letter-spacing:-.01em;
  color:var(--paper);
}
.practice-detail .reading p{
  font-family:var(--sans);font-size:17px;line-height:1.85;
  color:rgba(244,236,216,.78);margin-bottom:22px;font-weight:300;
}
.practice-detail .crumbs{
  font-family:var(--sans);font-size:11px;letter-spacing:.3em;text-transform:uppercase;
  color:rgba(244,236,216,.5);margin-bottom:32px;
}
.practice-detail .crumbs a{color:rgba(244,236,216,.5)}
.practice-detail .crumbs a:hover{color:var(--ember)}
.practice-detail .crumbs span{margin:0 12px}

body.light-page{background:var(--paper);color:var(--ink)}
body.light-page footer{background:var(--paper);color:var(--mute)}
body.light-page footer .brand-name{color:var(--ink)}

/* ════════ V2 PREMIUM CINEMATIC (2026-04-19 reset) ════════
   Rules: everything centered, consistent rhythm, photos always
   full-bleed, never a left-aligned element on mobile or desktop. */

.hand-kicker{
  font-family:var(--hand);font-weight:400;font-size:22px;
  color:var(--gold);letter-spacing:.02em;display:block;
  transform:rotate(-1.4deg);margin-bottom:22px;
  text-align:center;
}

/* ── OVERTURE V2 ── */
.overture-v2{
  position:relative;width:100%;height:100vh;min-height:680px;
  overflow:hidden;background:var(--ink);
  display:flex;align-items:center;justify-content:center;
}
.overture-v2 .overture-photo{
  position:absolute;inset:0;z-index:1;overflow:hidden;
}
.overture-v2 .overture-photo img{
  width:100%;height:100%;object-fit:cover;display:block;
  filter:saturate(1.04);
}
.overture-v2 .overture-scrim{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:
    radial-gradient(ellipse at center, rgba(10,12,16,.12) 0%, rgba(10,12,16,.55) 70%, rgba(10,12,16,.85) 100%),
    linear-gradient(180deg, rgba(10,12,16,.35) 0%, transparent 30%, rgba(10,12,16,.5) 100%);
}
.overture-v2 .overture-inner{
  position:relative;z-index:3;text-align:center;
  padding:0 24px;max-width:1100px;width:100%;
}
.overture-v2 h1{
  font-family:"Bebas Neue", Impact, sans-serif;font-weight:400;
  text-transform:uppercase;letter-spacing:.008em;line-height:.9;
  font-size:clamp(64px, 11vw, 200px);
  color:var(--paper);
  margin:0 auto 32px;max-width:14ch;
  text-shadow:0 6px 40px rgba(0,0,0,.55);
  text-align:center;
}
.overture-v2 h1 em{color:var(--ember);font-style:normal;font-weight:400}
.overture-v2 .overture-tagline{
  font-family:var(--sans);font-size:clamp(10px, .9vw, 12px);
  letter-spacing:.45em;text-transform:uppercase;
  color:var(--gold);opacity:.85;
  margin:0 auto 28px;text-align:center;
  text-shadow:0 2px 18px rgba(0,0,0,.5);
}
.overture-v2 .overture-sub{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(17px, 1.4vw, 21px);line-height:1.6;
  color:rgba(244,236,216,.85);max-width:52ch;
  margin:0 auto 60px;text-align:center;
  font-variation-settings:"SOFT" 80;
}
.overture-v2 .overture-cue{
  display:inline-block;
  font-family:var(--sans);font-size:11px;letter-spacing:.5em;
  text-transform:uppercase;color:rgba(244,236,216,.6);
  padding:10px 16px;animation:drift-v2 3.2s ease-in-out infinite;
  text-decoration:none;
}
.overture-v2 .overture-cue:hover{color:var(--ember)}
@keyframes drift-v2{0%,100%{transform:translateY(0);opacity:.55}50%{transform:translateY(8px);opacity:.95}}

/* Ken Burns slow zoom on all .ken-burns imgs */
.ken-burns{animation:kenburns 24s ease-out infinite alternate}
@keyframes kenburns{
  0%{transform:scale(1.02) translate(0,0)}
  100%{transform:scale(1.12) translate(-1.5%, -1.2%)}
}

/* ── SIX MOVEMENTS — full-bleed cinematic stanzas ── */
.movements{background:var(--ink);padding:0}
.movement-v2{
  position:relative;width:100%;height:100vh;min-height:620px;
  overflow:hidden;display:flex;align-items:flex-end;justify-content:center;
  background:var(--ink-2);
  opacity:0;transition:opacity 1.8s ease;
}
.movement-v2.in{opacity:1}
.movement-v2 .movement-photo{
  position:absolute;inset:0;z-index:1;overflow:hidden;
}
.movement-v2 .movement-photo img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.movement-v2 .movement-scrim{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:
    linear-gradient(180deg, rgba(10,12,16,.15) 0%, transparent 40%, rgba(10,12,16,.88) 100%);
}
.movement-v2 .movement-caption{
  position:relative;z-index:3;text-align:center;
  padding:0 24px 10vh;max-width:780px;width:100%;
}
.movement-v2 .hand-date{
  font-family:var(--hand);font-size:30px;color:var(--gold);
  transform:rotate(-2deg);display:inline-block;margin-bottom:18px;
  letter-spacing:.015em;
}
.movement-v2 .movement-line{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(26px, 3vw, 44px);line-height:1.25;
  color:var(--paper);letter-spacing:-.01em;
  margin:0 auto 20px;max-width:24ch;
  font-variation-settings:"SOFT" 100;
  border:0;padding:0;
  text-shadow:0 4px 24px rgba(0,0,0,.5);
}
.movement-v2 .movement-line em{color:var(--ember);font-style:italic}
.movement-v2 .movement-meta{
  font-family:var(--sans);font-size:11px;letter-spacing:.36em;
  text-transform:uppercase;color:rgba(244,236,216,.6);font-weight:500;
}

/* ── SECTION HEAD shared ── */
.section-head-v2{
  text-align:center;padding:14vh 24px 8vh;max-width:720px;margin:0 auto;
}
.section-head-v2 h2{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(42px, 5.2vw, 84px);line-height:1;letter-spacing:-.02em;
  color:var(--paper);margin:0 auto 22px;max-width:18ch;
  font-variation-settings:"SOFT" 100;
  text-align:center;
}
.section-head-v2 h2 em{color:var(--ember);font-style:italic}
.section-head-v2 p{
  font-family:var(--serif);font-style:italic;font-weight:300;
  color:rgba(244,236,216,.68);font-size:17px;line-height:1.75;
  max-width:52ch;margin:0 auto;text-align:center;
}

/* ── ARCHIVE WALL V2 — clean balanced grid ── */
.archive-wall-v2{background:var(--ink);padding:0 0 14vh}
.archive-wall-v2 .wall-grid{
  display:grid;grid-template-columns:repeat(3, 1fr);gap:4px;
  max-width:1440px;margin:0 auto;padding:0 24px;
}
.archive-wall-v2 .wall-tile{
  position:relative;overflow:hidden;aspect-ratio:4/5;
  background:var(--ink-2);display:block;
}
.archive-wall-v2 .wall-tile img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.6s ease, filter 1s ease;
  filter:saturate(1.04);
}
.archive-wall-v2 .wall-tile:hover img{transform:scale(1.06)}
.archive-wall-v2 .wall-label{
  position:absolute;inset:auto 0 0 0;padding:16px 18px;
  font-family:var(--hand);font-size:18px;color:var(--paper);
  background:linear-gradient(180deg, transparent, rgba(10,12,16,.85));
  opacity:0;transition:opacity .5s ease;text-align:center;
  transform:rotate(-1deg);
}
.archive-wall-v2 .wall-tile:hover .wall-label{opacity:1}
@media (max-width:780px){
  .archive-wall-v2 .wall-grid{grid-template-columns:repeat(2,1fr)}
}
.see-more-v2{text-align:center;padding:8vh 24px 0}
.see-more-v2 a{
  font-family:var(--sans);font-size:11px;letter-spacing:.5em;
  text-transform:uppercase;color:var(--gold);
  border-bottom:1px solid var(--gold);padding:8px 0;
  transition:color .3s ease, border-color .3s ease;
}
.see-more-v2 a:hover{color:var(--ember);border-color:var(--ember)}

/* ── INVITATIONS V2 — balanced card grid ── */
.invitations-v2{
  background:var(--ink-2);padding:14vh 24px;
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
}
.invitations-v2 .inv-grid{
  display:grid;grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:0;max-width:1280px;margin:0 auto;
}
.inv-card{
  display:block;padding:56px 40px;text-align:center;
  color:var(--paper);text-decoration:none;
  border-right:1px solid var(--rule);
  transition:background .4s ease;
}
.inv-card:last-child{border-right:0}
.inv-card:hover{background:var(--ink);color:var(--paper);text-decoration:none}
.inv-card .hand-kicker{margin-bottom:18px}
.inv-card h3{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(26px, 2.4vw, 34px);line-height:1.1;
  color:var(--paper);margin:0 auto 18px;max-width:14ch;
  font-variation-settings:"SOFT" 100;
  text-align:center;
}
.inv-card h3 em{color:var(--ember)}
.inv-card p{
  font-family:var(--serif);font-style:italic;font-size:15px;line-height:1.6;
  color:rgba(244,236,216,.65);margin:0 auto 24px;max-width:34ch;
  text-align:center;
}
.inv-card .inv-go{
  display:inline-block;
  font-family:var(--sans);font-size:11px;letter-spacing:.42em;text-transform:uppercase;
  color:var(--gold);border-bottom:1px solid var(--gold);padding-bottom:4px;
  font-weight:500;
}
.inv-card:hover .inv-go{color:var(--ember);border-color:var(--ember)}
@media (max-width:780px){
  .inv-card{border-right:0;border-bottom:1px solid var(--rule);padding:44px 24px}
  .inv-card:last-child{border-bottom:0}
}

/* ── LETTER V2 — centered, premium ── */
.letter-v2{
  background:var(--ink);padding:16vh 24px 14vh;text-align:center;
  position:relative;
}
.letter-v2::before{
  content:"";display:block;width:64px;height:1px;background:var(--gold);
  margin:0 auto 42px;
}
.letter-v2 .letter-inner{max-width:640px;margin:0 auto;text-align:center}
.letter-v2 h2{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(42px, 5.5vw, 84px);line-height:1;letter-spacing:-.025em;
  color:var(--paper);max-width:18ch;margin:10px auto 26px;
  font-variation-settings:"SOFT" 100;
  text-align:center;
}
.letter-v2 h2 em{color:var(--ember)}
.letter-v2 p{
  font-family:var(--serif);font-style:italic;font-weight:300;
  color:rgba(244,236,216,.7);font-size:17px;line-height:1.7;
  max-width:48ch;margin:0 auto 36px;text-align:center;
}
.letter-v2 form{
  display:flex;gap:10px;justify-content:center;flex-wrap:wrap;
  max-width:520px;margin:0 auto;
}
.letter-v2 input[type=email]{
  flex:1;min-width:220px;padding:16px 20px;
  background:transparent;border:1px solid rgba(244,236,216,.36);
  color:var(--paper);font-family:var(--serif);font-style:italic;font-size:16px;
}
.letter-v2 input::placeholder{color:rgba(244,236,216,.34);font-style:italic}
.letter-v2 button{
  padding:16px 32px;background:var(--paper);color:var(--ink);
  border:1px solid var(--paper);font-family:var(--sans);
  font-size:11px;letter-spacing:.34em;text-transform:uppercase;font-weight:500;
  cursor:pointer;transition:all .35s ease;
}
.letter-v2 button:hover{background:var(--ember);border-color:var(--ember);color:var(--paper)}
.letter-v2 #subscribe-msg{
  margin-top:18px;font-family:var(--serif);font-style:italic;font-size:14px;
  color:var(--gold);min-height:20px;text-align:center;
}

/* ── PRACTICES INDEX — premium polished ── */
.practices-section{padding:18vh 24px 12vh;text-align:center}
.practices-section .intro{max-width:760px;margin:0 auto 10vh;padding:0;text-align:center}
.practices-section .intro .plate{
  font-family:var(--sans);font-size:10.5px;letter-spacing:.5em;text-transform:uppercase;
  color:var(--gold);margin:0 auto 26px;text-align:center;font-weight:500;
}
.practices-section .intro h2{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(44px, 5.5vw, 84px);line-height:1;letter-spacing:-.02em;
  color:var(--paper);margin:0 auto 24px;max-width:14ch;
  font-variation-settings:"SOFT" 100;
  text-align:center;
}
.practices-section .intro h2 em{color:var(--ember)}
.practices-section .intro p{
  font-family:var(--serif);font-style:italic;font-weight:300;
  color:rgba(244,236,216,.68);font-size:17px;line-height:1.75;
  max-width:54ch;margin:0 auto;text-align:center;
}
.practice-list{
  max-width:860px;margin:0 auto;
  display:flex;flex-direction:column;gap:0;
  border-top:1px solid var(--rule);
}
.practice-list .practice-item{
  display:grid;grid-template-columns:auto 1fr auto;gap:28px;
  align-items:center;padding:28px 24px;
  color:var(--paper);border-bottom:1px solid var(--rule);
  transition:background .3s ease, padding .3s ease;
}
.practice-list .practice-item:hover{background:var(--ink-2);padding-left:36px;text-decoration:none}
.practice-list .num{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:28px;color:var(--gold);min-width:36px;text-align:left;
}
.practice-list .name h3{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(22px, 2vw, 28px);line-height:1.15;color:var(--paper);
  margin:0 0 4px;letter-spacing:-.01em;
  font-variation-settings:"SOFT" 80;
}
.practice-list .name .subtitle{
  font-family:var(--serif);font-style:italic;font-size:14.5px;
  color:rgba(244,236,216,.6);line-height:1.45;
}
.practice-list .duration{
  font-family:var(--hand);color:var(--ember);font-size:18px;
  transform:rotate(-1deg);display:inline-block;
}
@media (max-width:600px){
  .practice-list .practice-item{grid-template-columns:auto 1fr;gap:18px;padding:22px 18px}
  .practice-list .duration{grid-column:2;transform:rotate(-1deg) translateX(0)}
}

/* ── STATIC PAGES (about, privacy, contact) ── */
.hero-cine{
  position:relative;height:min(56vh,440px);overflow:hidden;background:var(--ink);
}
.hero-cine .slide{
  position:absolute;inset:0;background-size:cover;background-position:center;
  filter:saturate(1.04);
}
.hero-cine::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(10,12,16,.3) 0%, rgba(10,12,16,.7) 100%);
}
.hero-cine .wrap.content{
  position:absolute;inset:auto 0 0 0;padding:0 24px 7vh;text-align:center;color:var(--paper);
  z-index:2;
}
.hero-cine .tag{
  display:block;font-family:var(--sans);font-size:10.5px;letter-spacing:.5em;
  text-transform:uppercase;color:var(--gold);margin-bottom:18px;
}
.hero-cine h1{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(48px,6.5vw,96px);line-height:1;letter-spacing:-.02em;
  color:var(--paper);font-variation-settings:"SOFT" 100;
  text-align:center;
}
.wrap-narrow{width:min(calc(100% - 48px), 680px);margin:0 auto;padding:0}
.prose{
  padding:12vh 0 14vh;max-width:640px;margin:0 auto;
  text-align:left;
}
.prose .lede{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(20px,2vw,26px);line-height:1.55;color:var(--paper);
  margin:0 0 36px;max-width:40ch;
}
.prose p{
  font-family:var(--sans);font-size:16.5px;line-height:1.8;
  color:rgba(244,236,216,.8);margin:0 0 18px;max-width:62ch;
}
.prose h3{
  font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:clamp(24px,2.4vw,32px);color:var(--paper);margin:44px 0 14px;
  letter-spacing:-.015em;
}
.prose a{color:var(--gold);border-bottom:1px solid rgba(212,168,106,.4)}
.prose a:hover{color:var(--ember);border-color:var(--ember)}

/* ════════ V2.1 cinematic polish — scroll-snap + play-button hero ════════ */

/* Scroll-snap removed: it forced sections past the eye before text could be read.
   Ken Burns + scale-in fade gives the cinematic weight on their own. */
}

/* Slower, scale-in reveal */
.movement-v2{opacity:0;transform:scale(.99);transition:opacity 1.5s ease-out, transform 1.5s cubic-bezier(.19,1,.22,1)}
.movement-v2.in{opacity:1;transform:scale(1)}
.fade-in{transition:opacity 2s ease, transform 2s cubic-bezier(.19,1,.22,1)}

/* Play-button hero overlay — click to open video lightbox */
.hero-play-btn{
  position:absolute;left:50%;bottom:calc(14vh);
  transform:translateX(-50%);z-index:5;
  width:72px;height:72px;border-radius:50%;
  background:rgba(244,236,216,.18);backdrop-filter:blur(8px);
  border:1.5px solid rgba(244,236,216,.68);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:background .35s ease, transform .35s ease, border-color .35s ease;
}
.hero-play-btn:hover{background:rgba(244,236,216,.3);transform:translateX(-50%) scale(1.06);border-color:var(--ember)}
.hero-play-btn::before{
  content:"";border-style:solid;border-width:10px 0 10px 16px;
  border-color:transparent transparent transparent var(--paper);
  margin-left:4px;
}
.hero-play-btn .play-label{
  position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%);
  font-family:var(--sans);font-size:10px;letter-spacing:.48em;
  text-transform:uppercase;color:rgba(244,236,216,.65);white-space:nowrap;
}

/* Lightbox modal */
.video-modal{
  position:fixed;inset:0;z-index:1000;background:rgba(5,7,10,.94);
  display:none;align-items:center;justify-content:center;padding:4vh 4vw;
  backdrop-filter:blur(12px);
}
.video-modal.open{display:flex;animation:modalIn .5s ease}
@keyframes modalIn{from{opacity:0}to{opacity:1}}
.video-modal .player{
  position:relative;width:100%;max-width:1280px;aspect-ratio:16/9;
  box-shadow:0 50px 140px rgba(0,0,0,.7);background:#000;
}
.video-modal iframe{width:100%;height:100%;border:0}
.video-modal .close{
  position:absolute;top:-44px;right:0;
  background:transparent;border:0;color:var(--paper);cursor:pointer;
  font-family:var(--sans);font-size:11px;letter-spacing:.36em;text-transform:uppercase;
  padding:10px;opacity:.75;transition:opacity .2s ease;
}
.video-modal .close:hover{opacity:1;color:var(--ember)}

/* ══════ Archive / Gallery / Shop page restored (centered, bordered, clean) ══════ */
.archive{
  min-height:100vh;padding:22vh 0 16vh;background:var(--ink);
}
.archive-intro{
  text-align:center;padding:0 24px;margin:0 auto 10vh;max-width:780px;
}
.archive-intro .plate{
  font-family:var(--sans);font-size:10.5px;letter-spacing:.5em;text-transform:uppercase;
  color:var(--gold);margin-bottom:26px;font-weight:500;text-align:center;
}
.archive-intro h2{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(44px,5.5vw,84px);line-height:1;letter-spacing:-.02em;
  color:var(--paper);font-variation-settings:"SOFT" 100;
  max-width:20ch;margin:0 auto 22px;text-align:center;
}
.archive-intro h2 em{color:var(--ember)}
.archive-intro p{
  font-family:var(--serif);font-style:italic;font-weight:300;
  color:rgba(244,236,216,.68);font-size:17px;line-height:1.75;
  max-width:54ch;margin:0 auto;text-align:center;
}
.archive-grid{
  display:grid;grid-template-columns:repeat(3, 1fr);gap:4px;
  max-width:1440px;margin:0 auto;padding:0 24px;
}
.archive-tile{
  position:relative;overflow:hidden;aspect-ratio:4/5;
  background:var(--ink-2);display:block;color:var(--paper);
}
.archive-tile img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.6s ease, filter 1s ease;
  filter:saturate(1.04);
}
.archive-tile:hover img{transform:scale(1.06)}
.archive-tile .label{
  position:absolute;inset:auto 0 0 0;padding:16px 18px;text-align:center;
  background:linear-gradient(180deg, transparent, rgba(10,12,16,.85));
  opacity:0;transition:opacity .5s ease;
}
.archive-tile:hover .label{opacity:1}
.archive-tile .label h4{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:18px;color:var(--paper);margin:0;text-align:center;
}
.archive-tile .label span{
  display:block;font-family:var(--hand);font-size:15px;color:var(--gold);
  margin-top:2px;transform:rotate(-1deg);text-align:center;
}
.archive-tile .tile-badge{
  position:absolute;top:10px;right:10px;z-index:2;
  font-family:var(--sans);font-size:10px;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;color:var(--ink-1);
  background:var(--gold);padding:5px 9px;border-radius:2px;
  box-shadow:0 2px 8px rgba(0,0,0,.25);
  transition:transform .4s ease, background .3s ease;
}
.archive-tile.has-print:hover .tile-badge{
  transform:scale(1.06);background:var(--ember);color:var(--paper);
}
@media (max-width:780px){
  .archive-grid{grid-template-columns:repeat(2,1fr)}
  .archive-tile .tile-badge{font-size:9px;padding:4px 7px;top:8px;right:8px}
}

/* Shop-item page centered */
.shop-item-page{background:var(--ink);color:var(--paper)}

/* Photo detail page (individual /gallery/<slug>/) */
.photo-stage{
  min-height:100vh;padding:22vh 40px 14vh;max-width:1400px;margin:0 auto;
  display:grid;grid-template-columns:1.15fr .9fr;gap:60px;
}
.photo-stage .frame{position:relative;overflow:hidden;box-shadow:0 40px 90px rgba(0,0,0,.6)}
.photo-stage .frame img{width:100%;height:auto;display:block;filter:saturate(1.04)}
.photo-stage .aside .plate{
  font-family:var(--sans);font-size:10px;letter-spacing:.44em;text-transform:uppercase;
  color:var(--gold);margin-bottom:24px;display:flex;align-items:center;gap:16px;
}
.photo-stage .aside .plate::before{content:"";width:40px;height:1px;background:var(--gold)}
.photo-stage .aside h1{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(36px,4.5vw,58px);line-height:1;margin-bottom:14px;
  font-variation-settings:"SOFT" 100;color:var(--paper);
}
.photo-stage .aside .date{
  font-family:var(--hand);color:var(--gold);font-size:22px;margin-bottom:28px;
  transform:rotate(-1.5deg);display:inline-block;
}
.photo-stage .aside p{
  font-family:var(--serif);font-style:italic;font-size:16.5px;line-height:1.7;
  color:rgba(244,236,216,.72);margin-bottom:26px;
}
@media (max-width:900px){
  .photo-stage{grid-template-columns:1fr;padding:18vh 20px 10vh}
}

/* Videos page */
.videos-section{background:var(--ink);padding:18vh 0 14vh}
.videos-section .intro{padding:0 24px;max-width:1040px;margin:0 auto 8vh;text-align:center}
.videos-section .plate{
  font-family:var(--sans);font-size:10.5px;letter-spacing:.5em;text-transform:uppercase;
  color:var(--gold);margin-bottom:24px;text-align:center;font-weight:500;
}
.videos-section h2{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(44px,5.5vw,84px);line-height:.95;letter-spacing:-.025em;
  margin:0 auto 26px;color:var(--paper);font-variation-settings:"SOFT" 100;
  max-width:18ch;text-align:center;
}
.videos-section h2 em{color:var(--ember)}
.videos-section p{
  max-width:52ch;margin:0 auto;color:rgba(244,236,216,.68);font-size:17px;
  line-height:1.75;font-family:var(--serif);font-style:italic;text-align:center;
}
.video-feature{max-width:1100px;margin:0 auto;padding:0 40px}
.video-feature .player{width:100%;aspect-ratio:16/9;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.55)}
.video-feature .player iframe{width:100%;height:100%;border:0}
.video-feature .caption{margin-top:18px;text-align:center}
.video-feature h3{font-family:var(--serif);font-style:italic;font-weight:300;font-size:24px;color:var(--paper)}
.video-feature .date{font-family:var(--hand);color:var(--gold);font-size:18px;transform:rotate(-1deg);display:inline-block;margin-top:4px}
.video-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:32px;padding:8vh 40px 0;max-width:1400px;margin:0 auto}
.video-list .player-sm{aspect-ratio:16/9;overflow:hidden}
.video-list .player-sm iframe{width:100%;height:100%;border:0}
.video-list h3{font-family:var(--serif);font-style:italic;font-weight:300;font-size:19px;color:var(--paper);margin-top:12px;text-align:center}
.video-list .date{font-family:var(--hand);font-size:15px;color:var(--gold);transform:rotate(-1deg);display:inline-block;margin-top:2px}


/* ══════ Breath — ambient 8-second breathing rhythm ══════
   4s inhale / 4s exhale, matched across elements so the whole page
   breathes together. Disabled for users with prefers-reduced-motion. */

@keyframes breathe {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.015); }
}
@keyframes breathe-glow {
  0%, 100% { opacity: .86; text-shadow: 0 4px 30px rgba(0,0,0,.45); }
  50%      { opacity: 1;   text-shadow: 0 4px 60px rgba(198,124,90,.28), 0 4px 30px rgba(0,0,0,.45); }
}
@keyframes breathe-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(244,236,216,.22); transform: translateX(-50%) scale(1); }
  50%      { box-shadow: 0 0 0 14px rgba(244,236,216,0);  transform: translateX(-50%) scale(1.04); }
}
@keyframes breathe-opacity {
  0%, 100% { opacity: .88; }
  50%      { opacity: 1; }
}
@keyframes breathe-hover {
  0%, 100% { transform: translateY(0); opacity: .55; }
  50%      { transform: translateY(10px); opacity: 1; }
}

/* Hero h1 — very subtle breath so the words live */
.overture-v2 h1 { animation: breathe-glow 8s ease-in-out infinite; }

/* Ken Burns — slower, more organic breath-zoom (was 24s, now 32s for calmer pace) */
.ken-burns { animation: kenburns 32s ease-in-out infinite alternate; }

/* Play button — breathing pulse ring */
.hero-play-btn { animation: breathe-pulse 8s ease-in-out infinite; }

/* Scroll cue — replace drift with breath rhythm */
.overture-cue, .overture .descent { animation: breathe-hover 8s ease-in-out infinite; }

/* Caveat handwritten kickers — gentle opacity breath */
.hand-kicker { animation: breathe-opacity 8s ease-in-out infinite; }

/* Movement-line — subtle breath on the central caption */
.movement-v2 .movement-line { animation: breathe-opacity 10s ease-in-out infinite; }

/* Letter headline — matched breath */
.letter-v2 h2 { animation: breathe-glow 10s ease-in-out infinite; }

/* Respect reduced-motion preference (a11y + motion sickness) */
@media (prefers-reduced-motion: reduce) {
  .overture-v2 h1, .ken-burns, .hero-play-btn, .overture-cue, .overture .descent,
  .hand-kicker, .movement-v2 .movement-line, .letter-v2 h2 {
    animation: none !important;
  }
}
