:root{
  --white:#fff; --black:#000; --grey-1:#f2f2f2; --grey-2:#d9d9d9; --grey-3:#6b6b6b;
  --pink:#ff4fa3;
  --display:'Bricolage Grotesque',system-ui,sans-serif;
  --body:'Figtree',system-ui,sans-serif;
  --gutter:clamp(20px,5vw,72px);
  --edge:max(var(--gutter),calc((100vw - 1360px) / 2));
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--white);color:var(--black);font-family:var(--body);font-size:1.0625rem;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit}
ul{list-style:none}
img,video{display:block;max-width:100%}
:focus-visible{outline:3px solid var(--pink);outline-offset:3px}
::selection{background:var(--pink);color:var(--white)}
h1,h2{font-family:var(--display);font-weight:800;letter-spacing:-.035em;line-height:.95}
h2{font-size:clamp(2.2rem,5vw,3.8rem)}
section{padding:clamp(56px,9vw,120px) var(--edge)}

/* nav */
.nav{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:12px var(--edge);background:var(--white);border-bottom:1px solid var(--grey-1)}
.logo{font-family:var(--display);font-weight:800;text-decoration:none;font-size:1.15rem;letter-spacing:-.02em}
.nav nav{display:flex;gap:clamp(14px,3vw,32px);align-items:center;font-weight:500;font-size:.95rem}
.nav nav a{text-decoration:none}
.nav nav a:not(.nav-cta):hover{text-decoration:underline;text-decoration-color:var(--pink);text-decoration-thickness:3px;text-underline-offset:5px}
.nav-cta{background:var(--black);color:var(--white);padding:9px 18px;border-radius:99px}
@media (max-width:860px){.nav-cta{padding:14px 18px}}
.nav-cta:hover{background:var(--pink);color:var(--black)}

/* buttons */
.btn{font:600 1rem var(--body);display:inline-block;padding:15px 28px;border-radius:99px;border:2px solid var(--black);text-decoration:none;cursor:pointer;}
.btn-solid{background:var(--black);color:var(--white)}
.btn-solid:hover{background:var(--pink);border-color:var(--black);color:var(--black)}
.btn-line{background:transparent}
.btn-line:hover{background:var(--black);color:var(--white)}

/* hero */
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding-top:40px;padding-bottom:40px}
.status{display:inline-flex;align-items:center;gap:10px;font-weight:500;font-size:.95rem;border:1.5px solid var(--black);border-radius:99px;padding:6px 16px 6px 12px;margin-bottom:28px}
.dot{width:10px;height:10px;border-radius:50%;background:var(--pink);animation:pulse 1.8s ease-out infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,79,163,.6)}100%{box-shadow:0 0 0 10px rgba(255,79,163,0)}}
.hero h1{font-size:clamp(2.3rem,6.4vw,5.9rem);line-height:.92;letter-spacing:-.05em;margin-bottom:32px}
.lead{max-width:30em;font-size:clamp(1.1rem,1.6vw,1.3rem);margin-bottom:36px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.hero-phones{position:relative;width:100%;aspect-ratio:1/.91}
.phone{position:absolute;height:86%;width:auto;aspect-ratio:9/16;border-radius:26px;border:2px solid var(--black);background:var(--grey-1);display:flex;align-items:flex-end;padding:18px;font-family:var(--display);font-weight:800;font-size:1.3rem;letter-spacing:-.02em;overflow:hidden}
.phone::before{content:"";position:absolute;top:10px;left:50%;width:34%;height:6px;border-radius:9px;background:var(--black);transform:translateX(-50%);opacity:.9}
.p1{left:0;top:8%;transform:rotate(-5deg)}
.p2{left:29%;top:0;transform:rotate(2deg);z-index:2;box-shadow:0 20px 0 -2px var(--black)}
.p3{right:0;top:14%;transform:rotate(6deg);background:var(--black);color:var(--white)}
.p3::before{background:var(--white)}
.phone.pink{background:var(--pink)}
@media (prefers-reduced-motion:no-preference){
  .phone{animation:rise .9s cubic-bezier(.2,.8,.2,1) both}
  .p2{animation-delay:.12s}.p3{animation-delay:.24s}
}
@keyframes rise{from{opacity:0;translate:0 40px}to{opacity:1;translate:0 0}}

/* brands */
.brands{display:flex;align-items:center;gap:32px;padding-top:22px;padding-bottom:22px;border-block:1.5px solid var(--black);overflow:hidden}
.brands p{font-weight:600;white-space:nowrap}
.marquee{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.brands ul{display:flex;width:max-content;font-family:var(--display);font-weight:800;font-size:1.4rem;letter-spacing:-.02em}
.brands li{white-space:nowrap;color:var(--grey-3);margin-right:clamp(28px,5vw,64px)}
.brands ul.is-moving{animation:marquee var(--dur,20s) linear infinite}
@keyframes marquee{to{transform:translateX(calc(var(--shift) * -1))}}

/* work */
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:40px}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.chip{font:500 .95rem var(--body);min-height:44px;padding:9px 20px;border-radius:99px;border:1.5px solid var(--black);background:var(--white);cursor:pointer;}
.chip:hover{background:var(--grey-1)}
.chip.is-active{background:var(--pink);border-color:var(--black);color:var(--black)}
.wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}
.tile{position:relative;aspect-ratio:9/16;border-radius:20px;overflow:hidden;border:0;padding:0;cursor:pointer;background:var(--grey-1);text-align:left;font:inherit;color:inherit}
.tile img,.tile video{width:100%;height:100%;object-fit:cover}
.tile .ph{position:absolute;inset:0;display:grid;place-items:center;color:var(--grey-3);font-weight:500;font-size:.9rem;background:repeating-linear-gradient(135deg,var(--grey-1) 0 14px,#e9e9e9 14px 28px)}
.tile .meta{position:absolute;left:0;right:0;bottom:0;padding:40px 14px 14px;background:linear-gradient(transparent,rgba(0,0,0,.75));color:var(--white);display:flex;flex-direction:column;gap:2px}
.tile .meta b{font-family:var(--display);font-size:1.1rem;letter-spacing:-.01em}
.tile .meta small{opacity:.85;font-size:.85rem}
.tile .play{position:absolute;top:14px;right:14px;width:44px;height:44px;border-radius:50%;background:var(--white);display:grid;place-items:center;}
.tile .play::after{content:"";border-left:13px solid var(--black);border-block:8px solid transparent;margin-left:4px}
.tile:hover .play,.tile:focus-visible .play{background:var(--pink)}
.tile[hidden]{display:none}

/* about */
.about{display:flex;flex-direction:column;gap:28px;padding-top:0;background:var(--grey-1)}
.about-photo{margin-inline:calc(var(--edge) * -1);height:clamp(320px,48vw,600px);background:linear-gradient(180deg,var(--pink) 0%,#ffc2de 55%,var(--white) 100%);display:flex;align-items:flex-end;justify-content:center;color:var(--grey-3);font-weight:500;overflow:hidden}
.about-photo span{align-self:center}
.about-photo img{height:100%;width:auto;max-width:100%;object-fit:contain;object-position:center bottom}
.about-text h2{margin-bottom:24px}
.about-text>p{max-width:34em;margin-bottom:28px}
.niches{border-top:1.5px solid var(--black);max-width:34em}
.niches li{display:grid;grid-template-columns:7em 1fr;gap:12px;padding:14px 0;border-bottom:1.5px solid var(--black)}
.niches strong{font-family:var(--display);font-size:1.15rem}

/* stats */
.stats h2{margin-bottom:32px}
.platforms{border-top:1.5px solid var(--black)}
.platforms>div{display:grid;grid-template-columns:1.2fr 1.2fr auto;gap:16px;align-items:center;padding:20px 0;border-bottom:1.5px solid var(--black)}
.platforms dt{font-family:var(--display);font-weight:800;font-size:clamp(1.6rem,3.5vw,2.6rem);letter-spacing:-.03em}
.platforms .handle{color:var(--grey-3)}
.platforms dd{font-family:var(--display);font-weight:800;font-size:clamp(1.6rem,3.5vw,2.6rem);letter-spacing:-.03em;text-align:right}
.platforms dd{display:flex;align-items:center;justify-content:flex-end;gap:14px}
.expand{flex:none;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--black);background:var(--white);cursor:pointer;display:grid;place-items:center}
.expand:hover{background:var(--pink)}
.chev{width:10px;height:10px;border-right:2.5px solid var(--black);border-bottom:2.5px solid var(--black);rotate:45deg;margin-top:-4px}
.expand[aria-expanded="true"] .chev{rotate:-135deg;margin-top:4px}
.plat-panel{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(24px,5vw,72px);margin-top:4px;border-top:1px solid var(--grey-2)}
.plat-panel[hidden]{display:none}
.plat-panel li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;border-bottom:1px solid var(--grey-2)}
.plat-panel span{color:var(--grey-3)}
.plat-panel b{font-family:var(--display);font-weight:800;font-size:1.3rem;letter-spacing:-.03em}
.facts{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(24px,5vw,72px);margin-top:48px;border-top:1.5px solid var(--black)}
.facts>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:16px 0;border-bottom:1.5px solid var(--black)}
.facts dt{color:var(--grey-3)}
.facts dd{font-family:var(--display);font-weight:800;font-size:1.6rem;letter-spacing:-.03em;text-align:right}

/* rates (inverted) */
.rates{background:var(--black);color:var(--white)}
.rates-note{color:#bdbdbd;margin:16px 0 44px;max-width:34em}
.rate-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.rate{border:1.5px solid #fff;border-radius:22px;padding:24px;display:flex;flex-direction:column;gap:20px}
.rate.feature{background:var(--white);color:var(--black)}
.rate h3{font-family:var(--display);font-size:1.5rem;letter-spacing:-.02em}
.rate .nameprice{display:flex;flex-direction:column;gap:10px}
.rate.feature .price{background:var(--pink);align-self:flex-start;padding:2px 10px;border-radius:8px}
.rate .price{font-family:var(--display);font-weight:800;font-size:2.6rem;letter-spacing:-.04em;line-height:1}
.rate .price.long{font-size:1.7rem;line-height:1.1}
.rate .price small{font-family:var(--body);font-weight:500;font-size:.9rem;opacity:.7;letter-spacing:0;margin-right:6px}
.rate ul{display:grid;gap:8px;align-content:start;flex:1}
.rate li{padding-left:26px;position:relative}
.rate li::before{content:"";position:absolute;left:0;top:.45em;width:12px;height:7px;border-left:2.5px solid currentColor;border-bottom:2.5px solid currentColor;rotate:-45deg}
.rate.feature li::before{border-color:var(--pink)}
.rate .btn{text-align:center;white-space:nowrap;border-color:currentColor}
.rate:not(.feature) .btn:hover{background:var(--pink);border-color:var(--pink)}
.rate.feature .btn{background:var(--pink);color:var(--black);border-color:var(--black)}
.rate.feature .btn:hover{background:var(--black);color:var(--white)}

/* quotes */
.quotes h2{margin-bottom:40px}
.quote-grid{display:grid;gap:32px;max-width:46rem}
.quote{border-top:3px solid var(--pink);padding-top:20px}
.quote p{font-family:var(--display);font-weight:500;font-size:1.3rem;line-height:1.3;letter-spacing:-.015em;margin-bottom:16px}
.quote cite{font-style:normal;color:var(--grey-3);font-size:.95rem}

/* contact */
.contact{border-top:1.5px solid var(--black)}
.contact h2{max-width:14em;font-size:clamp(2.4rem,6.5vw,5.5rem);margin-bottom:40px}
.contact-row{display:flex;flex-wrap:wrap;gap:24px 40px;align-items:center}
.contact-links{display:flex;gap:24px;flex-wrap:wrap;font-weight:600}
.contact-links a{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.contact-links a:hover{text-decoration-color:var(--pink);text-decoration-thickness:4px}
.copied{min-height:1.5em;margin-top:14px;font-weight:500}

.foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:24px var(--edge);border-top:1.5px solid var(--black);font-size:.95rem}

/* lightbox */
.lightbox{position:fixed;inset:0;z-index:50;overflow:auto;background:rgba(0,0,0,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:20px}
.lightbox[hidden]{display:none}
.lb-frame{height:min(78vh,78dvh,820px);max-width:92vw;aspect-ratio:9/16;border-radius:22px;overflow:hidden;background:var(--grey-1);display:grid;place-items:center;color:var(--grey-3);text-align:center;padding:20px}
.lb-frame video{width:100%;height:100%;object-fit:cover}
.lb-caption{color:var(--white);font-weight:500}
.lb-close{position:absolute;top:18px;right:18px;font:600 1rem var(--body);background:var(--white);border:0;border-radius:99px;padding:10px 22px;cursor:pointer}
.lb-close:hover{background:var(--pink);color:var(--white)}

/* responsive */
@media (max-width:860px){
  .hero{grid-template-columns:1fr}
  .hero-phones{order:-1;max-width:480px;margin-inline:auto}
  .brands{flex-direction:column;align-items:flex-start;gap:10px}
  .marquee{width:100%;flex:none}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;}
  .marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none;scrollbar-width:thin}}
@media (max-width:600px){
  .wall{grid-template-columns:repeat(2,1fr);gap:12px}
  .tile .meta b{font-size:.95rem}
  .tile .play{width:36px;height:36px;top:10px;right:10px}
}

@media (max-width:860px){
  .platforms>div{grid-template-columns:1fr auto}
  .platforms .handle{grid-column:1/-1;order:3}
  .plat-panel{order:4;grid-template-columns:1fr}
  .facts{grid-template-columns:1fr}
}
@media (max-width:600px){
  .phone{font-size:1rem;padding:12px}
  .logo{font-size:1rem}
}

/* menu */
.menu-toggle{display:none;font:600 .95rem var(--body);min-height:44px;padding:8px 20px;border-radius:99px;border:1.5px solid var(--black);background:var(--white);cursor:pointer}
@media (max-width:860px){
  .menu-toggle{display:block}
  .nav nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:8px var(--edge) 20px;background:var(--white);border-bottom:1.5px solid var(--black)}
  .nav.open nav{display:flex}
  .nav nav a{padding:14px 0;font-size:1.1rem;border-bottom:1px solid var(--grey-1)}
  .nav nav .nav-cta{margin-top:14px;text-align:center;border-bottom:0}
}
@media (max-width:380px){ .btn{padding:14px 22px} .hero-actions .btn{width:100%;text-align:center} }
@media (min-width:1800px){ body{font-size:1.15rem} }
@media (max-height:500px) and (orientation:landscape){ .lb-frame{height:70vh} .lb-caption{display:none} }
.p3{justify-content:flex-end}

@media (max-width:1100px){ .rate-grid{grid-template-columns:repeat(3,1fr)} }
@media (max-width:780px){ .rate-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:520px){ .rate-grid{grid-template-columns:1fr} }

/* contact: copy and actions on the left, logo on the right */
.contact{display:grid;grid-template-columns:1fr auto;gap:clamp(28px,6vw,96px);align-items:center}
.contact-content{min-width:0}
.contact-logo{order:2;display:flex;justify-content:center}
.contact-logo img{width:clamp(150px,15vw,220px);height:auto;mix-blend-mode:multiply;filter:brightness(1.06) contrast(1.25)}
.contact-row{gap:16px 24px}
.contact-links{gap:10px}
.contact-links a{display:inline-flex;align-items:center;min-height:44px;padding:8px 20px;border:1.5px solid var(--black);border-radius:99px;text-decoration:none}
.contact-links a:hover{background:var(--pink);text-decoration:none}
@media (max-width:760px){
  .contact{grid-template-columns:1fr}
  .contact-logo{order:-1;justify-content:flex-start}
  .contact-logo img{width:96px}
}

/* follow pop-up */
.follow-modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.7)}
.follow-modal[hidden]{display:none}
.follow-card{width:100%;max-width:460px;background:var(--white);border:2px solid var(--black);border-radius:24px;padding:clamp(24px,5vw,36px)}
.follow-card h2{font-size:clamp(1.8rem,6vw,2.4rem);margin-bottom:14px}
.follow-card p{margin-bottom:24px}
.follow-actions{display:flex;flex-wrap:wrap;gap:12px}
.follow-actions .btn{text-align:center}
.btn-pink{background:var(--pink);color:var(--black)}
.btn-pink:hover{background:var(--black);color:var(--white)}
@media (max-width:420px){ .follow-actions .btn{width:100%} }
@media (max-width:420px){ .platforms dd{font-size:1.15rem;gap:8px} .platforms dt{font-size:1.4rem} }
#rates{scroll-margin-top:65px}

/* contact form */
.contact-form{grid-column:1/-1;order:3;margin-top:clamp(12px,3vw,32px);padding-top:clamp(32px,5vw,56px);border-top:1.5px solid var(--black);display:grid;grid-template-columns:1fr 1fr;gap:8px 24px}
.field{display:flex;flex-direction:column;gap:8px;min-width:0}
.field.full{grid-column:1/-1}
.field label{font-weight:600}
.field input,.field select,.field textarea{width:100%;font:inherit;color:var(--black);padding:14px 16px;border:1.5px solid var(--black);border-radius:14px;background:var(--white)}
.field select{min-height:52px}
.field textarea{min-height:160px;resize:vertical}
.field-error{min-height:1.4em;font-size:.95rem;font-weight:500;color:#b0004a}
.field input[aria-invalid="true"],.field select[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:#b0004a;border-width:2px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form-footer{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.form-footer .btn[disabled]{opacity:.6;cursor:progress}
.form-status{font-weight:500}
.form-status a{text-decoration:underline;text-underline-offset:4px}
@media (max-width:760px){ .contact-form{grid-template-columns:1fr} }
