/* Douglas Jonathan · Concept 2 (Calmia-style slide deck) */
:root {
  --cream: #f7f2e3;
  --cream-2: #ead8bb;
  --ink: #1b1814;
  --ink-soft: #5e574c;
  --plum: #1d1430;
  --purple: #6a3fd8;
  --lilac: #b9acff;
  --serif: "Newsreader", Georgia, "Times New Roman", serif;
  --sans: "Inter", "Helvetica Neue", Arial, sans-serif;
  --frame: clamp(12px, 2.2vw, 32px);
  --ease: cubic-bezier(.16, 1, .3, 1);
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
html, body { margin: 0; overflow-x: clip; }
body { background: var(--ink); color: var(--ink); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
a { color: inherit; }
h1, h2, h3, p { margin: 0; }
h1, h2 { font-family: var(--serif); font-weight: 400; letter-spacing: -0.01em; }

.caps { font-family: var(--sans); font-size: 11.5px; line-height: 1.6; letter-spacing: .03em; text-transform: uppercase; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; color: var(--ink-soft); margin-bottom: 18px; }
.eyebrow::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--purple); }
.eyebrow.light { color: rgba(255,255,255,.75); }
.eyebrow.light::before { background: var(--lilac); }
.ulink { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.btn-pill { display: inline-flex; align-items: center; gap: 10px; padding: 13px 22px; border-radius: 999px; border: 1px solid currentColor; font: 500 14px var(--sans); text-decoration: none; color: inherit; background: transparent; cursor: pointer; transition: background .25s, color .25s, gap .25s; white-space: nowrap; }
.btn-pill:hover { gap: 14px; }
.btn-pill.dark { background: var(--ink); color: var(--cream); border-color: var(--ink); }
.btn-pill.light { background: #fff; color: var(--ink); border-color: #fff; }

.proto-banner { position: fixed; z-index: 60; left: 50%; bottom: 14px; transform: translateX(-50%); padding: 7px 14px; border-radius: 999px; background: rgba(27,24,20,.82); color: rgba(255,255,255,.85); font: 500 11px var(--sans); white-space: nowrap; backdrop-filter: blur(6px); }

/* ---------- Slide deck: each section sticks, the next one slides up over it ---------- */
.slide { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; isolation: isolate; transform-origin: 50% 0; will-change: transform; }
.slide.flow { position: relative; height: auto; min-height: 100vh; min-height: 100svh; }
.slide-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.slide-bg.blur { filter: blur(14px) saturate(.8); transform: scale(1.08); }
.slide::after { content: ""; position: absolute; inset: 0; background: #000; opacity: calc(var(--p, 0) * .45); pointer-events: none; z-index: 20; }

/* Content rises in when a slide arrives */
.rise { opacity: 0; transform: translateY(36px); transition: opacity 1s var(--ease), transform 1.1s var(--ease); }
.slide.in .rise { opacity: 1; transform: none; }
.slide.in .rise:nth-child(2) { transition-delay: .12s; }
.slide.in .rise:nth-child(3) { transition-delay: .24s; }

/* ---------- 1. Hero ---------- */
.hero { background: #e9e6e2; color: #fff; }
.hero-bg, .hero-cut { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.hero-bg { z-index: 0; opacity: 0; transition: opacity 1s ease; }
.hero-shade { position: absolute; inset: 0; z-index: 1; background:
  linear-gradient(90deg, rgba(23,15,36,.86) 0%, rgba(23,15,36,.62) 38%, rgba(23,15,36,0) 66%),
  linear-gradient(0deg, rgba(23,15,36,.55) 0%, rgba(23,15,36,0) 40%); opacity: 0; transition: opacity 1.2s ease .1s; }
.hero-cut { z-index: 3; opacity: 0; transition: opacity 1s ease; }
.hero.ready .hero-bg, .hero.ready .hero-cut, .hero.ready .hero-shade { opacity: 1; }

.hero-word { position: absolute; z-index: 2; left: calc(var(--frame) + 2vw); bottom: calc(var(--frame) + 1vh); line-height: .78; overflow: hidden; padding-top: .06em; }
.hero-word span { display: block; font-family: var(--serif); font-weight: 400; font-size: 19vw; letter-spacing: -0.035em; color: #fff; transform: translateY(105%); transition: transform 1.5s var(--ease) .55s; }
.hero.ready .hero-word span { transform: none; }

.frame { position: absolute; inset: var(--frame); z-index: 4; border: 1px solid rgba(255,255,255,.75); padding: 18px clamp(16px, 2vw, 28px); display: flex; flex-direction: column; opacity: 0; transition: opacity .9s ease .15s; }
.hero.ready .frame { opacity: 1; }
.topnav { display: flex; justify-content: space-between; align-items: center; }
.topnav a { font: 500 11.5px var(--sans); letter-spacing: .04em; text-transform: uppercase; text-decoration: none; opacity: .92; }
.topnav a:hover { opacity: 1; text-decoration: underline; text-underline-offset: 4px; }
.topnav .nav-book { padding: 8px 14px; border: 1px solid rgba(255,255,255,.85); border-radius: 999px; }
.m-bar { display: none; }
.hero-meta { display: flex; justify-content: space-between; margin-top: clamp(28px, 6vh, 64px); max-width: 60%; color: rgba(255,255,255,.85); }
.hero-main { margin-top: clamp(18px, 4vh, 40px); max-width: min(46vw, 640px); }
.hero-title { font-size: clamp(2.2rem, 3.9vw, 4rem); line-height: 1.04; color: #fff; opacity: 0; transform: translateY(40px); transition: opacity 1.2s var(--ease) .6s, transform 1.4s var(--ease) .55s; }
.hero.ready .hero-title { opacity: 1; transform: none; }
.hero-side { margin-top: clamp(16px, 3vh, 30px); display: grid; gap: 12px; justify-items: start; max-width: 360px; color: rgba(255,255,255,.88); opacity: 0; transition: opacity 1s ease 1.1s; }
.hero.ready .hero-side { opacity: 1; }
.hero-side .btn-pill { margin-top: 6px; color: #fff; }
.hero-side .btn-pill:hover { background: #fff; color: var(--ink); }
.scroll-cue { position: absolute; z-index: 4; right: calc(var(--frame) + 22px); bottom: calc(var(--frame) + 18px); color: rgba(255,255,255,.8); animation: cue 2.2s ease-in-out infinite; }
@keyframes cue { 0%,100% { transform: translateY(0); opacity: .8; } 50% { transform: translateY(6px); opacity: .4; } }

/* ---------- 2. About (cream panel over a photo) ---------- */
.about { background: var(--ink); display: flex; align-items: center; }
.about .slide-bg { filter: brightness(.55) saturate(.85); }
.about-panel { width: min(92%, 1240px); background: var(--cream); padding: clamp(36px, 7vh, 88px) clamp(24px, 5vw, 80px) clamp(32px, 6vh, 72px) clamp(24px, 14vw, 230px); }
.about-lead { font-family: var(--serif); font-size: clamp(1.7rem, 3vw, 3rem); line-height: 1.16; max-width: 22em; }
.about-row { display: grid; grid-template-columns: 1fr 1.2fr; gap: clamp(20px, 5vw, 80px); margin-top: clamp(32px, 7vh, 80px); align-items: end; }
.about-num { display: flex; align-items: center; gap: 16px; }
.about-num strong { font-family: var(--serif); font-weight: 400; font-size: clamp(2.6rem, 4.4vw, 4.2rem); line-height: 1; }
.avatars { display: flex; }
.avatars i { width: 40px; height: 40px; margin-left: -10px; border-radius: 50%; border: 2px solid var(--cream); display: grid; place-items: center; font: 600 13px var(--sans); font-style: normal; color: #fff; background: #3f2a78; }
.avatars i:first-child { margin-left: 0; background: #7c5cff; }
.avatars i:nth-child(2) { background: #9b4fd1; }
.avatars i:nth-child(3) { background: #5a3fc0; }
.about-stat p { margin-top: 10px; color: var(--ink-soft); max-width: 300px; }
.about-text p { color: var(--ink-soft); }
.about-text .ulink { display: inline-block; margin-top: 12px; color: var(--ink); }

/* ---------- 3. Why / services ---------- */
.why { background: var(--cream); display: flex; align-items: center; }
.why-wrap { width: min(92%, 1240px); margin: 0 auto; display: grid; grid-template-columns: 1fr 1.05fr; gap: clamp(28px, 6vw, 96px); padding: clamp(40px, 8vh, 80px) 0; }
.why h2 { font-size: clamp(1.9rem, 3.1vw, 3.1rem); line-height: 1.08; max-width: 14em; }
.values { list-style: none; padding: 0; margin: clamp(24px, 5vh, 44px) 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 22px 28px; }
.values li { border-top: 1px solid rgba(27,24,20,.18); padding-top: 14px; }
.values strong { display: block; font-family: var(--serif); font-weight: 400; font-size: 1.35rem; margin-bottom: 4px; }
.values span { font-size: .9rem; line-height: 1.5; color: var(--ink-soft); }
.svc-list { list-style: none; padding: 0; margin: 0; border-top: 1px solid rgba(27,24,20,.18); }
.svc-list a { display: grid; grid-template-columns: 44px 1fr auto; align-items: baseline; padding: clamp(10px, 1.7vh, 16px) 0; border-bottom: 1px solid rgba(27,24,20,.18); text-decoration: none; font-family: var(--serif); font-size: clamp(1.15rem, 1.7vw, 1.6rem); transition: padding .3s var(--ease), color .3s; }
.svc-list em { font: 500 11.5px var(--sans); font-style: normal; color: var(--ink-soft); letter-spacing: .04em; }
.svc-list span { font-family: var(--sans); font-size: 1rem; opacity: 0; transform: translateX(-8px); transition: opacity .3s, transform .3s; }
.svc-list a:hover { padding-left: 10px; color: var(--purple); }
.svc-list a:hover span { opacity: 1; transform: none; }
.why-foot { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: clamp(18px, 3.5vh, 30px); flex-wrap: wrap; }
.why-foot .caps { color: var(--ink-soft); }
.why-foot b { color: var(--ink); font-weight: 600; }

/* ---------- 4. Stats quote ---------- */
.quote { background: var(--plum); color: #fff; display: grid; place-items: center; text-align: center; }
.quote-shade { position: absolute; inset: 0; z-index: -1; background: rgba(20,14,30,.6); }
.quote-inner { width: min(90%, 1100px); }
.quote-text { font-family: var(--serif); font-size: clamp(2rem, 4.4vw, 4.4rem); line-height: 1.1; max-width: 16em; margin: 0 auto; }
.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(16px, 3vw, 40px); margin-top: clamp(36px, 8vh, 80px); }
.stat { display: grid; gap: 8px; justify-items: center; align-content: start; }
.stat strong { font-family: var(--serif); font-weight: 400; font-size: clamp(2.4rem, 4vw, 3.8rem); line-height: 1; }
.stat .caps { color: rgba(255,255,255,.85); max-width: 220px; }
.stat small { font-size: 11px; color: rgba(255,255,255,.55); }

/* ---------- 5. Fridays on Zoom ---------- */
.zoom { background: var(--plum); color: #fff; display: flex; align-items: center; }
.zoom-wrap { width: min(92%, 1240px); margin: 0 auto; display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(28px, 6vw, 96px); align-items: center; padding: clamp(40px, 7vh, 72px) 0; }
.zoom h2 { font-size: clamp(2.2rem, 4.6vw, 4.6rem); line-height: 1.02; }
.zoom h2 em { color: var(--lilac); }
.zoom-text p { margin: 22px 0 30px; max-width: 30em; font-size: 1.05rem; line-height: 1.65; color: rgba(255,255,255,.78); }
.zoom-video { position: relative; justify-self: center; height: min(74svh, 640px); aspect-ratio: 9 / 16; border-radius: 22px; overflow: hidden; background: #000; cursor: pointer; }
.zoom-video video { width: 100%; height: 100%; object-fit: cover; }
.zoom-play { position: absolute; left: 50%; bottom: 22px; transform: translateX(-50%); display: inline-flex; align-items: center; gap: 10px; padding: 12px 20px; border: 0; border-radius: 999px; background: rgba(255,255,255,.92); color: var(--ink); font: 500 14px var(--sans); cursor: pointer; white-space: nowrap; }
.zoom-video.playing .zoom-play { display: none; }

/* ---------- 6. Testimonials (one quote at a time, like a slide) ---------- */
.reviews { background: var(--plum); color: #fff; display: grid; place-items: center; text-align: center; }
.reviews-inner { width: min(90%, 1000px); }
.rv-stage { position: relative; min-height: clamp(260px, 46vh, 420px); display: grid; }
.rv-item { grid-area: 1 / 1; align-self: center; opacity: 0; transform: translateY(20px); transition: opacity .7s var(--ease), transform .8s var(--ease); pointer-events: none; }
.rv-item.on { opacity: 1; transform: none; pointer-events: auto; }
.rv-quote { font-family: var(--serif); font-size: clamp(1.5rem, 2.9vw, 2.7rem); line-height: 1.2; }
.rv-who { margin-top: 26px; font-family: var(--serif); font-size: 1.15rem; }
.rv-who .caps { display: block; margin-top: 6px; color: rgba(255,255,255,.7); }
.rv-more { margin-top: 16px; background: none; border: 0; color: #fff; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.rv-controls { display: flex; justify-content: center; align-items: center; gap: 22px; margin-top: clamp(20px, 4vh, 40px); }
.rv-btn { width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(255,255,255,.6); background: transparent; color: #fff; font-size: 1.1rem; cursor: pointer; transition: background .2s, color .2s; }
.rv-btn:hover { background: #fff; color: var(--ink); }
.rv-count { color: rgba(255,255,255,.75); min-width: 64px; }

/* ---------- 7. Social ---------- */
.social { background: var(--cream); display: flex; align-items: center; }
.social-wrap { width: 100%; padding: clamp(40px, 8vh, 80px) 0; }
.social-head { width: min(92%, 1240px); margin: 0 auto; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 20px; }
.social-head .eyebrow { grid-column: 1 / -1; margin-bottom: 0; }
.social h2 { font-size: clamp(1.9rem, 3.4vw, 3.4rem); line-height: 1.06; max-width: 14em; }
.social-follow { display: flex; gap: 10px; }
.social-row { display: grid; grid-auto-flow: column; grid-auto-columns: clamp(170px, 17vw, 240px); gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-top: clamp(24px, 5vh, 44px); padding: 0 max(4vw, calc((100vw - 1240px) / 2)); scroll-padding: 0 max(4vw, calc((100vw - 1240px) / 2)); }
.social-row::-webkit-scrollbar { display: none; }
.tile { position: relative; scroll-snap-align: start; aspect-ratio: 9 / 16; border-radius: 16px; overflow: hidden; text-decoration: none; color: #fff; background: var(--cream-2); }
.tile img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.tile:hover img { transform: scale(1.04); }
.tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.72), rgba(0,0,0,0) 55%); }
.tile .caps, .tile b { position: absolute; left: 14px; right: 14px; z-index: 1; }
.tile .caps { top: 12px; padding: 4px 9px; left: 12px; right: auto; border-radius: 999px; background: rgba(255,255,255,.88); color: var(--ink); font-size: 10px; }
.tile b { bottom: 14px; font-family: var(--serif); font-weight: 400; font-size: 1.05rem; line-height: 1.2; }

/* ---------- 8. Footer ---------- */
.foot { background: var(--ink); color: var(--cream); display: flex; align-items: flex-end; }
.foot-wrap { width: min(92%, 1240px); margin: 0 auto; padding: clamp(48px, 10vh, 96px) 0 calc(24px + 44px); }
.foot-top { display: grid; grid-template-columns: 1fr 1.2fr; gap: 40px; }
.foot-line { font-family: var(--serif); font-size: clamp(1.8rem, 3.4vw, 3.2rem); line-height: 1.1; max-width: 12em; margin-bottom: 26px; }
.foot-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.foot-cols div { display: grid; gap: 10px; align-content: start; }
.foot-cols .caps { color: rgba(247,242,227,.55); margin-bottom: 4px; }
.foot-cols a { text-decoration: none; font-size: .95rem; }
.foot-cols a:hover { text-decoration: underline; text-underline-offset: 4px; }
.foot-muted { font-size: .95rem; color: rgba(247,242,227,.6); }
.foot-note { margin-top: clamp(28px, 6vh, 56px); color: rgba(247,242,227,.55); max-width: 760px; }
.foot-word { font-family: var(--serif); font-size: clamp(3.2rem, 11.5vw, 11rem); line-height: .9; letter-spacing: -0.03em; margin-top: clamp(20px, 5vh, 48px); white-space: nowrap; }
.foot-bottom { display: flex; justify-content: space-between; gap: 16px; margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(247,242,227,.18); color: rgba(247,242,227,.55); flex-wrap: wrap; }

/* ---------- Pop-ups ---------- */
.em, .rvm, .m-menu { position: fixed; inset: 0; z-index: 100; }
.em, .rvm { display: grid; place-items: center; padding: 20px; background: rgba(15,11,22,.6); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.em[hidden], .rvm[hidden], .m-menu[hidden] { display: none; }
.em-box, .rvm-box { position: relative; width: 100%; max-width: 480px; background: var(--cream); color: var(--ink); padding: 34px 30px 28px; }
.em-box h2 { font-size: 1.9rem; line-height: 1.1; margin-bottom: 12px; }
.em-box p { color: var(--ink-soft); line-height: 1.6; }
.em-nums { margin: 16px 0 24px; color: var(--ink) !important; }
.em-box .btn-pill { width: 100%; justify-content: center; }
.rvm-box { max-width: 620px; max-height: 86vh; overflow-y: auto; }
.rvm-text { font-family: var(--serif); font-size: 1.25rem; line-height: 1.5; white-space: pre-line; }
.rvm-who { margin-top: 18px; color: var(--ink-soft); }
.rvm-close, .m-close { position: absolute; top: 12px; right: 14px; width: 38px; height: 38px; border: 0; background: none; font-size: 1.8rem; line-height: 1; cursor: pointer; color: inherit; }
.m-menu { background: var(--plum); color: #fff; display: flex; align-items: center; padding: 24px; }
.m-menu nav { display: grid; gap: 14px; }
.m-menu a { font-family: var(--serif); font-size: 2.4rem; line-height: 1.1; text-decoration: none; }
.m-menu .m-book { margin-top: 18px; font: 500 15px var(--sans); padding: 14px 22px; border: 1px solid #fff; border-radius: 999px; justify-self: start; }

/* ---------- Phones and small tablets ---------- */
@media (max-width: 960px) {
  .about-panel { padding-left: clamp(24px, 6vw, 60px); }
  .why-wrap, .zoom-wrap, .foot-top { grid-template-columns: 1fr; }
  .stats { grid-template-columns: 1fr 1fr; row-gap: 32px; }
}
@media (max-width: 760px) {
  .topnav { display: none; }
  .m-bar { display: flex; justify-content: space-between; align-items: center; }
  .m-brand { font-family: var(--serif); font-size: 1.15rem; }
  .m-open { font: 500 11.5px var(--sans); letter-spacing: .04em; text-transform: uppercase; color: #fff; background: none; border: 1px solid rgba(255,255,255,.8); border-radius: 999px; padding: 7px 14px; }
  .hero-bg, .hero-cut { object-position: 50% 0; }
  .hero-shade { background: linear-gradient(0deg, rgba(23,15,36,.92) 0%, rgba(23,15,36,.75) 34%, rgba(23,15,36,0) 62%), linear-gradient(180deg, rgba(23,15,36,.35) 0%, rgba(23,15,36,0) 22%); }
  .hero-word { left: 0; right: 0; top: 24%; bottom: auto; text-align: center; }
  .hero-word span { font-size: 27vw; color: var(--purple); }
  .frame { justify-content: flex-start; }
  .hero-meta { order: 3; max-width: none; margin-top: 0; margin-bottom: 10px; }
  .hero-copy { display: none; }
  .hero-main { order: 4; max-width: none; margin-top: 0; }
  .m-bar { order: 1; }
  .frame::before { content: ""; order: 2; flex: 1; }
  .hero-title { font-size: clamp(1.9rem, 8.6vw, 2.6rem); }
  .hero-side { max-width: none; gap: 10px; }
  .hero-side p.caps, .hero-side .ulink { display: none; }
  .scroll-cue { display: none; }
  .about-panel { width: 100%; }
  .about-row { grid-template-columns: 1fr; gap: 22px; }
  .values { grid-template-columns: 1fr 1fr; gap: 16px; }
  .values span { font-size: .84rem; }
  .why-foot .btn-pill { width: 100%; justify-content: center; }
  .stat .caps { font-size: 10.5px; }
  .zoom-video { height: auto; width: min(100%, 340px); }
  .social-head { grid-template-columns: 1fr; }
  .social-row { grid-auto-columns: 62vw; padding: 0 5vw; scroll-padding: 0 5vw; }
  .foot-cols { grid-template-columns: 1fr 1fr; }
  .foot-bottom { flex-direction: column; gap: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  .rise, .hero-word span, .hero-title, .hero-side, .frame, .hero-bg, .hero-cut, .hero-shade, .rv-item { transition: none !important; }
  .scroll-cue { animation: none; }
}

/* Hero tuning: tint the whole studio background so white text, frame and word read everywhere; Douglas (cut-out) stays bright */
.hero-shade { background:
  linear-gradient(90deg, rgba(23,15,36,.72) 0%, rgba(23,15,36,.35) 45%, rgba(23,15,36,0) 70%),
  linear-gradient(0deg, rgba(23,15,36,.35) 0%, rgba(23,15,36,0) 40%),
  rgba(40,28,64,.55); }
.hero-word span { font-size: 16.5vw; }
@media (max-width: 760px) {
  .hero-shade { background: linear-gradient(0deg, rgba(23,15,36,.94) 0%, rgba(23,15,36,.78) 34%, rgba(23,15,36,.25) 62%), rgba(40,28,64,.5); }
  .hero-word span { font-size: 27vw; color: #fff; }
}
/* Phones: fade the bottom of the hero (over Douglas too) so the headline reads */
@media (max-width: 760px) {
  .hero::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 48%; z-index: 3; pointer-events: none; background: linear-gradient(0deg, rgba(23,15,36,.95) 0%, rgba(23,15,36,.8) 45%, rgba(23,15,36,0) 100%); opacity: 0; transition: opacity 1.2s ease .3s; }
  .hero.ready::before { opacity: 1; }
}
.frame, .scroll-cue { z-index: 5; }
@media (max-width: 760px) { .hero::before { z-index: 4; } }
figure, blockquote { margin: 0; }
@media (max-width: 760px) { .rv-quote { font-size: 1.45rem; line-height: 1.25; } .rv-stage { min-height: 52svh; } }

/* Hero v2: your portrait cut out on a plum studio backdrop (no background photo) */
.hero-bg { background: radial-gradient(ellipse 60% 75% at 72% 42%, #6a5590 0%, #3a2a5a 45%, #1d1430 100%); }
.hero-shade { background: linear-gradient(90deg, rgba(20,13,32,.55) 0%, rgba(20,13,32,.2) 45%, rgba(20,13,32,0) 70%), linear-gradient(0deg, rgba(20,13,32,.5) 0%, rgba(20,13,32,0) 35%); }
.hero-cut { inset: auto; left: auto; top: auto; right: 2vw; bottom: 0; width: auto; height: min(90vh, 58vw); aspect-ratio: 1; object-fit: contain; object-position: 50% 100%; }
.nav-logo img { height: 34px; width: auto; }
.topnav a.nav-logo { opacity: 1; }
.topnav a.nav-logo:hover { text-decoration: none; }
@media (max-width: 760px) {
  .hero-bg { background: radial-gradient(ellipse 90% 60% at 50% 45%, #6a5590 0%, #3a2a5a 50%, #1d1430 100%); }
  .hero-shade { background: none; }
  .hero-cut { right: 50%; transform: translateX(50%); height: auto; width: 150vw; max-width: none; }
  .hero-word { top: 34%; }
  img.m-brand { height: 30px; width: auto; }
}
@media (min-width: 761px) {
  .hero-cut { right: -3vw; height: min(88vh, 56vw); }
  .hero-word span { font-size: 15vw; }
  .nav-logo img { height: 46px; }
}

/* ===== Round 2 ===== */
/* One normal page; scrolling snaps you to the start of the next section */
html { scroll-snap-type: y mandatory; }
@media (max-width: 760px) { html { scroll-snap-type: y proximity; } }
.slide, .slide.flow { position: relative; top: auto; height: auto; min-height: 100vh; min-height: 100svh; transform: none !important; will-change: auto; scroll-snap-align: start; }
.slide::after { display: none; }
.hero { height: 100vh; height: 100svh; }

/* Hero: soft white/lilac glow behind Douglas (also hides the cut-out's light edge) */
.hero-bg { background:
  radial-gradient(ellipse 30% 46% at 76% 38%, #ffffff 0%, #f1ecff 26%, rgba(205,192,245,.85) 48%, rgba(138,114,196,.35) 72%, rgba(138,114,196,0) 100%),
  linear-gradient(100deg, #1d1430 0%, #2b1f46 38%, #4a3873 62%, #6e5aa0 100%); }
.hero-shade { background: linear-gradient(90deg, rgba(20,13,32,.45) 0%, rgba(20,13,32,0) 45%); }

/* Bigger Douglas, like concept 1: full height on the right */
@media (min-width: 761px) {
  .hero-cut { right: -5vw; height: 100vh; height: 100svh; }
  /* Bigger word that runs behind him; padding so the D's serif isn't clipped */
  .hero-word { left: calc(var(--frame) + .5vw); bottom: calc(var(--frame) - 1.5vw); padding: .08em .12em 0 .06em; }
  .hero-word span { font-size: 23vw; }
  .hero-main { max-width: min(44vw, 620px); }
}
.hero-side { margin-top: clamp(22px, 4vh, 36px); }

/* Phones: lighter glow around his head and shoulders; word in deep purple so it reads on the light glow */
@media (max-width: 760px) {
  .hero-bg { background:
    radial-gradient(ellipse 70% 38% at 50% 44%, #ffffff 0%, #efe9ff 30%, rgba(205,192,245,.8) 55%, rgba(138,114,196,0) 100%),
    linear-gradient(180deg, #4a3873 0%, #2b1f46 70%, #1d1430 100%); }
  .hero-word { padding: .06em .1em 0; }
  .hero-word span { color: #3f2a78; }
  .frame { border-color: rgba(255,255,255,.6); }
}
@media (min-width: 761px) {
  .hero-word { bottom: calc(var(--frame) + 1vh); line-height: .92; padding: .06em .12em .16em .06em; }
  .hero-word span { font-size: 21vw; }
}
@media (max-width: 760px) { .hero-word { line-height: .92; padding-bottom: .16em; } }

/* Revert: back to the plum hero background (no white/lilac glow) */
.hero-bg { background: radial-gradient(ellipse 60% 75% at 72% 42%, #6a5590 0%, #3a2a5a 45%, #1d1430 100%); }
.hero-shade { background: linear-gradient(90deg, rgba(20,13,32,.55) 0%, rgba(20,13,32,.2) 45%, rgba(20,13,32,0) 70%), linear-gradient(0deg, rgba(20,13,32,.5) 0%, rgba(20,13,32,0) 35%); }
@media (max-width: 760px) {
  .hero-bg { background: radial-gradient(ellipse 90% 60% at 50% 45%, #6a5590 0%, #3a2a5a 50%, #1d1430 100%); }
  .hero-shade { background: none; }
  .hero-word span { color: #fff; }
}
/* Bigger logo */
.nav-logo img { height: 66px !important; }
@media (max-width: 760px) { img.m-brand { height: 44px; } }

/* Services as accordions */
.svc-list.acc li { border-bottom: 1px solid rgba(27,24,20,.18); }
.svc-acc summary { list-style: none; display: grid; grid-template-columns: 44px 1fr 22px; align-items: baseline; padding: clamp(10px, 1.7vh, 16px) 0; cursor: pointer; font-family: var(--serif); font-size: clamp(1.15rem, 1.7vw, 1.6rem); transition: color .25s; }
.svc-acc summary::-webkit-details-marker { display: none; }
.svc-acc summary em { font: 500 11.5px var(--sans); font-style: normal; color: var(--ink-soft); letter-spacing: .04em; }
.svc-acc summary:hover, .svc-acc[open] summary { color: var(--purple); }
.svc-x { position: relative; width: 14px; height: 14px; align-self: center; justify-self: end; }
.svc-x::before, .svc-x::after { content: ""; position: absolute; left: 0; top: 50%; width: 14px; height: 1.5px; background: currentColor; transition: transform .3s var(--ease); }
.svc-x::after { transform: rotate(90deg); }
.svc-acc[open] .svc-x::after { transform: rotate(0deg); }
.svc-body { padding: 0 0 18px 44px; animation: accIn .45s var(--ease); }
.svc-body p { font-size: .95rem; line-height: 1.6; color: var(--ink-soft); max-width: 34em; }
.svc-tags { list-style: none; padding: 0; margin: 12px 0 14px; display: flex; flex-wrap: wrap; gap: 6px; }
.svc-tags li { padding: 5px 11px; border: 1px solid rgba(27,24,20,.2); border-radius: 999px; font-size: .78rem; color: var(--ink); }
.svc-body .ulink { color: var(--ink); }
@keyframes accIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@media (max-width: 760px) { .svc-body { padding-left: 0; } }
/* Accordion: undo the old list-row styles */
.svc-list.acc summary span { opacity: 1; transform: none; font-size: inherit; font-family: inherit; }
.svc-list.acc .svc-body a { display: inline-block; padding: 0; border: 0; font: 500 11.5px var(--sans); letter-spacing: .03em; text-transform: uppercase; }
.svc-list.acc .svc-body a:hover { padding-left: 0; }
.svc-list.acc .svc-tags li { border: 1px solid rgba(27,24,20,.2); }
.svc-x::before, .svc-x::after { height: 2px; margin-top: -1px; }
.svc-acc[open] .svc-x::after { transform: rotate(90deg) scaleX(0); }
/* Social: all 7 videos centred in one row on desktop */
@media (min-width: 761px) {
  .social-row { grid-auto-columns: min(240px, calc((100vw - 8vw - 6 * 14px) / 7)); justify-content: center; overflow-x: visible; padding: 0 4vw; scroll-snap-type: none; }
}
/* Phones: lift Douglas (less space above his head); word moves up with him */
@media (max-width: 760px) {
  .hero-cut { width: auto; height: 84vh; height: 84svh; max-width: none; bottom: 0; }
  .hero-word { top: 21%; }
}
/* Stats: each number a different shade of purple (light enough to read on the dark photo) */
.stats .stat:nth-child(1) strong { color: #d9cfff; }
.stats .stat:nth-child(2) strong { color: #b9acff; }
.stats .stat:nth-child(3) strong { color: #d3a8f5; }
.stats .stat:nth-child(4) strong { color: #a993ff; }
/* Fridays on Zoom: QR card */
.qr-inline { display: flex; align-items: center; gap: 16px; margin-top: 28px; padding: 12px 18px 12px 12px; border-radius: 16px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); max-width: 380px; }
.qr-inline .qr { flex: none; background: #fff; border-radius: 10px; padding: 6px; }
.qr-inline .qr img, .qr-inline .qr canvas { width: 76px !important; height: 76px !important; display: block; }
.zoom-text .qr-inline p { margin: 0; font-size: .86rem; line-height: 1.45; color: rgba(255,255,255,.75); }
.qr-inline strong { display: block; color: #fff; font-size: .92rem; margin-bottom: 2px; }
/* Headline on two lines (desktop); word sized by width AND height so it never hits the button on short screens */
@media (min-width: 761px) {
  .hero-main { max-width: none; }
  .hero-title { font-size: clamp(2rem, min(3.4vw, 6.4vh), 3.9rem); white-space: nowrap; }
  .hero-word span { font-size: min(21vw, 40vh); }
}
@media (max-width: 760px) { .d-br { display: none; } }
/* WhatsApp chat bubble */
.wa-float { position: fixed; right: 20px; bottom: 20px; z-index: 70; display: inline-flex; align-items: center; gap: 10px; padding: 13px 20px 13px 16px; border-radius: 999px; background: #25a55f; color: #fff; font: 600 15px var(--sans); text-decoration: none; box-shadow: 0 12px 30px -10px rgba(0,0,0,.45); transition: transform .25s var(--ease); }
.wa-float:hover { transform: translateY(-3px); }
.wa-float svg { width: 24px; height: 24px; }
@media (max-width: 560px) { .wa-float span { display: none; } .wa-float { padding: 15px; right: 16px; bottom: 56px; } }
.wa-float { background: #1f9d55; box-shadow: 0 14px 30px -10px rgba(31,157,85,.7); }

/* Newsreader: lock to its steady text design (the automatic large-size design looks thin and uneven) */
body, h1, h2, h3, p, blockquote, figcaption, .hero-word span, .foot-word, .about-lead, .quote-text, .rv-quote, .svc-acc summary, .tile b, .values strong, .stat strong, .m-menu a, .m-brand { font-optical-sizing: none; font-variation-settings: "opsz" 16; }

/* ===== Colour scheme 1: Plum and gold =====
   Plum #1D1430 / #3A2A5A · Gold #C8A067 · Soft gold #EAD8BB · Cream #F7F2E3
   Deep gold #3a2a5a is only for gold text on cream (plain gold is too faint there). */
:root { --ink: #1d1430; --plum: #1d1430; --plum-2: #3a2a5a; --gold: #c8a067; --gold-soft: #ead8bb; --gold-deep: #3a2a5a; --cream: #f7f2e3; --cream-2: #ead8bb; --purple: var(--gold-deep); --lilac: var(--gold); }
.eyebrow::before, .eyebrow.light::before { background: var(--gold); }
/* Buttons: plum on light backgrounds, gold on dark ones */
.btn-pill.dark { background: var(--plum); border-color: var(--plum); color: var(--cream); }
.btn-pill.light, .m-menu .m-book { background: var(--gold); border-color: var(--gold); color: var(--plum); }
.btn-pill.light:hover { background: #ead8bb; border-color: #ead8bb; }
.hero-side .btn-pill { background: var(--gold); border-color: var(--gold); color: var(--plum); }
.hero-side .btn-pill:hover { background: #ead8bb; color: var(--plum); }
.topnav .nav-book { border-color: var(--gold); color: var(--gold); }
.topnav .nav-book:hover { background: var(--gold); color: var(--plum); text-decoration: none; }
.m-open { border-color: var(--gold) !important; color: var(--gold) !important; }
/* About: reviewer initials */
.avatars i:nth-child(1) { background: var(--plum); }
.avatars i:nth-child(2) { background: var(--gold); color: var(--plum); }
.avatars i:nth-child(3) { background: var(--plum-2); }
.avatars i:nth-child(4) { background: var(--gold-deep); }
/* Stats: shades of gold */
.stats .stat:nth-child(1) strong { color: var(--gold-soft); }
.stats .stat:nth-child(2) strong { color: var(--gold); }
.stats .stat:nth-child(3) strong { color: #ead8bb; }
.stats .stat:nth-child(4) strong { color: #c8a067; }
.quote-shade { background: rgba(29,20,48,.68); }
/* Services accordion: open/hover in deep gold */
.svc-acc summary:hover, .svc-acc[open] summary, .svc-list a:hover { color: var(--gold-deep); }
.svc-tags li { border-color: rgba(200,160,103,.35) !important; }
/* Testimonials */
.rv-btn:hover { background: var(--gold); border-color: var(--gold); color: var(--plum); }
/* Footer and menu overlay in plum */
.foot { background: var(--plum); }
.m-menu { background: var(--plum); }
.zoom, .quote, .reviews { background: var(--plum); }

/* Hero text block: bigger and a little lower (desktop) */
@media (min-width: 761px) {
  .hero-meta { margin-top: clamp(48px, 13vh, 150px); }
  .hero-kicker { font-size: 13.5px; letter-spacing: .05em; }
  .hero-main { margin-top: clamp(16px, 2.6vh, 28px); }
  .hero-title { font-size: clamp(2.6rem, min(4.6vw, 8.6vh), 5.4rem); line-height: 1.03; }
  .hero-side { margin-top: clamp(26px, 4.4vh, 44px); }
  .hero-side .btn-pill { font-size: 16px; padding: 16px 28px; }
}
@media (min-width: 761px) {
  .hero-meta { margin-top: clamp(40px, 10vh, 130px); }
  .hero-title { font-size: clamp(2.6rem, min(4.6vw, 8vh), 5.4rem); }
  .hero-word span { font-size: min(21vw, 35vh); }
}
/* Social: heading block lines up with the first and last video (desktop) */
@media (min-width: 761px) {
  .social-wrap { --tile: min(240px, calc((100vw - 8vw - 6 * 14px) / 7)); }
  .social-row { grid-auto-columns: var(--tile); }
  .social-head { width: calc(7 * var(--tile) + 6 * 14px); max-width: none; margin: 0 auto; }
}
/* Testimonials: huge quotation marks at the corners */
.reviews-inner { position: relative; padding: clamp(40px, 7vw, 90px) clamp(20px, 6vw, 110px); }
.reviews-inner::before, .reviews-inner::after { position: absolute; font-family: var(--serif); font-size: clamp(9rem, 20vw, 20rem); line-height: 1; color: var(--gold); opacity: .55; pointer-events: none; font-optical-sizing: none; font-variation-settings: "opsz" 16; }
.reviews-inner::before { content: "\201C"; top: 0; left: 0; transform: translate(-6%, -22%); }
.reviews-inner::after { content: "\201D"; right: 0; bottom: 0; transform: translate(6%, 48%); }
.reviews-inner > * { position: relative; z-index: 1; }
@media (max-width: 760px) { .reviews-inner { padding: 70px 8px 80px; } .reviews-inner::before, .reviews-inner::after { font-size: 8rem; } }
.reviews-inner::before, .reviews-inner::after { font-size: clamp(14rem, 30vw, 30rem); opacity: .5; }
.reviews-inner::before { transform: translate(-8%, -30%); }
.reviews-inner::after { transform: translate(8%, 52%); }
@media (max-width: 760px) {
  .reviews-inner::before, .reviews-inner::after { font-size: 12rem; }
  .reviews-inner::before { transform: translate(-4%, -28%); }
  .reviews-inner::after { right: auto; left: 50%; bottom: 0; transform: translate(-50%, 62%); }
}
.reviews-inner::before, .reviews-inner::after { color: #c8a067; opacity: 1; }
@media (min-width: 761px) { .reviews-inner::before { transform: translate(-8%, -16%); } }
/* Social heading on one line (desktop) */
@media (min-width: 761px) { .social h2 { max-width: none; white-space: nowrap; font-size: clamp(1.8rem, 2.9vw, 3.3rem); } }
/* Hero word: always long enough to run behind Douglas (desktop).
   His left edge ≈ 105vw - 87vh; the word (≈3.45em wide) ends ~15vh past it. */
@media (min-width: 761px) {
  .hero-word span { font-size: clamp(150px, calc(29.6vw - 20.9vh), 40vh); }
}

/* Footer: emergency strip */
.em-strip { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: clamp(16px, 2.5vw, 32px); margin-top: clamp(32px, 6vh, 56px); padding: clamp(18px, 2.4vw, 26px) clamp(18px, 2.6vw, 30px); border: 1px solid rgba(200,160,103,.45); border-radius: 6px; background: rgba(200,160,103,.07); }
.em-strip-ic { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: #c8a067; color: #1d1430; }
.em-strip-ic svg { width: 22px; height: 22px; }
.em-strip-text strong { display: block; font-family: "Newsreader", Georgia, serif; font-weight: 400; font-size: clamp(1.25rem, 1.8vw, 1.55rem); color: #f7f2e3; font-optical-sizing: none; font-variation-settings: "opsz" 16; }
.em-strip-text span { display: block; margin-top: 2px; font-size: .92rem; color: rgba(247,242,227,.7); }
.em-strip-nums { list-style: none; margin: 0; padding: 0; display: flex; gap: 10px; }
.em-strip-nums li { display: grid; justify-items: center; gap: 2px; min-width: 88px; padding: 10px 16px; border-radius: 4px; background: rgba(247,242,227,.06); border: 1px solid rgba(247,242,227,.12); }
.em-strip-nums b { font-family: "Newsreader", Georgia, serif; font-weight: 400; font-size: 1.5rem; line-height: 1.1; color: #c8a067; white-space: nowrap; font-optical-sizing: none; font-variation-settings: "opsz" 16; }
.em-strip-nums span { font: 500 10.5px "Inter", sans-serif; letter-spacing: .06em; text-transform: uppercase; color: rgba(247,242,227,.6); }
@media (max-width: 860px) { .em-strip { grid-template-columns: auto 1fr; } .em-strip-nums { grid-column: 1 / -1; } .em-strip-nums li { flex: 1; min-width: 0; } }
/* Testimonial quote marks: placed by the visible glyph so top and bottom gaps match */
.reviews-inner { padding: clamp(24px, 4vw, 56px) clamp(20px, 6vw, 110px); }
.reviews-inner::before, .reviews-inner::after { font-size: clamp(9rem, 15vw, 15rem); line-height: 1; }
.reviews-inner::before { top: 0; bottom: auto; left: 0; transform: translate(-12%, -0.42em); }
.reviews-inner::after { top: 100%; bottom: auto; right: 0; left: auto; transform: translate(12%, -0.12em); }
@media (max-width: 760px) {
  .reviews-inner { padding: 64px 8px 64px; }
  .reviews-inner::before, .reviews-inner::after { font-size: 8rem; }
  .reviews-inner::after { right: auto; left: 50%; transform: translate(-50%, -0.12em); }
}
/* Testimonial marks: measured glyph shape (ink sits 0.01–0.27em from the top), so outer gaps match */
.reviews-inner::before { transform: translate(-12%, -0.16em); }
.reviews-inner::after { transform: translate(12%, -0.12em); }
@media (max-width: 760px) { .reviews-inner::after { transform: translate(-50%, -0.12em); } }

/* ===== Global Women on the Altar: what happens on Friday ===== */
.wf { background: #f7f2e3; color: #1d1430; padding: clamp(64px, 9vw, 120px) 0; }
.wf-wrap { width: min(92%, 1240px); margin: 0 auto; }
.wf-head { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(24px, 5vw, 80px); align-items: end; }
.wf-head h2 { font-size: clamp(2.4rem, 4.8vw, 4.6rem); line-height: 1.02; color: #1d1430; }
.wf-head h2 em { color: #3a2a5a; }
.wf-head p { color: #3a2a5a; font-size: 1.05rem; line-height: 1.65; max-width: 30em; }
.wf-tiles { list-style: none; margin: clamp(36px, 5vw, 56px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.wf-tiles li { position: relative; display: grid; align-content: end; gap: 6px; min-height: clamp(190px, 18vw, 250px); padding: clamp(20px, 2.4vw, 30px); border-radius: 6px; overflow: hidden; }
.wf-tiles .t1 { background: #1d1430; color: #f7f2e3; }
.wf-tiles .t2 { background: #3a2a5a; color: #f7f2e3; }
.wf-tiles .t3 { background: #c8a067; color: #1d1430; }
.wf-n { position: absolute; top: 18px; left: clamp(20px, 2.4vw, 30px); font: 500 11.5px "Inter", sans-serif; letter-spacing: .05em; opacity: .75; }
.wf-tiles strong { font-family: "Newsreader", Georgia, serif; font-weight: 400; font-size: clamp(2.4rem, 4vw, 3.6rem); line-height: 1; font-optical-sizing: none; font-variation-settings: "opsz" 16; }
.wf-tiles li > span:last-child { font-size: .95rem; line-height: 1.5; opacity: .85; max-width: 22em; }
.wf-body { display: grid; grid-template-columns: auto 1fr; gap: clamp(20px, 3vw, 40px); margin-top: clamp(20px, 3vw, 36px); align-items: stretch; }
.wf-video { height: auto; width: clamp(240px, 24vw, 330px); aspect-ratio: 9 / 16; border-radius: 6px; justify-self: start; }
.wf-side { display: grid; grid-template-rows: 1fr auto; gap: clamp(16px, 2vw, 24px); }
.wf-quote { margin: 0; padding: clamp(24px, 3vw, 40px); border-radius: 6px; background: #ead8bb; display: flex; flex-direction: column; justify-content: center; }
.wf-quote blockquote { margin: 0; font-family: "Newsreader", Georgia, serif; font-size: clamp(1.4rem, 2.3vw, 2.1rem); line-height: 1.25; color: #1d1430; font-optical-sizing: none; font-variation-settings: "opsz" 16; }
.wf-quote figcaption { margin-top: 18px; font-family: "Newsreader", Georgia, serif; font-size: 1.1rem; color: #1d1430; }
.wf-quote figcaption .caps { display: block; margin-top: 4px; color: #3a2a5a; }
.wf-join { display: grid; grid-template-columns: 1fr auto; gap: clamp(16px, 3vw, 32px); align-items: center; padding: clamp(22px, 2.6vw, 32px); border-radius: 6px; background: #1d1430; color: #f7f2e3; }
.wf-join-text { display: grid; gap: 8px; justify-items: start; }
.wf-join-text strong { font-family: "Newsreader", Georgia, serif; font-weight: 400; font-size: clamp(1.5rem, 2.2vw, 2rem); }
.wf-join-text > span { color: rgba(247,242,227,.75); font-size: .95rem; line-height: 1.55; max-width: 30em; margin-bottom: 8px; }
.wf-qr { display: grid; justify-items: center; gap: 8px; }
.wf-qr .qr { background: #f7f2e3; padding: 8px; border-radius: 6px; }
.wf-qr .qr img, .wf-qr .qr canvas { width: 110px !important; height: 110px !important; display: block; }
.wf-qr .caps { color: rgba(247,242,227,.65); font-size: 10.5px; }
@media (max-width: 900px) {
  .wf-head, .wf-body { grid-template-columns: 1fr; }
  .wf-tiles { grid-template-columns: 1fr; }
  .wf-tiles li { min-height: 140px; }
  .wf-video { width: min(100%, 340px); justify-self: center; }
  .wf-join { grid-template-columns: 1fr; }
  .wf-qr { display: none; }
}
@media (max-width: 900px) { .wf-tiles li { padding-top: 44px; min-height: 0; } }

/* Hero round 3 */
/* 1. More room between the text block and the big word */
@media (min-width: 761px) {
  .hero-meta { margin-top: clamp(28px, 6vh, 90px); }
  .hero-title { font-size: clamp(2.4rem, min(4.2vw, 7.4vh), 5rem); }
  .hero-side { margin-top: clamp(20px, 3.4vh, 36px); }
}
/* 2. Ground Douglas: soft shadow behind him + faint gold glow around his shoulders */
.hero-cut { filter: drop-shadow(-26px 18px 40px rgba(10,6,20,.55)); }
.hero-bg { background:
  radial-gradient(ellipse 26% 34% at 79% 46%, rgba(200,160,103,.22) 0%, rgba(200,160,103,0) 70%),
  radial-gradient(ellipse 60% 75% at 72% 42%, #3a2a5a 0%, #2b1f46 45%, #1d1430 100%); }
@media (max-width: 760px) {
  .hero-bg { background: radial-gradient(ellipse 60% 30% at 50% 42%, rgba(200,160,103,.22) 0%, rgba(200,160,103,0) 70%), radial-gradient(ellipse 90% 60% at 50% 45%, #3a2a5a 0%, #2b1f46 50%, #1d1430 100%); }
}
/* 3. Second, quieter action */
.hero-ctas { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 26px; margin-top: 6px; }
.hero-ctas .btn-pill { margin-top: 0; }
.hero-link { color: #f7f2e3; font: 500 15px "Inter", sans-serif; text-decoration: underline; text-underline-offset: 6px; text-decoration-color: rgba(200,160,103,.7); }
.hero-link:hover { color: #c8a067; }
@media (max-width: 760px) { .hero-link { font-size: 14px; } }
@media (min-width: 761px) { .hero-side { max-width: none; } .hero-ctas { flex-wrap: nowrap; } }
@media (max-width: 760px) { .hero-link { display: none; } }
/* Phones: photo fills from just under the logo bar on any screen height; word follows his head */
@media (max-width: 760px) {
  .hero-cut { height: calc(100svh - var(--frame) - 58px); }
  .hero-word { top: calc(var(--frame) + 62px + (100svh - var(--frame) - 58px) * .02); }
}
/* Phones: word sits above his head (lower half behind him) and rises from further down */
@media (max-width: 760px) {
  .hero-cut { height: calc(100svh - var(--frame) - 58px - 64px); }
  .hero-word { top: calc(var(--frame) + 58px); overflow: visible; }
  .hero-word span { transform: translateY(55svh); opacity: 0; transition: transform 1.7s cubic-bezier(.16,1,.3,1) .5s, opacity .9s ease .5s; }
  .hero.ready .hero-word span { transform: none; opacity: 1; }
}
@media (max-width: 760px) { .hero-word { top: calc(var(--frame) + 58px + 26px); } }

/* ===== Why work with me / Services (redesign) ===== */
.why2 { background: #f7f2e3; display: block; }
.w2-wrap { width: min(92%, 1240px); margin: 0 auto; }
.w2-top { position: relative; background: #1d1430; color: #f7f2e3; padding: clamp(64px, 9vw, 120px) 0; overflow: clip; }
.w2-top::before { content: ""; position: absolute; width: 760px; height: 760px; right: -280px; top: -320px; border-radius: 50%; background: radial-gradient(circle, rgba(200,160,103,.16), transparent 62%); pointer-events: none; }
.w2-top-grid { position: relative; display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(32px, 6vw, 96px); align-items: center; }
.w2-photo { position: relative; margin: 0; }
.w2-photo::before { content: ""; position: absolute; inset: 22px -22px -22px 22px; border: 1px solid rgba(200,160,103,.55); border-radius: 4px; }
.w2-photo img { position: relative; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 4px; }
.w2-photo figcaption { position: absolute; left: 16px; bottom: 16px; padding: 7px 12px; border-radius: 999px; background: rgba(29,20,48,.78); color: #ead8bb; font-size: 10.5px; }
.w2-why h2 { font-size: clamp(2rem, 3.6vw, 3.4rem); line-height: 1.08; color: #f7f2e3; }
.w2-why h2 em { color: #c8a067; }
.w2-values { list-style: none; margin: clamp(30px, 4vw, 48px) 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 clamp(20px, 3vw, 40px); }
.w2-values li { display: grid; grid-template-columns: auto 1fr; column-gap: 14px; padding: clamp(16px, 2vw, 22px) 0; border-top: 1px solid rgba(200,160,103,.35); }
.w2-n { grid-row: span 2; font: 500 11.5px "Inter", sans-serif; letter-spacing: .05em; color: #c8a067; padding-top: .7em; }
.w2-values strong { font-family: "Newsreader", Georgia, serif; font-weight: 400; font-size: clamp(1.6rem, 2.4vw, 2.2rem); line-height: 1.1; color: #f7f2e3; font-optical-sizing: none; font-variation-settings: "opsz" 16; }
.w2-values li > span:last-child { margin-top: 4px; color: rgba(247,242,227,.7); font-size: .92rem; line-height: 1.5; }
.w2-bottom { padding: clamp(64px, 9vw, 110px) 0; }
.w2-bottom-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(32px, 6vw, 96px); align-items: start; }
.w2-side { position: sticky; top: 40px; display: grid; gap: 18px; justify-items: start; }
.w2-side .eyebrow { margin-bottom: 0; }
.w2-big { font-family: "Newsreader", Georgia, serif; font-size: clamp(2rem, 3.4vw, 3.2rem); line-height: 1; color: #1d1430; margin: 0; font-optical-sizing: none; font-variation-settings: "opsz" 16; }
.w2-big b { display: block; font-weight: 400; font-size: 3.4em; line-height: .85; color: #c8a067; }
.w2-side > .caps { color: #3a2a5a; }
.w2-side b[data-local-price] { color: #1d1430; }
@media (max-width: 900px) {
  .w2-top-grid, .w2-bottom-grid { grid-template-columns: 1fr; }
  .w2-photo { width: min(86%, 380px); }
  .w2-values { grid-template-columns: 1fr; }
  .w2-side { position: static; }
  .w2-big b { font-size: 2.6em; }
}
@media (max-width: 760px) { .hero-word { top: calc(var(--frame) + 58px + 46px); } }
/* Women's video: proper player overlay (no emoji) */
.wf-video { position: relative; cursor: pointer; }
.wf-video::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(29,20,48,.75) 0%, rgba(29,20,48,0) 38%); pointer-events: none; transition: opacity .3s; }
.vp-play { position: absolute; left: 50%; top: 50%; z-index: 2; transform: translate(-50%, -50%); width: 76px; height: 76px; border-radius: 50%; border: 0; display: grid; place-items: center; background: #c8a067; color: #1d1430; cursor: pointer; box-shadow: 0 0 0 10px rgba(200,160,103,.25), 0 16px 40px -12px rgba(0,0,0,.6); transition: transform .25s ease; }
.vp-play svg { width: 30px; height: 30px; margin-left: 4px; }
.wf-video:hover .vp-play { transform: translate(-50%, -50%) scale(1.06); }
.vp-bar { position: absolute; left: 16px; right: 16px; bottom: 14px; z-index: 2; display: flex; justify-content: space-between; align-items: center; color: #f7f2e3; font: 500 12px "Inter", sans-serif; letter-spacing: .03em; }
.vp-time { padding: 3px 8px; border-radius: 4px; background: rgba(29,20,48,.7); }
.wf-video.playing .vp-play, .wf-video.playing .vp-bar, .wf-video.playing::after { display: none; }
/* Social follow buttons: official logos + handle + "opens" arrow */
.social-follow { gap: 12px; flex-wrap: wrap; }
.sf-btn { display: inline-flex; align-items: center; gap: 12px; padding: 10px 16px 10px 10px; border-radius: 999px; border: 1px solid #1d1430; color: #1d1430; text-decoration: none; transition: background .25s, color .25s; }
.sf-logo { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #1d1430; color: #f7f2e3; flex: none; transition: background .25s, color .25s; }
.sf-logo svg { width: 20px; height: 20px; }
.sf-txt { display: grid; line-height: 1.2; }
.sf-txt b { font: 600 14px "Inter", sans-serif; }
.sf-txt small { font: 400 12px "Inter", sans-serif; color: #3a2a5a; }
.sf-arrow { font-size: 1.1rem; margin-left: 4px; transition: transform .25s; }
.sf-btn:hover { background: #1d1430; color: #f7f2e3; }
.sf-btn:hover .sf-logo { background: #c8a067; color: #1d1430; }
.sf-btn:hover .sf-txt small { color: #ead8bb; }
.sf-btn:hover .sf-arrow { transform: translate(2px, -2px); }
@media (max-width: 760px) { .social-follow { display: grid; } .sf-btn { justify-content: flex-start; } .sf-arrow { margin-left: auto; } }
/* Official brand colours on the social logo badges */
.sf-logo.tt, .sf-btn:hover .sf-logo.tt { background: #000; }
.sf-logo.tt svg { width: 19px; height: 19px; overflow: visible; }
.sf-logo.ig, .sf-btn:hover .sf-logo.ig { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%); color: #fff; }
.slide-bg.pre-blur { filter: none; transform: scale(1.04); }
.sf-arrow { width: 18px; height: 18px; flex: none; }

/* ===== Phones: smoother scrolling ===== */
@media (max-width: 760px) {
  html { scroll-snap-type: none !important; }
  .slide, .slide.flow { scroll-snap-align: none; }
  .hero-cut { filter: none; }
  .proto-banner { backdrop-filter: none; -webkit-backdrop-filter: none; background: rgba(27,24,20,.92); }
  .rise { transform: translateY(18px); transition-duration: .7s; }
}

/* ===== Phones: Why work with me, editorial layout ===== */
@media (max-width: 900px) {
  .w2-top { padding-top: 0; }
  .w2-top-grid { gap: 0; }
  .w2-photo { width: auto; margin: 0 calc(-4vw - 1px); }
  .w2-photo::before { display: none; }
  .w2-photo img { aspect-ratio: 4 / 3; border-radius: 0; -webkit-mask-image: linear-gradient(to bottom, #000 55%, transparent 100%); mask-image: linear-gradient(to bottom, #000 55%, transparent 100%); }
  .w2-photo figcaption { top: 16px; bottom: auto; left: calc(4vw + 16px); }
  .w2-why { position: relative; margin-top: -64px; }
  .w2-why h2 { font-size: clamp(1.9rem, 8vw, 2.4rem); }
  .w2-values { grid-template-columns: 1fr 1fr; gap: 0 18px; margin-top: 28px; }
  .w2-values li { grid-template-columns: 1fr; padding: 16px 0 18px; }
  .w2-n { grid-row: auto; padding-top: 0; margin-bottom: 6px; }
  .w2-values strong { font-size: 1.5rem; }
  .w2-values li > span:last-child { font-size: .84rem; }
}
/* Testimonials: let the pre-blurred room show through a little more */
#reviews .quote-shade { background: rgba(29,20,48,.55); }
/* Phones: lift the hero button and tighten the gap above it */
@media (max-width: 760px) {
  .frame { padding-bottom: 44px; }
  .hero-side { margin-top: 18px; }
  .hero-side .btn-pill { margin-top: 0; }
}
/* About block: the long paragraph in normal sentence case on desktop, hidden on phones */
.about-text p.caps { text-transform: none; letter-spacing: 0; font-size: 1rem; line-height: 1.65; }
@media (max-width: 760px) { .about-text p { display: none; } }
/* Phones and tablets: no section snapping, plain native scrolling (snapping jumped when accordions opened) */
@media (max-width: 1024px), (hover: none) {
  html { scroll-snap-type: none !important; }
  .slide, .slide.flow { scroll-snap-align: none !important; }
}

/* Footer link columns: three across on phones */
@media (max-width: 760px) {
  .foot-cols, .v2 .v2f-cols { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 14px !important; }
  .foot-cols a, .foot-muted, .v2 .v2f-cols a, .v2 .v2f-muted { font-size: .86rem !important; }
  .foot-cols div, .v2 .v2f-cols div { gap: 9px !important; }
}

/* Hero outline draws itself in: from the top-left corner, closing at the bottom-right */
.frame { border-color: transparent !important; --line: rgba(255,255,255,.75); }
.frame::after { content: ""; position: absolute; inset: -1px; pointer-events: none;
  background: linear-gradient(var(--line), var(--line)) 0 0 / 0 1px no-repeat,
              linear-gradient(var(--line), var(--line)) 0 0 / 1px 0 no-repeat,
              linear-gradient(var(--line), var(--line)) 100% 0 / 1px 0 no-repeat,
              linear-gradient(var(--line), var(--line)) 0 100% / 0 1px no-repeat; }
.hero.ready .frame::after { animation: frame-draw 1.8s cubic-bezier(.65,0,.35,1) .25s forwards; }
@keyframes frame-draw {
  0%   { background-size: 0 1px, 1px 0, 1px 0, 0 1px; }
  50%  { background-size: 100% 1px, 1px 100%, 1px 0, 0 1px; }
  100% { background-size: 100% 1px, 1px 100%, 1px 100%, 100% 1px; }
}
@media (max-width: 760px) { .frame { --line: rgba(255,255,255,.6); } }
@media (prefers-reduced-motion: reduce) { .frame::after { animation: none !important; background-size: 100% 1px, 1px 100%, 1px 100%, 100% 1px; } }

/* Footer columns centred on phones */
@media (max-width: 760px) {
  .foot-cols > div, .v2 .v2f-cols > div { text-align: center; justify-items: center; align-items: center; }
}

/* Mobile menu (Concept 2): numbered rows, gold accents, quick contact */
.mm2 { position: fixed; inset: 0; z-index: 200; display: flex; flex-direction: column; overflow-y: auto; overscroll-behavior: contain; padding: 18px 22px calc(26px + env(safe-area-inset-bottom)); color: #F7F2E3;
  background: radial-gradient(ellipse 80% 45% at 100% 0%, rgba(58,42,90,.95) 0%, rgba(58,42,90,0) 70%), radial-gradient(ellipse 70% 40% at 0% 100%, rgba(200,160,103,.14) 0%, rgba(200,160,103,0) 70%), #1D1430;
  animation: mm2-fade .35s ease both; }
.mm2[hidden] { display: none !important; }
.mm2-top { display: flex; align-items: center; justify-content: space-between; min-height: 52px; }
.mm2-logo img { height: 44px; width: auto; display: block; }
.mm2-close { width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(200,160,103,.6); background: none; color: #C8A067; display: grid; place-items: center; padding: 0; cursor: pointer; }
.mm2-close svg { width: 18px; height: 18px; }
.mm2-kicker { margin: 34px 0 10px; font: 500 11px "Inter", sans-serif; letter-spacing: .14em; text-transform: uppercase; color: rgba(234,216,187,.6); }
.mm2-nav { display: grid; border-top: 1px solid rgba(234,216,187,.14); position: relative; z-index: 1; }
.mm2-nav a { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; padding: 15px 2px; border-bottom: 1px solid rgba(234,216,187,.14); color: #F7F2E3; text-decoration: none; animation: mm2-row .55s cubic-bezier(.2,.7,.2,1) both; }
.mm2-nav a:nth-child(1) { animation-delay: .06s; } .mm2-nav a:nth-child(2) { animation-delay: .12s; } .mm2-nav a:nth-child(3) { animation-delay: .18s; } .mm2-nav a:nth-child(4) { animation-delay: .24s; } .mm2-nav a:nth-child(5) { animation-delay: .30s; }
.mm2-nav i { font: 500 11px "Inter", sans-serif; font-style: normal; letter-spacing: .08em; color: #C8A067; align-self: start; padding-top: .7em; }
.mm2-nav span { font: 400 2.15rem/1.05 "Newsreader", Georgia, serif; letter-spacing: -.01em; font-optical-sizing: none; font-variation-settings: "opsz" 16; }
.mm2-nav svg { width: 20px; height: 20px; color: rgba(200,160,103,.75); transition: transform .25s ease; }
.mm2-nav a:active svg, .mm2-nav a:hover svg { transform: translateX(4px); }
.mm2-nav a.on span { color: #C8A067; font-style: italic; }
.mm2-nav a.on svg { color: #C8A067; }
.mm2-foot { margin-top: auto; padding-top: 30px; display: grid; gap: 16px; position: relative; z-index: 1; animation: mm2-row .55s cubic-bezier(.2,.7,.2,1) .36s both; }
.mm2-book { display: flex; align-items: center; justify-content: space-between; padding: 17px 22px; border-radius: 999px; background: #C8A067; color: #1D1430; font: 500 15px "Inter", sans-serif; text-decoration: none; }
.mm2-book svg { width: 20px; height: 20px; }
.mm2-quick { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.mm2-quick a { display: grid; justify-items: center; gap: 6px; padding: 12px 4px; border: 1px solid rgba(234,216,187,.18); border-radius: 14px; color: #EAD8BB; font: 500 11.5px "Inter", sans-serif; letter-spacing: .03em; text-decoration: none; background: rgba(58,42,90,.35); }
.mm2-quick svg { width: 19px; height: 19px; color: #C8A067; }
.mm2-note { margin: 2px 0 0; text-align: center; font: 500 10.5px "Inter", sans-serif; letter-spacing: .12em; text-transform: uppercase; color: rgba(234,216,187,.5); }
.mm2-word { position: absolute; right: -6px; top: 92px; z-index: 0; pointer-events: none; font: 400 9.5rem/1 "Newsreader", Georgia, serif; font-optical-sizing: none; font-variation-settings: "opsz" 16; color: transparent; -webkit-text-stroke: 1px rgba(200,160,103,.13); writing-mode: vertical-rl; transform: rotate(180deg); white-space: nowrap; }
@keyframes mm2-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes mm2-row { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .mm2, .mm2-nav a, .mm2-foot { animation: none !important; } }
html.mm2-lock, html.mm2-lock body { overflow: hidden !important; }

/* Menu: bottom block sits higher, with social logos */
.mm2-foot { margin-top: 0 !important; padding-top: 34px !important; }
.mm2-social { display: flex; justify-content: center; gap: 12px; margin-top: 2px; }
.mm2-social a { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; border: 1px solid rgba(200,160,103,.4); color: #EAD8BB; }
.mm2-social svg { width: 19px; height: 19px; }
/* Fridays video: full content width on phones */
@media (max-width: 760px) { .wf-video { width: 100% !important; max-width: none !important; justify-self: stretch !important; border-radius: 14px; } }

/* Values: align titles across each row on phones */
@media (max-width: 900px) { .w2-values li { align-content: start; grid-auto-rows: min-content; } }

/* Phone menu: the Concept 1 drop-down card (replaces the full-screen menu) */
.dd { position: fixed; left: 16px; right: 16px; z-index: 300; display: flex; flex-direction: column; gap: 4px; padding: 12px; background: #FBF8F3; border: 1px solid rgba(36,29,49,.1); border-radius: 24px; box-shadow: 0 24px 50px -20px rgba(23,17,42,.45); opacity: 0; transform: translateY(-8px); transition: opacity .25s ease, transform .25s ease; }
.dd.open { opacity: 1; transform: none; }
.dd[hidden] { display: none !important; }
.dd a { display: block; padding: 14px 18px; border-radius: 14px; font: 500 1.05rem/1.3 "Inter", system-ui, sans-serif; color: #5d5670; text-decoration: none; }
.dd a:hover { background: rgba(34,24,57,.06); }
.dd a.on { background: #221839; color: #fff; }
.dd .dd-cta { margin-top: 8px; padding: 15px 18px; border-radius: 999px; background: #221839; color: #fff; text-align: center; }
.dd .dd-cta.on { background: #221839; }
@media (min-width: 961px) { .dd { display: none !important; } }

/* Phone menu: plum menu as a floating pop-up card (not full screen) */
.mm2-bd { position: fixed; inset: 0; z-index: 199; background: rgba(15,10,26,.55); animation: mm2-fade .25s ease both; }
.mm2-bd[hidden] { display: none !important; }
.mm2 { inset: 12px 12px auto 12px !important; max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); border-radius: 26px; border: 1px solid rgba(200,160,103,.28); box-shadow: 0 40px 80px -30px rgba(0,0,0,.7); padding: 16px 18px 22px !important; overflow: hidden auto; transform-origin: top right; animation: mm2-pop .32s cubic-bezier(.2,.8,.2,1) both !important; }
.mm2-kicker { display: none; }
.mm2-nav { margin-top: 18px; }
.mm2-nav a { padding: 12px 2px; }
.mm2-nav span { font-size: 1.8rem; }
.mm2-foot { padding-top: 22px !important; gap: 12px; }
.mm2-word { top: 70px; font-size: 7.5rem; }
@keyframes mm2-pop { from { opacity: 0; transform: scale(.94) translateY(-8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .mm2, .mm2-bd { animation: none !important; } }

/* Services list: "Learn more" as a gold button */
.svc-more { display: inline-flex; align-items: center; gap: 8px; margin-top: 6px; padding: 11px 20px; border-radius: 999px; background: #C8A067; color: #1D1430; font: 500 13.5px "Inter", sans-serif; letter-spacing: .02em; text-decoration: none; transition: background .2s ease, transform .2s ease; }
.svc-more span { transition: transform .2s ease; }
.svc-more:hover { background: #b98f57; }
.svc-more:hover span { transform: translateX(3px); }
.svc-list.acc .svc-body a.svc-more { display: inline-flex; padding: 11px 20px; font: 500 13.5px "Inter", sans-serif; letter-spacing: .02em; text-transform: none; border: 0; }
.svc-list.acc .svc-body a.svc-more:hover { padding-left: 20px; }

/* Learn more: arrow always visible */
.svc-list .svc-more span { display: inline-block; opacity: 1; transform: none; font: inherit; font-size: 1em; }
.svc-list .svc-more:hover span { transform: translateX(3px); }

/* Emergency numbers (phones): keep "911 · 988" inside its box */
@media (max-width: 860px) {
  .em-strip-nums { gap: 8px !important; }
  .em-strip-nums li { padding: 10px 6px !important; min-width: 0; }
  .em-strip-nums li:nth-child(2) { flex: 1.45 !important; }
  .em-strip-nums b { font-size: 1.3rem !important; }
}

/* Reviews: five gold stars above each review */
.rv-stars { display: flex; justify-content: center; gap: 5px; margin-bottom: 18px; color: #C8A067; }
.rv-stars svg { width: 18px; height: 18px; }
.rvm .rv-stars { justify-content: flex-start; margin-bottom: 14px; }
@media (max-width: 760px) { .rv-stars svg { width: 16px; height: 16px; } .rv-stars { margin-bottom: 14px; } }
@media (min-width: 761px) { .rv-item .rv-stars svg { width: 22px; height: 22px; } .rv-item .rv-stars { gap: 6px; margin-bottom: 22px; } }

/* Narrow Android screens: roomier forms, banner that fits */
@media (max-width: 380px) {
  .v2 .inv-form, .contact-v2 .ct-form, .v2 #book-details { padding-left: 16px !important; padding-right: 16px !important; }
  .v2 .inv-dates-row { grid-template-columns: 1fr; gap: 10px; }
  .v2 .inv-date { grid-template-columns: 44px 1fr; align-items: center; gap: 8px; }
  .proto-banner, .v2 .proto-banner.v2b { left: 10px !important; right: 10px; transform: none !important; max-width: none; white-space: normal !important; text-align: center; font-size: 11px !important; line-height: 1.35; padding: 6px 12px !important; border-radius: 14px !important; }
}

/* Why work with me (phones): a photo hero with just the eyebrow and heading */
@media (max-width: 760px) {
  .w2-top { position: relative; padding: 0 !important; min-height: 92svh; display: flex; }
  .w2-top-grid { position: static !important; display: flex !important; flex-direction: column; justify-content: flex-end; width: 100%; min-height: 92svh; padding: 0 4vw 60px; gap: 0 !important; }
  .w2-photo { position: absolute !important; inset: 0; z-index: 0; width: auto !important; margin: 0 !important; transform: none !important; opacity: 1 !important; }
  .w2-photo img { width: 100%; height: 100%; aspect-ratio: auto !important; object-fit: cover; object-position: 55% 40%; border-radius: 0 !important; -webkit-mask-image: none !important; mask-image: none !important; }
  .w2-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, #1d1430 0%, rgba(29,20,48,.88) 26%, rgba(29,20,48,.25) 55%, rgba(29,20,48,.15) 100%); }
  .w2-photo figcaption { z-index: 2; top: calc(var(--frame, 16px) + 8px); bottom: auto; left: 4vw !important; }
  .w2-why { position: relative; z-index: 1; }
  .w2-why h2 { font-size: 2.35rem; margin-bottom: 0; }
  .w2-values { display: none !important; }
}

/* "Not an emergency service" pop-up: compact rounded card */
.em { display: grid; place-items: center; padding: 24px; background: rgba(15,10,26,.55); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.em .em-box { width: 100%; max-width: 380px; padding: 34px 26px 24px; border-radius: 28px; background: #F7F2E3; text-align: center; box-shadow: 0 40px 90px -30px rgba(0,0,0,.65); animation: mm2-pop .32s cubic-bezier(.2,.8,.2,1) both; }
.em-ic { width: 54px; height: 54px; margin: 0 auto 14px; border-radius: 50%; display: grid; place-items: center; background: #C8A067; color: #1D1430; }
.em-ic svg { width: 24px; height: 24px; }
.em-kicker { display: block; font: 500 11px "Inter", sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #3A2A5A; margin-bottom: 8px; }
.em .em-box h2 { font-size: 1.55rem; line-height: 1.15; margin: 0 0 10px; color: #1D1430; }
.em .em-box p { margin: 0 auto 18px; max-width: 30ch; font-size: .95rem; line-height: 1.55; color: rgba(29,20,48,.72); }
.em-chips { list-style: none; margin: 0 0 20px; padding: 0; display: grid; grid-template-columns: 1fr 1.4fr 1fr; gap: 8px; }
.em-chips li { display: grid; gap: 2px; padding: 10px 4px; border-radius: 14px; background: #fff; border: 1px solid rgba(29,20,48,.1); }
.em-chips b { font: 400 1.2rem/1.1 "Newsreader", Georgia, serif; font-variation-settings: "opsz" 16; color: #3A2A5A; white-space: nowrap; }
.em-chips span { font: 500 10px "Inter", sans-serif; letter-spacing: .08em; text-transform: uppercase; color: rgba(29,20,48,.55); }
.em-ok { width: 100%; padding: 14px 20px; border: 0; border-radius: 999px; background: #1D1430; color: #F7F2E3; font: 500 15px "Inter", sans-serif; cursor: pointer; }
.em-ok:focus { outline: none; }
.em-ok:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(200,160,103,.55); }
@media (max-width: 380px) { .em .em-box { padding: 30px 20px 20px; } .em-chips b { font-size: 1.05rem; } }
