/* ============================================================
   OSUNDI - SITE-V2
   Fonts
   ============================================================ */
@font-face{font-family:'Cormorant Garamond';src:url('../assets/fonts/CormorantGaramond-Light.ttf') format('truetype');font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:'Cormorant Garamond';src:url('../assets/fonts/CormorantGaramond-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Cormorant Garamond';src:url('../assets/fonts/CormorantGaramond-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'Cormorant Garamond';src:url('../assets/fonts/CormorantGaramond-SemiBold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:'Cormorant Garamond';src:url('../assets/fonts/CormorantGaramond-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'Cormorant Garamond';src:url('../assets/fonts/CormorantGaramond-Italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:'Cormorant Garamond';src:url('../assets/fonts/CormorantGaramond-MediumItalic.ttf') format('truetype');font-weight:500;font-style:italic;font-display:swap;}
@font-face{font-family:'Cormorant Garamond';src:url('../assets/fonts/CormorantGaramond-SemiBoldItalic.ttf') format('truetype');font-weight:600;font-style:italic;font-display:swap;}
@font-face{font-family:'Exmouth';src:url('../assets/fonts/exmouth_.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Engry';src:url('../assets/fonts/engry.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Cokerfill';src:url('../assets/fonts/Cokerfill-Demo.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}

/* ============================================================
   Tokens
   ============================================================ */
:root{
  --black:#110E0E;
  --wine-dark:#2D0F11;
  --wine:#6D2B3A;
  --cream:#EEE1D2;
  --grey:#8a8688;
  --grey-dark:#575759;
  --silver-1:#f6f6f6;
  --silver-2:#c7c7ca;
  --silver-3:#87878a;
  --silver-4:#dcdcdc;
  --serif:'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --display:'Exmouth', var(--serif);
  --menu-font:'Engry', var(--serif);
  --script:'Cokerfill', var(--serif);
  --max:1360px;
  --edge:clamp(24px, 5vw, 72px);
  --silver-grad: linear-gradient(120deg, var(--silver-1) 0%, var(--silver-3) 28%, var(--silver-2) 50%, var(--silver-4) 70%, var(--silver-1) 100%);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
html.flame-cursor-active, html.flame-cursor-active *{cursor:none !important;}
body{
  margin:0;
  background:
    radial-gradient(ellipse 90% 55% at 82% 8%, rgba(109,43,58,.55), transparent 60%),
    linear-gradient(175deg, #140a0b 0%, #200c0e 28%, #2c1013 55%, #331215 78%, #3a1416 100%);
  background-attachment:fixed;
  color:var(--cream);
  font-family:var(--serif);
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
h1,h2,h3,h4{margin:0;font-weight:500;}
button{font-family:inherit;background:none;border:none;color:inherit;cursor:pointer;}
.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--edge);padding-right:var(--edge);}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
::selection{background:var(--wine);color:var(--cream);}

.eyebrow{
  display:inline-block;
  font-family:'Cokerfill', var(--serif);
  font-weight:500;
  font-size:27px;
  letter-spacing:.08em;
  color:var(--cream);
}
.exmouth-text{font-family:var(--serif) !important;font-size:1.5em !important;}
.section-head{text-align:center;max-width:640px;margin:0 auto clamp(36px,6vw,64px);}
.section-head h1,
.section-head h2{
  font-size:clamp(30px,4.4vw,46px);
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--cream);
  margin-top:14px;
}
.section-head p{margin-top:16px;color:var(--grey);font-size:15px;font-style:italic;}

.btn{
  position:relative;
  display:inline-flex;align-items:center;justify-content:center;
  padding:18px 40px;
  border-radius:16px;
  background:linear-gradient(180deg, #1c0d0e 0%, #0d0607 100%);
  color:var(--cream);
  font-weight:600;letter-spacing:.15em;text-transform:uppercase;font-size:13px;
  border:1px solid rgba(255,255,255,.08);
  cursor:pointer;
  overflow:hidden;
  transition:transform .3s ease;
}
.btn:hover{transform:translateY(-2px);}
.btn__ripple{
  position:absolute;inset:0;
  border-radius:inherit;
  overflow:hidden;
  pointer-events:none;
}
.btn__ripple::before{
  content:'';
  position:absolute;inset:0;
  border-radius:inherit;
  background:radial-gradient(130% 160% at 50% 110%, #8a3d4d 0%, var(--wine) 45%, var(--wine-dark) 90%);
  opacity:0;
  transition:opacity .4s ease;
}
.btn:hover .btn__ripple::before{opacity:1;}
.btn__ripple::after{
  content:'';
  position:absolute;inset:0;
  border-radius:inherit;
  background:radial-gradient(circle at var(--x,50%) var(--y,50%), #9c4a5a 0%, var(--wine) 45%, var(--wine-dark) 80%);
  opacity:0;
  transform:scale(.3);
}
.btn.is-active .btn__ripple::after{
  animation:btnFlash .7s ease-out forwards;
}
@keyframes btnFlash{
  0%{opacity:0;transform:scale(.3);}
  30%{opacity:1;transform:scale(1.08);}
  60%{opacity:.9;transform:scale(1);}
  100%{opacity:0;transform:scale(1.2);}
}
.btn__label{position:relative;z-index:1;}

section{position:relative;padding:clamp(40px,5.5vw,72px) 0;}

/* ============================================================
   NAV
   ============================================================ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:26px var(--edge);
  transition:background .4s ease, padding .4s ease, backdrop-filter .4s ease;
}
.nav.is-scrolled{
  padding-top:16px;padding-bottom:16px;
  background:rgba(17,14,14,.72);
  backdrop-filter:blur(14px);
  box-shadow:0 1px 0 rgba(238,225,210,.08);
}
.nav__burger{
  display:flex;flex-direction:column;justify-content:center;gap:6px;
  width:34px;height:28px;
  z-index:210;
}
.nav__burger span{
  display:block;height:1px;width:100%;
  background:var(--silver-2);
  transition:transform .4s ease, opacity .3s ease, background .3s ease;
}
.nav__burger:hover span{background:var(--cream);}
.nav.is-open .nav__burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav.is-open .nav__burger span:nth-child(2){opacity:0;}
.nav.is-open .nav__burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.nav__socials{display:flex;align-items:flex-end;gap:10px;}
.social-dot{
  height:20.2px;
  display:flex;align-items:center;justify-content:center;
  transition:transform .35s ease, filter .35s ease;
}
.social-dot img{height:100%;width:auto;display:block;}
.social-dot svg{width:100%;height:100%;display:block;}
.social-dot--boost{margin-left:-4px;}
.social-dot:hover{transform:translateY(-2px);filter:brightness(1.15) drop-shadow(0 2px 8px rgba(0,0,0,.4));}

.nav__menu{
  position:fixed;inset:0 0 auto 0;top:0;
  padding:74px var(--edge) 40px;
  transform:translateY(-100%);
  opacity:0;
  transition:transform .55s cubic-bezier(.65,0,.2,1), opacity .4s ease;
  z-index:190;
  pointer-events:none;
}
.nav.is-open .nav__menu{transform:translateY(0);opacity:1;pointer-events:auto;}
.nav__menu ul{display:flex;flex-direction:column;gap:7px;max-width:var(--max);margin:0 auto;}
.nav__menu li{
  opacity:0;transform:translateY(14px);
  transition:opacity .5s ease, transform .5s ease;
}
.nav.is-open .nav__menu li{opacity:1;transform:translateY(0);}
.nav.is-open .nav__menu li:nth-child(1){transition-delay:.08s;}
.nav.is-open .nav__menu li:nth-child(2){transition-delay:.14s;}
.nav.is-open .nav__menu li:nth-child(3){transition-delay:.2s;}
.nav.is-open .nav__menu li:nth-child(4){transition-delay:.26s;}
.nav__menu a{
  display:block;padding:1px 4px;line-height:1.15;
  font-family:var(--menu-font);
  font-size:clamp(13px,1.4vw,16px);
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--cream);
  transition:color .3s ease, padding-left .3s ease;
}
.nav__menu a:hover{color:var(--silver-2);padding-left:14px;}

@media (max-width:720px){
  .nav{
    position:static;
    justify-content:flex-end;
    padding:20px var(--edge);
    background:none !important;
    backdrop-filter:none !important;
    box-shadow:none !important;
  }
  .nav__burger{position:fixed;top:20px;left:var(--edge);z-index:250;}
  .nav__burger::before{
    content:'';
    position:absolute;top:50%;left:50%;
    width:88px;height:88px;
    transform:translate(-50%,-50%);
    background:radial-gradient(circle, rgba(0,0,0,.7) 0%, rgba(0,0,0,.4) 50%, transparent 78%);
    z-index:-1;
    pointer-events:none;
  }
  .nav__socials{gap:8px;}
  .nav__menu{
    position:fixed;inset:auto;top:62px;left:var(--edge);right:auto;bottom:auto;
    width:auto;min-width:190px;
    padding:20px 26px;
    background:rgba(17,14,14,.94);
    backdrop-filter:blur(16px);
    border:1px solid rgba(238,225,210,.12);
  }
  .nav__menu ul{gap:10px;max-width:none;margin:0;}
}
@media (max-width:420px){
  .social-dot{height:17px;}
  .nav__socials{gap:7px;}
}

/* ============================================================
   HERO
   ============================================================ */
.hero{
  position:relative;
  min-height:100svh;
  overflow:hidden;
}
.hero__portrait{
  position:absolute;top:0;right:0;height:100%;width:40%;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.6) 12%, #000 30%);
  mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.6) 12%, #000 30%);
}
.hero__portrait img{width:100%;height:100%;object-fit:cover;object-position:38% 8%;filter:saturate(.85) contrast(1.05);}
.hero__fade{
  position:absolute;left:0;right:0;bottom:0;height:42%;z-index:1;
  background:linear-gradient(180deg, transparent, var(--black) 94%);
  pointer-events:none;
}
.hero__inner{position:absolute;top:200px;left:0;right:0;z-index:2;width:100%;padding:0 var(--edge);text-align:center;transform:translateX(-15vw);}
.hero__title{margin:0;font-weight:inherit;}
.hero__logo{max-width:min(680px,54vw);width:100%;height:auto;margin:0 auto;display:block;filter:drop-shadow(0 10px 40px rgba(0,0,0,.55));}
.hero__scroll{
  position:absolute;left:50%;bottom:44px;z-index:3;
  transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:8px;
  font-family:var(--serif);
  font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--silver-2);
}
.scroll-line{
  position:relative;
  width:1px;height:44px;
  background:rgba(238,225,210,.22);
  overflow:hidden;
}
.scroll-line::after{
  content:'';
  position:absolute;
  left:0;top:-16px;
  width:100%;height:16px;
  background:linear-gradient(180deg, transparent, var(--cream));
  animation:scrollTravel 2.2s ease-in-out infinite;
}
@keyframes scrollTravel{
  0%{transform:translateY(0);opacity:0;}
  15%{opacity:1;}
  80%{opacity:1;}
  100%{transform:translateY(60px);opacity:0;}
}
@media (max-width:720px){
  .hero{
    display:flex;flex-direction:column;align-items:center;
    min-height:auto;
    padding:60px 0 0;
    overflow:hidden;
  }
  .hero__inner{
    position:relative;top:auto;left:auto;right:auto;transform:none;
    order:1;
    width:100%;padding:0 var(--edge);
    margin-bottom:-12px;
    z-index:2;
  }
  .hero__logo{max-width:86vw;}
  .hero__portrait{
    position:relative;top:auto;right:auto;
    width:100%;max-width:none;
    aspect-ratio:860/1271;height:auto;
    margin-left:0;margin-right:0;
    order:2;
    -webkit-mask-image:linear-gradient(to bottom, transparent 0%, #000 14%, #000 62%, transparent 100%);
    mask-image:linear-gradient(to bottom, transparent 0%, #000 14%, #000 62%, transparent 100%);
  }
  .hero__portrait img{width:100%;height:100%;object-fit:cover;object-position:left top;}
  .hero__fade{
    height:312px;
    background:linear-gradient(180deg, transparent 0%, var(--black) 65%, var(--black) 100%);
  }
  .music__fade-top{height:220px;background:linear-gradient(180deg, var(--black) 0%, var(--black) 30%, transparent 100%);}
  .hero__scroll{
    position:relative;left:auto;bottom:auto;transform:none;
    order:3;
    margin-top:8px;
    padding-bottom:44px;
  }
}
.section-divider{display:flex;justify-content:center;padding:clamp(20px,3vw,36px) 0;}

/* ============================================================
   MUSIC
   ============================================================ */
.music__fade-top{
  position:absolute;top:0;left:0;right:0;height:160px;z-index:0;
  background:linear-gradient(180deg, var(--black), transparent);
  pointer-events:none;
}
#music > .wrap{position:relative;z-index:1;}

.music__carousel{display:flex;align-items:center;gap:clamp(10px,2vw,28px);}
.music__stage3d{
  flex:1;min-width:0;
  position:relative;
  height:clamp(260px,30vw,400px);
  perspective:1500px;
  touch-action:pan-y;
  --carousel-radius:clamp(164px,18.5vw,241px);
}
.music__ring{
  position:absolute;inset:0;
  transform-style:preserve-3d;
  transition:transform .7s cubic-bezier(.65,0,.2,1);
}
.music__item3d{
  position:absolute;top:50%;left:50%;
  width:clamp(100px,11vw,155px);
  margin-left:clamp(-78px,-5.7vw,-50px);
  margin-top:clamp(-88px,-6.4vw,-60px);
  transform-style:preserve-3d;
  transition:opacity .6s ease, filter .6s ease;
}
.music__item3d .frame{pointer-events:none;}
.music__item3d.is-center .frame{pointer-events:auto;}
.music__arrow{
  flex:none;width:56px;height:44px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  transition:transform .3s ease;
}
.music__arrow:hover{transform:scale(1.1);}
.music__arrow .arrow-line{
  position:relative;
  display:block;
  width:44px;height:1px;
  background:rgba(238,225,210,.22);
  overflow:hidden;
}
.music__arrow .arrow-line::after{
  content:'';
  position:absolute;top:0;left:-18px;
  width:18px;height:100%;
  background:linear-gradient(90deg, transparent, var(--cream));
  animation:lineTravelX 2.2s ease-in-out infinite;
}
.music__arrow--prev .arrow-line::after{animation-direction:reverse;}
@keyframes lineTravelX{
  0%{transform:translateX(0);opacity:0;}
  15%{opacity:1;}
  80%{opacity:1;}
  100%{transform:translateX(62px);opacity:0;}
}

.music__item3d{display:flex;flex-direction:column;}
.music__item3d .frame{flex:1;}

.frame{position:relative;display:block;transition:transform .5s ease;}
.frame__inner{position:relative;overflow:hidden;aspect-ratio:1/1;background:#0d0607;}
.frame__cover{
  width:100%;height:100%;
  object-fit:cover;
  filter:saturate(.8) contrast(1.05);
  transition:filter .5s ease;
}
.frame__label{
  position:absolute;inset:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  background:rgba(17,14,14,.72);
  opacity:0;transition:opacity .4s ease;
  text-align:center;padding:16px;
}
.frame__label span{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--silver-2);}
.frame__label strong{font-size:15px;letter-spacing:.15em;text-transform:uppercase;color:var(--cream);}
.frame__ornate-border{
  --frame-bw:clamp(24px,2.6vw,37px);
  position:absolute;inset:calc(-1 * var(--frame-bw));
  border-style:solid;
  border-color:transparent;
  border-width:var(--frame-bw);
  border-image-source:url('../assets/img/frame/ornate-silver-frame.png');
  border-image-slice:489 730 484 705;
  border-image-repeat:stretch;
  pointer-events:none;
  z-index:2;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.5));
}
.frame:hover{transform:translateY(-6px);}
.frame:hover .frame__cover{filter:saturate(1) contrast(1.05) brightness(.6);}
.frame:hover .frame__label{opacity:1;}
.frame__cap{
  margin-top:clamp(30px,3.4vw,42px);text-align:center;
  padding:12px 16px 14px;
  background:radial-gradient(ellipse 75% 85% at center, rgba(0,0,0,.65) 0%, rgba(0,0,0,.32) 48%, transparent 78%);
  opacity:0;
  transition:opacity .4s ease;
  pointer-events:none;
}
.music__item3d.is-center .frame__cap{opacity:1;pointer-events:auto;}
.frame__cap .t{display:block;font-size:16px;letter-spacing:.06em;color:var(--cream);}
.frame__cap .y{display:block;font-size:12px;letter-spacing:.2em;color:var(--grey);margin-top:2px;}

.music__more{text-align:center;margin-top:clamp(24px,3vw,38px);}

@media (max-width:720px){
  .music__stage3d{--carousel-radius:125px;height:300px;}
  .music__item3d{width:125px;margin-left:-62px;margin-top:-78px;}
  .music__arrow{width:44px;}
  .music__arrow .arrow-line{width:28px;}
  .music__arrow .arrow-line::after{animation-name:lineTravelXMobile;}
  .music__more{margin-top:clamp(40px,7vw,56px);}
  @keyframes lineTravelXMobile{
    0%{transform:translateX(0);opacity:0;}
    15%{opacity:1;}
    80%{opacity:1;}
    100%{transform:translateX(46px);opacity:0;}
  }
}

/* ============================================================
   BIOGRAPHY
   ============================================================ */
.bio__grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(18px,2.5vw,36px);align-items:stretch;}
.bio__frame{position:relative;display:flex;align-items:center;justify-content:center;}
.bio__frame img{width:auto;height:100%;max-width:100%;object-fit:contain;display:block;}
.bio__quote{
  font-family:var(--serif);font-style:italic;font-weight:500;
  font-size:clamp(22px,2.6vw,30px);
  line-height:1.4;color:var(--cream);
  border-left:1px solid var(--silver-2);
  padding-left:24px;margin:0 0 26px;
}
.bio__text p{font-size:18px;line-height:1.85;color:#e7d9cc;margin:0 0 18px;}
.bio__facts{display:grid;grid-template-columns:1fr;gap:12px;margin:30px 0 6px;padding-top:26px;border-top:1px solid rgba(238,225,210,.15);}
.bio__facts > div{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 10px;}
.bio__facts dt{flex:none;width:110px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--grey);margin-bottom:0;white-space:nowrap;}
.bio__facts dd{flex:1;min-width:0;margin:0;font-size:17px;color:var(--cream);}
@media (max-width:860px){.bio__grid{grid-template-columns:1fr;}}

/* ============================================================
   BLOG
   ============================================================ */
.blog__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,34px);}
.blog__card{
  position:relative;
  overflow:hidden;
  border:1px solid #ffffff;
  box-shadow:0 14px 34px rgba(0,0,0,.45);
  padding:28px 24px;
  transition:border-color .4s ease, transform .4s ease, box-shadow .4s ease;
  display:flex;flex-direction:column;height:100%;
  background-size:cover;background-position:center;
}
.blog__card::before{
  content:'';position:absolute;inset:0;z-index:0;
  background:linear-gradient(180deg, rgba(10,8,8,.4) 0%, rgba(10,8,8,.88) 58%, rgba(10,8,8,.97) 100%);
}
.blog__card::after{
  content:'';position:absolute;inset:7px;z-index:1;
  border:1px solid #ffffff;
  pointer-events:none;
}
.blog__card:hover{border-color:#ffffff;box-shadow:0 18px 42px rgba(0,0,0,.55);transform:translateY(-4px);}
.blog__card-link{position:absolute;inset:0;z-index:2;}
.blog__meta{position:relative;z-index:1;font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--silver-2);margin-bottom:14px;}
.blog__card h3{position:relative;z-index:1;font-size:22px;line-height:1.3;color:var(--cream);margin-bottom:12px;}
.blog__card p{position:relative;z-index:1;font-size:15px;line-height:1.7;color:var(--grey);flex-grow:1;margin:0 0 18px;}
.blog__more{position:relative;z-index:1;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--silver-2);}
.blog__cta{text-align:center;margin-top:clamp(40px,6vw,64px);}
.blog__cta p{color:var(--grey);margin-bottom:18px;font-style:italic;}
@media (max-width:860px){.blog__grid{grid-template-columns:1fr;}}

/* ============================================================
   TOUR
   ============================================================ */
.tour__panel{
  max-width:820px;margin:0 auto;
  text-align:center;
  border:1px solid rgba(238,225,210,.15);
  padding:clamp(40px,6vw,72px) clamp(24px,5vw,60px);
  position:relative;
}
.tour__panel h3{font-size:clamp(22px,3vw,28px);color:var(--cream);letter-spacing:.04em;margin-bottom:16px;}
.tour__panel p{font-size:17px;line-height:1.8;color:var(--grey);margin:0 auto 30px;max-width:520px;}
.tour__actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}

/* ============================================================
   NEWSLETTER band
   ============================================================ */
.newsletter{
  border-top:1px solid rgba(238,225,210,.12);
  border-bottom:1px solid rgba(238,225,210,.12);
  text-align:center;
}
.newsletter h2{font-size:clamp(28px,4vw,40px);letter-spacing:.05em;color:var(--cream);margin:14px 0 12px;}
.newsletter p{color:var(--grey);max-width:520px;margin:0 auto 30px;font-style:italic;}
.newsletter__form{display:flex;justify-content:center;}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{padding-top:clamp(40px,6vw,64px);}
.footer__top{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr 1fr;gap:32px;padding-bottom:28px;border-bottom:1px solid rgba(238,225,210,.1);}
.footer__cols{display:contents;}
.footer__brand > img{width:170px;margin-bottom:14px;opacity:.92;}
.footer__brand p{color:var(--grey);font-size:15px;line-height:1.7;max-width:280px;}
.footer__col h4{font-size:12px;letter-spacing:.25em;text-transform:uppercase;color:var(--silver-2);margin-bottom:16px;}
.footer__col ul{display:flex;flex-direction:column;gap:10px;}
.footer__col a{font-size:15px;color:var(--grey);transition:color .3s ease;}
.footer__col a:hover{color:var(--cream);}
.footer__socials{display:flex;align-items:flex-end;gap:10px;margin-top:16px;flex-wrap:wrap;}
.footer__contact-line{
  grid-column:1/-1;margin-top:6px;
  color:var(--grey);font-size:14px;line-height:1.6;
}
.footer__contact-line a{color:var(--cream);}

.faq__list{max-width:820px;margin:0 auto;}
.faq__item{border-bottom:1px solid rgba(238,225,210,.1);}
.faq__item summary{
  list-style:none;cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;gap:20px;
  padding:18px 2px;font-size:18px;color:var(--cream);
}
.faq__item summary::-webkit-details-marker{display:none;}
.faq__item summary::after{content:'+';font-size:22px;color:var(--silver-2);transition:transform .3s ease;flex:none;}
.faq__item[open] summary::after{transform:rotate(45deg);}
.faq__item p{margin:0 0 20px;color:var(--grey);font-size:15px;line-height:1.75;max-width:640px;}

.faq__tabs{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;
  max-width:720px;margin:0 auto clamp(36px,5vw,54px);
}
.faq__tab{
  padding:12px 10px;
  border:1px solid rgba(238,225,210,.25);
  font-size:12px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--grey);text-align:center;
  transition:border-color .3s ease, color .3s ease, background .3s ease;
}
.faq__tab:hover{color:var(--cream);border-color:rgba(199,199,202,.5);}
.faq__tab.active{color:#1c1315;background:var(--silver-grad);border-color:transparent;}
.faq__panel{display:none;}
.faq__panel.active{display:block;}

.simple-nav__logo img{height:34px;width:auto;display:block;}
.simple-nav__back{font-size:13px;letter-spacing:.08em;color:var(--silver-2);transition:color .3s ease;}
.simple-nav__back:hover{color:var(--cream);}

.legal-page{max-width:760px;padding-top:clamp(90px,12vw,140px);padding-bottom:60px;}
.legal-page h1{font-size:clamp(28px,4vw,40px);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;}
.legal-page .updated{font-size:13px;color:var(--grey);margin-bottom:36px;}
.legal-page h2{font-size:18px;text-transform:uppercase;letter-spacing:.1em;color:var(--silver-2);margin:32px 0 12px;}
.legal-page p{font-size:16px;line-height:1.8;color:#e7d9cc;margin:0 0 16px;}
.legal-page a{color:var(--silver-2);text-decoration:underline;}
.legal-page a:hover{color:var(--cream);}

.footer__bottom{
  display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:16px;
  padding:20px 0 32px;
  font-size:12px;letter-spacing:.05em;color:#ffffff;
}
.footer__bottom a{color:var(--grey-dark);}
.footer__bottom a:hover{color:var(--cream);}

@media (max-width:900px){
  .footer__top{grid-template-columns:1fr 1fr;}
}
@media (max-width:720px){
  .footer__top{grid-template-columns:1fr;}
  .footer__cols{display:grid;grid-template-columns:1fr 1fr;gap:28px 24px;}
}

/* ============================================================
   Reveal-on-scroll
   ============================================================ */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s ease, transform .9s ease;}
.reveal.in{opacity:1;transform:translateY(0);}

/* form fields */
.field-row{display:flex;gap:10px;max-width:560px;margin:0 auto;border:none;}
.field-row input{
  flex:1;min-width:0;background:transparent;border:1px solid rgba(238,225,210,.35);border-radius:16px;padding:14px 20px;
  font-family:var(--serif);font-size:15px;color:var(--cream);
}
.field-row input::placeholder{color:var(--grey-dark);}
.field-row input:focus{outline:none;border-color:rgba(238,225,210,.6);}
.newsletter__submit{flex:none;padding:14px 30px;}
.form-msg{margin-top:14px;font-size:13px;color:var(--silver-2);min-height:1em;}
@media (max-width:480px){
  .field-row{flex-wrap:wrap;}
  .field-row input{flex:1 1 100%;}
  .field-row button{flex:1 1 100%;}
}

/* ============================================================
   ENTRY POPUP
   ============================================================ */
.entry-popup{
  position:fixed;inset:0;z-index:500;
  display:flex;align-items:center;justify-content:center;
  padding:24px;
  opacity:0;pointer-events:none;
  transition:opacity .45s ease;
}
.entry-popup.is-visible{opacity:1;pointer-events:auto;}
.entry-popup__backdrop{
  position:absolute;inset:0;
  background:rgba(8,5,5,.72);
  backdrop-filter:blur(6px);
}
.entry-popup__panel{
  position:relative;
  width:100%;max-width:460px;
  max-height:88vh;overflow-y:auto;
  text-align:center;
  padding:clamp(32px,5vw,48px) clamp(24px,4vw,40px) clamp(28px,4vw,36px);
  background:linear-gradient(180deg, #22100f 0%, #150a0a 100%);
  border:1px solid rgba(238,225,210,.15);
  box-shadow:0 30px 70px rgba(0,0,0,.55);
  transform:translateY(18px);
  transition:transform .45s cubic-bezier(.2,.8,.2,1);
}
.entry-popup.is-visible .entry-popup__panel{transform:translateY(0);}
.entry-popup__close{
  position:absolute;top:14px;right:16px;
  width:32px;height:32px;
  display:flex;align-items:center;justify-content:center;
  font-size:24px;line-height:1;color:var(--silver-2);
  transition:color .3s ease, transform .3s ease;
}
.entry-popup__close:hover{color:var(--cream);transform:rotate(90deg);}
.entry-popup__panel .eyebrow{font-size:22px;}
.entry-popup__panel h2{
  font-size:clamp(24px,3.4vw,32px);letter-spacing:.03em;
  color:var(--cream);margin:12px 0 14px;
}
.entry-popup__sub{
  color:var(--grey);font-size:15px;line-height:1.7;font-style:italic;
  max-width:360px;margin:0 auto 26px;
}
.entry-popup__form .field-row{max-width:400px;}
.entry-popup__reassure{font-size:12px;color:var(--grey-dark);margin:16px 0 6px;line-height:1.6;}
.entry-popup__later{
  display:inline-block;margin-top:6px;
  font-size:13px;color:var(--silver-2);
  border-bottom:1px solid transparent;
  transition:color .3s ease, border-color .3s ease;
}
.entry-popup__later:hover{color:var(--cream);border-color:rgba(238,225,210,.4);}
@media (max-width:480px){
  .entry-popup__panel{padding-top:44px;}
}

