/* Dazzlers Media+ — v4 "editorial luxe"
   Brand board: Dazzle Pink #FF5C8A, Blush #FFC1D6, Baby Pink #FFE6EF, Lilac #E3D1FF,
   Rose #F7B6C9, Gold #D4AF37, Pearl #FFFFFF · Playfair Display + Montserrat.
   Built by Stallion Graphics & Web Designs. */
:root{
  --pink:#ff5c8a; --pink-deep:#e0336b; --pink-ink:#c2185b;
  --blush:#ffc1d6; --baby:#ffe6ef; --rose:#f7b6c9; --lilac:#e3d1ff;
  --gold:#d4af37; --gold-deep:#a8862a; --pearl:#ffffff;
  --cream:#fff8fa; --wine:#2b0f1d; --wine-2:#3a1628; --wine-3:#4a1d34;
  --ink:#20121a; --muted:#7a6670; --line:#f3dfe6; --line-dark:#4d2638;
  --serif:"Playfair Display", Georgia, "Times New Roman", serif;
  --body:"Montserrat", system-ui, sans-serif;
  --r:28px; --r-sm:16px;
  --wrap:1320px;
  --ease:cubic-bezier(.16,1,.3,1);
}
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{ font-family:var(--body); color:var(--ink); background:var(--cream); font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
img, video{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; cursor:pointer; border:none; background:none; color:inherit; }
::selection{ background:var(--pink); color:#fff; }

.wrap{ width:100%; max-width:var(--wrap); margin:0 auto; padding:0 36px; }
.section{ padding:130px 0; }
.dark{ background:var(--wine); color:#fbecf2; }
.blush{ background:var(--baby); }
.pearl{ background:var(--pearl); }

/* ---------- type ---------- */
.display{ font-family:var(--serif); font-weight:500; line-height:.98; letter-spacing:-.035em; }
.h-xl{ font-size:clamp(56px, 9.4vw, 156px); }
.h-lg{ font-size:clamp(44px, 6.4vw, 104px); }
.h-md{ font-size:clamp(36px, 4.6vw, 72px); }
.h-sm{ font-size:clamp(28px, 2.8vw, 40px); }
.serif{ font-family:var(--serif); font-style:italic; font-weight:400; }
.pink{ color:var(--pink); }
.gold{ color:var(--gold); }
.lead{ font-size:clamp(16px, 1.35vw, 19px); color:var(--muted); max-width:600px; line-height:1.7; }
.dark .lead{ color:#d9c2cc; }
.tiny{ font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.eyebrow, .kicker{ display:inline-flex; align-items:center; gap:12px; font-size:11px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:var(--pink-ink); }
.eyebrow::before, .kicker::before{ content:"✦"; font-size:12px; color:var(--gold); letter-spacing:0; }
.kicker{ margin-bottom:22px; }
.dark .eyebrow, .dark .kicker, .kicker.gold{ color:var(--blush); }

/* ---------- buttons ---------- */
.btn{ display:inline-flex; align-items:center; gap:12px; padding:17px 30px; border-radius:999px; font-weight:600; font-size:13px; letter-spacing:.14em; text-transform:uppercase; transition:transform .5s var(--ease), background .35s, color .35s, border-color .35s, box-shadow .35s; white-space:nowrap; }
.btn svg{ width:16px; height:16px; transition:transform .5s var(--ease); }
.btn:hover svg{ transform:translateX(5px); }
.btn-pink{ background:var(--pink); color:#fff; box-shadow:0 14px 34px -14px rgba(255,92,138,.9); }
.btn-pink:hover{ background:var(--pink-deep); transform:translateY(-2px); }
.btn-ink{ background:var(--ink); color:#fff; }
.btn-ink:hover{ background:var(--pink); transform:translateY(-2px); }
.btn-line{ border:1px solid currentColor; }
.btn-line:hover{ background:var(--ink); color:#fff; border-color:var(--ink); }
.dark .btn-line:hover{ background:#fff; color:var(--wine); border-color:#fff; }
.btn-white{ background:#fff; color:var(--pink-ink); }
.btn-white:hover{ background:var(--gold); color:#fff; }
.link{ font-weight:600; font-size:12px; letter-spacing:.18em; text-transform:uppercase; border-bottom:1px solid currentColor; padding-bottom:4px; transition:color .3s; }
.link:hover{ color:var(--pink); }

/* ---------- header ---------- */
.hdr{ position:sticky; top:0; z-index:50; background:rgba(255,248,250,.78); backdrop-filter:saturate(1.5) blur(16px); -webkit-backdrop-filter:saturate(1.5) blur(16px); border-bottom:1px solid transparent; transition:border-color .3s; }
.hdr.scrolled{ border-color:var(--line); }
.hdr .wrap{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; height:84px; gap:24px; }
.logo{ display:flex; align-items:center; gap:12px; justify-self:start; }
.logo img{ width:48px; height:48px; border-radius:50%; object-fit:cover; box-shadow:0 0 0 1px rgba(212,175,55,.5); }
.logo b{ font-family:var(--serif); font-weight:600; font-size:21px; letter-spacing:-.01em; line-height:1; color:var(--pink-deep); }
.logo b span{ color:var(--gold-deep); }
.logo b sup{ font-size:.55em; color:var(--gold); }
.nav{ display:flex; align-items:center; gap:34px; }
.nav a{ font-size:13px; font-weight:600; letter-spacing:.06em; position:relative; padding:6px 0; }
.nav a::after{ content:""; position:absolute; left:50%; bottom:0; width:4px; height:4px; border-radius:50%; background:var(--pink); transform:translateX(-50%) scale(0); transition:transform .4s var(--ease); }
.nav a:hover::after, .nav a.on::after{ transform:translateX(-50%) scale(1); }
.nav a.on{ color:var(--pink-deep); }
.hdr .hdr-cta{ justify-self:end; padding:13px 24px; }
.burger{ display:none; width:46px; height:46px; border-radius:50%; background:var(--ink); color:#fff; align-items:center; justify-content:center; justify-self:end; }
.burger svg{ width:20px; height:20px; }
.drawer{ position:fixed; inset:0; z-index:60; background:var(--wine); color:#fff; padding:24px; display:flex; flex-direction:column; transform:translateY(-100%); transition:transform .7s var(--ease); }
.drawer.open{ transform:none; }
.drawer .top{ display:flex; justify-content:space-between; align-items:center; }
.drawer .logo b{ color:#fff; }
.drawer nav{ margin-top:50px; display:flex; flex-direction:column; gap:4px; }
.drawer nav a{ font-family:var(--serif); font-size:46px; line-height:1.15; letter-spacing:-.02em; }
.drawer nav a.on{ color:var(--pink); font-style:italic; }
.drawer .btn{ margin-top:auto; justify-content:center; }

/* ---------- HOME: hero ---------- */
.hero{ padding:44px 0 90px; position:relative; overflow:hidden; }
.hero::before{ content:""; position:absolute; width:900px; height:900px; border-radius:50%; left:50%; top:-420px; transform:translateX(-50%); background:radial-gradient(circle, rgba(255,193,214,.55), transparent 65%); pointer-events:none; }
.hero-top{ display:flex; justify-content:space-between; align-items:center; gap:20px; position:relative; }
.hero-top .tiny{ color:var(--muted); }
.hero h1{ text-align:center; margin:38px 0 46px; position:relative; }
.hero h1 .l2{ display:block; }
.hero h1 .serif{ color:var(--pink); }
.collage{ display:grid; grid-template-columns:1fr 1fr 1.15fr 1fr 1fr; gap:clamp(10px,1.4vw,22px); align-items:end; position:relative; }
.tile{ position:relative; overflow:hidden; background:var(--baby); }
.tile img, .tile video{ width:100%; height:100%; object-fit:cover; transition:transform 1.4s var(--ease); }
.tile:hover img, .tile:hover video{ transform:scale(1.06); }
.tile.arch{ aspect-ratio:3/4; border-radius:999px 999px var(--r) var(--r); }
.tile.circle{ aspect-ratio:1; border-radius:50%; }
.tile.tall{ aspect-ratio:3/4.4; border-radius:var(--r); }
.tile.up{ margin-bottom:40px; }
.tile.stat{ aspect-ratio:1; border-radius:50%; background:var(--pink); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.tile.stat b{ font-family:var(--serif); font-weight:500; font-size:clamp(40px,5vw,78px); line-height:.9; letter-spacing:-.03em; }
.tile.stat span{ font-size:clamp(9px,.8vw,11px); font-weight:700; letter-spacing:.2em; text-transform:uppercase; margin-top:8px; }
.tile .vtag{ position:absolute; left:14px; bottom:14px; display:inline-flex; align-items:center; gap:7px; padding:7px 12px; border-radius:999px; background:rgba(255,255,255,.92); color:var(--pink-ink); font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.tile .vtag i{ width:7px; height:7px; border-radius:50%; background:var(--pink); animation:pulse 1.6s ease-in-out infinite; }
@keyframes pulse{ 50%{ opacity:.3; } }
.hero-meta{ display:grid; grid-template-columns:1fr 1.3fr auto; gap:30px; align-items:end; margin-top:54px; position:relative; }
.hero-meta .svc-mini{ font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; line-height:2; color:var(--muted); }
.hero-meta p{ font-size:clamp(16px,1.3vw,18px); line-height:1.7; max-width:520px; }
.hero-meta .r{ display:flex; gap:12px; flex-wrap:wrap; justify-content:flex-end; }
.badge-spin{ position:absolute; left:calc(50% + 4%); bottom:-46px; width:132px; height:132px; z-index:2; }
.badge-spin svg{ width:100%; height:100%; animation:spin 22s linear infinite; }
.badge-spin text{ font-family:var(--body); font-size:10.6px; font-weight:700; letter-spacing:.22em; fill:var(--pink-ink); text-transform:uppercase; }
.badge-spin img{ position:absolute; inset:24%; width:52%; height:52%; border-radius:50%; object-fit:cover; }
@keyframes spin{ to{ transform:rotate(360deg); } }

/* ---------- HOME: statement with inline media ---------- */
.statement{ font-family:var(--serif); font-weight:400; font-size:clamp(34px,4.6vw,74px); line-height:1.12; letter-spacing:-.03em; max-width:1180px; }
.statement .w{ opacity:.18; transition:opacity .5s; }
.statement .w.lit{ opacity:1; }
.statement em{ color:var(--pink); }
.ipill{ display:inline-block; width:1.9em; height:.82em; border-radius:999px; overflow:hidden; vertical-align:-.06em; margin:0 .08em; background:var(--baby); }
.ipill img, .ipill video{ width:100%; height:100%; object-fit:cover; }
.figures{ display:grid; grid-template-columns:repeat(4,1fr); margin-top:90px; border-top:1px solid var(--line); }
.figures div{ padding:34px 26px 0 0; }
.figures div + div{ padding-left:26px; border-left:1px solid var(--line); }
.figures b{ display:block; font-family:var(--serif); font-weight:500; font-size:clamp(44px,5vw,76px); line-height:1; letter-spacing:-.03em; }
.figures b sup{ font-size:.45em; color:var(--pink); }
.figures span{ font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }

/* ---------- HOME: services rows ---------- */
.sh{ display:flex; justify-content:space-between; align-items:flex-end; gap:32px; margin-bottom:64px; flex-wrap:wrap; }
.sh .eyebrow{ margin-top:16px; display:flex; }
.svc-rows{ border-top:1px solid var(--line-dark); position:relative; }
.svc-row{ display:grid; grid-template-columns:90px 1.4fr 1fr 60px; gap:24px; align-items:center; padding:34px 0; border-bottom:1px solid var(--line-dark); transition:padding .6s var(--ease); position:relative; }
.svc-row .n{ font-size:12px; font-weight:700; letter-spacing:.18em; color:var(--blush); }
.svc-row h3{ font-family:var(--serif); font-weight:400; font-size:clamp(30px,3.6vw,56px); line-height:1; letter-spacing:-.03em; transition:color .4s, transform .6s var(--ease); }
.svc-row p{ font-size:15px; color:#d1b8c3; }
.svc-row p b{ display:block; color:var(--gold); font-weight:600; font-size:12px; letter-spacing:.14em; text-transform:uppercase; margin-top:8px; }
.svc-row .ar{ width:56px; height:56px; border-radius:50%; border:1px solid var(--line-dark); display:flex; align-items:center; justify-content:center; transition:all .5s var(--ease); justify-self:end; }
.svc-row .ar svg{ width:18px; height:18px; }
.svc-row:hover h3{ color:var(--pink); transform:translateX(14px); font-style:italic; }
.svc-row:hover .ar{ background:var(--pink); border-color:var(--pink); transform:rotate(-45deg); }
.hover-img{ position:fixed; left:0; top:0; width:300px; height:380px; border-radius:999px 999px 24px 24px; overflow:hidden; pointer-events:none; z-index:40; opacity:0; transform:translate(-50%,-50%) scale(.6); transition:opacity .35s, transform .5s var(--ease); box-shadow:0 40px 80px -30px rgba(0,0,0,.6); }
.hover-img.on{ opacity:1; transform:translate(-50%,-50%) scale(1); }
.hover-img img{ width:100%; height:100%; object-fit:cover; }

/* ---------- marquee ---------- */
.marquee{ overflow:hidden; background:var(--pink); color:#fff; }
.marquee .track{ display:flex; width:max-content; animation:mq 38s linear infinite; }
.marquee span{ display:flex; align-items:center; gap:34px; padding:26px 34px 26px 0; font-family:var(--serif); font-size:clamp(28px,3.2vw,46px); white-space:nowrap; letter-spacing:-.02em; }
.marquee span em{ font-style:italic; color:var(--wine); }
.marquee span i{ font-style:normal; font-size:.6em; color:var(--gold); }
.marquee span i::before{ content:"✦"; }
@keyframes mq{ to{ transform:translateX(-50%); } }

/* ---------- HOME: selected work (editorial) ---------- */
.ed{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.ed-col{ display:contents; }
.ec{ position:relative; border-radius:var(--r); overflow:hidden; color:#fff; min-height:340px; display:flex; flex-direction:column; justify-content:flex-end; padding:30px; isolation:isolate; }
.ec.big{ grid-column:1/-1; min-height:540px; }
.ec > img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform 1.4s var(--ease); }
.ec::after{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(to top, rgba(43,15,29,.92) 8%, rgba(43,15,29,.25) 55%, transparent); }
.ec:hover > img{ transform:scale(1.05); }
.ec .tiny{ color:var(--blush); }
.ec h3{ font-family:var(--serif); font-weight:500; font-size:clamp(40px,4.4vw,72px); line-height:1; letter-spacing:-.03em; margin:10px 0 4px; }
.ec.big h3{ font-size:clamp(52px,6vw,96px); }
.ec h3 + em{ font-family:var(--serif); font-size:20px; color:var(--blush); }
.ec .chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.ec .chips span{ padding:8px 14px; border-radius:999px; background:rgba(255,255,255,.14); backdrop-filter:blur(8px); font-size:13px; font-weight:600; border:1px solid rgba(255,255,255,.2); }
.ec .chips b{ color:var(--blush); margin-right:6px; }

/* ---------- HOME: brand essence ---------- */
.essence{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(40px,7vw,110px); align-items:center; }
.essence .art{ aspect-ratio:4/4.6; border-radius:999px 999px var(--r) var(--r); overflow:hidden; background:#fed6df; box-shadow:0 50px 90px -50px rgba(194,24,91,.55); }
.essence .art img{ width:100%; height:100%; object-fit:cover; }
.vals{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px 22px; margin-top:46px; padding-top:36px; border-top:1px solid var(--rose); }
.vals div{ display:flex; gap:12px; align-items:flex-start; }
.vals svg{ width:22px; height:22px; color:var(--pink); flex:none; margin-top:2px; }
.vals b{ display:block; font-size:14px; font-weight:700; }
.vals span{ font-size:13px; color:var(--muted); line-height:1.5; }

/* ---------- client videos ---------- */
.rvws{ display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
.rvw{ position:relative; aspect-ratio:9/16; border-radius:var(--r); overflow:hidden; background:var(--wine-2); isolation:isolate; }
.rvw:nth-child(even){ transform:translateY(40px); }
.rvw video{ width:100%; height:100%; object-fit:cover; background:var(--wine-2); }
.rvw::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(43,15,29,.85), transparent 45%); pointer-events:none; transition:opacity .4s; }
.rvw-play{ position:absolute; top:50%; left:50%; width:68px; height:68px; margin:-34px 0 0 -34px; border-radius:50%; background:rgba(255,255,255,.92); color:var(--pink); display:flex; align-items:center; justify-content:center; z-index:2; transition:transform .5s var(--ease), background .3s, color .3s; }
.rvw-play svg{ width:22px; height:22px; margin-left:3px; }
.rvw:hover .rvw-play{ transform:scale(1.12); background:var(--pink); color:#fff; }
.rvw figcaption{ position:absolute; left:18px; right:18px; bottom:18px; z-index:2; color:#fff; pointer-events:none; transition:opacity .4s; }
.rvw figcaption .tiny{ color:var(--blush); display:block; }
.rvw figcaption b{ display:block; font-family:var(--serif); font-weight:500; font-size:20px; line-height:1.2; margin-top:6px; }
.rvw figcaption span:not(.tiny){ font-size:13px; color:#ecd7df; }
.rvw.on::after, .rvw.on figcaption, .rvw.on .rvw-play{ opacity:0; pointer-events:none; }

/* ---------- case cards (work page) ---------- */
.cases{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.case{ background:var(--pearl); border-radius:var(--r); overflow:hidden; border:1px solid var(--line); display:flex; flex-direction:column; transition:transform .7s var(--ease), box-shadow .7s var(--ease); }
.case:hover{ transform:translateY(-8px); box-shadow:0 40px 70px -40px rgba(194,24,91,.4); }
.case .ph{ aspect-ratio:16/11; overflow:hidden; position:relative; border-radius:999px 999px 0 0; margin:14px 14px 0; }
.case .ph img{ width:100%; height:100%; object-fit:cover; transition:transform 1.4s var(--ease); }
.case:hover .ph img{ transform:scale(1.06); }
.case .ph .chip{ display:none; }
.case .bd{ padding:28px; display:flex; flex-direction:column; gap:14px; flex:1; }
.case .bd > .tiny{ color:var(--pink-ink); }
.case h3{ font-family:var(--serif); font-weight:500; font-size:44px; line-height:1; letter-spacing:-.03em; }
.case h3 small{ display:block; font-style:italic; font-weight:400; font-size:18px; color:var(--pink); margin-top:6px; letter-spacing:0; }
.case .st{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.case .st div{ background:var(--baby); border-radius:14px; padding:13px 15px; }
.case .st b{ display:block; font-family:var(--serif); font-size:24px; font-weight:600; color:var(--pink-ink); line-height:1.1; }
.case .st span{ font-size:12px; color:var(--muted); font-weight:500; }
.case .how{ font-size:14px; color:var(--muted); margin-top:auto; }

/* ---------- results grid ---------- */
.works{ display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:230px; gap:18px; }
.work{ border-radius:var(--r-sm); overflow:hidden; position:relative; background:var(--pearl); cursor:zoom-in; box-shadow:0 24px 50px -36px rgba(122,20,60,.5); }
.work img{ width:100%; height:100%; object-fit:cover; object-position:center 30%; transition:transform 1.2s var(--ease); }
.work:hover img{ transform:scale(1.05); }
.work .cap{ position:absolute; left:0; right:0; bottom:0; padding:48px 18px 16px; background:linear-gradient(to top, rgba(43,15,29,.9), transparent); color:#fff; }
.work .cap .tiny{ color:var(--blush); }
.work .cap b{ display:block; font-size:15px; font-weight:600; line-height:1.3; }
.work .cap em{ font-style:normal; font-size:13px; color:var(--gold); font-weight:600; }
.work.w2{ grid-column:span 2; }
.work.h2{ grid-row:span 2; }

/* lightbox */
.lb{ position:fixed; inset:0; z-index:80; background:rgba(43,15,29,.95); display:none; align-items:center; justify-content:center; padding:4vw; }
.lb.open{ display:flex; }
.lb img{ max-width:100%; max-height:84vh; border-radius:14px; }
.lb .x{ position:absolute; top:22px; right:22px; width:50px; height:50px; border-radius:50%; background:#fff; color:var(--ink); display:flex; align-items:center; justify-content:center; }
.lb .x svg, .lb .nv svg{ width:20px; height:20px; }
.lb .nv{ position:absolute; top:50%; width:54px; height:54px; border-radius:50%; background:rgba(255,255,255,.12); color:#fff; display:flex; align-items:center; justify-content:center; transform:translateY(-50%); }
.lb .nv:hover{ background:var(--pink); }
.lb .pv{ left:20px; } .lb .nx{ right:20px; }
.lb p{ position:absolute; bottom:24px; left:0; right:0; text-align:center; color:#f5dde7; font-size:14px; font-weight:500; }

/* video ad tiles */
.reels{ display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
.reel{ aspect-ratio:9/16; border-radius:var(--r); background:var(--wine-2); border:1px solid var(--line-dark); overflow:hidden; position:relative; display:flex; flex-direction:column; justify-content:flex-end; padding:20px; color:#fff; transition:transform .6s var(--ease), border-color .3s; }
.reel::before{ content:""; position:absolute; inset:0; background:radial-gradient(120% 80% at 50% 0%, rgba(255,92,138,.5), transparent 60%), linear-gradient(to top, var(--wine) 10%, transparent 70%); }
.reel:hover{ transform:translateY(-6px); border-color:var(--pink); }
.reel > *{ position:relative; }
.reel .play{ position:absolute; top:50%; left:50%; width:62px; height:62px; margin:-31px 0 0 -31px; border-radius:50%; background:#fff; color:var(--pink); display:flex; align-items:center; justify-content:center; transition:transform .4s var(--ease); }
.reel:hover .play{ transform:scale(1.12); }
.reel .play svg{ width:22px; height:22px; margin-left:3px; }
.reel .tiny{ color:var(--blush) !important; }
.reel b{ font-family:var(--serif); font-weight:500; font-size:24px; line-height:1.1; }
.reel span{ font-size:12px; color:#dbc4ce; }

/* ---------- pricing ---------- */
.tabs{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:48px; }
.tab{ padding:13px 22px; border-radius:999px; border:1px solid var(--line); background:var(--pearl); font-weight:600; font-size:13px; letter-spacing:.04em; transition:all .3s; }
.tab:hover{ border-color:var(--pink); color:var(--pink-deep); }
.tab.on{ background:var(--ink); border-color:var(--ink); color:#fff; }
.plans{ display:grid; grid-template-columns:repeat(auto-fill, minmax(250px,1fr)); gap:20px; }
.plan{ background:var(--pearl); border:1px solid var(--line); border-radius:var(--r); padding:32px 28px; display:flex; flex-direction:column; gap:14px; position:relative; transition:transform .6s var(--ease), box-shadow .6s var(--ease), border-color .3s; animation:rise .7s var(--ease) both; }
.plan:hover{ transform:translateY(-6px); border-color:var(--blush); box-shadow:0 30px 60px -36px rgba(194,24,91,.4); }
.plan.hot{ background:var(--wine); color:#fff; border-color:var(--wine); }
.plan .tag{ position:absolute; top:-12px; right:22px; background:var(--pink); color:#fff; padding:6px 13px; border-radius:999px; font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.plan.prem .tag{ background:var(--gold); }
.plan h3{ font-family:var(--serif); font-weight:500; font-size:26px; letter-spacing:-.02em; line-height:1.1; }
.plan .for{ font-size:13.5px; color:var(--muted); min-height:42px; }
.plan.hot .for{ color:#d9c2cc; }
.plan .pr{ font-family:var(--serif); font-size:44px; font-weight:500; line-height:1; letter-spacing:-.03em; }
.plan .pr small{ font-family:var(--body); font-size:13px; font-weight:500; color:var(--muted); margin-left:4px; letter-spacing:0; }
.plan.hot .pr small{ color:#d9c2cc; }
.plan ul{ list-style:none; display:flex; flex-direction:column; gap:10px; padding-top:16px; border-top:1px solid var(--line); font-size:14px; }
.plan.hot ul{ border-color:var(--line-dark); }
.plan li{ display:flex; gap:10px; align-items:flex-start; }
.plan li::before{ content:"✦"; color:var(--pink); font-size:11px; margin-top:3px; }
.plan.hot li::before{ color:var(--gold); }
.plan .btn{ margin-top:auto; justify-content:center; }
.addons{ margin-top:22px; display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:14px; }
.addon{ border:1px dashed var(--rose); border-radius:var(--r-sm); padding:20px 22px; background:rgba(255,255,255,.6); }
.addon b{ display:block; font-size:15px; }
.addon .p{ color:var(--pink-ink); font-weight:700; font-size:15px; }
.addon p{ font-size:13px; color:var(--muted); }
@keyframes rise{ from{ opacity:0; transform:translateY(16px); } }

/* bundles */
.bundles{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
.bundle{ border:1px solid var(--line-dark); border-radius:var(--r); padding:28px 24px; display:flex; flex-direction:column; gap:12px; background:var(--wine-2); position:relative; transition:transform .6s var(--ease), border-color .3s; }
.bundle:hover{ transform:translateY(-6px); border-color:var(--pink); }
.bundle.feat{ background:var(--pink); border-color:var(--pink); }
.bundle .tag{ align-self:flex-start; padding:5px 11px; border-radius:999px; background:var(--gold); color:var(--wine); font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.bundle.feat .tag{ background:#fff; color:var(--pink-ink); }
.bundle h3{ font-family:var(--serif); font-weight:500; font-size:26px; line-height:1.05; letter-spacing:-.02em; }
.bundle .pr{ font-family:var(--serif); font-size:34px; font-weight:500; letter-spacing:-.03em; }
.bundle .was{ text-decoration:line-through; color:#b89aa8; font-size:14px; margin-left:6px; font-family:var(--body); }
.bundle.feat .was{ color:#ffe0ea; }
.bundle .save{ font-size:11px; font-weight:700; color:var(--gold); letter-spacing:.14em; text-transform:uppercase; }
.bundle.feat .save{ color:#fff; }
.bundle ul{ list-style:none; font-size:14px; color:#dbc4ce; display:flex; flex-direction:column; gap:6px; border-top:1px solid var(--line-dark); padding-top:12px; }
.bundle.feat ul{ color:#fff; border-color:rgba(255,255,255,.35); }
.bundle li::before{ content:"✦ "; color:var(--pink); }
.bundle.feat li::before{ color:#fff; }
.bundles.light{ grid-template-columns:repeat(3,1fr); }
.bundles.light .bundle{ background:var(--pearl); border-color:var(--line); color:var(--ink); }
.bundles.light .bundle ul{ color:var(--muted); border-color:var(--line); }
.bundles.light .bundle .save{ color:var(--pink-ink); }
.bundles.light .bundle.feat{ background:var(--wine); border-color:var(--wine); color:#fff; }
.bundles.light .bundle.feat ul{ color:#dbc4ce; border-color:var(--line-dark); }
.bundles.light .bundle.feat .save{ color:var(--gold); }
.bundles.light .bundle.feat .tag{ background:var(--pink); color:#fff; }
.bundles.light .bundle.feat li::before{ color:var(--pink); }
.bundles.light .bundle.feat .was{ color:#b89aa8; }
.local{ margin-top:24px; display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.local .lbl{ font-weight:700; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); margin-right:8px; }
.local div{ border:1px solid var(--line-dark); border-radius:999px; padding:10px 18px; font-size:14px; }
.local div b{ color:#fff; } .local div s{ color:#b89aa8; margin-left:6px; }

/* ---------- feature / split ---------- */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,6vw,90px); align-items:center; }
.feature{ border-radius:var(--r); overflow:hidden; background:linear-gradient(135deg, var(--pink), #f0477c); color:#fff; padding:clamp(36px,5vw,76px); position:relative; isolation:isolate; }
.feature::after{ content:""; position:absolute; right:-120px; bottom:-170px; width:440px; height:440px; border-radius:50%; border:1.5px solid rgba(255,255,255,.4); z-index:-1; }
.feature .lead{ color:#ffe6ef; }
.feature .display{ color:#fff; }
.ticks{ list-style:none; display:flex; flex-direction:column; gap:12px; margin:28px 0 34px; }
.ticks li{ display:flex; gap:12px; align-items:flex-start; font-weight:500; }
.ticks li::before{ content:"✦"; color:var(--gold); }
.feature .ticks li::before{ color:#fff; }

/* ---------- FAQ ---------- */
.faq{ display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(32px,7vw,110px); }
.qa{ border-bottom:1px solid var(--rose); }
.qa:first-child{ border-top:1px solid var(--rose); }
.qa button{ width:100%; display:flex; justify-content:space-between; align-items:center; gap:20px; text-align:left; padding:28px 0; font-family:var(--serif); font-size:clamp(20px,1.9vw,27px); font-weight:500; letter-spacing:-.02em; }
.qa .pm{ width:40px; height:40px; flex:none; border-radius:50%; border:1px solid var(--rose); position:relative; transition:all .4s var(--ease); }
.qa .pm::before, .qa .pm::after{ content:""; position:absolute; left:50%; top:50%; width:14px; height:1.5px; background:currentColor; transform:translate(-50%,-50%); transition:transform .4s var(--ease); }
.qa .pm::after{ transform:translate(-50%,-50%) rotate(90deg); }
.qa.open .pm{ background:var(--pink); border-color:var(--pink); color:#fff; }
.qa.open .pm::after{ transform:translate(-50%,-50%) rotate(0); }
.qa .a{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .5s var(--ease); }
.qa .a > div{ overflow:hidden; }
.qa .a p{ padding-bottom:28px; color:var(--muted); max-width:620px; }
.qa.open .a{ grid-template-rows:1fr; }

/* ---------- CTA ---------- */
.cta{ text-align:center; padding:150px 0; position:relative; overflow:hidden; }
.cta .display{ max-width:1100px; margin:0 auto; }
.cta .lead{ margin:26px auto 42px; }
.cta .notes{ display:flex; justify-content:center; gap:26px; flex-wrap:wrap; margin-top:34px; font-size:11px; font-weight:700; color:#d9c2cc; letter-spacing:.18em; text-transform:uppercase; }
.cta .notes span::before{ content:"✦ "; color:var(--gold); }
.cta-seal{ width:150px; height:150px; margin:0 auto 34px; position:relative; }
.cta-seal svg{ width:100%; height:100%; animation:spin 24s linear infinite; }
.cta-seal text{ font-family:var(--body); font-size:10.6px; font-weight:700; letter-spacing:.24em; fill:var(--blush); text-transform:uppercase; }
.cta-seal img{ position:absolute; inset:23%; width:54%; height:54%; border-radius:50%; object-fit:cover; }
.spark{ position:absolute; color:var(--gold); opacity:.8; animation:tw 3.2s ease-in-out infinite; }
.spark svg{ width:100%; height:100%; }
@keyframes tw{ 50%{ transform:scale(.55) rotate(45deg); opacity:.3; } }

/* ---------- footer ---------- */
.ftr{ background:var(--wine); color:#d9c2cc; }
.ftr .cols{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:40px; padding:90px 0 60px; }
.ftr h4{ font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--blush); margin-bottom:20px; font-weight:700; }
.ftr .cols a{ display:block; padding:5px 0; font-size:15px; transition:color .3s; }
.ftr .cols a:hover{ color:var(--pink); }
.ftr .flogo{ display:flex; align-items:center; gap:14px; }
.ftr .flogo img{ width:64px; height:64px; border-radius:50%; object-fit:cover; }
.ftr .flogo b{ font-family:var(--serif); font-size:26px; font-weight:600; color:#fff; line-height:1; }
.ftr .flogo b span{ color:var(--gold); }
.ftr .word{ font-family:var(--serif); font-style:italic; font-size:clamp(64px,15.4vw,250px); line-height:.82; letter-spacing:-.045em; color:var(--pink); white-space:nowrap; overflow:hidden; padding-bottom:.08em; text-align:center; }
.ftr .word span{ color:var(--gold); }
.ftr .base{ display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; padding:24px 0 32px; border-top:1px solid var(--line-dark); font-size:13px; }
.ftr .base a:hover{ color:#fff; }

/* ---------- inner page hero ---------- */
.phero{ padding:80px 0 64px; position:relative; overflow:hidden; }
.phero::before{ content:""; position:absolute; width:700px; height:700px; border-radius:50%; right:-200px; top:-360px; background:radial-gradient(circle, rgba(255,193,214,.6), transparent 65%); pointer-events:none; }
.phero .crumb{ display:flex; gap:10px; align-items:center; font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); margin-bottom:26px; position:relative; }
.phero .crumb a:hover{ color:var(--pink); }
.phero h1{ position:relative; }
.phero h1 .serif{ color:var(--pink); }
.phero .row{ display:flex; justify-content:space-between; align-items:flex-end; gap:40px; flex-wrap:wrap; margin-top:34px; position:relative; }

/* about */
.values{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.value{ padding:36px; border-radius:var(--r); background:var(--pearl); border:1px solid var(--line); }
.value .ic{ width:54px; height:54px; border-radius:50%; background:var(--baby); color:var(--pink); display:flex; align-items:center; justify-content:center; margin-bottom:24px; }
.value .ic svg{ width:24px; height:24px; }
.value h3{ font-family:var(--serif); font-weight:500; font-size:26px; margin-bottom:8px; letter-spacing:-.02em; }
.value p{ color:var(--muted); font-size:15px; }
.tags{ display:flex; flex-wrap:wrap; gap:10px; }
.tags span{ padding:11px 20px; border-radius:999px; border:1px solid var(--rose); background:var(--pearl); font-weight:600; font-size:14px; }
.owner{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(30px,6vw,90px); align-items:center; }
.owner .ph{ aspect-ratio:4/5; border-radius:999px 999px var(--r) var(--r); background:linear-gradient(160deg, var(--baby), var(--blush)); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.owner .ph img{ width:100%; height:100%; object-fit:cover; }
.owner .ph .ph-note{ font-size:11px; font-weight:700; letter-spacing:.2em; color:var(--pink-ink); text-transform:uppercase; }
.statgrid{ display:grid; grid-template-columns:repeat(4,1fr); }
.statgrid div{ padding:10px 28px; border-left:1px solid var(--line-dark); }
.statgrid div:first-child{ border-left:none; padding-left:0; }
.statgrid b{ display:block; font-family:var(--serif); font-weight:500; font-size:clamp(48px,5.6vw,84px); line-height:1; letter-spacing:-.03em; color:var(--pink); }
.statgrid span{ font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }

/* blog */
.posts{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.post{ display:flex; flex-direction:column; border-radius:var(--r); background:var(--pearl); border:1px solid var(--line); overflow:hidden; transition:transform .6s var(--ease), box-shadow .6s var(--ease); }
.post:hover{ transform:translateY(-6px); box-shadow:0 34px 60px -36px rgba(194,24,91,.4); }
.post .cv{ aspect-ratio:16/10; background:var(--wine); color:#fff; position:relative; overflow:hidden; display:flex; align-items:flex-end; padding:24px; }
.post .cv::before{ content:""; position:absolute; width:320px; height:320px; border-radius:50%; right:-100px; top:-120px; background:var(--pink); }
.post .cv::after{ content:""; position:absolute; width:190px; height:190px; border-radius:50%; right:60px; top:40px; border:1.5px solid var(--gold); }
.post:nth-child(3n+2) .cv{ background:var(--pink); } .post:nth-child(3n+2) .cv::before{ background:var(--wine); }
.post:nth-child(3n+3) .cv{ background:var(--baby); color:var(--ink); } .post:nth-child(3n+3) .cv::before{ background:var(--lilac); }
.post .cv b{ position:relative; font-family:var(--serif); font-style:italic; font-weight:400; font-size:34px; line-height:1; z-index:1; max-width:85%; }
.post .bd{ padding:26px; display:flex; flex-direction:column; gap:10px; flex:1; }
.post .meta{ display:flex; gap:14px; font-size:11px; font-weight:700; color:var(--muted); letter-spacing:.12em; text-transform:uppercase; }
.post .meta .c{ color:var(--pink-ink); }
.post h3{ font-family:var(--serif); font-weight:500; font-size:24px; line-height:1.2; letter-spacing:-.02em; }
.post p{ font-size:15px; color:var(--muted); }
.post .link{ margin-top:auto; align-self:flex-start; }
.subscribe{ display:flex; gap:10px; max-width:520px; margin-top:28px; }
.subscribe input{ flex:1; }

/* forms */
.card{ background:var(--pearl); border:1px solid var(--line); border-radius:var(--r); }
.field{ display:flex; flex-direction:column; gap:8px; }
.field label{ font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
input, select, textarea{ font:inherit; font-size:15px; padding:15px 17px; border-radius:14px; border:1px solid var(--line); background:var(--pearl); color:var(--ink); outline:none; transition:border-color .3s, box-shadow .3s; width:100%; }
input:focus, select:focus, textarea:focus{ border-color:var(--pink); box-shadow:0 0 0 4px rgba(255,92,138,.15); }
textarea{ resize:vertical; min-height:110px; }
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-grid .full{ grid-column:1/-1; }

/* booking */
.book{ display:grid; grid-template-columns:.85fr 1.15fr; gap:24px; align-items:start; }
.book-side{ position:sticky; top:104px; background:var(--wine); color:#fbecf2; border-radius:var(--r); padding:clamp(30px,3.4vw,46px); overflow:hidden; isolation:isolate; }
.book-side::after{ content:""; position:absolute; width:380px; height:380px; border-radius:50%; border:1.5px solid rgba(212,175,55,.45); right:-170px; bottom:-170px; z-index:-1; }
.book-side .display{ font-size:clamp(30px,3vw,42px); }
.book-side .meta{ display:flex; flex-direction:column; gap:14px; margin:28px 0; }
.book-side .meta div{ display:flex; gap:12px; align-items:center; font-weight:500; }
.book-side .meta svg{ width:20px; height:20px; color:var(--pink); flex:none; }
.book-main{ padding:clamp(26px,3vw,42px); }
.steps{ display:flex; gap:8px; margin-bottom:30px; }
.steps span{ flex:1; height:3px; border-radius:4px; background:var(--line); transition:background .4s; }
.steps span.on{ background:var(--pink); }
.step{ display:none; animation:rise .5s var(--ease); }
.step.on{ display:block; }
.step h3{ font-family:var(--serif); font-weight:500; font-size:30px; letter-spacing:-.02em; margin-bottom:6px; }
.step > p{ color:var(--muted); margin-bottom:24px; }
.types{ display:grid; gap:12px; }
.type{ display:flex; gap:16px; align-items:center; text-align:left; padding:18px 20px; border-radius:var(--r-sm); border:1px solid var(--line); background:var(--pearl); transition:all .3s; }
.type:hover{ border-color:var(--blush); }
.type.on{ border-color:var(--pink); background:var(--baby); }
.type .ic{ width:46px; height:46px; border-radius:50%; background:var(--baby); color:var(--pink); display:flex; align-items:center; justify-content:center; flex:none; }
.type.on .ic{ background:var(--pink); color:#fff; }
.type .ic svg{ width:21px; height:21px; }
.type b{ display:block; font-size:16px; }
.type span{ font-size:13.5px; color:var(--muted); }
.type .dur{ margin-left:auto; font-size:11px; font-weight:700; letter-spacing:.1em; color:var(--pink-ink); white-space:nowrap; }
.cal-wrap{ display:grid; grid-template-columns:1.2fr 1fr; gap:24px; }
.cal .top{ display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
.cal .top b{ font-family:var(--serif); font-size:20px; font-weight:500; }
.cal .top button{ width:38px; height:38px; border-radius:50%; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; }
.cal .top button:hover:not(:disabled){ border-color:var(--pink); color:var(--pink); }
.cal .top button:disabled{ opacity:.3; cursor:default; }
.cal .top svg{ width:16px; height:16px; }
.cal .grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:4px; text-align:center; }
.cal .dow{ font-size:11px; font-weight:700; color:var(--muted); letter-spacing:.06em; padding:6px 0; }
.cal .d{ aspect-ratio:1; border-radius:50%; font-size:14px; font-weight:600; display:flex; align-items:center; justify-content:center; transition:all .25s; }
.cal .d.ok{ background:var(--baby); color:var(--pink-ink); }
.cal .d.ok:hover{ background:var(--blush); }
.cal .d.sel{ background:var(--pink); color:#fff; }
.cal .d.off{ color:#d4c3ca; cursor:default; }
.slots h4{ font-size:14px; margin-bottom:12px; font-weight:600; }
.slots .list{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.slot{ padding:11px 8px; border-radius:999px; border:1px solid var(--line); font-size:14px; font-weight:600; background:var(--pearl); transition:all .25s; }
.slot:hover{ border-color:var(--pink); color:var(--pink-deep); }
.slot.on{ background:var(--pink); border-color:var(--pink); color:#fff; }
.slots .empty{ font-size:14px; color:var(--muted); padding:20px; border:1px dashed var(--rose); border-radius:14px; text-align:center; }
.nav-row{ display:flex; justify-content:space-between; align-items:center; margin-top:30px; gap:12px; }
.btn:disabled{ opacity:.4; cursor:not-allowed; transform:none; }
.summary{ background:var(--baby); border-radius:var(--r-sm); padding:16px 18px; display:flex; flex-wrap:wrap; gap:8px 22px; margin-bottom:22px; font-size:14px; font-weight:600; }
.summary span{ color:var(--muted); font-weight:500; }
.done{ text-align:center; padding:30px 10px; }
.done .ok{ width:86px; height:86px; border-radius:50%; background:var(--pink); color:#fff; display:flex; align-items:center; justify-content:center; margin:0 auto 22px; animation:pop .6s var(--ease); }
.done .ok svg{ width:40px; height:40px; }
@keyframes pop{ from{ transform:scale(.3); opacity:0; } }
.err{ color:var(--pink-ink); font-size:13px; font-weight:600; margin-top:10px; min-height:18px; }

/* ---------- reveal ---------- */
.rv{ opacity:0; transform:translateY(36px); transition:opacity 1.1s var(--ease), transform 1.1s var(--ease); }
.rv.in{ opacity:1; transform:none; }
.rvw:nth-child(even).rv.in{ transform:translateY(40px); }
.rv.d1{ transition-delay:.08s; } .rv.d2{ transition-delay:.16s; } .rv.d3{ transition-delay:.24s; } .rv.d4{ transition-delay:.32s; }
.split-word{ display:inline-block; overflow:hidden; vertical-align:top; padding-bottom:.08em; margin-bottom:-.08em; }
.split-word > span{ display:inline-block; transform:translateY(110%); transition:transform 1.2s var(--ease); }
.in .split-word > span, .split-word.in > span{ transform:none; }

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .nav, .hdr .hdr-cta{ display:none; }
  .hdr .wrap{ grid-template-columns:1fr auto; }
  .burger{ display:flex; }
  .bundles{ grid-template-columns:repeat(2,1fr); }
  .bundles .bundle:first-child{ grid-column:1/-1; }
  .bundles.light{ grid-template-columns:repeat(3,1fr); }
  .bundles.light .bundle:first-child{ grid-column:auto; }
  .reels{ grid-template-columns:repeat(3,1fr); }
  .rvws{ grid-template-columns:repeat(3,1fr); }
  .rvw:nth-child(even), .rvw:nth-child(even).rv.in{ transform:none; }
  .ftr .cols{ grid-template-columns:1fr 1fr; }
  .svc-row{ grid-template-columns:60px 1fr 50px; }
  .svc-row p{ grid-column:2; grid-row:2; }
  .svc-row .ar{ grid-column:3; grid-row:1; }
}
@media (max-width:900px){
  .section{ padding:96px 0; }
  .split, .faq, .owner, .book, .cal-wrap, .essence, .ed{ grid-template-columns:1fr; }
  .cases, .posts, .values{ grid-template-columns:1fr; }
  .works{ grid-template-columns:repeat(2,1fr); grid-auto-rows:190px; }
  .hero-meta{ grid-template-columns:1fr; gap:22px; }
  .hero-meta .r{ justify-content:flex-start; }
  .figures{ grid-template-columns:1fr 1fr; }
  .figures div:nth-child(3){ border-left:none; padding-left:0; }
  .statgrid{ grid-template-columns:1fr 1fr; row-gap:30px; }
  .statgrid div:nth-child(3){ border-left:none; padding-left:0; }
  .book-side{ position:relative; top:auto; }
  .ec.big{ min-height:440px; }
  .essence .art{ max-width:460px; }
  .bundles.light{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .wrap{ padding:0 20px; }
  .section{ padding:76px 0; }
  .hdr .wrap{ height:70px; }
  .logo img{ width:42px; height:42px; }
  .logo b{ font-size:18px; }
  .hero{ padding:24px 0 64px; }
  .hero-top .tiny:nth-child(2){ display:none; }
  .hero h1{ font-size:14.2vw; margin:26px 0 30px; }
  .collage{ grid-template-columns:1fr 1.2fr 1fr; }
  .collage .tile:nth-child(1), .collage .tile:nth-child(5){ display:none; }
  .tile.up{ margin-bottom:0; }
  .badge-spin{ width:96px; height:96px; left:auto; right:22%; bottom:-30px; }
  .statement{ font-size:9vw; }
  .figures div{ padding:26px 14px 0 0; }
  .figures div + div{ padding-left:14px; }
  .svc-row{ grid-template-columns:44px 1fr; padding:26px 0; }
  .svc-row .ar{ display:none; }
  .svc-row p{ grid-column:2; }
  .hover-img{ display:none; }
  .ec{ padding:22px; min-height:300px; }
  .ec.big{ min-height:440px; }
  .vals{ grid-template-columns:1fr 1fr; }
  .rvws{ grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:72%; overflow-x:auto; scroll-snap-type:x mandatory; margin:0 -20px; padding:0 20px 8px; scrollbar-width:none; }
  .rvws::-webkit-scrollbar{ display:none; }
  .rvw{ scroll-snap-align:start; }
  .works{ grid-template-columns:1fr; grid-auto-rows:220px; }
  .work.w2{ grid-column:auto; } .work.h2{ grid-row:auto; }
  .reels{ grid-template-columns:repeat(2,1fr); }
  .bundles{ grid-template-columns:1fr; }
  .form-grid{ grid-template-columns:1fr; }
  .ftr .cols{ grid-template-columns:1fr; padding:64px 0 40px; gap:30px; }
  .statgrid b{ font-size:44px; }
  .statgrid div{ padding:6px 14px; }
  .tabs{ flex-wrap:nowrap; overflow-x:auto; margin:0 -20px 32px; padding:0 20px 6px; scrollbar-width:none; }
  .tabs::-webkit-scrollbar{ display:none; }
  .tab{ white-space:nowrap; }
  .subscribe{ flex-direction:column; }
  .cta{ padding:100px 0; }
  .lb .nv{ display:none; }
}
@media (prefers-reduced-motion:reduce){
  *, *::before, *::after{ animation:none !important; transition:none !important; }
  .rv{ opacity:1; transform:none; }
  .split-word > span{ transform:none; }
  .statement .w{ opacity:1; }
}

.tile.arch.bag img{ object-position:22% center; }

/* ===== type balance (v5): Montserrat leads, Playfair italic accents only ===== */
.display{ font-family:var(--body); font-weight:600; letter-spacing:-.05em; line-height:.96; }
.display .serif, .statement em, .hero-meta em{ font-family:var(--serif); font-style:italic; font-weight:400; letter-spacing:-.03em; }
.h-xl{ font-size:clamp(52px, 8.6vw, 144px); }
.statement{ font-family:var(--body); font-weight:500; letter-spacing:-.04em; line-height:1.14; }
.svc-row h3{ font-family:var(--body); font-weight:500; letter-spacing:-.04em; font-size:clamp(26px,3.1vw,48px); }
.svc-row:hover h3{ font-style:normal; }
.figures b, .statgrid b, .tile.stat b{ font-family:var(--body); font-weight:600; letter-spacing:-.05em; }
.ec h3, .case h3{ font-family:var(--body); font-weight:600; letter-spacing:-.05em; }
.ec h3 + em, .case h3 small{ font-family:var(--serif); font-style:italic; }
.case .st b{ font-family:var(--body); font-weight:700; letter-spacing:-.03em; font-size:22px; }
.plan h3, .bundle h3, .post h3, .value h3, .step h3, .rvw figcaption b, .reel b, .cal .top b{ font-family:var(--body); font-weight:600; letter-spacing:-.025em; }
.plan h3{ font-size:22px; } .bundle h3{ font-size:22px; } .post h3{ font-size:21px; } .value h3{ font-size:22px; } .step h3{ font-size:26px; }
.rvw figcaption b{ font-size:17px; } .reel b{ font-size:20px; } .cal .top b{ font-size:17px; }
.plan .pr, .bundle .pr{ font-family:var(--body); font-weight:600; letter-spacing:-.045em; }
.plan .pr{ font-size:40px; } .bundle .pr{ font-size:30px; }
.qa button{ font-family:var(--body); font-weight:600; font-size:clamp(17px,1.5vw,21px); letter-spacing:-.02em; }
.drawer nav a{ font-family:var(--body); font-weight:600; letter-spacing:-.04em; font-size:42px; }
.drawer nav a.on{ font-family:var(--serif); font-weight:400; }
.post .cv b{ font-family:var(--serif); }
.book-side .display{ font-size:clamp(28px,2.6vw,38px); }
.marquee span{ font-family:var(--body); font-weight:500; letter-spacing:-.03em; }
.marquee span em{ font-family:var(--serif); font-weight:400; letter-spacing:-.02em; }
@media (max-width:640px){ .hero h1{ font-size:13.4vw; } .drawer nav a{ font-size:36px; } }

/* ===== v7 hero ("we make brands dazzle") ===== */
.hz{ position:relative; overflow:hidden; padding:40px 0 0; background:radial-gradient(60% 70% at 78% 40%, #ffe1eb, transparent 70%), var(--cream); }
.hz-grid{ display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:center; position:relative; z-index:2; }
.hz-pill{ display:inline-flex; align-items:center; gap:9px; padding:10px 18px 10px 14px; border-radius:999px; border:1px solid var(--rose); background:rgba(255,255,255,.7); font-size:14px; font-weight:500; }
.hz-pill svg{ width:15px; height:15px; color:var(--pink); }
.hz-title{ font-family:var(--body); font-weight:800; text-transform:uppercase; font-size:clamp(54px,6.6vw,108px); line-height:.9; letter-spacing:-.045em; margin:26px 0 26px; position:relative; }
.hz-title .serif{ display:block; text-transform:none; color:var(--pink); font-size:1.32em; line-height:.95; letter-spacing:-.04em; margin-top:.02em; }
.hz-star{ display:inline-block; position:relative; width:.3em; height:.3em; color:var(--pink); vertical-align:top; margin:.12em 0 0 .04em; animation:tw 3.4s ease-in-out infinite; }
.hz-star svg{ width:100%; height:100%; }
.hz-lead{ font-size:clamp(16px,1.3vw,19px); color:#5c4a53; max-width:520px; line-height:1.65; }
.hz-cta{ display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.hz-stats{ display:flex; margin-top:40px; padding-top:28px; border-top:1px solid var(--line); max-width:600px; }
.hz-stats > div{ display:flex; gap:12px; align-items:center; flex:1; padding-right:16px; }
.hz-stats > div + div{ padding-left:18px; border-left:1px solid var(--line); }
.hz-stats .ic{ width:44px; height:44px; border-radius:50%; background:var(--baby); color:var(--pink); display:flex; align-items:center; justify-content:center; flex:none; }
.hz-stats .ic svg{ width:20px; height:20px; }
.hz-stats p{ font-size:13px; color:var(--muted); line-height:1.35; }
.hz-stats b{ display:block; font-size:clamp(22px,2vw,28px); font-weight:700; color:var(--ink); letter-spacing:-.03em; }

/* stage */
.hz-stage{ position:relative; aspect-ratio:1/1.02; width:100%; max-width:620px; justify-self:center; }
.hz-blob{ position:absolute; inset:8% 4% 4% 10%; border-radius:50%; background:radial-gradient(circle at 40% 35%, #ffe6ef, #ffc1d6 55%, #ff9ab9); box-shadow:inset 0 0 80px rgba(255,255,255,.6); }
.hz-orbit{ position:absolute; inset:2% -2% -2% 4%; width:98%; height:98%; animation:spin 60s linear infinite; }
.hz-mono{ position:absolute; right:-2%; top:14%; font-family:var(--serif); font-style:italic; font-size:clamp(120px,14vw,220px); line-height:1; color:#fff; opacity:.55; letter-spacing:-.06em; pointer-events:none; }
.hz-sp{ position:absolute; color:var(--pink); animation:tw 3.6s ease-in-out infinite; }
.hz-sp svg{ width:100%; height:100%; }
.hz-sp.s1{ width:30px; height:30px; right:16%; top:8%; }
.hz-sp.s2{ width:16px; height:16px; left:6%; top:22%; color:var(--gold); animation-delay:1.2s; }
.hz-sp.s3{ width:20px; height:20px; right:4%; bottom:30%; color:var(--gold); animation-delay:2.3s; }
.hz-phone{ position:absolute; left:50%; top:50%; width:42%; aspect-ratio:9/19; transform:translate(-50%,-50%) rotate(4deg); border-radius:42px; background:#1d1418; padding:10px; box-shadow:0 60px 90px -40px rgba(140,20,70,.65), inset 0 0 0 2px #3a2a31; }
.hz-phone .notch{ position:absolute; top:16px; left:50%; width:34%; height:20px; border-radius:20px; background:#1d1418; transform:translateX(-50%); z-index:2; }
.hz-phone video{ width:100%; height:100%; object-fit:cover; border-radius:33px; background:var(--wine-2); }
.hz-tag{ position:absolute; top:48px; left:50%; transform:translateX(-50%); display:inline-flex; align-items:center; gap:6px; white-space:nowrap; padding:7px 13px; border-radius:999px; background:rgba(255,255,255,.94); color:var(--pink-ink); font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; z-index:2; }
.hz-tag svg{ width:13px; height:13px; }
.hz-card{ position:absolute; z-index:3; background:#fff; border-radius:18px; padding:16px 20px; box-shadow:0 26px 50px -26px rgba(140,20,70,.45); border:1px solid #fbe3eb; animation:bob 6s ease-in-out infinite; }
.hz-card .lbl{ display:block; font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
.hz-card b{ display:block; font-size:22px; font-weight:700; letter-spacing:-.03em; margin:4px 0 2px; padding-right:40px; }
.hz-card b.big{ font-size:40px; color:var(--pink); line-height:1; letter-spacing:-.05em; }
.hz-card em{ font-style:normal; font-size:13px; font-weight:600; color:#16a05a; }
.hz-card .sub{ font-size:13px; color:var(--muted); }
.hz-card .cic{ position:absolute; top:14px; right:14px; width:34px; height:34px; border-radius:50%; background:var(--baby); color:var(--pink); display:flex; align-items:center; justify-content:center; }
.hz-card .cic svg{ width:16px; height:16px; }
.hz-card.c1{ left:-2%; top:24%; }
.hz-card.c2{ right:-3%; top:46%; animation-delay:-2s; }
.hz-card.c3{ left:12%; bottom:9%; display:flex; align-items:center; gap:10px; font-size:13px; font-weight:600; padding:12px 18px; border-radius:999px; animation-delay:-4s; }
.hz-card .dot{ width:9px; height:9px; border-radius:50%; background:#22c55e; box-shadow:0 0 0 4px rgba(34,197,94,.2); }
.hz-note{ position:absolute; right:-6%; bottom:4%; display:flex; flex-direction:column; align-items:flex-end; z-index:3; pointer-events:none; }
.hz-note svg{ width:84px; height:63px; margin-right:120px; margin-bottom:-6px; }
.hz-note span{ font-family:"Dancing Script", var(--serif); font-weight:700; font-size:clamp(24px,2.2vw,32px); line-height:1; color:var(--pink-deep); transform:rotate(-8deg); text-align:center; }
@keyframes bob{ 50%{ transform:translateY(-10px); } }

/* wave band */
.hz-wave{ position:relative; margin-top:-40px; padding:120px 0 80px; }
.hz-wave .wv{ position:absolute; inset:0; width:100%; height:100%; }
.hz-chips{ position:relative; display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
.hz-chips a{ display:inline-flex; align-items:center; gap:10px; padding:15px 22px; border-radius:999px; background:#fff; font-size:14px; font-weight:500; box-shadow:0 14px 30px -20px rgba(140,20,70,.45); transition:transform .4s var(--ease), color .3s; }
.hz-chips a svg{ width:18px; height:18px; color:var(--pink); }
.hz-chips a:hover{ transform:translateY(-3px); color:var(--pink-deep); }
.hz-script{ position:absolute; right:36px; top:calc(100% + 4px); font-family:"Dancing Script", var(--serif); font-weight:700; font-size:clamp(28px,2.6vw,40px); line-height:1; color:#fff; transform:rotate(-10deg); text-shadow:0 2px 14px rgba(194,24,91,.25); }

@media (max-width:1100px){
  .hz-grid{ grid-template-columns:1fr; }
  .hz-stage{ max-width:540px; margin-top:10px; }
  .hz-script{ display:none; }
}
@media (max-width:640px){
  .hz{ padding-top:22px; }
  .hz-title{ font-size:15vw; }
  .hz-stats{ flex-wrap:wrap; gap:16px 0; }
  .hz-stats > div{ flex:1 1 50%; }
  .hz-stats > div:nth-child(3){ border-left:none; padding-left:0; }
  .hz-stats .ic{ width:38px; height:38px; }
  .hz-phone{ width:48%; border-radius:30px; padding:7px; }
  .hz-phone video{ border-radius:24px; }
  .hz-tag{ top:34px; font-size:9px; padding:5px 9px; }
  .hz-card{ padding:10px 13px; border-radius:14px; }
  .hz-card .lbl{ font-size:9.5px; }
  .hz-card b{ font-size:15px; padding-right:0; }
  .hz-card b.big{ font-size:28px; }
  .hz-card em, .hz-card .sub{ font-size:11px; }
  .hz-card .cic{ display:none; }
  .hz-card.c1{ left:-3%; top:18%; }
  .hz-card.c2{ right:-3%; top:52%; }
  .hz-card.c3{ left:0; bottom:4%; font-size:11px; padding:9px 13px; }
  .hz-note{ display:none; }
  .hz-mono{ font-size:110px; }
  .hz-wave{ padding:90px 0 34px; margin-top:-20px; }
  .hz-chips{ gap:10px; }
  .hz-chips a{ padding:11px 16px; font-size:13px; }
}
@media (max-width:640px){
  .hz-stats{ flex-wrap:nowrap; gap:0; }
  .hz-stats > div{ flex:1 1 0; padding-right:10px; }
  .hz-stats > div + div{ padding-left:12px; border-left:1px solid var(--line); }
  .hz-stats > div:nth-child(3){ border-left:1px solid var(--line); padding-left:12px; }
  .hz-stats .ic{ display:none; }
  .hz-stats p{ font-size:11.5px; }
  .hz-stats b{ font-size:21px; }
  .hz-chips{ flex-wrap:nowrap; overflow-x:auto; margin:0 -20px; padding:4px 20px 14px; scrollbar-width:none; }
  .hz-chips::-webkit-scrollbar{ display:none; }
  .hz-chips a{ flex:none; }
}

/* hero v8: logo centerpiece instead of review phone */
.hz-blob{ background:#fed6df; overflow:hidden; box-shadow:0 60px 100px -50px rgba(194,24,91,.5), inset 0 0 0 10px rgba(255,255,255,.35); }
.hz-blob img{ width:100%; height:100%; object-fit:cover; transform:scale(1.04); animation:float 7s ease-in-out infinite; }
@keyframes float{ 50%{ transform:scale(1.04) translateY(-10px); } }
.hz-ob{ position:absolute; z-index:3; width:52px; height:52px; border-radius:50%; background:#fff; color:var(--pink); display:flex; align-items:center; justify-content:center; box-shadow:0 16px 30px -14px rgba(140,20,70,.45); animation:bob 6s ease-in-out infinite; }
.hz-ob svg{ width:22px; height:22px; }
.hz-ob.o1{ left:14%; top:9%; }
.hz-ob.o2{ right:12%; top:16%; animation-delay:-1.5s; }
.hz-ob.o3{ right:0; bottom:30%; animation-delay:-3s; background:var(--pink); color:#fff; }
.hz-ob.o4{ left:2%; bottom:30%; animation-delay:-4.5s; }
.hz-card.c1{ left:-6%; top:30%; }
.hz-card.c2{ right:-6%; top:50%; }
.hz-card.c3{ left:8%; bottom:4%; border-radius:999px; padding:9px 20px 9px 10px; gap:12px; font-weight:500; }
.hz-card.c3 b{ display:block; font-size:15px; margin:0; padding:0; line-height:1.2; }
.hz-card.c3 > span:last-child{ font-size:12px; color:var(--muted); line-height:1.25; }
.avs{ display:flex; }
.avs img{ width:34px; height:34px; border-radius:50%; object-fit:cover; border:2px solid #fff; margin-left:-10px; }
.avs img:first-child{ margin-left:0; }
@media (max-width:640px){
  .hz-ob{ width:40px; height:40px; } .hz-ob svg{ width:17px; height:17px; }
  .hz-card.c1{ left:-3%; top:26%; } .hz-card.c2{ right:-3%; top:56%; }
  .hz-card.c3{ left:2%; bottom:2%; padding:7px 14px 7px 8px; }
  .avs img{ width:26px; height:26px; }
  .hz-card.c3 b{ font-size:13px; } .hz-card.c3 > span:last-child{ font-size:10.5px; }
}
.hz-blob img{ object-fit:contain; transform:scale(.84); animation:float2 7s ease-in-out infinite; }
@keyframes float2{ 50%{ transform:scale(.84) translateY(-12px); } }
.hz-card.c1{ left:-8%; top:14%; }
.hz-card.c2{ right:-7%; top:60%; }
.hz-ob.o3{ right:9%; bottom:12%; }
.hz-wave{ padding-bottom:110px; }
@media (max-width:640px){ .hz-card.c1{ left:-3%; top:10%; } .hz-card.c2{ right:-3%; top:62%; } .hz-wave{ padding-bottom:34px; } }
.hz-ob.o1{ left:46%; top:3%; }
.hz-ob.o3{ right:27%; bottom:6%; }
@media (max-width:640px){ .hz-ob.o1{ left:48%; top:1%; } .hz-ob.o3{ right:24%; bottom:4%; } }
@media (max-width:640px){ .hz-card.c2, .hz-ob.o3{ display:none; } .hz-card.c1{ top:6%; } }

/* hero v9: moving content wall */
.hz-blob{ background:radial-gradient(circle at 40% 35%, #ffe6ef, #ffc1d6 55%, #ff9ab9); }
.hz-wall{ position:absolute; z-index:2; left:50%; top:50%; width:58%; height:92%; transform:translate(-50%,-50%); display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:12px; border-radius:999px 999px 34px 34px; overflow:hidden; background:rgba(255,255,255,.55); border:1px solid rgba(255,255,255,.9); box-shadow:0 50px 90px -40px rgba(140,20,70,.55); backdrop-filter:blur(6px);
  -webkit-mask-image:linear-gradient(to bottom, transparent 0, #000 12%, #000 88%, transparent 100%); mask-image:linear-gradient(to bottom, transparent 0, #000 12%, #000 88%, transparent 100%); }
.wc{ display:flex; flex-direction:column; gap:12px; will-change:transform; }
.wc.up{ animation:wallUp 38s linear infinite; }
.wc.down{ animation:wallDown 38s linear infinite; }
.hz-wall:hover .wc{ animation-play-state:paused; }
@keyframes wallUp{ from{ transform:translateY(0); } to{ transform:translateY(calc(-50% - 6px)); } }
@keyframes wallDown{ from{ transform:translateY(calc(-50% - 6px)); } to{ transform:translateY(0); } }
.wt{ position:relative; border-radius:18px; overflow:hidden; background:#fff; flex:none; box-shadow:0 12px 24px -16px rgba(140,20,70,.5); }
.wt img{ width:100%; height:100%; object-fit:cover; }
.wt.dash{ aspect-ratio:1/.78; }
.wt.dash img{ object-position:center 20%; }
.wt.ph{ aspect-ratio:1/1.05; }
.wt.tall{ aspect-ratio:1/1.25; }
.wt figcaption{ position:absolute; left:8px; bottom:8px; right:8px; padding:6px 10px; border-radius:999px; background:rgba(255,255,255,.94); color:var(--pink-ink); font-size:10.5px; font-weight:600; letter-spacing:.02em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hz-ob{ display:none; }
.hz-card.c1{ left:-6%; top:16%; }
.hz-card.c2{ right:-6%; top:56%; }
.hz-card.c3{ left:2%; bottom:5%; }
@media (max-width:640px){
  .hz-wall{ width:66%; gap:8px; padding:8px; }
  .wc{ gap:8px; }
  .wt figcaption{ font-size:8.5px; padding:4px 7px; left:5px; right:5px; bottom:5px; }
  .hz-card.c1{ left:-3%; top:10%; }
}
@media (prefers-reduced-motion:reduce){ .wc.down{ transform:translateY(-20%); } }
.hz-card.c1{ left:-12%; top:9%; }
.hz-card.c2{ right:-10%; top:58%; }
@media (max-width:640px){ .hz-card.c1{ left:-4%; top:6%; } }
.hz-card.c2{ right:-3%; }
@media (max-width:1100px){ .hz-card.c2{ right:-2%; } }

/* ===== hero v10: centered headline + floating designed cards ===== */
.hc{ padding-top:70px; background:radial-gradient(55% 60% at 50% 30%, #ffe3ec, transparent 70%), var(--cream); }
.hc-dots{ position:absolute; inset:0; background-image:radial-gradient(rgba(194,24,91,.13) 1px, transparent 1.2px); background-size:26px 26px; -webkit-mask-image:radial-gradient(70% 65% at 50% 40%, #000, transparent 75%); mask-image:radial-gradient(70% 65% at 50% 40%, #000, transparent 75%); pointer-events:none; }
.hc-center{ position:relative; z-index:2; text-align:center; display:flex; flex-direction:column; align-items:center; }
.hc-pill{ display:inline-flex; align-items:center; gap:10px; padding:9px 18px; border-radius:999px; background:rgba(255,255,255,.85); border:1px solid var(--line); font-size:13.5px; font-weight:600; box-shadow:0 10px 26px -18px rgba(194,24,91,.5); }
.hc-pill .live{ width:8px; height:8px; border-radius:50%; background:#22c55e; box-shadow:0 0 0 4px rgba(34,197,94,.18); animation:pulse 1.8s ease-in-out infinite; }
.hc-title{ font-family:var(--body); font-weight:700; font-size:clamp(46px,6.4vw,104px); line-height:1; letter-spacing:-.055em; margin:30px 0 28px; max-width:1100px; }
.hc-title .l2{ display:block; margin-top:.06em; }
.hc-title .serif{ color:var(--pink); font-size:1.12em; letter-spacing:-.035em; padding-right:.04em; }
.hc-title .cap{ display:inline-block; width:1.55em; height:.9em; border-radius:999px; overflow:hidden; vertical-align:-.04em; background:#fed6df; box-shadow:0 14px 30px -14px rgba(194,24,91,.55), inset 0 0 0 2px rgba(255,255,255,.7); }
.hc-title .cap img{ width:100%; height:100%; object-fit:cover; transform:scale(1.25); }
.hc-title .ink{ position:relative; display:inline-block; }
.hc-title .ink svg{ position:absolute; left:-2%; bottom:-.12em; width:104%; height:.3em; overflow:visible; }
.hc-title .ink path{ stroke-dasharray:320; stroke-dashoffset:320; animation:ink 1.4s .9s var(--ease) forwards; }
@keyframes ink{ to{ stroke-dashoffset:0; } }
.hc-lead{ font-size:clamp(16px,1.35vw,19px); color:#5c4a53; max-width:620px; line-height:1.7; }
.hc-cta{ display:flex; gap:12px; flex-wrap:wrap; justify-content:center; margin-top:34px; }
.hc-proof{ display:flex; gap:12px; flex-wrap:wrap; justify-content:center; margin-top:34px; }
.hc-proof > span{ display:inline-flex; align-items:center; gap:10px; padding:8px 18px 8px 8px; border-radius:999px; background:#fff; border:1px solid var(--line); font-size:14px; color:var(--muted); }
.hc-proof b{ color:var(--ink); font-weight:700; }
.hc-proof .pi{ width:30px; height:30px; border-radius:50%; background:var(--baby); color:var(--pink); display:inline-flex; align-items:center; justify-content:center; }
.hc-proof .pi svg{ width:15px; height:15px; }

/* floating cards */
.hc-float{ position:absolute; inset:0; z-index:1; pointer-events:none; max-width:1600px; margin:0 auto; }
.fc{ position:absolute; background:#fff; border:1px solid #f6e3ea; border-radius:22px; box-shadow:0 28px 60px -34px rgba(140,20,70,.45); animation:bob 7s ease-in-out infinite; }
.fc .lbl{ display:block; font-size:11.5px; color:var(--muted); font-weight:600; letter-spacing:.02em; }
.fc b{ display:block; font-weight:700; letter-spacing:-.02em; }
.fc-seal{ left:12%; top:30px; width:110px; height:110px; background:none; border:none; box-shadow:none; animation:none; }
.fc-seal svg{ width:100%; height:100%; animation:spin 24s linear infinite; }
.fc-seal text{ font-family:var(--body); font-size:10.4px; font-weight:700; letter-spacing:.2em; fill:var(--pink-ink); text-transform:uppercase; }
.fc-seal .mid{ position:absolute; inset:30%; border-radius:50%; background:var(--pink); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 24px -10px rgba(255,92,138,.9); }
.fc-seal .mid svg{ width:46%; height:46%; animation:none; }
.fc-logo{ left:3.5%; top:170px; width:128px; height:128px; padding:12px; animation-delay:-1s; }
.fc-logo img{ width:100%; height:100%; border-radius:16px; object-fit:cover; position:relative; }
.fc-logo .guides{ position:absolute; inset:-14px; width:calc(100% + 28px); height:calc(100% + 28px); pointer-events:none; }
.fc-result{ left:6%; top:430px; width:220px; padding:16px 18px; animation-delay:-3s; }
.fc-result b{ font-size:19px; margin-top:4px; }
.fc-result .spark-line{ width:100%; height:34px; margin:8px 0 4px; display:block; }
.fc-result em{ font-style:normal; font-size:12px; font-weight:700; color:#16a05a; }
.fc-palette{ right:5%; top:150px; width:200px; padding:12px 12px 14px; animation-delay:-2s; }
.fc-palette .sw{ display:flex; height:52px; border-radius:12px; overflow:hidden; margin-bottom:10px; }
.fc-palette .sw span{ flex:1; }
.fc-palette b{ font-size:14px; padding:0 4px; }
.fc-palette .lbl{ padding:0 4px; font-family:ui-monospace, Consolas, monospace; font-size:11px; }
.fc-roas{ right:3.5%; top:370px; display:flex; gap:12px; align-items:center; padding:14px 18px 14px 14px; width:240px; animation-delay:-4s; }
.fc-roas .ic{ width:44px; height:44px; border-radius:14px; background:var(--pink); color:#fff; display:flex; align-items:center; justify-content:center; flex:none; }
.fc-roas .ic svg{ width:20px; height:20px; }
.fc-roas > div{ flex:1; }
.fc-roas b{ font-size:16px; }
.fc-roas .bar{ display:block; height:5px; border-radius:5px; background:var(--baby); margin-top:8px; overflow:hidden; }
.fc-roas .bar i{ display:block; height:100%; width:86%; border-radius:5px; background:linear-gradient(90deg, var(--gold), var(--pink)); }
.fc-photo{ right:11%; top:530px; width:170px; padding:8px 8px 10px; border-radius:18px; transform:rotate(3deg); animation:none; }
.fc-photo img{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:12px; }
.fc-photo span{ display:block; font-size:11.5px; font-weight:600; color:var(--pink-ink); margin-top:8px; text-align:center; }

.hc .hz-wave{ margin-top:30px; }
@media (max-width:1320px){ .hc-float{ display:none; } }
@media (max-width:640px){
  .hc{ padding-top:36px; }
  .hc-title{ font-size:12.4vw; }
  .hc-title .cap{ width:1.4em; }
  .hc-proof{ gap:8px; }
  .hc-proof > span{ font-size:12.5px; padding:6px 14px 6px 6px; }
  .hc-proof .pi{ width:26px; height:26px; }
  .hc-cta .btn{ width:100%; justify-content:center; }
}
@media (prefers-reduced-motion:reduce){ .hc-title .ink path{ stroke-dashoffset:0; } }
.hc-title .cap img{ object-fit:contain; transform:scale(1.02); }
.fc-roas{ width:270px; }

/* ===== v11 home sections (Stallion-style layouts, Dazzlers brand) ===== */
.st-center{ text-align:center; display:flex; flex-direction:column; align-items:center; margin-bottom:56px; }
.st-center .kicker{ justify-content:center; }

/* client marquee */
.st-clients{ padding:46px 0 40px; text-align:center; border-bottom:1px solid var(--line); background:var(--pearl); }
.st-clients .tiny{ color:var(--muted); margin-bottom:20px; }
.st-mq{ overflow:hidden; -webkit-mask-image:linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image:linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.st-mq .track{ display:flex; width:max-content; animation:mq 46s linear infinite; }
.st-mq span{ display:flex; align-items:center; gap:30px; padding-right:30px; white-space:nowrap; font-size:clamp(18px,1.6vw,22px); font-weight:600; letter-spacing:-.02em; color:#4b3942; }
.st-mq span i{ font-style:normal; color:var(--gold); font-size:.7em; }

/* why it matters panel */
.st-why-matters{ padding:110px 0 30px; }
.st-panel{ position:relative; overflow:hidden; border-radius:36px; padding:clamp(40px,6vw,90px); display:grid; grid-template-columns:1.35fr .65fr; gap:50px; align-items:center; color:#fff;
  background:radial-gradient(60% 90% at 90% 0%, rgba(255,92,138,.35), transparent 60%), radial-gradient(50% 70% at 0% 100%, rgba(212,175,55,.18), transparent 60%), linear-gradient(135deg, #2b0f1d, #451a30); }
.st-panel .kicker{ color:var(--gold); }
.st-big{ font-size:clamp(28px,3.1vw,48px); font-weight:600; line-height:1.18; letter-spacing:-.04em; }
.st-big .w{ opacity:.25; }
.st-big .w.lit{ opacity:1; }
.st-big em{ font-style:normal; color:var(--pink); }
.st-big em:nth-of-type(2){ color:var(--blush); }
.st-big em:nth-of-type(3){ color:var(--gold); }
.st-phone{ position:relative; justify-self:center; width:min(300px,100%); aspect-ratio:9/18.5; border-radius:42px; background:#14080e; padding:11px; box-shadow:0 50px 80px -30px rgba(0,0,0,.6), inset 0 0 0 2px rgba(255,255,255,.08); display:flex; flex-direction:column; overflow:hidden; }
.st-phone .notch{ position:absolute; top:16px; left:50%; width:30%; height:20px; border-radius:20px; background:#14080e; transform:translateX(-50%); z-index:3; }
.st-phone-top{ display:flex; gap:10px; align-items:center; background:#fff; color:var(--ink); padding:40px 14px 12px; border-radius:31px 31px 0 0; }
.st-phone-top img{ width:34px; height:34px; border-radius:50%; object-fit:cover; }
.st-phone-top span{ font-size:10.5px; color:var(--muted); line-height:1.3; }
.st-phone-top b{ display:block; font-size:13px; color:var(--ink); }
.st-feed{ flex:1; overflow:hidden; background:#fff7fa; border-radius:0 0 31px 31px; position:relative; -webkit-mask-image:linear-gradient(to bottom, #000 85%, transparent); mask-image:linear-gradient(to bottom, #000 85%, transparent); }
.fd-track{ display:flex; flex-direction:column; gap:10px; padding:10px; animation:feed 34s linear infinite; }
.st-phone:hover .fd-track{ animation-play-state:paused; }
@keyframes feed{ to{ transform:translateY(calc(-50% - 5px)); } }
.fd{ background:#fff; border-radius:16px; overflow:hidden; box-shadow:0 10px 20px -14px rgba(140,20,70,.45); flex:none; }
.fd img{ width:100%; aspect-ratio:16/10; object-fit:cover; object-position:center 25%; }
.fd-cap{ padding:9px 12px 11px; }
.fd-cap b{ display:block; font-size:12px; color:var(--ink); }
.fd-cap em{ font-style:normal; font-size:11.5px; font-weight:700; color:#16a05a; }

/* services stacked rows */
.st-svc{ border:1px solid var(--line); border-radius:30px; overflow:hidden; background:var(--pearl); }
.sv{ display:grid; grid-template-columns:240px 1.25fr 1fr; gap:36px; align-items:center; padding:40px 48px; border-top:1px solid var(--line); position:relative; isolation:isolate; transition:color .4s; }
.sv:first-child{ border-top:none; }
.sv:nth-child(even){ background:#fff8fa; }
.sv::before{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(120deg, var(--wine), #4a1a33); transform:scaleY(0); transform-origin:bottom; transition:transform .6s var(--ease); }
.sv:hover::before{ transform:scaleY(1); }
.sv:hover{ color:#fff; }
.sv-n{ position:relative; height:110px; display:flex; flex-direction:column; justify-content:center; padding-left:6px; }
.sv-n .big{ position:absolute; left:0; top:50%; transform:translateY(-50%); font-size:130px; font-weight:800; letter-spacing:-.07em; line-height:1; color:var(--baby); z-index:-1; transition:color .4s; }
.sv:hover .sv-n .big{ color:rgba(255,255,255,.07); }
.sv-n .sv-lb{ font-size:11px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:var(--gold-deep); }
.sv-n .sm{ font-size:30px; font-weight:700; letter-spacing:-.04em; color:var(--rose); }
.sv:hover .sv-n .sv-lb{ color:var(--gold); }
.sv-t h3{ font-size:clamp(24px,2.2vw,32px); font-weight:700; letter-spacing:-.035em; margin-bottom:8px; }
.sv-t p{ color:var(--muted); font-size:15.5px; transition:color .4s; }
.sv:hover .sv-t p{ color:#e8d3dc; }
.sv-c .chips{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
.sv-c .chips span{ padding:7px 13px; border-radius:999px; border:1px solid var(--line); font-size:13px; font-weight:500; background:#fff; color:var(--ink); transition:all .4s; }
.sv:hover .sv-c .chips span{ background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.18); color:#fff; }
.sv-c b{ font-size:17px; font-weight:700; letter-spacing:-.02em; }
.sv-c b span{ display:inline-block; transition:transform .4s var(--ease); color:var(--pink); }
.sv:hover .sv-c b span{ transform:translateX(6px); }

/* how it works */
.st-steps{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
.st-step{ background:var(--pearl); border:1px solid var(--line); border-radius:24px; padding:22px 22px 24px; display:flex; flex-direction:column; transition:transform .5s var(--ease), box-shadow .5s var(--ease); }
.st-step:hover{ transform:translateY(-6px); box-shadow:0 30px 50px -34px rgba(194,24,91,.45); }
.st-step .top{ display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:22px; }
.st-step .ic{ width:54px; height:54px; border-radius:16px; background:linear-gradient(135deg, var(--pink), var(--pink-deep)); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 12px 24px -12px rgba(255,92,138,.9); transform:rotate(-4deg); }
.st-step .ic svg{ width:23px; height:23px; }
.st-step .top b{ font-size:26px; font-weight:800; letter-spacing:-.04em; color:var(--gold); }
.st-step h3{ font-size:18px; font-weight:700; letter-spacing:-.02em; margin-bottom:8px; }
.st-step p{ font-size:14.5px; color:var(--muted); line-height:1.55; margin-bottom:18px; }
.st-step .chip{ margin-top:auto; align-self:flex-start; padding:6px 12px; border-radius:999px; background:var(--baby); color:var(--pink-ink); font-size:12px; font-weight:700; }
.st-strip{ margin-top:22px; display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; padding:20px 22px 20px 28px; border-radius:22px; border:1.5px dashed var(--rose); background:rgba(255,255,255,.7); }
.st-strip p{ color:var(--muted); }
.st-strip b{ color:var(--ink); }

/* selected work 2x2 */
.st-work{ display:grid; grid-template-columns:1fr 1fr; gap:30px 26px; }
.sw{ cursor:zoom-in; background:none; box-shadow:none; overflow:visible; border-radius:0; }
.sw-img{ position:relative; border-radius:24px; overflow:hidden; aspect-ratio:16/10; background:#fff; box-shadow:0 30px 60px -40px rgba(122,20,60,.6); border:1px solid var(--line); }
.sw-img img{ width:100%; height:100%; object-fit:cover; object-position:center 20%; transition:transform 1.2s var(--ease); }
.sw:hover .sw-img img{ transform:scale(1.04); }
.badge-live{ position:absolute; right:16px; bottom:16px; display:inline-flex; align-items:center; gap:7px; padding:7px 13px; border-radius:999px; background:#fff; font-size:12px; font-weight:700; box-shadow:0 8px 20px -10px rgba(0,0,0,.4); }
.badge-live i{ width:8px; height:8px; border-radius:50%; background:#22c55e; }
.sw figcaption{ position:static; background:none; padding:16px 4px 0; display:flex; align-items:baseline; gap:12px; color:var(--ink); }
.sw figcaption .n{ font-size:12px; font-weight:700; color:var(--gold-deep); }
.sw figcaption b{ font-size:19px; font-weight:700; letter-spacing:-.02em; }
.sw figcaption .cat{ margin-left:auto; font-size:13px; color:var(--muted); text-align:right; }
.st-cta-bar{ margin-top:46px; border-radius:28px; padding:34px 40px; display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; color:#fff; background:radial-gradient(60% 120% at 100% 0%, rgba(255,92,138,.4), transparent 60%), linear-gradient(120deg, var(--wine), #4a1a33); }
.st-cta-bar .tiny{ display:inline-flex; align-items:center; gap:8px; color:var(--blush); }
.live{ width:8px; height:8px; border-radius:50%; background:#22c55e; display:inline-block; box-shadow:0 0 0 4px rgba(34,197,94,.18); }
.st-cta-bar h3{ font-size:clamp(24px,2.4vw,34px); font-weight:700; letter-spacing:-.035em; margin:8px 0 4px; }
.st-cta-bar p{ color:#e2ccd6; }

/* pricing */
.st-tabs{ justify-content:center; }
.st-rate-hd{ text-align:center; margin:-16px auto 36px; max-width:640px; }
.st-rate-hd h3{ font-size:24px; font-weight:700; letter-spacing:-.03em; }
.st-rate-hd p{ color:var(--muted); font-size:15px; margin-top:4px; }
.st-incl{ margin-top:30px; display:grid; grid-template-columns:auto repeat(4,1fr); gap:18px; align-items:center; padding:22px 28px; border-radius:22px; background:var(--pearl); border:1px solid var(--line); }
.st-incl .tiny{ color:var(--pink-ink); max-width:120px; line-height:1.5; }
.st-incl b{ display:block; font-size:14.5px; }
.st-incl span:not(.tiny){ font-size:13px; color:var(--muted); }

/* why dazzlers */
.st-why{ position:relative; overflow:hidden; margin:0 24px; border-radius:40px; padding:clamp(48px,7vw,100px) clamp(28px,7vw,110px); color:#f5e3ea;
  background:radial-gradient(50% 80% at 0% 100%, rgba(255,92,138,.32), transparent 60%), radial-gradient(40% 60% at 70% 20%, rgba(212,175,55,.16), transparent 60%), linear-gradient(140deg, #24091a, #3d1529 60%, #2b0f1d); }
.st-code{ position:absolute; right:3%; top:8%; font-family:ui-monospace, Consolas, monospace; font-size:15px; line-height:2; color:rgba(255,193,214,.12); pointer-events:none; white-space:pre; }
.st-why-in{ position:relative; display:grid; grid-template-columns:1.05fr 1fr; gap:60px; align-items:center; max-width:1240px; margin:0 auto; }
.st-why .kicker{ color:var(--gold); }
.st-ticks{ list-style:none; display:flex; flex-direction:column; gap:14px; margin-top:34px; }
.st-ticks li{ position:relative; padding-left:30px; color:#e2ccd6; font-size:16px; }
.st-ticks li::before{ content:""; position:absolute; left:2px; top:8px; width:10px; height:10px; background:var(--gold); transform:rotate(45deg); border-radius:2px; }
.st-ticks b{ color:#fff; }
.st-glass{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.st-glass .g{ position:relative; padding:28px 26px 26px; border-radius:24px; background:linear-gradient(160deg, rgba(255,255,255,.1), rgba(255,255,255,.03)); border:1px solid rgba(255,255,255,.12); backdrop-filter:blur(10px); overflow:hidden; isolation:isolate; }
.st-glass .g::before{ content:""; position:absolute; inset:-1px; border-radius:inherit; padding:1px; background:conic-gradient(from var(--a,0deg), transparent 0 70%, var(--gold) 85%, transparent 100%); -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; animation:spinb 6s linear infinite; z-index:-1; }
@property --a{ syntax:"<angle>"; inherits:false; initial-value:0deg; }
@keyframes spinb{ to{ --a:360deg; } }
.st-glass .g:nth-child(2)::before{ animation-delay:-1.5s; } .st-glass .g:nth-child(3)::before{ animation-delay:-3s; } .st-glass .g:nth-child(4)::before{ animation-delay:-4.5s; }
.st-glass b{ display:block; font-size:clamp(40px,4vw,56px); font-weight:800; letter-spacing:-.05em; color:#fff; line-height:1; }
.st-glass b sup{ font-size:.45em; color:var(--pink); }
.st-glass span{ display:block; font-size:14px; color:#dcc5cf; margin:10px 0 18px; }
.st-glass i{ display:block; height:4px; border-radius:4px; background:rgba(255,255,255,.12); position:relative; overflow:hidden; }
.st-glass i::after{ content:""; position:absolute; left:0; top:0; bottom:0; width:var(--w); border-radius:4px; background:linear-gradient(90deg, var(--pink), var(--gold)); }

/* reviews strip */
.st-rv-side{ max-width:460px; display:flex; flex-direction:column; gap:18px; }
.st-rvws{ display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding:6px max(36px, calc((100vw - var(--wrap)) / 2 + 36px)) 20px; scroll-padding:0 max(36px, calc((100vw - var(--wrap)) / 2 + 36px)); }
.st-rvws::-webkit-scrollbar{ display:none; }
.st-rvws .rvw{ flex:none; width:clamp(240px,22vw,300px); scroll-snap-align:start; transform:none !important; }

/* FAQ centered */
.st-faq{ max-width:860px; }
.st-faq .qa{ background:var(--pearl); border:1px solid var(--line); border-radius:18px; margin-bottom:12px; padding:0 24px; }
.st-faq .qa:first-child{ border-top:1px solid var(--line); }
.st-faq .qa.open{ box-shadow:0 24px 40px -30px rgba(194,24,91,.45); border-color:var(--rose); }
.st-faq .qa button{ padding:22px 0; }
.st-faq .qa .a p{ padding-bottom:22px; }
.st-faq-more{ text-align:center; margin-top:26px; color:var(--muted); }

/* contact */
.st-contact{ display:grid; grid-template-columns:1fr 1.05fr; gap:clamp(36px,6vw,90px); align-items:start; }
.st-cinfo{ display:grid; gap:12px; margin-top:34px; }
.ci{ display:flex; gap:16px; align-items:center; padding:16px 20px; border-radius:18px; background:var(--pearl); border:1px solid var(--line); font-weight:600; font-size:15px; transition:border-color .3s, transform .4s var(--ease); }
a.ci:hover{ border-color:var(--pink); transform:translateX(4px); }
.ci .ic{ width:44px; height:44px; border-radius:14px; background:var(--wine); color:var(--blush); display:flex; align-items:center; justify-content:center; flex:none; }
.ci .ic svg{ width:19px; height:19px; }
.ci small{ display:block; font-size:10.5px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); margin-bottom:2px; }
.ci em{ font-style:normal; }
.st-quote{ padding:clamp(26px,3vw,40px); box-shadow:0 40px 80px -50px rgba(122,20,60,.5); }
.st-quote h3{ font-size:26px; font-weight:700; letter-spacing:-.03em; }
.st-quote .sub{ color:var(--muted); font-size:14px; margin:4px 0 24px; }
.st-qbtns{ display:flex; gap:10px; flex-wrap:wrap; margin-top:6px; }
.st-qbtns .btn{ flex:1; justify-content:center; }
.st-quote .fine{ text-align:center; font-size:12.5px; color:var(--muted); margin-top:14px; }
.st-qdone{ text-align:center; padding:40px 10px; }
.st-qdone .ok{ width:76px; height:76px; border-radius:50%; background:var(--pink); color:#fff; display:inline-flex; align-items:center; justify-content:center; margin-bottom:16px; }
.st-qdone .ok svg{ width:34px; height:34px; }
.st-qdone p{ color:var(--muted); }

/* final CTA */
.st-final{ position:relative; overflow:hidden; border-radius:40px; padding:clamp(48px,7vw,96px) clamp(30px,7vw,100px); display:grid; grid-template-columns:1.2fr .8fr; gap:40px; align-items:center; color:#fff;
  background:radial-gradient(60% 90% at 100% 0%, rgba(255,92,138,.45), transparent 60%), radial-gradient(50% 80% at 0% 100%, rgba(212,175,55,.2), transparent 60%), linear-gradient(130deg, #2b0f1d, #4a1a33); }
.st-final .kicker{ color:var(--gold); }
.st-final .lead{ color:#e2ccd6; margin:20px 0 34px; }
.st-final .btn-line{ color:#fff; }
.st-final-btns{ display:flex; gap:12px; flex-wrap:wrap; }
.ink-w{ position:relative; display:inline-block; font-family:var(--serif); font-style:italic; font-weight:400; color:var(--blush); }
.ink-w::after{ content:""; position:absolute; left:0; right:0; bottom:-.06em; height:.09em; border-radius:9px; background:var(--gold); }
.st-seal{ position:relative; width:min(300px,80%); aspect-ratio:1; justify-self:center; }
.st-seal svg{ width:100%; height:100%; animation:spin 30s linear infinite; }
.st-seal text{ font-family:var(--body); font-size:13.4px; font-weight:700; letter-spacing:.2em; fill:var(--gold); text-transform:uppercase; }
.st-seal img{ position:absolute; inset:24%; width:52%; height:52%; border-radius:50%; object-fit:cover; box-shadow:0 0 0 8px rgba(255,255,255,.08), 0 30px 60px -20px rgba(0,0,0,.6); }

@media (max-width:1100px){
  .st-steps{ grid-template-columns:repeat(3,1fr); }
  .sv{ grid-template-columns:160px 1fr; }
  .sv-c{ grid-column:2; }
  .st-incl{ grid-template-columns:1fr 1fr; }
  .st-incl .tiny{ grid-column:1/-1; max-width:none; }
}
@media (max-width:900px){
  .st-panel, .st-why-in, .st-contact, .st-final{ grid-template-columns:1fr; }
  .st-phone{ width:260px; }
  .st-work{ grid-template-columns:1fr; }
  .st-code{ display:none; }
  .st-why{ margin:0 12px; }
}
@media (max-width:640px){
  .st-why-matters{ padding:70px 0 10px; }
  .st-panel{ border-radius:26px; padding:34px 22px; }
  .sv{ grid-template-columns:1fr; gap:14px; padding:28px 22px; }
  .sv-c{ grid-column:auto; }
  .sv-n{ height:70px; }
  .sv-n .big{ font-size:90px; }
  .st-steps{ grid-template-columns:1fr; }
  .sw figcaption{ flex-wrap:wrap; }
  .sw figcaption .cat{ margin-left:0; width:100%; text-align:left; }
  .st-cta-bar{ padding:26px 22px; }
  .st-incl{ grid-template-columns:1fr; }
  .st-glass{ grid-template-columns:1fr 1fr; gap:10px; }
  .st-glass .g{ padding:20px 16px; }
  .st-rvws{ padding:6px 20px 16px; scroll-padding:0 20px; }
  .st-rvws .rvw{ width:72vw; }
  .st-final{ border-radius:28px; }
  .st-qbtns .btn{ flex:1 1 100%; }
}
@media (prefers-reduced-motion:reduce){ .st-big .w{ opacity:1; } }

.sw-img{ aspect-ratio:16/9; }
.sw-img img{ object-position:center; }
.sv-n .sm{ color:var(--pink); }
.strip-nav{ display:flex; gap:10px; }
.sn{ width:50px; height:50px; border-radius:50%; border:1px solid var(--ink); display:flex; align-items:center; justify-content:center; transition:all .3s; }
.sn svg{ width:18px; height:18px; }
.sn:hover{ background:var(--ink); color:#fff; }
@media (max-width:640px){ .strip-nav{ display:none; } }
.ftr .cols a.btn{ display:inline-flex; padding:14px 26px; color:#fff; }
.ftr .cols a.btn:hover{ color:#fff; }

/* ===== hero v12 (owner mockup: split hero, phone + logo tile + floating cards) ===== */
.hx2{ position:relative; overflow:hidden; padding:50px 0 40px;
  background:radial-gradient(40% 55% at 82% 38%, rgba(255,150,185,.38), transparent 70%), radial-gradient(30% 40% at 0% 80%, rgba(255,193,214,.55), transparent 70%), radial-gradient(28% 40% at 100% 100%, rgba(255,193,214,.6), transparent 70%), var(--cream); }
.hx2-swoosh{ position:absolute; left:0; right:0; bottom:60px; width:100%; height:220px; pointer-events:none; }
.hx2-grid{ position:relative; display:grid; grid-template-columns:1fr 1.02fr; gap:30px; align-items:center; }
.hx2-tag{ display:inline-flex; align-items:center; gap:10px; padding:8px 16px; border-radius:999px; background:rgba(255,193,214,.4); font-size:11.5px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:#5a4250; }
.hx2-tag i{ width:7px; height:7px; border-radius:50%; background:var(--pink); box-shadow:0 0 0 4px rgba(255,92,138,.18); }
.hx2-title{ font-family:var(--body); font-weight:700; font-size:clamp(46px,5.4vw,88px); line-height:1.02; letter-spacing:-.05em; margin:24px 0 26px; }
.hx2-title .l2{ display:block; }
.hx2-title .serif{ color:var(--pink); font-size:1.18em; letter-spacing:-.03em; }
.hx2-star{ display:inline-block; width:.42em; height:.42em; color:var(--gold); margin:0 .12em 0 .04em; vertical-align:.1em; animation:tw 3.4s ease-in-out infinite; }
.hx2-star svg{ width:100%; height:100%; }
.hx2-title .ul{ position:relative; display:inline-block; }
.hx2-title .ul svg{ position:absolute; left:-2%; bottom:-.16em; width:104%; height:.28em; overflow:visible; }
.hx2-title .ul path{ stroke-dasharray:240; stroke-dashoffset:240; animation:ink 1.3s .9s var(--ease) forwards; }
.hx2-lead{ font-size:clamp(16px,1.3vw,19px); color:#5c4a53; max-width:560px; line-height:1.7; }
.hx2-cta{ display:flex; gap:12px; flex-wrap:wrap; margin-top:32px; }
.hx2-stats{ display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
.hx2-stats > span{ display:inline-flex; align-items:center; gap:10px; padding:8px 16px 8px 8px; border-radius:999px; background:rgba(255,255,255,.85); border:1px solid var(--line); font-size:13.5px; color:var(--muted); box-shadow:0 10px 24px -20px rgba(140,20,70,.6); }
.hx2-stats b{ color:var(--ink); }
.hx2-stats .pi{ width:30px; height:30px; border-radius:50%; background:var(--baby); color:var(--pink); display:inline-flex; align-items:center; justify-content:center; }
.hx2-stats .pi svg{ width:15px; height:15px; }

/* stage */
.hx2-stage{ position:relative; aspect-ratio:1/.95; width:100%; max-width:640px; justify-self:end; }
.hx2-stage .glow{ position:absolute; inset:10% 8% 6% 14%; border-radius:50%; background:radial-gradient(circle at 45% 40%, #ffe6ef, #ffc1d6 60%, #ffa9c4); filter:blur(2px); }
.hx2-stage .ring{ position:absolute; inset:6% 2% 0 6%; width:92%; height:94%; animation:spin 70s linear infinite; }
.hx2-stage .sp{ position:absolute; color:var(--gold); animation:tw 3.6s ease-in-out infinite; }
.hx2-stage .sp svg{ width:100%; height:100%; }
.hx2-stage .sp.a{ width:34px; height:34px; left:20%; top:12%; }
.hx2-stage .sp.b{ width:22px; height:22px; right:30%; top:3%; animation-delay:1.1s; }
.hx2-stage .sp.c{ width:26px; height:26px; left:34%; bottom:4%; animation-delay:2.2s; }

.hx2-stage .phone{ position:absolute; left:42%; top:4%; width:36%; aspect-ratio:9/19; border-radius:38px; padding:8px; transform:rotate(9deg); z-index:2;
  background:linear-gradient(145deg, #f6d2c7, #e7b2a5 40%, #f8ddd5 60%, #d79f92); box-shadow:0 50px 80px -36px rgba(140,30,70,.6), inset 0 0 0 1px rgba(255,255,255,.6); }
.phone .scr{ width:100%; height:100%; border-radius:31px; overflow:hidden; background:#fff; display:flex; flex-direction:column; }
.ig-top{ display:flex; justify-content:space-between; padding:9px 16px 4px; font-size:9px; font-weight:700; }
.ig-top .dots{ letter-spacing:1px; font-size:6px; }
.ig-head{ display:flex; gap:8px; align-items:center; padding:6px 12px; }
.ig-head img{ width:34px; height:34px; border-radius:50%; object-fit:cover; box-shadow:0 0 0 2px #fff, 0 0 0 3.5px var(--pink); }
.ig-head b{ display:block; font-size:10.5px; }
.ig-head span{ font-size:8.5px; color:var(--muted); }
.ig-hl{ display:flex; gap:7px; padding:6px 12px 8px; }
.ig-hl i{ width:22px; height:22px; border-radius:50%; background:var(--baby); box-shadow:inset 0 0 0 1.5px var(--blush); }
.ig-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:2px; flex:1; align-content:start; }
.ig-grid img{ width:100%; aspect-ratio:1; object-fit:cover; }
.hx2-stage .heart{ position:absolute; right:22%; top:28%; z-index:3; width:44px; height:40px; border-radius:12px 12px 12px 4px; background:var(--pink); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 12px 24px -10px rgba(255,92,138,.9); animation:bob 5s ease-in-out infinite; }
.hx2-stage .heart svg{ width:20px; height:20px; }

.hx2-stage .tile{ position:absolute; left:10%; top:24%; width:36%; aspect-ratio:1; z-index:3; padding:10px; border-radius:34px; background:rgba(255,255,255,.75); backdrop-filter:blur(6px); box-shadow:0 40px 70px -34px rgba(140,30,70,.6), inset 0 0 0 1px #fff; transform:rotate(-4deg); animation:bob 7s ease-in-out infinite; }
.hx2-stage .tile img{ width:100%; height:100%; border-radius:26px; object-fit:cover; }

.fc2{ position:absolute; z-index:4; background:#fff; border-radius:20px; border:1px solid #f6e3ea; box-shadow:0 28px 56px -30px rgba(140,20,70,.5); animation:bob 7s ease-in-out infinite; }
.fc2 b{ display:block; font-weight:700; letter-spacing:-.02em; }
.fc2 small{ display:block; font-size:11.5px; color:var(--muted); }
.fc2 .ic{ width:42px; height:42px; border-radius:13px; background:linear-gradient(135deg, var(--pink), #e0336b); color:#fff; display:flex; align-items:center; justify-content:center; flex:none; }
.fc2 .ic svg{ width:20px; height:20px; }
.fc2.pal{ right:-4%; top:2%; width:220px; padding:12px 14px 14px; animation-delay:-2s; }
.fc2.pal .sw{ display:flex; height:36px; border-radius:10px; overflow:hidden; margin-bottom:10px; }
.fc2.pal .sw span{ flex:1; }
.fc2.pal b{ font-size:14px; }
.fc2.pal small{ font-family:ui-monospace, Consolas, monospace; font-size:10.5px; margin-top:2px; }
.fc2.roas{ right:-6%; top:30%; display:flex; gap:12px; align-items:center; padding:14px 18px 14px 14px; width:250px; animation-delay:-4s; }
.fc2.roas > div{ flex:1; }
.fc2.roas b{ font-size:17px; }
.fc2 .bar{ display:block; height:5px; border-radius:5px; background:var(--baby); margin-top:8px; overflow:hidden; }
.fc2 .bar i{ display:block; width:84%; height:100%; background:linear-gradient(90deg, var(--pink), var(--gold)); border-radius:5px; }
.fc2.shop{ left:-6%; bottom:6%; display:flex; gap:12px; align-items:flex-start; padding:16px 18px 14px 14px; width:250px; transform:rotate(-3deg); animation:none; }
.fc2.shop b{ font-size:18px; margin-top:2px; }
.fc2.shop svg{ width:100%; height:26px; margin:6px 0 2px; display:block; }
.fc2.shop em{ font-style:normal; font-size:11.5px; font-weight:700; color:#16a05a; }
.fc2.shop .ic{ background:var(--baby); color:var(--pink); }
.fc2.pol{ right:2%; bottom:0; width:190px; padding:9px 9px 12px; transform:rotate(6deg); animation:none; border-radius:16px; }
.fc2.pol img{ width:100%; aspect-ratio:4/3.2; object-fit:cover; border-radius:10px; }
.fc2.pol span{ display:flex; align-items:center; justify-content:center; gap:6px; margin-top:9px; font-size:12px; font-weight:700; color:var(--pink-ink); }
.fc2.pol span svg{ width:13px; height:13px; color:var(--pink); }

/* services bar */
.hx2-svc{ position:relative; margin-top:44px; display:grid; grid-template-columns:repeat(5,1fr); padding:18px 10px; border-radius:24px; background:rgba(255,255,255,.7); backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.9); box-shadow:0 30px 60px -44px rgba(140,20,70,.6); }
.hx2-svc a{ display:flex; align-items:center; gap:14px; padding:6px 22px; font-size:14px; font-weight:500; line-height:1.35; border-left:1px solid var(--line); transition:color .3s; }
.hx2-svc a:first-child{ border-left:none; }
.hx2-svc a:hover{ color:var(--pink-deep); }
.hx2-svc .ic{ width:46px; height:46px; border-radius:50%; background:var(--baby); color:var(--pink); display:flex; align-items:center; justify-content:center; flex:none; transition:all .3s; }
.hx2-svc a:hover .ic{ background:var(--pink); color:#fff; }
.hx2-svc .ic svg{ width:20px; height:20px; }

@media (max-width:1180px){
  .fc2.pal{ right:0; } .fc2.roas{ right:-2%; } .fc2.shop{ left:-2%; }
}
@media (max-width:1100px){
  .hx2-grid{ grid-template-columns:1fr; }
  .hx2-stage{ justify-self:center; max-width:600px; margin-top:20px; }
  .hx2-svc{ grid-template-columns:repeat(3,1fr); row-gap:14px; }
  .hx2-svc a:nth-child(4){ border-left:none; }
}
@media (max-width:640px){
  .hx2{ padding-top:28px; }
  .hx2-title{ font-size:12.6vw; }
  .hx2-cta .btn{ width:100%; justify-content:center; }
  .hx2-stats > span{ font-size:12.5px; }
  .hx2-stage{ aspect-ratio:1/1.08; }
  .hx2-stage .phone{ left:44%; width:44%; border-radius:28px; padding:6px; }
  .phone .scr{ border-radius:23px; }
  .hx2-stage .tile{ left:4%; width:42%; border-radius:24px; padding:7px; }
  .hx2-stage .tile img{ border-radius:18px; }
  .fc2.pal, .fc2.pol{ display:none; }
  .fc2.roas{ right:0; top:auto; bottom:18%; width:200px; padding:10px 12px; }
  .fc2.roas .ic{ width:34px; height:34px; }
  .fc2.shop{ left:0; bottom:0; width:200px; padding:10px 12px; }
  .fc2.shop .ic{ display:none; }
  .hx2-stage .heart{ right:4%; top:22%; }
  .hx2-svc{ grid-template-columns:1fr 1fr; padding:12px 6px; }
  .hx2-svc a{ padding:8px 10px; font-size:12.5px; gap:10px; border-left:none; }
  .hx2-svc a:nth-child(5){ grid-column:1/-1; }
  .hx2-svc .ic{ width:38px; height:38px; }
}
@media (prefers-reduced-motion:reduce){ .hx2-title .ul path{ stroke-dashoffset:0; } }
.hx2-grid{ grid-template-columns:1.1fr .9fr; }
.hx2-title{ font-size:clamp(44px,4.9vw,80px); }
.hx2-stage .phone{ left:34%; }
.hx2-stage .tile{ left:4%; }
.fc2.pal{ right:-10%; top:0; width:205px; }
.fc2.roas{ right:-12%; top:33%; width:235px; }
.fc2.shop{ left:-8%; bottom:-2%; }
.fc2.pol{ right:-4%; bottom:-4%; width:175px; }
@media (max-width:1380px){ .fc2.pal{ right:-3%; } .fc2.roas{ right:-4%; } .fc2.pol{ right:0; } }
@media (max-width:1100px){ .hx2-grid{ grid-template-columns:1fr; } .fc2.shop{ left:0; } }
@media (max-width:640px){
  .hx2-stage{ margin-top:40px; }
  .fc2.roas{ display:none; }
  .fc2.shop{ left:0; bottom:-2%; width:190px; }
  .hx2-stage .phone{ left:40%; top:2%; }
  .hx2-stage .tile{ left:2%; top:26%; }
}

/* ===== hero v13: phone hero (v7 layout) with less text, balanced Montserrat ===== */
.hv{ position:relative; overflow:hidden; padding:56px 0 0; background:radial-gradient(55% 70% at 80% 40%, #ffe1eb, transparent 70%), var(--cream); }
.hv-grid{ position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
.hv-pill{ display:inline-flex; align-items:center; gap:8px; padding:8px 16px 8px 12px; border-radius:999px; border:1px solid var(--rose); background:rgba(255,255,255,.75); font-size:13px; font-weight:500; }
.hv-pill svg{ width:13px; height:13px; color:var(--pink); }
.hv-title{ font-family:var(--body); font-weight:700; text-transform:uppercase; font-size:clamp(46px,5.6vw,92px); line-height:.96; letter-spacing:-.04em; margin:26px 0 22px; }
.hv-title .serif{ display:block; text-transform:none; color:var(--pink); font-size:1.28em; line-height:1; letter-spacing:-.03em; margin-top:.04em; }
.hv-star{ display:inline-block; width:.3em; height:.3em; color:var(--pink); vertical-align:top; margin:.14em 0 0 .04em; animation:tw 3.4s ease-in-out infinite; }
.hv-star svg{ width:100%; height:100%; }
.hv-lead{ font-size:clamp(16px,1.3vw,19px); color:#5c4a53; max-width:420px; line-height:1.6; }
.hv-cta{ display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.hv-stats{ display:flex; margin-top:40px; max-width:440px; }
.hv-stats div{ flex:1; padding-right:18px; }
.hv-stats div + div{ padding-left:20px; border-left:1px solid var(--line); }
.hv-stats b{ display:block; font-size:clamp(24px,2.2vw,32px); font-weight:700; letter-spacing:-.04em; line-height:1.1; }
.hv-stats span{ font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }

.hv-stage{ position:relative; aspect-ratio:1/1; width:100%; max-width:580px; justify-self:center; }
.hv-stage .blob{ position:absolute; inset:7% 3% 3% 9%; border-radius:50%; background:radial-gradient(circle at 40% 35%, #ffe6ef, #ffc1d6 55%, #ff9ab9); }
.hv-stage .orbit{ position:absolute; inset:1% -1% -1% 3%; width:98%; height:98%; animation:spin 60s linear infinite; }
.hv-stage .mono{ position:absolute; right:0; top:12%; font-family:var(--serif); font-style:italic; font-size:clamp(120px,13vw,210px); line-height:1; color:#fff; opacity:.5; letter-spacing:-.06em; }
.hv-stage .sp{ position:absolute; color:var(--pink); animation:tw 3.6s ease-in-out infinite; }
.hv-stage .sp svg{ width:100%; height:100%; }
.hv-stage .sp.a{ width:28px; height:28px; right:14%; top:6%; }
.hv-stage .sp.b{ width:18px; height:18px; left:8%; top:18%; color:var(--gold); animation-delay:1.3s; }
.hv-stage .phone{ position:absolute; left:50%; top:50%; width:43%; aspect-ratio:9/19; transform:translate(-50%,-50%) rotate(4deg); border-radius:40px; background:#1d1418; padding:9px; box-shadow:0 60px 90px -40px rgba(140,20,70,.6), inset 0 0 0 2px #3a2a31; }
.hv-stage .notch{ position:absolute; top:15px; left:50%; width:32%; height:18px; border-radius:18px; background:#1d1418; transform:translateX(-50%); z-index:2; }
.hv-stage video{ width:100%; height:100%; object-fit:cover; border-radius:32px; background:var(--wine-2); }
.hv-stage .card{ position:absolute; z-index:3; background:#fff; border-radius:18px; padding:14px 18px; border:1px solid #fbe3eb; box-shadow:0 26px 50px -26px rgba(140,20,70,.45); animation:bob 6s ease-in-out infinite; }
.hv-stage .card small{ display:block; font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.hv-stage .card b{ display:block; font-size:19px; font-weight:700; letter-spacing:-.03em; margin-top:3px; }
.hv-stage .card b.big{ font-size:36px; color:var(--pink); line-height:1; letter-spacing:-.05em; }
.hv-stage .card em{ font-style:normal; font-size:12px; font-weight:700; color:#16a05a; }
.hv-stage .c1{ left:-4%; top:22%; }
.hv-stage .c2{ right:-2%; top:50%; animation-delay:-2s; }
.hv-stage .c3{ left:12%; bottom:9%; display:flex; align-items:center; gap:9px; border-radius:999px; padding:10px 18px; font-size:13px; font-weight:600; animation-delay:-4s; }
.hv-stage .dot{ width:8px; height:8px; border-radius:50%; background:#22c55e; box-shadow:0 0 0 4px rgba(34,197,94,.2); }
.hv-stage .note{ position:absolute; right:-6%; bottom:3%; z-index:3; display:flex; flex-direction:column; align-items:flex-end; pointer-events:none; }
.hv-stage .note svg{ width:78px; height:58px; margin-right:110px; margin-bottom:-6px; }
.hv-stage .note span{ font-family:"Dancing Script", var(--serif); font-weight:700; font-size:clamp(22px,2vw,30px); line-height:1; color:var(--pink-deep); transform:rotate(-8deg); text-align:center; }

.hv-wave{ position:relative; margin-top:-30px; padding:110px 0 90px; }
.hv-wave .wv{ position:absolute; inset:0; width:100%; height:100%; }
.hv-chips{ position:relative; display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.hv-chips a{ display:inline-flex; align-items:center; gap:9px; padding:13px 20px; border-radius:999px; background:#fff; font-size:14px; font-weight:600; box-shadow:0 14px 30px -20px rgba(140,20,70,.45); transition:transform .4s var(--ease), color .3s; }
.hv-chips a svg{ width:17px; height:17px; color:var(--pink); }
.hv-chips a:hover{ transform:translateY(-3px); color:var(--pink-deep); }
.hv-chips .script{ position:absolute; right:36px; top:calc(100% + 2px); font-family:"Dancing Script", var(--serif); font-weight:700; font-size:clamp(26px,2.4vw,36px); line-height:1; color:#fff; transform:rotate(-10deg); }

@media (max-width:1100px){
  .hv-grid{ grid-template-columns:1fr; }
  .hv-stage{ max-width:500px; }
  .hv-chips .script{ display:none; }
}
@media (max-width:640px){
  .hv{ padding-top:28px; }
  .hv-title{ font-size:13.6vw; }
  .hv-cta .btn{ flex:1; justify-content:center; padding:15px 18px; }
  .hv-stats div{ padding-right:10px; }
  .hv-stats div + div{ padding-left:12px; }
  .hv-stage .phone{ width:48%; border-radius:30px; padding:7px; }
  .hv-stage video{ border-radius:24px; }
  .hv-stage .card{ padding:10px 13px; border-radius:14px; }
  .hv-stage .card b{ font-size:15px; }
  .hv-stage .card b.big{ font-size:26px; }
  .hv-stage .c1{ left:-2%; top:14%; } .hv-stage .c2{ right:-2%; }
  .hv-stage .c3{ left:2%; bottom:4%; font-size:11.5px; padding:8px 13px; }
  .hv-stage .note{ display:none; }
  .hv-stage .mono{ font-size:100px; }
  .hv-wave{ padding:80px 0 34px; }
  .hv-chips{ flex-wrap:nowrap; overflow-x:auto; margin:0 -20px; padding:4px 20px 12px; scrollbar-width:none; }
  .hv-chips::-webkit-scrollbar{ display:none; }
  .hv-chips a{ flex:none; padding:11px 16px; font-size:13px; }
}
@media (max-width:640px){ .hv-stats span{ font-size:10.5px; letter-spacing:.06em; white-space:nowrap; } .hv-stats b{ font-size:22px; } }

/* ===== floating pill navbar (v14) ===== */
.hdr, .hdr.scrolled{ position:sticky; top:14px; background:transparent; backdrop-filter:none; -webkit-backdrop-filter:none; border:none; padding:14px 0 0; margin-top:-14px; }
.hdr .wrap{ display:flex; align-items:center; justify-content:space-between; gap:20px; height:auto; max-width:1180px; padding:9px 9px 9px 18px; border-radius:999px;
  background:rgba(255,255,255,.92); backdrop-filter:saturate(1.6) blur(16px); -webkit-backdrop-filter:saturate(1.6) blur(16px);
  border:1px solid rgba(255,255,255,.9); box-shadow:0 18px 40px -22px rgba(140,20,70,.35), 0 0 0 1px rgba(243,223,230,.7); transition:box-shadow .4s, background .4s; }
.hdr.scrolled .wrap{ box-shadow:0 22px 50px -20px rgba(140,20,70,.45), 0 0 0 1px rgba(243,223,230,.9); background:rgba(255,255,255,.97); }
.hdr .logo img{ width:44px; height:44px; }
.hdr .logo b{ font-size:20px; }
.hdr .nav{ gap:4px; }
.hdr .nav a{ padding:10px 18px; border-radius:999px; font-size:14px; font-weight:600; letter-spacing:0; transition:background .3s, color .3s; }
.hdr .nav a::after{ display:none; }
.hdr .nav a:hover{ background:var(--baby); color:var(--pink-deep); }
.hdr .nav a.on{ background:var(--baby); color:var(--pink-ink); }
.hdr .hdr-cta{ padding:15px 26px; font-size:13px; letter-spacing:.06em; text-transform:none; font-weight:700; box-shadow:0 10px 22px -10px rgba(255,92,138,.9); }
.hdr .hdr-cta svg{ width:15px; height:15px; }
@media (max-width:1100px){
  .hdr .wrap{ margin:0 16px; width:auto; padding:8px 8px 8px 14px; }
  .hdr .burger{ width:44px; height:44px; background:var(--pink); }
}
@media (max-width:640px){
  .hdr{ top:10px; padding-top:10px; margin-top:-10px; }
  .hdr .wrap{ margin:0 12px; }
  .hdr .logo img{ width:38px; height:38px; }
  .hdr .logo b{ font-size:17px; }
}
.drawer{ visibility:hidden; transition:transform .7s var(--ease), visibility 0s .7s; overflow-y:auto; }
.drawer.open{ visibility:visible; transition:transform .7s var(--ease), visibility 0s; }

/* ===== v14 polish: "why it matters" type + premium hero ===== */
.st-h{ font-family:var(--body); font-weight:700; font-size:clamp(34px,3.6vw,56px); line-height:1.08; letter-spacing:-.045em; color:#fff; }
.st-h .serif{ display:block; color:var(--blush); font-weight:400; font-size:1.12em; letter-spacing:-.03em; margin-top:.04em; }
.st-p{ margin-top:24px; max-width:560px; font-size:clamp(17px,1.4vw,20px); line-height:1.7; font-weight:400; color:#e2ccd6; }
.st-p em{ font-style:normal; font-weight:700; color:#fff; }
.st-p em:nth-of-type(1){ color:var(--pink); } .st-p em:nth-of-type(2){ color:var(--blush); } .st-p em:nth-of-type(3){ color:var(--gold); }

.hv{ padding:34px 0 0; background:radial-gradient(48% 62% at 78% 42%, rgba(255,166,196,.42), transparent 70%), radial-gradient(30% 40% at 6% 10%, rgba(255,230,239,.9), transparent 70%), linear-gradient(180deg, #fff9fb, #fff3f7); }
.hv::before{ content:""; position:absolute; inset:0; pointer-events:none; background-image:radial-gradient(rgba(194,24,91,.09) 1px, transparent 1.2px); background-size:24px 24px; -webkit-mask-image:radial-gradient(60% 70% at 25% 40%, #000, transparent 75%); mask-image:radial-gradient(60% 70% at 25% 40%, #000, transparent 75%); }
.hv-grid{ grid-template-columns:1.05fr .95fr; gap:20px; max-width:1240px; }
.hv-title{ font-size:clamp(44px,4.7vw,78px); line-height:.98; letter-spacing:-.045em; margin:22px 0 18px; }
.hv-title .serif{ font-size:1.32em; line-height:.98; }
.hv-lead{ max-width:440px; font-size:clamp(16px,1.2vw,18px); color:#6a5560; }
.hv-cta{ margin-top:28px; }
.hv-stats{ margin-top:34px; padding-top:24px; border-top:1px solid rgba(243,223,230,.9); max-width:460px; }
.hv-stats b{ font-size:clamp(24px,2vw,30px); }
.hv-stats span{ font-size:11px; letter-spacing:.14em; }

.hv-stage{ max-width:540px; aspect-ratio:1/1.02; }
.hv-stage .blob{ inset:8% 4% 4% 8%; background:radial-gradient(circle at 38% 30%, #fff1f6 0%, #ffd2e1 45%, #ffa7c2 100%); box-shadow:inset 0 -30px 60px rgba(255,92,138,.18), 0 40px 90px -40px rgba(255,92,138,.6); }
.hv-stage .ring2{ position:absolute; inset:0; width:100%; height:100%; animation:spin 45s linear infinite reverse; }
.hv-stage .phone{ width:41%; border-radius:42px; padding:8px; background:linear-gradient(150deg,#2a1f24,#120b0f 40%,#2b2026); box-shadow:0 70px 100px -40px rgba(140,20,70,.65), inset 0 0 0 1.5px #4a3a41, inset 0 0 0 4px #120b0f; }
.hv-stage .phone video{ border-radius:34px; }
.hv-stage .glare{ position:absolute; inset:8px; border-radius:34px; z-index:2; pointer-events:none; background:linear-gradient(115deg, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 32%); }
.hv-stage .card{ display:flex; gap:12px; align-items:flex-start; padding:14px 18px 14px 14px; border-radius:20px; background:rgba(255,255,255,.95); backdrop-filter:blur(10px); box-shadow:0 30px 60px -30px rgba(140,20,70,.5), 0 0 0 1px rgba(255,255,255,.8); border:none; }
.hv-stage .card .ci{ width:40px; height:40px; border-radius:12px; background:var(--baby); color:var(--pink); display:flex; align-items:center; justify-content:center; flex:none; }
.hv-stage .card .ci.pk{ background:linear-gradient(135deg,var(--pink),#e0336b); color:#fff; }
.hv-stage .card .ci svg{ width:18px; height:18px; }
.hv-stage .card small{ font-size:10.5px; letter-spacing:.1em; }
.hv-stage .card b{ font-size:18px; }
.hv-stage .card b.big{ font-size:32px; }
.hv-stage .card .spk{ display:block; width:130px; height:22px; margin:6px 0 2px; }
.hv-stage .card em{ font-size:11.5px; }
.hv-stage .card .bar{ display:block; width:120px; height:5px; border-radius:5px; background:var(--baby); margin-top:8px; overflow:hidden; }
.hv-stage .card .bar i{ display:block; width:86%; height:100%; background:linear-gradient(90deg,var(--pink),var(--gold)); }
.hv-stage .c1{ left:-10%; top:20%; }
.hv-stage .c2{ right:-8%; top:52%; }
.hv-stage .c3{ left:4%; bottom:8%; align-items:center; padding:11px 18px; border-radius:999px; font-size:12.5px; }
.hv-stage .note{ right:-10%; bottom:-1%; }
.hv-stage .note span{ font-size:clamp(20px,1.7vw,26px); }

.hv-wave{ margin-top:-50px; padding:78px 0 40px; }
.hv-chips{ justify-content:center; gap:10px; }
.hv-chips a{ padding:12px 20px; font-size:13.5px; background:rgba(255,255,255,.92); }
@media (max-width:1100px){ .hv-stage .c1{ left:-2%; } .hv-stage .c2{ right:-2%; } .hv-stage .note{ right:0; } }
@media (max-width:640px){
  .hv-title{ font-size:13.4vw; }
  .hv-stage .card{ padding:9px 12px 9px 9px; gap:8px; }
  .hv-stage .card .ci{ width:30px; height:30px; border-radius:9px; }
  .hv-stage .card .ci svg{ width:14px; height:14px; }
  .hv-stage .card .spk, .hv-stage .card .bar{ display:none; }
  .hv-stage .card b{ font-size:14px; } .hv-stage .card b.big{ font-size:24px; }
  .hv-stage .c1{ left:-3%; top:12%; } .hv-stage .c2{ right:-3%; top:56%; }
  .hv-stage .c3{ font-size:11px; left:0; }
  .hv-chips{ justify-content:flex-start; }
  .hv-wave{ padding:70px 0 30px; }
}
.hv-stage .card .ci svg{ width:18px !important; min-width:18px; height:18px; display:block; flex:none; }
.hv-stage .card > div{ min-width:0; }
.hv{ padding-top:58px; }
@media (max-width:640px){ .hv{ padding-top:34px; } .hv-stage .card .ci svg{ width:14px !important; min-width:14px; height:14px; } }
@media (max-width:1100px){ .hv-grid{ grid-template-columns:1fr; } .hv-stage{ max-width:480px; justify-self:center; margin-top:10px; } }
@media (max-width:640px){ .hv-stage .c3{ white-space:nowrap; } .hv-cta .btn{ flex:1 1 100%; } }

/* ===== hero v15: plain, professional, balanced color ===== */
.hv{ background:linear-gradient(180deg, #fffafb 0%, #fdf4f7 100%); }
.hv::before{ display:none; }
.hv-title .serif{ color:var(--pink-deep); }
.hv-stage{ aspect-ratio:1/1; max-width:520px; }
.hv-stage .panel{ position:absolute; inset:6% 6% 6% 10%; border-radius:36px; background:linear-gradient(160deg, #fbe9ef 0%, #f6dce5 100%); border:1px solid #f1d8e0; }
.hv-stage .phone{ transform:translate(-50%,-50%); width:40%; box-shadow:0 40px 70px -40px rgba(43,15,29,.55), inset 0 0 0 1.5px #4a3a41, inset 0 0 0 4px #120b0f; }
.hv-stage .glare{ display:none; }
.hv-stage .card{ animation:none; background:#fff; backdrop-filter:none; border:1px solid #eee3e7; box-shadow:0 18px 40px -26px rgba(43,15,29,.35); border-radius:16px; }
.hv-stage .card small{ color:#8a7880; }
.hv-stage .card b{ color:var(--ink); }
.hv-stage .card b.big{ color:var(--ink); }
.hv-stage .card .ci, .hv-stage .card .ci.pk{ background:#f7eef1; color:var(--pink-deep); border-radius:10px; }
.hv-stage .card .spk path{ stroke:#e0336b; }
.hv-stage .card .bar i{ background:var(--pink-deep); }
.hv-stage .card em{ color:#15803d; }
.hv-stage .c1{ left:-6%; top:18%; }
.hv-stage .c2{ right:-4%; top:54%; }
.hv-stage .c3{ left:6%; bottom:7%; background:#fff; }
.hv-wave{ margin-top:0; padding:34px 0 46px; border-top:1px solid #f1e4e9; background:#fff; }
.hv-chips a{ background:#fff; border:1px solid #eee3e7; box-shadow:none; color:var(--ink); font-weight:500; }
.hv-chips a svg{ color:var(--pink-deep); }
.hv-chips a:hover{ border-color:var(--pink); transform:none; }
.hv-pill{ border-color:#eedde3; background:#fff; }
.hv-pill svg{ color:var(--pink-deep); }
.btn-pink{ box-shadow:0 10px 24px -14px rgba(224,51,107,.75); }
@media (max-width:640px){ .hv-stage .c1{ left:-2%; top:10%; } .hv-stage .c2{ right:-2%; } .hv-stage .c3{ left:2%; } .hv-wave{ padding:22px 0 28px; } }
.hv-grid{ padding-bottom:48px; }
.hv-wave{ padding:30px 0 10px; }
.hv + .st-clients{ border-top:none; padding-top:26px; }
@media (max-width:640px){ .hv-grid{ padding-bottom:30px; } }

/* ===== hero v16 (owner reference: portrait + service list + growth cards) ===== */
.hp{ position:relative; overflow:hidden; padding:40px 0 0; background:linear-gradient(180deg, #fde8ef 0%, #fdeef3 60%, #fff6f9 100%); }
.hp::after{ content:""; position:absolute; right:-10%; top:-20%; width:70%; height:120%; background:radial-gradient(closest-side, rgba(255,255,255,.65), transparent); pointer-events:none; }
.hp-grid{ position:relative; z-index:2; display:grid; grid-template-columns:.92fr 1.08fr; gap:10px; align-items:center; max-width:1320px; }
.hp-tag{ display:inline-block; padding:9px 18px; border-radius:999px; background:rgba(255,193,214,.55); font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--ink); }
.hp-title{ font-family:var(--body); font-weight:700; font-size:clamp(40px,4.3vw,70px); line-height:1.06; letter-spacing:-.04em; margin:24px 0 22px; color:var(--ink); max-width:640px; }
.hp-title .pk{ display:block; color:var(--pink-deep); background:linear-gradient(90deg, #e0336b, #ff5c8a); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.hp-lead{ font-size:clamp(16px,1.25vw,18px); line-height:1.65; color:#4d3b44; max-width:470px; }
.hp-cta{ display:flex; align-items:center; gap:26px; flex-wrap:wrap; margin-top:30px; }
.hp-btn{ background:var(--ink); color:#fff; padding:18px 32px; font-size:13px; letter-spacing:.12em; box-shadow:0 16px 30px -16px rgba(32,18,26,.7); }
.hp-btn:hover{ background:var(--pink-deep); transform:translateY(-2px); }
.hp-link{ font-size:14px; font-weight:600; border-bottom:1.5px solid var(--pink); padding-bottom:3px; transition:color .3s; }
.hp-link:hover{ color:var(--pink-deep); }
.hp-stats{ display:flex; margin-top:44px; }
.hp-stats div{ padding-right:30px; }
.hp-stats div + div{ padding-left:30px; border-left:1px solid rgba(32,18,26,.15); }
.hp-stats b{ display:block; font-size:clamp(28px,2.4vw,36px); font-weight:700; letter-spacing:-.04em; line-height:1.05; }
.hp-stats span{ font-size:13px; color:#6a5560; }

/* stage */
.hp-stage{ position:relative; height:640px; }
.hp-circle{ position:absolute; left:16%; top:6%; width:72%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 40% 35%, #ffe9f0, #ffcfdd 70%, #ffbfd2); }
.hp-circle::after{ content:""; position:absolute; inset:-28px; border-radius:50%; border:1px solid rgba(224,51,107,.18); }
.hp-person{ position:absolute; left:20%; bottom:0; height:100%; width:auto; max-width:none; z-index:1; filter:drop-shadow(0 30px 40px rgba(122,20,60,.18)); -webkit-mask-image:linear-gradient(to bottom, #000 86%, transparent 100%); mask-image:linear-gradient(to bottom, #000 86%, transparent 100%); }
.hp-card{ position:absolute; z-index:3; background:rgba(255,255,255,.9); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,.95); border-radius:20px; box-shadow:0 26px 50px -28px rgba(122,20,60,.45); }
.hp-card small{ display:block; font-size:12.5px; font-weight:600; color:#5c4a53; }
.hp-card b{ display:flex; align-items:center; gap:6px; font-size:28px; font-weight:700; letter-spacing:-.04em; color:var(--ink); }
.hp-card b svg{ width:18px; height:18px; color:var(--pink-deep); }
.hp-card .cap{ display:block; font-size:11px; color:#8a7880; margin-top:6px; }
.hp-card.growth{ left:2%; top:4%; width:200px; padding:16px 18px 14px; transform:rotate(-4deg); }
.hp-card.growth .bars{ display:flex; align-items:flex-end; gap:6px; height:58px; margin-top:10px; }
.hp-card.growth .bars i{ flex:1; border-radius:4px 4px 1px 1px; background:linear-gradient(180deg, #ff7aa0, #ffc1d6); }
.hp-card.reach{ right:-2%; top:56%; width:220px; padding:16px 18px 14px; transform:rotate(3deg); }
.hp-card.reach svg{ width:100%; height:50px; margin-top:8px; display:block; }
.hp-card.content{ left:-2%; top:58%; display:flex; align-items:center; gap:12px; padding:12px 14px 12px 12px; transform:rotate(-5deg); color:var(--ink); transition:transform .4s var(--ease); }
.hp-card.content:hover{ transform:rotate(-5deg) translateY(-4px); }
.hp-card.content .stack{ display:flex; }
.hp-card.content .stack img{ width:46px; height:58px; object-fit:cover; border-radius:10px; border:2px solid #fff; margin-left:-16px; box-shadow:0 6px 14px -8px rgba(0,0,0,.4); }
.hp-card.content .stack img:first-child{ margin-left:0; transform:rotate(-6deg); }
.hp-card.content .stack img:last-child{ transform:rotate(6deg); }
.hp-card.content .t{ font-size:13px; font-weight:600; line-height:1.3; }
.hp-card.content .go{ width:32px; height:32px; border-radius:50%; background:var(--baby); color:var(--pink-deep); display:flex; align-items:center; justify-content:center; }
.hp-card.content .go svg{ width:14px; height:14px; }
.hp-svcs{ position:absolute; z-index:3; right:-1%; top:2%; list-style:none; display:flex; flex-direction:column; gap:10px; }
.hp-svcs li:nth-child(odd){ transform:translateX(-14px); }
.hp-svcs a{ display:flex; align-items:center; gap:12px; padding:8px 20px 8px 8px; border-radius:999px; background:rgba(255,255,255,.92); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); box-shadow:0 14px 30px -20px rgba(122,20,60,.5); font-size:13.5px; font-weight:600; color:var(--ink); white-space:nowrap; transition:transform .35s var(--ease), color .3s; }
.hp-svcs a:hover{ transform:translateX(-4px); color:var(--pink-deep); }
.hp-svcs .ic{ width:32px; height:32px; border-radius:50%; background:linear-gradient(135deg, #ff7aa0, #e0336b); color:#fff; display:flex; align-items:center; justify-content:center; flex:none; }
.hp-svcs .ic svg{ width:15px; height:15px; }
.hp-script{ position:absolute; z-index:3; right:-4%; bottom:4%; font-family:"Dancing Script", var(--serif); font-weight:700; font-size:28px; line-height:1.05; color:var(--pink-deep); transform:rotate(-8deg); text-align:center; opacity:.9; }

/* values bar */
.hp-values{ position:relative; z-index:4; display:grid; grid-template-columns:repeat(4,1fr); margin-top:-30px; padding:26px 20px; border-radius:28px 28px 0 0; background:rgba(255,255,255,.92); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); box-shadow:0 -20px 50px -40px rgba(122,20,60,.5); }
.hp-values > div{ display:flex; gap:14px; align-items:center; justify-content:center; padding:4px 16px; }
.hp-values > div + div{ border-left:1px solid #f0dfe5; }
.hp-values .ic{ color:var(--pink-deep); }
.hp-values .ic svg{ width:30px; height:30px; }
.hp-values p{ font-size:13px; color:#6a5560; line-height:1.45; }
.hp-values b{ display:block; font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--ink); }

@media (max-width:1280px){
  .hp-svcs{ right:-2%; } .hp-svcs a{ font-size:12.5px; padding:7px 16px 7px 7px; }
  .hp-card.reach{ right:0; top:62%; }
  .hp-script{ display:none; }
}
@media (max-width:1100px){
  .hp-grid{ grid-template-columns:1fr; }
  .hp-stage{ height:600px; max-width:680px; width:100%; justify-self:center; margin-top:20px; }
  .hp-values{ grid-template-columns:1fr 1fr; row-gap:18px; margin-top:0; }
  .hp-values > div:nth-child(3){ border-left:none; }
}
@media (max-width:640px){
  .hp{ padding-top:26px; }
  .hp-title{ font-size:10.4vw; }
  .hp-stats div{ padding-right:16px; } .hp-stats div + div{ padding-left:16px; }
  .hp-stats b{ font-size:24px; } .hp-stats span{ font-size:11.5px; }
  .hp-stage{ height:440px; }
  .hp-circle{ left:8%; width:84%; }
  .hp-person{ left:50%; transform:translateX(-50%); }
  .hp-svcs, .hp-card.reach{ display:none; }
  .hp-card.growth{ left:0; top:2%; width:150px; padding:12px 14px; }
  .hp-card.growth b{ font-size:22px; } .hp-card.growth .bars{ height:38px; }
  .hp-card.content{ left:auto; right:0; top:auto; bottom:12%; transform:rotate(3deg); }
  .hp-card.content .stack img{ width:36px; height:46px; }
  .hp-values{ grid-template-columns:1fr 1fr; padding:18px 8px; }
  .hp-values > div{ justify-content:flex-start; padding:4px 10px; border-left:none !important; }
  .hp-values .ic svg{ width:24px; height:24px; }
  .hp-values p{ font-size:11.5px; }
}
.hp-title{ font-size:clamp(38px,3.7vw,62px); max-width:600px; }
.hp-stats{ margin-top:36px; }
.hp-stage{ height:620px; }
.hp-person{ height:94%; left:24%; }
.hp-circle{ left:18%; top:8%; width:68%; }
.hp-card.content{ left:0; top:62%; }
.hp-card.reach{ right:-1%; top:60%; }
.hp-values{ margin-top:0; }
.hp-grid{ padding-bottom:10px; }
@media (max-width:640px){ .hp-title{ font-size:10vw; } .hp-person{ left:50%; height:96%; } .hp-stage{ height:440px; } }
.hp-person{ -webkit-mask-image:linear-gradient(to right, transparent 0, #000 14%), linear-gradient(to bottom, #000 84%, transparent 100%); -webkit-mask-composite:source-in; mask-image:linear-gradient(to right, transparent 0, #000 14%), linear-gradient(to bottom, #000 84%, transparent 100%); mask-composite:intersect; }

/* hero v16 placement: use the full desktop width and fit the first screen */
.hp .wrap{ max-width:1600px; padding:0 clamp(24px,4vw,72px); }
.hp-grid{ grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:clamp(10px,2vw,40px); }
.hp{ padding-top:clamp(16px,2.4vh,36px); }
.hp-title{ font-size:clamp(38px,3.3vw,66px); max-width:none; margin:20px 0 18px; }
.hp-title .l1{ display:block; white-space:nowrap; }
.hp-lead{ max-width:520px; }
.hp-stats{ margin-top:clamp(22px,3.4vh,40px); }
.hp-cta{ margin-top:clamp(20px,3vh,30px); }
.hp-stage{ height:clamp(500px, calc(100vh - 250px), 700px); max-width:820px; width:100%; justify-self:end; }
.hp-circle{ left:auto; right:16%; top:6%; width:auto; height:86%; }
.hp-person{ left:auto; right:22%; height:96%; -webkit-mask-image:linear-gradient(to right, transparent 0, #000 6%), linear-gradient(to bottom, #000 86%, transparent 100%); mask-image:linear-gradient(to right, transparent 0, #000 6%), linear-gradient(to bottom, #000 86%, transparent 100%); }
.hp-card.growth{ left:4%; top:4%; }
.hp-card.content{ left:0; top:auto; bottom:14%; }
.hp-svcs{ right:0; top:3%; }
.hp-card.reach{ right:2%; top:auto; bottom:12%; }
.hp-script{ right:0; bottom:1%; }
.hp-values{ margin-top:0; }
@media (max-width:1280px){ .hp-title .l1{ white-space:normal; } .hp-person{ right:24%; } }
@media (max-width:1100px){ .hp-stage{ height:600px; justify-self:center; } .hp-circle{ right:auto; left:50%; transform:translateX(-50%); } .hp-person{ right:auto; left:50%; transform:translateX(-50%); } }
@media (max-width:640px){ .hp-stage{ height:440px; } .hp-card.content{ bottom:10%; } }
.hdr .wrap{ max-width:min(1456px, calc(100% - 2*clamp(24px,4vw,72px))); }
@media (max-width:1100px){ .hdr .wrap{ max-width:none; } }
@media (min-width:1101px) and (max-height:940px){
  .hp-svcs{ gap:7px; }
  .hp-svcs a{ padding:6px 16px 6px 6px; font-size:12.5px; }
  .hp-svcs .ic{ width:28px; height:28px; }
  .hp-card.reach{ bottom:-1%; width:200px; padding:12px 16px 10px; }
  .hp-card.reach b{ font-size:24px; }
  .hp-card.reach svg{ height:34px; }
  .hp-card.reach .cap{ display:none; }
  .hp-card.growth{ width:180px; padding:13px 16px 12px; }
  .hp-card.growth .bars{ height:44px; }
  .hp-script{ display:none; }
}
@media (min-width:1101px) and (max-height:940px){ .hp-card.reach{ bottom:3%; } .hp-card.growth .cap{ white-space:nowrap; font-size:10px; } }

/* ===== hero v17 (Dribbble-style: centered headline, black stat cards, outline tags) ===== */
.hd{ padding:0 clamp(12px,1.6vw,24px); background:var(--cream); }
.hd-panel{ position:relative; overflow:hidden; max-width:1600px; margin:0 auto; border-radius:0 0 36px 36px; background:#fde0e4; padding:clamp(40px,6vh,70px) clamp(20px,4vw,64px) 0; margin-top:-110px; padding-top:calc(110px + clamp(36px,5vh,64px)); }
.hd-head{ text-align:center; position:relative; z-index:3; }
.hd-title{ font-family:var(--body); font-weight:700; font-size:clamp(40px,4.2vw,72px); line-height:1.04; letter-spacing:-.045em; color:#111; max-width:900px; margin:0 auto; }
.hd-lead{ font-size:clamp(16px,1.3vw,19px); line-height:1.5; color:#2a2a2a; max-width:520px; margin:22px auto 0; }
.hd-cta{ display:flex; justify-content:center; align-items:center; gap:22px; margin-top:28px; flex-wrap:wrap; }
.hd-btn{ display:inline-flex; align-items:center; gap:0; }
.hd-btn span{ background:#111; color:#fff; padding:16px 30px; border-radius:999px; font-size:14px; font-weight:600; transition:background .3s; }
.hd-btn > svg{ width:50px; height:50px; padding:15px; border-radius:50%; background:#111; color:#fff; margin-left:-4px; transition:transform .4s var(--ease), background .3s; }
.hd-btn:hover span, .hd-btn:hover > svg{ background:var(--pink-deep); }
.hd-btn:hover > svg{ transform:translateX(4px) rotate(-45deg); }
.hd-link{ font-size:14px; font-weight:600; color:#111; border-bottom:1.5px solid #111; padding-bottom:2px; }
.hd-link:hover{ color:var(--pink-deep); border-color:var(--pink-deep); }

.hd-stage{ position:relative; height:clamp(420px, calc(100vh - 430px), 560px); margin-top:clamp(10px,2vh,24px); }
.hd-seal{ position:absolute; left:50%; top:0; width:120px; height:120px; transform:translateX(-110%); z-index:2; }
.hd-seal svg{ width:100%; height:100%; animation:spin 22s linear infinite; }
.hd-seal text{ font-family:var(--body); font-size:11px; font-weight:500; letter-spacing:.14em; fill:#111; }
.hd-seal .mid{ position:absolute; inset:34%; display:flex; align-items:center; justify-content:center; color:#111; }
.hd-seal .mid svg{ width:100%; height:100%; animation:none; }
.hd-person{ position:absolute; left:50%; bottom:0; height:110%; width:auto; max-width:none; transform:translateX(-46%); z-index:1; -webkit-mask-image:linear-gradient(to right, transparent 0, #000 8%); mask-image:linear-gradient(to right, transparent 0, #000 8%); }

.hd-white{ position:absolute; left:0; bottom:0; width:min(46%,600px); height:46%; background:#fff; border-radius:28px 28px 0 0; z-index:2; display:flex; align-items:center; justify-content:flex-end; padding:0 clamp(20px,4vw,70px) 0 0; gap:20px; }
.hd-white b{ display:block; font-size:clamp(44px,4vw,64px); font-weight:700; letter-spacing:-.05em; line-height:1; color:#111; }
.hd-white span{ display:block; font-size:14px; font-weight:600; color:#222; margin-top:8px; line-height:1.35; }
.hd-white .hrt svg{ width:26px; height:26px; fill:#111; stroke:#111; }

.hd-black{ position:absolute; z-index:3; background:#111; color:#fff; border-radius:26px; }
.hd-black.ring{ left:clamp(16px,3vw,60px); bottom:8%; width:clamp(200px,15vw,240px); padding:24px 22px; text-align:center; }
.hd-black.ring p{ font-size:14px; font-weight:600; line-height:1.35; }
.hd-black .dial{ position:relative; width:118px; height:118px; margin:16px auto 14px; }
.hd-black .dial svg{ width:100%; height:100%; }
.hd-black .dial span{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:17px; font-weight:700; }
.hd-black.ring b{ display:block; font-size:clamp(32px,2.6vw,42px); font-weight:700; letter-spacing:-.04em; line-height:1; text-align:left; }
.hd-black.ring small{ display:block; font-size:12.5px; color:#cfcfcf; margin-top:8px; text-align:left; line-height:1.4; }

.hd-clients{ position:absolute; right:clamp(10px,2vw,40px); top:4%; width:clamp(230px,18vw,280px); z-index:3; }
.hd-clients .back{ position:absolute; right:-12px; top:-26px; width:100%; height:100%; border-radius:26px; background:#f4b6c2; }
.hd-clients .card{ position:relative; background:#111; color:#fff; border-radius:26px; padding:30px 28px; transform:rotate(-7deg); }
.hd-clients b{ display:block; font-size:clamp(34px,2.8vw,44px); font-weight:700; letter-spacing:-.04em; line-height:1; }
.hd-clients span{ display:block; font-size:15px; margin-top:6px; color:#e8e8e8; }
.hd-clients .avs{ display:flex; margin-top:20px; }
.hd-clients .avs img, .hd-clients .avs i{ width:50px; height:50px; border-radius:50%; object-fit:cover; border:3px solid #fff; margin-left:-12px; background:#111; }
.hd-clients .avs img:first-child{ margin-left:0; }
.hd-clients .avs i{ display:flex; align-items:center; justify-content:center; font-style:normal; font-size:14px; font-weight:600; color:#fff; }

.hd-tags{ position:absolute; right:clamp(10px,2vw,40px); bottom:8%; z-index:3; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; max-width:340px; }
.hd-tags a{ padding:11px 20px; border-radius:999px; border:1.5px solid #111; font-size:13.5px; font-weight:500; color:#111; background:transparent; transition:background .3s, color .3s; }
.hd-tags a.on, .hd-tags a:hover{ background:#111; color:#fff; }

@media (max-width:1100px){
  .hd-stage{ height:520px; }
  .hd-white{ width:50%; }
  .hd-tags{ max-width:260px; }
  .hd-tags a{ font-size:12.5px; padding:9px 15px; }
}
@media (max-width:760px){
  .hd-panel{ border-radius:0 0 28px 28px; }
  .hd-title{ font-size:10.6vw; }
  .hd-stage{ height:auto; display:grid; grid-template-columns:1fr 1fr; gap:12px; padding-bottom:20px; }
  .hd-seal{ display:none; }
  .hd-person{ position:relative; grid-column:1/-1; left:auto; transform:none; height:auto; width:100%; max-width:360px; margin:0 auto; -webkit-mask-image:linear-gradient(to bottom, #000 85%, transparent); mask-image:linear-gradient(to bottom, #000 85%, transparent); }
  .hd-white, .hd-black.ring, .hd-clients, .hd-tags{ position:relative; left:auto; right:auto; top:auto; bottom:auto; width:auto; height:auto; max-width:none; }
  .hd-white{ border-radius:22px; padding:20px; justify-content:space-between; }
  .hd-black.ring{ padding:18px 14px; }
  .hd-black .dial{ width:90px; height:90px; }
  .hd-clients{ grid-column:1/-1; margin:20px 12px 0 0; }
  .hd-clients .card{ transform:rotate(-3deg); padding:22px; }
  .hd-tags{ grid-column:1/-1; justify-content:flex-start; }
}
.hd-white{ z-index:1; } .hd-person{ z-index:2; } .hd-black, .hd-clients, .hd-tags{ z-index:4; }
.hd-panel{ padding-top:calc(110px + clamp(30px,4vh,56px)); }
.hd-seal{ transform:translateX(-215%); top:2%; width:110px; height:110px; }
.hd-person{ -webkit-mask-image:linear-gradient(to right, transparent 0, #000 8%, #000 90%, transparent 100%), linear-gradient(to bottom, #000 88%, transparent 100%); -webkit-mask-composite:source-in; mask-image:linear-gradient(to right, transparent 0, #000 8%, #000 90%, transparent 100%), linear-gradient(to bottom, #000 88%, transparent 100%); mask-composite:intersect; }
.hd-stage{ height:clamp(380px, calc(100vh - 400px), 560px); }
@media (min-width:761px) and (max-height:760px){
  .hd-title{ font-size:clamp(36px,3.6vw,56px); }
  .hd-lead{ margin-top:14px; } .hd-cta{ margin-top:20px; }
  .hd-black.ring{ padding:16px 18px; } .hd-black .dial{ width:84px; height:84px; margin:10px auto; }
  .hd-black.ring b{ font-size:28px; }
  .hd-clients .card{ padding:20px 22px; } .hd-clients .avs img, .hd-clients .avs i{ width:40px; height:40px; }
  .hd-tags a{ padding:8px 15px; font-size:12.5px; }
}
@media (max-width:760px){ .hd-panel{ padding-top:calc(90px + 24px); } }
@media (max-width:760px){
  .hd-panel{ padding-top:120px; }
  .hd-stage{ height:auto !important; }
  .hd-white b{ font-size:40px; }
}
@media (max-width:760px){ .hd .hd-panel{ margin-top:-96px; padding-top:150px; } .hd-clients{ margin-top:30px; } .hd-tags{ margin-top:8px; } }
/* hero v17: full-bleed panel */
.hd{ padding:0; background:var(--cream); }
.hd .hd-panel{ max-width:none; width:100%; border-radius:0 0 40px 40px; padding-left:clamp(20px,5vw,110px); padding-right:clamp(20px,5vw,110px); }
.hd-stage{ max-width:1700px; margin-left:auto; margin-right:auto; }
.hd-white{ left:calc(-1 * clamp(20px,5vw,110px)); width:calc(min(46%,640px) + clamp(20px,5vw,110px)); border-radius:0 28px 0 0; }
body{ background:var(--cream); }
.hd-stage{ max-width:none; }
/* hero v17 spacing pass: more breathing room */
@media (min-width:761px){
  .hd .hd-panel{ padding-top:calc(110px + clamp(56px,7vh,90px)); }
  .hd-title{ font-size:clamp(40px,3.7vw,66px); line-height:1.08; }
  .hd-lead{ margin-top:26px; }
  .hd-cta{ margin-top:36px; }
  .hd-stage{ height:clamp(560px,62vh,660px) !important; margin-top:clamp(40px,6vh,70px); }
  .hd-seal{ top:-2%; transform:translateX(-260%); }
  .hd-person{ height:104%; }
  .hd-white{ height:40%; padding-right:clamp(30px,5vw,90px); }
  .hd-black.ring{ bottom:12%; left:clamp(30px,5vw,90px); padding:26px 24px; }
  .hd-black .dial{ width:110px; height:110px; margin:18px auto 18px; }
  .hd-clients{ top:2%; right:clamp(30px,4vw,80px); }
  .hd-tags{ bottom:10%; right:clamp(30px,4vw,80px); gap:12px; max-width:360px; }
  .hd-tags a{ padding:11px 20px; font-size:13.5px; }
}
@media (min-width:761px) and (max-height:760px){
  .hd-black .dial{ width:90px; height:90px; margin:12px auto; }
}
@media (min-width:761px) and (max-width:1500px){
  .hd-person{ height:92%; transform:translateX(-44%); }
  .hd-white{ width:calc(36% + clamp(20px,5vw,110px)); justify-content:flex-end; padding-right:28px; }
  .hd-white b{ font-size:46px; } .hd-white .hrt{ display:none; }
  .hd-black.ring{ left:24px; width:200px; }
  .hd-tags{ max-width:290px; right:24px; } .hd-tags a{ font-size:12.5px; padding:9px 15px; }
  .hd-clients{ right:24px; width:230px; }
  .hd-seal{ transform:translateX(-230%); }
}
/* hero v17: always fits one screen on desktop */
@media (min-width:761px){
  .hd .hd-panel{ display:flex; flex-direction:column; height:100vh; min-height:640px; padding-top:calc(110px + 2.5vh); }
  .hd-title{ font-size:clamp(34px, min(3.6vw, 6.4vh), 66px); }
  .hd-lead{ margin-top:1.6vh; font-size:clamp(15px, min(1.2vw, 2vh), 19px); }
  .hd-cta{ margin-top:2.4vh; }
  .hd-btn span{ padding:1.5vh 28px; }
  .hd-btn > svg{ width:max(44px,5.2vh); height:max(44px,5.2vh); padding:13px; }
  .hd-stage{ flex:1; height:auto !important; min-height:0; margin-top:2vh; }
  .hd-person{ height:100%; }
  .hd-seal{ width:min(110px,11vh); height:min(110px,11vh); top:0; }
  .hd-white{ height:42%; }
  .hd-white b{ font-size:clamp(36px, 6vh, 60px); }
  .hd-black.ring{ bottom:6%; padding:2vh 22px; width:clamp(190px, 26vh, 240px); }
  .hd-black.ring p{ font-size:clamp(12px,1.5vh,14px); }
  .hd-black .dial{ width:clamp(70px, 11vh, 110px); height:clamp(70px, 11vh, 110px); margin:1.4vh auto; }
  .hd-black .dial span{ font-size:clamp(13px,1.8vh,17px); }
  .hd-black.ring b{ font-size:clamp(24px, 4vh, 40px); }
  .hd-black.ring small{ font-size:clamp(11px,1.3vh,12.5px); }
  .hd-clients{ top:0; width:clamp(200px, 28vh, 270px); }
  .hd-clients .card{ padding:2.6vh 24px; }
  .hd-clients b{ font-size:clamp(28px, 4.4vh, 42px); }
  .hd-clients .avs{ margin-top:1.8vh; }
  .hd-clients .avs img, .hd-clients .avs i{ width:clamp(34px,5vh,48px); height:clamp(34px,5vh,48px); }
  .hd-tags{ bottom:6%; gap:1vh 10px; }
  .hd-tags a{ padding:1.1vh 18px; font-size:clamp(12px,1.45vh,13.5px); }
}
@media (min-width:761px){ .hd-stage{ width:100%; align-self:stretch; } .hd .hd-panel{ padding-top:calc(118px + 4vh); } .hd-title{ font-size:clamp(32px, min(3.4vw, 5.6vh), 64px); } }
@media (min-width:761px){ .hd .hd-panel{ padding-top:calc(126px + 4vh); } }
/* hero v17 polish: logo seal + stat cards */
.hd-seal{ width:min(124px,13vh) !important; height:min(124px,13vh) !important; }
.hd-seal svg{ position:absolute; inset:0; }
.hd-seal text{ font-size:10px; font-weight:700; letter-spacing:.2em; fill:var(--pink-ink); text-transform:uppercase; }
.hd-seal img{ position:absolute; inset:24%; width:52%; height:52%; border-radius:50%; object-fit:cover; box-shadow:0 0 0 4px #fff, 0 14px 26px -12px rgba(140,20,70,.6); }

.hd-white{ align-items:center; }
.hd-white .roas{ width:min(300px,100%); }
.hd-white .roas .lbl{ display:inline-flex; align-items:center; gap:7px; padding:6px 12px 6px 8px; border-radius:999px; background:#fdeaf0; font-size:11.5px; font-weight:600; color:var(--pink-ink); }
.hd-white .roas .lbl svg{ width:14px; height:14px; }
.hd-white .roas .row{ display:flex; align-items:baseline; gap:12px; margin-top:1.2vh; }
.hd-white .roas b{ font-size:clamp(40px,6vh,62px) !important; margin:0; }
.hd-white .roas .up{ display:inline-block; margin:0; padding:4px 10px; border-radius:999px; background:#e9f8ef; color:#15803d; font-size:11.5px; font-weight:700; }
.hd-white .roas .spk{ display:block; width:100%; height:clamp(28px,4.4vh,44px); margin-top:1vh; }
.hd-white .roas .cap{ display:block; font-size:12px; color:#7a6670; font-weight:500; margin-top:.6vh; }

.hd-black.ring{ text-align:left; background:linear-gradient(160deg,#1c1418,#0e0a0c); box-shadow:0 30px 60px -30px rgba(43,15,29,.7); }
.hd-black .top{ display:flex; gap:10px; align-items:center; }
.hd-black .top .ic{ width:34px; height:34px; border-radius:10px; background:rgba(255,92,138,.18); color:var(--pink); display:flex; align-items:center; justify-content:center; flex:none; }
.hd-black .top .ic svg{ width:16px; height:16px; }
.hd-black .top > span:last-child{ font-size:13.5px; font-weight:600; line-height:1.2; }
.hd-black .top small{ display:block; font-size:11px; font-weight:500; color:#a99aa1; }
.hd-black .dial span{ flex-direction:column; }
.hd-black .dial span b{ font-size:clamp(16px,2.3vh,22px) !important; font-weight:700; letter-spacing:-.03em; text-align:center; }
.hd-black .dial span small{ font-size:10px; color:#a99aa1; margin-top:2px !important; }
.hd-black .from{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding-top:1.2vh; border-top:1px solid rgba(255,255,255,.1); }
.hd-black .from span{ font-size:13px; color:#a99aa1; text-decoration:line-through; }
.hd-black .from svg{ width:16px; height:16px; color:var(--pink); }
.hd-black .from b{ font-size:clamp(20px,3vh,28px) !important; font-weight:700; color:#fff; letter-spacing:-.03em; }
@media (min-width:761px){
  .hd-white{ width:calc(min(48%,700px) + clamp(20px,5vw,110px)); padding-right:clamp(24px,3vw,48px) !important; }
  .hd-white .roas{ width:clamp(200px,15vw,260px); }
  .hd-white .roas .lbl{ font-size:10.5px; }
  .hd-white .roas b{ font-size:clamp(36px,5.4vh,54px) !important; }
  .hd-black.ring{ width:clamp(190px,24vh,220px); }
  .hd-black .dial span b{ font-size:clamp(14px,2vh,18px) !important; }
}
.hd-seal text{ font-size:9.2px; letter-spacing:.16em; }
@media (min-width:761px) and (max-width:1500px){ .hd-white{ width:calc(44% + clamp(20px,5vw,110px)); } .hd-white .roas{ width:190px; } .hd-white .roas .cap{ display:none; } }
/* HQ floating portrait */
.hd-halo{ position:absolute; left:50%; bottom:0; width:min(560px,46vh*1.2); aspect-ratio:1; transform:translateX(-50%); border-radius:50%; z-index:1;
  background:radial-gradient(circle at 50% 40%, #fff 0%, rgba(255,255,255,.55) 38%, rgba(255,193,214,.0) 70%); }
.hd-person{ transform:translateX(-50%) !important; height:104% !important; -webkit-mask-image:linear-gradient(to bottom, #000 90%, transparent 100%) !important; mask-image:linear-gradient(to bottom, #000 90%, transparent 100%) !important;
  filter:drop-shadow(0 28px 36px rgba(140,20,70,.22)) drop-shadow(0 4px 10px rgba(140,20,70,.12)); animation:floaty 7s ease-in-out infinite; }
@keyframes floaty{ 50%{ translate:0 -8px; } }
@media (max-width:760px){ .hd-person{ transform:none !important; height:auto !important; } .hd-halo{ display:none; } }
@media (prefers-reduced-motion:reduce){ .hd-person{ animation:none; } }
.hd-person{ filter:none !important; }
.hd-halo{ background:radial-gradient(circle at 50% 45%, rgba(255,255,255,.7) 0%, rgba(255,255,255,.25) 45%, rgba(255,255,255,0) 68%) !important; }
.hd-halo::after{ content:""; position:absolute; left:18%; right:18%; bottom:-2%; height:10%; border-radius:50%; background:radial-gradient(closest-side, rgba(140,20,70,.18), transparent); }
/* hero: fading client review card */
.hd-clients .rv-card{ display:grid; grid-template-columns:clamp(84px,11vh,112px) 1fr; gap:16px; align-items:center; padding:14px 18px 14px 14px !important; color:#fff; }
.rv-stack{ position:relative; aspect-ratio:9/14; border-radius:16px; overflow:hidden; background:#2a2025; }
.rv-v{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.06); transition:opacity 1.1s ease, transform 5s ease; }
.rv-v.on{ opacity:1; transform:scale(1); }
.rv-meta{ min-width:0; }
.rv-live{ display:inline-flex; align-items:center; gap:7px; font-size:10.5px !important; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--blush) !important; margin:0 !important; }
.rv-live i{ width:7px; height:7px; border-radius:50%; background:#22c55e; box-shadow:0 0 0 3px rgba(34,197,94,.2); }
.rv-name{ display:block; font-size:clamp(15px,2.1vh,19px) !important; font-weight:700; letter-spacing:-.02em; line-height:1.2 !important; margin-top:8px; animation:rvIn .8s ease; }
.rv-biz{ display:block; font-size:12px !important; color:#bfaeb6 !important; margin-top:2px !important; }
.rv-dots{ display:flex; gap:5px; margin-top:12px; }
.rv-dots i{ width:6px; height:6px; border-radius:6px; background:rgba(255,255,255,.25); transition:width .4s, background .4s; }
.rv-dots i.on{ width:18px; background:var(--pink); }
.rv-count{ grid-column:1/-1; display:flex !important; justify-content:space-between; align-items:center; margin:2px 0 0 !important; padding-top:10px; border-top:1px solid rgba(255,255,255,.1); font-size:12px !important; color:#bfaeb6 !important; }
.rv-count b{ display:inline !important; font-size:16px !important; color:#fff; }
.rv-count::after{ content:"Watch →"; color:var(--pink); font-weight:600; }
.hd-clients{ width:clamp(270px,22vw,320px) !important; }
@keyframes rvIn{ from{ opacity:0; transform:translateY(4px); } }
@media (max-width:760px){ .hd-clients{ width:auto !important; } }
.rv-count{ justify-content:flex-start !important; gap:6px; }
.rv-count::after{ margin-left:auto; }
/* hero: review gadget (phone) */
.hd-gadget{ width:auto !important; top:-2% !important; right:clamp(40px,6vw,130px) !important; display:flex; align-items:center; }
.gd-phone{ position:relative; display:block; width:clamp(150px,21vh,200px); aspect-ratio:9/19; border-radius:clamp(26px,3.6vh,34px); padding:7px; transform:rotate(6deg);
  background:linear-gradient(145deg,#3a3036,#111 35%,#2a2226 70%,#0b0b0b); box-shadow:0 40px 60px -26px rgba(43,15,29,.6), inset 0 0 0 1.5px #5a4a52, inset 0 0 0 3px #0b0b0b; transition:transform .5s var(--ease); }
.gd-phone:hover{ transform:rotate(3deg) translateY(-4px); }
.gd-btn{ position:absolute; width:3px; border-radius:3px; background:#2a2226; }
.gd-btn.b1{ left:-2px; top:22%; height:8%; } .gd-btn.b2{ left:-2px; top:33%; height:12%; } .gd-btn.b3{ right:-2px; top:28%; height:16%; }
.gd-screen{ position:relative; width:100%; height:100%; border-radius:clamp(20px,3vh,28px); overflow:hidden; background:#1a1216; }
.gd-screen .rv-stack{ position:absolute; inset:0; aspect-ratio:auto; border-radius:0; }
.gd-screen::after{ content:""; position:absolute; inset:0; background:linear-gradient(to bottom, rgba(0,0,0,.45), transparent 24%, transparent 55%, rgba(0,0,0,.75)); pointer-events:none; }
.gd-island{ position:absolute; top:7px; left:50%; width:34%; height:13px; border-radius:10px; background:#000; transform:translateX(-50%); z-index:3; }
.gd-bars{ position:absolute; top:26px; left:8px; right:8px; z-index:3; display:flex; gap:3px; margin:0 !important; }
.gd-bars i{ flex:1; height:2.5px !important; width:auto !important; border-radius:3px; background:rgba(255,255,255,.35) !important; overflow:hidden; position:relative; }
.gd-bars i.on{ background:rgba(255,255,255,.35) !important; }
.gd-bars i.on::after{ content:""; position:absolute; inset:0; background:#fff; transform-origin:left; animation:gdbar 5s linear forwards; }
@keyframes gdbar{ from{ transform:scaleX(0); } }
.gd-top{ position:absolute; top:36px; left:9px; right:9px; z-index:3; display:flex; align-items:center; gap:6px; color:#fff; font-size:10px; font-weight:600; }
.gd-top img{ width:20px; height:20px; border-radius:50%; box-shadow:0 0 0 1.5px var(--pink); }
.gd-top em{ margin-left:auto; font-style:normal; font-size:8.5px; padding:2px 6px; border-radius:6px; background:var(--pink); }
.gd-side{ position:absolute; right:7px; bottom:28%; z-index:3; display:flex; flex-direction:column; gap:10px; color:#fff; font-size:9px; font-weight:600; text-align:center; }
.gd-side span{ display:flex; flex-direction:column; align-items:center; gap:2px; }
.gd-side svg{ width:17px; height:17px; }
.gd-side span:first-child svg{ fill:#ff5c8a; stroke:#ff5c8a; }
.gd-cap{ position:absolute; left:10px; right:34px; bottom:12px; z-index:3; color:#fff; }
.gd-cap .rv-name{ font-size:clamp(12px,1.6vh,14px) !important; margin:0 !important; }
.gd-cap .rv-biz{ font-size:10px !important; color:#f1dfe6 !important; }
.gd-chip{ position:relative; z-index:1; margin-left:-18px; padding:14px 18px 14px 30px; border-radius:0 18px 18px 0; background:#fff; box-shadow:0 20px 40px -26px rgba(43,15,29,.45); display:flex; flex-direction:column; }
.gd-chip .rv-live{ color:var(--pink-ink) !important; font-size:9.5px !important; }
.gd-chip b{ font-size:clamp(24px,3.4vh,32px); font-weight:700; letter-spacing:-.04em; line-height:1.1; margin-top:4px; color:var(--ink); }
.gd-chip > span:last-child{ font-size:12px; color:var(--muted); }
.gd-phone{ order:2; } .gd-chip{ order:1; margin-left:0; margin-right:-18px; padding:14px 30px 14px 18px; border-radius:18px 0 0 18px; }
@media (max-width:760px){ .hd-gadget{ justify-content:center; margin-top:10px !important; } .gd-phone{ width:170px; } }
.gd-phone{ width:clamp(130px,17vh,170px); padding:6px; }
.hd-gadget{ top:0 !important; }
.gd-chip{ align-self:center; }
.gd-chip .rv-live{ display:inline-flex; }
@media (min-width:761px){
  .gd-phone{ width:clamp(118px, calc((100vh - 620px) * .47), 170px); }
  .gd-cap .rv-biz{ display:none; }
}
@media (min-width:761px) and (max-height:820px){ .hd-tags{ display:none; } .hd-gadget{ top:6% !important; } .gd-phone{ width:clamp(130px, calc((100vh - 420px) * .47), 170px); } }
/* client marquee: clean, bold, no icons */
.st-clients{ padding:44px 0 42px; }
.st-clients .tiny{ font-size:11px; font-weight:700; letter-spacing:.24em; color:#8a7880; margin-bottom:22px; }
.st-mq span{ gap:clamp(48px,5vw,84px); padding-right:clamp(48px,5vw,84px); font-size:clamp(20px,1.7vw,26px); font-weight:800; letter-spacing:-.035em; color:var(--ink); }
.st-mq span i{ display:none; }
.st-mq .track{ animation-duration:55s; }
.st-mq:hover .track{ animation-play-state:paused; }
.st-mq span em{ font-style:normal; }
/* How it works: plain, minimal */
#process{ background:#fff; }
#process .kicker::before{ display:none; }
#process .kicker{ color:var(--muted); }
#process h2{ font-size:clamp(36px,4.2vw,64px); }
#process h2 .serif{ font-family:var(--body); font-style:normal; font-weight:700; color:var(--pink-deep); font-size:1em; letter-spacing:-.045em; }
.st-steps{ gap:0; border-top:1.5px solid var(--ink); }
.st-step{ background:none; border:none; border-radius:0; padding:28px 28px 8px 0; box-shadow:none !important; transform:none !important; }
.st-step + .st-step{ padding-left:28px; border-left:1px solid #eadfe3; }
.st-step .top{ margin-bottom:28px; }
.st-step .ic{ width:auto; height:auto; background:none; box-shadow:none; transform:none; color:var(--ink); order:2; }
.st-step .ic svg{ width:22px; height:22px; stroke-width:1.6; }
.st-step .top b{ order:1; font-size:14px; font-weight:700; letter-spacing:.08em; color:var(--pink-deep); }
.st-step h3{ font-size:19px; letter-spacing:-.025em; }
.st-step p{ font-size:14.5px; margin-bottom:16px; }
.st-step .chip{ background:none; padding:0; color:var(--muted); font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.st-strip{ margin-top:48px; border:none; border-top:1px solid #eadfe3; border-radius:0; background:none; padding:28px 0 0; }
.st-strip .btn-pink{ background:var(--ink); box-shadow:none; }
.st-strip .btn-pink:hover{ background:var(--pink-deep); }
@media (max-width:1100px){ .st-step:nth-child(3n+1){ border-left:none; padding-left:0; } .st-steps{ row-gap:20px; } }
@media (max-width:640px){ .st-step, .st-step + .st-step{ border-left:none; padding:22px 0 6px; border-bottom:1px solid #eadfe3; } }
.st-step .ic svg[fill="currentColor"]{ fill:none; stroke:currentColor; stroke-width:1.4; }
/* marquee glow */
.st-clients .tiny{ display:inline-block; background:linear-gradient(90deg, #8a7880 0%, #8a7880 35%, #ff5c8a 50%, #d4af37 58%, #8a7880 72%, #8a7880 100%); background-size:250% 100%; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; filter:drop-shadow(0 0 10px rgba(255,92,138,.35)); animation:glowSweep 4.5s ease-in-out infinite; }
@keyframes glowSweep{ 0%{ background-position:100% 0; } 100%{ background-position:-50% 0; } }
.st-mq span em{ text-shadow:0 0 22px rgba(255,92,138,.28), 0 0 2px rgba(255,92,138,.15); transition:color .3s, text-shadow .3s; }
.st-mq span em:hover{ color:var(--pink-deep); text-shadow:0 0 26px rgba(255,92,138,.6); }
.st-clients{ background:radial-gradient(60% 120% at 50% 0%, rgba(255,193,214,.35), transparent 70%), #fff; }
@media (prefers-reduced-motion:reduce){ .st-clients .tiny{ animation:none; background-position:50% 0; } }
/* hero gadget: life */
.hd-gadget{ isolation:isolate; }
.gd-phone{ animation:gdFloat 6s ease-in-out infinite; }
@keyframes gdFloat{ 0%,100%{ transform:rotate(6deg) translateY(0); } 50%{ transform:rotate(4deg) translateY(-10px); } }
.gd-phone:hover{ animation-play-state:paused; }
.gd-screen::before{ content:""; position:absolute; inset:0; z-index:4; pointer-events:none; background:linear-gradient(115deg, transparent 30%, rgba(255,255,255,.28) 45%, transparent 60%); transform:translateX(-120%); animation:gdShine 5s ease-in-out infinite; }
@keyframes gdShine{ 0%,60%{ transform:translateX(-120%); } 85%,100%{ transform:translateX(120%); } }
.gd-chip{ animation:gdChip 6s ease-in-out infinite; animation-delay:-2s; }
@keyframes gdChip{ 50%{ transform:translateY(6px); } }
.gd-chip .rv-live i{ animation:pulse 1.6s ease-in-out infinite; }
.gd-hearts{ position:absolute; right:0; top:0; width:clamp(130px,17vh,170px); height:100%; pointer-events:none; z-index:5; }
.gd-hearts i{ position:absolute; bottom:22%; font-style:normal; line-height:1; text-shadow:0 4px 10px rgba(255,92,138,.4); animation:gdRise 3.2s ease-out forwards; }
@keyframes gdRise{ 0%{ opacity:0; transform:translate(0,0) scale(.5); } 15%{ opacity:1; transform:translate(0,-20px) scale(1); } 100%{ opacity:0; transform:translate(var(--dx),-190px) scale(.9) rotate(15deg); } }
.gd-toast{ position:absolute; z-index:6; right:clamp(60px,9vh,100px); top:-18px; display:flex; align-items:center; gap:8px; padding:8px 14px; border-radius:999px; background:#fff; box-shadow:0 16px 30px -16px rgba(43,15,29,.5); font-size:12px; font-weight:600; color:var(--ink); white-space:nowrap; animation:gdToast 7s ease-in-out infinite; }
.gd-toast .st{ color:#d4af37; letter-spacing:1px; font-size:11px; }
@keyframes gdToast{ 0%,8%{ opacity:0; translate:0 10px; } 14%,60%{ opacity:1; translate:0 0; } 68%,100%{ opacity:0; translate:0 -8px; } }
.hd-tags a{ transition:background .3s, color .3s, transform .35s var(--ease), box-shadow .35s; }
.hd-tags a:hover{ transform:translateY(-3px); box-shadow:0 10px 20px -12px rgba(43,15,29,.5); }
.hd-tags a.on{ animation:tagGlow 2.6s ease-in-out infinite; }
@keyframes tagGlow{ 50%{ box-shadow:0 0 0 6px rgba(255,92,138,.15); } }
@media (prefers-reduced-motion:reduce){ .gd-phone, .gd-chip, .gd-toast, .hd-tags a.on, .gd-screen::before{ animation:none; } .gd-toast{ opacity:1; } }
/* reviews: professional */
.rvx{ background:#fff; padding:110px 0 100px; }
.rvx .kicker{ color:var(--muted); } .rvx .kicker::before{ display:none; }
.rvx-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:40px; padding-bottom:32px; margin-bottom:36px; border-bottom:1.5px solid var(--ink); }
.rvx h2{ font-size:clamp(34px,3.8vw,58px); letter-spacing:-.045em; }
.rvx h2 .serif{ font-family:var(--body); font-style:normal; font-weight:700; color:var(--pink-deep); font-size:1em; letter-spacing:-.045em; }
.rvx-side{ display:flex; align-items:center; gap:28px; }
.rvx-side p{ max-width:260px; font-size:15px; color:var(--muted); line-height:1.5; }
.rvx .sn{ width:46px; height:46px; border:1px solid #e3d6db; }
.rvx .sn:hover{ background:var(--ink); border-color:var(--ink); color:#fff; }
.rvx .st-rvws{ gap:20px; padding-bottom:6px; }
.rvx .st-rvws .rvw{ width:clamp(230px,17vw,270px); border-radius:18px; aspect-ratio:9/15; background:#f4eef0; }
.rvx .rvw::after{ background:linear-gradient(to top, rgba(20,10,15,.72), transparent 40%); }
.rvx .rvw-play{ width:48px; height:48px; margin:0; top:auto; left:auto; right:16px; bottom:16px; background:rgba(255,255,255,.95); color:var(--ink); box-shadow:0 8px 20px -8px rgba(0,0,0,.5); }
.rvx .rvw-play svg{ width:16px; height:16px; }
.rvx .rvw:hover .rvw-play{ background:var(--pink-deep); color:#fff; transform:scale(1.06); }
.rvx .rvw figcaption{ left:16px; right:76px; bottom:18px; }
.rvx .rvw figcaption .tiny{ color:rgba(255,255,255,.75); font-size:10px; letter-spacing:.16em; }
.rvx .rvw figcaption b{ font-family:var(--body); font-weight:700; font-size:15px; letter-spacing:-.01em; margin-top:4px; }
.rvx .rvw figcaption span:not(.tiny){ font-size:12.5px; color:rgba(255,255,255,.8); }
@media (max-width:760px){ .rvx-head{ flex-direction:column; align-items:flex-start; gap:18px; } .rvx-side p{ max-width:none; } .rvx .st-rvws .rvw{ width:68vw; } }
/* ===== hero 3D layer ===== */
.hd-panel{ background:radial-gradient(60% 50% at 50% 100%, #ffd0de 0%, transparent 70%), radial-gradient(40% 40% at 10% 20%, #ffeef3 0%, transparent 70%), radial-gradient(35% 45% at 92% 30%, #ffd6e3 0%, transparent 70%), #fde0e7 !important; }
.hd-orbs{ position:absolute; inset:0; pointer-events:none; z-index:0; overflow:hidden; }
.orb{ position:absolute; border-radius:50%; background:radial-gradient(circle at 32% 28%, #fff 0%, #ffd1df 18%, #ff7aa0 55%, #c2185b 100%); box-shadow:inset -10px -14px 30px rgba(120,10,50,.35), 0 30px 50px -20px rgba(194,24,91,.45); animation:orbFloat 9s ease-in-out infinite; }
.orb.o1{ width:90px; height:90px; left:8%; top:24%; }
.orb.o2{ width:44px; height:44px; left:30%; top:16%; animation-delay:-3s; background:radial-gradient(circle at 32% 28%, #fff 0%, #fff4d6 18%, #e7c35c 55%, #9c7a1c 100%); box-shadow:inset -6px -8px 16px rgba(90,60,0,.35), 0 20px 30px -14px rgba(160,120,20,.5); }
.orb.o3{ width:64px; height:64px; right:26%; top:14%; animation-delay:-5s; opacity:.92; }
.orb.o4{ width:28px; height:28px; right:6%; top:44%; animation-delay:-1s; }
.torus{ position:absolute; border-radius:50%; }
.torus.t1{ width:150px; height:150px; right:12%; bottom:14%; border:16px solid transparent; background:linear-gradient(#fde0e7,#fde0e7) padding-box, conic-gradient(from 210deg, #fff6dc, #d4af37, #8f6a20, #f6dc8a, #fff6dc) border-box; box-shadow:0 30px 40px -24px rgba(140,100,20,.55), inset 0 6px 12px rgba(255,255,255,.6); transform:rotateX(62deg) rotateZ(-20deg); opacity:.95; }
.pill3d{ position:absolute; width:120px; height:46px; border-radius:999px; left:20%; bottom:30%; background:linear-gradient(180deg,#ffb3c9 0%,#ff5c8a 55%,#d6336b 100%); box-shadow:inset 0 8px 10px rgba(255,255,255,.55), inset 0 -8px 14px rgba(120,10,50,.35), 0 26px 34px -18px rgba(194,24,91,.55); transform:rotate(-24deg); }
.cube{ position:absolute; width:46px; height:46px; left:40%; bottom:44%; transform-style:preserve-3d; transform:rotateX(-22deg) rotateY(38deg); animation:cubeSpin 14s linear infinite; }
.cube i{ position:absolute; inset:0; border-radius:8px; }
.cube i:nth-child(1){ background:linear-gradient(135deg,#fff,#ffc1d6); transform:translateZ(23px); }
.cube i:nth-child(2){ background:linear-gradient(135deg,#ff8fb0,#e0336b); transform:rotateY(90deg) translateZ(23px); }
.cube i:nth-child(3){ background:linear-gradient(135deg,#ffd6e3,#ff7aa0); transform:rotateX(90deg) translateZ(23px); }
@keyframes orbFloat{ 50%{ transform:translateY(-14px); } }
@keyframes cubeSpin{ to{ transform:rotateX(-22deg) rotateY(398deg); } }
.hd-head, .hd-stage{ position:relative; z-index:2; }
/* deeper card shadows / depth */
.hd-black.ring{ box-shadow:0 2px 0 rgba(255,255,255,.06) inset, 0 40px 70px -30px rgba(43,15,29,.75), 0 12px 24px -12px rgba(43,15,29,.5); transition:transform .2s linear; transform-style:preserve-3d; }
.hd-white .roas{ transition:transform .2s linear; }
.gd-chip{ box-shadow:0 30px 50px -24px rgba(43,15,29,.5), 0 8px 16px -10px rgba(43,15,29,.3); }
.hd-btn span, .hd-btn > svg{ box-shadow:0 14px 26px -12px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.18); }
.hd-title{ text-shadow:0 1px 0 #fff, 0 18px 40px rgba(194,24,91,.12); }
@media (max-width:1100px){ .orb.o1, .pill3d, .cube{ display:none; } }
@media (max-width:760px){ .hd-orbs{ display:none; } }
@media (prefers-reduced-motion:reduce){ .orb, .cube{ animation:none; } }
.hd-title{ text-shadow:none; }
.orb.o2{ left:24%; top:38%; }
.orb.o3{ right:9%; top:20%; width:56px; height:56px; }
.orb.o4{ right:4%; top:62%; }
.torus.t1{ width:120px; height:120px; border-width:13px; left:17%; right:auto; top:48%; bottom:auto; }
.pill3d{ left:auto; right:28%; bottom:auto; top:30%; width:90px; height:34px; transform:rotate(28deg); }
.hd-seal{ left:clamp(140px,24%,460px) !important; top:2% !important; }
@media (min-width:761px) and (max-width:1500px){ .hd-seal{ left:22% !important; } }
@media (max-width:1500px){ .pill3d{ display:none; } .torus.t1{ left:20%; top:40%; width:96px; height:96px; } }
/* right column: aligned stack */
@media (min-width:761px){
  .hd-right{ position:absolute; right:clamp(30px,4vw,80px); top:0; bottom:6%; z-index:4; display:flex; flex-direction:column; align-items:flex-end; justify-content:space-between; gap:22px; }
  .hd-right .hd-gadget, .hd-right .hd-tags{ position:relative !important; top:auto !important; right:auto !important; bottom:auto !important; }
  .hd-right .hd-gadget{ align-items:center; }
  .hd-right .hd-tags{ max-width:340px; justify-content:flex-end; margin:0; }
  .gd-phone{ transform:none; animation-name:gdFloat2; }
  @keyframes gdFloat2{ 50%{ transform:translateY(-8px); } }
  .gd-hearts{ right:0; }
  .gd-toast{ right:auto; left:50%; transform:translateX(-50%); top:-14px; }
  .gd-chip{ margin-right:-14px; }
}
@media (min-width:761px) and (max-height:820px){ .hd-right .hd-tags{ display:none; } .hd-right{ justify-content:center; } }
@media (max-width:760px){ .hd-right{ display:contents; } }
@media (min-width:761px){
  .gd-chip{ margin-right:14px !important; border-radius:18px !important; padding:14px 18px !important; }
  .hd-right .hd-gadget{ gap:0; }
  .gd-toast{ top:-46px; }
}
@media (min-width:761px) and (max-width:1640px){
  .hd-person{ height:94% !important; }
  .hd-white{ width:calc(40% + clamp(20px,5vw,110px)) !important; }
  .hd-white .roas{ width:190px !important; } .hd-white .roas .cap{ display:none; }
  .hd-white .roas .lbl{ font-size:10px; }
}
@media (min-width:761px) and (max-width:1640px){ .hd-white .roas .up{ white-space:nowrap; } .hd-white .roas .row{ flex-wrap:nowrap; } }
/* portrait polish: soft edges + backdrop */
@media (min-width:761px){
  .hd-halo{ width:clamp(380px, 62vh, 620px) !important; bottom:-6% !important; background:radial-gradient(circle at 50% 42%, #fff 0%, rgba(255,240,245,.9) 30%, rgba(255,214,227,.55) 52%, rgba(255,193,214,0) 70%) !important; }
  .hd-person{ height:100% !important; left:50% !important; transform:translateX(-50%) !important;
    -webkit-mask-image:linear-gradient(to right, transparent 0%, #000 7%, #000 84%, transparent 99%), linear-gradient(to bottom, #000 78%, transparent 100%) !important; -webkit-mask-composite:source-in !important;
    mask-image:linear-gradient(to right, transparent 0%, #000 7%, #000 84%, transparent 99%), linear-gradient(to bottom, #000 78%, transparent 100%) !important; mask-composite:intersect !important; }
  .hd-white{ border-radius:0 32px 0 0 !important; -webkit-mask-image:linear-gradient(to right, #000 85%, transparent 100%); mask-image:linear-gradient(to right, #000 85%, transparent 100%); }
  .hd-panel::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:90px; z-index:3; pointer-events:none; background:linear-gradient(to bottom, rgba(253,224,231,0), rgba(253,224,231,.0)); }
}
.hd-head{ z-index:6 !important; }
@media (min-width:761px){ .hd-halo{ width:clamp(340px,52vh,540px) !important; bottom:-4% !important; background:radial-gradient(circle at 50% 50%, rgba(255,255,255,.85) 0%, rgba(255,240,245,.6) 34%, rgba(255,214,227,.25) 55%, rgba(255,193,214,0) 70%) !important; } }
/* filler: booking widget between portrait and right column */
.hd-book{ position:absolute; z-index:4; left:calc(50% + clamp(150px,13vw,230px)); bottom:9%; display:flex; align-items:center; gap:12px; padding:12px 16px 12px 12px; border-radius:20px; background:rgba(255,255,255,.88); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,.9); box-shadow:0 26px 50px -26px rgba(43,15,29,.45); color:var(--ink); animation:bookBob 7s ease-in-out infinite; transition:transform .4s var(--ease); }
.hd-book:hover{ transform:translateY(-4px); }
@keyframes bookBob{ 50%{ translate:0 -8px; } }
.hd-book .ic{ width:42px; height:42px; border-radius:12px; background:linear-gradient(135deg,#ff7aa0,#e0336b); color:#fff; display:flex; align-items:center; justify-content:center; flex:none; box-shadow:inset 0 1px 0 rgba(255,255,255,.4); }
.hd-book .ic svg{ width:20px; height:20px; }
.hd-book .tx{ display:flex; flex-direction:column; line-height:1.25; }
.hd-book small{ display:inline-flex; align-items:center; gap:6px; font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#15803d; }
.hd-book small .live{ width:7px; height:7px; animation:pulse 1.6s ease-in-out infinite; }
.hd-book b{ font-size:14.5px; font-weight:700; letter-spacing:-.02em; margin-top:2px; }
.hd-book em{ font-style:normal; font-size:11.5px; color:var(--muted); }
.hd-book .days{ display:flex; gap:4px; margin-left:6px; }
.hd-book .days i{ width:22px; height:26px; border-radius:7px; display:flex; align-items:center; justify-content:center; font-style:normal; font-size:10px; font-weight:700; color:#b9a7af; background:#f7eef1; }
.hd-book .days i.on{ background:var(--ink); color:#fff; }
.hd-mini-orb{ position:absolute; z-index:3; left:calc(50% + clamp(190px,16vw,290px)); bottom:30%; width:34px; height:34px; border-radius:50%; background:radial-gradient(circle at 32% 28%, #fff 0%, #fff4d6 18%, #e7c35c 55%, #9c7a1c 100%); box-shadow:inset -5px -7px 14px rgba(90,60,0,.35), 0 16px 24px -12px rgba(160,120,20,.5); animation:orbFloat 8s ease-in-out infinite; }
@media (max-width:1640px){ .hd-book .days{ display:none; } .hd-book{ left:calc(50% + 140px); } .hd-mini-orb{ left:calc(50% + 170px); } }
@media (max-width:1100px){ .hd-book, .hd-mini-orb{ display:none; } }
@media (prefers-reduced-motion:reduce){ .hd-book{ animation:none; } }
.hd-book .days{ display:none !important; }
.hd-book{ bottom:auto !important; top:52%; left:calc(50% + clamp(140px,11.5vw,230px)) !important; }
.hd-mini-orb{ bottom:auto !important; top:40%; left:calc(50% + clamp(170px,14vw,280px)) !important; }
@media (max-width:1640px){ .hd-book{ left:calc(50% + 118px) !important; top:56%; } .hd-mini-orb{ left:calc(50% + 150px) !important; top:44%; } }
/* ===== hero center: 3D phone showcase ===== */
.hd-show{ position:absolute; left:50%; bottom:0; height:100%; width:clamp(320px,34vw,560px); transform:translateX(-50%); z-index:2; perspective:1400px; }
.sh-glow{ position:absolute; left:50%; bottom:-10%; width:120%; aspect-ratio:1; transform:translateX(-50%); border-radius:50%; background:radial-gradient(circle, rgba(255,255,255,.85) 0%, rgba(255,214,227,.45) 40%, transparent 68%); }
.sh-phone{ position:absolute; left:50%; bottom:-6%; height:104%; aspect-ratio:9/18.5; transform:translateX(-50%) rotateY(-14deg) rotateX(6deg) rotateZ(4deg); transform-style:preserve-3d; border-radius:clamp(30px,4.6vh,46px); padding:9px; background:linear-gradient(150deg,#3a2f35,#0f0b0d 40%,#2b2226 75%,#0b0b0b); box-shadow:-30px 50px 80px -30px rgba(43,15,29,.6), 0 0 0 1.5px #5a4a52 inset, 0 0 0 4px #0b0b0b inset; display:flex; flex-direction:column; overflow:hidden; animation:shFloat 7s ease-in-out infinite; }
@keyframes shFloat{ 50%{ translate:0 -10px; } }
.sh-phone .island{ position:absolute; top:16px; left:50%; width:32%; height:20px; border-radius:20px; background:#000; transform:translateX(-50%); z-index:3; }
.sh-top{ display:flex; align-items:center; gap:9px; background:#fff; padding:42px 14px 12px; border-radius:clamp(22px,3.8vh,38px) clamp(22px,3.8vh,38px) 0 0; }
.sh-top img{ width:32px; height:32px; border-radius:50%; box-shadow:0 0 0 2px #fff, 0 0 0 3.5px var(--pink); }
.sh-top span{ font-size:10.5px; color:var(--muted); line-height:1.25; }
.sh-top b{ display:block; font-size:13px; color:var(--ink); }
.sh-feed{ flex:1; overflow:hidden; background:#fff7fa; -webkit-mask-image:linear-gradient(#000 80%, transparent); mask-image:linear-gradient(#000 80%, transparent); }
.sh-feed .fd-track{ animation-duration:40s; }
.sh-card{ position:absolute; z-index:-1; width:44%; border-radius:20px; overflow:hidden; background:#fff; padding:8px 8px 12px; box-shadow:0 30px 50px -28px rgba(43,15,29,.5); }
.sh-card img{ width:100%; aspect-ratio:4/4.4; object-fit:cover; border-radius:14px; }
.sh-card span{ display:block; font-size:11px; color:var(--muted); margin-top:8px; padding:0 4px; }
.sh-card b{ display:block; font-size:16px; color:var(--ink); letter-spacing:-.02em; }
.sh-card.left{ left:-4%; top:18%; transform:rotate(-10deg); animation:shL 8s ease-in-out infinite; }
.sh-card.right{ right:-4%; top:30%; transform:rotate(9deg); animation:shR 9s ease-in-out infinite; }
@keyframes shL{ 50%{ translate:-6px -10px; } } @keyframes shR{ 50%{ translate:6px -8px; } }
.sh-like{ position:absolute; z-index:3; right:14%; bottom:22%; display:inline-flex; align-items:center; gap:6px; padding:8px 14px; border-radius:999px; background:var(--pink); color:#fff; font-size:13px; font-weight:700; box-shadow:0 14px 28px -12px rgba(255,92,138,.9); animation:bob 5s ease-in-out infinite; }
.sh-like svg{ width:15px; height:15px; fill:#fff; }
@media (max-width:1640px){ .hd-show{ width:clamp(300px,30vw,460px); } }
@media (max-width:760px){ .hd-show{ position:relative; left:auto; transform:none; grid-column:1/-1; width:100%; height:440px; margin:0 auto; } }
@media (prefers-reduced-motion:reduce){ .sh-phone, .sh-card, .sh-like{ animation:none; } }
.hd-show{ width:clamp(300px,26vw,470px); }
.sh-card{ width:38%; }
.sh-card.left{ left:-2%; top:20%; } .sh-card.right{ right:-2%; top:26%; }
.sh-card span{ display:none; }
.cube{ display:none; }
.hd-book{ left:calc(50% + clamp(190px,15vw,290px)) !important; top:58% !important; }
.hd-mini-orb{ left:calc(50% + clamp(230px,17vw,330px)) !important; }
@media (max-width:1640px){ .hd-show{ width:clamp(280px,25vw,400px); } .hd-book{ left:calc(50% + 170px) !important; top:62% !important; } .hd-mini-orb{ left:calc(50% + 200px) !important; } }
@media (max-width:1640px){ .hd-book{ display:none !important; } }

/* ======================= STUDIO-STYLE HOME (v19) ======================= */
body.sc{ background:#fff; }
.sc-ul{ font-weight:700; font-size:13px; letter-spacing:.06em; text-transform:uppercase; border-bottom:1.5px solid currentColor; padding-bottom:2px; transition:color .3s; }
.sc-ul:hover{ color:var(--pink-deep); }
.sc-ul.big{ font-size:clamp(18px,1.6vw,24px); font-weight:600; text-transform:none; letter-spacing:-.01em; }
.sc-t{ position:relative; overflow:hidden; background:var(--baby); margin:0; }
.sc-t img, .sc-t video{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease); }
.sc-t:hover img, .sc-t:hover video{ transform:scale(1.06); }
.sc-t.circle{ border-radius:50%; aspect-ratio:1; }
.sc-t.round{ border-radius:24px; aspect-ratio:1; }

/* hero */
.sc-hero{ padding:clamp(28px,4vh,48px) 0 70px; background:#fff; }
.sc-word{ font-family:var(--body); font-weight:900; text-transform:uppercase; font-size:clamp(48px,10.2vw,200px); line-height:.86; letter-spacing:-.055em; text-align:center; white-space:nowrap; color:var(--ink); margin:0 0 clamp(14px,2vw,26px); }
.sc-word span{ color:var(--pink-deep); }
.sc-word sup{ font-size:.32em; color:var(--gold); vertical-align:1.6em; margin-left:.04em; }
.sc-row{ display:grid; grid-template-columns:repeat(5,1fr); gap:clamp(8px,1.2vw,18px); padding:0 clamp(8px,1vw,16px); }
.sc-meta{ display:grid; grid-template-columns:1fr 1.4fr 1fr; gap:24px; align-items:start; margin-top:44px; }
.sc-meta > span{ font-weight:700; font-size:14px; }
.sc-meta p{ font-size:14px; font-weight:700; text-transform:uppercase; letter-spacing:.02em; line-height:1.5; max-width:420px; }
.sc-meta .sc-ul{ justify-self:end; }

/* dark band */
.sc-band{ background:var(--wine); color:#fff; padding:40px 0 110px; overflow:hidden; }
.sc-line{ display:flex; align-items:center; gap:clamp(20px,3vw,50px); padding:clamp(24px,3vw,44px) 0; border-bottom:1px solid rgba(255,255,255,.18); }
.sc-line:nth-child(even){ justify-content:flex-end; }
.sc-line .num{ font-family:var(--body); font-weight:300; font-size:clamp(90px,15vw,250px); line-height:.8; letter-spacing:-.06em; color:#fff; flex:none; padding-left:clamp(16px,3vw,40px); }
.sc-line .num.gold{ color:var(--gold); }
.sc-line .word{ font-weight:300; font-size:clamp(64px,10vw,170px); letter-spacing:-.05em; line-height:.9; flex:none; padding-right:clamp(16px,3vw,40px); }
.sc-line .word em{ font-family:var(--serif); font-style:italic; color:var(--blush); font-weight:400; }
.sc-line .cap{ position:relative; flex:1; height:clamp(110px,14vw,230px); overflow:hidden; margin:0; }
.sc-line:nth-child(odd) .cap{ border-radius:999px 0 0 999px; }
.sc-line:nth-child(even) .cap{ border-radius:0 999px 999px 0; }
.sc-line .cap img{ width:100%; height:100%; object-fit:cover; }
.sc-line .chip{ position:absolute; top:16px; right:20px; padding:8px 20px; border-radius:999px; border:1.5px solid var(--gold); color:var(--gold); background:rgba(43,15,29,.6); backdrop-filter:blur(6px); font-size:clamp(13px,1.2vw,18px); font-weight:800; text-transform:uppercase; letter-spacing:.02em; }
.sc-line .chip.pk{ border-color:var(--pink); color:var(--blush); left:20px; right:auto; }

/* services */
.sc-svc{ display:grid; grid-template-columns:1.2fr 1fr; gap:14px; margin-top:110px; }
.sc-card{ background:#fff; color:var(--ink); border-radius:26px; padding:clamp(26px,3vw,44px); }
.sc-card.title h2{ font-weight:900; text-transform:uppercase; font-size:clamp(60px,7vw,120px); line-height:.86; letter-spacing:-.05em; margin-bottom:18px; padding-bottom:16px; border-bottom:1.5px solid var(--ink); }
.sc-card.title .sc-ul{ font-size:12px; }
.sc-svc-imgs{ display:grid; grid-template-columns:1.25fr 1fr; gap:14px; margin-top:14px; align-items:center; }
.sc-svc-imgs .round{ aspect-ratio:1/.95; border-radius:26px; }
.sc-svc-r{ display:flex; flex-direction:column; gap:14px; }
.sc-card.here{ display:flex; justify-content:space-between; align-items:center; }
.sc-card.here span{ font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.sc-card.list{ list-style:none; flex:1; display:flex; flex-direction:column; justify-content:center; gap:16px; }
.sc-card.list li{ display:grid; grid-template-columns:52px 1fr; align-items:baseline; }
.sc-card.list li span{ font-size:12px; font-weight:800; color:var(--muted); }
.sc-card.list a{ font-size:clamp(20px,1.9vw,28px); font-weight:500; letter-spacing:-.03em; border-bottom:1.5px solid var(--ink); justify-self:start; line-height:1.25; transition:color .3s, border-color .3s; }
.sc-card.list a:hover{ color:var(--pink-deep); border-color:var(--pink-deep); }

/* best works */
.sc-works{ padding:110px 0 100px; background:#fff; }
.sc-h{ font-weight:900; text-transform:uppercase; font-size:clamp(56px,7.4vw,130px); line-height:.86; letter-spacing:-.055em; }
.sc-h.sm{ font-size:clamp(26px,2.4vw,38px); letter-spacing:-.04em; }
.sc-sub{ margin:14px 0 46px; font-size:13px; font-weight:700; text-transform:uppercase; }
.sc-grid{ display:grid; grid-template-columns:1.2fr 1fr 1fr .85fr; grid-auto-rows:clamp(150px,13vw,220px); grid-auto-flow:dense; gap:12px; }
.sc-w{ position:relative; border-radius:22px; overflow:hidden; margin:0; cursor:zoom-in; background:var(--baby); }
.sc-w img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease); }
.sc-w:hover img{ transform:scale(1.05); }
.sc-w figcaption{ position:absolute; left:0; right:0; bottom:0; padding:40px 18px 16px; color:#fff; background:linear-gradient(to top, rgba(32,18,26,.85), transparent); opacity:0; transform:translateY(10px); transition:all .45s var(--ease); }
.sc-w:hover figcaption{ opacity:1; transform:none; }
.sc-w figcaption span{ display:block; font-size:10.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--blush); }
.sc-w figcaption b{ font-size:16px; font-weight:700; }
.sc-w.tall{ grid-row:span 3; }
.sc-w.tall2{ grid-row:span 2; }

/* feedback */
.sc-fb{ padding:30px 0 130px; background:#fff; }
.sc-fb-in{ display:grid; grid-template-columns:.7fr 2.3fr; gap:30px; }
.sc-fb-l p{ font-size:14px; color:var(--muted); margin-top:12px; max-width:220px; }
.sc-fb-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.fb-v, .fb-q{ position:relative; border-radius:22px; overflow:hidden; aspect-ratio:1/1.06; margin:0; }
.fb-v video{ width:100%; height:100%; object-fit:cover; background:#f3ecef; }
.fb-v::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(20,10,15,.6), transparent 45%); pointer-events:none; }
.fb-play{ position:absolute; right:14px; bottom:14px; z-index:2; width:46px; height:46px; border-radius:50%; background:#fff; color:var(--ink); display:flex; align-items:center; justify-content:center; transition:all .3s; }
.fb-play svg{ width:15px; height:15px; margin-left:2px; }
.fb-v:hover .fb-play{ background:var(--pink-deep); color:#fff; }
.fb-v figcaption{ position:absolute; left:16px; bottom:16px; right:70px; z-index:2; color:#fff; font-weight:800; font-size:13px; text-transform:uppercase; letter-spacing:.02em; }
.fb-v figcaption small{ display:block; font-weight:500; font-size:11.5px; text-transform:none; letter-spacing:0; opacity:.85; }
.fb-v.on::after, .fb-v.on .fb-play, .fb-v.on figcaption{ opacity:0; pointer-events:none; }
.fb-q{ background:#f5f1f2; padding:clamp(24px,2.4vw,40px); display:flex; flex-direction:column; justify-content:space-between; }
.fb-q p{ font-size:clamp(17px,1.4vw,21px); line-height:1.45; letter-spacing:-.01em; position:relative; z-index:1; }
.fb-q p b{ font-weight:700; }
.fb-q i{ position:absolute; right:26px; bottom:-10px; font-family:var(--serif); font-size:150px; line-height:1; color:#e2d6db; font-style:italic; }
.fb-q span{ font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; position:relative; }
.fb-q.dark{ background:var(--wine); color:#fff; }
.fb-q.dark .sc-ul{ color:var(--blush); align-self:flex-start; }

/* about / connect / get in touch */
.sc-about{ background:#fff; }
.sc-strip{ background:var(--ink); color:#fff; overflow:hidden; }
.sc-strip .track{ display:flex; width:max-content; animation:mq 40s linear infinite; }
.sc-strip span{ display:inline-flex; align-items:center; gap:14px; padding:9px 28px; white-space:nowrap; font-weight:800; font-size:15px; text-transform:uppercase; }
.sc-strip small{ font-size:8px; font-weight:600; line-height:1.1; opacity:.8; }
.sc-strip b{ color:var(--gold); }
.sc-cols{ display:grid; grid-template-columns:1.6fr 1fr 1fr; border-bottom:1px solid var(--ink); }
.sc-cols > div{ border-right:1px solid var(--ink); }
.sc-cols > div:last-child{ border-right:none; }
.c-about .blk{ padding:clamp(28px,3vw,46px) clamp(20px,4vw,60px); }
.c-about .blk + .blk{ border-top:1px solid var(--ink); }
.c-about h3{ font-weight:500; font-size:clamp(40px,4vw,64px); letter-spacing:-.045em; line-height:1; margin-bottom:22px; }
.c-about p{ font-size:17px; line-height:1.6; max-width:440px; }
.c-about .ind{ font-size:16px; color:#3d2e35; }
.c-links{ padding:clamp(28px,3vw,46px) clamp(20px,3vw,50px); display:flex; flex-direction:column; gap:14px; }
.c-links h4{ font-size:15px; font-weight:800; text-transform:uppercase; letter-spacing:.02em; margin-bottom:14px; }
.c-links a{ font-size:17px; border-bottom:1px solid currentColor; align-self:flex-start; transition:color .3s; }
.c-links a:hover{ color:var(--pink-deep); }
.c-links > div{ display:flex; flex-direction:column; gap:14px; }
.sc-touch{ display:flex; justify-content:space-between; align-items:flex-end; gap:30px; flex-wrap:wrap; padding-top:46px; padding-bottom:60px; }
.sc-touch h2{ font-weight:900; text-transform:uppercase; font-size:clamp(60px,9vw,160px); line-height:.82; letter-spacing:-.055em; }
.sc-touch-r{ display:flex; flex-direction:column; align-items:flex-end; gap:18px; }
body.sc .ftr .cols{ display:none; }
body.sc .ftr .word{ font-size:clamp(50px,11vw,190px); }

@media (max-width:1100px){
  .sc-svc{ grid-template-columns:1fr; }
  .sc-grid{ grid-template-columns:repeat(2,1fr); }
  .sc-fb-in{ grid-template-columns:1fr; }
  .sc-cols{ grid-template-columns:1fr 1fr; }
  .c-about{ grid-column:1/-1; border-right:none !important; border-bottom:1px solid var(--ink); }
}
@media (max-width:640px){
  .sc-word{ font-size:12.4vw; white-space:normal; }
  .sc-row{ grid-template-columns:repeat(3,1fr); }
  .sc-row .sc-t:nth-child(n+4){ display:none; }
  .sc-meta{ grid-template-columns:1fr; gap:14px; }
  .sc-meta .sc-ul{ justify-self:start; }
  .sc-line{ flex-wrap:wrap; }
  .sc-line .cap{ flex-basis:100%; height:110px; border-radius:999px !important; margin:0 16px !important; order:3; }
  .sc-line:nth-child(even){ justify-content:flex-start; }
  .sc-line .word{ padding-left:16px; }
  .sc-grid{ grid-template-columns:1fr; grid-auto-rows:240px; }
  .sc-w.tall, .sc-w.tall2{ grid-row:auto; }
  .sc-w figcaption{ opacity:1; transform:none; }
  .sc-fb-grid{ grid-template-columns:1fr 1fr; }
  .sc-cols{ grid-template-columns:1fr; }
  .sc-cols > div{ border-right:none; border-bottom:1px solid var(--ink); }
  .sc-touch-r{ align-items:flex-start; }
}
.sc-fb-l{ position:sticky; top:120px; align-self:start; }
@media (max-width:1100px){ .sc-fb-l{ position:static; } }
@media (max-width:640px){
  .sc-line .word{ flex:1 1 100%; font-size:15vw; white-space:normal; }
  .sc-line .num{ font-size:24vw; }
  .sc-fb-grid{ grid-template-columns:1fr 1fr; gap:10px; }
  .fb-q{ grid-column:1/-1; aspect-ratio:auto; min-height:180px; padding:24px; }
  .fb-q i{ font-size:110px; }
  .fb-v{ aspect-ratio:3/4; }
  .fb-v figcaption{ right:56px; font-size:11px; left:12px; bottom:12px; }
  .fb-v figcaption small{ display:none; }
  .fb-play{ width:38px; height:38px; right:10px; bottom:10px; }
}
@media (max-width:640px){ .fb-v{ order:1; } .fb-q{ order:2; } .fb-q.dark{ order:3; } }
/* hero breathing room (v20) */
.sc-hero{ padding-top:clamp(36px,5vh,64px); }
.sc-word{ letter-spacing:-.025em; font-size:clamp(44px,8.4vw,150px); line-height:.9; margin-bottom:clamp(28px,3.4vw,52px); }
.sc-word span{ margin-left:.08em; }
.sc-row{ max-width:1560px; margin:0 auto; gap:clamp(14px,2vw,32px); padding:0 clamp(20px,3vw,56px); }
.sc-hero .sc-t{ box-shadow:0 18px 40px -22px rgba(43,15,29,.35); }
.sc-meta{ max-width:1560px; margin-top:clamp(36px,4vw,56px); }
@media (max-width:640px){ .sc-word{ font-size:12vw; letter-spacing:-.03em; } .sc-row{ gap:10px; padding:0 16px; } }
/* hero = studio placing (v21): full-bleed condensed wordmark + edge-to-edge tiles */
.sc-hero{ padding-top:clamp(24px,3vh,40px); }
.sc-word{ font-family:"Anton", var(--body); font-weight:400; letter-spacing:0; line-height:1; text-transform:uppercase; white-space:nowrap; text-align:left; display:block; width:100%; padding:0 2px; margin:0 0 clamp(18px,2vw,34px); font-size:13vw; }
.sc-word span{ margin-left:0; color:var(--pink-deep); }
.sc-word b{ color:var(--gold); font-weight:400; }
.sc-row{ max-width:none; margin:0; padding:0; gap:clamp(6px,1.4vw,28px); align-items:center; }
.sc-hero .sc-t{ box-shadow:none; }
.sc-hero .sc-t.circle{ transform:scale(1.03); }
.sc-meta{ max-width:none; padding:0 clamp(20px,4vw,80px); margin-top:clamp(50px,5vw,90px); grid-template-columns:1fr 1fr 1fr; }
.sc-meta .sc-ul{ justify-self:end; margin-right:8%; }
@media (max-width:640px){ .sc-row{ gap:8px; } .sc-meta .sc-ul{ justify-self:start; margin:0; } .sc-meta{ grid-template-columns:1fr; padding:0 16px; } }
.sc-word b{ font-size:.5em; vertical-align:.95em; margin-left:.04em; } .sc-hero{ padding-top:clamp(36px,4.5vh,56px); } .sc-word{ line-height:.92; }
/* ===== NAV v2 — glass bar + dark capsule nav (ref: Mr L Production) ===== */
.hdr .wrap{ border-radius:22px; padding:10px 10px 10px 18px; background:rgba(255,255,255,.62); backdrop-filter:saturate(1.6) blur(18px); -webkit-backdrop-filter:saturate(1.6) blur(18px); box-shadow:0 18px 40px -26px rgba(43,15,29,.45), inset 0 0 0 1px rgba(255,255,255,.7), 0 0 0 1px rgba(43,15,29,.06); }
.hdr.scrolled .wrap{ background:rgba(255,255,255,.78); box-shadow:0 22px 46px -24px rgba(43,15,29,.5), inset 0 0 0 1px rgba(255,255,255,.8), 0 0 0 1px rgba(43,15,29,.07); }
.hdr .nav{ gap:2px; padding:5px; border-radius:999px; background:rgba(43,15,29,.9); box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 8px 20px -12px rgba(43,15,29,.6); }
.hdr .nav a{ padding:10px 20px; font-size:13.5px; font-weight:500; color:rgba(255,236,243,.78); }
.hdr .nav a:hover{ background:rgba(255,255,255,.08); color:#fff; }
.hdr .nav a.on{ background:var(--pink-deep); color:#fff; box-shadow:0 6px 16px -6px rgba(224,51,107,.8); }
.hdr-r{ display:flex; align-items:center; gap:10px; }
.hdr-ic{ width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--ink); background:rgba(255,255,255,.5); box-shadow:inset 0 0 0 1px rgba(43,15,29,.14); transition:background .3s, color .3s; }
.hdr-ic svg{ width:18px; height:18px; }
.hdr-ic:hover{ background:var(--baby); color:var(--pink-deep); }
.hdr .hdr-cta{ display:inline-flex; align-items:center; gap:14px; padding:6px 6px 6px 22px; border-radius:999px; background:var(--wine); color:#fff; font-size:13.5px; font-weight:600; letter-spacing:0; box-shadow:0 10px 24px -12px rgba(43,15,29,.8); transition:background .3s; }
.hdr .hdr-cta i{ width:38px; height:38px; border-radius:50%; background:#fff; color:var(--wine); display:flex; align-items:center; justify-content:center; transition:transform .4s var(--ease), background .3s, color .3s; }
.hdr .hdr-cta i svg{ width:15px; height:15px; }
.hdr .hdr-cta:hover{ background:var(--pink-deep); }
.hdr .hdr-cta:hover i{ transform:rotate(-45deg); color:var(--pink-deep); }
@media (max-width:1100px){ .hdr-ic, .hdr .hdr-cta{ display:none; } .hdr .wrap{ border-radius:20px; } }
.sc-hero{ padding-top:clamp(44px,6vh,72px); }
/* ===== NAV v3 — clean, flat, full-width (not floating) ===== */
.hdr, .hdr.scrolled{ position:sticky; top:0; margin-top:0; padding:0; background:#fff; backdrop-filter:none; -webkit-backdrop-filter:none; border-bottom:1px solid transparent; transition:border-color .3s; }
.hdr.scrolled{ border-bottom-color:rgba(43,15,29,.1); }
.hdr .wrap, .hdr.scrolled .wrap{ max-width:none; margin:0; width:100%; border-radius:0; background:none; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; padding:0 clamp(20px,4vw,80px); height:92px; }
.hdr .nav{ background:none; box-shadow:none; padding:0; gap:clamp(18px,2.2vw,36px); }
.hdr .nav a{ padding:6px 0; border-radius:0; font-size:15px; font-weight:500; color:var(--ink); background:none !important; box-shadow:none !important; }
.hdr .nav a::after{ display:block; content:""; position:absolute; left:0; right:0; bottom:0; width:auto; height:1.5px; border-radius:0; background:var(--pink-deep); transform:scaleX(0); transform-origin:left; transition:transform .4s var(--ease); }
.hdr .nav a:hover::after, .hdr .nav a.on::after{ transform:scaleX(1); }
.hdr .nav a:hover, .hdr .nav a.on{ color:var(--pink-deep); }
.hdr-ic{ display:none; }
.hdr .hdr-cta{ background:none; color:var(--ink); padding:14px 34px; border:1.5px solid var(--ink); box-shadow:none; font-size:14px; font-weight:600; text-transform:uppercase; letter-spacing:.04em; gap:0; }
.hdr .hdr-cta i{ display:none; }
.hdr .hdr-cta:hover{ background:var(--ink); color:#fff; }
@media (max-width:1100px){ .hdr .wrap, .hdr.scrolled .wrap{ height:72px; padding:0 16px; } .hdr .burger{ background:var(--ink); } }
/* ===== hero shapes v2 — arch / leaf / ring / flower / drop ===== */
.sc-row{ align-items:center; }
.sc-hero .sc-t{ aspect-ratio:1; transform:none; transition:border-radius .8s var(--ease), transform .8s var(--ease); }
.sc-hero .sc-t img{ transition:transform 1.2s var(--ease); }
.sc-t.s-arch{ border-radius:999px 999px 28px 28px; aspect-ratio:.86; }
.sc-t.s-arch:hover{ border-radius:28px 28px 999px 999px; }
.sc-t.s-leaf{ border-radius:50% 28px 50% 28px; }
.sc-t.s-leaf:hover{ border-radius:28px 50% 28px 50%; }
.sc-t.s-flower{ border-radius:0; clip-path:url(#scFlower); background:none; }
.sc-t.s-flower:hover{ transform:rotate(18deg); }
.sc-t.s-flower:hover img{ transform:rotate(-18deg) scale(1.08); }
.sc-t.s-drop{ border-radius:50% 50% 50% 28px; }
.sc-t.s-drop:hover{ border-radius:28px 50% 50% 50%; }
.sc-t.s-ring{ overflow:visible; background:none; border-radius:50%; }
.sc-t.s-ring .in{ position:absolute; inset:9%; border-radius:50%; overflow:hidden; background:var(--baby); box-shadow:0 0 0 6px #fff, 0 0 0 7px rgba(224,51,107,.25); }
.sc-t.s-ring .ring{ position:absolute; inset:0; width:100%; height:100%; animation:spin 26s linear infinite; pointer-events:none; }
.sc-t.s-ring .ring text{ font-family:var(--body); font-size:12.5px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; fill:var(--pink-deep); }
.sc-t.s-ring .spark{ position:absolute; right:6%; top:6%; width:clamp(34px,3vw,52px); height:clamp(34px,3vw,52px); border-radius:50%; background:var(--gold); color:#fff; display:flex; align-items:center; justify-content:center; font-size:clamp(16px,1.4vw,24px); box-shadow:0 8px 20px -8px rgba(212,175,55,.9); }
.sc-t.s-ring:hover .in video{ transform:scale(1.06); }
@media (prefers-reduced-motion:reduce){ .sc-t.s-ring .ring{ animation:none; } }
@media (max-width:640px){ .sc-t.s-ring .ring text{ font-size:15px; } .sc-t.s-ring .spark{ width:26px; height:26px; font-size:12px; } }
.sc-t.s-arch{ aspect-ratio:1; } .sc-t.s-ring .ring text{ font-size:12px; letter-spacing:0; }
.sc-t.s-ring .in{ inset:13%; } .sc-t.s-ring .spark{ display:none; }
/* flower -> clean capsule */
.sc-t.s-flower{ clip-path:none; border-radius:999px; aspect-ratio:auto; width:78%; height:auto; justify-self:center; align-self:stretch; background:var(--baby); }
.sc-t.s-flower:hover{ transform:translateY(-6px); }
.sc-t.s-flower:hover img{ transform:scale(1.06); }
.sc-t.s-ring{ overflow:hidden; } .sc-t.s-ring .in{ inset:0; box-shadow:none; }
/* overall balance */
.sc-hero{ padding-top:clamp(18px,2.6vh,34px); }
.sc-row{ grid-template-columns:1fr 1fr 1fr .78fr 1fr; padding:0 clamp(10px,1vw,20px); }
.sc-t.s-flower{ width:100%; }
.sc-t.s-ring video{ object-position:center 66%; }
@media (max-width:640px){ .sc-row{ grid-template-columns:repeat(3,1fr); padding:0 12px; } }
/* shapes -> clean rounded squares (center video stays circle) */
.sc-row{ grid-template-columns:repeat(5,1fr); }
.sc-t.s-arch, .sc-t.s-leaf, .sc-t.s-flower, .sc-t.s-drop,
.sc-t.s-arch:hover, .sc-t.s-leaf:hover, .sc-t.s-flower:hover, .sc-t.s-drop:hover{ border-radius:28px; aspect-ratio:1; width:100%; transform:none; align-self:center; }
.sc-hero .sc-t:hover img{ transform:scale(1.05); }
@media (max-width:640px){ .sc-row{ grid-template-columns:repeat(3,1fr); } .sc-t.s-arch, .sc-t.s-leaf, .sc-t.s-flower, .sc-t.s-drop{ border-radius:16px; } }
/* ===== HERO v22 — letter reveal wordmark + moving work strip ===== */
.sc-word .w1{ color:var(--ink); }
.sc-word .w2{ color:var(--pink-deep); margin-left:0; }
.sc-word i{ display:inline-block; font-style:normal; opacity:0; transform:translateY(38%) rotate(4deg); animation:scUp 1s var(--ease) forwards; animation-delay:calc(var(--d) * 55ms + 120ms); transition:transform .45s var(--ease), color .3s; }
.sc-word i:hover{ transform:translateY(-6%) !important; }
.sc-word .w1 i:hover{ color:var(--pink-deep); }
.sc-word .w2 i:hover{ color:var(--ink); }
.sc-word b{ display:inline-block; opacity:0; animation:scUp 1s var(--ease) forwards, scTwirl 7s linear 2s infinite; animation-delay:calc(var(--d) * 55ms + 200ms), 2s; transform-origin:50% 50%; }
@keyframes scUp{ to{ opacity:1; transform:none; } }
@keyframes scTwirl{ 0%,80%{ transform:rotate(0); } 90%{ transform:rotate(90deg) scale(1.15); } 100%{ transform:rotate(180deg); } }

.sc-run{ overflow:hidden; padding:6px 0; -webkit-mask-image:linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent); mask-image:linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent); }
.sc-run .track{ display:flex; gap:clamp(12px,1.4vw,26px); width:max-content; animation:scRun 60s linear infinite; }
.sc-run:hover .track{ animation-play-state:paused; }
@keyframes scRun{ to{ transform:translateX(calc(-50% - clamp(12px,1.4vw,26px) / 2)); } }
.sc-run .sc-t{ flex:none; width:clamp(200px,18.6vw,360px); aspect-ratio:1; margin:0; overflow:hidden; background:var(--baby); transition:transform .6s var(--ease), border-radius .6s var(--ease); }
.sc-run .sc-t.sq{ border-radius:28px; }
.sc-run .sc-t.ci{ border-radius:50%; }
.sc-run .sc-t:hover{ transform:translateY(-8px); }
.sc-run .sc-t:hover img, .sc-run .sc-t:hover video{ transform:scale(1.06); }
.sc-run .sc-t.vid video{ object-position:center 66%; }
.sc-run .tag{ position:absolute; left:50%; bottom:12%; transform:translateX(-50%); display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border-radius:999px; background:rgba(255,255,255,.92); color:var(--ink); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; box-shadow:0 8px 20px -10px rgba(43,15,29,.5); }
.sc-run .tag i{ width:7px; height:7px; border-radius:50%; background:#ff3b5c; box-shadow:0 0 0 0 rgba(255,59,92,.6); animation:scLive 1.6s ease-out infinite; }
@keyframes scLive{ to{ box-shadow:0 0 0 9px rgba(255,59,92,0); } }
video::-webkit-media-controls{ display:none !important; }
@media (prefers-reduced-motion:reduce){ .sc-word i, .sc-word b{ animation:none; opacity:1; transform:none; } .sc-run .track{ animation-duration:180s; } }
@media (max-width:640px){ .sc-run .sc-t{ width:42vw; } .sc-run .sc-t.sq{ border-radius:18px; } .sc-run .track{ animation-duration:40s; } }
.sc-run .sc-t{ position:relative; height:clamp(200px,18.6vw,360px); } .sc-run .sc-t > img, .sc-run .sc-t > video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; } @media (max-width:640px){ .sc-run .sc-t{ height:42vw; } }
/* ===== BAND v2 — clear stat rows ===== */
.sc-band{ padding:clamp(70px,8vw,120px) 0 110px; }
.sc-band-head{ display:grid; grid-template-columns:1fr auto; align-items:end; gap:10px 40px; margin-bottom:clamp(40px,5vw,70px); }
.sc-band-head .eyebrow{ grid-column:1/-1; font-size:12px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); }
.sc-band-head h2{ font-weight:700; font-size:clamp(34px,4.2vw,68px); line-height:1.02; letter-spacing:-.04em; max-width:820px; }
.sc-band-head h2 em{ font-family:var(--serif); font-style:italic; font-weight:400; color:var(--blush); }
.sc-band-head p{ font-size:15px; color:rgba(255,236,243,.7); max-width:300px; padding-bottom:8px; }
.sc-stat{ display:grid; grid-template-columns:clamp(40px,4vw,70px) minmax(0,auto) minmax(0,1fr) minmax(0,38%); align-items:center; gap:clamp(16px,2.6vw,48px); padding:clamp(22px,2.6vw,36px) 0 clamp(22px,2.6vw,36px) clamp(20px,4vw,80px); border-top:1px solid rgba(255,255,255,.14); transition:background .4s; }
.sc-stat:last-of-type{ border-bottom:1px solid rgba(255,255,255,.14); }
.sc-stat:hover{ background:rgba(255,255,255,.03); }
.sc-stat .idx{ font-size:13px; font-weight:700; letter-spacing:.1em; color:rgba(255,236,243,.45); align-self:start; padding-top:1.2em; }
.sc-stat .big{ font-weight:300; font-size:clamp(70px,9vw,170px); line-height:.85; letter-spacing:-.06em; color:#fff; white-space:nowrap; min-width:3.1em; }
.sc-stat .big small{ font-size:.55em; font-weight:400; color:var(--gold); margin-left:.04em; letter-spacing:-.03em; vertical-align:.55em; }
.sc-stat:nth-of-type(odd) .big{ color:var(--blush); }
.sc-stat .txt h3{ font-size:clamp(18px,1.6vw,26px); font-weight:700; letter-spacing:-.02em; color:#fff; line-height:1.2; }
.sc-stat .txt p{ margin-top:8px; font-size:15px; line-height:1.55; color:rgba(255,236,243,.66); max-width:340px; }
.sc-stat .cap{ position:relative; height:clamp(110px,11vw,190px); margin:0; overflow:hidden; border-radius:999px 0 0 999px; }
.sc-stat .cap img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease); }
.sc-stat:hover .cap img{ transform:scale(1.07); }
.sc-stat .chip{ position:absolute; left:clamp(18px,2vw,34px); bottom:16px; top:auto; right:auto; padding:8px 16px; border-radius:999px; background:rgba(43,15,29,.72); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); border:1px solid rgba(212,175,55,.7); color:var(--gold); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
@media (max-width:1100px){
  .sc-band-head{ grid-template-columns:1fr; }
  .sc-stat{ grid-template-columns:auto 1fr; padding-right:clamp(20px,4vw,80px); }
  .sc-stat .idx{ display:none; }
  .sc-stat .cap{ grid-column:1/-1; border-radius:999px; }
}
@media (max-width:640px){
  .sc-stat{ grid-template-columns:1fr; gap:12px; padding:26px 16px; }
  .sc-stat .big{ font-size:22vw; min-width:0; }
  .sc-stat .cap{ height:120px; }
}
.sc-band-head{ padding:0 clamp(20px,4vw,80px); } @media (max-width:640px){ .sc-band-head{ padding:0 16px; } }
.sc-run .sc-t.vid video{ object-position:center 40%; } .sc-run .sc-t.vid:first-of-type video{ object-position:center 66%; }
.sc-run video[src*="hero-loop"]{ object-position:center 66%; }
.sc-run .sc-t.vid video[src*="hero-loop"]{ object-position:center 66%; }
.sc-run .sc-t.vid video[src*="review-1"]{ object-position:center 35%; } .sc-run .sc-t.vid video[src*="review-4"], .sc-run .sc-t.vid video[src*="review-5"]{ object-position:center 55%; }
/* ===== hero meta v2 — trust + statement + CTA ===== */
.sc-meta2{ display:grid; grid-template-columns:1fr 1.5fr 1fr; align-items:center; gap:clamp(20px,3vw,60px); margin:clamp(40px,4vw,64px) clamp(20px,4vw,80px) 0; padding-top:clamp(28px,3vw,40px); border-top:1px solid rgba(43,15,29,.12); }
.m-trust{ display:flex; align-items:center; gap:16px; }
.m-trust .avs{ display:flex; }
.m-trust .avs img, .m-trust .avs span{ width:46px; height:46px; border-radius:50%; object-fit:cover; object-position:center 30%; border:3px solid #fff; margin-left:-14px; box-shadow:0 4px 12px -6px rgba(43,15,29,.5); }
.m-trust .avs img:first-child{ margin-left:0; }
.m-trust .avs span{ display:flex; align-items:center; justify-content:center; background:var(--pink-deep); color:#fff; font-size:11px; font-weight:800; }
.m-trust .stars{ display:block; color:var(--gold); font-size:15px; letter-spacing:.12em; }
.m-trust small{ display:block; font-size:13px; font-weight:600; color:var(--ink); margin-top:2px; }
.m-line{ font-size:clamp(17px,1.45vw,23px); line-height:1.4; font-weight:500; letter-spacing:-.015em; color:var(--ink); text-align:center; max-width:640px; justify-self:center; }
.m-line em{ font-family:var(--serif); font-style:italic; color:var(--pink-deep); font-weight:400; font-size:1.08em; }
.m-cta{ display:flex; flex-direction:column; align-items:flex-end; gap:14px; }
.m-btn{ display:inline-flex; align-items:center; gap:12px; padding:6px 6px 6px 24px; border-radius:999px; background:var(--pink-deep); color:#fff; font-size:14px; font-weight:700; box-shadow:0 12px 26px -12px rgba(224,51,107,.9); transition:background .3s, transform .3s; }
.m-btn i{ width:40px; height:40px; border-radius:50%; background:#fff; color:var(--pink-deep); display:flex; align-items:center; justify-content:center; transition:transform .4s var(--ease); }
.m-btn i svg{ width:15px; height:15px; }
.m-btn:hover{ background:var(--wine); transform:translateY(-2px); }
.m-btn:hover i{ transform:rotate(-45deg); color:var(--wine); }
.m-cta .sc-ul{ font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.sc-hero{ padding-bottom:clamp(50px,5vw,80px); }
@media (max-width:900px){
  .sc-meta2{ grid-template-columns:1fr; text-align:left; margin:32px 16px 0; }
  .m-line{ text-align:left; justify-self:start; }
  .m-cta{ align-items:flex-start; }
}
.m-btn{ white-space:nowrap; }
.m-btn .ar{ width:40px; height:40px; flex:none; border-radius:50%; background:#fff; color:var(--pink-deep); display:flex; align-items:center; justify-content:center; transition:transform .4s var(--ease), color .3s; }
.m-btn .ar svg{ width:15px; height:15px; }
.m-btn:hover .ar{ transform:rotate(-45deg); color:var(--wine); }
.m-line{ max-width:720px; text-wrap:balance; }
/* ===== hero meta v3 — simple editorial ===== */
.sc-meta3{ display:grid; grid-template-columns:1fr 2.4fr auto; align-items:start; gap:clamp(20px,4vw,80px); margin:clamp(44px,4.4vw,72px) clamp(20px,4vw,80px) 0; }
.m3-tag{ font-size:13px; line-height:1.5; font-weight:500; color:rgba(43,15,29,.6); padding-top:.5em; }
.m3-line{ font-size:clamp(26px,2.7vw,46px); line-height:1.12; font-weight:600; letter-spacing:-.035em; color:var(--ink); max-width:22ch; }
.m3-line span{ color:var(--pink-deep); }
.m3-go{ display:inline-flex; align-items:center; gap:10px; font-size:15px; font-weight:700; color:var(--ink); padding:.6em 0 6px; border-bottom:2px solid var(--ink); white-space:nowrap; transition:color .3s, border-color .3s, gap .3s; }
.m3-go svg{ width:16px; height:16px; transition:transform .3s; }
.m3-go:hover{ color:var(--pink-deep); border-color:var(--pink-deep); gap:14px; }
.m3-go:hover svg{ transform:rotate(-45deg); }
@media (max-width:900px){ .sc-meta3{ grid-template-columns:1fr; gap:16px; margin:32px 16px 0; } .m3-go{ justify-self:start; } }
.m3-line{ max-width:27ch; }
/* hero fits one screen */
.sc-word{ text-align:center; margin-bottom:clamp(14px,2.2vh,28px); }
.sc-hero{ padding-top:clamp(12px,2vh,28px); padding-bottom:clamp(40px,5vh,70px); }
@media (min-width:901px){
  .sc-run .sc-t{ width:min(18.6vw, 30vh); height:min(18.6vw, 30vh); }
  .sc-meta3{ margin-top:clamp(20px,3.4vh,44px); align-items:center; }
  .m3-line{ font-size:clamp(22px,min(2.1vw,3.6vh),38px); max-width:none; }
  .m3-tag, .m3-go{ padding-top:0; }
}
.m3-line{ text-wrap:balance; }
main{ overflow-x:clip; } .sc-hero{ overflow-x:clip; }
@media (min-width:901px){ .sc-hero{ min-height:calc(100vh - 92px); min-height:calc(100svh - 92px); display:flex; flex-direction:column; justify-content:center; background:#fff; } }
@media (min-width:901px){ .sc-hero{ justify-content:flex-start; min-height:calc(100vh - 92px); } }
@media (min-width:901px){ .sc-hero{ display:block; } }
/* ===== hero balance — one grid: page gutter = nav gutter ===== */
:root{ --gut:clamp(20px,4vw,80px); }
.sc-word{ padding:0 var(--gut); text-align:center; margin:0 0 clamp(24px,3.6vh,40px); }
.sc-run{ margin:0; }
.sc-meta3{ grid-template-columns:1fr auto 1fr; margin:clamp(24px,3.6vh,40px) var(--gut) 0; align-items:center; gap:24px; }
.m3-tag{ justify-self:start; }
.m3-line{ text-align:center; justify-self:center; grid-column:2; }
.m3-go{ justify-self:end; }
@media (max-width:900px){ .sc-meta3{ grid-template-columns:1fr; margin:28px 16px 0; } .m3-line{ text-align:left; justify-self:start; grid-column:auto; } .m3-go{ justify-self:start; } .sc-word{ padding:0 16px; } }
@media (min-width:901px){ .sc-hero{ display:flex; flex-direction:column; justify-content:space-evenly; padding-top:0; padding-bottom:0; } .sc-hero > *{ margin-top:0 !important; margin-bottom:0 !important; } .sc-word{ width:100%; } }
/* ===== SERVICES v2 — interactive list + swapping preview ===== */
.sv2{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr); gap:clamp(30px,6vw,120px); padding:clamp(80px,9vw,140px) var(--gut) 0; align-items:start; }
.sv2-l{ position:sticky; top:120px; }
.sv2-l .eyebrow{ display:block; font-size:12px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); margin-bottom:18px; }
.sv2-l h2{ font-weight:700; font-size:clamp(36px,4vw,66px); line-height:1.02; letter-spacing:-.045em; color:#fff; }
.sv2-l h2 em{ font-family:var(--serif); font-style:italic; font-weight:400; color:var(--blush); }
.sv2-l p{ margin-top:18px; font-size:15.5px; line-height:1.6; color:rgba(255,236,243,.68); max-width:400px; }
.sv2-pic{ position:relative; margin:30px 0 28px; aspect-ratio:4/3; max-width:460px; border-radius:24px; overflow:hidden; background:var(--wine-2); }
.sv2-pic img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 30%; opacity:0; transform:scale(1.06); transition:opacity .6s var(--ease), transform 1s var(--ease); }
.sv2-pic img.on{ opacity:1; transform:none; }
.m3-go.light{ color:#fff; border-color:#fff; }
.m3-go.light:hover{ color:var(--blush); border-color:var(--blush); }
.sv2-list{ list-style:none; margin:0; padding:0; border-top:1px solid rgba(255,255,255,.16); }
.sv2-list li{ border-bottom:1px solid rgba(255,255,255,.16); }
.sv2-list a{ display:grid; grid-template-columns:56px 1fr auto; align-items:center; gap:18px; padding:clamp(20px,2.2vw,30px) 4px; color:#fff; transition:padding .5s var(--ease); }
.sv2-list .n{ font-size:13px; font-weight:700; letter-spacing:.1em; color:rgba(255,236,243,.4); transition:color .3s; }
.sv2-list .t b{ display:block; font-size:clamp(22px,2.2vw,36px); font-weight:600; letter-spacing:-.03em; line-height:1.1; transition:color .3s; }
.sv2-list .t small{ display:block; margin-top:6px; font-size:14px; color:rgba(255,236,243,.55); max-height:0; opacity:0; overflow:hidden; transition:max-height .5s var(--ease), opacity .4s; }
.sv2-list .go{ width:46px; height:46px; border-radius:50%; border:1px solid rgba(255,255,255,.25); display:flex; align-items:center; justify-content:center; transition:all .4s var(--ease); }
.sv2-list .go svg{ width:16px; height:16px; }
.sv2-list li.on a{ padding-left:14px; }
.sv2-list li.on .n{ color:var(--gold); }
.sv2-list li.on .t b{ color:var(--blush); }
.sv2-list li.on .t small{ max-height:40px; opacity:1; }
.sv2-list li.on .go{ background:var(--pink-deep); border-color:var(--pink-deep); transform:rotate(-45deg); }
@media (max-width:900px){
  .sv2{ grid-template-columns:1fr; padding:70px 16px 0; }
  .sv2-l{ position:static; }
  .sv2-pic{ display:none; }
  .sv2-list .t small{ max-height:none; opacity:1; }
  .sv2-list a{ grid-template-columns:40px 1fr auto; }
}
.sv2{ padding-top:clamp(50px,5vw,80px); } .sv2-pic{ aspect-ratio:16/10; }
/* ===== SELECTED RESULTS — 2-col case cards ===== */
.sw2{ background:#fbf7f8; padding:clamp(80px,9vw,140px) var(--gut); }
.sw2-head{ display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:30px; max-width:1500px; margin:0 auto clamp(40px,4vw,64px); }
.sw2-head .eyebrow{ display:block; font-size:12px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--pink-deep); margin-bottom:14px; }
.sw2-head h2{ font-weight:700; font-size:clamp(40px,4.4vw,72px); line-height:1; letter-spacing:-.05em; color:var(--ink); }
.sw2-head p{ font-size:clamp(16px,1.25vw,19px); line-height:1.6; color:rgba(43,15,29,.65); max-width:470px; padding-bottom:6px; }
.sw2-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,4vw,60px) clamp(20px,2.4vw,36px); max-width:1500px; margin:0 auto; }
.sw2-card{ margin:0; cursor:zoom-in; }
.sw2-card .pic{ position:relative; aspect-ratio:16/10; border-radius:22px; overflow:hidden; background:#f1e6ea; box-shadow:0 30px 60px -40px rgba(43,15,29,.55); }
.sw2-card img{ width:100%; height:100%; object-fit:cover; object-position:center 35%; transition:transform 1.2s var(--ease); }
.sw2-card:hover img{ transform:scale(1.04); }
.sw2-card .pill{ position:absolute; right:16px; bottom:16px; display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:999px; background:#fff; color:var(--ink); font-size:13.5px; font-weight:700; box-shadow:0 8px 22px -10px rgba(43,15,29,.5); }
.sw2-card .pill i{ width:8px; height:8px; border-radius:50%; background:#22b45a; box-shadow:0 0 0 3px rgba(34,180,90,.18); }
.sw2-card figcaption{ display:flex; align-items:baseline; gap:14px; padding:20px 4px 0; }
.sw2-card .n{ font-size:13px; font-weight:700; color:var(--gold); }
.sw2-card b{ font-size:clamp(18px,1.5vw,23px); font-weight:700; letter-spacing:-.02em; color:var(--ink); }
.sw2-card small{ margin-left:auto; font-size:14px; font-weight:500; color:rgba(43,15,29,.5); }
.sw2-more{ max-width:1500px; margin:clamp(40px,4vw,60px) auto 0; display:flex; justify-content:center; }
@media (max-width:760px){
  .sw2{ padding:70px 16px; }
  .sw2-head, .sw2-grid{ grid-template-columns:1fr; }
  .sw2-card .pill{ font-size:12px; padding:7px 12px; right:12px; bottom:12px; }
}
.sw2-card.work{ border-radius:0; overflow:visible; background:none; box-shadow:none; } .sw2-head, .sw2-grid, .sw2-more{ max-width:none; }
.sw2-head, .sw2-grid, .sw2-more{ max-width:1320px; margin-left:auto; margin-right:auto; } .sw2-head p{ justify-self:end; }
/* ===== NAV v3.1 — bolder, a bit of life ===== */
.hdr .nav a{ font-size:15.5px; font-weight:600; letter-spacing:-.005em; transition:color .3s, transform .3s var(--ease); }
.hdr .nav a:hover{ transform:translateY(-1px); }
.hdr .nav a::after{ height:2px; border-radius:2px; }
.hdr .logo b{ font-size:22px; }
.hdr .logo img{ transition:transform .6s var(--ease); }
.hdr .logo:hover img{ transform:rotate(-12deg) scale(1.06); }
.hdr .hdr-cta{ display:inline-flex; align-items:center; gap:10px; background:var(--wine); color:#fff; border:1.5px solid var(--wine); padding:14px 26px; font-weight:700; letter-spacing:.06em; box-shadow:0 10px 24px -14px rgba(43,15,29,.8); transition:background .3s, border-color .3s, transform .3s var(--ease), box-shadow .3s; }
.hdr .hdr-cta i{ display:flex; width:auto; height:auto; background:none; color:inherit; transition:transform .35s var(--ease); }
.hdr .hdr-cta i svg{ width:15px; height:15px; }
.hdr .hdr-cta:hover{ background:var(--pink-deep); border-color:var(--pink-deep); color:#fff; transform:translateY(-2px); box-shadow:0 14px 28px -14px rgba(224,51,107,.9); }
.hdr .hdr-cta:hover i{ transform:translateX(4px); }
.hdr.scrolled{ box-shadow:0 10px 30px -24px rgba(43,15,29,.45); }
/* ===== NUMBERS v3 — 4 stat cards ===== */
.ns-head{ display:grid; grid-template-columns:1fr auto; align-items:end; gap:20px 60px; padding:0 var(--gut); margin-bottom:clamp(44px,5vw,72px); }
.ns-head .eyebrow{ display:block; font-size:12px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); margin-bottom:16px; }
.ns-head h2{ font-weight:700; font-size:clamp(38px,4.4vw,72px); line-height:1.02; letter-spacing:-.045em; color:#fff; }
.ns-head h2 em{ font-family:var(--serif); font-style:italic; font-weight:400; color:var(--blush); }
.ns-head p{ max-width:360px; font-size:15.5px; line-height:1.6; color:rgba(255,236,243,.66); padding-bottom:10px; }
.ns-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(14px,1.4vw,24px); padding:0 var(--gut); }
.ns-card{ position:relative; display:flex; flex-direction:column; padding:14px 14px 28px; border-radius:26px; background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.015)); border:1px solid rgba(255,255,255,.09); transition:transform .5s var(--ease), border-color .4s, background .4s; }
.ns-card:hover{ transform:translateY(-6px); border-color:rgba(212,175,55,.45); background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.02)); }
.ns-card figure{ position:relative; margin:0; aspect-ratio:4/3; border-radius:18px; overflow:hidden; }
.ns-card figure img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease); }
.ns-card:hover figure img{ transform:scale(1.07); }
.ns-card figure span{ position:absolute; left:12px; top:12px; padding:6px 12px; border-radius:999px; background:rgba(43,15,29,.7); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); color:#fff; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.ns-num{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding:26px 10px 0; }
.ns-num em{ order:2; font-style:normal; font-size:12px; font-weight:700; color:rgba(255,236,243,.38); padding-top:10px; }
.ns-num b{ font-weight:300; font-size:clamp(54px,5.2vw,96px); line-height:.9; letter-spacing:-.06em; color:#fff; white-space:nowrap; }
.ns-num b small{ font-size:.5em; font-weight:400; color:var(--gold); margin-left:.04em; vertical-align:.7em; letter-spacing:0; }
.ns-card h3{ padding:18px 10px 0; font-size:clamp(17px,1.3vw,20px); font-weight:700; letter-spacing:-.015em; color:#fff; }
.ns-card p{ padding:8px 10px 0; font-size:14.5px; line-height:1.55; color:rgba(255,236,243,.62); }
.ns-card:nth-child(1) .ns-num b, .ns-card:nth-child(3) .ns-num b{ color:var(--blush); }
@media (max-width:1100px){ .ns-grid{ grid-template-columns:1fr 1fr; } .ns-head{ grid-template-columns:1fr; } }
@media (max-width:640px){ .ns-grid{ grid-template-columns:1fr; padding:0 16px; } .ns-head{ padding:0 16px; } }
/* ===== NUMBERS v4 — editorial, type only ===== */
.nx-grid{ display:grid; grid-template-columns:repeat(4,1fr); margin:0 var(--gut); border-top:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); }
.nx-col{ padding:clamp(28px,2.6vw,40px) clamp(18px,2vw,34px) clamp(34px,3vw,48px); border-left:1px solid rgba(255,255,255,.18); display:flex; flex-direction:column; }
.nx-col:first-child{ border-left:0; padding-left:0; }
.nx-lab{ display:flex; align-items:center; gap:10px; font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,236,243,.6); }
.nx-lab i{ width:18px; height:1px; background:rgba(255,236,243,.4); }
.nx-big{ display:block; margin:clamp(30px,4vw,64px) 0 18px; font-weight:300; font-size:clamp(64px,7vw,128px); line-height:.85; letter-spacing:-.06em; color:#fff; white-space:nowrap; }
.nx-big small{ font-size:.42em; font-weight:400; letter-spacing:-.02em; color:var(--gold); margin-left:.06em; }
.nx-col p{ margin-top:auto; font-size:15px; line-height:1.55; color:rgba(255,236,243,.62); max-width:300px; }
@media (max-width:1100px){ .nx-grid{ grid-template-columns:1fr 1fr; } .nx-col:nth-child(3){ border-left:0; padding-left:0; } .nx-col:nth-child(n+3){ border-top:1px solid rgba(255,255,255,.18); } }
@media (max-width:640px){ .nx-grid{ grid-template-columns:1fr; margin:0 16px; } .nx-col{ border-left:0; padding-left:0; border-top:1px solid rgba(255,255,255,.18); } .nx-col:first-child{ border-top:0; } }
.sv2{ padding-top:clamp(90px,9vw,150px); }
/* ===== PROOF v5 — one hero result + plain list ===== */
.pf{ display:grid; grid-template-columns:1.15fr 1fr; gap:clamp(40px,7vw,140px); padding:0 var(--gut); align-items:start; }
.pf-k{ font-size:14px; font-weight:500; color:rgba(255,236,243,.6); }
.pf-big{ display:block; font-family:"Anton", var(--body); font-weight:400; font-size:clamp(110px,13vw,250px); line-height:.9; letter-spacing:-.01em; color:var(--blush); margin:10px 0 18px; white-space:nowrap; }
.pf-txt{ font-size:clamp(18px,1.5vw,23px); line-height:1.45; color:#fff; max-width:520px; font-weight:500; letter-spacing:-.01em; }
.pf-shot{ margin:40px 0 0; width:min(100%,520px); transform:rotate(-2.2deg); background:#fff; padding:10px 10px 0; border-radius:6px; box-shadow:0 30px 60px -30px rgba(0,0,0,.7); transition:transform .6s var(--ease); }
.pf-shot:hover{ transform:rotate(0); }
.pf-shot img{ display:block; width:100%; border-radius:2px; }
.pf-shot figcaption{ font-size:12px; color:#7a6a70; padding:9px 2px 10px; }
.pf-list{ list-style:none; margin:0; padding:0; }
.pf-list li{ display:grid; grid-template-columns:minmax(0,auto) 1fr; gap:28px; align-items:center; padding:clamp(24px,2.6vw,38px) 0; border-bottom:1px solid rgba(255,255,255,.14); }
.pf-list li:first-child{ border-top:1px solid rgba(255,255,255,.14); }
.pf-list b{ font-family:"Anton", var(--body); font-weight:400; font-size:clamp(64px,6vw,112px); line-height:.9; color:#fff; min-width:2.3em; white-space:nowrap; }
.pf-list li:nth-child(2) b{ color:var(--gold); }
.pf-list p{ font-size:16px; line-height:1.55; color:rgba(255,236,243,.72); max-width:300px; }
.pf-list li.pf-cta{ display:block; border-bottom:0; padding-top:30px; }
@media (max-width:1000px){ .pf{ grid-template-columns:1fr; } }
@media (max-width:640px){ .pf{ padding:0 16px; } .pf-list li{ grid-template-columns:1fr; gap:8px; } .pf-big{ font-size:30vw; } }
/* =====================================================================
   BRAND BLEND (v24) — brand board: Playfair + Montserrat, pink / blush /
   baby pink / gold / pearl. Light, feminine, premium.
   ===================================================================== */
:root{ --gold-grad:linear-gradient(100deg,#b8892a 0%,#e6c35c 45%,#c99a2e 100%); }
/* eyebrows like the board: serif caps + thin gold rule */
.eyebrow, .sw2-head .eyebrow, .sv2-l .eyebrow{ font-family:var(--serif) !important; font-weight:500 !important; font-size:14px !important; letter-spacing:.14em !important; color:var(--pink-ink) !important; display:flex !important; align-items:center; gap:14px; }
.eyebrow::before{ content:none !important; }
.eyebrow::after{ content:""; width:72px; height:1px; background:linear-gradient(90deg,var(--gold),transparent); }

/* hero wordmark = brand wordmark: Playfair, pink + gold */
.sc-word{ font-family:var(--serif) !important; font-weight:600; text-transform:none; letter-spacing:-.02em; line-height:1.02; }
.sc-word .w1{ color:var(--pink-deep); }
.sc-word .w2 i{ background:var(--gold-grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.sc-word .w1 i:hover{ color:var(--pink); }
.sc-word .w2 i:hover{ color:transparent; filter:brightness(1.12); }
.m3-line span{ font-family:var(--serif); font-style:italic; font-weight:500; color:var(--pink-deep); }

/* numbers + services band: baby pink instead of dark wine */
.sc-band{ background:linear-gradient(180deg,var(--baby) 0%,#fff3f7 100%); color:var(--ink); position:relative; }
.sc-band::before{ content:""; position:absolute; left:var(--gut); right:var(--gut); top:0; height:1px; background:linear-gradient(90deg,transparent,var(--gold),transparent); opacity:.6; }
.pf-k{ font-family:var(--serif); font-size:16px; font-style:italic; color:var(--pink-ink); }
.pf-big{ font-family:var(--serif) !important; font-weight:600 !important; letter-spacing:-.03em; color:var(--pink-deep); font-size:clamp(96px,11vw,210px); }
.pf-txt{ color:var(--ink); }
.pf-list li, .pf-list li:first-child{ border-color:rgba(212,175,55,.45); }
.pf-list b{ font-family:var(--serif) !important; font-weight:600 !important; color:var(--ink); letter-spacing:-.03em; font-size:clamp(56px,5vw,96px); }
.pf-list li:nth-child(2) b{ background:var(--gold-grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.pf-list li:nth-child(3) b{ color:var(--pink-deep); }
.pf-list p{ color:rgba(43,15,29,.7); }
.pf-shot{ box-shadow:0 30px 60px -34px rgba(140,40,80,.45); }
.m3-go.light{ color:var(--ink); border-color:var(--ink); }
.m3-go.light:hover{ color:var(--pink-deep); border-color:var(--pink-deep); }
.sv2-l h2{ color:var(--ink); font-family:var(--serif); font-weight:600; letter-spacing:-.025em; }
.sv2-l h2 em{ color:var(--pink-deep); }
.sv2-l p{ color:rgba(43,15,29,.68); }
.sv2-pic{ background:#fff; box-shadow:0 30px 60px -36px rgba(140,40,80,.5); }
.sv2-list, .sv2-list li{ border-color:rgba(212,175,55,.45); }
.sv2-list a{ color:var(--ink); }
.sv2-list .n{ color:rgba(43,15,29,.4); font-family:var(--serif); font-size:15px; }
.sv2-list .t b{ font-weight:600; }
.sv2-list .t small{ color:rgba(43,15,29,.6); }
.sv2-list .go{ border-color:rgba(43,15,29,.2); color:var(--ink); }
.sv2-list li.on .n{ color:var(--gold); }
.sv2-list li.on .t b{ color:var(--pink-deep); }
.sv2-list li.on .go{ color:#fff; }

/* section headings in Playfair */
.sw2-head h2, .sc-h, .sc-touch h2{ font-family:var(--serif) !important; font-weight:600 !important; text-transform:none !important; letter-spacing:-.025em !important; }
.sw2{ background:#fff; }
.sw2-card .n{ font-family:var(--serif); font-size:15px; }
.sw2-card b{ font-family:var(--serif); font-weight:600; letter-spacing:-.01em; }

/* brand values strip (from the board) */
.bv{ background:#fff; padding:clamp(40px,4vw,60px) var(--gut); border-top:1px solid rgba(212,175,55,.35); border-bottom:1px solid rgba(212,175,55,.35); }
.bv ul{ list-style:none; margin:0 auto; padding:0; display:grid; grid-template-columns:repeat(5,1fr); max-width:1500px; }
.bv li{ display:flex; align-items:center; justify-content:center; gap:14px; padding:6px 10px; border-left:1px solid rgba(212,175,55,.35); }
.bv li:first-child{ border-left:0; }
.bv svg{ width:30px; height:30px; flex:none; color:var(--gold); }
.bv span{ font-size:12.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--ink); max-width:9em; line-height:1.4; }
.bv-line{ text-align:center; margin-top:clamp(28px,3vw,40px); font-family:var(--serif); font-size:clamp(22px,2.2vw,34px); color:var(--ink); letter-spacing:-.01em; }
.bv-line em{ color:var(--pink-deep); font-style:italic; }
@media (max-width:900px){ .bv ul{ grid-template-columns:1fr 1fr; gap:18px 0; } .bv li{ border-left:0; justify-content:flex-start; } .bv{ padding:40px 16px; } }
/* lining numerals for Playfair figures */
.pf-big, .pf-list b, .sv2-list .n, .sw2-card .n, [data-count]{ font-variant-numeric:lining-nums; font-feature-settings:"lnum" 1; }
.pf-big{ line-height:1; margin-bottom:26px; }
.hdr .hdr-cta{ background:var(--pink-deep); border-color:var(--pink-deep); box-shadow:0 12px 26px -14px rgba(224,51,107,.9); }
.hdr .hdr-cta:hover{ background:var(--wine); border-color:var(--wine); box-shadow:0 14px 28px -14px rgba(43,15,29,.8); }
/* brand blend: lower page */
.fb-q.dark{ background:linear-gradient(160deg,var(--pink-deep),#f06a95); color:#fff; }
.fb-q.dark .sc-ul{ color:#fff; }
.sc-fb .sc-h.sm{ font-family:var(--serif) !important; }
.sc-strip{ background:var(--baby); color:var(--ink); border-top:1px solid rgba(212,175,55,.4); border-bottom:1px solid rgba(212,175,55,.4); }
.sc-strip span{ gap:22px; padding:14px 34px; text-transform:none; font-weight:500; }
.sc-strip small{ font-size:10px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:rgba(43,15,29,.55); opacity:1; }
.sc-strip em{ font-family:var(--serif); font-style:italic; font-size:22px; color:var(--pink-deep); }
.sc-strip b{ font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; background:var(--gold-grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.sc-cols, .sc-cols > div, .c-about, .c-about .blk{ border-color:rgba(212,175,55,.45) !important; }
.c-about h3{ font-family:var(--serif); font-weight:600; letter-spacing:-.02em; }
.c-links h4{ color:var(--pink-ink); }
.sc-touch h2{ color:var(--ink); }
/* footer: pearl + baby pink like the board */
.ftr{ background:linear-gradient(180deg,#fff 0%,var(--baby) 100%); color:rgba(43,15,29,.7); border-top:1px solid rgba(212,175,55,.4); }
.ftr .word{ color:var(--pink-deep); font-style:normal; font-weight:600; letter-spacing:-.03em; }
.ftr .word span{ background:var(--gold-grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.ftr .base{ border-top-color:rgba(212,175,55,.45); color:rgba(43,15,29,.65); }
.ftr .base a{ color:var(--pink-ink); }
.ftr .base a:hover{ color:var(--pink-deep); }
.ftr h4{ color:var(--pink-ink); }
.ftr .flogo b{ color:var(--pink-deep); }
.ftr .cols a:hover{ color:var(--pink-deep); }
body{ font-variant-numeric:lining-nums; }
/* wordmark back to the bold condensed cut (Anton), brand colours kept */
.sc-word{ font-family:"Anton", var(--body) !important; font-weight:400 !important; text-transform:uppercase !important; letter-spacing:0 !important; line-height:.92 !important; }
/* =====================================================================
   COLOUR BLEND v2 — full brand board palette, used in harmony
   Dazzle pink #FF5C8A · Blush #FFC1D6 · Baby #FFE6EF · Lilac #E3D1FF
   Rose #F7B6C9 · Gold #D4AF37 · Pearl #FFFFFF
   ===================================================================== */
:root{
  --dz:#ff5c8a; --dz-deep:#e0336b; --lilac-soft:#f4ecff; --pearl:#fffdfb;
  --pink-grad:linear-gradient(100deg,#ff5c8a 0%,#e0336b 55%,#d02a62 100%);
  --dream:linear-gradient(135deg,#ffe6ef 0%,#fff3f7 45%,#f4ecff 100%);
}
/* hero wordmark: pink gradient + gold gradient */
.sc-word .w1 i{ background:var(--pink-grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.sc-word .w1 i:hover{ color:transparent; filter:brightness(1.1) saturate(1.1); }
.m3-line span{ color:var(--dz-deep); }

/* numbers + services: baby pink → lilac dream */
.sc-band{ background:var(--dream); }
.pf-big{ background:var(--pink-grad); -webkit-background-clip:text; background-clip:text; color:transparent !important; }
.pf-list li:nth-child(3) b{ color:#b58be0; }
.sv2-list li.on .go{ background:var(--pink-grad); border-color:transparent; }
.sv2-pic{ box-shadow:0 30px 60px -36px rgba(150,90,200,.45); }

/* values strip: pearl with gold */
.bv{ background:var(--pearl); }
.bv li:nth-child(odd) svg{ color:var(--gold); }
.bv li:nth-child(even) svg{ color:var(--dz); }

/* results: white, rose accents */
.sw2{ background:#fff; }
.sw2-head .eyebrow{ color:var(--dz-deep) !important; }
.sw2-card .pill i{ background:var(--dz); box-shadow:0 0 0 3px rgba(255,92,138,.2); }
.sw2-card .pic{ box-shadow:0 30px 60px -40px rgba(224,51,107,.45); }

/* feedback: pink → rose → lilac card, soft quote card */
.fb-q{ background:linear-gradient(160deg,#fff3f7,#f8f1ff); }
.fb-q i{ color:#e7cdf2; }
.fb-q.dark{ background:linear-gradient(150deg,#ff5c8a 0%,#f08cb0 55%,#c9a4f0 100%); }

/* strip: lilac tint */
.sc-strip{ background:linear-gradient(90deg,#ffe6ef,#f4ecff,#ffe6ef); }

/* buttons */
.hdr .hdr-cta, .btn-pink, .m-btn{ background:var(--pink-grad) !important; border-color:transparent !important; }
.hdr .hdr-cta:hover{ background:var(--wine) !important; }

/* footer: pearl → baby → lilac */
.ftr{ background:linear-gradient(180deg,#fff 0%,#ffe6ef 60%,#f4ecff 100%); }
.ftr .word{ background:none; }
.ftr .word{ color:transparent; }
.ftr .word{ background:var(--pink-grad); -webkit-background-clip:text; background-clip:text; }
.ftr .word span{ background:var(--gold-grad); -webkit-background-clip:text; background-clip:text; }
.sc-touch h2 em{ font-style:italic; font-weight:500; background:var(--pink-grad); -webkit-background-clip:text; background-clip:text; color:transparent; padding-right:.06em; }
/* values — simple type only */
.bv2{ background:#fff; padding:clamp(80px,9vw,140px) var(--gut); text-align:center; }
.bv2-line{ font-family:var(--serif); font-weight:500; font-size:clamp(34px,4.4vw,72px); line-height:1.1; letter-spacing:-.025em; color:var(--ink); }
.bv2-line em{ font-style:italic; background:var(--pink-grad); -webkit-background-clip:text; background-clip:text; color:transparent; padding-right:.05em; }
.bv2-vals{ margin-top:clamp(26px,3vw,40px); font-size:13px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:rgba(43,15,29,.55); }
.bv2-vals i{ font-style:normal; color:var(--gold); margin:0 .9em; }
@media (max-width:640px){ .bv2{ padding:70px 16px; } .bv2-vals{ line-height:2.2; } }
/* services list — bolder, no arrow circles */
.sv2-list .t b{ font-weight:800; font-size:clamp(26px,2.6vw,44px); letter-spacing:-.04em; }
.sv2-list .n{ font-family:var(--body); font-weight:700; font-size:13px; }
.sv2-list .go{ width:auto; height:auto; border:0 !important; border-radius:0; background:none !important; transform:none !important; font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--pink-deep) !important; opacity:0; padding-bottom:3px; border-bottom:1.5px solid var(--pink-deep) !important; transition:opacity .35s; }
.sv2-list li.on .go{ opacity:1; }
@media (max-width:900px){ .sv2-list .go{ display:none; } }
/* proof list — plain bold black */
.pf-list b, .pf-list li:nth-child(2) b, .pf-list li:nth-child(3) b{ font-family:var(--body) !important; font-weight:800 !important; letter-spacing:-.05em; color:var(--ink) !important; background:none !important; -webkit-background-clip:border-box !important; background-clip:border-box !important; }
.pf-list p{ color:rgba(43,15,29,.75); }
.pf{ align-items:center; } .pf-txt{ max-width:560px; }
.pf-list li{ grid-template-columns:clamp(200px,15vw,290px) 1fr; } .pf-list b{ min-width:0; } .pf-big{ font-family:var(--body) !important; font-weight:800 !important; letter-spacing:-.055em; font-size:clamp(90px,10vw,190px); }
/* service rows: image placeholder on the right */
.sv2-list a{ grid-template-columns:56px 1fr auto; }
.sv2-list .th{ width:clamp(120px,10vw,170px); aspect-ratio:16/10; border-radius:14px; overflow:hidden; background:linear-gradient(135deg,#ffe6ef,#f4ecff); box-shadow:0 14px 30px -20px rgba(140,40,80,.5); transition:transform .5s var(--ease); }
.sv2-list .th img{ width:100%; height:100%; object-fit:cover; object-position:center 30%; transition:transform 1s var(--ease); }
.sv2-list li.on .th{ transform:rotate(-3deg) scale(1.04); }
.sv2-list li.on .th img{ transform:scale(1.08); }
@media (max-width:640px){ .sv2-list .th{ width:84px; border-radius:10px; } }
/* service rows: no thumbnails */
.sv2-list .th{ display:none !important; }
.sv2-list a{ grid-template-columns:56px 1fr; }
/* designed placeholders in the preview box */
.sv2-pic{ aspect-ratio:16/11; background:none; }
.sv2-pic .ph{ position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:clamp(22px,2.4vw,36px); color:#fff; opacity:0; transform:scale(1.03); transition:opacity .55s var(--ease), transform .9s var(--ease); overflow:hidden; }
.sv2-pic .ph.on{ opacity:1; transform:none; }
.sv2-pic .ph0{ background:linear-gradient(140deg,#ff5c8a 0%,#e0336b 100%); }
.sv2-pic .ph1{ background:linear-gradient(140deg,#f7b6c9 0%,#c9a4f0 100%); }
.sv2-pic .ph2{ background:linear-gradient(140deg,#2b0f1d 0%,#5a1f3d 100%); }
.sv2-pic .ph::before{ content:""; position:absolute; right:-18%; top:-30%; width:75%; aspect-ratio:1; border-radius:50%; border:1px solid rgba(255,255,255,.35); }
.sv2-pic .ph::after{ content:""; position:absolute; right:-6%; top:-12%; width:48%; aspect-ratio:1; border-radius:50%; border:1px solid rgba(255,255,255,.25); }
.sv2-pic .ph-n{ position:absolute; left:clamp(22px,2.4vw,36px); top:clamp(16px,2vw,28px); font-family:"Anton",var(--body); font-size:clamp(70px,7vw,120px); line-height:1; color:rgba(255,255,255,.22); }
.sv2-pic .ph2 .ph-n{ color:rgba(212,175,55,.35); }
.sv2-pic .ph b{ position:relative; font-size:clamp(22px,2vw,32px); font-weight:800; letter-spacing:-.03em; line-height:1.1; }
.sv2-pic .ph small{ position:relative; margin-top:8px; font-size:13px; font-weight:600; letter-spacing:.04em; opacity:.85; }
.sv2-pic .ph em{ position:absolute; right:clamp(18px,2vw,28px); bottom:clamp(18px,2vw,28px); font-style:normal; font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; padding:6px 10px; border:1px dashed rgba(255,255,255,.55); border-radius:999px; opacity:.8; }
@media (max-width:900px){ .sv2-pic{ display:block; } }

/* =====================================================================
   WORK PAGE v2 (portfolio)
   ===================================================================== */
body.wk{ background:#fff; }
.wk-hero{ padding:clamp(40px,6vh,80px) var(--gut) clamp(50px,6vw,90px); }
.wk-hero .crumb{ display:flex; gap:10px; font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:rgba(43,15,29,.5); }
.wk-hero .crumb a:hover{ color:var(--pink-deep); }
.wk-h1{ margin:clamp(14px,2vw,26px) 0 clamp(30px,3vw,48px); font-family:"Anton",var(--body); font-weight:400; text-transform:uppercase; font-size:clamp(90px,17vw,330px); line-height:.86; letter-spacing:0; color:var(--ink); }
.wk-h1 span{ background:var(--pink-grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.wk-intro{ display:grid; grid-template-columns:1.2fr 1fr; gap:clamp(30px,6vw,120px); align-items:end; padding-top:clamp(24px,2.6vw,36px); border-top:1px solid rgba(43,15,29,.14); }
.wk-intro p{ font-size:clamp(18px,1.5vw,23px); line-height:1.5; font-weight:500; letter-spacing:-.01em; color:var(--ink); max-width:640px; }
.wk-facts{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.wk-facts b{ display:block; font-size:clamp(40px,4vw,64px); font-weight:800; letter-spacing:-.05em; line-height:1; color:var(--ink); }
.wk-facts span{ display:block; margin-top:8px; font-size:13px; font-weight:600; color:rgba(43,15,29,.6); }

.wk-sec-h{ display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:clamp(28px,3vw,44px); }
.wk-sec-h h2{ font-size:clamp(36px,4.2vw,68px); font-weight:800; letter-spacing:-.05em; line-height:1; color:var(--ink); }
.wk-sec-h p{ max-width:380px; font-size:15px; line-height:1.55; color:rgba(43,15,29,.62); text-align:right; }

/* sample works */
.wk-samples{ padding:clamp(70px,7vw,110px) var(--gut); background:var(--dream); }
.wk-filter{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:clamp(40px,4vw,60px); }
.wk-filter button{ padding:11px 20px; border-radius:999px; border:1px solid rgba(43,15,29,.16); background:rgba(255,255,255,.6); font:600 13.5px/1 var(--body); color:var(--ink); cursor:pointer; transition:background .3s, color .3s, border-color .3s; }
.wk-filter button:hover{ border-color:var(--ink); }
.wk-filter button.on{ background:var(--ink); color:#fff; border-color:var(--ink); }
.wk-client{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2.4fr); gap:clamp(24px,4vw,70px); padding:clamp(36px,4vw,56px) 0; border-top:1px solid rgba(212,175,55,.45); }
.wk-client.hide{ display:none; }
.wk-cl-h{ position:sticky; top:120px; align-self:start; }
.wk-idx{ font-size:13px; font-weight:700; color:var(--pink-deep); }
.wk-cl-h h3{ margin-top:10px; font-family:var(--serif); font-weight:600; font-size:clamp(26px,2.4vw,40px); line-height:1.1; letter-spacing:-.02em; color:var(--ink); }
.wk-cl-h dl{ margin:22px 0 0; display:grid; gap:12px; }
.wk-cl-h dl div{ display:flex; justify-content:space-between; gap:14px; padding-bottom:12px; border-bottom:1px solid rgba(43,15,29,.1); }
.wk-cl-h dt{ font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:rgba(43,15,29,.5); }
.wk-cl-h dd{ margin:0; font-size:14px; font-weight:600; color:var(--ink); text-align:right; }
.wk-pieces{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(10px,1.2vw,18px); }
.wk-p{ margin:0; aspect-ratio:1; border-radius:16px; overflow:hidden; background:#fff; cursor:zoom-in; box-shadow:0 20px 40px -30px rgba(140,40,80,.55); }
.wk-p img{ width:100%; height:100%; object-fit:cover; transition:transform 1s var(--ease); }
.wk-p:hover img{ transform:scale(1.05); }
.wk-p.work{ border-radius:16px; }

/* case studies */
.wk-cases-s{ padding:clamp(80px,8vw,130px) var(--gut); background:#fff; }
.wk-case{ display:grid; grid-template-columns:1fr 1.05fr; gap:clamp(30px,5vw,90px); align-items:center; padding:clamp(40px,4vw,64px) 0; border-top:1px solid rgba(43,15,29,.12); }
.wk-case:nth-child(even) figure{ order:2; }
.wk-case figure{ margin:0; aspect-ratio:5/4; border-radius:24px; overflow:hidden; box-shadow:0 30px 60px -40px rgba(140,40,80,.55); }
.wk-case figure img{ width:100%; height:100%; object-fit:cover; }
.wk-tag{ font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--pink-deep); }
.wk-case h3{ margin-top:14px; font-size:clamp(40px,4.4vw,72px); font-weight:800; letter-spacing:-.05em; line-height:1; color:var(--ink); }
.wk-sub{ margin-top:10px; font-family:var(--serif); font-style:italic; font-size:clamp(18px,1.5vw,22px); color:rgba(43,15,29,.7); }
.wk-case ul{ list-style:none; margin:clamp(24px,2.6vw,36px) 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; border-top:1px solid rgba(43,15,29,.12); }
.wk-case li{ padding:18px 0; border-bottom:1px solid rgba(43,15,29,.12); }
.wk-case li:nth-child(odd){ padding-right:20px; border-right:1px solid rgba(43,15,29,.12); }
.wk-case li:nth-child(even){ padding-left:24px; }
.wk-case li b{ display:block; font-size:clamp(26px,2.2vw,36px); font-weight:800; letter-spacing:-.04em; color:var(--ink); line-height:1; }
.wk-case li span{ display:block; margin-top:6px; font-size:13.5px; color:rgba(43,15,29,.6); }
.wk-how{ margin-top:22px; font-size:15px; line-height:1.6; color:rgba(43,15,29,.7); max-width:520px; }

/* proof */
.wk-proof-s{ padding:clamp(80px,8vw,130px) var(--gut); background:var(--dream); }
.wk-proofs{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(14px,1.6vw,24px); }
.wk-proof{ margin:0; border-radius:18px; overflow:hidden; background:#fff; cursor:zoom-in; box-shadow:0 24px 50px -36px rgba(140,40,80,.55); }
.wk-proof.work{ border-radius:18px; }
.wk-proof img{ display:block; width:100%; aspect-ratio:4/3; object-fit:cover; object-position:top; transition:transform 1s var(--ease); }
.wk-proof:hover img{ transform:scale(1.04); }
.wk-proof figcaption{ padding:16px 18px 18px; }
.wk-proof figcaption span{ display:block; font-size:11.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--pink-deep); }
.wk-proof figcaption b{ display:block; margin-top:4px; font-size:16px; font-weight:700; color:var(--ink); }

/* video ads */
.wk-reels-s{ padding:clamp(80px,8vw,130px) var(--gut); background:#fff; }
.wk-reels{ display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid rgba(43,15,29,.14); }
.wk-reel{ display:flex; flex-direction:column; gap:10px; padding:28px 22px 30px 0; border-bottom:1px solid rgba(43,15,29,.14); transition:color .3s; }
.wk-reel + .wk-reel{ padding-left:22px; border-left:1px solid rgba(43,15,29,.14); }
.wk-reel .n{ font-size:13px; font-weight:700; color:var(--pink-deep); }
.wk-reel b{ font-size:clamp(20px,1.7vw,26px); font-weight:800; letter-spacing:-.03em; color:var(--ink); }
.wk-reel .w{ font-size:13px; font-weight:600; color:rgba(43,15,29,.55); border-bottom:1.5px solid transparent; align-self:flex-start; transition:color .3s, border-color .3s; }
.wk-reel:hover b{ color:var(--pink-deep); }
.wk-reel:hover .w{ color:var(--pink-deep); border-color:var(--pink-deep); }

/* cta */
.wk-cta{ padding:clamp(90px,10vw,160px) var(--gut); text-align:center; background:var(--dream); }
.wk-cta h2{ font-size:clamp(40px,5.4vw,92px); font-weight:800; letter-spacing:-.05em; line-height:1.02; color:var(--ink); }
.wk-cta h2 em{ font-family:var(--serif); font-style:italic; font-weight:500; background:var(--pink-grad); -webkit-background-clip:text; background-clip:text; color:transparent; padding-right:.06em; }
.wk-cta .m3-go{ margin-top:36px; }

/* footer wordmark: always fit */
.ftr .word{ font-size:clamp(48px,10.4vw,200px) !important; white-space:nowrap; }

@media (max-width:1000px){
  .wk-intro, .wk-client, .wk-case{ grid-template-columns:1fr; }
  .wk-cl-h{ position:static; }
  .wk-case:nth-child(even) figure{ order:0; }
  .wk-proofs{ grid-template-columns:1fr 1fr; }
  .wk-reels{ grid-template-columns:1fr 1fr; }
  .wk-reel + .wk-reel{ border-left:0; padding-left:0; }
  .wk-sec-h{ flex-direction:column; align-items:flex-start; }
  .wk-sec-h p{ text-align:left; }
}
@media (max-width:640px){
  .wk-hero, .wk-samples, .wk-cases-s, .wk-proof-s, .wk-reels-s, .wk-cta{ padding-left:16px; padding-right:16px; }
  .wk-pieces{ grid-template-columns:1fr 1fr; }
  .wk-proofs, .wk-reels{ grid-template-columns:1fr; }
  .wk-facts b{ font-size:34px; }
  .wk-filter{ flex-wrap:nowrap; overflow-x:auto; margin-left:-16px; margin-right:-16px; padding:0 16px; }
  .wk-filter button{ flex:none; }
}
.wk-pieces:has(> :nth-child(4):last-child){ grid-template-columns:repeat(4,1fr); } .wk-case figure{ aspect-ratio:4/3; } @media (max-width:640px){ .wk-pieces:has(> :nth-child(4):last-child){ grid-template-columns:1fr 1fr; } }
.wk-proof img{ height:auto !important; aspect-ratio:4/3 !important; } .wk-proof figcaption{ display:block !important; position:static !important; opacity:1 !important; transform:none !important; background:#fff !important; }
.ftr .wrap{ container-type:inline-size; } .ftr .word{ font-size:11cqw !important; overflow:visible; text-align:center; }
.ftr .word{ font-size:14.6cqw !important; padding-top:.12em; }

/* =====================================================================
   SERVICES & RATES v2 — rate card
   ===================================================================== */
.sr-h1{ font-size:clamp(70px,12.4vw,250px); }
.sr-h1 span{ white-space:nowrap; }

/* rates: sticky service nav + price list */
.sr-rates{ display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,2.4fr); gap:clamp(30px,5vw,90px); padding:clamp(70px,7vw,110px) var(--gut); background:var(--dream); scroll-margin-top:80px; }
.sr-nav{ position:sticky; top:120px; align-self:start; display:flex; flex-direction:column; }
.sr-nav-h{ font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:rgba(43,15,29,.5); margin-bottom:14px; }
.sr-nav button{ display:flex; align-items:baseline; gap:14px; padding:15px 0; border:0; border-top:1px solid rgba(43,15,29,.12); background:none; text-align:left; font:700 clamp(16px,1.25vw,19px)/1.25 var(--body); letter-spacing:-.02em; color:rgba(43,15,29,.45); cursor:pointer; transition:color .3s, padding .4s var(--ease); }
.sr-nav button:last-child{ border-bottom:1px solid rgba(43,15,29,.12); }
.sr-nav button span{ font-size:12px; font-weight:700; color:inherit; min-width:22px; }
.sr-nav button:hover{ color:var(--ink); }
.sr-nav button.on{ color:var(--ink); padding-left:10px; }
.sr-nav button.on span{ color:var(--pink-deep); }

.sr-head{ padding-bottom:clamp(26px,2.6vw,36px); }
.sr-n{ font-size:12px; font-weight:700; letter-spacing:.14em; color:var(--pink-deep); }
.sr-head h2{ margin-top:10px; font-size:clamp(38px,4.4vw,72px); font-weight:800; letter-spacing:-.05em; line-height:1; color:var(--ink); }
.sr-head p{ margin-top:16px; font-size:clamp(16px,1.2vw,18px); line-height:1.6; color:rgba(43,15,29,.7); max-width:620px; }

.sr-plans{ list-style:none; margin:0; padding:0; border-top:1px solid rgba(43,15,29,.16); animation:srIn .5s var(--ease); }
@keyframes srIn{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }
.sr-plans > li{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1.1fr) minmax(0,.85fr); gap:clamp(18px,2.4vw,40px); align-items:center; padding:clamp(22px,2.2vw,32px) clamp(14px,1.4vw,22px); border-bottom:1px solid rgba(43,15,29,.16); transition:background .35s; }
.sr-plans > li:hover{ background:rgba(255,255,255,.5); }
.sr-plans > li.hot{ background:#fff; border-radius:18px; border-bottom-color:transparent; box-shadow:0 24px 50px -34px rgba(140,40,80,.5); margin:6px 0; }
.sr-pl-a h3{ font-size:clamp(20px,1.6vw,26px); font-weight:800; letter-spacing:-.03em; color:var(--ink); line-height:1.15; }
.sr-pl-a h3 em{ display:inline-block; vertical-align:middle; margin-left:8px; font-style:normal; font-size:10.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--pink-deep); }
.sr-plans li.hot .sr-pl-a h3 em{ color:#fff; background:var(--pink-grad); padding:5px 10px; border-radius:999px; }
.sr-pl-a p{ margin-top:6px; font-size:14px; line-height:1.5; color:rgba(43,15,29,.6); }
.sr-pl-i{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:6px 18px; }
.sr-pl-i li{ position:relative; padding-left:14px; font-size:14.5px; font-weight:500; color:var(--ink); }
.sr-pl-i li::before{ content:""; position:absolute; left:0; top:.6em; width:6px; height:1.5px; background:var(--gold); }
.sr-pl-p{ display:grid; grid-template-columns:auto auto; justify-content:end; align-items:baseline; column-gap:4px; text-align:right; }
.sr-pl-p b{ font-size:clamp(26px,2.3vw,38px); font-weight:800; letter-spacing:-.045em; color:var(--ink); line-height:1; }
.sr-pl-p small{ font-size:13px; font-weight:600; color:rgba(43,15,29,.5); }
.sr-pl-p a{ grid-column:1/-1; justify-self:end; margin-top:12px; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ink); padding-bottom:3px; border-bottom:1.5px solid var(--ink); transition:color .3s, border-color .3s; }
.sr-pl-p a:hover, .sr-plans li.hot .sr-pl-p a{ color:var(--pink-deep); border-color:var(--pink-deep); }

.sr-add{ margin-top:clamp(36px,4vw,56px); }
.sr-add h4{ font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:rgba(43,15,29,.5); margin-bottom:10px; }
.sr-add > div{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto; gap:20px; align-items:baseline; padding:16px 0; border-top:1px solid rgba(43,15,29,.12); }
.sr-add > div:last-child{ border-bottom:1px solid rgba(43,15,29,.12); }
.sr-add b{ font-size:16px; font-weight:700; color:var(--ink); }
.sr-add p{ font-size:14px; color:rgba(43,15,29,.6); }
.sr-add span{ font-size:15px; font-weight:800; color:var(--ink); white-space:nowrap; }

/* bundles */
.sr-bundles-s{ padding:clamp(80px,8vw,130px) var(--gut); background:#fff; }
.sr-bundles{ display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid rgba(43,15,29,.14); border-bottom:1px solid rgba(43,15,29,.14); }
.sr-b{ display:flex; flex-direction:column; padding:clamp(24px,2.2vw,34px) clamp(16px,1.6vw,26px) clamp(26px,2.4vw,36px); border-left:1px solid rgba(43,15,29,.14); }
.sr-b:first-child{ border-left:0; padding-left:0; }
.sr-b-t{ font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(43,15,29,.45); }
.sr-b h3{ margin-top:14px; font-size:clamp(19px,1.5vw,24px); font-weight:800; letter-spacing:-.03em; line-height:1.15; color:var(--ink); min-height:2.3em; }
.sr-b-p{ margin-top:16px; display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
.sr-b-p b{ font-size:clamp(26px,2.2vw,36px); font-weight:800; letter-spacing:-.045em; color:var(--ink); }
.sr-b-p s{ font-size:14px; color:rgba(43,15,29,.4); }
.sr-b-s{ margin-top:6px; font-size:13px; font-weight:700; color:var(--pink-deep); }
.sr-b ul{ list-style:none; margin:20px 0 0; padding:16px 0 0; border-top:1px solid rgba(43,15,29,.1); display:grid; gap:9px; }
.sr-b li{ position:relative; padding-left:14px; font-size:14px; line-height:1.45; color:rgba(43,15,29,.75); }
.sr-b li::before{ content:""; position:absolute; left:0; top:.6em; width:6px; height:1.5px; background:var(--gold); }
.sr-b a{ margin-top:auto; padding-top:24px; align-self:flex-start; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ink); }
.sr-b a::after{ content:""; display:block; height:1.5px; margin-top:3px; background:currentColor; }
.sr-b a:hover{ color:var(--pink-deep); }
.sr-b.hot{ background:var(--pink-grad); border-radius:20px; border-left-color:transparent; padding-left:clamp(16px,1.6vw,26px); margin:-1px 0; box-shadow:0 30px 60px -34px rgba(224,51,107,.8); }
.sr-b.hot + .sr-b{ border-left-color:transparent; }
.sr-b.hot *, .sr-b.hot .sr-b-t, .sr-b.hot .sr-b-s, .sr-b.hot li, .sr-b.hot s, .sr-b.hot a{ color:#fff; }
.sr-b.hot ul{ border-top-color:rgba(255,255,255,.35); }
.sr-b.hot li::before{ background:#fff; }

.sr-local{ margin-top:clamp(50px,5vw,80px); display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,2.4fr); gap:clamp(30px,5vw,90px); }
.sr-local h3{ font-family:var(--serif); font-weight:600; font-size:clamp(24px,2.2vw,34px); letter-spacing:-.02em; color:var(--ink); line-height:1.15; }
.sr-local ul{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; column-gap:clamp(30px,4vw,60px); }
.sr-local li{ display:flex; justify-content:space-between; align-items:baseline; gap:14px; padding:16px 0; border-top:1px solid rgba(43,15,29,.12); }
.sr-local li b{ font-size:16px; font-weight:700; color:var(--ink); }
.sr-local li span{ font-size:18px; font-weight:800; letter-spacing:-.03em; color:var(--ink); white-space:nowrap; }
.sr-local li s{ font-size:13px; font-weight:500; color:rgba(43,15,29,.4); margin-right:10px; letter-spacing:0; }
.sr-local li small{ font-size:12px; font-weight:600; color:rgba(43,15,29,.5); letter-spacing:0; }

/* faq */
.sr-faq{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr); gap:clamp(30px,6vw,110px); padding:clamp(80px,8vw,130px) var(--gut); background:#fff; border-top:1px solid rgba(212,175,55,.4); }
.sr-faq-l h2{ font-size:clamp(36px,4vw,64px); font-weight:800; letter-spacing:-.05em; line-height:1; color:var(--ink); }
.sr-faq-l p{ margin:18px 0 28px; font-size:16px; line-height:1.6; color:rgba(43,15,29,.65); max-width:380px; }
.sr-qa .qa{ border:0; border-top:1px solid rgba(43,15,29,.14); border-radius:0; background:none; box-shadow:none; margin:0; }
.sr-qa .qa:last-child{ border-bottom:1px solid rgba(43,15,29,.14); }
.sr-qa .qa button{ font-family:var(--body); font-size:clamp(17px,1.35vw,21px); font-weight:700; letter-spacing:-.02em; color:var(--ink); padding:24px 0; }
.sr-qa .qa.open button{ color:var(--pink-deep); }
.sr-qa .qa .a p{ font-size:15.5px; line-height:1.65; color:rgba(43,15,29,.7); padding-bottom:24px; }

@media (max-width:1100px){
  .sr-bundles{ grid-template-columns:1fr 1fr; }
  .sr-b{ border-left:0; padding-left:0; border-top:1px solid rgba(43,15,29,.14); }
  .sr-b.hot{ padding-left:22px; }
}
@media (max-width:1000px){
  .sr-rates, .sr-local, .sr-faq{ grid-template-columns:1fr; }
  .sr-nav{ position:static; flex-direction:row; overflow-x:auto; gap:8px; margin:0 calc(-1 * var(--gut)); padding:0 var(--gut); }
  .sr-nav-h{ display:none; }
  .sr-nav button, .sr-nav button:last-child{ flex:none; border:1px solid rgba(43,15,29,.16); border-radius:999px; padding:10px 16px; font-size:14px; background:rgba(255,255,255,.6); }
  .sr-nav button.on{ background:var(--ink); color:#fff; padding-left:16px; }
  .sr-nav button.on span{ color:var(--blush); }
  .sr-plans > li{ grid-template-columns:1fr auto; }
  .sr-pl-i{ grid-column:1/-1; grid-row:2; }
}
@media (max-width:640px){
  .sr-rates, .sr-bundles-s, .sr-faq{ padding-left:16px; padding-right:16px; }
  .sr-nav{ margin:0 -16px; padding:0 16px; }
  .sr-bundles, .sr-local ul{ grid-template-columns:1fr; }
  .sr-plans > li{ grid-template-columns:1fr; }
  .sr-pl-p{ justify-content:start; text-align:left; }
  .sr-pl-p a{ justify-self:start; }
  .sr-add > div{ grid-template-columns:1fr auto; }
  .sr-add p{ grid-column:1/-1; grid-row:2; }
}

/* =====================================================================
   ABOUT v2
   ===================================================================== */
/* story */
.ab-story{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:clamp(30px,6vw,120px); align-items:center; padding:clamp(70px,7vw,120px) var(--gut); background:var(--dream); }
.ab-photo{ position:relative; margin:0; aspect-ratio:4/5; border-radius:28px; overflow:hidden; background:linear-gradient(150deg,#ff5c8a 0%,#e0336b 60%,#c9a4f0 130%); box-shadow:0 40px 80px -50px rgba(140,40,80,.7); }
.ab-photo::before{ content:""; position:absolute; right:-25%; top:-15%; width:90%; aspect-ratio:1; border-radius:50%; border:1px solid rgba(255,255,255,.35); }
.ab-photo::after{ content:""; position:absolute; right:-8%; top:2%; width:58%; aspect-ratio:1; border-radius:50%; border:1px solid rgba(255,255,255,.25); }
.ab-ph-n{ position:absolute; left:8%; top:6%; font-family:"Anton",var(--body); font-size:clamp(90px,11vw,190px); line-height:1; color:rgba(255,255,255,.2); }
.ab-photo figcaption{ position:absolute; left:8%; bottom:8%; color:#fff; }
.ab-photo figcaption b{ display:block; font-size:clamp(22px,2vw,30px); font-weight:800; letter-spacing:-.03em; }
.ab-photo figcaption span{ display:block; margin-top:4px; font-size:14px; font-weight:600; opacity:.85; }
.ab-photo em{ position:absolute; right:7%; bottom:8%; font-style:normal; font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#fff; padding:7px 11px; border:1px dashed rgba(255,255,255,.6); border-radius:999px; }
.ab-k{ display:block; font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--pink-deep); }
.ab-quote{ margin-top:18px; font-family:var(--serif); font-weight:500; font-size:clamp(32px,3.4vw,56px); line-height:1.12; letter-spacing:-.025em; color:var(--ink); }
.ab-quote em{ font-style:italic; background:var(--pink-grad); -webkit-background-clip:text; background-clip:text; color:transparent; padding-right:.05em; }
.ab-body{ margin-top:clamp(24px,2.6vw,36px); padding-top:clamp(24px,2.6vw,36px); border-top:1px solid rgba(212,175,55,.5); display:grid; grid-template-columns:1fr 1fr; gap:clamp(20px,3vw,44px); }
.ab-body p{ font-size:16px; line-height:1.65; color:rgba(43,15,29,.72); }
.ab-text .m3-go{ margin-top:clamp(28px,3vw,40px); }

/* brand strip */
.ab-brand{ display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:clamp(12px,1.4vw,22px); padding:clamp(70px,7vw,110px) var(--gut) 0; background:#fff; }
.ab-brand figure{ margin:0; border-radius:22px; overflow:hidden; aspect-ratio:4/5; box-shadow:0 30px 60px -44px rgba(140,40,80,.6); }
.ab-brand figure:first-child{ aspect-ratio:auto; }
.ab-brand img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease); }
.ab-brand figure:hover img{ transform:scale(1.05); }
.ab-tag{ grid-column:1/-1; text-align:center; margin-top:clamp(26px,3vw,40px); font-family:var(--serif); font-style:italic; font-size:clamp(22px,2.2vw,34px); color:var(--ink); }

/* how we work */
.ab-how{ padding:clamp(80px,8vw,130px) var(--gut); background:#fff; }
.ab-steps{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(43,15,29,.14); border-bottom:1px solid rgba(43,15,29,.14); }
.ab-steps li{ padding:clamp(28px,3vw,44px) clamp(20px,2.4vw,40px) clamp(32px,3.4vw,50px); border-left:1px solid rgba(43,15,29,.14); }
.ab-steps li:first-child{ border-left:0; padding-left:0; }
.ab-steps span{ font-size:13px; font-weight:700; color:var(--pink-deep); }
.ab-steps h3{ margin-top:clamp(40px,5vw,80px); font-size:clamp(24px,2.2vw,34px); font-weight:800; letter-spacing:-.04em; line-height:1.1; color:var(--ink); }
.ab-steps p{ margin-top:12px; font-size:15.5px; line-height:1.6; color:rgba(43,15,29,.66); max-width:360px; }

/* industries */
.ab-ind{ padding:clamp(80px,8vw,130px) var(--gut); background:var(--dream); }
.ab-ind-list{ font-size:clamp(30px,3.6vw,60px); font-weight:800; letter-spacing:-.045em; line-height:1.25; color:var(--ink); }
.ab-ind-list span{ transition:color .3s; }
.ab-ind-list span:hover{ color:var(--pink-deep); }
.ab-ind-list i{ font-style:normal; font-weight:400; color:var(--gold); margin:0 .3em; }

.ab-cta-p{ margin:18px auto 0; font-size:16px; color:rgba(43,15,29,.65); }
.wk-cta .ab-cta-p + .m3-go{ margin-top:28px; }

@media (max-width:1000px){
  .ab-story{ grid-template-columns:1fr; }
  .ab-photo{ max-width:460px; }
  .ab-body{ grid-template-columns:1fr; }
  .ab-steps{ grid-template-columns:1fr; }
  .ab-steps li, .ab-steps li:first-child{ border-left:0; padding-left:0; border-top:1px solid rgba(43,15,29,.14); }
  .ab-steps li:first-child{ border-top:0; }
  .ab-steps h3{ margin-top:16px; }
}
@media (max-width:640px){
  .ab-story, .ab-brand, .ab-how, .ab-ind{ padding-left:16px; padding-right:16px; }
  .ab-brand{ grid-template-columns:1fr 1fr; }
  .ab-brand figure:first-child{ grid-column:1/-1; aspect-ratio:4/3; }
}
.ab-ind{ background:#fff; border-top:1px solid rgba(212,175,55,.4); } .ab-ind-list{ font-size:clamp(28px,3.2vw,52px); } .ab-ind-list span{ white-space:nowrap; } .ab-steps h3{ margin-top:clamp(28px,3vw,48px); }
/* about: owner photo */
.ab-photo.has-img{ background:#f6e8ec; }
.ab-photo.has-img::before, .ab-photo.has-img::after{ display:none; }
.ab-photo.has-img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 30%; transition:transform 1.4s var(--ease); }
.ab-photo.has-img:hover img{ transform:scale(1.04); }
.ab-photo.has-img figcaption{ z-index:2; }
.ab-photo.has-img::marker{ content:none; }
.ab-photo.has-img{ isolation:isolate; }
.ab-photo.has-img figcaption::before{ content:""; position:absolute; left:-30vw; right:-30vw; bottom:-40px; height:220px; z-index:-1; background:linear-gradient(to top, rgba(43,15,29,.6), transparent); }
.ab-sig{ position:absolute; right:7%; bottom:8.6%; z-index:2; font-family:var(--serif); font-style:italic; font-size:clamp(16px,1.3vw,20px); color:#fff; opacity:.92; }
.ab-photo.has-img figcaption::before{ display:none; } .ab-photo.has-img::after{ display:block; content:""; position:absolute; inset:auto 0 0 0; top:auto; right:0; width:auto; aspect-ratio:auto; height:38%; border:0; border-radius:0; z-index:1; background:linear-gradient(to top, rgba(43,15,29,.62), transparent); }
/* ===== half-height page hero (ph2) ===== */
.ph2{ position:relative; overflow:hidden; text-align:center; padding:clamp(70px,9vh,110px) var(--gut) clamp(120px,15vh,170px); background:radial-gradient(120% 90% at 50% 0%, #4a1630 0%, #2b0f1d 60%, #1e0a14 100%); color:#fff; }
.ph2::before{ content:""; position:absolute; inset:0; background:radial-gradient(40% 60% at 15% 20%, rgba(255,92,138,.28), transparent 70%), radial-gradient(35% 55% at 88% 30%, rgba(201,164,240,.22), transparent 70%); pointer-events:none; }
.ph2::after{ content:""; position:absolute; left:-5%; right:-5%; bottom:-1px; height:clamp(50px,7vw,110px); background:#fff; border-radius:50% 50% 0 0 / 100% 100% 0 0; }
.ph2 > *{ position:relative; z-index:1; }
.ph2-pill{ display:inline-flex; align-items:center; gap:10px; padding:9px 18px; border-radius:999px; border:1px solid rgba(255,92,138,.55); background:rgba(255,92,138,.1); font-size:12px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }
.ph2-pill i{ width:7px; height:7px; border-radius:50%; background:var(--dz); }
.ph2 h1{ margin-top:clamp(22px,3vh,32px); font-size:clamp(44px,5.6vw,96px); font-weight:800; letter-spacing:-.05em; line-height:1.02; }
.ph2 h1 em{ font-family:var(--serif); font-style:italic; font-weight:500; background:linear-gradient(100deg,#ff8fb0,#ff5c8a 45%,#e6c35c 110%); -webkit-background-clip:text; background-clip:text; color:transparent; padding-right:.06em; }
.ph2 p{ max-width:620px; margin:clamp(18px,2.4vh,26px) auto 0; font-size:clamp(16px,1.25vw,19px); line-height:1.6; color:rgba(255,236,243,.78); }
.ab .ab-story{ background:#fff; }
.ab .ab-story{ padding-top:clamp(30px,3vw,50px); }
.ph2::after{ display:none; } .ph2{ padding-bottom:clamp(80px,10vh,120px); }
/* ph2 facts row (work / services) */
.ph2-facts{ list-style:none; margin:0; padding:clamp(26px,3vw,40px) var(--gut); display:flex; justify-content:center; gap:clamp(30px,7vw,140px); background:#fff; border-bottom:1px solid rgba(212,175,55,.4); }
.ph2-facts li{ text-align:center; }
.ph2-facts b{ display:block; font-size:clamp(34px,3.4vw,56px); font-weight:800; letter-spacing:-.05em; line-height:1; color:var(--ink); }
.ph2-facts span{ display:block; margin-top:8px; font-size:13px; font-weight:600; color:rgba(43,15,29,.6); }
body:not(.sc) .ph2 + *, .ph2 + section{ scroll-margin-top:90px; }
@media (max-width:640px){ .ph2{ padding-left:16px; padding-right:16px; } .ph2-facts{ gap:22px; padding:24px 16px; } .ph2-facts b{ font-size:28px; } }
.ph2 + section{ padding-top:clamp(56px,5.5vw,90px) !important; }
/* blog article page */
.ph2-post h1{ max-width:900px; margin-left:auto; margin-right:auto; font-size:clamp(36px,4.2vw,68px); }
.ph2-back{ display:inline-block; font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,236,243,.75); border-bottom:1px solid rgba(255,236,243,.4); padding-bottom:3px; }
.ph2-back:hover{ color:#fff; }
.ph2-post .meta{ margin-top:22px; display:flex; flex-wrap:wrap; justify-content:center; gap:10px 20px; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,236,243,.7); }
.ph2-post .meta .c{ color:#ff8fb0; }
body.pst .article{ max-width:760px; }
body.pst .body h2{ font-family:var(--body) !important; text-transform:none !important; font-weight:800 !important; font-size:clamp(26px,2.4vw,36px) !important; letter-spacing:-.04em !important; line-height:1.15 !important; margin:46px 0 14px !important; color:var(--ink); }
body.pst .body p, body.pst .body li{ font-size:17px; line-height:1.75; color:rgba(43,15,29,.78); }
body.pst .body li::before{ content:""; width:7px; height:1.5px; top:.85em; background:var(--gold); }
/* blog cards meta: no awkward wrapping */
.post .meta{ flex-wrap:wrap; gap:6px 14px; }
.post .meta span{ white-space:nowrap; }
/* ===== audit fixes (mobile) ===== */
@media (max-width:1100px){ .hdr .hdr-cta, .hdr .hdr-r .hdr-cta{ display:none !important; } }
@media (max-width:640px){
  .hdr .logo b{ white-space:nowrap; font-size:18px; }
  .ab-ind-list{ font-size:26px; line-height:1.35; }
  .ab-ind-list span{ white-space:normal; }
  .pf-list li{ grid-template-columns:1fr !important; gap:6px; }
  .pf-list p{ max-width:none; }
  .ph2{ padding-top:56px; padding-bottom:64px; }
  .ph2 h1{ font-size:38px; }
}
@media (max-width:640px){ .sv2-pic .ph em{ display:none; } }
/* ===== MOBILE POLISH (all pages) ===== */
.bv2-vals span{ white-space:nowrap; }
@media (max-width:640px){
  /* home */
  .bv2-vals{ display:flex; flex-direction:column; align-items:center; gap:10px; line-height:1.4; letter-spacing:.14em; font-size:12px; }
  .bv2-vals i{ display:none; }
  .bv2-vals span{ display:block; }
  .bv2-line{ font-size:32px; }
  .sv2-list a{ grid-template-columns:34px 1fr !important; gap:10px; padding:18px 0; }
  .sv2-list li.on a{ padding-left:0; }
  .sv2-list .t b{ font-size:22px; }
  .sv2-pic{ margin:24px 0 20px; }
  .m3-line{ font-size:24px; }
  .st-clients .tiny{ font-size:10px; padding:0 16px; }
  /* inner-page facts row */
  .ph2-facts span{ font-size:11.5px; line-height:1.35; }
  /* about: industries as a clean list */
  .ab-ind-list{ display:flex; flex-direction:column; font-size:24px !important; line-height:1.2; }
  .ab-ind-list span{ padding:12px 0; border-bottom:1px solid rgba(43,15,29,.1); white-space:normal; }
  .ab-ind-list i{ display:none; }
  .ab-tag{ font-size:20px; }
  .ab-quote{ font-size:30px; }
  /* services */
  .sr-head h2{ font-size:34px; }
  .sr-plans > li{ padding:20px 14px; }
  .sr-b h3{ min-height:0; }
  .sr-local li{ flex-wrap:wrap; gap:4px 12px; }
  .sr-local li span{ font-size:16px; }
  .sr-faq{ padding-top:64px; padding-bottom:64px; }
  /* work */
  .wk-sec-h h2{ font-size:34px; }
  .wk-case h3{ font-size:38px; }
  .wk-cl-h h3{ font-size:26px; }
  /* blog */
  .post .meta{ font-size:10px; }
  /* book: option cards */
  .type{ display:grid; grid-template-columns:40px 1fr; gap:4px 14px; padding:16px; align-items:start; }
  .type .ic{ width:40px; height:40px; grid-row:span 2; }
  .type b{ font-size:15px; }
  .type span{ font-size:13px; line-height:1.45; }
  .type .dur{ grid-column:2; margin:4px 0 0; justify-self:start; }
  .book-main h2, .book-main .display{ font-size:24px; line-height:1.2; }
  /* cta + footer */
  .wk-cta{ padding-top:70px; padding-bottom:70px; }
  .wk-cta h2{ font-size:38px; }
}
@media (max-width:640px){ .type .dur{ font-size:11px; } .type b + span{ display:block; margin-top:2px; } }
/* ===== MOBILE LAYOUT v2: tighter rhythm + swipe rows ===== */
@media (max-width:640px){
  /* consistent vertical rhythm */
  .sc-band{ padding-top:56px !important; padding-bottom:56px !important; }
  .sv2{ padding-top:64px !important; }
  .sw2, .sc-fb, .bv2, .ab-how, .ab-ind, .ab-story, .ab-brand, .wk-samples, .wk-cases-s, .wk-proof-s, .wk-reels-s, .sr-rates, .sr-bundles-s, .sr-faq{ padding-top:56px !important; padding-bottom:56px !important; }
  .ab-brand{ padding-bottom:0 !important; }
  .sc-hero{ padding-bottom:40px; }
  .pf-main .pf-big{ margin-bottom:14px; }
  .pf-list li{ padding:20px 0; }
  .sw2-head, .wk-sec-h{ margin-bottom:26px; }
  .sw2-grid{ gap:30px; }

  /* hero tiles a bit larger */
  .sc-run .sc-t{ width:46vw !important; height:46vw !important; }

  /* swipe rows (horizontal scroll with peek) */
  .wk-pieces, .sr-bundles, .wk-proofs{ display:flex !important; overflow-x:auto; scroll-snap-type:x mandatory; gap:12px; margin:0 -16px; padding:4px 16px 14px; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .wk-pieces::-webkit-scrollbar, .sr-bundles::-webkit-scrollbar, .wk-proofs::-webkit-scrollbar{ display:none; }
  .wk-pieces > *{ flex:0 0 72%; scroll-snap-align:start; }
  .wk-proofs > *{ flex:0 0 84%; scroll-snap-align:start; }
  .sr-bundles{ border:0 !important; }
  .sr-bundles > *{ flex:0 0 82%; scroll-snap-align:start; border:1px solid rgba(43,15,29,.12) !important; border-radius:20px; padding:22px 20px !important; background:#fff; margin:0 !important; }
  .sr-bundles > .hot{ background:var(--pink-grad); border-color:transparent !important; }

  /* work: compact client header */
  .wk-client{ padding:36px 0; gap:18px; }
  .wk-cl-h dl{ grid-template-columns:repeat(3,1fr); gap:10px; margin-top:14px; }
  .wk-cl-h dl div{ flex-direction:column; gap:3px; padding-bottom:0; border:0; }
  .wk-cl-h dt{ font-size:10px; }
  .wk-cl-h dd{ text-align:left; font-size:12.5px; line-height:1.35; }
}
@media (max-width:640px){ .wk-pieces, .wk-proofs{ margin:0 !important; padding:4px 0 14px !important; width:100%; scroll-padding-left:0; } .wk-client > *{ min-width:0; } }
/* ===== MOBILE HERO: full screen ===== */
@media (max-width:900px){
  .sc-hero{ display:flex !important; flex-direction:column; justify-content:space-between; min-height:calc(100vh - 72px); min-height:calc(100svh - 72px); padding:18px 0 28px !important; }
  .sc-word{ padding:0 16px !important; margin:0 !important; }
  .sc-run{ margin:22px 0 !important; flex:1; display:flex; align-items:center; -webkit-mask-image:none; mask-image:none; }
  .sc-run .track{ gap:12px; }
  .sc-run .sc-t{ width:64vw !important; height:64vw !important; max-width:340px; max-height:340px; }
  .sc-run .sc-t.sq{ border-radius:22px; }
  .sc-meta3{ margin:0 16px !important; gap:14px !important; }
  .m3-tag{ font-size:12px; }
  .m3-line{ font-size:clamp(24px,7vw,30px) !important; line-height:1.15; text-align:left !important; }
  .m3-go{ justify-self:stretch !important; justify-content:center; padding:16px 0; border:0 !important; border-radius:999px; background:var(--pink-grad); color:#fff !important; font-size:14px; letter-spacing:.04em; box-shadow:0 14px 28px -14px rgba(224,51,107,.9); margin-top:6px; }
  .m3-go svg{ color:#fff; }
  .sc-hero .m3-go:hover{ background:var(--wine); }
}
@media (max-width:900px) and (max-height:700px){ .sc-run .sc-t{ width:52vw !important; height:52vw !important; } }
@media (max-width:900px){ .sc-run .sc-t{ width:min(78vw, 44svh) !important; height:min(78vw, 44svh) !important; max-width:none; max-height:none; } } @media (max-width:900px) and (max-height:700px){ .sc-run .sc-t{ width:min(60vw, 36svh) !important; height:min(60vw, 36svh) !important; } }
@media (max-width:900px){ .sc-run{ flex:1 1 auto; min-height:230px; align-items:stretch !important; margin:20px 0 !important; } .sc-run .track{ height:auto; align-items:stretch; } .sc-run .sc-t, .sc-run .sc-t{ width:66vw !important; height:auto !important; aspect-ratio:auto !important; min-height:230px; } .sc-run .sc-t.ci{ border-radius:999px; } }
/* mobile v3: only the hero CTA is a pill; other links stay text links */
@media (max-width:900px){
  .m3-go{ justify-self:start !important; padding:.6em 0 6px !important; border-radius:0 !important; background:none !important; color:var(--ink) !important; box-shadow:none !important; border-bottom:2px solid var(--ink) !important; font-size:15px !important; letter-spacing:0 !important; margin-top:0 !important; }
  .m3-go svg{ color:currentColor !important; }
  .sc-hero .m3-go{ justify-self:stretch !important; justify-content:center; padding:16px 0 !important; border:0 !important; border-radius:999px !important; background:var(--pink-grad) !important; color:#fff !important; font-size:14px !important; letter-spacing:.04em !important; box-shadow:0 14px 28px -14px rgba(224,51,107,.9) !important; margin-top:6px !important; }
  .sc-hero .m3-go svg{ color:#fff !important; }
  .m3-go.light{ color:var(--ink) !important; }
}
@media (max-width:640px){
  /* services: drop the duplicate preview box */
  .sv2-pic{ display:none !important; }
  .sv2-l .m3-go{ margin:18px 0 6px !important; }
  /* selected results: swipe row */
  .sw2-grid{ display:flex !important; overflow-x:auto; scroll-snap-type:x mandatory; gap:14px; padding-bottom:12px; scrollbar-width:none; }
  .sw2-grid::-webkit-scrollbar{ display:none; }
  .sw2-grid > *{ flex:0 0 84%; scroll-snap-align:start; }
  .sw2-card figcaption{ flex-wrap:wrap; gap:4px 10px; }
  .sw2-card small{ margin-left:0; width:100%; }
  .sw2-more{ justify-content:flex-start; margin-top:24px; }
  .c-about .ind{ hyphens:none; }
}
@media (max-width:900px){
  .wk-cta .m3-go, .ab-cta-p + .m3-go{ margin-top:26px !important; }
  .wk-cta .m3-go{ justify-self:center !important; }
}
@media (max-width:640px){
  .sr-bundles{ margin:0 !important; padding:4px 0 14px !important; }
  .sr-b:first-child{ padding-left:20px !important; }
}
@media (max-width:640px){ .book-side::after{ display:none; } .book-main h2{ line-height:1.2 !important; } .book{ gap:16px; } }
/* ===== MOBILE HERO v2: wordmark + 2 tile rows (row 1 drifts right, row 2 left) ===== */
.sc-run.r2{ display:none; }
@keyframes scRunR{ from{ transform:translateX(calc(-50% - 6px)); } to{ transform:none; } }
@media (max-width:900px){
  .sc-hero{ display:block !important; min-height:0 !important; padding:22px 0 40px !important; }
  .sc-word{ margin:0 0 22px !important; }
  .sc-run, .sc-run.r2{ display:block; flex:none !important; min-height:0 !important; margin:0 !important; padding:0; -webkit-mask-image:none; mask-image:none; }
  .sc-run.r2{ margin-top:12px !important; }
  .sc-run .track{ gap:12px; align-items:center !important; animation:scRunR 70s linear infinite; }
  .sc-run.r2 .track{ animation:scRun 70s linear infinite; }
  .sc-run .sc-t, .sc-run .sc-t{ width:43vw !important; height:43vw !important; min-height:0 !important; max-width:220px; max-height:220px; aspect-ratio:1 !important; }
  .sc-run .sc-t.sq{ border-radius:20px; }
  .sc-run .sc-t.ci{ border-radius:50%; }
  .sc-run .sc-t:hover{ transform:none; }
  .sc-meta3{ margin:30px 16px 0 !important; gap:12px !important; }
  .m3-tag{ font-size:11px; letter-spacing:.08em; text-transform:uppercase; font-weight:600; color:var(--pink-deep); }
  .m3-tag br{ display:none; }
  .m3-line{ font-size:clamp(22px,6.4vw,28px) !important; line-height:1.2 !important; letter-spacing:-.03em; }
}
@media (prefers-reduced-motion:reduce){ .sc-run .track{ animation-duration:200s !important; } }
.m3-sep{ display:none; } @media (max-width:900px){ .m3-sep{ display:inline; } }
/* ===== MOBILE polish v2 (home sections) ===== */
@media (max-width:640px){
  .m3-hide{ display:none; }
  .m3-tag{ white-space:nowrap; }
  /* stats: number left, copy right */
  .pf-big{ font-size:24vw !important; margin-bottom:14px; }
  .pf-list li{ grid-template-columns:104px 1fr !important; gap:16px !important; align-items:center; padding:18px 0 !important; }
  .pf-list li.pf-cta{ display:block; padding-top:24px !important; }
  .pf-list b{ font-size:40px !important; line-height:1; }
  .pf-list p{ font-size:14px; line-height:1.5; }
  /* brand values */
  .bv2{ padding:56px 20px !important; }
  .bv2-line{ font-size:30px !important; }
  .bv2-vals{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:26px; line-height:1.4 !important; }
  .bv2-vals i{ display:none; }
  .bv2-vals span{ padding:7px 12px; border:1px solid rgba(212,175,55,.55); border-radius:999px; font-size:10px; }
  .bv2-vals span{ letter-spacing:.08em; }
  /* footer links: compact rows */
  .c-links [data-render="scSvcLinks"]{ display:flex; flex-direction:column; }
  .c-links a{ display:flex !important; justify-content:space-between; width:100%; padding:11px 0 !important; margin:0 !important; font-size:14.5px; border:0 !important; border-bottom:1px solid rgba(212,175,55,.3) !important; text-decoration:none; background:none !important; }
  .c-links a::after{ content:"\2192"; color:var(--pink-deep); }
}
/* ===== MOBILE inner hero v2 (ref: dark hero + white dome + intro) ===== */
.ph2-intro, .ph2-sky{ display:none; }
@media (max-width:640px){
  .ph2{ padding:64px 20px 128px !important; }
  .ph2 h1{ font-size:clamp(38px,11.4vw,46px) !important; line-height:1.02; letter-spacing:-.045em; text-wrap:balance; }
  .ph2-pill{ padding:8px 16px; font-size:11px; letter-spacing:.18em; background:rgba(255,92,138,.14); }
  .ph2-pill i{ box-shadow:0 0 0 0 rgba(255,92,138,.6); animation:scLive 1.8s ease-out infinite; }
  .ph2 p{ font-size:15.5px; }
  .ph2.has-intro p{ display:none; }
  .ph2::after{ display:block !important; left:-30%; right:-30%; height:96px; bottom:-2px; background:#fff; border-radius:50% 50% 0 0 / 100% 100% 0 0; z-index:1; }
  /* gold sparkles */
  .ph2-sky{ display:block; position:absolute !important; inset:0; z-index:0 !important; pointer-events:none; }
  .ph2-sky b{ position:absolute; width:var(--s); height:var(--s); border-radius:50%; background:#f3d77a; box-shadow:0 0 8px rgba(243,215,122,.8); opacity:.15; animation:phTw var(--t) ease-in-out var(--d) infinite; }
  .ph2-sky b.st{ width:auto; height:auto; background:none; box-shadow:none; color:#e6c35c; font-size:var(--s); line-height:1; text-shadow:0 0 10px rgba(230,195,92,.7); }
  /* intro under the dome */
  .ph2-intro{ display:block; background:#fff; padding:6px 22px 34px !important; text-align:left; }
  .ph2-eb{ display:inline-flex; align-items:center; gap:9px; font-size:11px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; color:var(--pink-deep); }
  .ph2-eb i{ width:6px; height:6px; border-radius:50%; background:var(--pink); }
  .ph2-intro h2{ margin:14px 0 0; font-size:32px; font-weight:800; letter-spacing:-.045em; line-height:1.08; color:var(--ink); }
  .ph2-intro h2 em{ font-family:var(--serif); font-style:italic; font-weight:500; letter-spacing:-.02em; background:var(--pink-grad); -webkit-background-clip:text; background-clip:text; color:transparent; padding-right:.06em; }
  .ph2-intro p{ margin-top:14px; font-size:15.5px; line-height:1.65; color:rgba(43,15,29,.72); }
  .ph2-intro + .ph2-facts{ border-top:1px solid rgba(212,175,55,.4); }
}
@keyframes phTw{ 0%,100%{ opacity:.12; transform:scale(.7); } 50%{ opacity:1; transform:scale(1); } }
@media (prefers-reduced-motion:reduce){ .ph2-sky b, .ph2-pill i{ animation:none !important; opacity:.6; } }
@media (max-width:640px){
  .ph2{ padding-bottom:112px !important; }
  .ph2::after{ height:80px; }
  .ph2 + .ph2-intro, .ph2 + .ph2-facts{ position:relative; z-index:2; margin-top:-46px !important; background:transparent !important; padding-top:0 !important; }
  .ph2 + .ph2-facts{ padding-bottom:26px; }
  .ph2 + section:not(.ph2-intro){ padding-top:24px !important; }
  .ph2 h1{ font-size:clamp(36px,10.6vw,42px) !important; }
}
@media (max-width:640px){ .ph2 + section:not(.ph2-intro){ position:relative; z-index:2; margin-top:-56px !important; padding-top:0 !important; background-color:transparent; } }
/* ===== wordmark v2: calm solid tones (per-letter gradients looked banded and loud) ===== */
.sc-word .w1 i, .sc-word .w2 i{ background:none !important; -webkit-background-clip:border-box !important; background-clip:border-box !important; filter:none !important; }
.sc-word .w1 i{ color:#d6457a !important; }
.sc-word .w2 i{ color:#bd9748 !important; }
.sc-word .w1 i:hover{ color:#2b0f1d !important; }
.sc-word .w2 i:hover{ color:#d6457a !important; }
/* ===== results band v2: hero number + sales bars | refined stat rows ===== */
.pf{ grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important; gap:clamp(48px,7vw,120px) !important; align-items:center !important; max-width:1440px; margin:0 auto; }
.pf-k{ display:inline-flex; align-items:center; gap:10px; font-family:var(--body) !important; font-style:normal !important; font-size:12px !important; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--pink-deep) !important; }
.pf-k i{ width:22px; height:1px; background:var(--gold); }
.pf-big{ background:none !important; -webkit-background-clip:border-box !important; background-clip:border-box !important; color:#d6457a !important; font-size:clamp(84px,8.4vw,150px) !important; margin:14px 0 18px !important; }
.pf-txt{ font-size:clamp(17px,1.35vw,21px) !important; max-width:480px !important; color:rgba(43,15,29,.78) !important; }
.pf-bars{ margin-top:clamp(28px,3vw,40px); padding:clamp(20px,2vw,28px); background:rgba(255,255,255,.7); border:1px solid rgba(212,175,55,.35); border-radius:20px; max-width:560px; }
.pf-bar{ display:grid; grid-template-columns:76px 1fr 72px; align-items:center; gap:14px; padding:9px 0; }
.pf-bar span{ font-size:12px; font-weight:600; color:rgba(43,15,29,.55); }
.pf-bar i{ position:relative; display:block; height:12px; border-radius:99px; background:rgba(43,15,29,.06); overflow:hidden; }
.pf-bar i::after{ content:""; position:absolute; inset:0 auto 0 0; width:0; border-radius:inherit; background:#e7c7d3; transition:width 1.6s var(--ease) .3s; }
.pf-bar.on i::after{ background:linear-gradient(90deg,#f08aab,#d6457a); }
.pf-main.in .pf-bar i::after{ width:var(--w); }
.pf-bar b{ font-size:14px; font-weight:700; color:var(--ink); text-align:right; font-variant-numeric:tabular-nums; }
.pf-bar.on b{ color:#d6457a; }
.pf-src{ margin-top:12px; padding-top:12px; border-top:1px dashed rgba(43,15,29,.12); font-size:12.5px; line-height:1.5; color:rgba(43,15,29,.6); }
.pf-src em{ font-style:normal; font-weight:700; color:#2f9e6b; }
.pf-list li{ grid-template-columns:clamp(150px,13vw,230px) 1fr !important; gap:clamp(20px,2.4vw,36px) !important; padding:clamp(22px,2.2vw,32px) 0 !important; }
.pf-list b{ font-size:clamp(52px,4.6vw,84px) !important; color:var(--ink) !important; }
.pf-list b em{ font-style:normal; color:#d6457a; margin-left:.02em; }
.pf-list p{ font-size:15px !important; line-height:1.55; max-width:340px !important; color:rgba(43,15,29,.65) !important; }
.pf-list p strong{ display:block; margin-bottom:4px; font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--ink); }
@media (max-width:1000px){ .pf{ grid-template-columns:1fr !important; } }
@media (max-width:640px){
  .pf-big{ font-size:22vw !important; }
  .pf-bars{ padding:16px; }
  .pf-bar{ grid-template-columns:64px 1fr 60px; gap:10px; }
  .pf-list li{ grid-template-columns:104px 1fr !important; gap:16px !important; padding:18px 0 !important; }
  .pf-list b{ font-size:40px !important; }
  .pf-list p{ font-size:14px !important; }
  .pf-list p strong{ font-size:11px; }
}
@media (prefers-reduced-motion:reduce){ .pf-bar i::after{ transition:none; width:var(--w); } }
/* ===== HOME LAYOUT v26: one rhythm below the hero =====
   order: trusted → services → results → work → feedback → values → contact + links
   every block shares the same container, section padding, eyebrow and heading style */
body[data-page="home"]{ --box:1320px; --sec:clamp(84px,8.4vw,132px); }
body[data-page="home"] .sv2, body[data-page="home"] .pf, body[data-page="home"] .sc-fb-in, body[data-page="home"] .sc-touch{ width:100%; max-width:calc(var(--box) + 2 * var(--gut)) !important; margin-left:auto !important; margin-right:auto !important; padding-left:var(--gut) !important; padding-right:var(--gut) !important; }
body[data-page="home"] .sw2-head, body[data-page="home"] .sw2-grid, body[data-page="home"] .sw2-more{ max-width:var(--box) !important; }

/* shared eyebrow: small caps, pink, gold lead-in line */
body[data-page="home"] .eyebrow, body[data-page="home"] .pf-k{ display:inline-flex !important; align-items:center; gap:12px; margin:0 0 18px !important; font-family:var(--body) !important; font-style:normal !important; font-size:12px !important; font-weight:700 !important; letter-spacing:.18em !important; text-transform:uppercase; color:var(--pink-deep) !important; }
body[data-page="home"] .eyebrow::before, body[data-page="home"] .pf-k i{ content:""; display:block; width:28px; height:1px; background:var(--gold); }
body[data-page="home"] .eyebrow::after{ display:none !important; }
/* shared section heading */
body[data-page="home"] .sv2-l h2, body[data-page="home"] .sw2-head h2, body[data-page="home"] .sc-fb .sc-h{ font-family:var(--serif) !important; font-weight:600 !important; font-size:clamp(38px,4vw,64px) !important; line-height:1.04 !important; letter-spacing:-.025em !important; text-transform:none !important; color:var(--ink) !important; margin:0; }
body[data-page="home"] .sv2-l h2 em{ font-style:italic; font-weight:500; color:#d6457a; }

/* trusted by: a slim strip right under the hero */
body[data-page="home"] .st-clients{ padding:34px 0 30px !important; border-top:1px solid rgba(212,175,55,.35); border-bottom:1px solid rgba(212,175,55,.35); background:#fff !important; }

/* services: heading left (sticky), list right; no placeholder card */
.hm-svc{ background:#fff; padding:var(--sec) 0; }
body[data-page="home"] .sv2{ padding-top:0 !important; padding-bottom:0 !important; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr) !important; gap:clamp(40px,6vw,110px) !important; }
body[data-page="home"] .sv2-pic{ display:none !important; }
body[data-page="home"] .sv2-l p{ margin:20px 0 28px; max-width:420px; }
body[data-page="home"] .sv2-list .t b{ font-size:clamp(22px,2.1vw,34px) !important; font-weight:700 !important; }

/* results band */
body[data-page="home"] .sc-band{ padding:var(--sec) 0 !important; }

/* selected work */
body[data-page="home"] .sw2{ padding:var(--sec) var(--gut) !important; background:#fff !important; border-top:1px solid rgba(212,175,55,.3); }
body[data-page="home"] .sw2-head{ align-items:end; }

/* feedback: header row on top, full-width grid */
body[data-page="home"] .sc-fb{ padding:var(--sec) 0 !important; background:#fff7fa !important; }
body[data-page="home"] .sc-fb-in{ display:block !important; }
body[data-page="home"] .sc-fb-l{ position:static !important; display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:30px; margin-bottom:clamp(36px,3.6vw,56px); }
body[data-page="home"] .sc-fb-l p{ justify-self:end; max-width:420px !important; margin:0 !important; padding-bottom:6px; font-size:clamp(16px,1.2vw,18px) !important; line-height:1.6; color:rgba(43,15,29,.65) !important; }
body[data-page="home"] .sc-fb-grid{ grid-template-columns:repeat(3,1fr) !important; gap:16px !important; }

/* values: a quiet closing statement */
body[data-page="home"] .bv2{ padding:var(--sec) var(--gut) calc(var(--sec) * .8) !important; background:#fff !important; }

/* contact first, then the link columns */
body[data-page="home"] .sc-strip{ display:none; }
body[data-page="home"] .sc-touch{ padding-top:clamp(56px,6vw,90px) !important; padding-bottom:clamp(56px,6vw,90px) !important; border-top:1px solid rgba(212,175,55,.45); align-items:center !important; }
body[data-page="home"] .sc-touch h2{ font-size:clamp(56px,7vw,120px) !important; line-height:.95 !important; }
body[data-page="home"] .sc-cols{ border-top:1px solid rgba(212,175,55,.45); border-bottom:0 !important; }

@media (max-width:900px){
  body[data-page="home"] .sv2{ grid-template-columns:1fr !important; }
  body[data-page="home"] .sv2-l{ position:static; }
  body[data-page="home"] .sc-fb-l{ grid-template-columns:1fr; gap:14px; }
  body[data-page="home"] .sc-fb-l p{ justify-self:start; }
  body[data-page="home"] .sc-fb-grid{ grid-template-columns:1fr 1fr !important; gap:10px !important; }
}
@media (max-width:640px){
  body[data-page="home"]{ --sec:64px; }
  body[data-page="home"] .sv2, body[data-page="home"] .pf, body[data-page="home"] .sc-fb-in, body[data-page="home"] .sc-touch{ padding-left:16px !important; padding-right:16px !important; }
  body[data-page="home"] .sw2{ padding-left:16px !important; padding-right:16px !important; }
  body[data-page="home"] .sv2-l h2, body[data-page="home"] .sw2-head h2, body[data-page="home"] .sc-fb .sc-h{ font-size:36px !important; }
  body[data-page="home"] .sc-touch h2{ font-size:56px !important; }
  body[data-page="home"] .bv2{ padding:64px 20px !important; }
}
/* feedback tiles: shorter on desktop so the grid doesn't tower */
@media (min-width:901px){ body[data-page="home"] .fb-v, body[data-page="home"] .fb-q{ aspect-ratio:4/3.4 !important; } body[data-page="home"] .fb-v video{ object-position:center 30%; } }
body[data-page="home"] .eyebrow::before{ content:"" !important; display:block !important; flex:none; width:28px !important; height:1px !important; background:var(--gold) !important; margin:0 !important; }
/* ===== home cleanup v27: 4 review videos in one row, simple contact block ===== */
body[data-page="home"] .sc-fb-grid{ grid-template-columns:repeat(4,1fr) !important; }
body[data-page="home"] .fb-v{ aspect-ratio:3/4 !important; }
body[data-page="home"] .sc-touch{ border-bottom:1px solid rgba(212,175,55,.45); }
.sc-fbk{ font-size:13px; font-weight:600; color:rgba(43,15,29,.6); border-bottom:1px solid rgba(43,15,29,.2); padding-bottom:2px; transition:color .3s, border-color .3s; }
.sc-fbk:hover{ color:var(--pink-deep); border-color:var(--pink-deep); }
@media (max-width:900px){ body[data-page="home"] .sc-fb-grid{ grid-template-columns:1fr 1fr !important; } }
/* ===== MOBILE DRAWER v2 (ref: side panel with label, active dot, CTA at the bottom) ===== */
.drawer{ inset:0 0 0 auto !important; width:min(86vw,380px) !important; padding:22px 24px 28px !important; background:#fff !important; color:var(--ink) !important; transform:translateX(100%) !important; box-shadow:-30px 0 60px -30px rgba(43,15,29,.35); display:flex; flex-direction:column; z-index:70 !important; }
.drawer.open{ transform:none !important; }
.drawer-bg{ position:fixed; inset:0; z-index:69; background:rgba(43,15,29,.38); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); opacity:0; visibility:hidden; transition:opacity .5s var(--ease), visibility 0s .5s; }
.drawer-bg.open{ opacity:1; visibility:visible; transition:opacity .5s var(--ease), visibility 0s; }
.drawer .top{ display:flex; justify-content:space-between; align-items:center; }
.drawer .logo b{ color:var(--ink) !important; font-size:18px; }
.drawer .logo b span{ color:var(--gold); }
.dr-x{ width:44px; height:44px; border-radius:50%; background:#fbf2f5; color:var(--ink); display:flex; align-items:center; justify-content:center; transition:background .3s, transform .4s var(--ease); }
.dr-x svg{ width:18px; height:18px; }
.dr-x:hover{ background:#f6e1e9; transform:rotate(90deg); }
.dr-k{ margin:42px 0 14px; font-size:11px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:rgba(43,15,29,.4); }
.drawer nav{ margin:0 !important; display:flex; flex-direction:column; gap:0 !important; }
.drawer nav a{ position:relative; display:flex; align-items:center; gap:12px; padding:14px 0 !important; font-family:var(--body) !important; font-style:normal !important; font-size:17px !important; font-weight:700 !important; letter-spacing:-.01em !important; line-height:1.2 !important; color:var(--ink) !important; transition:color .25s, padding .35s var(--ease); }
.drawer nav a:hover{ color:var(--pink-deep) !important; padding-left:4px !important; }
.drawer nav a.on{ color:#d6457a !important; }
.drawer nav a.on::after{ content:""; width:6px; height:6px; border-radius:50%; background:#d6457a; }
.dr-foot{ margin-top:auto; padding-top:28px; }
.dr-cta{ display:flex; align-items:center; justify-content:center; height:54px; border-radius:16px; background:linear-gradient(100deg,#e0517f,#c93a6c); color:#fff; font-size:13px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; box-shadow:0 14px 26px -16px rgba(201,58,108,.9); transition:transform .3s var(--ease), box-shadow .3s; }
.dr-cta:hover{ transform:translateY(-2px); box-shadow:0 18px 30px -16px rgba(201,58,108,1); }
.dr-foot p{ margin-top:20px; text-align:center; font-size:9.5px; font-weight:700; letter-spacing:.14em; white-space:nowrap; text-transform:uppercase; color:rgba(43,15,29,.28); }
/* burger: 3 lines on a dark circle */
.hdr .burger svg{ width:20px; height:20px; }
/* ===== inner pages trim v28: less copy, cleaner heads ===== */
.wk-ind{ margin-top:8px; font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#d6457a; }
.wk-sec-h{ grid-template-columns:1fr !important; }
.sr-pl-a h3{ margin:0; }
.sr-add > div{ grid-template-columns:1fr auto !important; }
.ab-body{ grid-template-columns:1fr !important; max-width:520px; }
.ab-body p{ font-size:16px; line-height:1.65; }
/* ===== TYPE SYSTEM v29 (all sections except the heroes) =====
   section headings  Playfair Display 600, pink italic accent
   card titles       Montserrat 700, tight
   numbers & prices  Montserrat 700 (not 800), tabular
   body              Montserrat 400 */
:root{ --h2:clamp(36px,3.6vw,56px); --h2-cta:clamp(40px,4.6vw,72px); --accent:#d6457a; }

/* section headings */
.wk-sec-h h2, .sr-head h2, .sr-faq-l h2, .wk-cta h2, .sv2-l h2, .sw2-head h2, .sc-fb .sc-h, .sc-touch h2,
.section.dark .display, .book-side h2, .ph2-intro h2{
  font-family:var(--serif) !important; font-weight:600 !important; font-style:normal !important; text-transform:none !important;
  letter-spacing:-.02em !important; line-height:1.06 !important; color:var(--ink);
}
.wk-sec-h h2, .sr-faq-l h2, .sv2-l h2, .sw2-head h2, .sc-fb .sc-h, .section.dark .display{ font-size:var(--h2) !important; }
.sr-head h2{ font-size:clamp(34px,3.2vw,50px) !important; }
.wk-cta h2{ font-size:var(--h2-cta) !important; }
.book-side h2{ font-size:30px !important; color:#fff !important; }
.section.dark .display{ color:#fff !important; }
.ph2-intro h2{ font-size:32px !important; }
.wk-sec-h h2 em, .sr-head h2 em, .sr-faq-l h2 em, .wk-cta h2 em, .ph2-intro h2 em, .section.dark .display .serif{
  font-family:var(--serif) !important; font-style:italic !important; font-weight:500 !important; background:none !important; -webkit-background-clip:border-box !important; background-clip:border-box !important; color:var(--accent) !important; padding-right:.04em;
}

/* card / item titles */
.ab-steps h3, .sr-pl-a h3, .sr-b h3, .post h3, .book-main .step h3, .sv2-list .t b{
  font-family:var(--body) !important; font-weight:700 !important; letter-spacing:-.015em !important; line-height:1.25 !important;
}
.ab-steps h3{ font-size:20px !important; }
.sr-pl-a h3, .sr-b h3{ font-size:19px !important; }
.post h3{ font-size:19px !important; }
.sv2-list .t b{ font-weight:600 !important; letter-spacing:-.02em !important; }
/* client names and small editorial titles stay in Playfair */
.wk-cl-h h3, .sr-local h3{ font-family:var(--serif) !important; font-weight:600 !important; letter-spacing:-.01em !important; }

/* numbers and prices */
.sr-pl-p b, .sr-b-p b, .wk-case-b h3, .wk-case-b li b, .pf-big, .pf-list b, .ph2-facts b{
  font-family:var(--body) !important; font-weight:700 !important; letter-spacing:-.035em !important; font-variant-numeric:lining-nums tabular-nums;
}
.sr-pl-p b{ font-size:28px !important; }
.sr-b-p b{ font-size:27px !important; }
.wk-case-b h3{ font-size:clamp(38px,3.6vw,54px) !important; }
.wk-case-b li b{ font-size:24px !important; }

/* body copy */
main p{ font-family:var(--body); }
.wk-sec-h + *, .sr-head p, .sv2-l p, .sw2-head p, .sc-fb-l p, .ab-body p, .ab-steps p, .post p{ font-weight:400; }
.sr-head p, .ab-steps p{ font-size:15px !important; line-height:1.65 !important; color:rgba(43,15,29,.66) !important; }
body[data-page="home"] .sv2-l h2, body[data-page="home"] .sw2-head h2, body[data-page="home"] .sc-fb .sc-h{ font-size:var(--h2) !important; }
.pf-list li:nth-child(n) b{ font-weight:700 !important; }
.book-main .step h3{ font-size:22px !important; }
.ab-ind-list{ display:flex !important; flex-wrap:wrap; gap:10px 0; white-space:normal !important; font-size:clamp(22px,2.2vw,32px) !important; line-height:1.3 !important; }
.ab-ind-list span{ white-space:nowrap; }
.sr-faq-l .m3-go{ margin-top:22px !important; }
.sr-faq-l h2{ margin-bottom:0; }
.ab-story{ padding-bottom:clamp(40px,4vw,64px) !important; }
/* ===== CLEAN PASS v30: flat surfaces, no glows, quiet footer (heroes untouched) =====
   surfaces: white, or one flat blush tint. Cards sit on hairlines, not shadows. */
:root{ --tint:#fcf5f7; --hair:rgba(43,15,29,.09); }

/* one flat tint instead of the many pink gradients */
.sc-band, .sc-fb, .sr-rates, .wk-proof-s, .wk-cta, .wk-samples, .wk-cases-s, .sr-bundles-s, .sr-faq, .ab-how, .ab-ind{ background:#fff !important; background-image:none !important; }
.sc-band, .sc-fb, .sr-rates, .wk-proof-s, .wk-cta{ background:var(--tint) !important; }
.sc-band::before, .sc-band::after, .sr-rates::before, .wk-cta::before, .wk-cta::after, .st-clients::before{ display:none !important; }
body[data-page="home"] .st-clients{ background:#fff !important; }

/* no pink glows under images and cards */
.sw2-card, .sw2-card figure, .sw2-card img, .wk-case figure, .wk-case img, .wk-proof, .wk-p, .wk-p img, .fb-v, .post, .pf-bars, .ab-photo, .ab-brand figure, .sr-plans li.hot, .book-side, .book-main{ box-shadow:none !important; }
.sw2-card::after, .sw2-card figure::after{ display:none !important; }
.sr-plans li.hot{ border:1px solid rgba(214,69,122,.35) !important; background:#fff !important; }
.pf-bars{ background:#fff !important; border-color:var(--hair) !important; }
.wk-proof, .post{ border:1px solid var(--hair) !important; }
.wk-case figure{ border-radius:20px; overflow:hidden; }

/* quieter dividers */
.sv2-list, .sv2-list li, .pf-list li, .pf-list li:first-child, .wk-client, .wk-case, .sr-plans > li, .sr-add > div, .sr-local li, .sr-qa > *, .ab-steps li{ border-color:var(--hair) !important; }

/* blog newsletter: light block instead of a dark slab */
body[data-page="blog"] .section.dark{ background:var(--tint) !important; color:var(--ink) !important; }
body[data-page="blog"] .section.dark .display{ color:var(--ink) !important; }
body[data-page="blog"] .section.dark .lead{ color:rgba(43,15,29,.66) !important; }
body[data-page="blog"] .section.dark input{ border:1px solid var(--hair) !important; background:#fff !important; color:var(--ink) !important; }

/* footer: one quiet row */
.ftr{ background:#fff !important; background-image:none !important; border-top:1px solid var(--hair); padding:0 !important; color:var(--ink) !important; }
.ftr .f-in{ max-width:calc(1320px + 2 * var(--gut)); margin:0 auto; padding:clamp(36px,4vw,56px) var(--gut) 28px; }
.ftr .f-top{ display:flex; align-items:center; justify-content:space-between; gap:24px 40px; flex-wrap:wrap; padding-bottom:28px; border-bottom:1px solid var(--hair); }
.ftr .flogo{ display:inline-flex; align-items:center; gap:10px; }
.ftr .flogo img{ width:40px; height:40px; border-radius:50%; object-fit:cover; }
.ftr .flogo b{ font-family:var(--serif); font-weight:600; font-size:20px; color:#d6457a; }
.ftr .flogo b span{ color:#bd9748; }
.ftr .f-nav, .ftr .f-r{ display:flex; flex-wrap:wrap; gap:8px 26px; }
.ftr .f-nav a, .ftr .f-r a{ font-size:14px; font-weight:500; color:rgba(43,15,29,.72); transition:color .25s; }
.ftr .f-nav a:hover, .ftr .f-r a:hover{ color:#d6457a; }
.ftr .base{ display:flex; justify-content:space-between; gap:10px 24px; flex-wrap:wrap; padding-top:22px; font-size:12.5px; color:rgba(43,15,29,.5); border:0 !important; margin:0 !important; }
.ftr .base a{ color:#d6457a; }
.ftr .word, .ftr .cols{ display:none !important; }
@media (max-width:760px){
  .ftr .f-top{ flex-direction:column; align-items:flex-start; gap:20px; }
  .ftr .f-nav{ gap:10px 20px; }
  .ftr .base{ flex-direction:column; }
}
.sw2-card .pic, .work{ box-shadow:none !important; }
.sw2-card .pill{ box-shadow:0 2px 8px -4px rgba(43,15,29,.25) !important; }
/* ===== client feedback v3: self-playing muted videos, captions under the card (ref: bebelle.store) ===== */
.fb-item{ display:flex; flex-direction:column; gap:14px; min-width:0; }
.fb-item .fb-v{ position:relative; margin:0; aspect-ratio:9/14 !important; border-radius:20px; overflow:hidden; background:#f3ecef; border:1px solid var(--hair); }
.fb-item .fb-v::after{ display:none !important; }
.fb-item .fb-v video{ width:100%; height:100%; object-fit:cover; display:block; }
.fb-snd{ position:absolute; left:14px; bottom:14px; z-index:2; width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(43,15,29,.45); color:#fff; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); transition:background .3s, transform .3s var(--ease); }
.fb-snd svg{ width:14px; height:14px; margin-left:2px; }
.fb-snd:hover{ background:#d6457a; transform:scale(1.06); }
.fb-v.on .fb-snd{ opacity:0; pointer-events:none; }
.fb-cap{ display:flex; flex-direction:column; gap:2px; padding:0 4px; }
.fb-cap span{ font-size:10.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:rgba(43,15,29,.45); }
.fb-cap b{ font-size:15px; font-weight:700; color:var(--ink); letter-spacing:-.01em; }
.fb-cap small{ font-size:13px; color:rgba(43,15,29,.6); }
body[data-page="home"] .sc-fb-grid{ align-items:start; gap:20px !important; }
@media (max-width:900px){ body[data-page="home"] .sc-fb-grid{ gap:14px !important; } .fb-cap b{ font-size:14px; } .fb-cap small{ font-size:12px; } .fb-snd{ width:36px; height:36px; left:10px; bottom:10px; } }
/* ===== BRAND COLOURS v31: no off-brand wine/maroon surfaces =====
   brand board: Dazzle Pink #FF5C8A, Blush #FFC1D6, Baby Pink #FFE6EF, Lilac #E3D1FF, Rose #F7B6C9, Gold #D4AF37, Pearl #FFFFFF
   (ink #2b0f1d stays for text only) */
:root{ --dz-pink:#ff5c8a; --dz-blush:#ffc1d6; --dz-baby:#ffe6ef; --dz-lilac:#e3d1ff; --dz-rose:#f7b6c9; --dz-gold:#d4af37; }

/* inner page heroes: light brand hero instead of the dark wine one */
.ph2{ background:radial-gradient(55% 80% at 12% 10%, rgba(255,193,214,.75), transparent 70%), radial-gradient(50% 75% at 90% 25%, rgba(227,209,255,.65), transparent 70%), linear-gradient(180deg, #ffe6ef 0%, #fff4f8 100%) !important; color:var(--ink) !important; }
.ph2::before{ display:none !important; }
.ph2 h1{ color:var(--ink) !important; }
.ph2 h1 em{ background:linear-gradient(100deg,#ff5c8a 10%,#e0336b 60%,#d4af37 120%) !important; -webkit-background-clip:text !important; background-clip:text !important; color:transparent !important; }
.ph2 p{ color:rgba(43,15,29,.66) !important; }
.ph2-pill{ background:#fff !important; border-color:rgba(255,92,138,.45) !important; color:#e0336b !important; box-shadow:0 6px 18px -12px rgba(255,92,138,.6); }
.ph2-pill i{ background:var(--dz-pink) !important; }
.ph2-sky b{ background:var(--dz-gold) !important; box-shadow:0 0 8px rgba(212,175,55,.6) !important; }
.ph2-sky b.st{ background:none !important; box-shadow:none !important; color:var(--dz-gold) !important; text-shadow:none !important; }
.ph2-back, .ph2-post .meta{ color:rgba(43,15,29,.6) !important; border-color:rgba(43,15,29,.25) !important; }
.ph2-post .meta .c{ color:#e0336b !important; }

/* booking side card */
.book-side{ background:linear-gradient(160deg,#ffe6ef 0%,#fff 100%) !important; color:var(--ink) !important; border:1px solid rgba(247,182,201,.8); }
.book-side::before, .book-side::after{ border-color:rgba(212,175,55,.5) !important; background:none !important; }
.book-side h2{ color:var(--ink) !important; }
.book-side *{ color:inherit; }
.book-side svg{ color:var(--dz-pink) !important; }
.book-side [class*="k"], .book-side small{ color:#e0336b; }

/* blog covers: brand pinks, lilac and gold only */
.post .cv{ background:var(--dz-pink) !important; color:#fff !important; }
.post .cv::before{ background:var(--dz-blush) !important; }
.post:nth-child(3n+2) .cv{ background:var(--dz-blush) !important; color:var(--ink) !important; }
.post:nth-child(3n+2) .cv::before{ background:var(--dz-pink) !important; }
.post:nth-child(3n+3) .cv{ background:var(--dz-baby) !important; color:var(--ink) !important; }
.post:nth-child(3n+3) .cv::before{ background:var(--dz-lilac) !important; }

/* buttons and active states: Dazzle Pink instead of near-black */
.hdr .burger{ background:linear-gradient(135deg,#ff5c8a,#e0336b) !important; color:#fff !important; }
.hdr .hdr-cta:hover, .sc-hero .m3-go:hover, .m-btn:hover{ background:#e0336b !important; border-color:#e0336b !important; }
@media (max-width:1000px){ .sr-nav button.on{ background:linear-gradient(100deg,#ff5c8a,#e0336b) !important; color:#fff !important; } .sr-nav button.on span{ color:#fff !important; opacity:.8; } }
.wk-filter button.on{ background:var(--dz-pink) !important; border-color:var(--dz-pink) !important; color:#fff !important; }
/* ===== MOBILE rates v2: 2-column plan cards (ref: FurExpress "What sets us apart") ===== */
@media (max-width:640px){
  .sr-plans{ display:grid !important; grid-template-columns:1fr 1fr; gap:10px; counter-reset:pl; border:0 !important; margin-top:18px; }
  .sr-plans > li{ counter-increment:pl; position:relative; display:flex !important; flex-direction:column; gap:10px; margin:0 !important; padding:16px 14px 16px !important; border:1px solid rgba(247,182,201,.9) !important; border-radius:18px; background:#fff !important; min-width:0; }
  .sr-plans > li::before{ content:counter(pl, decimal-leading-zero); position:absolute; right:14px; top:12px; font-size:20px; font-weight:800; letter-spacing:-.03em; color:#ffc1d6; }
  .sr-plans > li.hot{ background:linear-gradient(160deg,#ffe6ef,#fff 75%) !important; border-color:#ff5c8a !important; }
  .sr-plans > li.hot::before{ color:#ff5c8a; }
  .sr-plans > li:last-child:nth-child(odd){ grid-column:1 / -1; }
  .sr-pl-a{ padding-right:34px; }
  .sr-pl-a h3{ font-size:16px !important; line-height:1.25 !important; hyphens:none; word-break:normal; overflow-wrap:normal; }
  .sr-pl-a h3 em{ display:table; margin:6px 0 0 !important; font-size:9px !important; padding:3px 8px !important; }
  .sr-pl-i{ display:flex !important; flex-direction:column; gap:3px !important; margin:0 !important; padding:0 !important; }
  .sr-pl-i li{ font-size:12.5px !important; line-height:1.4; color:rgba(43,15,29,.7); padding-left:12px !important; }
  .sr-pl-p{ margin-top:auto; display:flex !important; flex-direction:column; align-items:flex-start !important; gap:2px; padding-top:10px; border-top:1px dashed rgba(247,182,201,.9); text-align:left !important; }
  .sr-pl-p b{ font-size:21px !important; line-height:1.1; }
  .sr-pl-p small{ font-size:11px; }
  .sr-pl-p a{ margin-top:8px; font-size:10.5px !important; }
}
@media (max-width:640px){
  .sr-plans > li{ align-items:stretch !important; text-align:left !important; }
  .sr-plans > li > *{ width:100% !important; max-width:none !important; margin-left:0 !important; margin-right:0 !important; justify-self:stretch !important; align-self:stretch !important; }
  .sr-pl-i, .sr-pl-p{ justify-content:flex-start !important; }
  .sr-plans > li::before{ font-size:15px; top:14px; right:12px; }
  .sr-pl-a{ padding-right:24px !important; }
  .sr-pl-a h3{ font-size:15px !important; }
}
/* ===== DESKTOP rates v2: service pills on top, plan cards in one row (ref: FurExpress) ===== */
@media (min-width:641px){
  .sr-rates{ display:block !important; padding:clamp(56px,6vw,96px) var(--gut) !important; }
  .sr-rates > *{ max-width:1320px; margin-left:auto !important; margin-right:auto !important; }
  .sr-nav{ position:static !important; flex-direction:row !important; flex-wrap:wrap; justify-content:center; gap:10px; margin-bottom:clamp(40px,4vw,60px) !important; }
  .sr-nav button{ align-items:center !important; gap:10px !important; padding:11px 20px 11px 14px !important; border:1px solid rgba(247,182,201,.95) !important; border-radius:999px; background:#fff !important; font-size:14px !important; color:rgba(43,15,29,.7) !important; transition:background .3s, color .3s, border-color .3s !important; }
  .sr-nav button span{ display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%; background:#ffe6ef; font-size:11px; color:#e0336b !important; }
  .sr-nav button:hover{ border-color:#ff5c8a !important; color:var(--ink) !important; }
  .sr-nav button.on{ background:linear-gradient(100deg,#ff5c8a,#e0336b) !important; border-color:transparent !important; color:#fff !important; padding-left:14px !important; }
  .sr-nav button.on span{ background:rgba(255,255,255,.25); color:#fff !important; }
  .sr-head{ text-align:center; max-width:720px; margin:0 auto clamp(30px,3vw,44px) !important; }
  .sr-head p{ margin-left:auto; margin-right:auto; }

  .sr-plans{ display:grid !important; grid-template-columns:repeat(auto-fit, minmax(210px, 1fr)); gap:16px; counter-reset:pl; border:0 !important; }
  .sr-plans > li{ counter-increment:pl; position:relative; display:flex !important; flex-direction:column; align-items:stretch !important; gap:14px; margin:0 !important; padding:24px 22px 22px !important; border:1px solid rgba(247,182,201,.95) !important; border-radius:22px; background:#fff !important; text-align:left !important; transition:transform .4s var(--ease), border-color .3s; }
  .sr-plans > li > *{ width:100% !important; max-width:none !important; margin-left:0 !important; margin-right:0 !important; justify-self:stretch !important; }
  .sr-plans > li:hover{ transform:translateY(-4px); border-color:#ff5c8a !important; }
  .sr-plans > li::before{ content:counter(pl, decimal-leading-zero); position:absolute; right:20px; top:18px; font-size:24px; font-weight:800; letter-spacing:-.03em; color:#ffc1d6; }
  .sr-plans > li.hot{ background:linear-gradient(165deg,#ffe6ef,#fff 70%) !important; border-color:#ff5c8a !important; }
  .sr-plans > li.hot::before{ color:#ff5c8a; }
  .sr-pl-a{ padding-right:40px; }
  .sr-pl-a h3{ font-size:18px !important; line-height:1.25 !important; }
  .sr-pl-a h3 em{ display:table; margin:8px 0 0 !important; }
  .sr-pl-i{ display:flex !important; flex-direction:column; gap:6px !important; margin:0 !important; padding:0 !important; }
  .sr-pl-i li{ font-size:13.5px !important; line-height:1.45; color:rgba(43,15,29,.7); }
  .sr-pl-p{ margin-top:auto; display:flex !important; flex-direction:column; align-items:flex-start !important; gap:2px; padding-top:16px; border-top:1px dashed rgba(247,182,201,.95); text-align:left !important; }
  .sr-pl-p b{ font-size:26px !important; line-height:1.1; }
  .sr-pl-p a{ margin-top:12px; }
  .sr-add{ margin-top:clamp(36px,3.6vw,52px) !important; }
}
@media (min-width:1100px){ .sr-nav{ gap:8px; } .sr-nav button{ font-size:13px !important; padding:8px 16px 8px 9px !important; gap:8px !important; } .sr-nav button.on{ padding-left:9px !important; } .sr-nav button span{ width:22px; height:22px; font-size:10px; } }
/* ===== FAQ v2: card grid on a brand panel (ref: bebelle.store "What changes") ===== */
.fq{ position:relative; overflow:hidden; padding:clamp(72px,8vw,120px) var(--gut); background:radial-gradient(50% 70% at 8% 0%, rgba(255,193,214,.9), transparent 70%), radial-gradient(45% 70% at 100% 100%, rgba(227,209,255,.9), transparent 70%), linear-gradient(160deg,#ff8fb1 0%,#ff5c8a 55%,#e8457a 100%); color:#fff; }
.fq::before{ content:""; position:absolute; inset:0; pointer-events:none; opacity:.55;
  background-image:radial-gradient(circle, rgba(255,255,255,.9) 1.2px, transparent 1.6px), radial-gradient(circle, rgba(212,175,55,.9) 1px, transparent 1.4px);
  background-size:120px 120px, 170px 170px; background-position:0 0, 60px 80px; animation:fqDrift 40s linear infinite; }
@keyframes fqDrift{ to{ background-position:0 600px, 60px 930px; } }
@media (prefers-reduced-motion:reduce){ .fq::before{ animation:none; } }
.fq-in{ position:relative; max-width:1320px; margin:0 auto; }
.fq-k{ display:inline-flex; align-items:center; gap:12px; font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:#fff; opacity:.9; }
.fq-k::before{ content:""; width:28px; height:1.5px; background:#fff; }
.fq h2{ margin:14px 0 0; font-family:var(--serif); font-weight:600; font-size:clamp(38px,4vw,62px); line-height:1.05; letter-spacing:-.02em; color:#fff; }
.fq h2 em{ font-style:italic; font-weight:500; color:#fff3c4; }
.fq-sub{ margin-top:12px; font-size:16px; color:rgba(255,255,255,.88); }
.fq-grid{ margin-top:clamp(32px,3.6vw,48px); display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.fq-c{ position:relative; display:flex; flex-direction:column; gap:10px; padding:28px 26px 26px; border-radius:24px; background:#fff; color:var(--ink); box-shadow:0 20px 40px -28px rgba(120,20,60,.55); transition:transform .45s var(--ease), box-shadow .45s var(--ease); }
.fq-c:hover{ transform:translateY(-6px); box-shadow:0 30px 50px -28px rgba(120,20,60,.65); }
.fq-n{ position:absolute; right:24px; top:22px; font-size:13px; font-weight:800; letter-spacing:.04em; color:#ffc1d6; }
.fq-i{ display:inline-flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:16px; background:#ffe6ef; color:#e0336b; margin-bottom:10px; }
.fq-i svg{ width:24px; height:24px; }
.fq-c h3{ margin:0; font-family:var(--body); font-size:18px; font-weight:700; letter-spacing:-.015em; line-height:1.3; color:var(--ink); }
.fq-c p{ margin:0; font-size:14.5px; line-height:1.6; color:rgba(43,15,29,.66); }
.fq-cta{ background:linear-gradient(160deg,#fff 0%,#fff6e0 100%); border:1.5px dashed rgba(212,175,55,.8); }
.fq-cta .fq-i{ background:#fff3c4; color:#b8901f; }
.fq-cta b{ margin-top:auto; padding-top:8px; display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#e0336b; }
.fq-cta b svg{ width:15px; height:15px; transition:transform .3s; }
.fq-cta:hover b svg{ transform:translateX(4px); }
@media (max-width:1000px){ .fq-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .fq{ padding:64px 16px; } .fq-grid{ grid-template-columns:1fr; gap:12px; } .fq-c{ padding:22px 20px; border-radius:20px; } .fq-i{ width:44px; height:44px; border-radius:14px; } .fq h2{ font-size:36px; } }
/* ===== PRICING CARDS v3 (ref: "Simple Transparent Pricing" — tinted top panel + checklist), brand colours only ===== */
.sr-rates{ position:relative; background:
  radial-gradient(40% 50% at 6% 8%, rgba(255,193,214,.75), transparent 70%),
  radial-gradient(38% 50% at 96% 14%, rgba(227,209,255,.8), transparent 70%),
  radial-gradient(45% 55% at 80% 96%, rgba(212,175,55,.16), transparent 70%),
  radial-gradient(40% 50% at 10% 92%, rgba(247,182,201,.55), transparent 70%),
  #fff8fb !important; }
.sr-panel{ position:relative; }
@media (min-width:641px){
  .sr-panel{ background:rgba(255,255,255,.62); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); border:1px solid rgba(255,255,255,.9); border-radius:32px; padding:clamp(36px,4vw,56px) clamp(22px,3vw,44px) clamp(30px,3vw,44px); box-shadow:0 30px 70px -50px rgba(224,51,107,.45); }
}
.sr-n{ display:inline-flex !important; align-items:center; gap:8px; padding:7px 14px; border-radius:999px; background:#fff; border:1px solid rgba(247,182,201,.95); font-size:11px !important; color:#e0336b !important; }
.sr-n::before{ content:""; width:6px; height:6px; border-radius:50%; background:#ff5c8a; }
.sr-head h2{ margin-top:14px !important; }

.pc-grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:16px; align-items:start; }
.pc{ display:flex; flex-direction:column; padding:6px; border-radius:22px; background:#fff; border:1px solid rgba(43,15,29,.08); box-shadow:0 18px 40px -30px rgba(43,15,29,.35); transition:transform .45s var(--ease), box-shadow .45s var(--ease); }
.pc:hover{ transform:translateY(-5px); box-shadow:0 28px 50px -30px rgba(224,51,107,.45); }
.pc-top{ position:relative; overflow:hidden; display:flex; flex-direction:column; gap:10px; padding:18px 16px 16px; border-radius:17px; background:linear-gradient(170deg,#fff4f8 0%,#ffe6ef 100%); }
.pc.hot .pc-top{ background:
  radial-gradient(70% 80% at 0% 0%, rgba(227,209,255,.95), transparent 65%),
  radial-gradient(60% 70% at 100% 10%, rgba(255,193,214,1), transparent 70%),
  radial-gradient(70% 70% at 80% 100%, rgba(212,175,55,.35), transparent 70%),
  #ffe6ef; }
.pc-h{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
.pc-h h3{ margin:0; font-family:var(--body) !important; font-size:16px !important; font-weight:700 !important; letter-spacing:-.01em; color:var(--ink); line-height:1.25; }
.pc-tag{ flex:none; padding:5px 10px; border-radius:999px; background:rgba(255,255,255,.85); font-size:11px; font-weight:600; color:var(--ink); box-shadow:0 2px 8px -4px rgba(43,15,29,.25); }
.pc.hot .pc-tag{ background:#fff; color:#e0336b; }
.pc-price{ display:flex; align-items:baseline; gap:3px; margin-top:4px; }
.pc-price b{ font-family:var(--body); font-size:30px; font-weight:700; letter-spacing:-.035em; color:var(--ink); line-height:1; font-variant-numeric:lining-nums tabular-nums; }
.pc-price small{ font-size:13px; color:rgba(43,15,29,.55); }
.pc-top p{ margin:0; min-height:2.9em; font-size:13.5px; line-height:1.45; color:rgba(43,15,29,.7); }
.pc-btn{ margin-top:4px; display:flex; align-items:center; justify-content:center; height:44px; border-radius:11px; background:#fff; color:var(--ink); font-size:14px; font-weight:600; box-shadow:0 1px 0 rgba(43,15,29,.06), 0 6px 14px -10px rgba(43,15,29,.35); transition:background .3s, color .3s, transform .3s var(--ease); }
.pc-btn:hover{ background:var(--ink); color:#fff; }
.pc.hot .pc-btn{ background:linear-gradient(100deg,#ff5c8a,#e0336b); color:#fff; box-shadow:0 12px 22px -12px rgba(224,51,107,.9); }
.pc.hot .pc-btn:hover{ transform:translateY(-1px); background:linear-gradient(100deg,#ff6f97,#d42a61); }
.pc-list{ list-style:none; margin:0; padding:16px 12px 12px; display:flex; flex-direction:column; gap:11px; }
.pc-list li{ display:flex; align-items:flex-start; gap:10px; font-size:13.5px; line-height:1.4; color:rgba(43,15,29,.72); }
.pc-list i{ flex:none; display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; border-radius:50%; border:1.5px solid rgba(43,15,29,.35); color:rgba(43,15,29,.6); margin-top:-1px; }
.pc-list i svg{ width:10px; height:10px; stroke-width:3; }
.pc.hot .pc-list i{ border-color:#ff5c8a; color:#e0336b; background:#fff0f5; }

/* mobile: swipeable row of cards */
@media (max-width:640px){
  .pc-grid{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:12px; margin:0 -16px; padding:6px 16px 18px; scrollbar-width:none; align-items:stretch; }
  .pc-grid::-webkit-scrollbar{ display:none; }
  .pc{ flex:0 0 80%; scroll-snap-align:start; }
  .pc:hover{ transform:none; }
  .pc-price b{ font-size:28px; }
}
.pc-h{ min-height:28px; }
@media (max-width:640px){
  .sr-rates{ display:block !important; padding-left:16px !important; padding-right:16px !important; }
  .sr-rates > *, .sr-panel{ min-width:0; max-width:100%; }
  .sr-nav{ margin-bottom:24px; }
  .pc-grid{ width:auto; }
  .pc{ min-width:0; }
}
@media (max-width:640px){ .pc-grid{ scroll-padding-left:16px; } }
/* ===== MOBILE polish v4 ===== */
/* bundles use the same pricing cards */
.pc-bundles{ border:0 !important; }
.pc-bundles .pc-top p{ min-height:0; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.pc-bundles .pc-top p s{ color:rgba(43,15,29,.4); }
.pc-bundles .pc-top p em{ font-style:normal; font-weight:700; font-size:12px; color:#e0336b; background:#fff; padding:3px 9px; border-radius:999px; }
@media (min-width:641px){ .pc-bundles{ grid-template-columns:repeat(auto-fit, minmax(200px,1fr)); } }
/* client feedback: caption always under the video */
.fb-item{ display:flex !important; flex-direction:column !important; }
.fb-item .fb-v{ order:1; }
.fb-item .fb-cap{ order:2; }
@media (max-width:640px){
  /* FAQ: swipe row instead of a tall stack */
  .fq-grid{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-left:16px; gap:12px; margin:28px -16px 0; padding:4px 16px 20px; scrollbar-width:none; }
  .fq-grid::-webkit-scrollbar{ display:none; }
  .fq-c{ flex:0 0 82%; scroll-snap-align:start; }
  .fq-c:hover{ transform:none; }
  .pc-bundles{ margin:0 -16px !important; padding:6px 16px 18px !important; }
  .sr-bundles-s{ padding-left:16px !important; padding-right:16px !important; }
}
/* ===== ABOUT: How we work + brand collage (replaces the big blurry brand strip) ===== */
.hw{ position:relative; overflow:hidden; padding:clamp(72px,8vw,120px) var(--gut); background:
  radial-gradient(40% 60% at 0% 20%, rgba(255,193,214,.7), transparent 70%),
  radial-gradient(40% 60% at 100% 90%, rgba(227,209,255,.7), transparent 70%), #fff8fb; }
.hw-in{ max-width:1320px; margin:0 auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:clamp(40px,6vw,100px); align-items:center; }
.hw-art{ position:relative; aspect-ratio:1/1; max-width:560px; width:100%; justify-self:center; }
.hw-art figure{ position:absolute; margin:0; overflow:hidden; border-radius:24px; border:6px solid #fff; box-shadow:0 30px 60px -30px rgba(224,51,107,.45); background:#ffe6ef; transition:transform .6s var(--ease); }
.hw-art img{ width:100%; height:100%; object-fit:cover; display:block; }
.hw-a{ left:0; top:6%; width:62%; aspect-ratio:7/5; transform:rotate(-5deg); z-index:1; }
.hw-b{ right:0; top:0; width:44%; aspect-ratio:1/1; transform:rotate(6deg); z-index:2; }
.hw-c{ left:30%; bottom:0; width:36%; aspect-ratio:3/5; transform:rotate(-2deg); z-index:3; }
.hw-art:hover .hw-a{ transform:rotate(-7deg) translate(-6px,-4px); }
.hw-art:hover .hw-b{ transform:rotate(8deg) translate(6px,-4px); }
.hw-art:hover .hw-c{ transform:rotate(0) translateY(-6px); }
.hw-badge{ position:absolute; right:4%; bottom:12%; z-index:4; display:flex; flex-direction:column; align-items:center; padding:14px 18px; border-radius:18px; background:#fff; box-shadow:0 20px 40px -24px rgba(43,15,29,.45); }
.hw-badge b{ font-size:28px; font-weight:700; letter-spacing:-.03em; color:#e0336b; line-height:1; }
.hw-badge span{ margin-top:4px; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:rgba(43,15,29,.6); }
.hw-spark{ position:absolute; z-index:5; font-style:normal; color:#d4af37; animation:hwTw 3.4s ease-in-out infinite; }
.hw-spark.s1{ left:4%; bottom:22%; font-size:26px; }
.hw-spark.s2{ right:46%; top:2%; font-size:18px; animation-delay:1.2s; }
@keyframes hwTw{ 0%,100%{ opacity:.35; transform:scale(.8) rotate(0); } 50%{ opacity:1; transform:scale(1.1) rotate(20deg); } }
@media (prefers-reduced-motion:reduce){ .hw-spark{ animation:none; } }
.hw-k{ display:inline-flex; align-items:center; gap:12px; font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:#e0336b; }
.hw-k::before{ content:""; width:28px; height:1px; background:var(--gold); }
.hw-txt h2{ margin:14px 0 0; font-family:var(--serif); font-weight:600; font-size:clamp(38px,4vw,60px); line-height:1.05; letter-spacing:-.02em; color:var(--ink); }
.hw-txt h2 em{ font-style:italic; font-weight:500; color:#d6457a; }
.hw-sub{ margin-top:12px; font-size:16px; color:rgba(43,15,29,.62); }
.hw-steps{ list-style:none; margin:28px 0 0; padding:0; display:flex; flex-direction:column; gap:14px; }
.hw-steps li{ display:flex; align-items:flex-start; gap:18px; padding:22px 22px; border-radius:22px; background:#fff; border:1px solid rgba(247,182,201,.7); box-shadow:0 18px 40px -32px rgba(224,51,107,.5); transition:transform .45s var(--ease), border-color .3s; }
.hw-steps li:hover{ transform:translateX(6px); border-color:#ff5c8a; }
.hw-steps li > i{ flex:none; display:inline-flex; align-items:center; justify-content:center; width:50px; height:50px; border-radius:16px; background:linear-gradient(135deg,#ff8fb1,#e0336b); color:#fff; }
.hw-steps li > i svg{ width:22px; height:22px; }
.hw-steps span{ font-size:11px; font-weight:800; letter-spacing:.1em; color:#ffc1d6; }
.hw-steps h3{ margin:2px 0 4px; font-family:var(--body); font-size:18px; font-weight:700; letter-spacing:-.015em; color:var(--ink); }
.hw-steps p{ margin:0; font-size:14.5px; line-height:1.55; color:rgba(43,15,29,.65); }
@media (max-width:900px){ .hw-in{ grid-template-columns:1fr; } .hw-art{ max-width:420px; } }
@media (max-width:640px){ .hw{ padding:64px 16px; } .hw-art{ max-width:340px; } .hw-art figure{ border-width:4px; border-radius:18px; } .hw-badge b{ font-size:22px; } .hw-steps li{ padding:18px 16px; gap:14px; } .hw-steps li > i{ width:44px; height:44px; border-radius:14px; } .hw-steps li:hover{ transform:none; } }
.hw-ic{ flex:none; display:inline-flex; align-items:center; justify-content:center; width:50px; height:50px; border-radius:16px; background:linear-gradient(135deg,#ff8fb1,#e0336b); color:#fff; }
.hw-ic svg{ width:22px; height:22px; }
@media (max-width:640px){ .hw-ic{ width:44px; height:44px; border-radius:14px; } }
.hw-art{ align-self:center; }
/* ===== About "How we work" v3 (ref: card gallery layout) ===== */
.hw-in{ grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) !important; gap:clamp(40px,5vw,80px) !important; }
.hw-art{ position:static !important; aspect-ratio:auto !important; max-width:none !important; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; padding:14px; border-radius:28px; background:rgba(255,255,255,.6); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,.95); box-shadow:0 30px 60px -40px rgba(224,51,107,.45); }
.hw-art figure{ position:relative !important; inset:auto !important; width:auto !important; transform:none !important; aspect-ratio:3/4.4 !important; border:0 !important; border-radius:18px !important; box-shadow:none !important; }
.hw-art:hover figure{ transform:none !important; }
.hw-art figure:hover img{ transform:scale(1.05); }
.hw-art img{ transition:transform .8s var(--ease); }
.hw-badge, .hw-spark{ display:none !important; }
.hw-steps{ gap:0 !important; margin-top:26px !important; }
.hw-steps li{ padding:16px 0 !important; border:0 !important; border-bottom:1px solid rgba(247,182,201,.7) !important; border-radius:0 !important; background:none !important; box-shadow:none !important; align-items:center !important; }
.hw-steps li:last-child{ border-bottom:0 !important; }
.hw-steps li:hover{ transform:none !important; }
.hw-ic{ width:44px !important; height:44px !important; border-radius:50% !important; }
.hw-ic svg{ width:19px !important; height:19px !important; }
.hw-steps li > div{ display:grid; grid-template-columns:auto 1fr; column-gap:12px; align-items:baseline; }
.hw-steps span{ color:#e0336b !important; font-size:12px !important; }
.hw-steps h3{ margin:0 !important; font-size:17px !important; }
.hw-steps p{ grid-column:2; margin-top:2px !important; font-size:14px !important; }
.hw-cta{ margin-top:28px; display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.hw-btn{ display:inline-flex; align-items:center; height:52px; padding:0 28px; border-radius:999px; background:linear-gradient(100deg,#ff5c8a,#e0336b); color:#fff; font-size:14px; font-weight:700; box-shadow:0 14px 26px -14px rgba(224,51,107,.9); transition:transform .3s var(--ease); }
.hw-btn:hover{ transform:translateY(-2px); }
.hw-link{ display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:700; color:#e0336b; }
.hw-link svg{ width:15px; height:15px; transition:transform .3s; }
.hw-link:hover svg{ transform:translateX(4px); }
@media (max-width:900px){ .hw-in{ grid-template-columns:1fr !important; } }
@media (max-width:640px){ .hw-art{ gap:8px; padding:8px; border-radius:20px; } .hw-art figure{ border-radius:12px !important; } .hw-btn{ width:100%; justify-content:center; } }
@media (max-width:640px){ .hw-steps{ margin-top:10px !important; } .hw-steps li:first-child{ padding-top:8px !important; } }
/* ===== About "How we work" v4: no images; heading + CTA left, steps card right ===== */
.hw-in{ grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) !important; align-items:center !important; }
.hw-r{ padding:10px 30px; border-radius:28px; background:rgba(255,255,255,.75); border:1px solid rgba(255,255,255,.95); box-shadow:0 30px 60px -44px rgba(224,51,107,.5); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
.hw-r .hw-steps{ margin:0 !important; }
.hw-r .hw-steps li{ padding:22px 0 !important; }
.hw-txt .hw-cta{ margin-top:32px; }
@media (max-width:900px){ .hw-in{ grid-template-columns:1fr !important; gap:32px !important; } }
@media (max-width:640px){ .hw-r{ padding:4px 18px; border-radius:22px; } .hw-r .hw-steps li{ padding:18px 0 !important; } .hw-r .hw-steps li:first-child{ padding-top:18px !important; } }
/* ===== MOBILE double-check v5 ===== */
/* dash markers: 2px so they don't render half grey */
.sr-pl-i li::before, .sr-b li::before, body.pst .body li::before{ height:2px !important; background:#d4af37 !important; }
.wk-cta h2, .sw2-head h2, .hw-txt h2{ text-wrap:balance; }
@media (max-width:640px){
  /* work: tighter section rhythm */
  .wk-samples, .wk-cases-s, .wk-proof-s{ padding-top:52px !important; padding-bottom:52px !important; }
  .wk-client{ padding:28px 0 !important; }
  .wk-case{ gap:18px !important; padding:28px 0 !important; }
  .wk-cta{ padding-top:56px !important; padding-bottom:56px !important; }
  /* blog: shorter covers, meta on one line where possible */
  .post .cv{ aspect-ratio:16/8 !important; padding:18px 20px !important; }
  .post .cv b{ font-size:28px !important; }
  .post .meta{ gap:4px 12px !important; font-size:10px !important; }
  /* post hero: no sparkle over the back link */
  .ph2-post .ph2-sky b.st{ display:none; }
}
@media (max-width:640px){ .wk-client:last-child{ padding-bottom:0 !important; } .wk-cases-s{ padding-top:36px !important; } .wk-cta h2 br{ display:none; } }

/* home hero: soft pink gradient behind header + hero (header turns white once scrolled) */
body[data-page="home"]{ background:
  radial-gradient(45% 55% at 0% 40%, rgba(255,193,214,.6), transparent 70%),
  radial-gradient(40% 50% at 100% 30%, rgba(247,182,201,.5), transparent 70%),
  radial-gradient(45% 45% at 60% 10%, rgba(227,209,255,.35), transparent 70%),
  linear-gradient(180deg, #fff6f9 0%, #ffe9f1 70%, #fff 100%) no-repeat;
  background-size:100% 100svh; background-repeat:no-repeat; background-color:#fff; }
body[data-page="home"] .sc-hero{ background:transparent !important; }
body[data-page="home"] .hdr{ transition:background .35s, border-color .3s; }
body[data-page="home"] .hdr:not(.scrolled){ background:transparent; }

/* ===== Floating glass pill navbar (all pages) ===== */
.hdr, .hdr.scrolled, body[data-page="home"] .hdr:not(.scrolled){ background:transparent !important; border:0 !important; box-shadow:none !important; padding:14px 0 0; }
.hdr .wrap, .hdr.scrolled .wrap{ width:auto; max-width:1320px; margin:0 clamp(12px,3vw,48px); margin-inline:max(clamp(12px,3vw,48px), calc((100% - 1320px) / 2)); height:74px; padding:0 10px 0 16px; border-radius:999px;
  background:linear-gradient(120deg, rgba(255,255,255,.72), rgba(255,240,246,.6)); backdrop-filter:saturate(1.6) blur(18px); -webkit-backdrop-filter:saturate(1.6) blur(18px);
  border:1px solid rgba(255,255,255,.9); box-shadow:0 14px 40px -22px rgba(224,51,107,.45), 0 0 0 1px rgba(255,92,138,.08), inset 0 1px 0 #fff;
  transition:background .4s, box-shadow .4s, height .4s var(--ease); }
.hdr.scrolled .wrap{ background:rgba(255,255,255,.9); box-shadow:0 18px 44px -20px rgba(140,20,70,.4), 0 0 0 1px rgba(255,92,138,.12), inset 0 1px 0 #fff; }

/* logo */
.hdr .logo img{ width:46px; height:46px; border-radius:50%; box-shadow:0 0 0 2px #fff, 0 0 0 3.5px rgba(212,175,55,.55), 0 6px 14px -6px rgba(224,51,107,.6); }

/* link track */
.hdr .nav{ gap:2px !important; padding:5px !important; border-radius:999px; background:rgba(255,92,138,.07) !important; box-shadow:inset 0 0 0 1px rgba(255,92,138,.1) !important; }
.hdr .nav a{ position:relative; padding:10px 18px !important; border-radius:999px !important; font-size:14.5px; font-weight:600; color:var(--ink); transition:color .3s, background .3s, box-shadow .3s, transform .3s var(--ease); }
.hdr .nav a::after{ display:none !important; }
.hdr .nav a:hover{ color:var(--pink-deep); background:rgba(255,255,255,.85) !important; transform:none; }
.hdr .nav a.on, .hdr .nav a.on:hover{ color:#fff !important; background:linear-gradient(135deg,#ff5c8a,#e0336b) !important; box-shadow:0 8px 18px -8px rgba(224,51,107,.85), inset 0 1px 0 rgba(255,255,255,.35) !important; }
.hdr .nav a.on::before{ content:"✦"; position:absolute; top:-3px; right:4px; font-size:11px; line-height:1; color:var(--gold); text-shadow:0 0 6px rgba(212,175,55,.7); }

/* CTA */
.hdr .hdr-cta{ padding:14px 22px !important; border-radius:999px; box-shadow:0 10px 22px -10px rgba(224,51,107,.9), inset 0 1px 0 rgba(255,255,255,.3) !important; }

@media (max-width:1100px){
  .hdr .wrap, .hdr.scrolled .wrap{ height:64px; padding:0 8px 0 12px; }
  .hdr .logo img{ width:40px; height:40px; }
}
@media (max-width:640px){
  .hdr{ padding-top:10px; }
  .hdr .wrap, .hdr.scrolled .wrap{ height:60px; margin:0 10px; }
  .hdr .logo img{ width:36px; height:36px; }
}

/* inner pages: navbar floats over the pink hero (no white strip above it) */
:root{ --hh:88px; }
@media (max-width:1100px){ :root{ --hh:78px; } }
@media (max-width:640px){ :root{ --hh:70px; } }
body:has(main > .ph2:first-child) .hdr{ margin-bottom:calc(-1 * var(--hh)); }
main > .ph2:first-child{ border-top:var(--hh) solid transparent; background-origin:border-box !important; }

/* ===== Home hero upgrade ===== */
.hdr .logo:focus{ outline:none; }
.hdr .logo:focus-visible{ outline:2px solid var(--pink); outline-offset:4px; border-radius:999px; }

.sc-hero{ position:relative; }
.sc-hero > *:not(.sc-sky){ position:relative; z-index:1; }

/* wordmark: dimensional pink + soft matte gold */
.sc-word{ filter:drop-shadow(0 14px 22px rgba(214,69,122,.16)); }
.sc-word .w1 i{ background:linear-gradient(180deg,#ff7aa3 0%,#e0457f 48%,#b92e63 100%) !important; -webkit-background-clip:text !important; background-clip:text !important; color:transparent !important; }
.sc-word .w2 i{ background:linear-gradient(180deg,#cfaa55 0%,#bd9748 55%,#a9853c 100%) !important; -webkit-background-clip:text !important; background-clip:text !important; color:transparent !important; }
.sc-word .w1 i:hover, .sc-word .w2 i:hover{ color:transparent !important; filter:brightness(1.12) saturate(1.1) !important; }

/* sparkles */
.sc-sky{ position:absolute; inset:0; pointer-events:none; z-index:0; overflow:hidden; }
.sc-sky b{ position:absolute; font-size:var(--s); line-height:1; color:#d4af37; text-shadow:0 0 10px rgba(212,175,55,.6); opacity:0; animation:scTw var(--t) ease-in-out var(--d) infinite; }
.sc-sky b:nth-child(3n){ color:#ff5c8a; text-shadow:0 0 10px rgba(255,92,138,.5); }
@keyframes scTw{ 0%,100%{ opacity:0; transform:scale(.5) rotate(0deg); } 50%{ opacity:.9; transform:scale(1) rotate(45deg); } }
@media (prefers-reduced-motion:reduce){ .sc-sky b{ animation:none; opacity:.6; } }

/* tiles: framed, soft pink shadow; review circles get a gold ring + play badge */
@media (min-width:901px){ .sc-run{ padding:16px 0 44px; margin-bottom:-14px !important; -webkit-mask-image:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); } }
@media (max-width:900px){ .sc-run, .sc-run.r2{ padding:8px 0 18px !important; } .sc-run.r2{ margin-top:-6px !important; } .sc-run .sc-t > img, .sc-run .sc-t > video{ box-shadow:0 0 0 4px #fff, 0 14px 24px -16px rgba(184,46,99,.55); } .sc-run .sc-t.ci > video{ box-shadow:0 0 0 3px #fff, 0 0 0 5px #d4af37, 0 14px 24px -16px rgba(184,46,99,.55); } }
.sc-run .sc-t{ overflow:visible !important; background:transparent; }
.sc-run .sc-t > img, .sc-run .sc-t > video{ border-radius:inherit; box-shadow:0 0 0 5px #fff, 0 22px 40px -22px rgba(184,46,99,.55); }
.sc-run .sc-t.ci > video{ box-shadow:0 0 0 4px #fff, 0 0 0 6.5px #d4af37, 0 22px 40px -22px rgba(184,46,99,.55); }
.sc-run .sc-t.ci::after{ content:""; position:absolute; right:6%; bottom:8%; z-index:2; width:clamp(30px,2.6vw,42px); height:clamp(30px,2.6vw,42px); border-radius:50%;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23e0336b' d='M8 5.5v13a1 1 0 0 0 1.5.86l10.5-6.5a1 1 0 0 0 0-1.72L9.5 4.64A1 1 0 0 0 8 5.5z'/%3E%3C/svg%3E") 56% 50%/45% no-repeat;
  box-shadow:0 6px 16px -6px rgba(184,46,99,.7); }
.sc-run .sc-t:hover > img, .sc-run .sc-t:hover > video{ transform:scale(1.03); }
.sc-run .sc-t:hover{ transform:translateY(-8px); }

/* meta row */
@media (min-width:901px){
  /* sentence + button sit together, centred */
  .sc-hero .sc-meta3{ display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:16px clamp(28px,3vw,48px); }
  .sc-hero .m3-line{ grid-column:auto; text-align:left; max-width:none; }
  .sc-hero .m3-go{ justify-self:auto; flex:none; }

  .sc-hero .m3-go{ gap:14px; padding:8px 8px 8px 24px; border:0; border-radius:999px; background:var(--wine); color:#fff; font-size:14.5px; box-shadow:0 14px 28px -14px rgba(43,15,29,.7); transition:background .3s, transform .3s var(--ease), box-shadow .3s; }
  .sc-hero .m3-go svg{ width:38px; height:38px; padding:11px; border-radius:50%; background:linear-gradient(135deg,#ff5c8a,#e0336b); color:#fff; transition:transform .35s var(--ease); }
  .sc-hero .m3-go:hover{ gap:14px; color:#fff; transform:translateY(-2px); box-shadow:0 18px 34px -14px rgba(224,51,107,.8); }
  .sc-hero .m3-go:hover svg{ transform:rotate(-45deg); }
}

/* "real sales" brush underline */
.m3-line span{ position:relative; white-space:nowrap; }
.m3-line span::after{ content:""; position:absolute; left:-2%; right:-2%; bottom:-.12em; height:.34em; z-index:-1;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 20' preserveAspectRatio='none'%3E%3Cpath d='M3 14C40 6 90 4 197 9' stroke='%23ffb3cb' stroke-width='9' stroke-linecap='round' fill='none'/%3E%3Cpath d='M20 16C70 11 130 10 190 13' stroke='%23d4af37' stroke-opacity='.55' stroke-width='2.5' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") center/100% 100% no-repeat; }


/* ===== Trusted-by: flat blush band, big count + marquee ===== */
body[data-page="home"] .st-clients{ padding:0 !important; border:0 !important; background:#ffe6ef !important; text-align:left; }
.st-clients .tc{ display:grid; grid-template-columns:auto 1fr; align-items:center; gap:clamp(24px,3vw,52px); padding:clamp(26px,2.6vw,36px) 0 clamp(26px,2.6vw,36px) var(--gut); }
.tc-l{ display:flex; align-items:center; gap:14px; padding-right:clamp(24px,3vw,52px); border-right:1px solid rgba(43,15,29,.15); }
.tc-n{ font-family:"Anton", var(--body); font-weight:400; font-size:clamp(46px,4.2vw,68px); line-height:.9; color:var(--pink-deep); }
.tc-l p{ font-size:14px; line-height:1.35; font-weight:600; color:var(--ink); white-space:nowrap; }
.st-clients .st-mq{ -webkit-mask-image:linear-gradient(90deg, transparent, #000 5%, #000 92%, transparent); mask-image:linear-gradient(90deg, transparent, #000 5%, #000 92%, transparent); }
.st-clients .st-mq .track{ animation-duration:60s !important; }
.st-clients .st-mq span{ gap:clamp(22px,2.2vw,36px) !important; padding-right:clamp(22px,2.2vw,36px) !important; font-family:var(--body); font-size:clamp(19px,1.6vw,25px) !important; font-weight:700 !important; letter-spacing:-.025em !important; color:var(--ink) !important; }
.st-clients .st-mq span em{ font-style:normal; text-shadow:none !important; transition:color .3s; }
.st-clients .st-mq span em.c{ font-family:var(--serif); font-style:italic; font-weight:600; font-size:1.1em; letter-spacing:0; color:var(--pink-deep); }
.st-clients .st-mq span em:hover{ color:var(--pink-deep) !important; }
.st-clients .st-mq span i{ display:inline-block !important; width:7px; height:7px; border-radius:50%; background:#ff5c8a; }
@media (max-width:900px){
  .st-clients .tc{ grid-template-columns:1fr; gap:16px; padding:24px 0; }
  .tc-l{ padding:0 16px; border:0; }
  .tc-n{ font-size:44px; }
}

/* ===== Home services: image preview (left) + priced rows (right) ===== */
@media (min-width:901px){
  body[data-page="home"] .hm-svc .sv2-pic{ display:block !important; margin:34px 0 30px; max-width:none; width:100%; aspect-ratio:5/4; border-radius:24px; overflow:hidden; background:#ffe6ef; box-shadow:0 30px 60px -36px rgba(140,40,80,.55); }
}
.sv2-pic .ph-img{ background:none !important; padding:0; }
.sv2-pic .ph-img::before, .sv2-pic .ph-img::after{ display:none; }
.sv2-pic .ph-img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 30%; opacity:1; transform:scale(1.06); transition:transform 1.2s var(--ease); }
.sv2-pic .ph-img.on img{ transform:none; }
.sv2-pic .ph-img::after{ display:block; content:""; position:absolute; inset:auto 0 0 0; height:55%; top:auto; right:0; width:auto; aspect-ratio:auto; border:0; border-radius:0; background:linear-gradient(0deg, rgba(43,15,29,.78), transparent); }
.sv2-pic .ph-cap{ position:absolute; z-index:1; left:clamp(20px,2vw,30px); right:clamp(20px,2vw,30px); bottom:clamp(18px,2vw,28px); display:flex; flex-direction:column; color:#fff; }
.sv2-pic .ph-k{ font-size:12px; font-weight:700; letter-spacing:.14em; color:#f3d98a; }
.sv2-pic .ph-cap b{ margin-top:6px; font-size:clamp(22px,1.9vw,30px); font-weight:800; letter-spacing:-.03em; line-height:1.1; }
.sv2-pic .ph-cap small{ margin-top:6px; font-size:13px; font-weight:600; opacity:.85; }

/* rows */
body[data-page="home"] .sv2-list a{ grid-template-columns:56px 1fr auto !important; border-radius:18px; padding-left:18px !important; padding-right:18px !important; transition:background .4s var(--ease), padding .5s var(--ease); }
body[data-page="home"] .sv2-list li.on a{ background:#fff0f5; }
.sv2-list .pr{ display:flex; align-items:center; gap:12px; font-size:14px; font-weight:700; color:var(--ink); white-space:nowrap; }
.sv2-list .pr small{ margin-left:-10px; font-size:12px; font-weight:500; color:rgba(43,15,29,.55); }
.sv2-list .pr i{ display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; border:1px solid rgba(43,15,29,.18); transition:background .35s, border-color .35s, color .35s, transform .4s var(--ease); }
.sv2-list .pr i svg{ width:15px; height:15px; }
.sv2-list li.on .pr i{ background:linear-gradient(135deg,#ff5c8a,#e0336b); border-color:transparent; color:#fff; transform:rotate(-45deg); }
@media (max-width:900px){
  body[data-page="home"] .sv2-list a{ grid-template-columns:34px 1fr !important; padding-left:0 !important; padding-right:0 !important; }
  body[data-page="home"] .sv2-list li.on a{ background:none; }
  .sv2-list .pr{ grid-column:2; margin-top:-4px; }
  .sv2-list .pr i{ display:none; }
}
@media (min-width:901px){
  body[data-page="home"] .hm-svc .sv2-pic{ aspect-ratio:4/3; }
  body[data-page="home"] .sv2-list .t b{ font-size:clamp(20px,1.75vw,30px) !important; }
}
@media (min-width:901px){
  body[data-page="home"] .sv2-list .t b{ font-size:clamp(19px,1.5vw,26px) !important; white-space:nowrap; }
  body[data-page="home"] .sv2-list a{ grid-template-columns:44px 1fr auto !important; }
}
.sv2-pic .ph-img::after{ height:70%; background:linear-gradient(0deg, rgba(43,15,29,.92) 0%, rgba(43,15,29,.6) 45%, transparent 100%); }

/* home services heading: Montserrat (accent word stays Playfair italic) */
body[data-page="home"] .hm-svc .sv2-l h2{ font-family:var(--body) !important; font-weight:800 !important; letter-spacing:-.045em !important; line-height:1.02 !important; }
body[data-page="home"] .hm-svc .sv2-l h2 em{ font-family:var(--serif); font-weight:500; letter-spacing:-.02em; }

/* home services: both columns same height, rows fixed height */
@media (min-width:901px){
  body[data-page="home"] .hm-svc .sv2{ align-items:stretch !important; }
  body[data-page="home"] .hm-svc .sv2-l{ position:static; display:flex; flex-direction:column; padding-top:0; }
  body[data-page="home"] .hm-svc .sv2-l p{ margin-bottom:0 !important; }
  body[data-page="home"] .hm-svc .sv2-pic{ flex:1 1 auto; aspect-ratio:auto !important; min-height:280px; margin:30px 0 26px !important; }
  body[data-page="home"] .hm-svc .sv2-l .m3-go{ align-self:flex-start; margin:0 !important; }
  body[data-page="home"] .hm-svc .sv2-list .t small{ max-height:none !important; opacity:1 !important; margin-top:6px; font-size:13px; }
  body[data-page="home"] .hm-svc .sv2-list a{ padding-top:22px !important; padding-bottom:22px !important; }
  body[data-page="home"] .hm-svc .sv2-list li.on a{ padding-left:18px !important; }
}


/* ===== Home results: featured card (left) + evenly spaced stats (right), original colours ===== */
@media (min-width:1001px){ body[data-page="home"] .pf{ align-items:stretch !important; } }
body[data-page="home"] .pf-main{ display:flex; flex-direction:column; padding:clamp(28px,3vw,48px); background:#fff; border:1px solid rgba(43,15,29,.08); border-radius:28px; box-shadow:0 30px 60px -40px rgba(140,40,80,.45); }
body[data-page="home"] .pf-main .pf-big{ margin-bottom:18px !important; }
body[data-page="home"] .pf-bars{ max-width:none !important; margin-top:auto !important; padding:24px 0 0 !important; background:none !important; border:0 !important; border-top:1px solid rgba(43,15,29,.1) !important; border-radius:0 !important; box-shadow:none !important; }
body[data-page="home"] .pf-txt{ margin-bottom:28px; }
.pf-proof{ display:flex; align-items:center; gap:16px; margin-top:16px; padding:10px; border-radius:16px; background:#fff3f7; color:var(--ink); transition:background .3s; }
.pf-proof:hover{ background:#ffe6ef; }
.pf-proof img{ flex:none; width:120px; aspect-ratio:16/9; object-fit:cover; object-position:center; border-radius:10px; box-shadow:0 0 0 1px rgba(43,15,29,.08); }
.pf-proof b{ display:block; font-size:13.5px; font-weight:700; line-height:1.35; }
.pf-proof small{ display:inline-flex; align-items:center; gap:6px; margin-top:4px; font-size:12.5px; font-weight:600; color:var(--pink-deep); }
.pf-proof small svg{ width:13px; height:13px; transition:transform .3s; }
.pf-proof:hover small svg{ transform:translate(2px,-2px); }

/* right column: rows share the card's height, CTA sits at the bottom */
@media (min-width:1001px){
  body[data-page="home"] .pf-list{ display:flex; flex-direction:column; }
  body[data-page="home"] .pf-list li:not(.pf-cta){ flex:1 1 0; align-content:center; }
  body[data-page="home"] .pf-list li.pf-cta{ flex:none; padding:28px 0 0 !important; }
}
@media (max-width:640px){ body[data-page="home"] .pf-main{ padding:22px; border-radius:22px; } .pf-proof img{ width:96px; } }
body[data-page="home"] .pf-main .pf-big{ font-size:clamp(68px,6.2vw,124px) !important; white-space:nowrap; }

/* ===== Home results v2: wide horizontal card + stats row (shorter section) ===== */
body[data-page="home"] .sc-band{ padding:clamp(56px,6vw,96px) 0 !important; }
@media (min-width:1001px){
  body[data-page="home"] .pf{ grid-template-columns:1fr !important; gap:clamp(28px,3vw,44px) !important; align-items:stretch !important; }
  body[data-page="home"] .pf-main{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:auto auto 1fr; column-gap:clamp(40px,5vw,90px); padding:clamp(30px,3vw,48px) clamp(32px,3.6vw,56px); }
  body[data-page="home"] .pf-main > .pf-k, body[data-page="home"] .pf-main > .pf-big, body[data-page="home"] .pf-main > .pf-txt{ grid-column:1; }
  body[data-page="home"] .pf-main .pf-big{ margin:4px 0 14px !important; }
  body[data-page="home"] .pf-txt{ margin-bottom:0; }
  body[data-page="home"] .pf-bars{ grid-column:2; grid-row:1 / 4; align-self:center; margin:0 !important; padding:0 0 0 clamp(32px,4vw,64px) !important; border-top:0 !important; border-left:1px solid rgba(43,15,29,.1) !important; }

  body[data-page="home"] .pf-list{ display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) auto; align-items:stretch; border-top:1px solid rgba(43,15,29,.12); }
  body[data-page="home"] .sc-band .pf-list li, body[data-page="home"] .pf-list li:first-child{ display:block !important; padding:24px clamp(20px,2.4vw,36px) 4px !important; border:0 !important; border-left:1px solid rgba(43,15,29,.12) !important; }
  body[data-page="home"] .pf-list li:first-child{ border-left:0 !important; padding-left:0 !important; }
  body[data-page="home"] .pf-list b{ display:block; font-size:clamp(44px,3.8vw,68px) !important; line-height:1 !important; margin-bottom:12px; }
  body[data-page="home"] .pf-list p{ max-width:300px !important; font-size:14px !important; }
  body[data-page="home"] .pf-list li.pf-cta{ border-left:0 !important; padding:0 0 6px clamp(20px,2.4vw,36px) !important; align-self:end; }
}
@media (min-width:1001px){ body[data-page="home"] .pf-list li:not(.pf-cta){ align-content:start !important; } body[data-page="home"] .pf-list li.pf-cta{ align-content:end !important; } }

/* ===== Home selected results: 4-up row, smaller cards ===== */
@media (min-width:901px){
  body[data-page="home"] .sw2-grid{ grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:clamp(16px,1.6vw,24px) !important; }
  body[data-page="home"] .sw2-card .pic{ aspect-ratio:4/5; border-radius:20px; }
  body[data-page="home"] .sw2-card .pill{ left:12px; right:auto; bottom:12px; max-width:calc(100% - 24px); padding:7px 12px; font-size:12.5px; white-space:nowrap; }
  body[data-page="home"] .sw2-card figcaption{ display:grid; grid-template-columns:auto 1fr; column-gap:10px; row-gap:2px; padding:16px 2px 0; }
  body[data-page="home"] .sw2-card .n{ grid-row:1 / 3; padding-top:3px; }
  body[data-page="home"] .sw2-card b{ font-size:clamp(17px,1.3vw,20px); }
  body[data-page="home"] .sw2-card small{ margin-left:0; font-size:13px; }
  body[data-page="home"] .sw2-more{ margin-top:clamp(32px,3vw,48px); }
}
@media (min-width:901px) and (max-width:1100px){ body[data-page="home"] .sw2-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }

/* ===== Home contact: card with CTA (left) + contact rows (right) ===== */
body[data-page="home"] .sc-about{ padding:clamp(56px,6vw,96px) var(--gut); }
body[data-page="home"] .sc-about .sc-touch{ display:grid !important; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:clamp(32px,5vw,90px); align-items:center !important; padding:clamp(36px,4.4vw,72px) !important; border:0 !important; border-radius:32px; background:#fff0f5; }
body[data-page="home"] .sc-about .tt-l .eyebrow{ margin-bottom:16px !important; }
body[data-page="home"] .sc-about .sc-touch h2{ font-size:clamp(48px,5.6vw,96px) !important; line-height:.98 !important; }
.tt-l p{ margin:18px 0 30px; max-width:420px; font-size:16px; line-height:1.6; color:rgba(43,15,29,.66); }
.tt-l .btn{ display:inline-flex; }
.tt-r{ display:flex; flex-direction:column; gap:12px; }
.tt-row{ display:flex; align-items:center; gap:16px; padding:16px 18px; border-radius:20px; background:#fff; border:1px solid rgba(43,15,29,.06); color:var(--ink); transition:transform .35s var(--ease), box-shadow .35s; }
a.tt-row:hover{ transform:translateY(-2px); box-shadow:0 16px 30px -22px rgba(184,46,99,.55); }
.tt-ic{ flex:none; width:46px; height:46px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#ffe6ef; color:var(--pink-deep); }
.tt-ic svg{ width:20px; height:20px; }
.tt-t{ flex:1; min-width:0; }
.tt-t small{ display:block; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(43,15,29,.5); }
.tt-t b{ display:block; margin-top:3px; font-size:clamp(15px,1.2vw,18px); font-weight:700; letter-spacing:-.01em; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tt-go{ flex:none; width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center; border:1px solid rgba(43,15,29,.15); transition:background .3s, border-color .3s, color .3s; }
.tt-go svg{ width:15px; height:15px; }
a.tt-row:hover .tt-go{ background:linear-gradient(135deg,#ff5c8a,#e0336b); border-color:transparent; color:#fff; }
.tt-info{ background:transparent; border-style:dashed; border-color:rgba(43,15,29,.14); }
@media (max-width:900px){
  body[data-page="home"] .sc-about{ padding:48px 16px; }
  body[data-page="home"] .sc-about .sc-touch{ grid-template-columns:1fr; padding:28px 22px !important; border-radius:24px; gap:28px; }
  body[data-page="home"] .sc-about .sc-touch h2{ font-size:48px !important; }
  .tt-l .btn{ width:100%; justify-content:center; }
}

/* ===== Footer ===== */
.ftr .f-brand p{ margin-top:8px; font-size:13px; color:rgba(43,15,29,.55); }
.ftr .base{ align-items:center; }
.ftr .f-top-btn{ font-size:12.5px; font-weight:600; color:var(--ink) !important; padding:7px 14px; border:1px solid rgba(43,15,29,.15); border-radius:999px; transition:background .3s, color .3s, border-color .3s; }
.ftr .f-top-btn:hover{ background:var(--ink); color:#fff !important; border-color:var(--ink); }

/* ===================== Services & Rates page refresh ===================== */
/* shared heading voice with home: Montserrat 800 + Playfair italic accent, gold-line eyebrow */
body[data-page="services"] .sr-head h2, body[data-page="services"] .sr-sec-h h2, body[data-page="services"] .fq h2, body[data-page="services"] .wk-cta h2{ font-family:var(--body) !important; font-weight:800 !important; letter-spacing:-.045em !important; line-height:1.04 !important; color:var(--ink) !important; }
body[data-page="services"] .sr-sec-h h2 em, body[data-page="services"] .fq h2 em, body[data-page="services"] .wk-cta h2 em{ font-family:var(--serif) !important; font-style:italic; font-weight:500 !important; letter-spacing:-.02em; color:var(--pink-deep) !important; background:none !important; -webkit-text-fill-color:currentColor; }
body[data-page="services"] .eyebrow, body[data-page="services"] .fq-k{ display:inline-flex !important; align-items:center; gap:12px; margin-bottom:14px; font-family:var(--body) !important; font-size:12px !important; font-weight:700 !important; letter-spacing:.18em !important; text-transform:uppercase; color:var(--pink-deep) !important; opacity:1; }
body[data-page="services"] .eyebrow::before, body[data-page="services"] .fq-k::before{ content:""; display:block; width:28px; height:1px; background:var(--gold); }

/* hero: at-a-glance facts */
.sr-facts{ list-style:none; margin:clamp(28px,3vw,40px) auto 0; padding:0; display:flex; justify-content:center; flex-wrap:wrap; gap:10px; }
.sr-facts li{ display:inline-flex; align-items:baseline; gap:8px; padding:10px 18px; border-radius:999px; background:rgba(255,255,255,.75); border:1px solid rgba(43,15,29,.08); }
.sr-facts b{ font-size:16px; font-weight:800; letter-spacing:-.02em; color:var(--pink-deep); }
.sr-facts span{ font-size:13px; font-weight:500; color:rgba(43,15,29,.65); }
@media (max-width:640px){ .sr-facts{ display:none; } }

/* rates: calmer background, white panel */
body[data-page="services"] .sr-rates{ background:#fff !important; }
@media (min-width:641px){ body[data-page="services"] .sr-panel{ background:#fff; -webkit-backdrop-filter:none; backdrop-filter:none; border:1px solid rgba(43,15,29,.08); box-shadow:0 30px 70px -50px rgba(184,46,99,.45); padding:clamp(28px,3.4vw,52px) !important; } }

/* panel header: text left, picture right */
@media (min-width:901px){
  body[data-page="services"] .sr-head{ display:grid !important; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(28px,4vw,64px); align-items:center; max-width:none !important; text-align:left !important; margin:0 0 clamp(30px,3vw,44px) !important; padding-bottom:clamp(28px,3vw,40px) !important; border-bottom:1px solid rgba(43,15,29,.08); }
  body[data-page="services"] .sr-head p{ margin-left:0 !important; }
}
body[data-page="services"] .sr-head h2{ font-size:clamp(32px,3.2vw,52px) !important; }
.sr-from{ display:block; margin-top:18px; font-size:14px; color:rgba(43,15,29,.6); }
.sr-from b{ font-size:18px; font-weight:800; color:var(--pink-deep); }
.sr-pic{ margin:0; aspect-ratio:16/10; border-radius:22px; overflow:hidden; background:#ffe6ef; }
.sr-pic img{ width:100%; height:100%; object-fit:cover; object-position:center 30%; }
@media (max-width:900px){ .sr-pic{ display:none; } }

/* plan cards: flat, equal height, clear "most popular" */
body[data-page="services"] .pc-grid{ align-items:stretch; }
body[data-page="services"] .pc{ box-shadow:none; }
body[data-page="services"] .pc:hover{ box-shadow:0 24px 44px -30px rgba(184,46,99,.5); }
body[data-page="services"] .pc-top{ background:#fff6f9 !important; }
body[data-page="services"] .pc.hot{ border:2px solid #ff5c8a; }
body[data-page="services"] .pc.hot .pc-top{ background:#ffe6ef !important; }
body[data-page="services"] .pc.hot .pc-tag{ background:var(--pink-deep); color:#fff; }

/* bundles header */
.sr-sec-h{ display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:16px 40px; max-width:1320px; margin:0 auto clamp(30px,3vw,44px); }
.sr-sec-h h2{ font-size:clamp(32px,3.2vw,52px) !important; }
.sr-sec-h p{ max-width:360px; font-size:15.5px; line-height:1.6; color:rgba(43,15,29,.65); padding-bottom:6px; }
@media (max-width:900px){ .sr-sec-h{ grid-template-columns:1fr; } }

/* FAQ: light blush instead of hot pink */
body[data-page="services"] .fq{ background:#fff0f5 !important; }
body[data-page="services"] .fq::before, body[data-page="services"] .fq::after{ display:none !important; }
body[data-page="services"] .fq h2{ font-size:clamp(32px,3.2vw,52px) !important; }
body[data-page="services"] .fq-sub{ color:rgba(43,15,29,.6); }
body[data-page="services"] .fq-c{ border:1px solid rgba(43,15,29,.06); box-shadow:none; }
body[data-page="services"] .fq-c:hover{ box-shadow:0 24px 44px -30px rgba(184,46,99,.5); }

/* closing CTA */
body[data-page="services"] .wk-cta{ background:#fff !important; }
body[data-page="services"] .wk-cta h2{ font-size:clamp(36px,4.2vw,68px) !important; }
.sr-cta-p{ max-width:460px; margin:18px auto 0; font-size:16px; line-height:1.6; color:rgba(43,15,29,.65); }
body[data-page="services"] .wk-cta .btn{ display:inline-flex; margin-top:30px; }
body[data-page="services"] .eyebrow::before, body[data-page="services"] .fq-k::before{ content:"" !important; }
body[data-page="services"] .eyebrow::after{ content:none !important; }
body[data-page="services"] .sr-bundles-s > *{ max-width:1320px; margin-left:auto; margin-right:auto; }
body[data-page="services"] .sr-local h3, body[data-page="services"] .ph2-intro h2{ font-family:var(--body) !important; font-weight:800 !important; letter-spacing:-.04em !important; }
body[data-page="services"] .ph2-intro h2 em{ font-family:var(--serif); font-weight:500; letter-spacing:-.02em; }

/* home: curved divider between hero and services */
body[data-page="home"] .sc-hero{ --curve:clamp(48px,6vw,110px); background:linear-gradient(180deg, transparent 45%, #ffe3ee 100%) !important; padding-bottom:calc(var(--curve) + 12px) !important; overflow:hidden; }
body[data-page="home"] .sc-hero::after{ content:""; position:absolute; z-index:0; left:-6%; right:-6%; bottom:-1px; height:var(--curve); background:#fff; border-radius:50% 50% 0 0 / 100% 100% 0 0; pointer-events:none; }
@media (max-width:900px){ body[data-page="home"] .sc-hero{ --curve:36px; } }

/* home: curved bottom on the client feedback section */
body[data-page="home"] .sc-fb{ --curve:clamp(48px,6vw,110px); position:relative; overflow:hidden; background:#ffeef4 !important; padding-bottom:calc(var(--sec) + var(--curve) * .6) !important; }
body[data-page="home"] .sc-fb > *{ position:relative; z-index:1; }
body[data-page="home"] .sc-fb::after{ content:""; position:absolute; z-index:0; left:-6%; right:-6%; bottom:-1px; height:var(--curve); background:#fff; border-radius:50% 50% 0 0 / 100% 100% 0 0; pointer-events:none; }
@media (max-width:900px){ body[data-page="home"] .sc-fb{ --curve:36px; } }
body[data-page="home"] .sc-fb + .sc-about{ padding-top:clamp(20px,2.4vw,40px); }

/* ===== Inner page heroes (desktop/tablet): shorter, with the same curved bottom as home ===== */
@media (min-width:641px){
  main > .ph2:first-child{ --curve:clamp(40px,4.5vw,84px);
    padding-top:clamp(18px,3vh,36px) !important; padding-bottom:calc(var(--curve) + clamp(28px,4vh,44px)) !important;
    background:radial-gradient(55% 80% at 12% 10%, rgba(255,193,214,.75), transparent 70%), radial-gradient(50% 75% at 90% 25%, rgba(227,209,255,.65), transparent 70%), linear-gradient(180deg, #ffe6ef 0%, #ffe3ee 100%) !important;
    background-origin:border-box !important; }
  main > .ph2:first-child::after{ display:block !important; z-index:1; left:-6%; right:-6%; bottom:-1px; height:var(--curve); background:#fff; border-radius:50% 50% 0 0 / 100% 100% 0 0; }
  main > .ph2:first-child h1{ margin-top:clamp(14px,2vh,22px) !important; }
  main > .ph2:first-child + section{ padding-top:clamp(24px,3vw,48px) !important; }
  body[data-page="services"] .sr-rates{ padding-top:clamp(24px,3vw,48px) !important; }
}

/* ===== Closing CTA card (services, work, about, posts) ===== */
main > section.wk-cta{ background:#fff !important; padding:clamp(48px,5vw,88px) var(--gut) !important; text-align:left; }
.cta-card{ position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); align-items:center; gap:clamp(28px,4vw,72px); max-width:1320px; margin:0 auto; padding:clamp(34px,4.4vw,72px); border-radius:32px; background:#ffe6ef; }
.cta-card::before, .cta-card::after{ content:""; position:absolute; border-radius:50%; pointer-events:none; }
.cta-card::before{ width:clamp(220px,26vw,420px); aspect-ratio:1; right:-6%; top:-38%; background:rgba(255,255,255,.55); }
.cta-card::after{ width:clamp(160px,18vw,300px); aspect-ratio:1; right:8%; top:-22%; border:1px solid rgba(212,175,55,.55); }
.cta-card > *{ position:relative; z-index:1; }
.cta-k{ display:inline-flex; align-items:center; gap:12px; font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--pink-deep); }
.cta-k::before{ content:""; width:28px; height:1px; background:var(--gold); }
main > section.wk-cta .cta-card h2{ margin-top:14px; font-family:var(--body) !important; font-weight:800 !important; letter-spacing:-.045em !important; line-height:1.04 !important; font-size:clamp(34px,3.6vw,58px) !important; color:var(--ink) !important; text-align:left; text-wrap:balance; }
main > section.wk-cta .cta-card h2 em{ font-family:var(--serif) !important; font-style:italic; font-weight:500 !important; letter-spacing:-.02em; color:var(--pink-deep) !important; background:none !important; -webkit-text-fill-color:currentColor; }
.cta-p{ margin-top:16px; max-width:460px; font-size:16px; line-height:1.6; color:rgba(43,15,29,.66); }
.cta-r{ display:flex; flex-direction:column; align-items:flex-start; gap:22px; justify-self:end; }
.cta-btns{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.cta-btns .btn{ display:inline-flex; margin:0 !important; }
.cta-mail{ display:inline-flex; align-items:center; gap:8px; padding:14px 22px; border-radius:999px; background:#fff; color:var(--ink); font-size:14px; font-weight:700; border:1px solid rgba(43,15,29,.1); transition:background .3s, color .3s; }
.cta-mail svg{ width:14px; height:14px; }
.cta-mail:hover{ background:var(--ink); color:#fff; }
.cta-meta{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px 20px; }
.cta-meta li{ display:inline-flex; align-items:center; gap:8px; font-size:13.5px; font-weight:600; color:rgba(43,15,29,.7); }
.cta-meta svg{ width:16px; height:16px; color:var(--pink-deep); }
@media (max-width:900px){
  .cta-card{ grid-template-columns:1fr; padding:30px 22px; border-radius:24px; }
  .cta-r{ justify-self:stretch; }
  .cta-btns{ width:100%; } .cta-btns > *{ flex:1 1 auto; justify-content:center; }
  main > section.wk-cta{ padding:40px 16px !important; }
  main > section.wk-cta .cta-card h2{ font-size:34px !important; }
  main > section.wk-cta .cta-card h2 br{ display:none; }
}
.cta-card::before{ right:-10%; top:-55%; } .cta-card::after{ right:-2%; top:-48%; width:clamp(150px,15vw,250px); }

/* ===================== Work page: compact layout ===================== */
@media (min-width:901px){
  body[data-page="work"] .wk-samples, body[data-page="work"] .wk-cases-s, body[data-page="work"] .wk-proof-s{ padding-top:clamp(48px,5vw,80px) !important; padding-bottom:clamp(48px,5vw,80px) !important; }
  body[data-page="work"] .wk-samples > *, body[data-page="work"] .wk-cases-s > *, body[data-page="work"] .wk-proof-s > *{ max-width:1320px; margin-left:auto; margin-right:auto; }
  body[data-page="work"] .wk-sec-h{ margin-bottom:clamp(22px,2.4vw,34px) !important; }
  body[data-page="work"] .wk-sec-h h2{ font-family:var(--body) !important; font-weight:800 !important; letter-spacing:-.045em !important; font-size:clamp(30px,3vw,46px) !important; }

  /* sample works: one slim row per client, small square thumbs (same size for every client) */
  body[data-page="work"] .wk-client{ display:grid !important; grid-template-columns:minmax(0,240px) minmax(0,1fr) !important; gap:clamp(20px,3vw,48px) !important; align-items:center !important; padding:22px 0 !important; }
  body[data-page="work"] .wk-cl-h h3{ font-size:clamp(19px,1.5vw,23px) !important; line-height:1.2; }
  body[data-page="work"] .wk-pieces, body[data-page="work"] .wk-pieces:has(> :nth-child(4):last-child){ display:grid !important; grid-template-columns:repeat(6,minmax(0,1fr)) !important; gap:10px !important; }
  body[data-page="work"] .wk-p{ aspect-ratio:1 !important; border-radius:14px; overflow:hidden; }
  body[data-page="work"] .wk-p img{ width:100%; height:100% !important; object-fit:cover; transition:transform .6s var(--ease); }
  body[data-page="work"] .wk-p:hover img{ transform:scale(1.06); }

  /* case studies: three cards side by side */
  body[data-page="work"] .wk-cases{ display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(16px,1.8vw,26px); }
  body[data-page="work"] .wk-case{ display:flex !important; flex-direction:column; gap:0 !important; padding:0 !important; border:1px solid rgba(43,15,29,.08) !important; border-radius:24px; overflow:hidden; background:#fff; }
  body[data-page="work"] .wk-case figure{ order:0 !important; margin:0; aspect-ratio:16/9 !important; border-radius:0 !important; }
  body[data-page="work"] .wk-case figure img{ width:100%; height:100%; object-fit:cover; }
  body[data-page="work"] .wk-case-b{ order:1 !important; padding:22px 24px 24px !important; }
  body[data-page="work"] .wk-case-b h3{ font-size:clamp(28px,2.4vw,38px) !important; margin-top:8px; }
  body[data-page="work"] .wk-case-b ul{ display:grid !important; grid-template-columns:1fr 1fr; gap:14px 18px; margin-top:16px; padding-top:16px; border-top:1px solid rgba(43,15,29,.08); }
  body[data-page="work"] .wk-case-b li{ padding:0 !important; border:0 !important; }
  body[data-page="work"] .wk-case-b li b{ font-size:20px !important; }

  /* dashboard proofs: smaller tiles */
  body[data-page="work"] .wk-proofs{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:16px !important; }
  body[data-page="work"] .wk-proof img{ aspect-ratio:16/9 !important; object-fit:cover; object-position:top; }
}
@media (min-width:901px) and (max-width:1200px){
  body[data-page="work"] .wk-client{ grid-template-columns:1fr !important; gap:14px !important; }
  body[data-page="work"] .wk-cases{ grid-template-columns:1fr 1fr; }
}

/* Work: case study cards v2 */
@media (min-width:901px){
  body[data-page="work"] .wk-cases{ align-items:stretch; }
  body[data-page="work"] .wk-case{ box-shadow:0 24px 50px -40px rgba(184,46,99,.5); transition:transform .4s var(--ease), box-shadow .4s; }
  body[data-page="work"] .wk-case:hover{ transform:translateY(-4px); box-shadow:0 30px 60px -36px rgba(184,46,99,.6); }
  body[data-page="work"] .wk-case figure{ position:relative; }
  body[data-page="work"] .wk-case-b{ display:flex; flex-direction:column; flex:1; max-width:none !important; width:auto !important; margin:0 !important; padding:24px 26px 26px !important; text-align:left; }
  body[data-page="work"] .wk-case-b h3{ margin-top:10px !important; font-size:clamp(28px,2.3vw,36px) !important; line-height:1.05; letter-spacing:-.04em; }
  body[data-page="work"] .wk-sub{ margin-top:6px !important; font-size:16px !important; }
  body[data-page="work"] .wk-case-b ul{ margin-top:auto !important; padding-top:0 !important; border-top:0 !important; gap:8px !important; }
  body[data-page="work"] .wk-case-b li{ display:flex !important; flex-direction:column; gap:2px; padding:12px 14px !important; border-radius:14px; background:#fff3f7; }
  body[data-page="work"] .wk-case-b li b{ font-size:20px !important; line-height:1.1; color:var(--pink-deep) !important; }
  body[data-page="work"] .wk-case-b li span{ font-size:12px; color:rgba(43,15,29,.6); }
}
.wk-chip{ position:absolute; left:14px; top:14px; padding:6px 12px; border-radius:999px; background:rgba(255,255,255,.92); font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--ink); }
body[data-page="work"] .wk-tag{ display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:11.5px !important; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--pink-deep); }
.wk-how{ margin:14px 0 20px; font-size:14px; line-height:1.55; color:rgba(43,15,29,.66); }

/* ===================== About page: contained, compact ===================== */
body[data-page="about"] .ab-story, body[data-page="about"] .ab-ind{ max-width:calc(1320px + 2 * var(--gut)); margin-left:auto !important; margin-right:auto !important; padding-left:var(--gut) !important; padding-right:var(--gut) !important; box-sizing:border-box; }
@media (min-width:901px){
  body[data-page="about"] .ab-story{ display:grid !important; grid-template-columns:minmax(0,420px) minmax(0,1fr) !important; gap:clamp(40px,6vw,96px) !important; align-items:center !important; padding-top:clamp(24px,3vw,48px) !important; padding-bottom:clamp(56px,6vw,90px) !important; }
  body[data-page="about"] .ab-photo{ width:100% !important; max-width:420px; height:auto !important; aspect-ratio:4/5 !important; margin:0 !important; border-radius:28px; overflow:hidden; }
  body[data-page="about"] .ab-photo img{ width:100%; height:100%; object-fit:cover; object-position:center 25%; }
  body[data-page="about"] .ab-text{ max-width:620px; padding:0 !important; }
}
body[data-page="about"] .ab-k{ display:inline-flex; align-items:center; gap:12px; font-size:12px !important; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--pink-deep) !important; }
body[data-page="about"] .ab-k::before{ content:""; width:28px; height:1px; background:var(--gold); }
body[data-page="about"] .ab-quote{ margin-top:16px !important; font-family:var(--body) !important; font-weight:800 !important; font-size:clamp(28px,2.8vw,44px) !important; line-height:1.12 !important; letter-spacing:-.04em !important; color:var(--ink); text-wrap:balance; }
body[data-page="about"] .ab-quote em{ font-family:var(--serif); font-style:italic; font-weight:500; letter-spacing:-.02em; color:var(--pink-deep); }
body[data-page="about"] .ab-body{ margin-top:20px !important; padding-top:20px; border-top:1px solid rgba(43,15,29,.1); }
body[data-page="about"] .ab-body p{ font-size:16px !important; line-height:1.65; color:rgba(43,15,29,.68); }
body[data-page="about"] .ab-text .m3-go{ margin-top:26px !important; }

/* how we work */
body[data-page="about"] .hw{ padding-top:clamp(56px,6vw,90px) !important; padding-bottom:clamp(56px,6vw,90px) !important; }
body[data-page="about"] .hw-in{ max-width:1320px; margin:0 auto; }
body[data-page="about"] .hw-txt h2, body[data-page="about"] .ab-ind h2{ font-family:var(--body) !important; font-weight:800 !important; letter-spacing:-.045em !important; line-height:1.05 !important; }
body[data-page="about"] .hw-txt h2{ font-size:clamp(32px,3.2vw,52px) !important; }
body[data-page="about"] .hw-txt h2 em{ font-family:var(--serif); font-weight:500; letter-spacing:-.02em; }

/* industries as chips */
body[data-page="about"] .ab-ind{ padding-top:clamp(56px,6vw,90px) !important; padding-bottom:clamp(24px,3vw,40px) !important; }
body[data-page="about"] .ab-ind .wk-sec-h{ margin-bottom:22px !important; }
body[data-page="about"] .ab-ind h2{ font-size:clamp(30px,3vw,46px) !important; }
body[data-page="about"] .ab-ind-list{ display:flex; flex-wrap:wrap; gap:10px; font-size:0; }
body[data-page="about"] .ab-ind-list i{ display:none; }
body[data-page="about"] .ab-ind-list span{ display:inline-flex; align-items:center; padding:12px 20px; border-radius:999px; background:#fff3f7; border:1px solid rgba(247,182,201,.8); font-size:15px; font-weight:600; color:var(--ink); transition:background .3s, color .3s; }
body[data-page="about"] .ab-ind-list span:hover{ background:var(--pink-deep); color:#fff; border-color:var(--pink-deep); }
@media (max-width:900px){
  body[data-page="about"] .ab-photo{ max-width:420px; aspect-ratio:4/5; height:auto !important; }
  body[data-page="about"] .ab-ind-list span{ font-size:14px; padding:10px 16px; }
}
body[data-page="about"] .ab-ind-list{ display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; align-items:flex-start; } body[data-page="about"] .ab-ind-list span{ width:auto !important; flex:none !important; letter-spacing:0 !important; font-family:var(--body) !important; }

/* About: industries, text left + 3x3 grid right */
.ind-wrap{ display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr); gap:clamp(32px,5vw,90px); align-items:center; }
body[data-page="about"] .ind-l h2{ margin-top:14px; font-family:var(--body) !important; font-weight:800 !important; font-size:clamp(30px,3vw,46px) !important; letter-spacing:-.045em !important; line-height:1.05; color:var(--ink); }
body[data-page="about"] .ind-l h2 em{ font-family:var(--serif); font-style:italic; font-weight:500; letter-spacing:-.02em; color:var(--pink-deep); }
.ind-l p{ margin:16px 0 24px; max-width:380px; font-size:15.5px; line-height:1.65; color:rgba(43,15,29,.66); }
.ind-grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.ind-grid li{ position:relative; display:flex; flex-direction:column; gap:14px; padding:20px; border-radius:20px; background:#fff6f9; border:1px solid rgba(247,182,201,.6); transition:background .35s, transform .35s var(--ease), border-color .35s; }
.ind-grid li:hover{ background:#fff; border-color:#ff9dbb; transform:translateY(-3px); }
.ind-ic{ display:flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%; background:#fff; color:var(--pink-deep); box-shadow:0 6px 14px -8px rgba(184,46,99,.5); }
.ind-ic svg{ width:19px; height:19px; }
.ind-grid b{ font-size:15.5px; font-weight:700; letter-spacing:-.01em; color:var(--ink); line-height:1.3; }
.ind-grid em{ position:absolute; right:18px; top:18px; font-style:normal; font-size:11px; font-weight:700; color:rgba(212,175,55,.9); }
@media (max-width:900px){ .ind-wrap{ grid-template-columns:1fr; } }
@media (max-width:640px){ .ind-grid{ grid-template-columns:1fr 1fr; gap:10px; } .ind-grid li{ padding:16px; gap:10px; } .ind-grid b{ font-size:14px; } }
@media (max-width:640px){ .ind-grid li:last-child:nth-child(odd){ grid-column:1 / -1; } }


/* mobile: grid/flex children may shrink below their content (long emails, long words) */
.sc-touch > *, .tt-l, .tt-r, .tt-row, .tt-t, .cta-card > *, .cta-r, .cta-btns > *, .ind-wrap > *, .ind-grid li, .sr-sec-h > *, .pf > *, .pf-main > *, .wk-case-b, .bl-card{ min-width:0; }
@media (max-width:900px){
  body[data-page="home"] .sc-about .sc-touch{ grid-template-columns:minmax(0,1fr) !important; }
  .cta-card{ grid-template-columns:minmax(0,1fr); }
  .ind-wrap{ grid-template-columns:minmax(0,1fr); }
  .tt-l .btn{ max-width:100%; }
  .tt-row{ padding:14px; gap:12px; }
  .tt-ic{ width:40px; height:40px; }
  .tt-t b{ font-size:15px; }
}

/* ===================== Services page: clean mobile layout ===================== */
@media (max-width:640px){
  /* hero: one intro only, facts as a tidy 2x2 grid */
  body[data-page="services"] .ph2-intro{ display:none !important; }
  body[data-page="services"] main > .ph2:first-child p{ display:block !important; margin-top:14px; }
  body[data-page="services"] .sr-facts{ display:grid !important; grid-template-columns:1fr 1fr; gap:8px; max-width:360px; margin:22px auto 0; }
  body[data-page="services"] .sr-facts li{ flex-direction:column; align-items:center; gap:2px; padding:10px 8px; border-radius:16px; text-align:center; }
  body[data-page="services"] .sr-facts b{ font-size:18px; }
  body[data-page="services"] .sr-facts span{ font-size:11.5px; line-height:1.3; }
  body[data-page="services"] main > .ph2:first-child{ padding-bottom:calc(36px + 40px) !important; }
  body[data-page="services"] main > .ph2:first-child + section{ margin-top:0 !important; }

  /* service picker: every service visible, 2 columns, no sideways scrolling */
  body[data-page="services"] .sr-rates{ padding:28px 16px 40px !important; }
  body[data-page="services"] .sr-nav{ display:grid !important; grid-template-columns:1fr 1fr; gap:8px !important; margin:0 0 24px !important; padding:0 !important; overflow:visible !important; }
  body[data-page="services"] .sr-nav button, body[data-page="services"] .sr-nav button:last-child{ display:flex !important; align-items:center !important; gap:8px !important; min-height:52px; padding:8px 12px 8px 8px !important; border-radius:16px !important; font-size:12.5px !important; line-height:1.25; text-align:left; white-space:normal !important; flex:none !important; width:auto !important; }
  body[data-page="services"] .sr-nav button span{ flex:none; width:26px !important; height:26px !important; }

  /* selected service: photo on top, then title, description, starting price */
  body[data-page="services"] .sr-panel{ padding:0 !important; background:none !important; border:0 !important; box-shadow:none !important; }
  body[data-page="services"] .sr-head{ display:flex !important; flex-direction:column; gap:0; text-align:left !important; margin:0 0 20px !important; padding:0 !important; border:0 !important; }
  body[data-page="services"] .sr-pic{ display:block !important; order:-1; width:100%; aspect-ratio:16/10; margin:0 0 18px; border-radius:20px; }
  body[data-page="services"] .sr-head h2{ font-size:28px !important; margin-top:12px !important; }
  body[data-page="services"] .sr-head p{ font-size:14.5px !important; margin-top:10px !important; }
  body[data-page="services"] .sr-from{ display:inline-flex; align-items:baseline; gap:4px; margin-top:14px; padding:8px 14px; border-radius:999px; background:#fff0f5; font-size:13px; }

  /* packages: stacked full-width cards instead of a cut-off carousel */
  body[data-page="services"] .pc-grid, body[data-page="services"] .pc-bundles{ display:flex !important; flex-direction:column; gap:12px !important; margin:0 !important; padding:0 !important; overflow:visible !important; }
  body[data-page="services"] .pc-grid > *, body[data-page="services"] .pc-bundles > *{ flex:none !important; width:100% !important; }
  body[data-page="services"] .pc-top{ padding:16px !important; }
  body[data-page="services"] .pc-top p{ min-height:0 !important; }
  body[data-page="services"] .pc-price b{ font-size:28px !important; }
  body[data-page="services"] .pc-list{ display:grid !important; grid-template-columns:1fr 1fr; gap:8px 12px !important; padding:14px 12px 12px !important; }
  body[data-page="services"] .pc-list li{ font-size:13px !important; }

  /* add-ons */
  body[data-page="services"] .sr-add{ margin-top:28px !important; padding:16px; border-radius:20px; background:#fff6f9; }
  body[data-page="services"] .sr-add > div{ padding:12px 0 !important; gap:8px !important; }
  body[data-page="services"] .sr-add b{ font-size:14.5px !important; }
  body[data-page="services"] .sr-add span{ font-size:14px !important; color:var(--pink-deep) !important; }

  /* bundles + local bundles */
  body[data-page="services"] .sr-bundles-s{ padding:40px 16px !important; }
  body[data-page="services"] .sr-sec-h h2{ font-size:30px !important; }
  body[data-page="services"] .sr-sec-h p{ font-size:14.5px; }
  body[data-page="services"] .sr-local{ margin-top:32px !important; padding:18px 16px; border-radius:20px; background:#fff6f9; gap:10px !important; }
  body[data-page="services"] .sr-local h3{ font-size:20px !important; }
  body[data-page="services"] .sr-local li{ padding:12px 0 !important; }
}
@media (max-width:640px){ body[data-page="services"] main > .ph2:first-child{ padding-bottom:96px !important; } body[data-page="services"] .sr-rates{ margin-top:-40px !important; padding-top:0 !important; position:relative; z-index:2; background:transparent !important; } }

/* ===================== Work page: clean mobile layout ===================== */
@media (max-width:640px){
  body[data-page="work"] .wk-samples, body[data-page="work"] .wk-cases-s, body[data-page="work"] .wk-proof-s{ padding:36px 16px !important; }
  body[data-page="work"] main > .ph2:first-child + section{ padding-top:20px !important; margin-top:0 !important; }
  body[data-page="work"] .wk-sec-h{ margin-bottom:18px !important; padding:0 !important; border:0 !important; }
  body[data-page="work"] .wk-sec-h h2{ font-family:var(--body) !important; font-weight:800 !important; letter-spacing:-.045em !important; font-size:28px !important; line-height:1.1 !important; }

  /* filter: wrap instead of a cut-off scroller */
  body[data-page="work"] .wk-filter{ display:flex !important; flex-wrap:wrap !important; gap:6px !important; margin:0 0 6px !important; padding:0 !important; overflow:visible !important; }
  body[data-page="work"] .wk-filter button{ flex:none; padding:8px 13px !important; font-size:12.5px !important; }

  /* each client: compact header + a 3-up grid of small thumbnails (no swiping) */
  body[data-page="work"] .wk-client{ display:block !important; padding:20px 0 !important; }
  body[data-page="work"] .wk-cl-h{ display:flex !important; align-items:baseline; flex-wrap:wrap; gap:2px 10px; margin-bottom:12px; }
  body[data-page="work"] .wk-idx{ font-size:12px !important; }
  body[data-page="work"] .wk-cl-h h3{ font-family:var(--body) !important; font-weight:800 !important; font-size:18px !important; letter-spacing:-.02em !important; line-height:1.25; margin:0 !important; }
  body[data-page="work"] .wk-ind{ width:100%; margin-top:2px !important; font-size:10.5px !important; }
  body[data-page="work"] .wk-pieces, body[data-page="work"] .wk-pieces:has(> :nth-child(4):last-child){ display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:6px !important; margin:0 !important; padding:0 !important; overflow:visible !important; width:auto !important; }
  body[data-page="work"] .wk-pieces:has(> :nth-child(4):last-child){ grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
  body[data-page="work"] .wk-pieces > *{ flex:none !important; width:auto !important; }
  body[data-page="work"] .wk-p{ aspect-ratio:1 !important; border-radius:12px !important; overflow:hidden; }
  body[data-page="work"] .wk-p img{ width:100%; height:100% !important; object-fit:cover; }

  /* case studies: cards like desktop */
  body[data-page="work"] .wk-cases{ display:flex !important; flex-direction:column; gap:14px; }
  body[data-page="work"] .wk-case{ display:flex !important; flex-direction:column; gap:0 !important; padding:0 !important; border:1px solid rgba(43,15,29,.08) !important; border-radius:22px; overflow:hidden; background:#fff; }
  body[data-page="work"] .wk-case figure{ order:0 !important; margin:0 !important; aspect-ratio:16/9 !important; border-radius:0 !important; }
  body[data-page="work"] .wk-case figure img{ width:100%; height:100%; object-fit:cover; }
  body[data-page="work"] .wk-case-b{ padding:18px 18px 20px !important; }
  body[data-page="work"] .wk-case-b h3{ font-size:28px !important; margin-top:6px !important; }
  body[data-page="work"] .wk-sub{ margin-top:2px !important; font-size:15px !important; }
  body[data-page="work"] .wk-how{ margin:10px 0 14px; font-size:13.5px; }
  body[data-page="work"] .wk-case-b ul{ display:grid !important; grid-template-columns:1fr 1fr; gap:6px !important; margin:0 !important; padding:0 !important; border:0 !important; }
  body[data-page="work"] .wk-case-b li{ display:flex !important; flex-direction:column; gap:1px; padding:10px 12px !important; border:0 !important; border-radius:12px; background:#fff3f7; }
  body[data-page="work"] .wk-case-b li b{ font-size:18px !important; color:var(--pink-deep) !important; }
  body[data-page="work"] .wk-case-b li span{ font-size:11.5px; }

  /* dashboards: 2-up grid */
  body[data-page="work"] .wk-proofs{ display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:8px !important; margin:0 !important; padding:0 !important; overflow:visible !important; width:auto !important; }
  body[data-page="work"] .wk-proofs > *{ flex:none !important; width:auto !important; }
  body[data-page="work"] .wk-proof{ border-radius:14px !important; overflow:hidden; }
  body[data-page="work"] .wk-proof img{ aspect-ratio:4/3 !important; object-fit:cover; object-position:top; }
  body[data-page="work"] .wk-proof figcaption{ padding:8px 10px 10px !important; }
  body[data-page="work"] .wk-proof figcaption span{ font-size:9.5px !important; }
  body[data-page="work"] .wk-proof figcaption b{ font-size:12px !important; line-height:1.3; }
}
@media (max-width:640px){ body[data-page="work"] .wk-case figure{ height:auto !important; max-height:none !important; } body[data-page="work"] .wk-case figure img{ position:static !important; height:100% !important; aspect-ratio:16/9; } }

/* ===================== About page: clean mobile layout ===================== */
@media (max-width:640px){
  /* story: photo smaller and clear of the hero curve */
  body[data-page="about"] .ab-story{ padding:20px 16px 44px !important; gap:24px !important; }
  body[data-page="about"] .ab-photo{ width:100% !important; max-width:none !important; aspect-ratio:4/4.2 !important; height:auto !important; margin:0 !important; border-radius:24px !important; }
  body[data-page="about"] .ab-photo img{ object-position:center 22% !important; }
  body[data-page="about"] .ab-quote{ font-size:26px !important; margin-top:12px !important; }
  body[data-page="about"] .ab-body{ margin-top:16px !important; padding-top:16px; }
  body[data-page="about"] .ab-body p{ font-size:15px !important; }
  body[data-page="about"] .ab-text .m3-go{ margin-top:20px !important; }

  /* how we work: heading, then the 3 steps, then the buttons */
  body[data-page="about"] .hw{ padding:44px 16px !important; }
  body[data-page="about"] .hw-in{ display:flex !important; flex-direction:column; gap:20px !important; }
  body[data-page="about"] .hw-txt{ display:contents; }
  body[data-page="about"] .hw-txt > *:not(.hw-cta){ order:1; }
  body[data-page="about"] .hw-txt h2{ font-size:30px !important; margin-top:-8px; }
  body[data-page="about"] .hw-sub{ margin-top:-12px; }
  body[data-page="about"] .hw-r{ order:2; padding:4px 16px !important; }
  body[data-page="about"] .hw-cta{ order:3; margin:0 !important; display:flex; flex-direction:column; align-items:stretch; gap:14px; }
  body[data-page="about"] .hw-cta .hw-link{ justify-content:center; }

  /* industries: compact 2-column chips with the icon beside the name */
  body[data-page="about"] .ab-ind{ padding:44px 16px 20px !important; }
  body[data-page="about"] .ind-wrap{ gap:22px !important; }
  body[data-page="about"] .ind-l h2{ font-size:30px !important; }
  body[data-page="about"] .ind-l p{ margin:12px 0 16px; font-size:15px; }
  body[data-page="about"] .ind-grid{ grid-template-columns:1fr 1fr !important; gap:8px !important; }
  body[data-page="about"] .ind-grid li{ flex-direction:row !important; align-items:center; gap:10px !important; padding:10px 12px !important; border-radius:16px; }
  body[data-page="about"] .ind-grid li:last-child:nth-child(odd){ grid-column:1 / -1; }
  body[data-page="about"] .ind-ic{ flex:none; width:32px !important; height:32px !important; box-shadow:none !important; }
  body[data-page="about"] .ind-ic svg{ width:15px !important; height:15px !important; }
  body[data-page="about"] .ind-grid b{ font-size:13px !important; line-height:1.25; }
  body[data-page="about"] .ind-grid em{ display:none; }
}
@media (max-width:640px){ body[data-page="about"] .hw-in{ align-items:stretch !important; text-align:left; } body[data-page="about"] .hw-k{ align-self:flex-start; } body[data-page="about"] .hw-cta .hw-btn{ width:100%; justify-content:center; } }
