/* Oviweb — legal documents + contact page (layers on bento.css + webdesign.css) */
.legal-hero{min-height:0;padding:clamp(110px,12vw,140px) var(--pad) clamp(44px,5vw,64px);display:block}
.legal-hero .hero__inner{max-width:760px;margin-left:clamp(0px,6vw,120px)}
.legal-hero h1{font-size:clamp(2.4rem,5vw,4rem);max-width:none}
.legal-hero .lead{font-size:1.1rem;max-width:560px;margin-top:18px}
.legal-hero .meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.legal-hero .hero__cta{margin-top:26px}
.legal-hero .meta+.hero__cta{margin-top:24px}
.legal-hero .meta span{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:99px;background:#fff;font-size:.8rem;font-weight:600;color:var(--navy);box-shadow:0 6px 18px rgba(6,43,62,.06)}
.notice{display:flex;gap:14px;align-items:flex-start;padding:18px 22px;border-radius:18px;background:#fff7e6;border:1px solid #f3d089;color:#6b4300;font-size:.92rem;line-height:1.55}
.notice svg{width:22px;height:22px;flex:none;margin-top:2px;color:#d98b00}
.legal{padding:var(--pad);display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}
.toc{position:sticky;top:24px;display:grid;gap:4px}
.toc small{font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:0 14px 8px}
.toc a{display:block;padding:9px 14px;border-radius:12px;font-size:.92rem;font-weight:600;color:var(--text);transition:.2s}
.toc a:hover,.toc a.is-active{background:#fff;color:var(--purple)}
.doc{display:grid;gap:16px;min-width:0}
.doc section{background:#fff;border-radius:22px;padding:clamp(22px,3vw,34px) clamp(22px,3vw,36px);scroll-margin-top:24px}
.doc h2{font-size:1.4rem;letter-spacing:-.02em;margin-bottom:12px;display:flex;align-items:baseline;gap:12px}
.doc h2 i{font-style:normal;font-size:.78rem;font-weight:800;color:var(--purple)}
.doc p,.doc li{font-size:.98rem;line-height:1.65}
.doc p+p,.doc ul+p,.doc p+ul{margin-top:10px}
.doc ul{list-style:disc;padding-left:22px;display:grid;gap:6px}
.doc li b{color:var(--navy);font-weight:600}
.doc mark{background:#fff1c2;color:#6b4300;padding:1px 6px;border-radius:6px;font-weight:600}
.doc a{color:var(--purple);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.doc .foot{font-size:.84rem;color:var(--muted);padding:6px 4px 0}

/* Wireframe globe (legal heroes) */
.legal-hero.has-globe{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:clamp(24px,4vw,60px);align-items:center}
.globe{position:relative;width:min(100%,420px);aspect-ratio:1;margin-left:auto;isolation:isolate}
.globe::before{content:"";position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(215,150,255,.35),rgba(98,84,231,.12) 45%,transparent 70%);filter:blur(18px);z-index:-1}
.globe canvas{width:100%;height:100%;display:block}
@media (max-width:960px){
  .legal-hero.has-globe{grid-template-columns:minmax(0,1fr)}
  .globe{width:min(60%,260px);margin:8px auto 0}
}

/* Contact */
.contact-wrap{padding:var(--pad);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--gap);align-items:start}
.reach{background:linear-gradient(160deg,var(--navy),#123a52 60%,#2a2d8f 140%);color:#fff;border-radius:var(--r);padding:var(--pad);display:flex;flex-direction:column;gap:22px;position:relative;overflow:hidden}
.reach::after{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(215,150,255,.35),transparent 65%);pointer-events:none}
.reach h2{color:#fff;font-size:1.6rem}
.reach>p{color:rgba(255,255,255,.75)}
.reach__item{display:flex;gap:14px;align-items:flex-start}
.reach__item svg{width:22px;height:22px;flex:none;color:var(--lilac);margin-top:2px}
.reach__item small{display:block;font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:4px}
.reach__item a,.reach__item span{font-size:1.1rem;font-weight:600;color:#fff}
.reach__item a:hover{color:var(--lilac)}
.reach .steps-mini{margin-top:auto;display:grid;gap:10px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}
.reach .steps-mini li{display:flex;gap:12px;align-items:flex-start;font-size:.92rem;color:rgba(255,255,255,.85)}
.reach .steps-mini i{font-style:normal;font-weight:800;color:var(--lilac);font-size:.78rem;min-width:22px;padding-top:2px}
.cform{background:#fff;border-radius:var(--r);padding:clamp(26px,3.5vw,44px);box-shadow:0 20px 50px -30px rgba(6,43,62,.3)}
.cform h2{font-size:1.6rem;margin-bottom:6px}
.cform>p{margin-bottom:22px}
.cform .form{gap:16px}
.cform .row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cform .field input,.cform .field textarea,.cform .field select{width:100%;padding:14px 16px;border-radius:12px;border:1.5px solid var(--line);background:var(--panel);color:var(--navy);outline:0;transition:.25s;font-size:.98rem;-webkit-appearance:none;appearance:none}
.cform .field select{background-image:linear-gradient(45deg,transparent 50%,var(--navy) 50%),linear-gradient(135deg,var(--navy) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat}
.cform .field input:focus,.cform .field textarea:focus,.cform .field select:focus{border-color:var(--purple);background:#fff;box-shadow:0 0 0 4px rgba(98,84,231,.12)}
.cform .field input.is-invalid,.cform .field textarea.is-invalid,.cform .field select.is-invalid{border-color:#e0457b}
.cform .field::after{display:none}
.cform label.lab{display:block;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.cform .fine{font-size:.82rem;color:var(--muted);margin-top:4px}
/* SMS / phone consent checkboxes */
.consent{border:1.5px solid var(--line);border-radius:16px;padding:20px 22px;margin-top:4px}
.consent legend{padding:0 8px;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.consent__opt{display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:start;cursor:pointer;padding:10px 0}
.consent__opt+.consent__opt{border-top:1px solid var(--line)}
.consent__opt input{position:absolute;opacity:0;width:22px;height:22px;margin:0;cursor:pointer}
.consent__box{width:22px;height:22px;border-radius:7px;border:1.8px solid var(--line);background:var(--panel);margin-top:2px;flex:none;position:relative;transition:background .2s,border-color .2s}
.consent__box::after{content:"";position:absolute;left:7px;top:3px;width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) scale(.6);opacity:0;transition:opacity .18s,transform .18s}
.consent__opt input:checked+.consent__box{background:var(--purple);border-color:var(--purple)}
.consent__opt input:checked+.consent__box::after{opacity:1;transform:rotate(45deg) scale(1)}
.consent__opt input:focus-visible+.consent__box{outline:3px solid var(--purple);outline-offset:3px}
.consent__txt{font-size:.92rem;line-height:1.5;color:var(--text)}
.consent__fine{font-size:.8rem;line-height:1.55;color:var(--muted);margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.consent__fine a{color:var(--purple);font-weight:600}

@media (max-width:960px){
  .legal{grid-template-columns:minmax(0,1fr)}
  .toc{position:static;display:flex;flex-wrap:wrap;gap:6px}
  .toc small{width:100%}
  .toc a{padding:8px 12px;font-size:.85rem;background:#fff}
  .contact-wrap{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){.cform .row2{grid-template-columns:1fr}.legal-hero .hero__inner{margin-left:0}}

/* ==========================================================================
   About page
   ========================================================================== */
.about-photo{position:relative;width:min(100%,420px);margin-left:auto;border-radius:28px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/5;background:var(--panel-2)}
.about-photo img{width:100%;height:100%;object-fit:cover;display:block}
.about-photo figcaption{position:absolute;left:16px;right:16px;bottom:16px;padding:14px 18px;border-radius:16px;background:rgba(255,255,255,.94);border:1px solid rgba(6,43,62,.08);box-shadow:0 10px 30px rgba(6,43,62,.16);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--navy);font-size:.88rem;font-weight:600;display:flex;gap:10px;align-items:center;line-height:1.35}
.about-photo figcaption i{width:8px;height:8px;border-radius:50%;background:var(--grad);flex:none}
.about-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}
.about-stat{background:var(--panel);border-radius:22px;padding:30px 28px}
.about-stat strong{display:block;font-size:2.6rem;font-weight:700;letter-spacing:-.04em;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.about-stat>span{display:block;margin-top:12px;font-size:.94rem;color:var(--text);line-height:1.5}
@media (max-width:960px){.about-photo{margin:0;width:100%;aspect-ratio:16/10}.about-stats{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.about-stats{grid-template-columns:1fr}.about-stat{padding:24px 22px}.about-stat strong{font-size:2.2rem}}

/* ==========================================================================
   Who we help
   ========================================================================== */
.who-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.who-card{position:relative;display:flex;flex-direction:column;gap:14px;background:#fff;border-radius:22px;padding:28px;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.who-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.who-card--wide{grid-column:span 2}
.who-card__ico{width:48px;height:48px;border-radius:14px;background:var(--grad-soft);color:var(--purple);display:grid;place-items:center}
.who-card__ico svg{width:24px;height:24px}
.who-card h3{font-size:1.25rem;letter-spacing:-.02em;color:var(--navy)}
.who-card p{font-size:.95rem;line-height:1.6;color:var(--text)}
.who-card ul{display:flex;flex-wrap:wrap;gap:8px;padding-top:2px}
.who-card li{font-size:.78rem;font-weight:600;color:var(--navy);padding:7px 12px;border-radius:99px;background:var(--panel)}
.who-card__more{margin-top:auto;padding-top:6px;display:inline-flex;align-items:center;gap:6px;font-size:.9rem;font-weight:600;color:var(--purple);transition:gap .25s var(--ease)}
.who-card__more svg{width:16px;height:16px}
.who-card__more:hover{gap:10px}
@media (max-width:960px){.who-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.who-grid{grid-template-columns:1fr}.who-card--wide{grid-column:auto}.who-card{padding:24px 22px}}

/* Photo heroes (About, Who we help): keep text and image together, centred */
.legal-hero.has-photo{grid-template-columns:minmax(0,620px) minmax(0,400px);justify-content:center;column-gap:clamp(32px,5vw,72px)}
.legal-hero.has-photo .hero__inner{margin-left:0;max-width:620px}
.legal-hero.has-photo .about-photo{margin-left:0}
@media (max-width:960px){.legal-hero.has-photo{grid-template-columns:minmax(0,1fr)}}

/* ==========================================================================
   Case studies
   ========================================================================== */
.cs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}
.cs-card{display:flex;flex-direction:column;background:#fff;border-radius:22px;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.cs-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.cs-card.is-hidden{display:none}
.cs-card__img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--panel-2)}
.cs-card__img img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;transition:transform .5s var(--ease)}
.cs-card:hover .cs-card__img img{transform:scale(1.03)}
.cs-card__body{display:flex;flex-direction:column;gap:8px;padding:18px 18px 18px;flex:1}
.cs-card__body small{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--purple)}
.cs-card__body h3{font-size:1.05rem;letter-spacing:-.02em;color:var(--navy)}
.cs-card__body p{font-size:.88rem;line-height:1.55;color:var(--text)}
.cs-card__foot{margin-top:auto;padding-top:12px;display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--line);font-size:.78rem;color:var(--muted)}
.cs-card__link{display:inline-flex;align-items:center;gap:5px;font-weight:600;color:var(--purple);white-space:nowrap}
.cs-card__link svg{width:14px;height:14px}
.cs-card__link--muted{color:var(--muted);font-weight:600}
.studies{display:grid;gap:var(--gap)}
.study{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start;background:#fff;border-radius:24px;padding:clamp(20px,3vw,32px)}
.study--rev .study__img{order:2}
.study__img{margin:0;border-radius:18px;overflow:hidden;aspect-ratio:4/5;background:var(--panel-2);position:sticky;top:24px}
.study__img img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.study__body{display:flex;flex-direction:column;gap:10px;min-width:0}
.study__kicker{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--purple)}
.study__body h3{font-size:clamp(1.5rem,2.4vw,2rem);letter-spacing:-.03em;color:var(--navy)}
.study__body h4{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:14px}
.study__body p{font-size:.98rem;line-height:1.65;color:var(--text)}
.study__body .checks{margin-top:4px}
.study__meta{display:flex;flex-wrap:wrap;gap:8px 28px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:4px 0}
.study__meta dt{font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.study__meta dd{font-size:.92rem;font-weight:600;color:var(--navy);margin-top:2px}
.study__meta a{color:var(--purple)}
@media (max-width:1180px){.cs-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:960px){.cs-grid{grid-template-columns:1fr 1fr}}
@media (max-width:960px){.study{grid-template-columns:1fr}.study--rev .study__img{order:0}.study__img{position:static;aspect-ratio:16/10}}
@media (max-width:640px){.cs-grid{grid-template-columns:1fr}}

/* ==========================================================================
   Blog
   ========================================================================== */
.featured{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;background:#fff;border-radius:24px;padding:clamp(18px,2.5vw,28px);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.featured:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.featured__img{margin:0;border-radius:18px;overflow:hidden;aspect-ratio:3/2;background:var(--panel-2)}
.featured__img img{width:100%;height:100%;object-fit:cover;display:block}
.featured__body{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.featured__body h2{font-size:clamp(1.6rem,2.8vw,2.4rem);letter-spacing:-.03em;color:var(--navy)}
.featured__body p{font-size:1rem;line-height:1.6;color:var(--text);max-width:52ch}
.post--soon{opacity:.75}
.post--soon h3{color:var(--navy);font-size:1.35rem;letter-spacing:-.02em}
.post__excerpt{font-size:.92rem;color:var(--text);line-height:1.55;margin-top:8px}
.post--soon .btn{pointer-events:none;opacity:.6}
.article{padding:clamp(28px,5vw,64px) var(--pad)}
.prose{max-width:720px;margin:0 auto;display:grid;gap:18px}
.prose__intro{font-size:1.15rem;line-height:1.7;color:var(--navy)}
.prose h2{font-size:1.5rem;letter-spacing:-.03em;color:var(--navy);margin-top:18px}
.prose p,.prose li{font-size:1.02rem;line-height:1.75;color:var(--text)}
.prose ul{list-style:disc;padding-left:22px;display:grid;gap:6px}
.prose a{color:var(--purple);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.prose blockquote{margin:8px 0;padding:18px 24px;border-left:4px solid var(--purple);background:var(--panel);border-radius:0 16px 16px 0;font-size:1.1rem;line-height:1.6;color:var(--navy);font-weight:500;letter-spacing:-.01em}
.prose__foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding-top:24px;border-top:1px solid var(--line)}
.prose__author{display:flex;align-items:center;gap:12px}
.prose__author strong{display:block;color:var(--navy);font-weight:600}
.prose__author small{display:block;font-size:.8rem;color:var(--muted)}
@media (max-width:960px){.featured{grid-template-columns:1fr}}

/* ==========================================================================
   Gallery + lightbox
   ========================================================================== */
.g-grid{columns:3;column-gap:var(--gap)}
.g-item{position:relative;display:block;break-inside:avoid;margin-bottom:var(--gap);border-radius:18px;overflow:hidden;background:var(--panel-2);box-shadow:0 10px 30px rgba(6,43,62,.06);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.g-item:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.g-item.is-hidden{display:none}
.g-item img{width:100%;height:auto;display:block}
.g-item__cap{position:absolute;left:0;right:0;bottom:0;padding:28px 16px 14px;background:linear-gradient(180deg,transparent,rgba(6,43,62,.85));color:#fff;opacity:0;transform:translateY(6px);transition:opacity .3s var(--ease),transform .3s var(--ease)}
.g-item:hover .g-item__cap,.g-item:focus-visible .g-item__cap{opacity:1;transform:none}
.g-item__cap strong{display:block;font-weight:600;font-size:.95rem}
.g-item__cap small{display:block;font-size:.76rem;opacity:.85;margin-top:2px}
.g-note{margin-top:22px;text-align:center;font-size:.95rem;color:var(--text)}
.g-note a{color:var(--purple);font-weight:600}
.lb{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:24px;background:rgba(4,33,47,.92);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:lbIn .25s var(--ease)}
@keyframes lbIn{from{opacity:0}}
.lb__fig{margin:0;max-width:min(1100px,100%);max-height:100%;display:flex;flex-direction:column;align-items:center;gap:14px}
.lb__img{max-width:100%;max-height:calc(100vh - 140px);width:auto;height:auto;object-fit:contain;border-radius:16px;box-shadow:0 40px 100px rgba(0,0,0,.5);background:#fff}
.lb__cap{color:#fff;text-align:center;font-size:.95rem}
.lb__cap strong{font-weight:600}
.lb__cap small{display:block;font-size:.8rem;opacity:.75;margin-top:2px}
.lb__btn{position:absolute;width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;display:grid;place-items:center;transition:background .25s var(--ease)}
.lb__btn:hover{background:rgba(255,255,255,.25)}
.lb__btn svg{width:22px;height:22px}
.lb__close{top:22px;right:22px}
.lb__prev{left:22px;top:50%;transform:translateY(-50%)}
.lb__next{right:22px;top:50%;transform:translateY(-50%)}
.lb__count{position:absolute;top:36px;left:28px;color:rgba(255,255,255,.7);font-size:.8rem;font-weight:600;letter-spacing:.06em}
@media (max-width:1180px){.g-grid{columns:2}}
@media (max-width:640px){.g-grid{columns:1}.lb{padding:12px}.lb__btn{width:44px;height:44px}.lb__prev{left:8px;top:auto;bottom:16px;transform:none}.lb__next{right:8px;top:auto;bottom:16px;transform:none}.lb__close{top:12px;right:12px}.lb__img{max-height:calc(100vh - 170px)}}

/* Article CTA box */
.prose__cta{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:26px;padding:26px 28px;border-radius:22px;background:var(--grad-soft);border:1px solid rgba(98,84,231,.15)}
.prose__cta strong{font-size:1.35rem;letter-spacing:-.03em;color:var(--navy);line-height:1.2}
.prose__cta p{font-size:.98rem;line-height:1.6;color:var(--text);max-width:60ch}
.prose__cta-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}

/* ==========================================================================
   Pricing
   ========================================================================== */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);align-items:start}
.plan{display:flex;flex-direction:column;gap:12px;background:#fff;border-radius:24px;padding:30px 28px;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.plan:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.plan--pop{background:var(--navy);color:#fff;box-shadow:0 30px 70px -30px rgba(6,43,62,.6)}
.plan__head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.plan__head h3{font-size:1.3rem;letter-spacing:-.02em;color:var(--navy)}
.plan--pop .plan__head h3{color:#fff}
.plan__tag{font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border-radius:99px;background:var(--panel);color:var(--navy);white-space:nowrap}
.plan__tag--pop{background:var(--grad);color:#fff}
.plan__price{display:flex;align-items:baseline;gap:3px;margin-top:4px}
.plan__price sup{font-size:1.1rem;font-weight:600;color:var(--purple);align-self:flex-start;margin-top:6px}
.plan__price strong{font-size:2.8rem;font-weight:700;letter-spacing:-.05em;line-height:1;color:var(--navy)}
.plan--pop .plan__price strong,.plan--pop .plan__price sup{color:#fff}
.plan__price span{font-size:.95rem;color:var(--muted);margin-left:2px}
.plan--pop .plan__price span{color:rgba(255,255,255,.65)}
.plan__note{font-size:.84rem;color:var(--muted);line-height:1.5}
.plan--pop .plan__note{color:rgba(255,255,255,.65)}
.plan .checks{margin:6px 0 4px}
.plan--pop .checks li{color:rgba(255,255,255,.9)}
.plan--pop .checks svg{color:var(--lilac)}
.plan .btn{margin-top:auto;justify-content:center}
.plan--pop .btn--outline{border-color:rgba(255,255,255,.4);color:#fff}
.plans__fine{margin-top:20px;font-size:.85rem;color:var(--muted);max-width:70ch}
.ptable-wrap{max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:22px;background:#fff}
.ptable{width:100%;min-width:560px;border-collapse:collapse;font-size:.95rem}
.ptable caption{text-align:left}
.ptable th,.ptable td{padding:14px 18px;text-align:center;border-top:1px solid var(--line)}
.ptable thead th{border-top:0;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-top:20px}
.ptable thead th:first-child,.ptable tbody th{text-align:left;color:var(--navy);font-weight:600}
.ptable tbody th{font-weight:500;color:var(--text)}
.ptable tbody tr:hover{background:var(--panel)}
.ptable .yes{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--grad-soft);color:var(--purple)}
.ptable .yes svg{width:14px;height:14px}
.ptable .no{color:var(--line);font-weight:700}
.addon{display:flex;flex-direction:column;gap:8px;background:#fff;border-radius:22px;padding:26px 24px;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.addon:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.addon h3{font-size:1.1rem;letter-spacing:-.02em;color:var(--navy)}
.addon p{font-size:.92rem;line-height:1.55;color:var(--text)}
.addon__price{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--purple)}
@media (max-width:960px){.plans{grid-template-columns:1fr}}

/* ==========================================================================
   Mini pages (404, thank you)
   ========================================================================== */
.mini{padding:clamp(32px,5vw,64px) var(--pad)}
.mini__inner{max-width:760px;margin:0 auto;display:grid;gap:16px}
.mini__inner h2{font-size:clamp(1.7rem,3vw,2.4rem);letter-spacing:-.03em;color:var(--navy)}
.mini__inner>p{font-size:1.02rem;line-height:1.7;color:var(--text)}
.mini__links{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}
.mini__links a{display:block;padding:16px 18px;border-radius:16px;background:#fff;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.mini__links a:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.mini__links strong{display:block;font-weight:600;color:var(--navy);font-size:.98rem}
.mini__links small{display:block;font-size:.82rem;color:var(--muted);margin-top:2px}
.mini__cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.mini__note{font-size:.92rem;color:var(--text)}
.mini__note a{color:var(--purple);font-weight:600}
.ty-steps{display:grid;gap:14px;margin-top:4px}
.ty-steps li{display:flex;gap:16px;align-items:flex-start;background:#fff;border-radius:18px;padding:20px 22px}
.ty-steps i{font-style:normal;font-size:.78rem;font-weight:800;letter-spacing:.06em;color:var(--purple);padding-top:3px}
.ty-steps strong{display:block;color:var(--navy);font-weight:600;font-size:1.02rem}
.ty-steps span{display:block;font-size:.94rem;line-height:1.6;color:var(--text);margin-top:3px}
@media (max-width:640px){.mini__links{grid-template-columns:1fr}}

/* ==========================================================================
   Industry hubs
   ========================================================================== */
.ind-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.ind-card{display:flex;flex-direction:column;gap:10px;background:#fff;border-radius:22px;padding:26px 24px;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.ind-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.ind-card__ico{width:46px;height:46px;border-radius:14px;background:var(--grad-soft);color:var(--purple);display:grid;place-items:center}
.ind-card__ico svg{width:23px;height:23px}
.ind-card strong{font-size:1.15rem;letter-spacing:-.02em;color:var(--navy)}
.ind-card small{font-size:.92rem;line-height:1.55;color:var(--text)}
.ind-card__go{margin-top:auto;padding-top:10px;display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;color:var(--purple);transition:gap .25s var(--ease)}
.ind-card__go svg{width:15px;height:15px}
.ind-card:hover .ind-card__go{gap:10px}
.rel{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
.rel>span{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.rel__links{display:flex;flex-wrap:wrap;gap:8px}
.rel__links a{padding:9px 16px;border-radius:99px;background:#fff;font-size:.88rem;font-weight:600;color:var(--navy);transition:transform .25s var(--ease),box-shadow .25s var(--ease),color .25s}
.rel__links a:hover{transform:translateY(-2px);box-shadow:var(--shadow);color:var(--purple)}
.rel__note{margin-top:20px;font-size:.82rem;line-height:1.6;color:var(--muted);max-width:80ch}
@media (max-width:1180px){.ind-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.ind-grid{grid-template-columns:1fr}}

/* ── Thank you page ─────────────────────────────────────────────── */
.ty-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:clamp(24px,4vw,64px);align-items:center;overflow:hidden}
.ty-hero .hero__inner{margin-left:0;max-width:620px}
.ty .legal-hero .meta span svg{width:15px;height:15px;color:var(--purple)}

/* success mark */
.ty-ok{position:relative;display:grid;place-items:center;min-height:300px}
.ty-ok__rings{position:absolute;inset:0;display:grid;place-items:center}
.ty-ok__rings i{position:absolute;width:150px;height:150px;border-radius:50%;border:1.5px solid rgba(98,84,231,.28);animation:tyPulse 3.4s var(--ease) infinite}
.ty-ok__rings i:nth-child(2){animation-delay:1.1s}
.ty-ok__rings i:nth-child(3){animation-delay:2.2s}
@keyframes tyPulse{0%{transform:scale(.62);opacity:0}25%{opacity:.9}100%{transform:scale(1.55);opacity:0}}
.ty-ok__disc{position:relative;width:132px;height:132px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--grad);box-shadow:0 24px 60px rgba(98,84,231,.35),inset 0 -6px 18px rgba(255,255,255,.25)}
.ty-ok__disc svg{width:58px;height:58px;stroke-dasharray:32;stroke-dashoffset:32;animation:tyDraw .7s var(--ease) .25s forwards}
@keyframes tyDraw{to{stroke-dashoffset:0}}
.ty-ok__chip{position:absolute;bottom:34px;display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:99px;background:#fff;font-size:.82rem;font-weight:600;color:var(--navy);box-shadow:0 10px 30px rgba(6,43,62,.12);white-space:nowrap}
.ty-ok__chip b{width:8px;height:8px;border-radius:50%;background:#1fb6a8;box-shadow:0 0 0 4px rgba(31,182,168,.18)}
@media (prefers-reduced-motion:reduce){.ty-ok__rings i{animation:none;opacity:.35}.ty-ok__disc svg{animation:none;stroke-dashoffset:0}}

/* steps */
.ty .mini__inner{max-width:940px}
.ty-next__head{text-align:center;display:grid;justify-items:center;gap:10px;margin-bottom:8px}
.ty-next__head>p{max-width:460px;color:var(--muted);font-size:.98rem}
.ty .ty-steps{grid-template-columns:repeat(3,1fr);gap:var(--gap);margin-top:20px;counter-reset:ty}
.ty .ty-steps li{display:block;position:relative;padding:30px 26px 26px;border-radius:22px;background:#fff;box-shadow:0 10px 30px rgba(6,43,62,.05);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.ty .ty-steps li:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.ty-steps__ico{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(150deg,rgba(215,150,255,.2),rgba(98,84,231,.16));color:var(--purple);margin-bottom:16px}
.ty-steps__ico svg{width:22px;height:22px}
.ty .ty-steps i{position:absolute;top:26px;right:26px;font-style:normal;font-size:.72rem;font-weight:800;letter-spacing:.1em;color:rgba(98,84,231,.4)}
.ty .ty-steps strong{display:block;color:var(--navy);font-size:1.06rem;letter-spacing:-.02em;margin-bottom:7px}
.ty .ty-steps span{display:block;font-size:.92rem;line-height:1.65;color:var(--text)}

/* hurry strip */
.ty-call{display:flex;align-items:center;gap:16px;margin-top:22px;padding:20px 24px;border-radius:20px;background:linear-gradient(135deg,var(--navy),#1b2a55);color:rgba(255,255,255,.72)}
.ty-call__ico{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff}
.ty-call__ico svg{width:20px;height:20px}
.ty-call strong{display:block;color:#fff;font-size:1rem;margin-bottom:2px}
.ty-call span{font-size:.94rem}
.ty-call a{color:var(--lilac);font-weight:700}

/* while you wait */
.ty-wait{padding-top:clamp(28px,4vw,52px)}
.ty-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);margin-top:18px}
.ty-card{display:flex;flex-direction:column;gap:8px;padding:28px 26px;border-radius:22px;background:#fff;box-shadow:0 10px 30px rgba(6,43,62,.05);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.ty-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.ty-card__ico{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:rgba(98,84,231,.1);color:var(--purple);margin-bottom:6px}
.ty-card__ico svg{width:20px;height:20px}
.ty-card strong{color:var(--navy);font-size:1.05rem;letter-spacing:-.02em}
.ty-card small{font-size:.9rem;line-height:1.6;color:var(--text)}
.ty-card b{display:inline-flex;align-items:center;gap:7px;margin-top:auto;padding-top:12px;font-size:.86rem;font-weight:700;color:var(--purple)}
.ty-card b svg{width:15px;height:15px;transition:transform .3s var(--ease)}
.ty-card:hover b svg{transform:translateX(4px)}

@media (max-width:960px){
  .ty-hero{grid-template-columns:minmax(0,1fr)}
  .ty-ok{min-height:230px;margin-top:8px}
  .ty .ty-steps,.ty-cards{grid-template-columns:minmax(0,1fr)}
  .ty .ty-steps li{padding:26px 22px}
}
@media (max-width:640px){
  .ty-ok__disc{width:104px;height:104px}
  .ty-ok__disc svg{width:46px;height:46px}
  .ty-ok__rings i{width:118px;height:118px}
  .ty-call{flex-direction:column;align-items:flex-start;text-align:left}
}
