/* fonts are self-hosted: no third-party requests */
@font-face {
  font-family: 'Allura';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/Allura-f2f253.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/DMSans-40fe3c.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/DMSans-40fe3c.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/DMSans-40fe3c.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/Fraunces-ddaaa5.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/Fraunces-39ce20.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/Fraunces-39ce20.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{
  --cream:#F3E7D9; --paper:#FBF5EE; --rose:#D99AA6; --hot:#E93670; --espresso:#49352F; --denim:#8C9AA8;
  --serif:'Fraunces',Georgia,serif; --sans:'DM Sans',system-ui,sans-serif; --script:'Allura',cursive;
  --r:24px; --pad:clamp(20px,5vw,72px); --line:rgba(243,231,217,.22);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{font-family:var(--sans);font-size:1.125rem;color:var(--espresso);background:var(--paper);line-height:1.6;overflow-x:hidden}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
h1,h2,h3{font-family:var(--serif);line-height:1.05;font-weight:700}
h2{font-size:clamp(2.3rem,5.6vw,4.2rem);text-wrap:balance}
em{font-style:italic;color:var(--hot)}
.script{font-family:var(--script);font-weight:400;color:var(--hot)}
.eyebrow{font-size:.88rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--hot);margin-bottom:12px}

/* progress bar */
.progress{position:fixed;inset:0 0 auto 0;height:4px;z-index:60;background:var(--hot);transform-origin:left;transform:scaleX(0)}

/* reveal + stagger */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.stagger>*{opacity:0}
.stagger.in>*{opacity:1;animation:pop .8s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:calc(var(--i,0)*80ms)}
@keyframes pop{from{opacity:0;transform:translateY(30px) scale(.97)}}
@keyframes rise{from{transform:translateY(110%) rotate(3deg)}}
@keyframes spin{to{rotate:360deg}}
@keyframes twinkle{50%{transform:scale(.55) rotate(45deg);opacity:.6}}
@keyframes float{50%{transform:translateY(-12px) rotate(2deg)}}
@media (prefers-reduced-motion:reduce){.reveal,.stagger>*{opacity:1;transform:none}*{animation:none!important;transition:none!important}}

/* buttons */
.btn{display:inline-block;padding:15px 30px;border-radius:999px;font-weight:700;font-size:1rem;transition:transform .25s,background .25s,color .25s;border:2px solid transparent}
.btn--sm{padding:10px 20px;font-size:.9rem}
.btn--dark{background:var(--espresso);color:var(--cream)}
.btn--dark:hover{background:var(--hot)}
.btn--ghost{border-color:var(--espresso)}
.btn--ghost:hover{background:var(--espresso);color:var(--cream)}
.btn--rose{background:var(--rose);color:var(--espresso)}
.btn--rose:hover{background:var(--cream)}
.btn--ghost-light{border-color:rgba(243,231,217,.5);color:var(--cream)}
.btn--ghost-light:hover{background:var(--cream);color:var(--espresso)}

/* nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px var(--pad);transition:background .3s,box-shadow .3s}
.nav.stuck{background:rgba(251,245,238,.88);backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(73,53,47,.08)}
.nav__logo{font-family:var(--serif);font-weight:700;font-size:1.4rem}
.nav__logo span{color:var(--hot);margin-left:4px;display:inline-block;animation:twinkle 3s ease-in-out infinite}
.nav__links{display:flex;gap:28px;font-size:1rem;font-weight:500}
.nav__links a{position:relative}
.nav__links a::after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;background:var(--hot);transition:width .3s}
.nav__links a:hover::after{width:100%}

/* sections: tighter */
.section{padding:clamp(44px,6vw,84px) var(--pad)}
.section--dark{background:var(--espresso);color:var(--cream)}
.section--cream{background:var(--cream)}
.section__head{max-width:760px;margin-bottom:32px}
.sub{margin-top:12px;opacity:.78;font-size:1.1rem}
/* underline that draws under the accent word */
.section__head h2 em{background:linear-gradient(var(--rose),var(--rose)) no-repeat 0 94%/0 .12em;transition:background-size 1s .5s cubic-bezier(.7,0,.2,1)}
.section__head.in h2 em{background-size:100% .12em}

/* hero */
.hero{min-height:100svh;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:40px;padding:110px var(--pad) 48px;background:radial-gradient(circle at 80% 20%,var(--cream),var(--paper) 60%)}
.hero h1{font-size:clamp(3.6rem,9.5vw,8rem);letter-spacing:-.02em}
.ln{display:block;overflow:hidden;padding:0 .1em .08em 0}
.ln>*{display:inline-block;animation:rise 1.1s cubic-bezier(.2,.8,.2,1) .2s backwards}
.ln:nth-child(2)>*{animation-delay:.38s;margin-left:.6em}
.hero__lead{max-width:500px;margin:22px 0 28px;font-size:1.3rem}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px}
.hero__stats{display:flex;flex-wrap:wrap;gap:12px 36px;margin-top:36px;font-size:.98rem}
.hero__stats strong{display:block;font-family:var(--serif);font-size:2rem;color:var(--hot);line-height:1.1}
.hero__art{position:relative;justify-self:center;width:min(100%,470px);aspect-ratio:4/5}
.hero__arch{position:absolute;inset:0 0 0 12%;border-radius:999px 999px 28px 28px;overflow:hidden;box-shadow:0 30px 60px -20px rgba(73,53,47,.45);animation:unveil 1.4s cubic-bezier(.7,0,.2,1) .1s backwards}
.hero__arch img{width:100%;height:100%;object-fit:cover;animation:settle 2s cubic-bezier(.2,.7,.2,1) .1s backwards}
.hero__circle img{width:100%;height:100%;object-fit:cover}
@keyframes unveil{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0)}}
@keyframes settle{from{transform:scale(1.25)}}
.hero__circle{position:absolute;left:0;bottom:6%;width:36%;aspect-ratio:1;border-radius:50%;overflow:hidden;border:6px solid var(--paper);box-shadow:0 14px 30px rgba(73,53,47,.3);animation:float 6s ease-in-out infinite,pop 1s .9s backwards}
.tag{position:absolute;background:var(--cream);color:var(--hot);padding:10px 20px;border-radius:12px;box-shadow:0 10px 24px rgba(73,53,47,.2)}
.tag--script{font-family:var(--script);font-size:1.75rem;right:-4%;top:10%;rotate:6deg;line-height:1.2;animation:float 7s ease-in-out infinite reverse,pop 1s 1.1s backwards}
.spark,.heart{position:absolute;fill:var(--hot);transition:transform .2s linear}
.spark{animation:twinkle 3.4s ease-in-out infinite}
.s2{animation-delay:1.2s}
.s1{width:50px;top:-3%;left:14%}
.s2{width:28px;bottom:-2%;right:10%;fill:var(--rose)}
.heart{width:36px;top:44%;left:-6%;fill:var(--rose)}

/* marquee */
.marquee{background:var(--hot);color:var(--cream);overflow:hidden;white-space:nowrap;padding:14px 0;font-family:var(--serif);font-style:italic;font-size:1.45rem}
.marquee__track{display:inline-flex;animation:slide 26s linear infinite}
.marquee__track span{padding-right:.6em}
@keyframes slide{to{transform:translateX(calc(-100% / var(--n,2)))}}

/* about */
.about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.about__photos{position:relative;aspect-ratio:1/1.05}
.about__photos img{position:absolute;border-radius:var(--r);object-fit:cover;box-shadow:0 20px 40px -14px rgba(73,53,47,.4);clip-path:inset(100% 0 0 0);transition:clip-path 1.2s cubic-bezier(.7,0,.2,1),transform .5s cubic-bezier(.2,.7,.2,1)}
.about__photos.in img{clip-path:inset(0)}
.about__a{width:62%;height:84%;top:0;left:0;rotate:-3deg}
.about__b{width:50%;height:56%;bottom:0;right:0;rotate:4deg;border:6px solid var(--paper);transition-delay:.3s,0s}
.about__photos img:hover{transform:scale(1.04) rotate(-2deg)}
.about__text h2{margin-bottom:20px}
.about__text h2 .script{font-size:1.25em}
.about__text p{margin-bottom:14px;max-width:560px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.chips li{padding:9px 18px;border-radius:999px;background:var(--cream);font-size:1rem;font-weight:500;transition:background .25s,transform .25s}
.chips li:hover{background:var(--rose);transform:translateY(-3px) rotate(-2deg)}

/* numbers (editorial, no boxes) */
.numbers{position:relative;overflow:hidden}
.numbers__head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.numbers .section__head h2 em{color:var(--rose)}
.badge{flex:0 0 auto;width:clamp(96px,12vw,140px);animation:spin 18s linear infinite;color:var(--rose);fill:currentColor}
.badge text{font:700 10.5px var(--sans);letter-spacing:.06em;text-transform:uppercase}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.stat{padding:26px 20px 8px 0}
.stat+.stat{padding-left:24px;border-left:1px solid var(--line)}
.stat b,.top__list b{display:block;font-family:var(--serif);font-weight:700;color:var(--rose);line-height:1;font-size:clamp(3rem,6.4vw,5.4rem);letter-spacing:-.02em}
.stat span{display:block;margin-top:12px;font-size:1.05rem;opacity:.85}
.note{display:block;text-align:right;font-size:2.2rem;rotate:-3deg;margin:8px 4% 0 0;color:var(--rose)}
.top{margin-top:28px}
.top h3{font-size:1.7rem;margin-bottom:12px}
.top__list li{display:grid;grid-template-columns:minmax(150px,230px) 1fr;align-items:center;gap:20px;padding:16px 0;border-top:1px solid var(--line);transition:padding .3s}
.top__list li:last-child{border-bottom:1px solid var(--line)}
.top__list li:hover{padding-left:14px}
.top__list b{font-size:clamp(2.2rem,4.4vw,3.4rem)}
.top__list strong{display:block;font-size:1.15rem}
.top__list small{opacity:.75;font-size:1rem}
.audience{margin-top:32px}
.audience__tabs{display:inline-flex;padding:4px;border-radius:999px;background:rgba(243,231,217,.1);margin-bottom:8px}
.audience__tabs button{padding:9px 24px;border-radius:999px;font-weight:700;font-size:.95rem;transition:background .25s,color .25s}
.audience__tabs .on{background:var(--rose);color:var(--espresso)}
.audience__grid{display:grid;grid-template-columns:.7fr 1.1fr 1.1fr;gap:clamp(24px,5vw,64px);align-items:start}
.aud h4{font-size:.9rem;letter-spacing:.16em;text-transform:uppercase;opacity:.7;margin:20px 0 16px;padding-top:14px;border-top:1px solid var(--line)}
.donut{--p:83;position:relative;width:160px;aspect-ratio:1;border-radius:50%;background:conic-gradient(var(--rose) calc(var(--p)*1%),rgba(243,231,217,.15) 0);display:grid;place-items:center;transition:background .6s}
.donut::before{content:"";position:absolute;inset:14px;border-radius:50%;background:var(--espresso)}
.donut span{position:relative;display:grid;justify-items:center;line-height:1.1}
.donut b{font-family:var(--serif);font-size:2.1rem}
.donut small{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;opacity:.8}
.legend{display:flex;justify-content:center;gap:8px 18px;flex-wrap:wrap;margin-top:14px;font-size:.95rem}
.legend li{display:flex;align-items:center;gap:6px}
.legend b{font-family:var(--serif);font-size:1.1rem}
.dot{width:10px;height:10px;border-radius:50%}
.dot--f{background:var(--rose)}
.dot--m{background:rgba(243,231,217,.45)}
.bar{margin-bottom:14px;font-size:1rem}
.bar div{display:flex;justify-content:space-between;margin-bottom:5px}
.bar i{display:block;height:6px;border-radius:99px;background:rgba(243,231,217,.15);overflow:hidden}
.bar i::after{content:"";display:block;height:100%;width:var(--w);background:var(--rose);border-radius:99px;transform-origin:left;transform:scaleX(0);transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.audience.in .bar i::after{transform:scaleX(1)}
.numbers .spark{fill:var(--rose);opacity:.8}
.numbers .n1{width:34px;top:90px;right:22%}
.numbers .n2{width:22px;bottom:70px;left:46%;animation-delay:1.5s}

/* work */
.work__bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}
.filters{display:flex;flex-wrap:wrap;gap:10px}
.filters button{padding:10px 22px;border-radius:999px;border:2px solid var(--espresso);font-weight:700;font-size:1rem;transition:background .25s,color .25s}
.filters .on,.filters button:hover{background:var(--espresso);color:var(--cream)}
.rail{display:flex;gap:10px}
.rail button{width:46px;height:46px;border-radius:50%;border:2px solid var(--espresso);font-size:1.2rem;transition:background .25s,color .25s,transform .25s}
.rail button:hover{background:var(--espresso);color:var(--cream);transform:scale(1.08)}
.grid{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px var(--pad) 22px;margin:0 calc(var(--pad)*-1);scroll-padding:0 var(--pad);scrollbar-width:thin;scrollbar-color:var(--rose) transparent}
.vcard{position:relative;flex:0 0 clamp(220px,23vw,300px);aspect-ratio:9/16;scroll-snap-align:start;border-radius:var(--r);overflow:hidden;background:var(--cream);transition:transform .25s ease-out,box-shadow .35s;text-align:left}
.vcard:hover{box-shadow:0 24px 40px -16px rgba(73,53,47,.5)}
.vcard video{width:100%;height:100%;object-fit:cover}
.vcard::after{content:"▶";position:absolute;right:12px;bottom:12px;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--hot);color:#fff;font-size:.8rem;opacity:0;transform:scale(.5);transition:.3s}
.vcard:hover::after{opacity:1;transform:none}
.vcard--wide{flex-basis:clamp(340px,42vw,560px);aspect-ratio:auto}
.vcard span{position:absolute;left:12px;bottom:12px;padding:6px 14px;border-radius:99px;background:rgba(251,245,238,.92);font-size:.85rem;font-weight:700}
.vcard.hide{display:none}
.offer{margin-top:40px}
.offer h3{font-size:1.8rem;margin-bottom:16px}
/* accordion: panels expand on hover/tap and play their sample video */
.acc{display:flex;gap:12px;height:clamp(420px,46vw,540px)}
.panel{position:relative;flex:1;min-width:0;border-radius:var(--r);overflow:hidden;background:var(--espresso);color:var(--cream);cursor:pointer;transition:flex .7s cubic-bezier(.2,.7,.2,1),height .7s cubic-bezier(.2,.7,.2,1);outline-offset:3px}
.panel.on{flex:5}
.panel video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;transition:opacity .6s,transform .9s cubic-bezier(.2,.7,.2,1);transform:scale(1.08)}
.panel.on video{opacity:1;transform:none}
.panel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(73,53,47,.15) 30%,rgba(73,53,47,.88));pointer-events:none}
.panel>*:not(video){position:relative;z-index:1}
.panel__n{position:absolute!important;top:16px;left:18px;font:700 1.5rem var(--serif);font-style:normal;color:var(--rose)}
.panel h4{position:absolute!important;left:18px;bottom:20px;font:700 1.5rem var(--serif);white-space:nowrap;transform-origin:left bottom;transition:transform .6s cubic-bezier(.2,.7,.2,1),font-size .6s}
.panel:not(.on) h4{transform:rotate(-90deg) translate(0,100%);left:34px;bottom:20px;font-size:1.3rem}
.panel__body{position:absolute!important;left:18px;right:18px;bottom:84px;opacity:0;visibility:hidden;transform:translateY(24px);transition:opacity .4s,transform .5s cubic-bezier(.2,.7,.2,1),visibility 0s;pointer-events:none}
.panel.on .panel__body{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition-delay:.35s,.35s,.7s}
.panel.on h4{font-size:clamp(1.8rem,3.4vw,2.6rem)}
.panel__body p{max-width:420px;margin-bottom:14px;font-size:1.1rem}

/* brands: two logo rows moving in opposite directions */
.brands{padding-left:0;padding-right:0}
.brands .section__head{padding:0 var(--pad)}
.logorow{overflow:hidden;margin-bottom:18px;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.logotrack{display:flex;width:max-content;animation:slide 40s linear infinite}
.logorow.rev .logotrack{animation-direction:reverse;animation-duration:46s}
.logotrack li{flex:0 0 auto;width:clamp(100px,11vw,150px);margin-right:clamp(18px,2.4vw,34px)}
.logotrack img{width:100%;border-radius:50%;box-shadow:0 8px 20px -8px rgba(73,53,47,.3);transition:transform .35s}
.logotrack li:hover img{transform:scale(1.12) rotate(-5deg)}

/* why */
.why{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(28px,5vw,72px);align-items:center}
.why blockquote{font-family:var(--serif);font-size:clamp(2rem,4.2vw,3.4rem);line-height:1.12;margin-bottom:20px}
.why p:last-child{max-width:620px}
.why__img{border-radius:999px 999px var(--r) var(--r);aspect-ratio:3/4;object-fit:cover;width:100%;clip-path:inset(100% 0 0 0);transition:clip-path 1.3s cubic-bezier(.7,0,.2,1)}
.why__frame.in .why__img{clip-path:inset(0)}

/* rates */
.rates{background:var(--cream)}
.plans{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.plans>div{display:flex}
.plan{display:flex;flex-direction:column;width:100%;padding:28px 24px;border-radius:var(--r);background:var(--paper);transition:transform .2s ease-out,box-shadow .3s}
.plan:hover{box-shadow:0 24px 40px -18px rgba(73,53,47,.4)}
.plan h3{font-size:1.6rem}
.plan__for{font-size:.95rem;opacity:.7;margin:4px 0 16px}
.price{font-family:var(--serif);font-size:2.1rem;font-weight:700;color:var(--hot)}
.price small{font-size:.9rem;font-family:var(--sans);color:var(--espresso);opacity:.7}
.plan ul{margin:16px 0 22px;font-size:1.02rem;flex:1}
.plan li{position:relative;padding-left:22px;margin-bottom:8px}
.plan li::before{content:"✦";position:absolute;left:0;color:var(--hot);font-size:.8rem;top:4px}
.plan .btn{text-align:center}
.plan--vip{background:var(--espresso);color:var(--cream)}
.plan--vip .price{color:var(--rose)}
.plan--vip .price small{color:var(--cream)}
.plan--vip li::before{color:var(--rose)}
.extras{margin-top:28px;padding:22px 28px;border-radius:var(--r);border:2px dashed var(--rose)}
.extras h4{font-family:var(--serif);font-size:1.35rem;margin-bottom:8px}
.extras ul{display:flex;flex-wrap:wrap;gap:8px 40px;font-size:1.05rem}
.extras b{color:var(--hot)}

/* contact */
.contact{position:relative;overflow:hidden;text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px}
.script--big{font-size:clamp(2.6rem,6vw,4.4rem);color:var(--rose)}
.contact h2{max-width:820px}
.contact h2 em{color:var(--rose)}
.contact p{max-width:520px;opacity:.88}
.contact__cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px}

/* modal */
.modal{border:0;background:transparent;margin:auto;max-width:min(92vw,420px);overflow:visible}
.modal::backdrop{background:rgba(40,26,22,.9)}
.modal[open]{animation:pop .4s cubic-bezier(.2,.7,.2,1)}
.modal video{width:100%;max-height:86vh;border-radius:var(--r);background:#000}
.modal__x{position:absolute;top:-14px;right:-14px;z-index:2;width:38px;height:38px;border-radius:50%;background:var(--cream);font-weight:700}
.modal.landscape{max-width:min(92vw,900px)}

/* responsive */
@media(max-width:1000px){
  .plans{grid-template-columns:repeat(2,1fr)}
  .offer ul{grid-template-columns:repeat(3,1fr)}
  .audience__grid{grid-template-columns:1fr 1fr}
  .audience__grid .aud:first-child{grid-column:1/-1}
}
@media(max-width:760px){
  .acc{flex-direction:column;height:auto}
  .panel{flex:none;height:74px}
  .panel.on{flex:none;height:420px}
  .panel:not(.on) h4{transform:none;left:56px;bottom:22px}
  .panel__n{top:22px}
  .nav__links{display:none}
  .hero{grid-template-columns:1fr;padding-top:96px}
  .hero__art{width:min(86%,380px);margin-top:12px}
  .tag--script{top:auto;bottom:2%;right:-2%;font-size:1.3rem;padding:8px 16px}
  .about,.why{grid-template-columns:1fr}
  .why__img{max-width:320px;margin:0 auto}
  .grid{gap:12px}
  .rail{display:none}
  .offer ul{grid-template-columns:repeat(2,1fr)}
  .plans{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr}
  .stat{padding:20px 10px 8px 0}
  .stat+.stat{padding-left:0;border-left:0}
  .stat:nth-child(even){padding-left:16px;border-left:1px solid var(--line)}
  .stat:nth-child(n+3){border-top:1px solid var(--line);margin-top:12px}
  .top__list li{grid-template-columns:1fr;gap:2px}
  .audience__grid{grid-template-columns:1fr}
  .note{font-size:1.8rem}
}

/* hero hook */
.hero__typed{margin:12px 0 0;font:italic 500 clamp(1.5rem,2.7vw,2.2rem)/1.2 var(--serif)}
.hero__typed b{color:var(--hot);font-weight:500;border-right:3px solid var(--hot);padding-right:4px;animation:caret .8s steps(1) infinite}
@keyframes caret{50%{border-color:transparent}}
.hook{display:inline-flex;align-items:center;gap:12px;margin-top:22px;padding:10px 18px 10px 16px;border-radius:99px;background:var(--cream);font-size:1rem;line-height:1.3;transition:background .3s,transform .3s}
.hook:hover{background:var(--rose);transform:translateY(-2px)}
.hook b{color:var(--hot)}
.hook em{font-style:normal;font-weight:700;animation:nudge 1.4s ease-in-out infinite}
.hook__dot{flex:0 0 auto;width:10px;height:10px;border-radius:50%;background:var(--hot);animation:ping 1.6s ease-out infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(233,54,112,.6)}100%{box-shadow:0 0 0 12px rgba(233,54,112,0)}}
@keyframes nudge{50%{transform:translateY(4px)}}

/* footer + discreet Nivo signature */
.foot{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:6px 14px;padding:22px var(--pad);text-align:center;font-size:.9rem;background:var(--espresso);color:var(--cream);border-top:1px solid var(--line)}
.foot>span,.nivo{opacity:.75}
.nivo{transition:opacity .3s}
.nivo:hover{opacity:1}
.nivo b{font-family:var(--serif);font-size:1.1em;letter-spacing:-.01em;transition:color .3s}
.nivo:hover b{color:var(--rose)}
/* the dot sits right after the o, at the middle of its height */
.nivo i{display:inline-block;width:.26em;height:.26em;margin-left:.1em;border-radius:50%;background:var(--hot);vertical-align:.17em;animation:pulse 2s ease-in-out infinite}
@keyframes pulse{50%{transform:scale(1.5)}}
@media(max-width:760px){.hero__typed{min-height:2.5em}.hook{font-size:.92rem}}

/* open-proposal banner */
.idea{position:relative;overflow:hidden;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 32px;margin-top:20px;padding:clamp(24px,4vw,40px) clamp(24px,4vw,48px);border-radius:var(--r);background:var(--hot);color:var(--cream)}
.idea .script{color:var(--cream);font-size:clamp(1.9rem,4vw,2.8rem);line-height:1}
.idea h3{font-size:clamp(1.4rem,2.6vw,2rem);max-width:520px;margin-top:6px}
.idea .spark{position:absolute;top:14px;right:36%;width:30px;fill:var(--cream);opacity:.6}
.idea::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.18) 50%,transparent 65%);transform:translateX(-120%);animation:sheen 4.5s ease-in-out infinite;pointer-events:none}
@keyframes sheen{60%,100%{transform:translateX(120%)}}
.btn--cream{background:var(--cream);color:var(--espresso);position:relative;z-index:1}
.btn--cream:hover{background:var(--espresso);color:var(--cream)}
.btn--cream i{display:inline-block;font-style:normal;margin-left:4px;animation:nudgeX 1.2s ease-in-out infinite}
@keyframes nudgeX{50%{transform:translateX(6px)}}
