:root {
  --pink: #F56FA1;
  --pink-dark: #D94E82;
  --pink-pale: #FFF5F9;
  --black: #090909;
  --white: #FFFFFF;
  --off: #FAF9F7;
  --grey: #6D6D6D;
  --line: rgba(9,9,9,.16);

  /* Brand font stack. Exact webfont files can be connected later if licensed. */
  --font-display: "Sunborn", "Arial Black", "Helvetica Neue", Arial, sans-serif;
  --font-body: "Gotham", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  --font-editorial: "Cyrilic Bodoni", "Bodoni 72", Didot, Georgia, serif;
  --font-script: "Breathing", "Brush Script MT", "Segoe Script", cursive;

  --shell: min(1440px, calc(100vw - 80px));
  --ease: cubic-bezier(.16,1,.3,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--white); }
body {
  margin: 0;
  color: var(--black);
  background: var(--white);
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
a { color: inherit; }
button, input, textarea, select { font: inherit; }
img { max-width: 100%; display: block; }
::selection { background: var(--pink); color: var(--black); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.section-shell { width: var(--shell); margin-inline: auto; }
.section-pad { padding-block: clamp(92px, 10vw, 170px); }

.scroll-progress { position: fixed; inset: 0 0 auto; height: 3px; z-index: 200; pointer-events:none; }
.scroll-progress span { display:block; height:100%; width:0; background:var(--pink); transform-origin:left; }
.cursor-glow { position: fixed; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle, rgba(245,111,161,.12), transparent 68%); transform: translate(-50%,-50%); pointer-events:none; z-index:0; opacity:0; transition:opacity .25s ease; }

.site-header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  right: 0;
  height: 88px;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  padding-inline: max(32px, calc((100vw - 1440px)/2));
  background: rgba(255,255,255,.88);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid transparent;
  transition: height .35s var(--ease), border-color .35s ease;
}
.site-header.is-scrolled { height:72px; border-color:var(--line); }
.brand { width: 158px; display:block; }
.brand img { width:100%; height:auto; }
.main-nav { justify-self:end; display:flex; align-items:center; gap:32px; font-size:13px; font-weight:700; }
.main-nav a { text-decoration:none; position:relative; }
.main-nav a:not(.nav-cta)::after { content:""; position:absolute; left:0; right:100%; bottom:-7px; height:2px; background:var(--pink); transition:right .28s var(--ease); }
.main-nav a:hover::after { right:0; }
.nav-cta { padding:13px 17px; border:1px solid var(--black); display:flex; gap:18px; align-items:center; transition:background .25s ease,color .25s ease; }
.nav-cta:hover { background:var(--black); color:var(--white); }
.menu-toggle { display:none; background:none; border:0; width:46px; height:46px; padding:0; position:relative; }
.menu-toggle span:not(.sr-only) { position:absolute; left:10px; right:10px; height:2px; background:var(--black); transition:transform .3s var(--ease), top .3s var(--ease); }
.menu-toggle span:first-child { top:18px; }
.menu-toggle span:nth-child(2) { top:27px; }

.hero { min-height:100svh; padding-top:148px; padding-bottom:56px; position:relative; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(400px,.85fr); gap:clamp(40px,6vw,100px); align-items:center; }
.hero-copy { position:relative; z-index:2; }
.eyebrow, .section-kicker { font-size:11px; letter-spacing:.19em; font-weight:800; text-transform:uppercase; }
.eyebrow { margin-bottom:34px; }
.hero-title { font-family:var(--font-display); font-weight:900; font-size:clamp(54px,7.4vw,118px); line-height:.88; letter-spacing:-.065em; margin:0; max-width:1000px; }
.pink-word { color:var(--pink); }
.hero-dynamic { min-height:39px; margin:34px 0 0; font-size:clamp(20px,2vw,30px); font-weight:750; letter-spacing:-.025em; }
.typing-prefix { color:var(--pink-dark); }
.typing-caret { display:inline-block; height:1em; width:2px; background:var(--black); margin-left:5px; transform:translateY(2px); animation:blink .8s step-end infinite; }
@keyframes blink { 50% { opacity:0; } }
.hero-lead { font-size:17px; line-height:1.7; max-width:680px; margin:18px 0 0; color:#3B3B3B; }
.hero-actions { margin-top:34px; display:flex; align-items:center; gap:30px; flex-wrap:wrap; }
.button { min-height:56px; padding:0 22px; display:inline-flex; align-items:center; justify-content:center; gap:28px; text-decoration:none; border:0; cursor:pointer; font-weight:800; font-size:14px; transition:transform .3s var(--ease),background .3s ease,color .3s ease,border-color .3s ease; }
.button span { font-size:19px; }
.button-dark { background:var(--black); color:var(--white); }
.button-dark:hover { background:var(--pink); color:var(--black); }
.button-pink { background:var(--pink); color:var(--black); }
.button-pink:hover { background:var(--white); color:var(--black); }
.button-outline { border:1px solid var(--black); background:transparent; }
.button-outline:hover { background:var(--black); color:var(--white); }
.text-link { display:inline-flex; gap:13px; align-items:center; font-size:14px; font-weight:800; text-decoration:none; border-bottom:1px solid var(--black); padding-bottom:5px; }
.text-link span { transition:transform .25s var(--ease); }
.text-link:hover span { transform:translateX(5px); }

.hero-visual { min-height:590px; display:grid; place-items:center; position:relative; }
.noise-card { position:relative; width:min(520px,100%); aspect-ratio:.82; background:var(--pink-pale); border:1px solid var(--black); overflow:hidden; transform:rotate(1.5deg); box-shadow:18px 18px 0 var(--pink); transition:transform .5s var(--ease); }
.noise-card:hover { transform:rotate(-.5deg) translateY(-7px); }
.noise-card::before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(9,9,9,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(9,9,9,.045) 1px,transparent 1px); background-size:28px 28px; mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 80%); }
.noise-card-top { position:absolute; top:22px; left:24px; right:24px; display:flex; justify-content:space-between; font-size:10px; letter-spacing:.14em; font-weight:800; }
.noise-statement { position:absolute; left:28px; right:20px; top:50%; transform:translateY(-52%); }
.noise-line { display:block; font-family:var(--font-display); font-size:clamp(54px,5.5vw,88px); font-weight:900; letter-spacing:-.07em; line-height:.8; }
.noise-line b { color:var(--pink); font-weight:900; }
.noise-script { display:block; font-family:var(--font-script); font-size:clamp(64px,6.4vw,108px); line-height:.8; transform:rotate(-4deg); margin:16px 0 0 18px; }
.scribble { position:absolute; width:65%; right:0; bottom:60px; overflow:visible; }
.scribble path { fill:none; stroke:var(--pink); stroke-width:4; stroke-linecap:round; stroke-dasharray:400; stroke-dashoffset:400; animation:draw 2.1s .6s var(--ease) forwards; }
@keyframes draw { to { stroke-dashoffset:0; } }
.noise-orbit { position:absolute; width:110px; height:110px; border:1px solid var(--black); border-radius:50%; right:-28px; top:92px; animation:spin 14s linear infinite; }
.noise-orbit::before { content:"MAKE NOISE • MAKE NOISE •"; position:absolute; inset:-22px; font-size:8px; letter-spacing:.12em; }
.noise-orbit span { width:14px; height:14px; background:var(--pink); border-radius:50%; position:absolute; left:50%; top:-7px; transform:translateX(-50%); }
@keyframes spin { to { transform:rotate(360deg); } }
.scroll-cue { position:absolute; bottom:34px; left:0; display:flex; align-items:center; gap:12px; text-decoration:none; font-size:9px; letter-spacing:.2em; font-weight:800; transform:rotate(-90deg) translateX(-100%); transform-origin:left bottom; }
.scroll-cue i { width:54px; height:1px; background:var(--black); display:block; }

.marquee { background:var(--black); color:var(--white); overflow:hidden; border-block:1px solid var(--black); }
.marquee-track { display:flex; width:max-content; gap:28px; align-items:center; padding:20px 0; animation:marquee 28s linear infinite; }
.marquee-track span { font-family:var(--font-display); font-size:18px; font-weight:900; letter-spacing:-.02em; }
.marquee-track b { color:var(--pink); font-size:16px; }
@keyframes marquee { to { transform:translateX(-50%); } }

.section-kicker { margin-bottom:26px; color:var(--grey); }
.section-kicker.light { color:rgba(255,255,255,.58); }
.intro-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr); gap:clamp(44px,8vw,120px); align-items:end; }
.display-heading { margin:0; font-family:var(--font-display); font-size:clamp(46px,5.3vw,82px); line-height:.95; letter-spacing:-.055em; }
.display-heading em { font-family:var(--font-editorial); font-weight:400; font-style:italic; letter-spacing:-.045em; }
.body-large { font-size:clamp(18px,1.65vw,24px); line-height:1.5; letter-spacing:-.018em; margin:0; }
.body-copy { font-size:16px; line-height:1.75; color:#414141; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:90px; border-top:1px solid var(--black); border-left:1px solid var(--black); }
.service-card { min-height:390px; padding:30px; border-right:1px solid var(--black); border-bottom:1px solid var(--black); display:flex; flex-direction:column; position:relative; overflow:hidden; transition:background .35s var(--ease),transform .35s var(--ease); }
.service-card::after { content:""; position:absolute; width:170px; height:170px; background:var(--pink); border-radius:50%; bottom:-200px; right:-50px; transition:bottom .45s var(--ease); z-index:-1; }
.service-card:hover { background:var(--pink-pale); transform:translateY(-7px); }
.service-card:hover::after { bottom:-80px; }
.service-number { font-size:11px; letter-spacing:.16em; font-weight:800; }
.service-card h3 { font-size:30px; letter-spacing:-.04em; margin:70px 0 16px; }
.service-card p { line-height:1.65; color:#424242; margin:0; max-width:37ch; }
.service-tag { margin-top:auto; padding-top:40px; font-family:var(--font-editorial); font-style:italic; font-size:17px; }

.brand-section { background:var(--black); color:var(--white); }
.brand-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr); gap:clamp(80px,10vw,160px); align-items:start; }
.brand-sticky { position:sticky; top:126px; }
.display-heading.light { color:var(--white); }
.light-muted { color:rgba(255,255,255,.7); margin:34px 0; max-width:38ch; }
.process-list { border-top:1px solid rgba(255,255,255,.3); }
.process-item { display:grid; grid-template-columns:72px 1fr; gap:24px; padding:42px 0; border-bottom:1px solid rgba(255,255,255,.25); }
.process-num { color:var(--pink); font-size:11px; letter-spacing:.2em; font-weight:900; padding-top:6px; }
.process-item h3 { font-size:28px; margin:0 0 10px; letter-spacing:-.035em; }
.process-item p { color:rgba(255,255,255,.68); line-height:1.7; margin:0; max-width:54ch; }

.creator-head, .talent-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.72fr); gap:clamp(50px,8vw,110px); align-items:end; }
.creator-benefits { display:grid; grid-template-columns:repeat(4,1fr); margin-top:80px; border-top:1px solid var(--black); }
.benefit { padding:30px 26px 50px 0; border-bottom:1px solid var(--black); min-height:270px; }
.benefit + .benefit { border-left:1px solid var(--black); padding-left:26px; }
.benefit > span { display:inline-grid; place-items:center; width:38px; height:38px; border:1px solid var(--black); border-radius:50%; transition:background .25s ease,transform .25s var(--ease); }
.benefit:hover > span { background:var(--pink); transform:rotate(8deg); }
.benefit h3 { font-size:24px; margin:46px 0 10px; }
.benefit p { color:#484848; line-height:1.6; margin:0; }
.creator-cta { margin-top:45px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.creator-cta p { font-family:var(--font-editorial); font-size:clamp(28px,3vw,44px); font-style:italic; margin:0; }

.manifesto-split { display:grid; grid-template-columns:1fr 1fr; padding-bottom:0; }
.manifesto-panel { min-height:560px; padding:clamp(40px,6vw,90px); display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; }
.panel-pink { background:var(--pink); }
.panel-white { background:var(--off); border-block:1px solid var(--black); }
.mini-label { font-size:10px; letter-spacing:.2em; font-weight:900; }
.manifesto-panel h2 { margin:0; font-family:var(--font-display); font-size:clamp(54px,6.4vw,104px); line-height:.86; letter-spacing:-.07em; }
.manifesto-panel em { font-family:var(--font-editorial); font-weight:400; }

.founder { display:grid; grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr); gap:clamp(60px,10vw,150px); align-items:center; }
.founder-frame { position:relative; isolation:isolate; overflow:visible; max-width:520px; margin-inline:auto; padding:16px 16px 0 0; }
.founder-frame::before { content:""; position:absolute; inset:54px 0 -16px 54px; background:var(--pink); z-index:0; }
.founder-frame img { position:relative; z-index:1; width:100%; aspect-ratio:.76; object-fit:cover; object-position:center; filter:saturate(.92) contrast(1.02); }
.founder-sticker { position:absolute; z-index:2; right:-42px; top:28px; background:var(--black); color:var(--white); width:118px; height:118px; border-radius:50%; display:grid; place-items:center; text-align:center; font-size:9px; line-height:1.45; letter-spacing:.12em; font-weight:900; transform:rotate(9deg); }
.founder-copy .body-large { max-width:48ch; margin-top:34px; }
.founder-copy .body-copy { max-width:66ch; margin-top:22px; }
.founder-stats { display:grid; grid-template-columns:repeat(3,1fr); margin-top:48px; border-top:1px solid var(--black); border-bottom:1px solid var(--black); }
.founder-stats > div { padding:24px 18px 24px 0; }
.founder-stats > div + div { padding-left:18px; border-left:1px solid var(--black); }
.founder-stats strong { display:block; font-family:var(--font-display); font-size:40px; letter-spacing:-.06em; color:var(--pink-dark); }
.founder-stats span { display:block; margin-top:7px; font-size:12px; line-height:1.4; color:#4a4a4a; }
.founder-note { margin-top:28px; font-family:var(--font-editorial); font-style:italic; font-size:20px; }

.talent-preview { background:var(--pink-pale); border-block:1px solid var(--black); }
.talent-values { display:grid; grid-template-columns:repeat(3,1fr); margin-top:72px; }
.talent-value { border-top:1px solid var(--black); padding:24px 28px 40px 0; }
.talent-value + .talent-value { border-left:1px solid var(--black); padding-left:28px; }
.talent-value > span { font-size:10px; letter-spacing:.2em; font-weight:900; color:var(--pink-dark); }
.talent-value h3 { font-size:26px; margin:44px 0 10px; }
.talent-value p { color:#494949; line-height:1.65; }
.talent-link { margin-top:45px; }

.contact { background:var(--black); color:var(--white); }
.contact-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr); gap:clamp(70px,10vw,150px); }
.contact-copy { align-self:start; position:sticky; top:120px; }
.contact-title { font-family:var(--font-display); font-size:clamp(64px,7vw,116px); line-height:.78; letter-spacing:-.07em; margin:0 0 36px; }
.contact-title span { color:var(--pink); }
.contact-title .contact-some { color:var(--white); }
.contact-title .contact-noise-line {
  display:block;
  white-space:nowrap;
  color:var(--white);
}
.contact-title .contact-noise { color:var(--pink); }
.contact-title .contact-noise-line + em { display:block; }

.contact-title em { font-family:var(--font-editorial); font-weight:400; }
.email-link { display:inline-block; margin-top:34px; font-size:18px; font-weight:800; color:var(--pink); text-decoration:none; border-bottom:1px solid var(--pink); padding-bottom:6px; }
.contact-form { display:grid; grid-template-columns:1fr 1fr; gap:28px 22px; }
.contact-form label { display:block; }
.contact-form label > span { display:block; font-size:10px; font-weight:900; letter-spacing:.15em; text-transform:uppercase; color:rgba(255,255,255,.65); margin-bottom:11px; }
.contact-form input, .contact-form select, .contact-form textarea { width:100%; background:transparent; color:var(--white); border:0; border-bottom:1px solid rgba(255,255,255,.4); border-radius:0; padding:12px 0 14px; outline:none; transition:border-color .2s ease; }
.contact-form select option { color:var(--black); }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color:var(--pink); }
.contact-form textarea { resize:vertical; }
.full-field { grid-column:1/-1; }
.form-note { color:rgba(255,255,255,.48); font-size:11px; line-height:1.5; margin:0; }

.site-footer { background:var(--white); padding:50px 0 30px; }
.footer-grid { display:grid; grid-template-columns:1fr 1fr; gap:50px; }
.footer-brand img { width:190px; }
.footer-brand p { font-size:12px; color:#535353; margin:12px 0 0; }
.footer-links { display:flex; justify-content:flex-end; gap:25px; align-items:start; flex-wrap:wrap; }
.footer-links a { font-size:12px; font-weight:800; text-decoration:none; }
.footer-bottom { grid-column:1/-1; display:flex; justify-content:space-between; border-top:1px solid var(--line); padding-top:20px; font-size:10px; letter-spacing:.06em; text-transform:uppercase; }

.reveal { opacity:0; transform:translateY(24px); transition:opacity .90s var(--ease),transform .90s var(--ease); }
.reveal.is-visible { opacity:1; transform:none; }

@media (hover:hover) and (pointer:fine) {
  .cursor-glow { opacity:1; }
}

@media (max-width:1100px) {
  :root { --shell:min(100% - 48px, 980px); }
  .hero { grid-template-columns:1fr; padding-top:140px; min-height:auto; }
  .hero-title { font-size:clamp(68px,9vw,100px); }
  .hero-visual { min-height:520px; }
  .noise-card { width:min(520px,78vw); }
  .scroll-cue { display:none; }
  .service-grid { grid-template-columns:1fr; }
  .service-card { min-height:300px; }
  .service-card h3 { margin-top:38px; }
  .brand-grid, .contact-grid { grid-template-columns:1fr; }
  .brand-sticky, .contact-copy { position:static; }
  .creator-benefits { grid-template-columns:repeat(2,1fr); }
  .benefit:nth-child(3) { border-left:0; }
  .founder { grid-template-columns:.8fr 1.2fr; gap:60px; }
  .founder-stats { grid-template-columns:1fr; }
  .founder-stats > div + div { border-left:0; border-top:1px solid var(--black); padding-left:0; }
}

@media (max-width:820px) {
  :root { --shell:calc(100vw - 36px); }
  .site-header { height:72px; padding-inline:18px; grid-template-columns:1fr auto; }
  .brand { width:130px; }
  .menu-toggle { display:block; z-index:102; }
  .main-nav { position:fixed; inset:0; min-height:100dvh; background:var(--white); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:100px 28px 40px; gap:0; transform:translateY(-105%); transition:transform .6s var(--ease); z-index:101; }
  .main-nav.is-open { transform:none; }
  .main-nav a { font-family:var(--font-display); font-size:clamp(38px,10vw,60px); letter-spacing:-.055em; width:100%; padding:10px 0; }
  .main-nav .nav-cta { margin-top:28px; width:auto; font-family:var(--font-body); font-size:14px; letter-spacing:0; padding:14px 17px; }
  .menu-toggle[aria-expanded="true"] span:first-child { top:23px; transform:rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { top:23px; transform:rotate(-45deg); }

  .section-pad { padding-block:90px; }
  .hero { padding-top:118px; padding-bottom:70px; gap:54px; }
  .eyebrow { font-size:9px; margin-bottom:24px; }
  .hero-title { font-size:clamp(54px,16vw,82px); line-height:.88; max-width:100%; }
  .hero-dynamic { min-height:58px; margin-top:26px; font-size:21px; }
  .hero-lead { font-size:15px; line-height:1.65; }
  .hero-actions { gap:22px; align-items:flex-start; flex-direction:column; }
  .button { width:100%; min-height:58px; justify-content:space-between; }
  .hero-visual { min-height:auto; }
  .noise-card { width:100%; aspect-ratio:.9; box-shadow:10px 10px 0 var(--pink); }
  .noise-statement { left:20px; }
  .noise-line { font-size:clamp(52px,16vw,78px); }
  .noise-script { font-size:clamp(62px,19vw,92px); }
  .noise-orbit { width:86px; height:86px; right:-26px; }

  .intro-grid, .creator-head, .talent-head { grid-template-columns:1fr; align-items:start; gap:34px; }
  .display-heading { font-size:clamp(44px,12vw,66px); }
  .body-large { font-size:18px; }
  .service-grid { margin-top:60px; }
  .service-card { padding:24px; min-height:320px; }

  .brand-grid { gap:60px; }
  .process-item { grid-template-columns:50px 1fr; gap:12px; padding:32px 0; }
  .creator-benefits { grid-template-columns:1fr; margin-top:55px; }
  .benefit, .benefit + .benefit { border-left:0; padding:26px 0 34px; min-height:0; }
  .creator-cta { align-items:flex-start; flex-direction:column; }
  .creator-cta .button { width:auto; }

  .manifesto-split { grid-template-columns:1fr; }
  .manifesto-panel { min-height:420px; padding:46px 18px; }
  .manifesto-panel h2 { font-size:clamp(58px,17vw,86px); }

  .founder { grid-template-columns:1fr; gap:78px; }
  .founder-frame { max-width:440px; margin:0; }
  .founder-sticker { right:-4px; }
  .founder-stats { grid-template-columns:repeat(3,1fr); }
  .founder-stats > div + div { border-left:1px solid var(--black); border-top:0; padding-left:12px; }
  .founder-stats strong { font-size:30px; }
  .founder-stats span { font-size:10px; }

  .talent-values { grid-template-columns:1fr; margin-top:50px; }
  .talent-value, .talent-value + .talent-value { border-left:0; padding:24px 0 28px; }
  .contact-grid { gap:65px; }
  .contact-title { font-size:clamp(62px,18vw,92px); }
  .contact-form { grid-template-columns:1fr; }
  .full-field { grid-column:auto; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-links { justify-content:flex-start; }
  .footer-bottom { flex-direction:column; gap:8px; }
}

@media (max-width:520px) {
  :root { --shell:calc(100vw - 28px); }
  .section-pad { padding-block:78px; }
  .hero { padding-top:105px; }
  .hero-title { font-size:clamp(50px,15vw,70px); }
  .noise-card { aspect-ratio:.92; }
  .noise-card-top { top:16px; left:16px; right:16px; }
  .noise-statement { top:52%; }
  .noise-line { font-size:15vw; }
  .noise-script { font-size:20vw; margin-left:8px; }
  .scribble { bottom:40px; }
  .founder-frame::before { inset:40px 0 -10px 38px; }
  .founder-sticker { width:92px; height:92px; font-size:7px; top:16px; }
  .founder-stats { grid-template-columns:1fr; }
  .founder-stats > div + div { border-left:0; border-top:1px solid var(--black); padding-left:0; }
  .contact-title { font-size:17vw; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .reveal { opacity:1; transform:none; }
  .cursor-glow { display:none; }
}

/* ===== Desktop refinement v2 — feedback round 01 ===== */
.site-header {
  border-bottom: 1px solid rgba(245,111,161,.72);
}
.site-header.is-scrolled { border-color: var(--pink); }
.brand { transition: width .35s var(--ease); }
.header-socials {
  display:flex;
  align-items:center;
  gap:10px;
  padding-left:4px;
}
.header-socials a {
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border:1px solid rgba(9,9,9,.3);
  font-size:9px !important;
  letter-spacing:.08em;
  font-weight:900;
  text-decoration:none;
  transition:background .22s ease,border-color .22s ease,color .22s ease;
}
.header-socials a:hover { background:var(--pink); border-color:var(--pink); color:var(--black); }

.hero-dynamic {
  display:grid;
  grid-template-columns:1fr;
  align-content:start;
  min-height:92px;
  margin-top:34px;
  line-height:1.08;
}
.hero-dynamic-label { display:block; color:var(--black); }
.typing-stage { display:block; min-height:1.25em; padding-top:5px; }
.typing-prefix { display:inline; }

.noise-script {
  font-family:var(--font-editorial);
  font-style:italic;
  font-weight:400;
  letter-spacing:-.06em;
  transform:rotate(-3deg);
  margin-top:20px;
}
.noise-orbit {
  width:96px;
  height:96px;
  right:30px;
  top:88px;
  animation:spin 16s linear infinite;
}
.noise-orbit::before { content:""; }
.noise-orbit span { width:13px; height:13px; top:-6px; }

.scroll-cue {
  bottom:18px;
  left:0;
  transform:none;
  transform-origin:initial;
  font-size:9px;
  color:var(--grey);
}
.scroll-cue i {
  width:auto;
  height:auto;
  background:none;
  color:var(--pink-dark);
  font-style:normal;
  font-size:17px;
}

.marquee-track { padding:18px 0; animation-duration:34s; }
.marquee-track span { font-size:17px; }

.intro-kicker {
  font-size:15px;
  color:var(--black);
  letter-spacing:.18em;
  margin-bottom:34px;
  display:flex;
  align-items:center;
  gap:14px;
}
.intro-kicker::after {
  content:"";
  width:76px;
  height:3px;
  background:var(--pink);
}

.brand-interlude {
  position:relative;
  overflow:hidden;
  min-height:340px;
  display:flex;
  align-items:center;
}
.brand-interlude-pink { background:var(--pink); color:var(--black); }
.brand-interlude-white { background:var(--off); color:var(--black); border-block:1px solid var(--black); }
.interlude-inner { padding-block:70px; }
.brand-interlude .mini-label { display:block; margin-bottom:38px; }
.brand-interlude h2 {
  margin:0;
  max-width:1100px;
  font-family:var(--font-display);
  font-size:clamp(64px,8.3vw,132px);
  line-height:.82;
  letter-spacing:-.075em;
}
.brand-interlude h2 em {
  font-family:var(--font-editorial);
  font-weight:400;
  font-style:italic;
  letter-spacing:-.055em;
}
.brand-interlude-white .interlude-inner { display:grid; grid-template-columns:220px 1fr; gap:50px; align-items:end; }
.brand-interlude-white .mini-label { margin:0 0 17px; }

.creator-section { padding-bottom:clamp(86px,8vw,125px); }
.creator-cta { margin-top:36px; padding-bottom:0; }
.creator-cta p { max-width:760px; }

.founder-stats strong { font-size:36px; }
.founder-stats > div:last-child strong { font-size:36px; letter-spacing:-.06em; padding-top:0; }
.founder-note { font-size:22px; max-width:42ch; }

.footer-brand img { width:250px; }
.footer-brand p { margin-top:18px; }

@media (min-width:821px) {
  .site-header {
    height:108px;
    padding-inline:max(34px, calc((100vw - 1440px)/2));
  }
  .site-header.is-scrolled { height:88px; }
  .brand { width:220px; }
  .site-header.is-scrolled .brand { width:190px; }
  .main-nav { gap:24px; }
  .hero { padding-top:184px; }
  .noise-card { overflow:hidden; }
}

@media (max-width:1250px) and (min-width:821px) {
  .header-socials { display:none; }
  .main-nav { gap:20px; }
  .brand { width:200px; }
}

@media (max-width:820px) {
  .header-socials { display:flex; margin-top:24px; padding-left:0; }
  .header-socials a { width:42px !important; height:42px; padding:0 !important; font-family:var(--font-body) !important; font-size:11px !important; }
  .hero-dynamic { min-height:82px; }
  .noise-orbit { right:18px; top:72px; }
  .brand-interlude { min-height:300px; }
  .brand-interlude-white .interlude-inner { display:block; }
  .brand-interlude-white .mini-label { margin-bottom:28px; }
  .footer-brand img { width:220px; }
}


/* ===== Desktop refinement v3 — feedback round 02 ===== */
@media (min-width:821px) {
  .site-header {
    height:124px;
  }
  .site-header.is-scrolled { height:94px; }
  .brand { transform:translateY(6px); }
  .site-header.is-scrolled .brand { transform:translateY(3px); }
  .hero { padding-top:202px; }
}

/* Keep the animated sentence from shifting the rest of the hero on desktop. */
@media (min-width:1101px) {
  .hero-dynamic { height:2.35em; min-height:0; }
  .typing-stage { height:1.25em; min-height:0; white-space:nowrap; overflow:hidden; }
}

/* Hero editorial word: clean baseline, no awkward rotation. */
.noise-script {
  font-family:var(--font-editorial);
  font-style:italic;
  font-weight:400;
  transform:none;
  letter-spacing:-.055em;
  line-height:.88;
  width:max-content;
  margin:15px 0 0 58px;
}

/* Seamless marquee: two identical groups touch each other, so there is no blank gap. */
.marquee-track {
  gap:0;
  animation-duration:30s;
}
.marquee-group {
  display:flex;
  align-items:center;
  justify-content:space-around;
  gap:38px;
  min-width:100vw;
  flex-shrink:0;
  padding-right:38px;
}

/* Keep the white brand statement on one line on wide desktop. */
@media (min-width:1101px) {
  .brand-interlude-white h2 {
    white-space:nowrap;
    font-size:clamp(52px,5.35vw,100px);
    max-width:none;
  }
  .creator-cta p {
    white-space:nowrap;
    font-size:clamp(26px,2.35vw,40px);
  }
  .founder-note {
    white-space:nowrap;
    max-width:none;
    font-size:clamp(18px,1.4vw,23px);
  }
}


/* ===== Desktop refinement v4 — feedback round 03 ===== */
@media (min-width:821px) {
  /* Larger controls to match the taller header. */
  .main-nav { font-size:17px; gap:30px; }
  .header-socials { gap:12px; }
  .header-socials a {
    width:44px;
    height:44px;
    font-size:13px !important;
  }
  .nav-cta {
    min-height:64px;
    padding:0 32px;
    gap:24px;
    font-size:17px;
  }

  /* Keep typing line stable but never crop the animated phrase. */
  .hero-dynamic { overflow:visible; }
  .typing-stage {
    overflow:visible !important;
    width:max-content;
    max-width:none;
  }

  /* Align the editorial word with the left edge of the headline above. */
  .noise-script {
    margin-left:0;
    padding-left:0;
  }

  /* Keep creator CTA as a single confident line. */
  .creator-cta p {
    white-space:nowrap;
    font-size:clamp(25px,2vw,34px);
    letter-spacing:-.02em;
  }

  /* Founder: shorter third stat, one-line supporting copy. */
  .founder-stats > div:last-child strong {
    font-size:36px;
    letter-spacing:-.06em;
    white-space:nowrap;
    padding-top:0;
  }
  .founder-stats > div:last-child span { white-space:nowrap; }

  /* Founder statement should read as one editorial line on desktop. */
  .founder-note {
    white-space:nowrap;
    max-width:none;
    font-size:clamp(17px,1.28vw,21px);
  }
}


/* ===== Mobile optimisation v5 ===== */
section[id] { scroll-margin-top: 110px; }

@media (max-width:820px) {
  html { overflow-x: hidden; }
  body.nav-open { overflow: hidden; }
  section[id] { scroll-margin-top: 92px; }

  .site-header {
    height: 76px;
    padding-inline: 16px;
  }
  .site-header.is-scrolled { height: 70px; }
  .brand {
    width: 118px;
    transform: none !important;
  }

  .main-nav {
    justify-content: flex-start;
    align-items: flex-start;
    padding: 92px 20px 28px;
    overflow-y: auto;
    gap: 0;
  }
  .main-nav a {
    font-size: clamp(34px, 11vw, 48px);
    line-height: .95;
    padding: 12px 0;
  }
  .main-nav a:not(.nav-cta)::after {
    bottom: 6px;
    height: 3px;
  }
  .main-nav .nav-cta {
    width: 100%;
    min-height: 58px;
    margin-top: 24px;
    padding: 0 20px;
    justify-content: space-between;
    font-size: 15px;
  }
  .header-socials {
    width: 100%;
    gap: 10px;
    margin-top: 22px;
  }
  .header-socials a {
    width: 46px !important;
    height: 46px;
    font-size: 12px !important;
  }

  .hero {
    padding-top: 104px;
    padding-bottom: 58px;
    gap: 34px;
  }
  .hero-title {
    font-size: clamp(44px, 14.4vw, 68px);
    letter-spacing: -.055em;
  }
  .hero-dynamic {
    min-height: 74px;
    margin-top: 24px;
    font-size: 19px;
  }
  .typing-stage { padding-top: 8px; }
  .hero-lead {
    font-size: 15px;
    max-width: 34ch;
  }
  .hero-actions {
    margin-top: 28px;
    gap: 16px;
  }
  .button,
  .hero-actions .button {
    width: 100%;
    min-height: 56px;
    padding: 0 18px;
    font-size: 14px;
  }
  .text-link {
    font-size: 15px;
    padding-bottom: 4px;
  }

  .noise-card {
    width: 100%;
    max-width: 100%;
    aspect-ratio: .94;
    transform: none;
    box-shadow: 8px 8px 0 var(--pink);
  }
  .noise-card:hover { transform: none; }
  .noise-card-top {
    top: 16px;
    left: 16px;
    right: 16px;
    font-size: 9px;
  }
  .noise-statement {
    left: 18px;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
  }
  .noise-line { font-size: clamp(52px, 15vw, 74px); }
  .noise-script {
    margin: 10px 0 0 0;
    font-size: clamp(58px, 18vw, 90px);
    line-height: .86;
  }
  .noise-orbit {
    width: 74px;
    height: 74px;
    right: 14px;
    top: 64px;
  }
  .noise-orbit span {
    width: 11px;
    height: 11px;
    top: -6px;
  }

  .marquee-track {
    padding: 16px 0;
    animation-duration: 26s;
  }
  .marquee-group {
    gap: 26px;
    padding-right: 26px;
  }

  .intro-grid,
  .creator-head,
  .talent-head,
  .contact-grid {
    gap: 28px;
  }
  .display-heading { font-size: clamp(36px, 11.2vw, 56px); }
  .body-large {
    font-size: 17px;
    line-height: 1.55;
  }
  .body-copy {
    font-size: 15px;
    line-height: 1.7;
  }

  .service-grid {
    margin-top: 46px;
    border-left: 0;
    gap: 16px;
  }
  .service-card {
    min-height: auto;
    padding: 24px 22px;
    border: 1px solid var(--black);
  }
  .service-card h3 {
    font-size: 28px;
    margin-top: 28px;
  }
  .service-tag { padding-top: 28px; }

  .brand-grid { gap: 42px; }
  .light-muted { margin: 24px 0 0; }
  .process-list { margin-top: 8px; }
  .process-item {
    grid-template-columns: 40px 1fr;
    padding: 26px 0;
  }
  .process-item h3 {
    font-size: 24px;
    margin-bottom: 8px;
  }

  .creator-benefits {
    margin-top: 44px;
    border-top: 1px solid var(--black);
  }
  .benefit h3 {
    font-size: 22px;
    margin-top: 20px;
  }
  .creator-cta {
    margin-top: 32px;
    gap: 18px;
  }
  .creator-cta p {
    white-space: normal;
    font-size: clamp(26px, 8.4vw, 38px);
    line-height: 1.08;
  }

  .brand-interlude {
    min-height: 250px;
  }
  .interlude-inner { padding-block: 52px; }
  .brand-interlude .mini-label { margin-bottom: 24px; }
  .brand-interlude h2 {
    font-size: clamp(48px, 14vw, 74px);
    line-height: .88;
  }

  .founder { gap: 52px; }
  .founder-frame {
    max-width: 100%;
    padding: 12px 12px 0 0;
  }
  .founder-frame::before { inset: 36px 0 -12px 36px; }
  .founder-sticker {
    width: 96px;
    height: 96px;
    right: 0;
    top: 18px;
    font-size: 7px;
    line-height: 1.35;
  }
  .founder-copy .body-large { margin-top: 26px; }
  .founder-copy .body-copy { margin-top: 18px; }
  .founder-stats {
    grid-template-columns: 1fr;
    margin-top: 36px;
  }
  .founder-stats > div { padding: 18px 0; }
  .founder-stats > div + div {
    border-left: 0;
    border-top: 1px solid var(--black);
    padding-left: 0;
  }
  .founder-stats strong,
  .founder-stats > div:last-child strong {
    font-size: 32px;
    white-space: normal;
  }
  .founder-stats span,
  .founder-stats > div:last-child span {
    font-size: 12px;
    white-space: normal;
  }
  .founder-note {
    margin-top: 20px;
    font-size: 18px;
    max-width: 20ch;
    white-space: normal;
  }

  .talent-values { margin-top: 42px; }
  .talent-value { padding: 22px 0 26px; }
  .talent-value h3 {
    font-size: 24px;
    margin: 20px 0 8px;
  }
  .talent-link { margin-top: 28px; }

  .contact { overflow: hidden; }
  .contact-title {
    font-size: clamp(48px, 15vw, 78px);
    line-height: .82;
    margin-bottom: 24px;
  }
  .contact-title .contact-noise-line {
    display: flex;
    align-items: baseline;
    gap: .16em;
  }
  .contact-title .contact-noise-line + em { margin-top: 6px; }
  .contact-copy p.light-muted {
    margin: 0;
    font-size: 15px;
    line-height: 1.65;
  }
  .email-link {
    margin-top: 24px;
    font-size: 16px;
  }
  .contact-form { gap: 22px; }
  .contact-form label > span { margin-bottom: 8px; }
  .contact-form input,
  .contact-form select,
  .contact-form textarea { padding: 13px 0 15px; }
  .contact-form .button { margin-top: 4px; }
  .form-note {
    font-size: 12px;
    line-height: 1.55;
  }

  .site-footer {
    padding: 42px 0 24px;
  }
  .footer-brand img { width: 200px; }
  .footer-links { gap: 18px 22px; }
  .footer-links a { font-size: 13px; }
  .footer-bottom {
    padding-top: 18px;
    font-size: 10px;
  }
}

@media (max-width:520px) {
  section[id] { scroll-margin-top: 86px; }

  .site-header {
    height: 72px;
    padding-inline: 14px;
  }
  .site-header.is-scrolled { height: 68px; }
  .brand { width: 112px; }

  .main-nav {
    padding: 86px 18px 24px;
    padding-inline: 18px;
  }
  .main-nav a { font-size: clamp(32px, 11.5vw, 44px); }
  .header-socials a {
    width: 44px !important;
    height: 44px;
  }

  .hero {
    padding-top: 96px;
    gap: 28px;
  }
  .hero-title { font-size: clamp(42px, 14vw, 58px); }
  .hero-dynamic {
    min-height: 86px;
    font-size: 18px;
  }
  .hero-lead { font-size: 14px; }
  .button {
    min-height: 54px;
    font-size: 13px;
  }

  .noise-card { aspect-ratio: .98; }
  .noise-line { font-size: 14.5vw; }
  .noise-script { font-size: 18vw; }

  .display-heading { font-size: clamp(34px, 11vw, 48px); }
  .body-large { font-size: 16px; }
  .service-card h3,
  .process-item h3,
  .talent-value h3 { font-size: 22px; }

  .brand-interlude { min-height: 220px; }
  .brand-interlude h2 { font-size: clamp(42px, 13vw, 58px); }

  .founder { gap: 44px; }
  .founder-sticker {
    width: 88px;
    height: 88px;
    font-size: 6.5px;
  }
  .founder-stats strong { font-size: 30px; }

  .contact-title { font-size: clamp(46px, 14vw, 64px); }
}

@media (max-width:390px) {
  :root { --shell: calc(100vw - 24px); }
  .main-nav { padding-inline: 16px; }
  .hero-title { font-size: 40px; }
  .noise-card { box-shadow: 6px 6px 0 var(--pink); }
  .contact-title { font-size: 44px; }
}


/* ===== Mobile polish v6 ===== */
.arrow-diag {
  position:relative;
  display:inline-block;
  width:18px;
  height:18px;
  flex:0 0 18px;
}
.arrow-diag::before {
  content:"";
  position:absolute;
  left:2px;
  top:9px;
  width:13px;
  height:1.5px;
  background:currentColor;
  transform:rotate(-45deg);
  transform-origin:center;
}
.arrow-diag::after {
  content:"";
  position:absolute;
  right:1px;
  top:1px;
  width:7px;
  height:7px;
  border-top:1.5px solid currentColor;
  border-right:1.5px solid currentColor;
}
.email-link .arrow-diag { margin-left:8px; transform:translateY(3px); }

.founder-mobile-intro { display:none; }
.founder-highlight { color:inherit; font-weight:500; font-style:italic; }
.mobile-hide { display:inline; }
.desktop-only-inline { display:inline; }

.footer-social svg {
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.footer-social svg path { fill:none; }
.footer-social .social-label { display:inline; }

@media (max-width:820px) {
  .mobile-hide { display:none; }
  .desktop-only-inline { display:none; }

  /* tighter hero rhythm after the typing line */
  .hero-dynamic { min-height:66px; }
  .hero-lead { margin-top:6px; }

  /* mobile-only compact brand tile instead of the tall desktop card */
  .hero-visual { margin-top:2px; }
  .noise-card {
    aspect-ratio:1.42;
    min-height:0;
  }
  .noise-card-top,
  .noise-orbit { display:none; }
  .noise-statement {
    top:47%;
    left:18px;
    right:18px;
  }
  .noise-line {
    font-size:clamp(42px,12vw,58px);
    line-height:.82;
  }
  .noise-script {
    font-size:clamp(50px,15vw,72px);
    margin-top:8px;
  }
  .scribble {
    width:46%;
    bottom:22px;
    right:10px;
  }

  /* mobile statements */
  .brand-interlude-pink h2 em,
  .brand-interlude-white h2 em { display:block; }

  /* spacing before brand CTA */
  .brand-sticky .light-muted { margin:24px 0 30px; }

  /* smaller creator CTA */
  .creator-cta p {
    font-size:clamp(22px,7vw,30px);
    line-height:1.12;
  }

  /* stronger sequential entrance for cards/steps on scroll */
  .service-card.reveal,
  .process-item.reveal,
  .benefit.reveal,
  .talent-value.reveal {
    opacity:0;
    transform:translateY(40px) scale(.985);
    transition:opacity .7s var(--ease), transform .7s var(--ease);
  }
  .service-card.reveal.is-visible,
  .process-item.reveal.is-visible,
  .benefit.reveal.is-visible,
  .talent-value.reveal.is-visible {
    opacity:1;
    transform:none;
  }

  .service-grid .service-card:nth-child(1).reveal { transition-delay:0s; }
  .service-grid .service-card:nth-child(2).reveal { transition-delay:.10s; }
  .service-grid .service-card:nth-child(3).reveal { transition-delay:.20s; }

  /* Founder title before portrait on mobile */
  .founder-mobile-intro { display:block; grid-column:1/-1; }
  .founder-mobile-intro .section-kicker { margin-bottom:18px; }
  .founder-copy > .section-kicker,
  .founder-copy > .display-heading { display:none; }
  .founder {
    grid-template-columns:1fr;
    gap:34px;
  }
  .founder-media { margin-top:2px; }
  .founder-highlight {
    color:inherit;
    font-weight:500;
    font-style:italic;
  }
  .founder.section-pad { padding-bottom:54px; }
  .founder-note { margin-bottom:0; }

  /* Footer centered and social icons on mobile */
  .footer-grid {
    justify-items:center;
    text-align:center;
    gap:28px;
  }
  .footer-brand {
    display:flex;
    flex-direction:column;
    align-items:center;
  }
  .footer-brand img { margin-inline:auto; }
  .footer-brand p { text-align:center; max-width:31ch; }
  .footer-links {
    width:100%;
    justify-content:center;
    align-items:center;
    gap:14px;
  }
  .footer-social {
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border:1px solid var(--black);
    color:var(--black);
    border-radius:50%;
  }
  .footer-social svg {
    display:block;
    width:20px;
    height:20px;
  }
  .footer-social .social-label { display:none; }
  .footer-email {
    display:flex;
    align-items:center;
    gap:7px;
    width:auto;
  }
  .footer-bottom {
    align-items:center;
    text-align:center;
  }
}

@media (max-width:520px) {
  .hero-dynamic { min-height:68px; }
  .hero-lead { margin-top:4px; }
  .noise-card { aspect-ratio:1.36; }
  .brand-sticky .light-muted { margin-bottom:28px; }
  .founder-mobile-intro .display-heading { font-size:clamp(36px,11vw,48px); }
  .founder.section-pad { padding-bottom:48px; }
}


/* ===== Footer social icon alignment refinement ===== */
.footer-social {
  flex:0 0 auto;
}
.footer-social svg {
  overflow:visible;
}
.footer-tiktok svg path,
.footer-facebook svg path {
  fill:currentColor;
  stroke:none;
}
.footer-instagram svg {
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}
.footer-instagram .social-dot {
  fill:currentColor;
  stroke:none;
}

@media (max-width:820px) {
  .footer-links {
    display:grid;
    grid-template-columns:repeat(3, 48px);
    justify-content:center;
    justify-items:center;
    align-items:center;
    column-gap:16px;
    row-gap:18px;
  }
  .footer-social {
    width:48px;
    height:48px;
    margin:0;
    border:1.25px solid var(--black);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    line-height:1;
  }
  .footer-social svg {
    width:21px;
    height:21px;
    display:block;
    flex:none;
  }
  .footer-tiktok svg { width:20px; height:20px; }
  .footer-facebook svg { width:20px; height:20px; }
  .footer-email {
    grid-column:1 / -1;
    justify-self:center;
    margin-top:2px;
  }
}

/* ===== Header social icons + footer email cleanup ===== */
.header-socials .header-social {
  width:44px;
  height:44px;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid rgba(9,9,9,.28);
  color:var(--black);
}
.header-socials .header-social svg {
  width:20px;
  height:20px;
  display:block;
  overflow:visible;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.header-socials .header-tiktok svg path,
.header-socials .header-facebook svg path {
  fill:currentColor;
  stroke:none;
}
.header-socials .header-instagram .social-dot {
  fill:currentColor;
  stroke:none;
}
.header-socials .header-social::after { display:none !important; }

@media (max-width:820px) {
  .header-socials {
    display:flex;
    gap:12px;
  }
  .header-socials .header-social {
    width:48px !important;
    height:48px !important;
    border-radius:50%;
  }
  .header-socials .header-social svg {
    width:21px;
    height:21px;
  }
  .footer-links {
    grid-template-columns:repeat(3,48px);
    row-gap:0;
  }
}


/* ===== Direct phone contact v8 ===== */
.contact-direct {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:16px 28px;
  margin-top:34px;
}
.contact-direct .email-link,
.phone-link {
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:0;
  padding-bottom:6px;
  color:var(--pink);
  font-size:18px;
  font-weight:800;
  text-decoration:none;
  border-bottom:1px solid var(--pink);
}
.phone-link:hover,
.contact-direct .email-link:hover {
  color:var(--white);
  border-color:var(--white);
}
.phone-link .arrow-diag,
.contact-direct .email-link .arrow-diag {
  flex:0 0 auto;
}
.footer-phone {
  color:inherit;
  text-decoration:none;
  font-weight:800;
}
.footer-phone:hover { color:var(--pink-dark); }

@media (max-width:820px) {
  .contact-direct {
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
    margin-top:26px;
  }
  .contact-direct .email-link,
  .phone-link {
    font-size:16px;
  }
  .footer-bottom {
    gap:10px;
  }
  .footer-phone {
    order:2;
    font-size:11px;
  }
  .footer-bottom > span:first-child { order:1; }
  .footer-bottom > span:last-child { order:3; }
}


/* ===== Click-to-call CTA + desktop phone modal v9 ===== */
.phone-cta {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:48px;
  padding:12px 20px;
  border:1px solid var(--pink);
  background:var(--pink);
  color:var(--black);
  text-decoration:none;
  font-weight:900;
  line-height:1;
  transition:transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.phone-cta:hover {
  background:var(--white);
  border-color:var(--white);
  color:var(--black);
  transform:translateY(-2px);
}
.contact-direct .phone-cta { border-bottom:1px solid var(--pink); }
.footer-phone-cta {
  min-height:auto;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  font-size:inherit;
}
.footer-phone-cta:hover {
  background:transparent;
  border:0;
  color:var(--pink-dark);
  transform:none;
}
.phone-modal {
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:24px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s ease, visibility .22s ease;
}
.phone-modal.is-open {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.phone-modal-backdrop {
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.62);
  backdrop-filter:blur(7px);
}
.phone-modal-card {
  position:relative;
  z-index:1;
  width:min(520px, 100%);
  padding:44px 42px 40px;
  background:var(--white);
  color:var(--black);
  border:1px solid var(--black);
  box-shadow:12px 12px 0 var(--pink);
  transform:translateY(12px) scale(.985);
  transition:transform .22s ease;
}
.phone-modal.is-open .phone-modal-card { transform:translateY(0) scale(1); }
.phone-modal-close {
  position:absolute;
  top:14px;
  right:16px;
  width:40px;
  height:40px;
  border:0;
  background:transparent;
  color:var(--black);
  font:inherit;
  font-size:32px;
  line-height:1;
  cursor:pointer;
}
.phone-modal-kicker {
  display:block;
  margin-bottom:18px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
}
.phone-modal-card h2 {
  margin:0 0 12px;
  font-size:clamp(40px,5vw,66px);
  line-height:.95;
}
.phone-modal-card p {
  margin:0 0 26px;
  font-size:16px;
}
.phone-modal-number {
  display:inline-block;
  color:var(--black);
  font-size:clamp(24px,3vw,36px);
  font-weight:900;
  text-decoration:none;
  border-bottom:3px solid var(--pink);
}
body.phone-modal-open { overflow:hidden; }

@media (max-width:820px) {
  .phone-cta {
    min-height:50px;
    padding:13px 20px;
  }
  .footer-phone-cta {
    min-height:auto;
    padding:0;
  }
  .phone-modal { display:none !important; }
}


/* ===== Stability + mobile copy refinement v10 ===== */
/* GPU-friendly, mathematically seamless top marquee. Both groups are identical,
   so moving by exactly half the track width produces a clean loop. */
.marquee-track {
  display:flex;
  width:max-content;
  gap:0;
  transform:translate3d(0,0,0);
  will-change:transform;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  animation:ctq-marquee-loop 30s linear infinite;
}
.marquee-group {
  display:flex;
  flex:0 0 auto;
  width:max-content;
  min-width:0;
  justify-content:flex-start;
  align-items:center;
  gap:38px;
  padding-right:38px;
}
@keyframes ctq-marquee-loop {
  from { transform:translate3d(0,0,0); }
  to   { transform:translate3d(-50%,0,0); }
}

.creator-cta-line { display:inline; }

@media (max-width:820px) {
  .marquee-track { animation-duration:24s; }
  .marquee-group { gap:26px; padding-right:26px; }

  /* Exactly two intentional lines on mobile, rather than an accidental 3-line wrap. */
  .creator-cta p {
    font-size:clamp(18px,5vw,22px);
    line-height:1.18;
    letter-spacing:-.025em;
  }
  .creator-cta-line {
    display:block;
    white-space:nowrap;
  }
}

/* ===== Founder/social/media polish + supporting copy scale v11 ===== */
/* Slightly larger supporting copy only — display headlines intentionally unchanged. */
.eyebrow,
.section-kicker { font-size:12px; }
.hero-lead { font-size:18px; }
.text-link { font-size:15px; }
.service-card p,
.process-item p,
.benefit p,
.talent-value p,
.body-copy { font-size:17px; }
.service-tag { font-size:18px; }
.founder-stats span { font-size:13px; }
.contact-copy p.light-muted { font-size:17px; }
.footer-brand p,
.footer-links a { font-size:13px; }

/* Individual line icons replace generic diagonal arrows in creator benefits. */
.benefit > .benefit-icon {
  width:46px;
  height:46px;
  border-radius:14px;
  background:var(--pink-pale);
  border:1px solid var(--black);
  transition:background .28s ease, transform .28s var(--ease), box-shadow .28s ease;
}
.benefit > .benefit-icon svg {
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.benefit:hover > .benefit-icon {
  background:var(--pink);
  transform:translateY(-3px) rotate(0);
  box-shadow:4px 4px 0 var(--black);
}
.benefit h3 { margin-top:38px; }

/* Personal Instagram touchpoint next to the founder portrait. */
.founder-instagram-card {
  width:min(430px, calc(100% - 10px));
  margin:30px auto 0;
  display:grid;
  grid-template-columns:46px 1fr auto;
  gap:14px;
  align-items:center;
  padding:14px 16px;
  color:var(--black);
  background:var(--white);
  border:1px solid var(--black);
  text-decoration:none;
  box-shadow:7px 7px 0 var(--pink);
  transition:transform .28s var(--ease), box-shadow .28s var(--ease), background .28s ease;
}
.founder-instagram-card:hover {
  transform:translate(-2px,-2px);
  box-shadow:10px 10px 0 var(--pink);
  background:var(--pink-pale);
}
.founder-instagram-icon {
  width:46px;
  height:46px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--pink);
}
.founder-instagram-icon svg {
  width:22px;
  height:22px;
  fill:none;
  stroke:var(--black);
  stroke-width:1.7;
}
.founder-instagram-icon .social-dot { fill:var(--black); stroke:none; }
.founder-instagram-card strong {
  display:block;
  font-size:17px;
  line-height:1.1;
}
.founder-instagram-card small {
  display:block;
  margin-top:4px;
  font-size:12px;
  color:#5b5b5b;
}
.founder-instagram-card > .arrow-diag { margin-left:6px; }

/* Moving media-logo strip under founder story. */
.founder-media-slider {
  margin-top:34px;
  padding-top:22px;
  border-top:1px solid var(--black);
  overflow:hidden;
}
.founder-media-label {
  display:block;
  margin-bottom:15px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.18em;
  color:#666;
}
.founder-logo-marquee {
  overflow:hidden;
  width:100%;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.founder-logo-track {
  display:flex;
  width:max-content;
  will-change:transform;
  animation:founder-logo-loop 18s linear infinite;
}
.founder-logo-group {
  display:flex;
  flex:0 0 auto;
  align-items:center;
  gap:48px;
  padding-right:48px;
}
.founder-logo {
  width:145px;
  height:68px;
  display:grid;
  place-items:center;
  opacity:.72;
  transition:opacity .25s ease, transform .25s var(--ease);
}
.founder-logo:hover { opacity:1; transform:scale(1.04); }
.founder-logo img {
  width:100%;
  height:100%;
  object-fit:contain;
}
.founder-logo-pns { width:118px; }
.founder-logo-tvp { width:132px; }
@keyframes founder-logo-loop {
  from { transform:translate3d(0,0,0); }
  to { transform:translate3d(-50%,0,0); }
}

@media (prefers-reduced-motion:reduce) {
  .founder-logo-track { animation:none; }
}

@media (max-width:820px) {
  .eyebrow,
  .section-kicker { font-size:10px; }
  .hero-lead { font-size:16px; }
  .body-large { font-size:18px; }
  .body-copy,
  .service-card p,
  .process-item p,
  .benefit p,
  .talent-value p { font-size:16px; }
  .contact-copy p.light-muted { font-size:16px; }
  .service-tag { font-size:17px; }
  .founder-stats span,
  .founder-stats > div:last-child span { font-size:13px; }

  .benefit > .benefit-icon { width:44px; height:44px; border-radius:13px; }
  .benefit > .benefit-icon svg { width:24px; height:24px; }
  .benefit h3 { margin-top:18px; }

  .founder-instagram-card {
    width:calc(100% - 20px);
    margin-top:24px;
    grid-template-columns:42px 1fr auto;
    padding:13px 14px;
    box-shadow:6px 6px 0 var(--pink);
  }
  .founder-instagram-icon { width:42px; height:42px; }
  .founder-instagram-card strong { font-size:16px; }
  .founder-instagram-card small { font-size:12px; }

  .founder-media-slider { margin-top:26px; padding-top:20px; }
  .founder-logo-group { gap:34px; padding-right:34px; }
  .founder-logo { width:124px; height:58px; }
  .founder-logo-pns { width:98px; }
  .founder-logo-tvp { width:112px; }
  .founder-logo-track { animation-duration:16s; }
}

@media (max-width:520px) {
  .hero-lead { font-size:15px; }
  .body-large { font-size:17px; }
  .founder-instagram-card { width:calc(100% - 12px); }
}

/* ===== Mobile contact/menu + brand copy refinement v12 ===== */
.mobile-menu-contact { display:none; }

.contact-email-under {
  justify-self:start;
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-top:2px;
  padding:4px 0 7px;
  color:var(--pink);
  font-size:17px;
  font-weight:800;
  text-decoration:none;
  border-bottom:1px solid var(--pink);
  transition:color .2s ease, border-color .2s ease;
}
.contact-email-under:hover {
  color:var(--white);
  border-color:var(--white);
}

@media (max-width:820px) {
  /* Keep this supporting sentence intentionally to two lines on mobile. */
  .brand-fit-copy {
    font-size:clamp(13.8px,3.72vw,15.6px);
    line-height:1.48;
    letter-spacing:-.025em;
    max-width:none;
  }
  .brand-fit-copy > span {
    display:block;
    white-space:nowrap;
  }

  /* Direct phone + email access inside the mobile navigation. */
  .mobile-menu-contact {
    display:flex;
    width:100%;
    flex-direction:column;
    align-items:flex-start;
    margin-top:22px;
    padding-top:18px;
    border-top:1px solid var(--line);
  }
  .mobile-menu-contact-label {
    margin-bottom:8px;
    font-size:10px;
    font-weight:900;
    letter-spacing:.18em;
    color:#777;
  }
  .main-nav .mobile-menu-contact a {
    width:auto;
    padding:5px 0;
    font-family:var(--font-body);
    font-size:15px;
    line-height:1.25;
    letter-spacing:0;
    font-weight:800;
    color:var(--black);
    text-decoration:none;
  }
  .main-nav .mobile-menu-contact a::after { display:none !important; }
  .main-nav .mobile-menu-contact a:first-of-type { color:var(--pink-dark); }

  .main-nav .nav-cta { margin-top:20px; }

  .contact-email-under {
    margin-top:4px;
    font-size:16px;
  }
}

@media (max-width:390px) {
  .brand-fit-copy { font-size:13.4px; }
  .main-nav .mobile-menu-contact a { font-size:14px; }
}

/* ===== Mobile founder expandable story v13 ===== */
.founder-mobile-more { display:none; }

@media (max-width:820px) {
  /* On mobile the founder story becomes optional, keeping the portrait section lighter. */
  .founder-instagram-desktop { display:none; }
  .founder-copy > .body-large,
  .founder-copy > .body-copy { display:none; }

  .founder-mobile-more {
    display:block;
    grid-column:1 / -1;
    margin-top:-6px;
  }
  .founder-more-button {
    width:100%;
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:16px 18px;
    border:1px solid var(--black);
    background:var(--white);
    color:var(--black);
    font:800 16px/1.1 var(--font-display);
    letter-spacing:-.015em;
    text-align:left;
    cursor:pointer;
    box-shadow:5px 5px 0 var(--pink);
    transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s ease;
  }
  .founder-more-button:active {
    transform:translate(2px,2px);
    box-shadow:2px 2px 0 var(--pink);
  }
  .founder-more-chevron {
    position:relative;
    flex:0 0 20px;
    width:20px;
    height:20px;
  }
  .founder-more-chevron::before,
  .founder-more-chevron::after {
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:14px;
    height:2px;
    background:currentColor;
    transform:translate(-50%,-50%);
    transition:transform .35s var(--ease);
  }
  .founder-more-chevron::after { transform:translate(-50%,-50%) rotate(90deg); }
  .founder-more-button[aria-expanded="true"] .founder-more-chevron::after {
    transform:translate(-50%,-50%) rotate(0deg);
  }

  .founder-mobile-drawer {
    display:grid;
    grid-template-rows:0fr;
    opacity:0;
    transition:grid-template-rows .55s var(--ease), opacity .35s ease;
  }
  .founder-mobile-drawer-inner {
    min-height:0;
    overflow:hidden;
  }
  .founder-mobile-more.is-open .founder-mobile-drawer {
    grid-template-rows:1fr;
    opacity:1;
  }
  .founder-mobile-drawer-inner > .body-large {
    margin:28px 2px 0;
    font-size:17px;
    line-height:1.52;
  }
  .founder-mobile-drawer-inner > .body-copy {
    margin:18px 2px 0;
    font-size:16px;
    line-height:1.58;
  }
  .founder-mobile-drawer .founder-highlight {
    font-style:italic;
    font-weight:500;
  }
  .founder-instagram-mobile {
    width:calc(100% - 8px);
    margin:26px 0 8px;
  }
}

@media (max-width:390px) {
  .founder-more-button { font-size:15px; padding-inline:16px; }
}

/* ===== Founder/layout refinement + exact media logos v14 ===== */

/* Keep longer editorial paragraphs calm and aligned without forcing short cards into full justification. */
.intro-grid > .body-large,
.creator-head > .body-large,
.founder-copy > .body-large,
.founder-copy > .body-copy,
.founder-mobile-drawer-inner > .body-large,
.founder-mobile-drawer-inner > .body-copy,
.talent-head > .body-large {
  text-align: justify;
  text-justify: inter-word;
  hyphens: auto;
  -webkit-hyphens: auto;
}

/* Remove the inconsistent pink corner bubble from service-card hover. */
.service-card::after,
.service-card:hover::after { display:none !important; }

/* User-supplied Media / TV artwork. */
.founder-logo {
  width:160px;
  height:82px;
  opacity:.82;
}
.founder-logo-voice { width:176px; }
.founder-logo-pns { width:118px; }
.founder-logo-tvp { width:148px; }
.founder-logo img {
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}

/* Phone prompt used after desktop Let's talk. */
.phone-modal-call {
  min-height:54px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:0 20px;
  margin:0 0 18px;
  background:var(--pink);
  color:var(--black);
  border:1px solid var(--black);
  text-decoration:none;
  font-weight:900;
  transition:transform .25s var(--ease), background .2s ease;
}
.phone-modal-call:hover {
  transform:translate(-2px,-2px);
  background:var(--pink-pale);
  box-shadow:5px 5px 0 var(--black);
}
.phone-modal-number {
  display:block;
  width:max-content;
  font-size:18px;
  border-bottom-width:2px;
}

@media (max-width:820px) {
  /* Restore the clean founder rhythm: heading first, controlled portrait, then the optional story. */
  .founder {
    grid-template-columns:minmax(0,1fr) !important;
    align-items:start;
    gap:24px !important;
  }
  .founder-mobile-intro {
    width:100%;
    margin:0;
  }
  .founder-mobile-intro .section-kicker {
    margin-bottom:14px;
  }
  .founder-mobile-intro .display-heading {
    max-width:100%;
    margin:0;
    font-size:clamp(38px,10.6vw,46px) !important;
    line-height:.96;
    letter-spacing:-.052em;
    white-space:normal;
  }
  .founder-media {
    width:min(92%, 360px);
    max-width:360px;
    margin:2px auto 0 !important;
  }
  .founder-frame {
    width:100%;
    max-width:none !important;
    margin:0 !important;
    padding:10px 10px 0 0 !important;
  }
  .founder-frame::before {
    inset:30px 0 -10px 30px !important;
  }
  .founder-frame img {
    width:100%;
    height:auto;
    aspect-ratio:.76;
    object-fit:cover;
    object-position:center;
  }
  .founder-sticker {
    width:84px !important;
    height:84px !important;
    right:-2px !important;
    top:14px !important;
    font-size:6.5px !important;
  }
  .founder-mobile-more {
    width:100%;
    margin:10px 0 0 !important;
  }
  .founder-more-button {
    width:100%;
  }
  .founder-mobile-drawer-inner {
    width:100%;
  }
  .founder-instagram-mobile {
    display:grid !important;
    width:100% !important;
    margin:24px 0 8px !important;
  }
  .founder-copy {
    width:100%;
    min-width:0;
  }

  /* Exact media artwork stays visually balanced on a narrow screen. */
  .founder-media-slider {
    width:100%;
    overflow:hidden;
  }
  .founder-logo-group {
    gap:32px;
    padding-right:32px;
  }
  .founder-logo {
    width:126px;
    height:66px;
  }
  .founder-logo-voice { width:142px; }
  .founder-logo-pns { width:92px; }
  .founder-logo-tvp { width:116px; }

  /* As each creator benefit enters the viewport, its icon turns pink and stays highlighted. */
  .creator-benefits .benefit > .benefit-icon {
    background:var(--pink-pale);
    box-shadow:none;
  }
  .creator-benefits .benefit.reveal.is-visible > .benefit-icon {
    background:var(--pink);
    box-shadow:4px 4px 0 var(--black);
    animation:creator-icon-pop .55s var(--ease) both;
  }
  .creator-benefits .benefit:nth-child(1).reveal.is-visible > .benefit-icon { animation-delay:.04s; }
  .creator-benefits .benefit:nth-child(2).reveal.is-visible > .benefit-icon { animation-delay:.10s; }
  .creator-benefits .benefit:nth-child(3).reveal.is-visible > .benefit-icon { animation-delay:.16s; }
  .creator-benefits .benefit:nth-child(4).reveal.is-visible > .benefit-icon { animation-delay:.22s; }
}

@keyframes creator-icon-pop {
  0% { transform:scale(.92); }
  58% { transform:scale(1.08); }
  100% { transform:scale(1); }
}

@media (max-width:390px) {
  .founder-media { width:min(90%, 336px); }
  .founder-mobile-intro .display-heading { font-size:38px !important; }
}


/* ===== Interaction, spacing & contact refinement v15 ===== */

/* Give justified editorial copy a little more air while keeping short card copy natural. */
.intro-grid > .body-large,
.creator-head > .body-large,
.founder-copy > .body-large,
.founder-copy > .body-copy,
.founder-mobile-drawer-inner > .body-large,
.founder-mobile-drawer-inner > .body-copy,
.talent-head > .body-large {
  padding-inline:4px;
  text-align-last:left;
}

/* Founder media logos: always show the complete supplied artwork. */
.founder-media-slider {
  overflow:hidden;
  padding-bottom:8px;
}
.founder-logo-marquee {
  overflow:hidden;
  padding:8px 12px 10px;
  -webkit-mask-image:none !important;
  mask-image:none !important;
}
.founder-logo-group {
  gap:42px;
  padding-right:42px;
}
.founder-logo,
.founder-logo-voice,
.founder-logo-pns,
.founder-logo-tvp {
  flex:0 0 auto;
  height:104px;
  display:grid;
  place-items:center;
  padding:8px;
  overflow:visible;
  opacity:.9;
}
.founder-logo-voice { width:178px; }
.founder-logo-pns { width:154px; }
.founder-logo-tvp { width:174px; }
.founder-logo img {
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center;
}

/* Desktop phone prompt is intentionally minimal: one message + the number. */
.phone-modal-card {
  width:min(560px,100%);
  padding:48px 44px 44px;
}
.phone-modal-card h2 {
  max-width:11ch;
  margin:0 0 30px;
  font-size:clamp(42px,4.7vw,64px);
  line-height:.92;
  letter-spacing:-.045em;
}
.phone-modal-card p,
.phone-modal-kicker,
.phone-modal-call { display:none !important; }
.phone-modal-number {
  display:inline-block;
  width:max-content;
  color:var(--black);
  font-size:clamp(25px,2.4vw,34px);
  font-weight:900;
  line-height:1.1;
  border-bottom:3px solid var(--pink);
}

/* More movement throughout the page: elements slide in from alternating directions. */
.section-kicker.reveal,
.eyebrow.reveal {
  transform:translate3d(-28px,0,0);
}
.intro-grid .display-heading.reveal,
.creator-head .display-heading.reveal,
.talent-head .display-heading.reveal,
.founder-copy .display-heading.reveal,
.contact-title.reveal {
  transform:translate3d(-42px,0,0);
}
.intro-grid > .body-large.reveal,
.creator-head > .body-large.reveal,
.talent-head > .body-large.reveal {
  transform:translate3d(42px,0,0);
}
.service-card.reveal {
  transform:translate3d(0,52px,0) scale(.985);
}
.process-item.reveal {
  transform:translate3d(54px,0,0);
}
.process-item:nth-child(2n).reveal {
  transform:translate3d(34px,18px,0);
}
.creator-benefits .benefit:nth-child(odd).reveal,
.talent-values .talent-value:nth-child(odd).reveal {
  transform:translate3d(-34px,28px,0);
}
.creator-benefits .benefit:nth-child(even).reveal,
.talent-values .talent-value:nth-child(even).reveal {
  transform:translate3d(34px,28px,0);
}
.creator-cta.reveal,
.founder-stats.reveal,
.founder-media-slider.reveal,
.talent-link.reveal {
  transform:translate3d(0,42px,0);
}
.founder-media.reveal {
  transform:translate3d(-50px,0,0) scale(.985);
}
.founder-copy > .body-large.reveal,
.founder-copy > .body-copy.reveal,
.founder-note.reveal {
  transform:translate3d(38px,0,0);
}
.contact-copy .section-kicker.reveal,
.contact-copy .contact-title.reveal,
.contact-copy .light-muted.reveal,
.contact-copy .contact-direct.reveal {
  transform:translate3d(-40px,0,0);
}
.contact-form.reveal {
  transform:translate3d(46px,0,0);
}
.brand-interlude.reveal {
  transform:translate3d(0,46px,0) scale(.99);
}

/* Stagger related groups so they feel intentionally animated instead of all firing at once. */
.service-grid .service-card:nth-child(1) { transition-delay:.02s; }
.service-grid .service-card:nth-child(2) { transition-delay:.10s; }
.service-grid .service-card:nth-child(3) { transition-delay:.18s; }
.process-list .process-item:nth-child(1) { transition-delay:.02s; }
.process-list .process-item:nth-child(2) { transition-delay:.07s; }
.process-list .process-item:nth-child(3) { transition-delay:.12s; }
.process-list .process-item:nth-child(4) { transition-delay:.17s; }
.creator-benefits .benefit:nth-child(1),
.talent-values .talent-value:nth-child(1) { transition-delay:.02s; }
.creator-benefits .benefit:nth-child(2),
.talent-values .talent-value:nth-child(2) { transition-delay:.08s; }
.creator-benefits .benefit:nth-child(3),
.talent-values .talent-value:nth-child(3) { transition-delay:.14s; }
.creator-benefits .benefit:nth-child(4) { transition-delay:.20s; }

/* Every reveal variant ends in the same clean resting state. */
.reveal.is-visible,
.section-kicker.reveal.is-visible,
.eyebrow.reveal.is-visible,
.intro-grid .display-heading.reveal.is-visible,
.creator-head .display-heading.reveal.is-visible,
.talent-head .display-heading.reveal.is-visible,
.founder-copy .display-heading.reveal.is-visible,
.contact-title.reveal.is-visible,
.intro-grid > .body-large.reveal.is-visible,
.creator-head > .body-large.reveal.is-visible,
.talent-head > .body-large.reveal.is-visible,
.service-card.reveal.is-visible,
.process-item.reveal.is-visible,
.process-item:nth-child(2n).reveal.is-visible,
.creator-benefits .benefit.reveal.is-visible,
.talent-values .talent-value.reveal.is-visible,
.creator-cta.reveal.is-visible,
.founder-stats.reveal.is-visible,
.founder-media-slider.reveal.is-visible,
.talent-link.reveal.is-visible,
.founder-media.reveal.is-visible,
.founder-copy > .body-large.reveal.is-visible,
.founder-copy > .body-copy.reveal.is-visible,
.founder-note.reveal.is-visible,
.contact-copy .reveal.is-visible,
.contact-form.reveal.is-visible,
.brand-interlude.reveal.is-visible {
  opacity:1;
  transform:none;
}

@media (max-width:820px) {
  /* Slightly more white breathing room at the sides than the previous mobile build. */
  :root { --shell:calc(100vw - 40px); }

  .founder-logo-marquee { padding-inline:8px; }
  .founder-logo-group { gap:28px; padding-right:28px; }
  .founder-logo,
  .founder-logo-voice,
  .founder-logo-pns,
  .founder-logo-tvp { height:90px; padding:7px; }
  .founder-logo-voice { width:148px; }
  .founder-logo-pns { width:132px; }
  .founder-logo-tvp { width:146px; }

  /* Mobile keeps native tel: behavior — iOS/Android shows the system call confirmation. */
  .phone-modal { display:none !important; }

  /* Make the mobile reveal motion clear but not distracting. */
  .section-kicker.reveal,
  .eyebrow.reveal,
  .contact-copy .reveal {
    transform:translate3d(-24px,0,0);
  }
  .intro-grid .display-heading.reveal,
  .creator-head .display-heading.reveal,
  .talent-head .display-heading.reveal,
  .founder-copy .display-heading.reveal {
    transform:translate3d(-30px,0,0);
  }
  .intro-grid > .body-large.reveal,
  .creator-head > .body-large.reveal,
  .talent-head > .body-large.reveal,
  .founder-copy > .body-large.reveal,
  .founder-copy > .body-copy.reveal {
    transform:translate3d(28px,0,0);
  }
  .service-card.reveal,
  .creator-cta.reveal,
  .founder-stats.reveal,
  .founder-media-slider.reveal,
  .talent-link.reveal {
    transform:translate3d(0,44px,0) scale(.99);
  }
  .process-item.reveal,
  .process-item:nth-child(2n).reveal {
    transform:translate3d(34px,12px,0);
  }
  .creator-benefits .benefit:nth-child(odd).reveal,
  .talent-values .talent-value:nth-child(odd).reveal {
    transform:translate3d(-24px,28px,0);
  }
  .creator-benefits .benefit:nth-child(even).reveal,
  .talent-values .talent-value:nth-child(even).reveal {
    transform:translate3d(24px,28px,0);
  }
  .founder-media.reveal { transform:translate3d(-28px,0,0) scale(.985); }
  .contact-form.reveal { transform:translate3d(28px,0,0); }
  .brand-interlude.reveal { transform:translate3d(0,34px,0) scale(.99); }
}

@media (max-width:390px) {
  :root { --shell:calc(100vw - 36px); }
}

@media (prefers-reduced-motion:reduce) {
  .reveal,
  .section-kicker.reveal,
  .eyebrow.reveal,
  .service-card.reveal,
  .process-item.reveal,
  .creator-benefits .benefit.reveal,
  .talent-values .talent-value.reveal,
  .founder-media.reveal,
  .contact-form.reveal,
  .brand-interlude.reveal {
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
}


/* ===== Contact flow + mobile layout hardening v16 ===== */
html, body { overflow-x:hidden; }

/* Restore the more spacious editorial desktop prompt. */
.phone-modal {
  display:grid;
  place-items:center;
  padding:32px;
}
.phone-modal-card {
  width:min(760px, calc(100vw - 64px));
  padding:54px 58px 50px;
  border:1px solid var(--black);
  box-shadow:14px 14px 0 var(--pink);
}
.phone-modal-kicker {
  display:block !important;
  margin:0 0 24px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
}
.phone-modal-card h2 {
  max-width:none;
  margin:0 0 36px;
  font-size:clamp(46px,5vw,68px);
  line-height:.92;
  letter-spacing:-.052em;
}
.phone-modal-card h2 span { color:var(--pink-dark); }
.phone-modal-number {
  display:inline-block;
  width:max-content;
  color:var(--black);
  font-size:clamp(23px,2.2vw,31px);
  line-height:1.15;
  font-weight:900;
  text-decoration:none;
  border-bottom:3px solid var(--pink);
  transition:color .2s ease, border-color .2s ease, transform .2s ease;
}
.phone-modal-number:hover,
.phone-modal-number:focus-visible {
  color:var(--pink-dark);
  border-color:var(--black);
  transform:translateY(-1px);
}
.phone-modal-call { display:none !important; }

/* The call CTA in Contact is never hijacked by the modal. */
.contact-direct .phone-cta { cursor:pointer; }

@media (max-width:820px) {
  /* The Let's talk menu CTA gets a real mobile dialog with a native call button. */
  .phone-modal {
    display:grid !important;
    padding:18px;
  }
  .phone-modal-card {
    width:min(100%, 430px);
    padding:34px 24px 28px;
    box-shadow:8px 8px 0 var(--pink);
  }
  .phone-modal-close {
    top:10px;
    right:10px;
    width:38px;
    height:38px;
    font-size:29px;
  }
  .phone-modal-kicker {
    margin-bottom:18px;
    font-size:10px;
  }
  .phone-modal-card h2 {
    margin:0 0 24px;
    font-size:clamp(34px,10.6vw,46px);
    line-height:.94;
  }
  .phone-modal-number { display:none !important; }
  .phone-modal-call {
    display:flex !important;
    width:100%;
    min-height:56px;
    margin:0;
    padding:14px 18px;
    align-items:center;
    justify-content:space-between;
    background:var(--pink);
    color:var(--black);
    border:1px solid var(--black);
    text-decoration:none;
    font-weight:900;
    box-shadow:4px 4px 0 var(--black);
  }

  /* Hard reset of the two mobile sections that were being pulled sideways by reveal transforms. */
  .creator-section,
  .talent-preview { overflow:hidden; }
  .creator-head,
  .talent-head {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:30px !important;
    align-items:start !important;
    width:100%;
  }
  .creator-head > *,
  .talent-head > * {
    min-width:0;
    width:100%;
  }
  .creator-benefits {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    width:100%;
    margin-top:44px !important;
  }
  .benefit,
  .benefit + .benefit {
    width:100%;
    min-width:0;
    box-sizing:border-box;
    padding:26px 0 32px !important;
    border-left:0 !important;
  }
  .creator-cta {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    width:100%;
    gap:20px !important;
  }
  .creator-cta p { max-width:100%; }
  .creator-cta-line { max-width:100%; }

  .talent-values {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    width:100%;
    margin-top:42px !important;
  }
  .talent-value,
  .talent-value + .talent-value {
    width:100%;
    min-width:0;
    box-sizing:border-box;
    padding:24px 0 28px !important;
    border-left:0 !important;
  }
  .talent-link { max-width:100%; }

  /* Preserve motion without letting pre-reveal states distort the mobile grid. */
  .creator-benefits .benefit:nth-child(n).reveal,
  .talent-values .talent-value:nth-child(n).reveal {
    transform:translate3d(0,30px,0) scale(.99) !important;
  }
  .creator-benefits .benefit:nth-child(n).reveal.is-visible,
  .talent-values .talent-value:nth-child(n).reveal.is-visible {
    transform:none !important;
  }
}

@media (max-width:390px) {
  .phone-modal-card { padding-inline:21px; }
  .phone-modal-card h2 { font-size:36px; }
  .creator-cta p { font-size:18px !important; }
}


/* ===== Contact prompt + navigation arrival polish v17 ===== */
/* Re-introduce the destination content when a visitor navigates from the menu.
   This is separate from the normal scroll reveal, so already-seen sections still animate gracefully. */
@keyframes navArrivalReveal {
  0% { opacity:.08; transform:translate3d(0,22px,0) scale(.992); filter:blur(5px); }
  55% { opacity:1; filter:blur(0); }
  100% { opacity:1; transform:translate3d(0,0,0) scale(1); filter:blur(0); }
}
.reveal.nav-arrival {
  animation:navArrivalReveal .95s var(--ease) both;
  animation-delay:var(--nav-arrival-delay, 0ms);
}

@media (max-width:820px) {
  /* Mobile modal: keep the question, then let the CTA carry the call wording. */
  .phone-modal-card h2 span { display:none !important; }
  .phone-modal-card h2 { margin-bottom:22px; }

  @keyframes navArrivalReveal {
    0% { opacity:.05; transform:translate3d(0,18px,0) scale(.994); filter:blur(4px); }
    100% { opacity:1; transform:translate3d(0,0,0) scale(1); filter:blur(0); }
  }
}

@media (prefers-reduced-motion: reduce) {
  .reveal.nav-arrival { animation:none !important; }
}

/* ===== Mobile readability + footer lockup v19 ===== */
@media (max-width: 820px) {
  /* Never split ordinary words with automatic hyphenation on mobile. */
  html,
  body,
  body * {
    -webkit-hyphens: none !important;
    hyphens: none !important;
    word-break: normal;
    overflow-wrap: normal;
  }

  /* Keep the footer descriptor as one clean line beneath the logo. */
  .footer-brand p {
    max-width: none;
    width: auto;
    white-space: nowrap;
    font-size: clamp(9px, 2.55vw, 11px);
    line-height: 1.25;
    letter-spacing: -0.01em;
  }
}

@media (max-width: 390px) {
  .footer-brand p {
    font-size: clamp(8.7px, 2.45vw, 10px);
  }
}
