/* ---------- About ---------- */
.about .top{background:linear-gradient(var(--bg) 0%,var(--bg) 70%,transparent)}
.about .brand--center{position:absolute;left:50%;transform:translateX(-50%);align-items:center;text-align:center}
.about{background:
  radial-gradient(60vw 50vh at 85% 8%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 70%),
  radial-gradient(50vw 40vh at 0% 40%,rgba(255,255,255,.7),transparent 70%),
  var(--bg)}
html:has(body.about){overflow-x:clip}
.awrap{width:min(1180px,100% - 2*clamp(18px,5vw,64px));margin:0 auto;padding:clamp(110px,15vh,160px) 0 calc(48px + env(safe-area-inset-bottom))}
.sec__head{max-width:760px;margin-bottom:clamp(22px,3vw,36px);display:flex;flex-direction:column;gap:14px}
.sec__head .lede{font-size:1.05rem}
.about h2.display{font-size:clamp(2rem,4.4vw,3.6rem);max-width:20ch}
.btn--sm{height:46px;padding:0 20px;font-size:.92rem}
.btn--light{background:#fff;color:var(--ink)}
.btn--light:hover{transform:translateY(-3px)}
.btn--outline{border:1.5px solid rgba(255,255,255,.35);color:#fff}
.btn--outline:hover{background:rgba(255,255,255,.12);transform:translateY(-3px)}
.eyebrow--light{color:rgba(255,255,255,.7)}

/* reveal */
.rv{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
.rv.in{opacity:1;transform:none}
.rv[data-d="1"]{transition-delay:.07s}.rv[data-d="2"]{transition-delay:.14s}.rv[data-d="3"]{transition-delay:.21s}.rv[data-d="4"]{transition-delay:.28s}.rv[data-d="5"]{transition-delay:.35s}

/* ===== hero ===== */
.ahero{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,72px);align-items:center;padding-bottom:clamp(64px,9vw,120px)}
.ahero__copy{display:flex;flex-direction:column;gap:20px}
.ahero h1{max-width:11ch;font-size:clamp(2.7rem,6.4vw,5.6rem)}
.ahero__cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.ahero__meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.meta{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.55);border:1px solid var(--line);font-weight:600;font-size:.86rem;color:var(--ink)}
.meta i{width:8px;height:8px;border-radius:50%;background:#4ADE80;box-shadow:0 0 0 4px rgba(74,222,128,.22)}
.meta svg{width:16px;height:16px}

/* the film: a phone, floating, with messages drifting around it */
.film{position:relative;display:flex;flex-direction:column;align-items:center;gap:22px;padding:18px 0 4px}
.film__glow{position:absolute;left:50%;top:44%;width:min(520px,100%);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;
  background:radial-gradient(closest-side,color-mix(in srgb,var(--accent) 26%,transparent),color-mix(in srgb,var(--accent) 8%,transparent) 55%,transparent 72%);
  filter:blur(6px);animation:glow 7s ease-in-out infinite}
@keyframes glow{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-52%) scale(1.06)}}
.phone{position:relative;z-index:2;width:min(300px,78vw);border-radius:46px;padding:11px;background:#141216;
  box-shadow:0 60px 110px -50px rgba(21,19,22,.85),0 0 0 1.5px #2b282c,inset 0 0 0 1px rgba(255,255,255,.08);
  transform:rotate(-3.5deg);transition:transform .8s var(--ease-out);animation:float 6.5s ease-in-out infinite}
.phone:hover,.phone.is-sound{transform:rotate(0deg)}
@keyframes float{0%,100%{translate:0 0}50%{translate:0 -10px}}
.phone::before,.phone::after{content:"";position:absolute;background:#2b282c;border-radius:2px}
.phone::before{right:-3px;top:23%;width:3px;height:14%}          /* power */
.phone::after{left:-3px;top:19%;width:3px;height:9%;box-shadow:0 calc(9% + 14px) 0 #2b282c}  /* volume */
.phone__screen{position:relative;width:100%;aspect-ratio:9/16;border-radius:36px;overflow:hidden;background:#000}
.phone__screen video{width:100%;height:100%;object-fit:cover;display:block}
.phone__island{position:absolute;left:50%;top:10px;width:84px;height:22px;border-radius:999px;background:#000;transform:translateX(-50%);box-shadow:0 0 0 1px rgba(255,255,255,.06)}
.phone__bar{position:absolute;left:18px;right:18px;bottom:12px;height:3px;border-radius:3px;background:rgba(255,255,255,.28);overflow:hidden}
.phone__bar i{display:block;height:100%;background:#fff;transform-origin:0 50%;transform:scaleX(0);transition:transform .25s linear}
.phone__sound{position:absolute;right:14px;bottom:26px;width:40px;height:40px;border-radius:50%;background:rgba(21,19,22,.55);color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:grid;place-items:center;transition:background .25s,transform .25s}
.phone__sound:hover{background:rgba(21,19,22,.8);transform:scale(1.06)}
.phone__sound svg{width:18px;height:18px}
.phone__sound .ico-on{display:none}
.phone.is-sound .phone__sound .ico-on{display:block}
.phone.is-sound .phone__sound .ico-off{display:none}
.phone__tap{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(transparent 40%,rgba(21,19,22,.35));opacity:1;transition:opacity .4s}
.phone__tap span{width:66px;height:66px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--ink);display:grid;place-items:center;box-shadow:0 18px 40px -16px rgba(21,19,22,.8);transition:transform .3s var(--ease-spring)}
.phone__tap span svg{width:26px;height:26px;margin-left:3px}
.phone__tap:hover span{transform:scale(1.08)}
.phone.is-sound .phone__tap{opacity:0;pointer-events:none}

.film__chips{position:absolute;inset:0;pointer-events:none;z-index:3}
.fchip{position:absolute;display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 8px;border-radius:999px;background:#fff;box-shadow:0 18px 40px -20px rgba(21,19,22,.6),0 0 0 1px var(--line);font-size:.84rem;font-weight:600;white-space:nowrap;
  animation:drift 7s ease-in-out infinite;opacity:0;transform:translateY(8px);transition:opacity .8s var(--ease-out) .5s,transform .8s var(--ease-out) .5s}
.film.in .fchip,.fchip{opacity:1;transform:none}
.av{width:26px;height:26px;border-radius:50%;overflow:hidden;background:var(--bg-deep);flex:none;display:block}
.av img{width:100%;height:100%;object-fit:cover;object-position:center 18%;transform:scale(1.6);transform-origin:center 22%}
.fchip--1{right:calc(50% + 142px);top:14%;animation-delay:-1s}
.fchip--2{left:calc(50% + 142px);top:36%;animation-delay:-3s}
.fchip--3{right:calc(50% + 142px);top:60%;animation-delay:-5s}
.fchip--4{left:calc(50% + 136px);top:76%;animation-delay:-2s;padding-right:12px}
.fchip--typing i{width:7px;height:7px;border-radius:50%;background:#9A918D;animation:tdot 1.2s infinite}
.fchip--typing i:nth-child(3){animation-delay:.15s}.fchip--typing i:nth-child(4){animation-delay:.3s}
@keyframes tdot{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@keyframes drift{0%,100%{translate:0 0}50%{translate:0 -8px}}

.film__actions{position:relative;z-index:2;display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}
.film__meta{font-size:.82rem;color:var(--ink-soft);font-weight:600;letter-spacing:.02em;padding:0 4px}
.film__toast{position:absolute;left:50%;bottom:-34px;transform:translate(-50%,6px);padding:8px 14px;border-radius:999px;background:var(--ink);color:#fff;font-size:.82rem;font-weight:600;opacity:0;transition:opacity .3s,transform .3s var(--ease-out);white-space:nowrap;pointer-events:none;z-index:5}
.film__toast.in{opacity:1;transform:translate(-50%,0)}

/* ===== cast ===== */
.cast{margin-bottom:clamp(64px,9vw,120px)}
.castgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.castcard{--c:var(--accent);display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 10px 18px;border-radius:26px;text-decoration:none;color:var(--ink);background:rgba(255,255,255,.5);border:1px solid var(--line);transition:transform .45s var(--ease-out),box-shadow .45s,background .3s}
.castcard:hover{transform:translateY(-6px);background:#fff;box-shadow:0 30px 60px -36px rgba(21,19,22,.6)}
.castcard__fig{width:100%;aspect-ratio:3/4;border-radius:18px;overflow:hidden;margin-bottom:12px;position:relative;isolation:isolate;
  background:radial-gradient(70% 55% at 50% 42%,color-mix(in srgb,var(--c) 22%,#fff),#fff 100%)}
.castcard__fig img{width:100%;height:100%;object-fit:cover;object-position:50% 100%;mix-blend-mode:multiply;transition:transform .6s var(--ease-out);transform-origin:50% 100%}
.castcard:hover .castcard__fig img{transform:scale(1.05)}
.castcard b{font-weight:800;letter-spacing:-.02em;font-size:1.05rem}
.castcard small{font-size:.78rem;color:var(--ink-soft);font-weight:600;display:inline-flex;align-items:center;gap:6px}
.castcard small::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--c)}

/* ===== how it works ===== */
.how{margin-bottom:clamp(64px,9vw,120px)}
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.step{position:relative;padding:22px 20px 26px;border-radius:26px;background:rgba(255,255,255,.55);border:1px solid var(--line);display:flex;flex-direction:column;gap:12px;overflow:hidden}
.step__n{position:absolute;right:16px;top:12px;font-size:3.4rem;font-weight:800;letter-spacing:-.06em;color:color-mix(in srgb,var(--accent) 16%,transparent);line-height:1;pointer-events:none}
.step__art{position:relative;min-height:118px;display:flex;flex-direction:column;justify-content:center;gap:7px;padding:8px 44px 0 4px}
.step h3{font-size:1.3rem;letter-spacing:-.03em;line-height:1.1}
.step p{color:var(--ink-soft);font-size:.95rem;line-height:1.45}
.step__art--apps{flex-direction:row;align-items:center;justify-content:center;gap:14px}
.app{width:56px;height:56px;border-radius:15px;display:grid;place-items:center;box-shadow:0 14px 28px -14px rgba(21,19,22,.6)}
.app svg{width:32px;height:32px}
.app--im{background:linear-gradient(#5CF17B,#1EC94E)}
.app--wa{background:linear-gradient(#5FE07C,#25D366)}
.mini{max-width:88%;padding:9px 13px;border-radius:18px;font-size:.86rem;line-height:1.3}
.mini--in{background:#EAE3DF;border-bottom-left-radius:6px;align-self:flex-start}
.mini--out{background:var(--accent);color:#fff;border-bottom-right-radius:6px;align-self:flex-end}
.mem{display:inline-flex;align-items:center;gap:7px;padding:6px 10px 6px 7px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:.78rem;font-weight:600;align-self:flex-start;white-space:nowrap}
.mem i{width:15px;height:15px;border-radius:50%;background:var(--accent);position:relative;flex:none}
.mem i::after{content:"";position:absolute;left:5px;top:2.5px;width:3.5px;height:7.5px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.mini--voice{display:inline-flex;align-items:center;gap:8px;width:88%}
.mini--voice .play{width:20px;height:20px;border-radius:50%;background:var(--ink);position:relative;flex:none}
.mini--voice .play::after{content:"";position:absolute;left:7px;top:5px;border-style:solid;border-width:5px 0 5px 8px;border-color:transparent transparent transparent #fff}
.mini--voice .wave{display:flex;align-items:center;gap:2px;flex:1;height:22px}
.mini--voice .wave i{width:2.5px;border-radius:2px;background:var(--ink);height:calc(6px + 12px*var(--h,.5));opacity:.8}
.mini--voice .wave i:nth-child(2n){--h:1}.mini--voice .wave i:nth-child(3n){--h:.35}.mini--voice .wave i:nth-child(5n){--h:.8}.mini--voice .wave i:nth-child(7n){--h:.2}
.mini--voice small{font-size:.72rem;color:var(--ink-soft)}

/* ===== compare ===== */
.compare{margin-bottom:clamp(64px,9vw,120px)}
.cols{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:12px;align-items:stretch}
.col{position:relative;padding:24px 22px 26px;border-radius:26px;background:rgba(255,255,255,.4);border:1px solid var(--line);display:flex;flex-direction:column;gap:16px;overflow:hidden}
.col header{display:flex;flex-direction:column;gap:4px}
.col small{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--ink-soft)}
.col h3{font-size:1.4rem;letter-spacing:-.03em}
.col ul{list-style:none;display:flex;flex-direction:column;gap:10px;color:var(--ink-soft);font-size:.95rem;line-height:1.4}
.col li{display:flex;gap:10px;align-items:flex-start}
.col li::before{content:"";flex:none;width:18px;height:18px;border-radius:50%;margin-top:1px;background-repeat:no-repeat;background-position:center;background-size:10px}
.col .no li::before{background-color:rgba(21,19,22,.08);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235E595B' stroke-width='3.2' stroke-linecap='round'><path d='M6 6l12 12M18 6L6 18'/></svg>")}
.col .yes li::before{background-color:#4ADE80;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23151316' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12.5l4.5 4.5L19 7'/></svg>")}
.col--yes{background:var(--ink);color:#fff;border-color:transparent;box-shadow:0 34px 70px -40px rgba(21,19,22,.9)}
.col--yes small{color:rgba(255,255,255,.62)}
.col--yes ul{color:rgba(255,255,255,.88)}
.col__cast{display:flex;margin-top:auto;padding-top:10px}
.col__cast .av{width:44px;height:44px;border:2px solid var(--ink);margin-right:-10px}

/* ===== faq ===== */
.faq{margin-bottom:clamp(48px,7vw,80px)}
.faq__list{display:flex;flex-direction:column;gap:10px;max-width:860px}
.faq__item{border-radius:22px;background:rgba(255,255,255,.55);border:1px solid var(--line);overflow:hidden;transition:background .3s,box-shadow .3s}
.faq__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;padding:18px 20px;font-weight:700;font-size:1.05rem;letter-spacing:-.02em;line-height:1.25}
.faq__q i{flex:none;width:28px;height:28px;border-radius:50%;border:1.5px solid rgba(21,19,22,.16);position:relative}
.faq__q i::before,.faq__q i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:var(--ink);transform:translate(-50%,-50%);border-radius:2px;transition:transform .35s var(--ease-out)}
.faq__q i::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq__item.is-open .faq__q i::after{transform:translate(-50%,-50%) rotate(0deg)}
.faq__item.is-open{background:#fff;box-shadow:0 18px 40px -28px rgba(21,19,22,.45)}
.faq__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease-out)}
.faq__item.is-open .faq__a{grid-template-rows:1fr}
.faq__a>div{overflow:hidden}
.faq__a p{padding:0 20px 18px;max-width:68ch;color:var(--ink-soft);font-size:1rem;line-height:1.55}

/* ===== close ===== */
.aclose{position:relative;overflow:hidden;padding:clamp(32px,5vw,56px);border-radius:32px;background:var(--ink);color:#fff;display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center;box-shadow:0 50px 100px -60px rgba(21,19,22,.9)}
.aclose::before{content:"";position:absolute;right:-10%;top:-40%;width:60%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--accent) 45%,transparent),transparent 70%);pointer-events:none}
.aclose__copy{position:relative;display:flex;flex-direction:column;gap:16px}
.aclose h2{font-size:clamp(2rem,4vw,3.4rem);max-width:14ch}
.aclose__btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.aclose__cast{position:relative;display:flex;justify-content:center;align-items:flex-end;height:200px;padding-bottom:6px}
.aclose__cast img{width:21%;max-width:104px;aspect-ratio:3/4;object-fit:cover;object-position:50% 100%;background:#fff;border-radius:16px;padding:5px;margin:0 -2.5%;box-shadow:0 24px 50px -24px rgba(0,0,0,.9);transition:transform .5s var(--ease-out);transform:rotate(var(--r,0deg)) translateY(var(--y,0))}
.aclose__cast img:nth-child(1){--r:-9deg;--y:10px}.aclose__cast img:nth-child(2){--r:-4deg;--y:-6px}.aclose__cast img:nth-child(3){--r:2deg;--y:4px}
.aclose__cast img:nth-child(4){--r:-3deg;--y:-10px}.aclose__cast img:nth-child(5){--r:5deg;--y:2px}.aclose__cast img:nth-child(6){--r:9deg;--y:12px}
.aclose:hover .aclose__cast img{transform:rotate(var(--r,0deg)) translateY(calc(var(--y,0) - 8px))}
.afoot{margin-top:28px;color:var(--ink-soft);font-size:.82rem;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.afoot a{font-weight:600;color:var(--ink);text-decoration:none}

/* ===== responsive ===== */
@media (max-width:1340px){
  .fchip{max-width:200px;white-space:normal;line-height:1.2;font-size:.78rem}
  .fchip--1,.fchip--3{right:calc(50% + 96px)}.fchip--2,.fchip--4{left:calc(50% + 96px)}
}
@media (max-width:1100px){
  .castgrid{grid-template-columns:repeat(3,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:1180px){
  .ahero{grid-template-columns:1fr;gap:40px}
  .ahero h1{max-width:14ch}
  .film{padding-top:8px}
  .fchip{max-width:none;white-space:nowrap}
  .fchip--1,.fchip--3{right:calc(50% + 136px)}.fchip--2,.fchip--4{left:calc(50% + 136px)}
}
@media (max-width:860px){
  .cols{grid-template-columns:1fr}
  .col--yes{order:-1}
  .aclose{grid-template-columns:1fr}
  .aclose__cast{height:150px}
}
@media (max-width:820px){
  .fchip{max-width:200px;white-space:normal}
  .fchip--1,.fchip--3{right:calc(50% + 104px)}.fchip--2,.fchip--4{left:calc(50% + 104px)}
}
@media (max-width:640px){
  .castgrid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:1fr}
  .step__art{height:auto;min-height:96px}
  .film__actions .btn{flex:1 1 auto}
  .film__meta{width:100%;text-align:center}
  .fchip--2,.fchip--3{display:none}
  .fchip--1{right:auto;left:0;top:9%;max-width:none;white-space:nowrap}
  .fchip--4{left:auto;right:0;top:82%}
}
@media (max-width:520px){
  .about .brand--center{display:none}
}
@media (max-width:380px){
  .phone{width:min(260px,78vw)}
  .ahero__cta .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .faq__a{transition:none}
  .phone,.film__glow,.fchip{animation:none}
  .phone__tap{opacity:1}
}
