/* ============================================================
   ADVERTISE — visual layer · scoped to .adv-page
   Same words as before; real adverts replace the stock video.
   ============================================================ */

.adv-page{ --paper:#f7f3ea; --ink:#14263b; --ink-dim:#5d6a78; --hair:rgba(20,38,59,.12); --em:#9a7327; }

/* ---------- HERO ---------- */
.adv-page .page-hero{ height:92svh; min-height:620px; background:#0a1a31; }
.adv-page .page-hero__media{ background:
    radial-gradient(90% 80% at 78% 45%, rgba(46,80,132,.55), transparent 60%),
    linear-gradient(180deg,#0c2139 0%,#0a1a30 100%); overflow:hidden; }
.adv-glow{ position:absolute; border-radius:50%; filter:blur(80px); pointer-events:none; }
.adv-glow--a{ width:620px; height:620px; right:4%; top:10%; background:radial-gradient(circle,rgba(230,200,127,.34),transparent 68%); animation:adv-drift 16s ease-in-out infinite; }
.adv-glow--b{ width:520px; height:520px; left:-8%; bottom:-20%; background:radial-gradient(circle,rgba(184,146,58,.16),transparent 70%); animation:adv-drift 21s ease-in-out infinite reverse; }
.adv-hero__grain{ position:absolute; inset:0; opacity:.5;
  background-image:linear-gradient(rgba(240,235,224,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(240,235,224,.035) 1px,transparent 1px);
  background-size:72px 72px; -webkit-mask-image:radial-gradient(ellipse 60% 60% at 70% 50%,#000 20%,transparent 75%); mask-image:radial-gradient(ellipse 60% 60% at 70% 50%,#000 20%,transparent 75%); }
.adv-page .page-hero__content{ max-width:min(100%,46vw,640px); }
@media (max-width:860px){ .adv-page .page-hero__content{ max-width:100%; } }

.adv-hero__art{ position:absolute; z-index:2; right:clamp(1rem,6vw,7rem); top:50%; width:min(44vw,600px); aspect-ratio:1/1;
  transform:translateY(-46%); pointer-events:none; }
.adv-card{ position:absolute; margin:0; border-radius:6px; overflow:hidden; background:#fff;
  box-shadow:0 50px 90px -40px rgba(0,0,0,.85), 0 16px 30px -18px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.08);
  opacity:0; animation:adv-deal 1.3s var(--ease-out) forwards; }
.adv-card img{ display:block; width:100%; height:auto; }
.adv-card--back{ width:46%; left:4%; top:2%; --r:-9deg; animation-delay:.35s; }
.adv-card--mid{ width:46%; right:6%; top:0; --r:6deg; animation-delay:.55s; }
.adv-card--front{ width:74%; left:14%; bottom:2%; --r:-2deg; animation-delay:.8s; }
.adv-card--back img, .adv-card--mid img{ aspect-ratio:900/1277; object-fit:cover; }
.adv-hero__art .adv-card{ transform:rotate(var(--r)); }
.adv-hero__art.is-float .adv-card{ opacity:1; }
.adv-hero__art.is-float .adv-card--back{ animation:adv-bob 7s ease-in-out infinite; }
.adv-hero__art.is-float .adv-card--mid{ animation:adv-bob 8s ease-in-out .6s infinite; }
.adv-hero__art.is-float .adv-card--front{ animation:adv-bob 6s ease-in-out 1.2s infinite; }

/* ---------- STORY → light ---------- */
.adv-page .story{ max-width:none; background:var(--paper); padding-left:max(var(--pad), calc((100% - 1100px)/2)); padding-right:max(var(--pad), calc((100% - 1100px)/2)); }
.adv-page .story .kicker{ color:var(--em); }
.adv-page .story__lead{ color:var(--ink); }
.adv-page .story__lead em{ color:var(--em); }
.adv-page .story__body p{ color:var(--ink-dim); }
.adv-page .story__body p:first-child::first-letter{ float:left; font-family:var(--display); font-size:4.2em; line-height:.82; padding:.08em .12em 0 0; color:var(--em); }

/* ---------- REAL ADVERTS ---------- */
.adv-gallery{ background:var(--paper); padding:clamp(2rem,5vh,4rem) var(--pad) clamp(6rem,13vh,9rem); }
.adv-gallery__head{ max-width:1100px; margin:0 auto clamp(2.5rem,6vh,4rem); text-align:center; }
.adv-gallery .kicker{ color:var(--em); margin-bottom:1rem; }
.adv-gallery__title{ font-family:var(--display); font-weight:500; letter-spacing:-.01em; line-height:1.05; font-size:clamp(2.2rem,4.6vw,3.8rem); color:var(--ink); }
.adv-gallery__title em{ font-style:italic; color:var(--em); }
.adv-gallery__grid{ max-width:1100px; margin:0 auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(.9rem,1.8vw,1.5rem); align-items:stretch; }
.adv-gallery__stack{ display:grid; grid-template-rows:1fr 1fr; gap:clamp(.9rem,1.8vw,1.5rem); }
.adv-tile{ all:unset; box-sizing:border-box; position:relative; display:block; cursor:zoom-in; border-radius:10px; overflow:hidden; background:#fff;
  box-shadow:0 30px 60px -38px rgba(11,30,58,.55), 0 0 0 1px var(--hair); transition:transform .6s var(--ease-out), box-shadow .6s var(--ease-out); }
.adv-tile img{ display:block; width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease-out); }
.adv-tile:hover{ transform:translateY(-8px) rotate(-.6deg); box-shadow:0 50px 80px -40px rgba(11,30,58,.6), 0 0 0 1px rgba(154,115,39,.4); }
.adv-tile:hover img{ transform:scale(1.04); }
.adv-tile:focus-visible{ outline:2px solid var(--gold); outline-offset:4px; }
.adv-tile::after{ content:"View"; position:absolute; right:.8rem; bottom:.8rem; font-family:var(--ui); font-size:.58rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--navy-dk); background:rgba(255,255,255,.9); padding:.45rem .7rem; border-radius:100px; opacity:0; transform:translateY(6px); transition:opacity .4s, transform .4s var(--ease-out); }
.adv-tile:hover::after, .adv-tile:focus-visible::after{ opacity:1; transform:none; }

/* ---------- SIX REASONS → tiles ---------- */
.adv-page .standout{ max-width:1180px; }
.adv-page .standout__list{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1rem,1.6vw,1.4rem); }
.adv-page .standout__list li, .adv-page .standout__list li:last-child{ position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:1rem;
  padding:clamp(1.8rem,2.6vw,2.4rem); border:1px solid rgba(240,235,224,.1); border-radius:20px; overflow:hidden; isolation:isolate;
  background:linear-gradient(160deg, rgba(240,235,224,.06), rgba(240,235,224,.015)); transition:border-color .5s, transform .6s var(--ease-out); }
.adv-page .standout__list li::before{ content:""; position:absolute; inset:0; z-index:-1; opacity:0; transition:opacity .5s;
  background:radial-gradient(380px circle at var(--mx,50%) var(--my,0%), rgba(230,200,127,.16), transparent 60%); }
.adv-page .standout__list li:hover{ border-color:rgba(230,200,127,.35); transform:translateY(-4px); }
.adv-page .standout__list li:hover::before{ opacity:1; }
.adv-page .standout__n{ position:absolute; top:1.5rem; right:1.6rem; padding:0; font-family:var(--display); font-style:italic; font-size:1rem; letter-spacing:0; color:rgba(230,200,127,.7); }
.adv-ic{ display:grid; place-items:center; width:50px; height:50px; border-radius:14px; background:rgba(230,200,127,.14); color:var(--gold-bright);
  transition:transform .5s var(--ease-out), background .5s, color .5s; }
.adv-ic svg{ width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.adv-page .standout__list li:hover .adv-ic{ transform:rotate(-8deg) scale(1.06); background:var(--gold-bright); color:var(--navy-dk); }
.adv-page .standout__t{ font-size:1rem; line-height:1.5; }
.adv-page .standout__t strong{ display:block; font-family:var(--display); font-weight:500; font-size:clamp(1.35rem,1.9vw,1.65rem); line-height:1.15; color:var(--ivory); margin:.2rem 0 .55rem; }
.adv-sep{ display:none; }
.adv-line{ display:block; font-family:var(--serif); font-size:1.15rem; line-height:1.55; color:var(--ivory-dim); }
.adv-line::first-letter{ text-transform:uppercase; }

/* ---------- STATS ---------- */
.adv-page .stats{ border:0; position:relative; max-width:1100px; margin:0 auto clamp(2rem,5vh,3rem);
  border-radius:24px; background:linear-gradient(135deg, rgba(230,200,127,.14), rgba(230,200,127,.04)); box-shadow:inset 0 0 0 1px rgba(230,200,127,.22); }
.adv-page .stat + .stat{ border-left:1px solid rgba(230,200,127,.18); }
.adv-page .stat__num{ font-size:clamp(2.4rem,5.4vw,4.8rem); }

/* ---------- VOICES → light ---------- */
.adv-page .voices-wall-wrap{ max-width:none; background:var(--paper); padding-left:max(var(--pad), calc((100% - 1300px)/2)); padding-right:max(var(--pad), calc((100% - 1300px)/2)); }
.adv-page .voices-wall-wrap .kicker{ color:var(--em); }
.adv-page .voices-wall__title{ color:var(--ink); }
.adv-page .voices-wall__title em{ color:var(--em); }
.adv-page .voice{ border-top:0; padding:1.9rem 1.8rem; border-radius:18px; background:#fff; box-shadow:0 30px 60px -44px rgba(11,30,58,.5), 0 0 0 1px var(--hair); }
.adv-page .voice blockquote{ color:var(--ink); }
.adv-page .voice blockquote::before, .adv-page .voice blockquote::after{ color:var(--em); }
.adv-page .voice figcaption{ color:var(--ink-dim); }
.adv-page .voice figcaption span{ color:var(--em); }
.adv-page .voices-wall__note{ color:var(--ink-dim); }

/* ---------- CLOSE → wall of adverts ---------- */
.adv-wall{ position:absolute; inset:-20% -10%; display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; align-content:center;
  transform:rotate(-8deg); opacity:.55; animation:adv-wall 40s linear infinite alternate; }
.adv-page .adv-wall img{ position:static; inset:auto; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:8px; filter:saturate(.85); }
.adv-page .page-close__grade{ background:
  linear-gradient(90deg, rgba(8,16,30,.96) 0%, rgba(8,16,30,.82) 45%, rgba(8,16,30,.55) 100%),
  linear-gradient(180deg, rgba(8,16,30,.6), rgba(8,16,30,.3) 50%, rgba(8,16,30,.8)); }

/* ---------- lightbox ---------- */
.adv-lightbox{ position:fixed; inset:0; z-index:500; display:grid; place-items:center; padding:clamp(1rem,4vw,3rem);
  background:rgba(6,14,28,.88); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); animation:adv-fade .3s ease; }
.adv-lightbox[hidden]{ display:none; }
.adv-lightbox img{ max-width:min(100%,1100px); max-height:88vh; border-radius:8px; box-shadow:0 40px 100px rgba(0,0,0,.6); }
.adv-lightbox__close{ all:unset; position:absolute; top:1.2rem; right:1.4rem; width:44px; height:44px; display:grid; place-items:center; cursor:pointer;
  font-size:1.8rem; color:var(--ivory); border-radius:50%; border:1px solid rgba(240,235,224,.3); }

/* ---------- keyframes ---------- */
@keyframes adv-drift{ 0%,100%{ transform:translate(0,0); } 50%{ transform:translate(-70px,50px); } }
@keyframes adv-deal{ from{ opacity:0; transform:translateY(80px) rotate(calc(var(--r) * 2.5)) scale(.92); } to{ opacity:1; transform:rotate(var(--r)); } }
@keyframes adv-bob{ 0%,100%{ transform:rotate(var(--r)) translateY(0); } 50%{ transform:rotate(var(--r)) translateY(-12px); } }
@keyframes adv-wall{ from{ transform:rotate(-8deg) translateY(-3%); } to{ transform:rotate(-8deg) translateY(3%); } }
@keyframes adv-fade{ from{ opacity:0; } }

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .adv-page .standout__list{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:860px){
  .adv-page .page-hero{ justify-content:flex-end; padding-bottom:clamp(7rem,15vh,8.5rem); height:auto; min-height:100svh; }
  .adv-hero__art{ position:relative; right:auto; top:auto; transform:none; width:min(86vw,420px); margin:clamp(6.5rem,15vh,8rem) auto 1.5rem; order:-1; }
  .adv-gallery__grid{ grid-template-columns:1fr 1fr; }
  .adv-gallery__stack{ grid-column:1 / -1; order:3; grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .adv-page .stat + .stat{ border-left:0; }
}
@media (max-width:560px){
  .adv-page .standout__list{ grid-template-columns:1fr; }
  .adv-gallery__stack{ grid-template-columns:1fr; }
  .adv-wall{ grid-template-columns:repeat(2,1fr); }
}
@media (prefers-reduced-motion:reduce){
  .adv-glow, .adv-wall, .adv-card, .adv-hero__art.is-float .adv-card{ animation:none !important; }
  .adv-card{ opacity:1; }
}
