/* ===== RESET & BASE ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
    background:#09090d;color:#f4f3ef;
    font-family:'DM Sans',sans-serif;
    font-size:16px;line-height:1.65;
    overflow-x:hidden;
}
body.nav-locked{overflow:hidden}

/* NOISE */
body::after{
    content:'';position:fixed;inset:0;pointer-events:none;z-index:8000;
    opacity:.4;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E");
}

/* ===== TOKENS ===== */
:root{
    --bg:#09090d;--sur:#141419;--sur2:#1d1d26;
    --bd:rgba(244,243,239,.09);
    --txt:rgba(244,243,239,1);
    --mut:rgba(244,243,239,.72);
    --fnt:rgba(244,243,239,.46);
    --o:#f97316;--od:rgba(249,115,22,.12);--og:rgba(249,115,22,.35);
    --b:#2ba8ff;--bd2:rgba(43,168,255,.12);--bg2:rgba(43,168,255,.35);
    --nav-height:66px;
}

/* ===== PAGES ===== */
.page{display:none;min-height:100vh;scroll-margin-top:calc(var(--nav-height) + 32px)}
.page.active{display:block}
section[id],[data-scroll-anchor]{scroll-margin-top:calc(var(--nav-height) + 24px)}

/* ===== NAV ===== */
nav{
    position:fixed;top:0;left:0;right:0;z-index:500;
    height:var(--nav-height);padding:0 52px;
    display:flex;align-items:center;gap:16px;
    background:rgba(9,9,13,.8);backdrop-filter:blur(20px);
    border-bottom:1px solid var(--bd);
}
/* Mantiene la nav sopra al resto del layout anche su mobile */
nav{z-index:1200}
.nav-logo{cursor:pointer;display:inline-flex;text-decoration:none}
.nav-logo img{height:32px;display:block}
.nav-toggle{
    display:none;width:42px;height:42px;border-radius:12px;
    border:1px solid var(--bd);background:rgba(244,243,239,.02);
    color:var(--txt);align-items:center;justify-content:center;
    cursor:pointer;transition:border-color .2s,background .2s;
}
.nav-toggle span{
    width:18px;height:2px;background:currentColor;display:block;position:relative;
}
.nav-toggle span::before,
.nav-toggle span::after{
    content:'';position:absolute;left:0;width:18px;height:2px;background:currentColor;transition:transform .2s;
}
.nav-toggle span::before{top:-6px}
.nav-toggle span::after{top:6px}
nav.nav-open .nav-toggle span{background:transparent}
nav.nav-open .nav-toggle span::before{transform:translateY(6px) rotate(45deg)}
nav.nav-open .nav-toggle span::after{transform:translateY(-6px) rotate(-45deg)}
.nav-panel{
    margin:auto;display:flex;align-items:center;gap:32px;
}
.nav-menu{display:flex;gap:0;list-style:none}
.nav-menu li a{
    /*display:block;*/
    padding:8px 16px;
    color:var(--mut);text-decoration:none;
    font-size:13.5px;font-weight:400;letter-spacing:.01em;
    transition:color .2s;cursor:pointer;
}
.nav-menu li a:hover,.nav-menu li a.active{color:var(--txt)}
.nav-menu li a.active{font-weight:500}
.nav-right{display:flex;gap:8px;align-items:center}
.lang-switch{
    display:inline-flex;align-items:center;
    border:1px solid var(--bd);border-radius:8px;overflow:hidden;
    margin-right:4px;
}
.lang-switch a{
    color:var(--mut);text-decoration:none;
    font-size:12px;font-weight:700;letter-spacing:.05em;
    padding:7px 10px;line-height:1;transition:background .2s,color .2s;
}
.lang-switch a + a{border-left:1px solid var(--bd)}
.lang-switch a:hover{color:var(--txt)}
.lang-switch a.active{background:rgba(244,243,239,.12);color:var(--txt)}
.btn-nav-o,.btn-nav-b{
    padding:9px 20px;border-radius:8px;
    font-family:'Play',sans-serif;font-weight:700;
    font-size:13px;text-decoration:none;
    transition:transform .15s,box-shadow .15s;
    display:inline-block;
}
.btn-nav-o{background:var(--o);color:#fff}
.btn-nav-o:hover{transform:translateY(-1px);box-shadow:0 6px 22px var(--og)}
.btn-nav-b{background:var(--b);color:#fff}
.btn-nav-b:hover{transform:translateY(-1px);box-shadow:0 6px 22px var(--bg2)}

/* ===== COMMON LAYOUT ===== */
.wrap{max-width:1180px;margin:0 auto;padding:0 52px}
.section{padding:96px 0}
.split-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:64px;
}
.split-grid.align-center{align-items:center}
.split-grid.align-start{align-items:flex-start}
.section-sm{padding:64px 0}

.sec-label{
    font-size:10px;font-weight:600;letter-spacing:.22em;
    text-transform:uppercase;color:var(--fnt);
    display:flex;align-items:center;gap:14px;margin-bottom:52px;
}
.sec-label::after{content:'';width:40px;height:1px;background:var(--bd)}

.h-display{
    font-family:'Play',sans-serif;font-weight:700;
    letter-spacing:-.025em;line-height:.95;
}
.h-section{
    font-family:'Play',sans-serif;font-weight:700;
    font-size:clamp(30px,3.8vw,48px);
    letter-spacing:-.02em;line-height:1.05;
    margin-bottom:16px;
}
.lead{font-size:17px;font-weight:300;color:var(--mut);line-height:1.72;max-width:560px}
.dim{color:rgba(244,243,239,.22)}
.accent-o{color:var(--o)}
.accent-b{color:var(--b)}

/* grid lines bg */
.grid-bg{
    position:absolute;inset:0;pointer-events:none;
    background-image:
            linear-gradient(rgba(244,243,239,.025) 1px,transparent 1px),
            linear-gradient(90deg,rgba(244,243,239,.025) 1px,transparent 1px);
    background-size:64px 64px;
    mask-image:radial-gradient(ellipse 80% 65% at 55% 45%,black 20%,transparent 100%);
}

/* BUTTONS */
.btn{
    display:inline-flex;align-items:center;gap:9px;
    padding:14px 30px;border-radius:10px;
    font-family:'Play',sans-serif;font-weight:700;
    font-size:14px;text-decoration:none;
    transition:transform .2s,box-shadow .2s;
    cursor:pointer;border:none;
}
.btn-o{background:var(--o);color:#fff}
.btn-o:hover{transform:translateY(-2px);box-shadow:0 10px 30px var(--og)}
.btn-b{background:var(--b);color:#fff}
.btn-b:hover{transform:translateY(-2px);box-shadow:0 10px 30px var(--bg2)}
.btn-ghost{background:transparent;color:var(--mut);border:1px solid var(--bd)}
.btn-ghost:hover{color:var(--txt);border-color:rgba(244,243,239,.25)}
.btn-sm{padding:11px 22px;font-size:13px}

.cta-row{display:flex;gap:12px;flex-wrap:wrap}
.cta-row.center{justify-content:center;text-align:center}
.cta-row.stack{flex-direction:column;align-items:stretch;width:100%}
.cta-row.stack .btn{width:100%;justify-content:center;text-align:center}

/* Stato focus coerente per accessibilita tastiera */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
    outline:2px solid var(--o);
    outline-offset:2px;
}

/* DIVIDER */
.divider{height:1px;background:var(--bd);margin:0}

/* ===== SCROLL ANIMATE ===== */
.sa{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s ease}
.sa.v{opacity:1;transform:none}
.sa.d1{transition-delay:.08s}.sa.d2{transition-delay:.16s}.sa.d3{transition-delay:.24s}
.sa.d4{transition-delay:.32s}

/* ===========================
   HOME PAGE
   =========================== */
#home .hero{
    min-height:100vh;padding:140px 52px 80px;
    position:relative;overflow:hidden;
    display:flex;flex-direction:column;justify-content:center;
}
#home .hero-glow-o{
    position:absolute;width:720px;height:720px;border-radius:50%;pointer-events:none;
    background:radial-gradient(circle,rgba(249,115,22,.07) 0%,transparent 70%);
    top:-220px;right:-120px;
}
#home .hero-glow-b{
    position:absolute;width:500px;height:500px;border-radius:50%;pointer-events:none;
    background:radial-gradient(circle,rgba(43,168,255,.055) 0%,transparent 70%);
    bottom:0;left:80px;
}
#home .hero-content{position:relative;z-index:1;max-width:860px;margin:0 auto;}
#home .hero-eyebrow{
    display:inline-flex;align-items:center;gap:12px;
    font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
    color:var(--fnt);margin-bottom:28px;
    opacity:0;animation:fu .7s .1s forwards;
}
#home .hero-eyebrow::before{content:'';display:block;width:28px;height:1px;background:var(--o)}
#home .hero-h1{
    font-size:clamp(56px,9vw,120px);
    opacity:0;animation:fu .75s .22s forwards;
}
#home .hero-h1 span{display:block}
#home .hero-sub{
    margin-top:32px;font-size:19px;font-weight:300;
    color:var(--mut);max-width:520px;line-height:1.72;
    opacity:0;animation:fu .75s .36s forwards;
}
#home .hero-apps{
    margin-top:48px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;
    opacity:0;animation:fu .7s .5s forwards;
}
.hero-badge{
    display:inline-flex;align-items:center;gap:10px;
    padding:13px 26px;border-radius:10px;
    font-family:'Play',sans-serif;font-weight:700;
    font-size:14px;text-decoration:none;
    transition:transform .2s,box-shadow .2s;
}
.hero-badge.o{background:var(--o);color:#fff}
.hero-badge.o:hover{transform:translateY(-2px);box-shadow:0 10px 32px var(--og)}
.hero-badge.b{background:var(--b);color:#fff}
.hero-badge.b:hover{transform:translateY(-2px);box-shadow:0 10px 32px var(--bg2)}
.hero-badge.ghost{
    background:transparent;color:var(--mut);
    border:1px solid var(--bd);
}
.hero-badge.ghost:hover{color:var(--txt);border-color:rgba(244,243,239,.2)}

/* problem section */
#home .problems{background:var(--sur);border-top:1px solid var(--bd);border-bottom:1px solid var(--bd)}
.prob-grid{
    display:grid;grid-template-columns:repeat(3,1fr);
    gap:2px;
}
.prob-card{
    background:var(--sur2);padding:44px 40px;
    position:relative;overflow:hidden;
}
.prob-card:first-child{border-radius:16px 0 0 16px}
.prob-card:last-child{border-radius:0 16px 16px 0}
.prob-num{
    font-family:'Play',sans-serif;font-size:11px;font-weight:700;
    letter-spacing:.14em;color:var(--fnt);margin-bottom:24px;
}
.prob-icon{font-size:32px;margin-bottom:18px;display:block}
.prob-title{
    font-family:'Play',sans-serif;font-size:18px;font-weight:700;
    letter-spacing:-.01em;margin-bottom:10px;
}
.prob-desc{font-size:14px;color:var(--mut);line-height:1.65;font-weight:300}

/* app showcase home */
#home .apps-home{padding:96px 0}
.app-row{
    display:grid;grid-template-columns:1fr 1fr;
    gap:2px;align-items:stretch;
}
.app-showcase{
    padding:64px 56px;position:relative;overflow:hidden;
    background:var(--sur2);
    transition:background .25s;
}
.app-showcase:hover{background:#222230}
.app-showcase.left{border-radius:20px 0 0 20px}
.app-showcase.right{border-radius:0 20px 20px 0}
.app-showcase::before{
    content:'';position:absolute;top:0;left:0;right:0;height:3px;
}
.app-showcase.os::before{background:var(--o)}
.app-showcase.bs::before{background:var(--b)}
.app-showcase::after{
    content:'';position:absolute;top:0;right:0;width:280px;height:280px;
    border-radius:0 20px 0 0;pointer-events:none;opacity:0;
    transition:opacity .3s;
}
.app-showcase.os::after{background:radial-gradient(ellipse at top right,rgba(249,115,22,.09) 0%,transparent 70%)}
.app-showcase.bs::after{background:radial-gradient(ellipse at top right,rgba(43,168,255,.09) 0%,transparent 70%)}
.app-showcase:hover::after{opacity:1}

.app-name-big{
    font-family:'Play',sans-serif;font-weight:700;
    font-size:clamp(28px,3vw,40px);
    letter-spacing:-.015em;margin-bottom:8px;
}
.app-sub-tag{
    font-size:13px;color:var(--fnt);font-weight:300;
    margin-bottom:32px;letter-spacing:.04em;text-transform:uppercase;
}
.app-problem{
    font-size:16px;font-weight:500;color:var(--txt);
    margin-bottom:12px;line-height:1.5;
}
.app-tagline{
    font-size:15px;font-weight:300;color:var(--mut);
    max-width:400px;line-height:1.72;margin-bottom:36px;
}
.app-feat-short{
    list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:40px;
}
.app-feat-short li{
    display:flex;align-items:flex-start;gap:10px;
    font-size:14px;color:rgba(244,243,239,.72);font-weight:300;line-height:1.5;
}
.fi{
    width:20px;height:20px;border-radius:4px;
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;font-size:11px;margin-top:1px;
}
.fi-o{background:var(--od)}
.fi-b{background:var(--bd2)}
.app-bg-letter{
    position:absolute;bottom:20px;right:32px;
    font-family:'Play',sans-serif;font-size:180px;font-weight:700;
    opacity:.025;line-height:1;pointer-events:none;
    letter-spacing:-.05em;user-select:none;
}

/* why section */
#home .why{border-top:1px solid var(--bd)}
.why-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:2px;
    margin-top:56px;
}
.why-card{
    background:var(--sur2);padding:40px 32px;
}
.why-card:first-child{border-radius:14px 0 0 14px}
.why-card:last-child{border-radius:0 14px 14px 0}
.why-icon{font-size:28px;margin-bottom:18px}
.why-title{
    font-family:'Play',sans-serif;font-size:16px;font-weight:700;
    margin-bottom:10px;letter-spacing:-.01em;
}
.why-desc{font-size:13px;color:var(--mut);line-height:1.65;font-weight:300}

/* stats */
#home .stats{
    border-top:1px solid var(--bd);border-bottom:1px solid var(--bd);
}
.stats-grid{
    display:grid;grid-template-columns:repeat(4,1fr);
}
.stat-item{
    padding:44px 40px;border-right:1px solid var(--bd);
}
.stat-item:last-child{border-right:none}
.stat-n{
    font-family:'Play',sans-serif;font-size:48px;font-weight:700;
    line-height:1;margin-bottom:6px;letter-spacing:-.02em;
}
.stat-l{font-size:13px;color:var(--mut);font-weight:300}

/* ===========================
   PRICES PAGE
   =========================== */
#prices .page-hero{
    min-height:72vh;padding:140px 52px 72px;
    position:relative;overflow:hidden;
    display:flex;align-items:center;
}
#prices .ph-glow{
    position:absolute;width:800px;height:600px;pointer-events:none;
    background:radial-gradient(ellipse,rgba(43,168,255,.08) 0%,transparent 65%);
    top:-100px;right:-200px;border-radius:50%;
}
#prices .ph-content{position:relative;z-index:1;max-width:780px;margin:0 auto;}
#prices .ph-badge{
    display:inline-flex;align-items:center;gap:8px;
    padding:6px 16px;border-radius:6px;
    background:var(--bd2);color:var(--b);
    font-size:12px;font-weight:600;letter-spacing:.06em;
    margin-bottom:28px;
}
#prices .ph-h1{
    font-size:clamp(48px,7.5vw,96px);
    margin-bottom:24px;
}
#prices .ph-lead{
    font-size:18px;font-weight:300;color:var(--mut);
    max-width:540px;line-height:1.72;margin-bottom:40px;
}

/* prices features */
.pf-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
}
.pf-card{
    background:var(--sur2);border-radius:14px;
    padding:32px;border:1px solid var(--bd);
    transition:border-color .2s,transform .2s;
}
.pf-card:hover{transform:translateY(-3px);border-color:rgba(43,168,255,.3)}
.pf-icon{font-size:28px;margin-bottom:14px}
.pf-title{font-family:'Play',sans-serif;font-size:16px;font-weight:700;margin-bottom:8px}
.pf-desc{font-size:13px;color:var(--mut);line-height:1.62;font-weight:300}

/* how prices works */
.flow-steps{
    display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:56px;
}
.flow-step{background:var(--sur2);padding:40px 32px;position:relative}
.flow-step:first-child{border-radius:14px 0 0 14px}
.flow-step:last-child{border-radius:0 14px 14px 0}
.flow-step-n{
    font-family:'Play',sans-serif;font-size:10px;font-weight:700;
    letter-spacing:.14em;color:var(--b);margin-bottom:16px;
}
.flow-step-title{font-family:'Play',sans-serif;font-size:16px;font-weight:700;margin-bottom:8px}
.flow-step-desc{font-size:13px;color:var(--mut);line-height:1.6;font-weight:300}

/* ===========================
   SHOPS PAGE
   =========================== */
#shops .page-hero{
    min-height:72vh;padding:140px 52px 72px;
    position:relative;overflow:hidden;
    display:flex;align-items:center;
}
#shops .ph-glow{
    position:absolute;width:800px;height:600px;pointer-events:none;
    background:radial-gradient(ellipse,rgba(249,115,22,.08) 0%,transparent 65%);
    top:-100px;right:-200px;border-radius:50%;
}
#shops .ph-content{position:relative;z-index:1;max-width:780px;margin:0 auto;}
#shops .ph-badge{
    display:inline-flex;align-items:center;gap:8px;
    padding:6px 16px;border-radius:6px;
    background:var(--od);color:var(--o);
    font-size:12px;font-weight:600;letter-spacing:.06em;
    margin-bottom:28px;
}
#shops .ph-h1{
    font-size:clamp(48px,7.5vw,96px);
    margin-bottom:24px;
}
#shops .ph-lead{
    font-size:18px;font-weight:300;color:var(--mut);
    max-width:540px;line-height:1.72;margin-bottom:40px;
}

.sf-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
}
.sf-card{
    background:var(--sur2);border-radius:14px;
    padding:32px;border:1px solid var(--bd);
    transition:border-color .2s,transform .2s;
}
.sf-card:hover{transform:translateY(-3px);border-color:rgba(249,115,22,.3)}
.sf-icon{font-size:28px;margin-bottom:14px}
.sf-title{font-family:'Play',sans-serif;font-size:16px;font-weight:700;margin-bottom:8px}
.sf-desc{font-size:13px;color:var(--mut);line-height:1.62;font-weight:300}

/* roles table */
.roles-table{
    width:100%;border-collapse:collapse;
    margin-top:40px;border-radius:14px;overflow:hidden;
}
.roles-table th{
    background:var(--sur2);
    font-family:'Play',sans-serif;font-size:12px;font-weight:700;
    letter-spacing:.08em;text-transform:uppercase;
    color:var(--mut);padding:16px 20px;
    text-align:left;border-bottom:1px solid var(--bd);
}
.roles-table td{
    padding:14px 20px;font-size:14px;font-weight:300;
    color:var(--mut);border-bottom:1px solid var(--bd);
    background:var(--sur2);
}
.roles-table tr:last-child td{border-bottom:none}
.roles-table td:first-child{color:var(--txt);font-weight:500}
.check-o{color:var(--o);font-size:16px}
.check-b{color:var(--b);font-size:16px}
.cross{color:var(--fnt)}

/* ===========================
   ABOUT PAGE
   =========================== */
#about .about-hero{
    padding:140px 52px 80px;
    position:relative;overflow:hidden;
    margin:0 auto;
}
#about .ah-glow{
    position:absolute;width:700px;height:500px;pointer-events:none;
    background:radial-gradient(ellipse,rgba(249,115,22,.06) 0%,transparent 65%);
    top:-150px;right:-100px;border-radius:50%;
}
.about-intro{
    display:grid;grid-template-columns:1.2fr 1fr;
    gap:80px;align-items:center;
    padding:0 52px 96px;
}
.about-h2{
    font-family:'Play',sans-serif;font-weight:700;
    font-size:clamp(34px,4vw,54px);
    letter-spacing:-.025em;line-height:1.03;
    margin-bottom:28px;
}
.about-body{
    font-size:16px;font-weight:300;color:var(--mut);
    line-height:1.78;
}
.about-body p+p{margin-top:18px}
.about-values{
    display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
    padding:0 52px 96px;
}
.av-card{
    background:var(--sur2);border-radius:14px;
    padding:36px 32px;border:1px solid var(--bd);
}
.av-icon{font-size:30px;margin-bottom:16px}
.av-title{font-family:'Play',sans-serif;font-size:18px;font-weight:700;margin-bottom:10px}
.av-desc{font-size:14px;color:var(--mut);line-height:1.65;font-weight:300}

/* ===========================
   CONTACT PAGE
   =========================== */
#contact .contact-hero{
    padding:140px 52px 64px;
    max-width:720px;
    margin:0 auto;
}
.contact-form{
    padding:0 52px 96px;
    max-width:680px;
    margin:0 auto;
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.form-field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.form-field label{font-size:13px;font-weight:500;color:var(--mut);letter-spacing:.04em}
.form-field input,
.form-field select,
.form-field textarea{
    background:var(--sur2);border:1px solid var(--bd);
    border-radius:8px;padding:13px 16px;
    font-family:'DM Sans',sans-serif;font-size:15px;
    color:var(--txt);outline:none;
    transition:border-color .2s;
    resize:none;
}
.form-field input:focus,
.form-field textarea:focus,
.form-field select:focus{border-color:rgba(249,115,22,.5)}
.form-field textarea{min-height:140px}
.form-field select option{background:#1d1d26}

.hp-field{position:absolute;left:-9999px;opacity:0;pointer-events:none}
.form-status{margin-top:12px;font-size:13px;min-height:20px;color:var(--mut);text-align:center}
.form-status.ok{color:#6fe2a2}
.form-status.err{color:#ff8d8d}
button:disabled{opacity:.7;cursor:not-allowed}

/* ===========================
   LEGAL PAGES
   =========================== */
.legal-page{max-width:780px;padding:120px 52px 96px;margin: auto;}
.legal-badge{
    display:inline-flex;align-items:center;
    padding:5px 14px;border-radius:6px;
    font-size:11px;font-weight:600;letter-spacing:.06em;
    margin-bottom:24px;
}
.legal-badge.o{background:var(--od);color:var(--o)}
.legal-badge.b{background:var(--bd2);color:var(--b)}
.legal-badge.g{background:rgba(244,243,239,.08);color:var(--mut)}
.legal-h1{
    font-family:'Play',sans-serif;font-weight:700;
    font-size:clamp(36px,5vw,60px);
    letter-spacing:-.02em;line-height:1;
    margin-bottom:12px;
}
.legal-meta{
    font-size:12px;color:var(--fnt);
    margin-bottom:52px;padding-bottom:36px;
    border-bottom:1px solid var(--bd);
}
.toc{
    background:var(--sur2);border-radius:14px;
    padding:28px 32px;margin-bottom:52px;
    border:1px solid var(--bd);
}
.toc-h{
    font-size:11px;font-weight:700;letter-spacing:.14em;
    text-transform:uppercase;color:var(--fnt);margin-bottom:16px;
}
.toc ol{padding-left:18px}
.toc li{margin-bottom:5px}
.toc a{color:var(--mut);text-decoration:none;font-size:14px;transition:color .2s}
.toc a:hover{color:var(--o)}
.legal-sec{margin-bottom:48px}
.legal-sec h2{
    font-family:'Play',sans-serif;font-size:21px;font-weight:700;
    display:flex;align-items:center;gap:10px;margin-bottom:18px;
}
.legal-sec .sn{
    font-size:11px;font-weight:700;letter-spacing:.06em;
    padding:3px 10px;border-radius:100px;
}
.sn-o{background:var(--od);color:var(--o)}
.sn-b{background:var(--bd2);color:var(--b)}
.sn-g{background:rgba(244,243,239,.07);color:var(--mut)}
.legal-sec p{
    font-size:15px;font-weight:300;color:var(--mut);
    margin-bottom:14px;line-height:1.78;
}
.legal-sec ul,.legal-sec ol{
    padding-left:20px;margin-bottom:14px;
}
.legal-sec li{
    font-size:15px;font-weight:300;color:var(--mut);
    margin-bottom:7px;line-height:1.65;
}
.legal-sec strong{color:var(--txt);font-weight:500}
.legal-sec h3{
    font-family:'Play',sans-serif;font-size:15px;font-weight:700;
    margin:20px 0 10px;
}
.hi-box{
    border-radius:10px;padding:18px 22px;
    margin:18px 0;font-size:14px;
    font-weight:300;color:var(--mut);line-height:1.65;
}
.hi-o{background:rgba(249,115,22,.06);border:1px solid rgba(249,115,22,.18)}
.hi-b{background:rgba(43,168,255,.06);border:1px solid rgba(43,168,255,.18)}
.hi-g{background:rgba(244,243,239,.04);border:1px solid var(--bd)}

/* ===========================
   GLOBAL CTA FOOTER
   =========================== */
.page-cta{
    border-top:1px solid var(--bd);
    padding:100px 52px;text-align:center;
    position:relative;overflow:hidden;
}
.page-cta .pcta-glow{
    position:absolute;inset:0;pointer-events:none;
    background:radial-gradient(ellipse 60% 70% at 50% 50%,rgba(249,115,22,.05) 0%,transparent 70%);
}
.pcta-eye{
    font-size:10px;letter-spacing:.2em;text-transform:uppercase;
    color:var(--fnt);margin-bottom:20px;
}
.pcta-h{
    font-family:'Play',sans-serif;font-weight:700;
    font-size:clamp(40px,6.5vw,82px);
    letter-spacing:-.03em;line-height:.95;
    margin-bottom:24px;
}
.pcta-sub{
    font-size:17px;color:var(--mut);font-weight:300;
    max-width:440px;margin:0 auto 48px;line-height:1.65;
}
.pcta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* ===========================
   FOOTER
   =========================== */
.site-footer{
    border-top:1px solid var(--bd);
    padding:48px 52px 32px;
}
.foot-top{
    display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;
    gap:48px;margin-bottom:48px;
}
.foot-brand img{height:30px;display:block;margin-bottom:16px}
.foot-brand p{font-size:13px;color:var(--fnt);font-weight:300;line-height:1.65;max-width:260px}
.foot-col h4{
    font-family:'Play',sans-serif;font-size:12px;font-weight:700;
    letter-spacing:.1em;text-transform:uppercase;
    color:var(--fnt);margin-bottom:14px;
}
.foot-col ul{list-style:none}
.foot-col li+li{margin-top:8px}
.foot-col a{
    font-size:13px;color:var(--mut);text-decoration:none;
    transition:color .2s;cursor:pointer;display:block;
}
.foot-col a:hover{color:var(--txt)}
.foot-bottom{
    border-top:1px solid var(--bd);padding-top:20px;
    display:flex;align-items:center;justify-content:space-between;
}
.foot-copy{font-size:12px;color:var(--fnt)}
.foot-legal{display:flex;gap:24px}
.foot-legal a{font-size:12px;color:var(--fnt);text-decoration:none;cursor:pointer;transition:color .2s}
.foot-legal a:hover{color:var(--mut)}

/* ===========================
   ANIMATIONS
   =========================== */
@keyframes fu{
    from{opacity:0;transform:translateY(22px)}
    to{opacity:1;transform:none}
}
.prtab {
    display: grid;
    grid-template-columns:repeat(5, 1fr);
    gap: 16px;
    margin-top: 48px;
}
.prtab2 {
    display: grid;
    grid-template-columns:repeat(4, 1fr);
    gap: 16px;
    margin-top: 48px;
}
/* ===========================
   RESPONSIVE
   =========================== */
@media(max-width:960px){
    .prtab {
        display: grid;
        grid-template-rows:repeat(5, 1fr) !important;
        grid-template-columns: auto;
        gap: 16px;
        margin-top: 48px;
    }
    .prtab2 {
        display: grid;
        grid-template-rows:repeat(4, 1fr) !important;
        grid-template-columns: auto;
        gap: 16px;
        margin-top: 48px;
    }
    nav{padding:0 24px}
    .nav-toggle{display:inline-flex}
    nav.nav-open .nav-toggle{
        border-color:rgba(244,243,239,.28);
        background:rgba(244,243,239,.08);
    }
    .nav-panel{
        position:fixed;
        left:0;
        right:0;
        top:var(--nav-height);
        bottom:0;
        width:100%;
        margin:0;
        z-index:9002;
        background:rgba(9,9,13,.99);
        border-top:1px solid var(--bd);
        flex-direction:column;
        align-items:stretch;
        justify-content:flex-start;
        gap:14px;
        padding:12px 18px 24px;
        overflow-y:auto;
        overflow-x:hidden;
        display:none;
        box-shadow:none;
    }
    nav.nav-open .nav-panel{display: inline-table;}

    .nav-menu{
        display:flex;
        flex-direction:column;
        width:100%;
        list-style:none;
        margin:0;
        padding:0;
    }
    .nav-menu li{width:100%;list-style:none}
    .nav-menu li a{
        display:block;
        padding:12px 0;
        font-size:16px;
        line-height:1.2;
        font-weight:500;
        color:rgba(244,243,239,.96);
        border-bottom:1px solid rgba(244,243,239,.12);
    }
    .nav-menu li a.active{color:#fff}
    .nav-menu li:last-child a{border-bottom:none}

    .nav-right{display:flex;flex-direction:column;width:100%;gap:8px}
    .lang-switch{width:100%;margin:0}
    .lang-switch a{flex:1;text-align:center;padding:8px 10px;font-size:11px}
    .nav-right .btn-nav-o,.nav-right .btn-nav-b{
        width:100%;
        justify-content:center;
        text-align:center;
        padding:10px 14px;
        font-size:12px;
    }
    #home .hero{padding:110px 24px 64px}
    #prices .page-hero,#shops .page-hero,#about .about-hero{padding:110px 24px 64px}
    .wrap{padding:0 24px}
    .prob-grid,.app-row,.why-grid,.stats-grid,.flow-steps,.pf-grid,.sf-grid,.about-values,.about-intro,.foot-top,.split-grid{grid-template-columns:1fr}
    .prob-card:first-child,.prob-card:last-child,.app-showcase.left,.app-showcase.right,.why-card:first-child,.why-card:last-child,.flow-step:first-child,.flow-step:last-child{border-radius:14px}
    .stat-item{border-right:none;border-bottom:1px solid var(--bd)}
    .stat-item:last-child{border-bottom:none}
    .section{padding:64px 0}
    .about-intro,.about-values{padding:0 24px 64px}
    .contact-form,.legal-page{padding:0 24px 64px}
    .contact-form,.legal-page{padding-top:0}
    .page-cta{padding:72px 24px}
    .site-footer{padding:40px 24px 24px}
    .foot-bottom{flex-direction:column;gap:12px;text-align:center}
    .form-row{grid-template-columns:1fr}
    #home .hero-h1{font-size:clamp(50px,12vw,90px)}
    .pcta-h{font-size:clamp(36px,9vw,64px)}
}

@media(max-width:640px){
    :root{--nav-height:60px}
    .section{padding:56px 0}
    .hero-apps{flex-direction:column;width:100%}
    .hero-badge{width:100%;justify-content:center;text-align:center}
    .cta-row .btn{width:100%}
    .split-grid{gap:40px}
    .prob-card,.app-showcase,.why-card,.flow-step,.sf-card,.pf-card,.av-card{padding:32px}
    .roles-table{display:block;overflow-x:auto}
    .foot-bottom{align-items:flex-start}
    .page-cta .pcta-h{font-size:clamp(32px,9vw,58px)}
}

/* Cookie Dialog */
button#ihavecookiesBtn {
    margin-left: 0px !important;
}
/* Cookie Dialog */
#gdpr-cookie-message {
    position: fixed;
    right: 30px;
    bottom: 30px;
    max-width: 375px;
    background-color: #252525f2;
    padding: 20px;
    border-radius: 5px;
    box-shadow: 0 6px 6px rgba(0,0,0,0.25);
    margin-left: 30px;
    z-index: 1000000;
}
#gdpr-cookie-message h4 {
    color: rgb(41 144 192);
    font-family: 'Quicksand', sans-serif;
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 10px;
    margin-right: 20px;
}
#gdpr-cookie-message h5 {
    color: rgb(41 144 192);
    font-family: 'Quicksand', sans-serif;
    font-size: 15px;
    font-weight: 500;
    margin-bottom: 10px;
}
#gdpr-cookie-message p, #gdpr-cookie-message ul {
    color: white;
    font-size: 15px;
    line-height: 1.5em;
}
#gdpr-cookie-message p:last-child {
    margin-bottom: 0;
    text-align: right;
}
#gdpr-cookie-message li {
    width: 49%;
    display: inline-block;
}
#gdpr-cookie-message a {
    color: rgb(41 144 192);
    text-decoration: none;
    font-size: 13px;
    padding-bottom: 2px;
    border-bottom: 1px dotted rgba(113,113,113,0.75);
    transition: all 0.3s ease-in;
    font-style: italic;
    display: block;
}
#gdpr-cookie-message a:hover {
    color: white;
    border-bottom-color: rgb(41 144 192);
    transition: all 0.3s ease-in;
}
#gdpr-cookie-message button,
button#ihavecookiesBtn {
    border: none;
    background: rgb(41 144 192);
    color: white;
    font-family: 'Quicksand', sans-serif;
    font-size: 13px;
    padding: 6px;
    border-radius: 3px;
    margin-left: 15px;
    cursor: pointer;
    transition: all 0.3s ease-in;
    font-weight: bold;
}
#gdpr-cookie-message button:hover {
    background: white;
    color: rgb(41 144 192);
    transition: all 0.3s ease-in;
}
button#gdpr-cookie-advanced {
    background: white;
    color: rgb(41 144 192);
}
button#gdpr-cookie-reject {
    background: #333;
    color: #fff;
    border: 1px solid #fff;
}
#gdpr-cookie-message button:disabled {
    opacity: 0.3;
}
#gdpr-cookie-message input[type="checkbox"] {
    float: none;
    margin-top: 0;
    margin-right: 5px;
    -webkit-appearance: checkbox !important;
}
#gdpr-cookie-message input[type="checkbox"]:hover {
    -webkit-appearance: checkbox !important;
}
#gdpr-cookie-message a#coockieclose {
    color: white;
    position: absolute;
    top: 15px;
    right: 15px;
    font-style: normal;
    font-size: 1.1em;
    padding: 3px;
    border: none;
    z-index: 10000;
}
