/* =====================================================================
   Instagram Ban Service — bespoke LIGHT design.
   Bright, airy, gradient-driven (purple -> pink -> orange), big rounded
   corners, soft layered shadows, bento mosaic. Deliberately the opposite of
   the dark sister sites: a clean, premium-app light theme.
   ===================================================================== */
@font-face{ font-family:"Inter"; font-style:normal; font-weight:400 600; font-display:swap; src:url("/assets/fonts/inter-latin.woff2") format("woff2"); }
@font-face{ font-family:"Space Grotesk"; font-style:normal; font-weight:500 700; font-display:swap; src:url("/assets/fonts/space-grotesk-latin.woff2") format("woff2"); }

:root{
  --bg:#f7f4fb; --surface:#ffffff; --surface2:#fbf9fe;
  --ink:#16131d; --text:#403b4c; --muted:#7a7488; --faint:#a39bb2;
  --line:rgba(22,19,29,.09); --line2:rgba(22,19,29,.05);
  --purple:#833AB4; --pink:#E1306C; --orange:#F77737; --yellow:#FCAF45;
  --grad:linear-gradient(120deg,#833AB4 0%,#E1306C 52%,#F77737 100%);
  --grad-soft:linear-gradient(120deg,rgba(131,58,180,.12),rgba(225,48,108,.12),rgba(247,119,55,.12));
  --pink-soft:rgba(225,48,108,.10);
  --r:26px; --r-sm:16px; --maxw:1200px; --ease:cubic-bezier(.22,.61,.36,1); --vh:1vh;
  --shadow:0 18px 50px -24px rgba(120,40,110,.30);
  --shadow-sm:0 8px 26px -16px rgba(120,40,110,.26);
  --disp:"Space Grotesk","Inter",system-ui,sans-serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important} }
body{ margin:0; background:var(--bg); color:var(--text); font-family:var(--sans); font-size:1.06rem; line-height:1.7; overflow-x:clip; -webkit-font-smoothing:antialiased; }
/* soft gradient blooms */
body::before{ content:""; position:fixed; inset:0; z-index:-2; pointer-events:none;
  background:radial-gradient(40% 38% at 8% 0%,rgba(131,58,180,.16),transparent 70%),radial-gradient(44% 40% at 100% 30%,rgba(247,119,55,.14),transparent 72%),radial-gradient(40% 40% at 80% 100%,rgba(225,48,108,.12),transparent 70%); }
img,svg{ max-width:100%; height:auto; display:block; }
a{ color:var(--pink); text-decoration:none; }
::selection{ background:var(--pink); color:#fff; }
strong{ color:var(--ink); font-weight:650; }
h1,h2,h3,h4{ font-family:var(--disp); color:var(--ink); margin:0; line-height:1.06; letter-spacing:-.02em; font-weight:700; }

.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:clamp(1.1rem,4vw,2.2rem); }
.grad-text{ background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }
.eyebrow{ display:inline-flex; align-items:center; gap:.5rem; font-family:var(--disp); font-weight:600; font-size:.8rem; letter-spacing:.02em; text-transform:uppercase; padding:.42rem .9rem; border-radius:999px; color:#fff; background:var(--grad); box-shadow:var(--shadow-sm); }
.eyebrow--ghost{ color:var(--pink); background:var(--pink-soft); box-shadow:none; }
.lead{ font-size:clamp(1.12rem,2vw,1.34rem); color:var(--muted); max-width:56ch; }
:focus-visible{ outline:3px solid var(--pink); outline-offset:3px; border-radius:6px; }
.skip-link{ position:absolute; left:10px; top:-60px; z-index:1000; background:var(--grad); color:#fff; padding:.7rem 1rem; border-radius:12px; transition:top .15s; }
.skip-link:focus{ top:10px; }

/* header */
.header{ position:sticky; top:0; z-index:100; background:rgba(255,255,255,.72); backdrop-filter:blur(18px) saturate(160%); border-bottom:1px solid var(--line2); }
.nav{ display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:70px; }
.brand{ display:inline-flex; align-items:center; gap:.65rem; font-family:var(--disp); font-weight:700; font-size:1.2rem; letter-spacing:-.02em; color:var(--ink); }
.brand b{ background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }
.brand__mark{ width:30px; height:30px; flex:0 0 auto; border-radius:9px; }
.nav__toggle{ display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; background:var(--surface); border:1px solid var(--line); border-radius:13px; color:var(--ink); cursor:pointer; box-shadow:var(--shadow-sm); }
.nav__toggle svg{ width:22px; height:22px; } .nav__toggle .x{ display:none; }
body.nav-open .nav__toggle .m{ display:none; } body.nav-open .nav__toggle .x{ display:block; }
.nav__menu{ list-style:none; margin:0; padding:0; }
.nav__link{ display:flex; align-items:center; min-height:46px; padding:.5rem 1rem; font-weight:600; color:var(--muted); border-radius:999px; }
.nav__link:hover,.nav__link[aria-current="page"]{ color:var(--ink); background:var(--pink-soft); }
.nav__link--cta{ color:#fff; background:var(--grad); box-shadow:var(--shadow-sm); }
.nav__menu{ position:fixed; inset:70px 0 auto 0; display:grid; gap:.3rem; padding:1.1rem clamp(1.1rem,4vw,2.2rem) 1.5rem; background:var(--surface); border-bottom:1px solid var(--line); transform:translateY(-130%); opacity:0; visibility:hidden; transition:transform .3s var(--ease),opacity .3s,visibility .3s; box-shadow:var(--shadow); }
body.nav-open .nav__menu{ transform:none; opacity:1; visibility:visible; }
@media (min-width:880px){ .nav__toggle{display:none} .nav__menu{position:static;inset:auto;display:flex;align-items:center;gap:.35rem;padding:0;background:none;border:0;transform:none;opacity:1;visibility:visible;box-shadow:none} }

/* buttons (pills) */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:.55rem; min-height:52px; padding:.85rem 1.6rem; border-radius:999px; border:1px solid transparent; font-family:var(--sans); font-weight:650; font-size:1rem; cursor:pointer; transition:transform .14s var(--ease),box-shadow .25s,filter .2s; }
.btn:hover{ transform:translateY(-2px); }
.btn svg{ width:18px; height:18px; }
.btn--grad{ background:var(--grad); color:#fff; box-shadow:var(--shadow); }
.btn--grad:hover{ filter:brightness(1.06); }
.btn--ghost{ background:var(--surface); color:var(--ink); border-color:var(--line); box-shadow:var(--shadow-sm); }
.btn--lg{ min-height:60px; padding:1rem 1.9rem; font-size:1.08rem; }
.btn-row{ display:flex; flex-wrap:wrap; gap:.8rem; }
.btn--tg{ background:#229ED9; color:#fff; box-shadow:0 12px 30px -16px rgba(34,158,217,.7); }
.btn--wa{ background:#25D366; color:#08351a; box-shadow:0 12px 30px -16px rgba(37,211,102,.65); }

/* hero */
.hero{ padding-block:clamp(2.6rem,6vw,5rem) clamp(2rem,5vw,3.5rem); }
.hero__grid{ display:grid; gap:clamp(2rem,5vw,3.5rem); align-items:center; }
@media (min-width:980px){ .hero__grid{ grid-template-columns:1.08fr .92fr; } }
.hero h1{ font-size:clamp(2.3rem,6vw,4.5rem); margin:1rem 0 0; }
.hero .lead{ margin-top:1.2rem; }
.answer{ margin:1.5rem 0 0; padding:1.2rem 1.4rem; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-sm); box-shadow:var(--shadow-sm); color:var(--text); position:relative; }
.answer::before{ content:""; position:absolute; left:0; top:14px; bottom:14px; width:4px; border-radius:4px; background:var(--grad); }
.answer{ padding-left:1.7rem; }
.hero__tags{ display:flex; flex-wrap:wrap; gap:.5rem; margin:1.6rem 0 0; list-style:none; padding:0; }
.hero__tags li{ font-size:.86rem; font-weight:600; color:var(--purple); background:var(--surface); border:1px solid var(--line); border-radius:999px; padding:.4rem .9rem; box-shadow:var(--shadow-sm); }

/* ticket card (light, gradient ring) */
.ticket{ position:relative; background:var(--surface); border-radius:var(--r); padding:1.7rem; box-shadow:var(--shadow); }
.ticket::after{ content:""; position:absolute; inset:0; border-radius:var(--r); padding:2px; pointer-events:none; background:var(--grad);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; opacity:.85; }
.ticket__profile{ display:flex; align-items:center; gap:.85rem; padding-bottom:1.1rem; border-bottom:1px solid var(--line2); }
.ticket__ava{ width:46px; height:46px; border-radius:50%; flex:0 0 auto; background:var(--grad); display:grid; place-items:center; color:#fff; font-family:var(--disp); font-weight:700; box-shadow:0 0 0 3px #fff,0 0 0 5px var(--pink-soft); }
.ticket__name{ font-family:var(--disp); font-weight:700; color:var(--ink); }
.ticket__name span{ display:block; font-size:.78rem; color:var(--faint); font-weight:400; font-family:var(--sans); }
.ticket__badge{ margin-left:auto; font-size:.7rem; font-weight:700; letter-spacing:.06em; color:var(--pink); background:var(--pink-soft); border-radius:999px; padding:.32rem .7rem; }
.ticket__rows{ margin:1.1rem 0; display:grid; gap:.6rem; }
.ticket__rows div{ display:flex; justify-content:space-between; gap:1rem; font-size:.95rem; }
.ticket__rows dt{ color:var(--faint); } .ticket__rows dd{ margin:0; color:var(--ink); font-family:var(--disp); font-weight:600; }
.ticket__steps{ list-style:none; margin:1.1rem 0 0; padding:1.1rem 0 0; border-top:1px solid var(--line2); display:grid; gap:.7rem; }
.ticket__steps li{ display:flex; align-items:center; gap:.7rem; font-size:.93rem; color:var(--text); }
.ticket__steps .tick{ width:22px; height:22px; flex:0 0 auto; border-radius:50%; background:var(--grad); display:grid; place-items:center; }
.ticket__steps .tick svg{ width:12px; height:12px; stroke:#fff; }

/* sections */
.section{ padding-block:clamp(3rem,7vw,6rem); }
.sechead{ max-width:60ch; margin:0 auto clamp(2rem,4vw,3rem); text-align:center; }
.sechead h2{ font-size:clamp(1.9rem,4vw,3rem); }
.sechead p{ color:var(--muted); margin-top:.8rem; }
.sechead .eyebrow{ margin-bottom:1rem; }

/* stats — soft chips */
.stats{ display:grid; gap:1rem; grid-template-columns:1fr; }
@media (min-width:760px){ .stats{ grid-template-columns:repeat(3,1fr); } }
.stat{ display:flex; align-items:center; gap:.9rem; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-sm); padding:1.2rem 1.3rem; box-shadow:var(--shadow-sm); }
.stat__ic{ width:46px; height:46px; flex:0 0 auto; border-radius:13px; display:grid; place-items:center; background:var(--grad-soft); }
.stat__ic svg{ width:22px; height:22px; stroke:var(--pink); fill:none; }
.stat b{ display:block; font-family:var(--disp); color:var(--ink); font-size:1.02rem; line-height:1.25; }
.stat span{ font-size:.88rem; color:var(--muted); }

/* BENTO mosaic (features) */
.bento{ display:grid; gap:1rem; grid-template-columns:repeat(4,1fr); }
.tile{ position:relative; background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:1.7rem; box-shadow:var(--shadow-sm); overflow:hidden; transition:transform .2s var(--ease),box-shadow .25s; }
.tile:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.tile:nth-child(1),.tile:nth-child(6){ grid-column:span 2; background:linear-gradient(160deg,#fff,var(--surface2)); }
.tile:nth-child(1)::before,.tile:nth-child(6)::before{ content:""; position:absolute; inset:0; background:var(--grad-soft); opacity:.5; pointer-events:none; }
.tile>*{ position:relative; }
.tile__ic{ width:50px; height:50px; border-radius:15px; display:grid; place-items:center; background:var(--grad); margin-bottom:1rem; box-shadow:var(--shadow-sm); }
.tile__ic svg{ width:24px; height:24px; stroke:#fff; fill:none; }
.tile h3{ font-size:1.18rem; margin-bottom:.4rem; }
.tile:nth-child(1) h3,.tile:nth-child(6) h3{ font-size:clamp(1.3rem,2.4vw,1.7rem); }
.tile p{ margin:0; color:var(--muted); font-size:.98rem; }
@media (max-width:880px){ .bento{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .bento{ grid-template-columns:1fr; } .tile:nth-child(1),.tile:nth-child(6){ grid-column:auto; } }

/* prose block */
.prose{ max-width:64ch; margin-inline:auto; color:var(--text); font-size:1.08rem; }
.prose a{ text-decoration:underline; text-underline-offset:3px; font-weight:600; }
.prosecard{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:clamp(1.6rem,4vw,2.6rem); box-shadow:var(--shadow-sm); }

/* steps */
.steps{ display:grid; gap:1rem; grid-template-columns:1fr; }
@media (min-width:760px){ .steps{ grid-template-columns:repeat(4,1fr); } }
.step{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r-sm); padding:1.5rem; box-shadow:var(--shadow-sm); }
.step__no{ font-family:var(--disp); font-weight:700; font-size:1.05rem; width:42px; height:42px; border-radius:13px; display:grid; place-items:center; background:var(--grad); color:#fff; margin-bottom:1rem; }
.step h3{ font-size:1.12rem; margin-bottom:.35rem; } .step p{ margin:0; color:var(--muted); font-size:.95rem; }

/* principles */
.cols3{ display:grid; gap:1.2rem; }
@media (min-width:760px){ .cols3{ grid-template-columns:repeat(3,1fr); } }
.pri{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r-sm); padding:1.5rem; box-shadow:var(--shadow-sm); border-top:3px solid transparent; border-image:var(--grad) 1; }
.pri h3{ font-size:1.14rem; margin-bottom:.4rem; } .pri p{ margin:0; color:var(--muted); }

/* FAQ — rounded cards */
.qa{ max-width:760px; margin-inline:auto; display:grid; gap:.8rem; }
.qa details{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r-sm); padding:0 1.4rem; box-shadow:var(--shadow-sm); transition:box-shadow .2s; }
.qa details[open]{ box-shadow:var(--shadow); }
.qa summary{ cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:1rem; align-items:center; padding:1.15rem 0; font-family:var(--disp); font-weight:600; font-size:1.06rem; color:var(--ink); min-height:48px; }
.qa summary::-webkit-details-marker{ display:none; }
.qa summary::after{ content:"+"; color:var(--pink); font-size:1.5rem; }
.qa details[open] summary::after{ content:"\2013"; }
.qa details>p{ margin:0; padding:0 0 1.2rem; color:var(--muted); }

/* CTA */
.cta{ text-align:center; border-radius:var(--r); padding:clamp(2.4rem,6vw,4rem); background:var(--grad); color:#fff; box-shadow:var(--shadow); }
.cta h2{ color:#fff; font-size:clamp(1.9rem,4vw,2.9rem); }
.cta p{ color:rgba(255,255,255,.92); max-width:54ch; margin:.9rem auto 1.7rem; }
.cta .btn--tg,.cta .btn--wa{ background:#fff; color:#16131d; } .cta .btn-row{ justify-content:center; }

/* footer */
.footer{ border-top:1px solid var(--line); padding-block:clamp(2.5rem,6vw,4rem) 2rem; margin-top:clamp(2rem,5vw,3rem); background:var(--surface); }
.footer__grid{ display:grid; gap:2rem; } @media (min-width:760px){ .footer__grid{ grid-template-columns:2fr 1fr 1.4fr; } }
.footer h4{ font-family:var(--disp); font-size:.78rem; text-transform:uppercase; letter-spacing:.1em; color:var(--faint); margin:0 0 1rem; }
.footer__links{ list-style:none; margin:0; padding:0; display:grid; gap:.6rem; }
.footer__links a{ color:var(--muted); } .footer__links a:hover{ color:var(--ink); }
.footer__note{ color:var(--muted); font-size:.92rem; max-width:44ch; margin:1rem 0 0; }
.footer__bottom{ border-top:1px solid var(--line2); margin-top:2.5rem; padding-top:1.5rem; display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; justify-content:space-between; color:var(--faint); font-size:.86rem; }

/* ===== contact page ===== */
.contact-hero{ text-align:center; padding-block:clamp(2.6rem,6vw,4.5rem) clamp(1.5rem,3vw,2.5rem); }
.contact-hero h1{ font-size:clamp(2.4rem,6vw,4rem); margin:1rem 0 0; }
.contact-hero .lead{ margin:1.1rem auto 0; }
.channels{ display:grid; gap:1.2rem; max-width:880px; margin:clamp(2rem,4vw,2.8rem) auto 0; }
@media (min-width:680px){ .channels{ grid-template-columns:1fr 1fr; } }
.chan{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:clamp(1.7rem,4vw,2.4rem); text-align:center; box-shadow:var(--shadow-sm); }
.chan__glyph{ width:64px; height:64px; margin:0 auto 1rem; border-radius:19px; display:grid; place-items:center; background:var(--grad-soft); }
.chan__glyph svg{ width:30px; height:30px; stroke:var(--pink); fill:none; }
.chan__label{ font-family:var(--disp); font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; color:var(--faint); }
.chan__id{ font-family:var(--disp); font-weight:700; font-size:clamp(1.1rem,2.4vw,1.35rem); color:var(--ink); margin:.3rem 0 1.1rem; word-break:break-word; }
.chan__actions{ display:flex; flex-wrap:wrap; gap:.6rem; justify-content:center; }
.copy{ display:inline-flex; align-items:center; gap:.4rem; min-height:52px; padding:.6rem 1.1rem; background:var(--surface); border:1px solid var(--line); color:var(--muted); border-radius:999px; font-weight:600; font-size:.92rem; cursor:pointer; box-shadow:var(--shadow-sm); }
.copy:hover{ color:var(--pink); border-color:var(--pink); } .copy.copied{ color:var(--pink); border-color:var(--pink); }
.copy svg{ width:15px; height:15px; }
.panels{ display:grid; gap:1.2rem; max-width:880px; margin:1.2rem auto 0; }
@media (min-width:680px){ .panels{ grid-template-columns:1fr 1fr; } }
.panel{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:clamp(1.6rem,4vw,2rem); box-shadow:var(--shadow-sm); }
.panel h2{ font-size:1.1rem; margin:0 0 1rem; }
.checklist,.steps-list{ list-style:none; margin:0; padding:0; display:grid; gap:.8rem; }
.checklist li{ display:flex; gap:.7rem; align-items:flex-start; color:var(--muted); }
.checklist .tick{ width:22px; height:22px; flex:0 0 auto; margin-top:.15rem; border-radius:50%; background:var(--grad); display:grid; place-items:center; } .checklist .tick svg{ width:12px; height:12px; stroke:#fff; fill:none; }
.steps-list{ counter-reset:s; } .steps-list li{ display:flex; gap:.8rem; align-items:flex-start; color:var(--muted); }
.steps-list li::before{ counter-increment:s; content:counter(s); flex:0 0 auto; width:26px; height:26px; border-radius:9px; background:var(--grad); color:#fff; font-family:var(--disp); font-weight:700; font-size:.82rem; display:grid; place-items:center; }
.reassure{ margin-top:1.2rem; color:var(--faint); font-size:.9rem; }

/* ===== solutions page ===== */
.crumbs{ font-size:.86rem; color:var(--faint); } .crumbs a{ color:var(--muted); }
.svc{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:clamp(1.5rem,3vw,2.2rem); box-shadow:var(--shadow-sm); }
.svc+.svc{ margin-top:1.2rem; }
.svc h2{ font-size:clamp(1.35rem,3vw,1.9rem); margin-bottom:.5rem; }
.svc__ans{ color:var(--text); margin:0 0 1rem; padding-left:1rem; border-left:3px solid transparent; border-image:var(--grad) 1; }
.svc ul{ margin:0; padding-left:1.1rem; color:var(--muted); } .svc li{ margin-bottom:.4rem; } .svc li::marker{ color:var(--pink); }
.note{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:1.3rem 1.5rem; color:var(--text); box-shadow:var(--shadow-sm); border-left:4px solid transparent; border-image:var(--grad) 1; }
.note strong{ color:var(--ink); }
.post-grid{ display:grid; gap:1.2rem; } @media (min-width:680px){ .post-grid{ grid-template-columns:repeat(2,1fr); } }

/* reveal */
@keyframes rise{ from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:none} }
@media (prefers-reduced-motion:no-preference){ .reveal{ animation:rise .7s var(--ease) both; } .reveal--d1{animation-delay:.09s} .reveal--d2{animation-delay:.18s} }

/* mobile hardening */
body{ overflow-wrap:break-word; }
.prose a,.footer__links a,.chan__id,.crumbs{ overflow-wrap:anywhere; }
.btn{ overflow-wrap:normal; word-break:keep-all; }
@supports (padding:max(0px)){ .wrap{ padding-left:max(clamp(1.1rem,4vw,2.2rem),env(safe-area-inset-left)); padding-right:max(clamp(1.1rem,4vw,2.2rem),env(safe-area-inset-right)); } }
@media (max-width:560px){ .btn-row .btn{ flex:1 1 100%; } }

/* compact hero — keep contact buttons above the fold (desktop + mobile) */
.hero{ padding-top:clamp(1.3rem,3vw,2.1rem)!important; }
.hero h1{ font-size:clamp(2rem,4.6vw,3.3rem)!important; }
