/* seotipsonline.com | SEO Agency | Sainte-Marie-de-Re, France
   Carbon #1C1E23 + Signal Orange #E84830 (FIRST!)
   Antonio (FIRST! bold condensed headline) + Barlow (FIRST! clean geometric body)
   SPLIT-CENTERED-LOGO NAV (FIRST!) | DARK HERO + ANIMATED COUNTERS (FIRST!)
   HOVER-REVEAL SERVICE CARDS (FIRST!) | HORIZONTAL TIMELINE PROCESS (FIRST!)
   FAQ SPLIT-PANEL (FIRST!) | 2-COL MASONRY TESTIMONIALS (FIRST!)
   sot- CSS prefix | SOT JS namespace | services/.htaccess ^$ pre-applied */
@import url('https://fonts.googleapis.com/css2?family=Antonio:wght@400;500;600;700&family=Barlow:wght@300;400;500;600;700&display=swap');
:root{
  --sot-ink:#1C1E23; --sot-ink2:#13151A; --sot-mid:#3C3E43; --sot-slate:#8A8880;
  --sot-signal:#E84830; --sot-signal2:#C73820; --sot-signalL:rgba(232,72,48,.1);
  --sot-snow:#FAFAF8; --sot-silver:#F0F0ED; --sot-line:#E4E4E0;
  --sot-max:1160px;
  --sot-fh:'Antonio',Impact,sans-serif;
  --sot-fb:'Barlow',system-ui,sans-serif;
  --sot-r:5px; --sot-r2:10px; --sot-r3:16px;
  --sot-ease:all .22s cubic-bezier(.4,0,.2,1);
  --sot-sh:0 2px 12px rgba(28,30,35,.08);
  --sot-sh2:0 12px 40px rgba(28,30,35,.14);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--sot-snow);color:var(--sot-slate);font-family:var(--sot-fb);font-size:.9rem;line-height:1.72;overflow-x:hidden;}
img{display:block;max-width:100%;}a{color:inherit;text-decoration:none;}ul{list-style:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
input,textarea,select{font-family:inherit;}address{font-style:normal;}
h1,h2,h3,h4{font-family:var(--sot-fh);color:var(--sot-ink);letter-spacing:-.01em;}
p{font-size:.9rem;line-height:1.78;color:var(--sot-slate);}

/* ═══ SPLIT NAV with CENTERED LOGO (FIRST!) ═══ */
.sot-roof{position:sticky;top:0;z-index:200;background:var(--sot-snow);border-bottom:1px solid var(--sot-line);transition:box-shadow .2s;}
.sot-roof.sot-rf-up{box-shadow:var(--sot-sh2);}
.sot-sn-shell{max-width:var(--sot-max);margin:0 auto;padding:.7rem 2.5rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;}
/* LEFT nav links */
.sot-sn-left{display:flex;align-items:center;gap:.1rem;justify-content:flex-end;}
/* Bigger logo: Antonio 2rem centered */
.sot-brand{font-family:var(--sot-fh);font-size:2rem;font-weight:700;color:var(--sot-ink);text-decoration:none;letter-spacing:.02em;white-space:nowrap;line-height:1;}
.sot-brand em{color:var(--sot-signal);font-style:normal;}
/* RIGHT nav links */
.sot-sn-right{display:flex;align-items:center;gap:.1rem;justify-content:flex-start;}
/* Nav links: Barlow 1rem 600 (bigger than body .9rem!) */
.sot-nl{font-family:var(--sot-fb);font-size:1rem;font-weight:600;color:var(--sot-mid);padding:.32rem .6rem;border-radius:var(--sot-r);transition:color .16s;white-space:nowrap;text-decoration:none;}
.sot-nl:hover,.sot-nl.sot-nav-on{color:var(--sot-signal);}
/* Signal CTA pill */
.sot-cta-pill{font-family:var(--sot-fb);font-size:.88rem;font-weight:700;color:white;background:var(--sot-signal);padding:.38rem 1rem;border-radius:100px;transition:var(--sot-ease);white-space:nowrap;text-decoration:none;margin-left:.3rem;}
.sot-cta-pill:hover{background:var(--sot-signal2);}
/* Lang toggle */
.sot-lng-sw{display:flex;align-items:center;gap:.1rem;margin-left:.5rem;}
.sot-lng-btn{font-family:var(--sot-fb);font-size:.4rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--sot-slate);cursor:pointer;padding:.12rem .2rem;border-radius:var(--sot-r);transition:color .14s;border:none;background:none;}
.sot-lng-btn:hover,.sot-lng-btn.sot-lon{color:var(--sot-signal);}
.sot-lng-sl{font-size:.38rem;color:var(--sot-line);}
/* Mobile button */
.sot-mob-btn{color:var(--sot-mid);display:none;padding:.25rem;}
.sot-mob-btn:hover{color:var(--sot-signal);}
/* Mobile drawer */
.sot-mob-drw{display:none;position:absolute;left:0;right:0;top:100%;background:var(--sot-snow);border-top:2px solid var(--sot-signal);border-bottom:1px solid var(--sot-line);padding:.5rem 2.5rem 1rem;z-index:190;box-shadow:var(--sot-sh2);}
.sot-mob-drw.sot-mob-vis{display:block;}
.sot-mob-a{display:block;font-family:var(--sot-fb);font-size:.95rem;font-weight:600;color:var(--sot-mid);padding:.42rem 0;border-bottom:1px solid var(--sot-line);text-decoration:none;transition:color .14s;}
.sot-mob-a:hover,.sot-mob-a.sot-nav-on{color:var(--sot-signal);}

/* ═══ DARK HERO with animated counters (FIRST!) ═══ */
.sot-hero-dark{background:var(--sot-ink);padding:8rem 2.5rem 0;position:relative;overflow:hidden;}
.sot-hero-dark::before{content:'';position:absolute;top:-120px;right:-120px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(232,72,48,.08) 0%,transparent 70%);}
.sot-hero-in{max-width:var(--sot-max);margin:0 auto;position:relative;z-index:1;}
.sot-hero-eye{font-family:var(--sot-fb);font-size:.4rem;font-weight:600;text-transform:uppercase;letter-spacing:.32em;color:rgba(255,255,255,.3);display:block;margin-bottom:1.5rem;}
/* BIG Antonio headline */
.sot-hero-hl{font-family:var(--sot-fh);font-size:clamp(5rem,12vw,13rem);font-weight:700;color:white;line-height:.9;letter-spacing:-.02em;margin-bottom:2.5rem;}
.sot-hero-hl em{color:var(--sot-signal);font-style:normal;}
.sot-hero-right{max-width:480px;margin-bottom:3rem;}
.sot-hero-sub{font-size:.95rem;color:rgba(255,255,255,.35);line-height:1.78;margin-bottom:1.5rem;}
.sot-hero-acts{display:flex;gap:.6rem;flex-wrap:wrap;}
/* COUNTERS STRIP at bottom of dark hero */
.sot-ctr-row{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.08);margin-top:4rem;}
.sot-ctr-blk{padding:2rem 1.5rem;border-right:1px solid rgba(255,255,255,.06);display:flex;align-items:baseline;gap:.15rem;flex-wrap:wrap;}
.sot-ctr-blk:last-child{border-right:none;}
.sot-ctr-v{font-family:var(--sot-fh);font-size:clamp(2.5rem,6vw,5rem);font-weight:700;color:white;line-height:1;}
.sot-ctr-sfx{font-family:var(--sot-fh);font-size:clamp(1.5rem,4vw,3rem);font-weight:700;color:var(--sot-signal);}
.sot-ctr-l{font-family:var(--sot-fb);font-size:.38rem;font-weight:600;text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.2);display:block;width:100%;margin-top:.2rem;}

/* ═══ PROBLEM/SOLUTION BAND ═══ */
.sot-psband{background:var(--sot-silver);padding:5rem 2.5rem;border-top:1px solid var(--sot-line);}
.sot-psband-in{max-width:var(--sot-max);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;}
.sot-ps-eye{font-family:var(--sot-fb);font-size:.38rem;font-weight:700;text-transform:uppercase;letter-spacing:.28em;color:var(--sot-signal);display:block;margin-bottom:.4rem;}
.sot-ps-hl{font-family:var(--sot-fh);font-size:clamp(1.8rem,3.5vw,3.2rem);font-weight:700;color:var(--sot-ink);line-height:1.1;margin-bottom:1rem;}
.sot-ps-body{font-size:.92rem;color:var(--sot-mid);line-height:1.8;}

/* ═══ SERVICE CARDS with HOVER-REVEAL OVERLAY (FIRST!) ═══ */
.sot-svc-zone{background:var(--sot-snow);padding:8rem 2.5rem;border-top:1px solid var(--sot-line);}
.sot-svc-in{max-width:var(--sot-max);margin:0 auto;}
.sot-svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem;}
.sot-svc-card{position:relative;overflow:hidden;background:var(--sot-snow);border:1.5px solid var(--sot-line);border-radius:var(--sot-r2);padding:2rem;transition:var(--sot-ease);text-decoration:none;display:block;min-height:220px;}
.sot-svc-card:hover{border-color:var(--sot-signal);box-shadow:0 8px 30px rgba(232,72,48,.12);}
.sot-svc-icon{width:44px;height:44px;background:var(--sot-signalL);border-radius:var(--sot-r);display:flex;align-items:center;justify-content:center;color:var(--sot-signal);margin-bottom:1.2rem;transition:var(--sot-ease);}
.sot-svc-card:hover .sot-svc-icon{background:var(--sot-signal);color:white;}
.sot-svc-nm{font-family:var(--sot-fh);font-size:1.4rem;font-weight:700;color:var(--sot-ink);margin-bottom:.4rem;}
.sot-svc-pr{font-family:var(--sot-fh);font-size:.95rem;color:var(--sot-signal);display:block;margin-bottom:.5rem;}
.sot-svc-tag{font-family:var(--sot-fb);font-size:.78rem;color:var(--sot-slate);line-height:1.6;}
/* HOVER REVEAL overlay slides up (FIRST animation!) */
.sot-svc-reveal{position:absolute;bottom:0;left:0;right:0;background:var(--sot-signal);padding:1.4rem;transform:translateY(101%);transition:transform .3s cubic-bezier(.4,0,.2,1);}
.sot-svc-card:hover .sot-svc-reveal{transform:translateY(0);}
.sot-svr-txt{font-family:var(--sot-fb);font-size:.84rem;color:white;line-height:1.62;margin-bottom:.7rem;}
.sot-svr-lnk{font-family:var(--sot-fb);font-size:.8rem;font-weight:700;color:white;display:inline-flex;align-items:center;gap:.3rem;border-bottom:1px solid rgba(255,255,255,.3);}

/* PAGE BANNER */
.sot-pg-bnr{background:var(--sot-ink);padding:5rem 2.5rem 4.5rem;position:relative;overflow:hidden;}
.sot-pg-bnr::after{content:'';position:absolute;right:-50px;bottom:-50px;width:200px;height:200px;border-radius:50%;background:rgba(232,72,48,.06);}
.sot-pg-bnr-in{max-width:var(--sot-max);margin:0 auto;position:relative;z-index:1;}
.sot-pg-eye{font-family:var(--sot-fb);font-size:.38rem;font-weight:700;text-transform:uppercase;letter-spacing:.3em;color:rgba(255,255,255,.3);display:block;margin-bottom:.35rem;}
.sot-pg-bnr h1{font-family:var(--sot-fh);font-size:clamp(2.8rem,6vw,6rem);font-weight:700;color:white;letter-spacing:-.02em;line-height:1.0;}
.sot-pg-sub{font-family:var(--sot-fb);font-size:.92rem;color:rgba(255,255,255,.35);margin:.55rem 0 0;max-width:52ch;line-height:1.72;}

/* CASE STUDIES: large horizontal cards (FIRST!) */
.sot-cases-zone{background:var(--sot-silver);padding:8rem 2.5rem;border-top:1px solid var(--sot-line);}
.sot-cases-in{max-width:var(--sot-max);margin:0 auto;}
.sot-cases-stack{display:flex;flex-direction:column;gap:1.5rem;margin-top:2.5rem;}
.sot-case-card{display:grid;grid-template-columns:340px 1fr;background:var(--sot-snow);border:1.5px solid var(--sot-line);border-radius:var(--sot-r2);overflow:hidden;transition:var(--sot-ease);}
.sot-case-card:hover{border-color:var(--sot-signal);box-shadow:var(--sot-sh2);}
.sot-case-img{overflow:hidden;background:var(--sot-line);}
.sot-case-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.sot-case-card:hover .sot-case-img img{transform:scale(1.04);}
.sot-case-body{padding:2rem 2.5rem;}
.sot-case-cat{font-family:var(--sot-fb);font-size:.36rem;font-weight:700;text-transform:uppercase;letter-spacing:.22em;color:var(--sot-signal);display:block;margin-bottom:.5rem;}
.sot-case-h{font-family:var(--sot-fh);font-size:clamp(1.3rem,2.5vw,1.9rem);font-weight:700;color:var(--sot-ink);line-height:1.2;margin-bottom:.8rem;}
.sot-case-p{font-size:.86rem;color:var(--sot-slate);line-height:1.78;margin-bottom:1.2rem;}
.sot-case-metrics{display:flex;gap:.6rem;flex-wrap:wrap;}
.sot-case-metric{font-family:var(--sot-fb);font-size:.36rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:white;background:var(--sot-ink);padding:.18rem .55rem;border-radius:100px;}

/* HORIZONTAL TIMELINE PROCESS (FIRST!) */
.sot-proc-zone{background:var(--sot-snow);padding:8rem 2.5rem;border-top:1px solid var(--sot-line);}
.sot-proc-in{max-width:var(--sot-max);margin:0 auto;}
.sot-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:3rem;position:relative;}
.sot-timeline::before{content:'';position:absolute;top:28px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,var(--sot-signal),rgba(232,72,48,.2));z-index:0;}
.sot-tl-step{position:relative;z-index:1;padding:0 1rem;text-align:center;}
.sot-tl-dot{width:56px;height:56px;background:var(--sot-signal);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem;color:white;}
.sot-tl-n{font-family:var(--sot-fb);font-size:.36rem;font-weight:700;text-transform:uppercase;letter-spacing:.22em;color:var(--sot-signal);display:block;margin-bottom:.3rem;}
.sot-tl-nm{font-family:var(--sot-fh);font-size:1.2rem;font-weight:700;color:var(--sot-ink);margin-bottom:.5rem;}
.sot-tl-bd{font-size:.82rem;color:var(--sot-slate);line-height:1.7;}

/* PRICING */
.sot-price-zone{background:var(--sot-ink);padding:8rem 2.5rem;border-top:1px solid rgba(255,255,255,.06);}
.sot-price-in{max-width:var(--sot-max);margin:0 auto;}
.sot-price-hd{text-align:center;margin-bottom:2.5rem;}
.sot-price-hd h2{font-family:var(--sot-fh);font-size:clamp(2rem,5vw,4.5rem);font-weight:700;color:white;margin-bottom:.5rem;}
.sot-price-hd p{font-size:.92rem;color:rgba(255,255,255,.3);}
.sot-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.sot-plan-card{background:rgba(255,255,255,.04);border:1.5px solid rgba(255,255,255,.09);border-radius:var(--sot-r2);overflow:hidden;transition:var(--sot-ease);}
.sot-plan-card:hover{border-color:rgba(232,72,48,.4);}
.sot-plan-card.sot-plan-feat{background:var(--sot-signal);border-color:var(--sot-signal);}
.sot-plan-top{padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.08);}
.sot-plan-feat .sot-plan-top{border-bottom-color:rgba(255,255,255,.2);}
.sot-plan-badge{font-family:var(--sot-fb);font-size:.34rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--sot-signal);background:var(--sot-signalL);padding:.12rem .4rem;border-radius:100px;display:inline-block;margin-bottom:.4rem;}
.sot-plan-feat .sot-plan-badge{color:white;background:rgba(255,255,255,.2);}
.sot-plan-nm{font-family:var(--sot-fh);font-size:1.6rem;font-weight:700;color:white;}
.sot-plan-tag{font-size:.82rem;color:rgba(255,255,255,.4);margin-top:.2rem;}
.sot-plan-feat .sot-plan-tag{color:rgba(255,255,255,.65);}
.sot-plan-body{padding:1.5rem;}
.sot-plan-pr{display:flex;align-items:baseline;gap:.15rem;margin-bottom:1.2rem;}
.sot-plan-amount{font-family:var(--sot-fh);font-size:clamp(2rem,4vw,3.5rem);font-weight:700;color:white;letter-spacing:-.04em;}
.sot-plan-cycle{font-family:var(--sot-fb);font-size:.82rem;color:rgba(255,255,255,.35);}
.sot-plan-inc{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.5rem;}
.sot-plan-inc li{display:flex;align-items:flex-start;gap:.4rem;font-size:.82rem;color:rgba(255,255,255,.45);}
.sot-plan-feat .sot-plan-inc li{color:rgba(255,255,255,.75);}
.sot-plan-inc li svg{color:var(--sot-signal);flex-shrink:0;margin-top:.12rem;}
.sot-plan-feat .sot-plan-inc li svg{color:white;}

/* TESTIMONIALS: 2-col masonry style (FIRST!) */
.sot-testi-zone{background:var(--sot-snow);padding:8rem 2.5rem;border-top:1px solid var(--sot-line);}
.sot-testi-in{max-width:var(--sot-max);margin:0 auto;}
.sot-testi-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2.5rem;align-items:start;}
.sot-testi-card{background:var(--sot-snow);border:1.5px solid var(--sot-line);border-radius:var(--sot-r2);padding:2rem;}
.sot-testi-card:nth-child(2){margin-top:2rem;}
.sot-testi-stars{color:var(--sot-signal);font-size:.9rem;margin-bottom:.8rem;}
.sot-testi-q{font-family:var(--sot-fh);font-size:clamp(1rem,2vw,1.3rem);color:var(--sot-ink);line-height:1.45;margin-bottom:1.2rem;}
.sot-testi-who{font-family:var(--sot-fb);font-size:.86rem;font-weight:700;color:var(--sot-signal);}
.sot-testi-role{font-size:.78rem;color:var(--sot-slate);}

/* FAQ: SPLIT PANEL (FIRST!) */
.sot-faq-zone{background:var(--sot-silver);padding:8rem 2.5rem;border-top:1px solid var(--sot-line);}
.sot-faq-in{max-width:var(--sot-max);margin:0 auto;}
.sot-faq-wrap{display:grid;grid-template-columns:280px 1fr;gap:3rem;margin-top:2.5rem;}
.sot-faq-list{display:flex;flex-direction:column;gap:.3rem;}
.sot-faq-qbtn{font-family:var(--sot-fb);font-size:.88rem;font-weight:600;color:var(--sot-mid);padding:.65rem .8rem;border-radius:var(--sot-r);cursor:pointer;text-align:left;border:none;background:none;transition:var(--sot-ease);line-height:1.4;border-left:2px solid transparent;}
.sot-faq-qbtn:hover{color:var(--sot-ink);background:var(--sot-snow);}
.sot-faq-qbtn.sot-fq-on{color:var(--sot-signal);background:var(--sot-signalL);border-left-color:var(--sot-signal);}
.sot-faq-panel{background:var(--sot-snow);border:1.5px solid var(--sot-line);border-radius:var(--sot-r2);padding:2rem;}
.sot-faq-ans-item{display:none;}
.sot-faq-ans-item.sot-fa-vis{display:block;}
.sot-faq-qh{font-family:var(--sot-fh);font-size:1.3rem;font-weight:700;color:var(--sot-ink);margin-bottom:.8rem;}
.sot-faq-at{font-size:.9rem;color:var(--sot-slate);line-height:1.8;}

/* DARK CTA BAND */
.sot-cta-band{background:var(--sot-signal);padding:7rem 2.5rem;text-align:center;}
.sot-cta-in{max-width:var(--sot-max);margin:0 auto;}
.sot-cta-hl{font-family:var(--sot-fh);font-size:clamp(3rem,8vw,9rem);font-weight:700;color:white;line-height:.9;letter-spacing:-.02em;margin-bottom:1rem;}
.sot-cta-sub{font-size:.95rem;color:rgba(255,255,255,.6);max-width:50ch;margin:0 auto 2.5rem;}
.sot-cta-acts{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;}

/* BUTTONS */
.sot-btn-signal{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--sot-fb);font-size:.92rem;font-weight:700;color:white;background:var(--sot-signal);padding:.5rem 1.4rem;border-radius:100px;transition:var(--sot-ease);border:none;cursor:pointer;text-decoration:none;white-space:nowrap;}
.sot-btn-signal:hover{background:var(--sot-signal2);}
.sot-btn-ink{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--sot-fb);font-size:.92rem;font-weight:700;color:white;background:var(--sot-ink);padding:.5rem 1.4rem;border-radius:100px;transition:var(--sot-ease);border:none;cursor:pointer;text-decoration:none;white-space:nowrap;}
.sot-btn-ink:hover{background:var(--sot-mid);}
.sot-btn-ghost{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--sot-fb);font-size:.92rem;font-weight:700;color:rgba(255,255,255,.6);background:transparent;padding:.5rem 1.4rem;border-radius:100px;border:1px solid rgba(255,255,255,.15);transition:var(--sot-ease);text-decoration:none;white-space:nowrap;}
.sot-btn-ghost:hover{color:white;border-color:rgba(255,255,255,.4);}
.sot-btn-out{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--sot-fb);font-size:.92rem;font-weight:700;color:var(--sot-signal);background:transparent;padding:.48rem 1.4rem;border-radius:100px;border:1.5px solid var(--sot-signal);transition:var(--sot-ease);text-decoration:none;white-space:nowrap;}
.sot-btn-out:hover{background:var(--sot-signal);color:white;}
.sot-btn-white{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--sot-fb);font-size:.92rem;font-weight:700;color:var(--sot-signal);background:white;padding:.5rem 1.4rem;border-radius:100px;transition:var(--sot-ease);border:none;cursor:pointer;text-decoration:none;white-space:nowrap;}
.sot-btn-white:hover{background:var(--sot-silver);}
.sot-btn-out-w{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--sot-fb);font-size:.92rem;font-weight:700;color:white;background:transparent;padding:.48rem 1.4rem;border-radius:100px;border:1.5px solid rgba(255,255,255,.4);transition:var(--sot-ease);text-decoration:none;white-space:nowrap;}
.sot-btn-out-w:hover{border-color:white;}

/* SERVICE PAGE */
.sot-svc-pg-wrap{max-width:var(--sot-max);margin:0 auto;padding:4rem 2.5rem 8rem;display:grid;grid-template-columns:1fr 260px;gap:4rem;align-items:start;}
.sot-svc-pg-img{width:100%;height:240px;object-fit:cover;border-radius:var(--sot-r2);border:1.5px solid var(--sot-line);margin-bottom:1.5rem;}
.sot-svc-pg-body h2{font-family:var(--sot-fh);font-size:1.15rem;font-weight:700;color:var(--sot-ink);margin:2rem 0 .5rem;}
.sot-svc-pg-body p{font-size:.92rem;color:var(--sot-slate);line-height:1.82;margin-bottom:.9rem;}
.sot-out-row{display:flex;align-items:flex-start;gap:.4rem;font-size:.88rem;color:var(--sot-mid);margin-bottom:.4rem;}
.sot-out-row svg{color:var(--sot-signal);flex-shrink:0;margin-top:.12rem;}
.sot-for-row{display:flex;align-items:flex-start;gap:.4rem;font-size:.88rem;color:var(--sot-mid);margin-bottom:.4rem;}
.sot-for-row svg{color:var(--sot-signal);flex-shrink:0;margin-top:.12rem;}
/* Buy sidebar */
.sot-buy-card{background:var(--sot-ink);border-radius:var(--sot-r2);overflow:hidden;position:sticky;top:5rem;}
.sot-buy-top{background:var(--sot-signal);padding:1.3rem;}
.sot-buy-from{font-family:var(--sot-fb);font-size:.36rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.55);display:block;margin-bottom:.2rem;}
.sot-buy-pr{font-family:var(--sot-fh);font-size:2.8rem;font-weight:700;color:white;display:block;letter-spacing:-.04em;line-height:1;}
.sot-buy-btn{display:flex;width:100%;justify-content:center;gap:.4rem;background:white;color:var(--sot-signal);font-family:var(--sot-fb);font-size:.9rem;font-weight:700;padding:.55rem;border-radius:100px;cursor:pointer;transition:var(--sot-ease);margin-top:.8rem;text-decoration:none;border:none;}
.sot-buy-btn:hover{background:var(--sot-silver);}
.sot-buy-body{padding:.8rem 1.2rem;}
.sot-buy-row{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:rgba(255,255,255,.3);padding:.28rem 0;border-bottom:1px solid rgba(255,255,255,.07);}
.sot-buy-row:last-child{border-bottom:none;}
.sot-buy-row svg{color:var(--sot-signal);flex-shrink:0;}
.sot-buy-lnk{display:flex;align-items:center;gap:.35rem;font-family:var(--sot-fb);font-size:.8rem;font-weight:600;color:rgba(255,255,255,.2);padding:.42rem 1.2rem;border-top:1px solid rgba(255,255,255,.07);transition:color .14s;text-decoration:none;}
.sot-buy-lnk:hover{color:var(--sot-signal);}

/* BUILDER */
.sot-bld-wrap{max-width:var(--sot-max);margin:0 auto;padding:4rem 2.5rem 8rem;display:grid;grid-template-columns:1fr 260px;gap:4rem;align-items:start;}
.sot-bld-sec{margin-bottom:2rem;}
.sot-bld-lbl{display:block;font-family:var(--sot-fb);font-size:.36rem;font-weight:700;text-transform:uppercase;letter-spacing:.24em;color:var(--sot-slate);margin-bottom:.6rem;}
.sot-tier-row{background:var(--sot-snow);border:1.5px solid var(--sot-line);border-radius:var(--sot-r);padding:.7rem 1rem;display:flex;align-items:center;gap:.7rem;cursor:pointer;user-select:none;transition:var(--sot-ease);margin-bottom:.4rem;}
.sot-tier-row.sot-t-on{border-color:var(--sot-signal);background:var(--sot-signalL);}
.sot-tier-dot{width:16px;height:16px;border:2px solid var(--sot-line);border-radius:50%;flex-shrink:0;transition:var(--sot-ease);}
.sot-tier-row.sot-t-on .sot-tier-dot{background:var(--sot-signal);border-color:var(--sot-signal);}
.sot-tier-nm{font-family:var(--sot-fb);font-size:.9rem;color:var(--sot-slate);flex:1;}
.sot-tier-row.sot-t-on .sot-tier-nm{color:var(--sot-ink);font-weight:700;}
.sot-tier-pr{font-family:var(--sot-fh);font-size:.95rem;font-weight:700;color:var(--sot-ink);}
.sot-adn-row{background:var(--sot-snow);border:1.5px solid var(--sot-line);border-radius:var(--sot-r);padding:.55rem 1rem;display:flex;align-items:center;gap:.6rem;cursor:pointer;user-select:none;transition:var(--sot-ease);margin-bottom:.4rem;}
.sot-adn-row.sot-a-on{border-color:var(--sot-signal);background:var(--sot-signalL);}
.sot-adn-chk{width:14px;height:14px;border:2px solid var(--sot-line);border-radius:3px;flex-shrink:0;transition:var(--sot-ease);}
.sot-adn-row.sot-a-on .sot-adn-chk{background:var(--sot-signal);border-color:var(--sot-signal);}
.sot-adn-nm{font-family:var(--sot-fb);font-size:.82rem;color:var(--sot-slate);flex:1;}
.sot-adn-row.sot-a-on .sot-adn-nm{color:var(--sot-ink);font-weight:600;}
.sot-adn-pr{font-size:.78rem;color:var(--sot-slate);}
.sot-hrs-box{background:var(--sot-snow);border:1.5px solid var(--sot-line);border-radius:var(--sot-r);padding:1rem;}
.sot-hrs-rng{-webkit-appearance:none;width:100%;height:3px;background:var(--sot-line);border-radius:2px;cursor:pointer;}
.sot-hrs-rng::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--sot-signal);cursor:pointer;}
/* Summary */
.sot-smr{background:var(--sot-ink);border-radius:var(--sot-r2);overflow:hidden;position:sticky;top:5rem;}
.sot-smr-hd{padding:.6rem 1.2rem;border-bottom:1px solid rgba(255,255,255,.07);}
.sot-smr-hl{font-family:var(--sot-fb);font-size:.36rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.25);}
.sot-smr-bd{padding:.6rem 1.2rem;}
.sot-smr-ln{display:flex;justify-content:space-between;gap:.5rem;font-size:.8rem;color:rgba(255,255,255,.3);margin-bottom:.3rem;}
.sot-smr-lnp{font-family:var(--sot-fh);font-size:.9rem;color:white;}
.sot-smr-sep{border:none;border-top:1px solid rgba(255,255,255,.07);margin:.4rem 1.2rem;}
.sot-smr-tot{display:flex;justify-content:space-between;align-items:flex-end;padding:.3rem 1.2rem .5rem;}
.sot-smr-totl{font-family:var(--sot-fb);font-size:.36rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.25);}
.sot-smr-totv{font-family:var(--sot-fh);font-size:2.8rem;font-weight:700;color:white;letter-spacing:-.04em;}
.sot-smr-ft{padding:.8rem 1.2rem;border-top:1px solid rgba(255,255,255,.07);}
.sot-smr-go{display:block;width:100%;background:var(--sot-signal);color:white;font-family:var(--sot-fb);font-size:.92rem;font-weight:700;padding:.6rem;border-radius:100px;border:none;cursor:pointer;transition:var(--sot-ease);}
.sot-smr-go:hover:not(:disabled){background:var(--sot-signal2);}
.sot-smr-go:disabled{opacity:.2;cursor:not-allowed;}

/* CHECKOUT */
.sot-co-wrap{max-width:var(--sot-max);margin:0 auto;padding:5rem 2.5rem 8rem;display:grid;grid-template-columns:1fr 260px;gap:4rem;align-items:start;}
.sot-fg{margin-bottom:.7rem;}
.sot-fl{display:block;font-family:var(--sot-fb);font-size:.36rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--sot-slate);margin-bottom:.22rem;}
.sot-fi{width:100%;background:var(--sot-snow);border:1.5px solid var(--sot-line);border-radius:var(--sot-r);padding:.62rem .9rem;color:var(--sot-ink);font-size:.9rem;transition:border-color .14s;font-family:var(--sot-fb);}
.sot-fi:focus{outline:none;border-color:var(--sot-signal);box-shadow:0 0 0 3px var(--sot-signalL);}
.sot-agree{display:flex;align-items:flex-start;gap:.5rem;font-size:.82rem;color:var(--sot-slate);margin:1rem 0;line-height:1.6;}
.sot-agree input{margin-top:.14rem;accent-color:var(--sot-signal);}
.sot-agree a{color:var(--sot-signal);}

/* LEGAL */
.sot-legal-wrap{max-width:800px;margin:0 auto;padding:5rem 2.5rem 8rem;}
.sot-legal-eff{display:inline-block;font-size:.72rem;color:var(--sot-slate);background:var(--sot-silver);border:1px solid var(--sot-line);padding:.2rem .7rem;border-radius:100px;margin-bottom:1.5rem;}
.sot-legal-wrap h2{font-family:var(--sot-fh);font-size:1rem;font-weight:700;color:var(--sot-ink);margin:2.5rem 0 .5rem;}
.sot-legal-wrap p,.sot-legal-wrap li{font-size:.9rem;color:var(--sot-slate);line-height:1.78;margin-bottom:.9rem;}
.sot-legal-wrap ul{padding-left:1.4rem;margin:.5rem 0;}
.sot-legal-wrap li{list-style:disc;}
.sot-legal-wrap a{color:var(--sot-signal);}

/* FOOTER: dark ink with LinkedIn+Twitter+Instagram */
.sot-floor{background:var(--sot-ink2);}
.sot-floor-main{max-width:var(--sot-max);margin:0 auto;padding:3rem 2.5rem 2rem;display:grid;grid-template-columns:2fr 1fr 1fr;gap:2.5rem;border-bottom:1px solid rgba(255,255,255,.06);}
/* Bigger footer logo: Antonio 2rem */
.sot-floor-brand{font-family:var(--sot-fh);font-size:2rem;font-weight:700;color:white;display:block;letter-spacing:.02em;margin-bottom:.5rem;text-decoration:none;}
.sot-floor-brand em{color:var(--sot-signal);font-style:normal;}
.sot-floor-tag{font-size:.76rem;color:rgba(255,255,255,.2);line-height:1.65;margin-bottom:.8rem;}
/* LinkedIn+Twitter+Instagram (FIRST this trio!) */
.sot-floor-socs{display:flex;gap:.4rem;}
.sot-floor-soc{width:30px;height:30px;border:1px solid rgba(255,255,255,.09);border-radius:var(--sot-r);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.25);transition:var(--sot-ease);}
.sot-floor-soc:hover{border-color:var(--sot-signal);color:var(--sot-signal);}
.sot-floor-col-h{font-family:var(--sot-fb);font-size:.32rem;font-weight:700;text-transform:uppercase;letter-spacing:.26em;color:rgba(255,255,255,.2);margin-bottom:.7rem;}
.sot-floor-nav{display:flex;flex-direction:column;gap:.2rem;}
.sot-floor-nav-a{font-size:.76rem;color:rgba(255,255,255,.2);transition:color .14s;text-decoration:none;}
.sot-floor-nav-a:hover{color:var(--sot-signal);}
.sot-floor-ct-a{display:flex;align-items:flex-start;gap:.3rem;font-size:.74rem;color:rgba(255,255,255,.2);transition:color .14s;text-decoration:none;margin-bottom:.25rem;}
.sot-floor-ct-a:hover{color:var(--sot-signal);}
.sot-floor-btm{max-width:var(--sot-max);margin:0 auto;padding:.75rem 2.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.sot-floor-copy{font-size:.6rem;color:rgba(255,255,255,.12);}
.sot-floor-legal{display:flex;gap:1rem;flex-wrap:wrap;}
.sot-floor-leg-a{font-size:.6rem;color:rgba(255,255,255,.12);transition:color .14s;text-decoration:none;}
.sot-floor-leg-a:hover{color:var(--sot-signal);}

/* COOKIE + CHAT */
.sot-ck-bar{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:var(--sot-ink2);border-top:2px solid var(--sot-signal);padding:.9rem 2rem;display:none;align-items:center;gap:2rem;justify-content:space-between;flex-wrap:wrap;}
.sot-ck-bar p{font-size:.8rem;color:rgba(255,255,255,.35);margin:0;}
.sot-ck-bar a{color:var(--sot-signal);}
.sot-ck-btns{display:flex;gap:.5rem;flex-shrink:0;}
.sot-ck-yes{background:var(--sot-signal);color:white;font-family:var(--sot-fb);font-size:.88rem;font-weight:700;padding:.3rem .85rem;border-radius:100px;cursor:pointer;border:none;}
.sot-ck-no{background:transparent;color:rgba(255,255,255,.25);font-family:var(--sot-fb);font-size:.82rem;padding:.28rem .85rem;border:1px solid rgba(255,255,255,.09);border-radius:100px;cursor:pointer;}
.sot-chat-fab{position:fixed;bottom:4.5rem;right:1.5rem;z-index:9990;width:50px;height:50px;background:var(--sot-signal);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;box-shadow:0 4px 20px rgba(232,72,48,.35);transition:var(--sot-ease);color:white;}
.sot-chat-fab:hover{background:var(--sot-signal2);transform:scale(1.07);}
.sot-chatpop{position:fixed;bottom:7rem;right:1.5rem;z-index:9989;width:290px;background:var(--sot-snow);border:1.5px solid var(--sot-line);border-radius:var(--sot-r2);box-shadow:var(--sot-sh2);opacity:0;pointer-events:none;transform:translateY(10px) scale(.97);transition:opacity .2s,transform .22s;overflow:hidden;}
.sot-chatpop.sot-cp-on{opacity:1;pointer-events:auto;transform:none;}
.sot-chatpop-hd{background:var(--sot-signal);padding:.8rem 1.1rem;}
.sot-chatpop-nm{font-family:var(--sot-fh);font-size:1rem;font-weight:700;color:white;}
.sot-chat-inp{width:100%;background:var(--sot-silver);border:1.5px solid var(--sot-line);border-radius:var(--sot-r);padding:.5rem .8rem;font-size:.84rem;color:var(--sot-ink);margin-bottom:.35rem;resize:none;transition:border-color .14s;font-family:var(--sot-fb);}
.sot-chat-inp:focus{outline:none;border-color:var(--sot-signal);}
.sot-chat-send{width:100%;background:var(--sot-signal);color:white;font-family:var(--sot-fb);font-size:.9rem;font-weight:700;padding:.5rem;border-radius:100px;border:none;cursor:pointer;transition:background .14s;}
.sot-chat-send:hover{background:var(--sot-signal2);}
.sot-chat-done{display:none;text-align:center;padding:.9rem;}

/* REVEAL */
.sot-reveal{opacity:0;transform:translateY(12px);transition:opacity .4s,transform .4s;}
.sot-reveal.sot-in{opacity:1;transform:none;}
.sot-result-pg{min-height:72vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:8rem 2.5rem;flex-direction:column;gap:1.5rem;}

/* RESPONSIVE */
@media(max-width:960px){
  .sot-sn-left,.sot-sn-right{display:none;}
  .sot-sn-shell{grid-template-columns:1fr auto;padding:.7rem 1.5rem;}
  .sot-mob-btn{display:flex;}
  .sot-svc-grid{grid-template-columns:1fr 1fr;}
  .sot-plan-grid{grid-template-columns:1fr;}
  .sot-timeline{grid-template-columns:1fr 1fr;gap:1.5rem;}
  .sot-timeline::before{display:none;}
  .sot-testi-grid{grid-template-columns:1fr;}
  .sot-testi-card:nth-child(2){margin-top:0;}
  .sot-faq-wrap{grid-template-columns:1fr;}
  .sot-cases-stack .sot-case-card{grid-template-columns:1fr;}
  .sot-bld-wrap,.sot-co-wrap,.sot-svc-pg-wrap{grid-template-columns:1fr;}
  .sot-floor-main{grid-template-columns:1fr 1fr;}
  .sot-ctr-row{grid-template-columns:1fr 1fr;}
  .sot-psband-in{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .sot-svc-grid{grid-template-columns:1fr;}
  .sot-floor-main{grid-template-columns:1fr;}
  .sot-hero-hl{font-size:clamp(4rem,14vw,6rem);}
  .sot-ctr-row{grid-template-columns:repeat(2,1fr);}
}
