/* Kharonte Studio — identità condivisa per tutte le pagine tranne la home.
   Si carica DOPO style.css e products.css: sovrascrive i token e ridisegna
   nav, tipografia, bottoni, card e footer. Ogni app mantiene il proprio accento
   (--primary / --primary-light definiti in products.css). */
@font-face{font-family:"Fraunces";src:url(./assets/fonts/fraunces.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Jakarta";src:url(./assets/fonts/jakarta.woff2) format("woff2");font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:"JBMono";src:url(./assets/fonts/jetbrains-mono.woff2) format("woff2");font-weight:400 600;font-style:normal;font-display:swap}

:root{
  --bg-dark:#0a0b0d; --bg-elevated:#101216; --bg-card:rgba(236,230,216,.03); --bg-card-hover:rgba(236,230,216,.055);
  --bg-glass:rgba(10,11,13,.72); --bg-glass-card:rgba(236,230,216,.03);
  --border-subtle:rgba(236,230,216,.12); --border-highlight:rgba(236,230,216,.22);
  --text-main:#ece6d8; --text-secondary:#9a958d; --text-muted:#8a867f;
  --font-sans:"Jakarta",ui-sans-serif,system-ui,sans-serif;
  --font-display:"Fraunces",ui-serif,Georgia,serif;
  --font-mono:"JBMono",ui-monospace,Menlo,monospace;
  --lamp:#ffb347; --ease-out:cubic-bezier(.16,1,.3,1);
}
html{overflow-x:clip}
body,body.product-page{background:var(--bg-dark);color:var(--text-main);font-family:var(--font-sans);overflow-x:clip}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.hero-mesh,.hero-spotlight,.bg-grid-pattern,.cursor-glow{display:none!important}
::selection{background:var(--lamp);color:#1a1000}
.product-page :focus-visible,:focus-visible{outline:2px solid var(--lamp);outline-offset:3px;border-radius:6px}

/* ---------- barra di avanzamento + luce globale (iniettate da site.js) ---------- */
.k-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:200;pointer-events:none}
.k-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--lamp),#ffd9a0);transform-origin:left;transform:scaleX(0)}
.k-lantern{position:fixed;inset:0;z-index:5;pointer-events:none;mix-blend-mode:screen;
  background:radial-gradient(380px circle at var(--gx,60%) var(--gy,30%),rgba(255,179,71,.06),transparent 65%)}

/* ---------- navigazione a pillola (products.css impone !important: stessa forza qui) ---------- */
html body .site-nav{position:fixed!important;top:14px!important;left:50%!important;translate:-50% 0!important;margin:0!important;
  width:min(1120px,calc(100% - 24px))!important;max-width:none!important;z-index:100!important;
  background:transparent!important;border:1px solid transparent!important;box-shadow:none!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-radius:999px!important;
  transition:background .4s,border-color .4s,backdrop-filter .4s!important}
html body .site-nav.is-scrolled,html body .site-nav.is-menu-open{top:14px!important;background:rgba(10,11,13,.78)!important;border-color:var(--border-subtle)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.3)!important;backdrop-filter:blur(18px) saturate(1.3)!important;box-shadow:none!important}
html body .site-nav .nav-inner,html body .site-nav.is-scrolled .nav-inner{height:56px!important;padding:0 10px 0 16px!important}
html body .site-nav .brand-wrapper{gap:10px!important}
html body .site-nav .brand-logo-img{width:28px!important;height:28px!important;border-radius:8px!important}
html body .brand-name,html body .site-nav .brand-name{font-family:var(--font-sans)!important;font-weight:600!important;font-size:.95rem!important;letter-spacing:-.01em!important}
.brand-name span{color:var(--text-secondary);font-weight:500}
html body .site-nav .nav-item-link{padding:8px 14px;border-radius:99px;font-size:.86rem;font-weight:500;color:var(--text-secondary)}
.nav-item-link::after{display:none!important}
html body .site-nav .nav-item-link:hover{color:var(--text-main);background:rgba(236,230,216,.07)}
html body .site-nav .lang-switch{background:transparent!important;border:0!important;padding:0!important;gap:0!important}
html body .site-nav .lang-link{font:600 .7rem var(--font-mono);color:var(--text-muted);padding:6px 7px;border-radius:6px;background:none!important;box-shadow:none!important}
html body .site-nav .lang-link:hover{color:var(--text-main)}
html body .site-nav .lang-link.active{color:var(--text-main)}
html body .site-nav .hub-link{background:var(--text-main);color:#0a0b0d!important;font-weight:600;font-size:.86rem;padding:9px 16px;border-radius:99px;transition:background .2s}
html body .site-nav .hub-link:hover{background:#fff;color:#000!important}
html body .site-nav .nav-menu-toggle{border-color:var(--border-subtle);background:rgba(236,230,216,.05)}
@media(max-width:1040px){
  html body .site-nav .nav-links{background:rgba(10,11,13,.98)!important;border:1px solid var(--border-subtle)!important;border-radius:22px!important;box-shadow:0 24px 60px -10px rgba(0,0,0,.9)!important}
  html body .site-nav .nav-item-link{color:var(--text-main);font-weight:600}
  html body .site-nav .nav-item-link:hover,html body .site-nav .nav-item-link:focus-visible{background:rgba(236,230,216,.08);color:var(--lamp)}
}

/* ---------- accento dello studio (pagine non-app) ---------- */
body.product-page.hub-page,body.product-page.about-page,.hub-page,.about-page{--primary:#ffb347;--primary-light:#ffc46b;--primary-glow:rgba(255,179,71,.2);--cyan-accent:#ffd9a0;--text-highlight:#ffc46b}
.cta-btn-primary,.btn-store.primary-cta{background:var(--lamp)!important;color:#1a1000!important;border:0!important;border-radius:99px!important;box-shadow:none!important;font-weight:700;transition:transform .3s var(--ease-out),background .2s}
.cta-btn-primary:hover,.btn-store.primary-cta:hover{background:#ffc46b!important;transform:translateY(-2px)}
.cta-btn-secondary{background:transparent!important;border:1px solid var(--border-highlight)!important;border-radius:99px!important;color:var(--text-main)!important;box-shadow:none!important}
.cta-btn-secondary:hover{border-color:var(--text-main)!important;transform:translateY(-2px)}
.about-cta-banner{background:var(--bg-elevated)!important;border:1px solid var(--border-subtle)!important;box-shadow:none!important;position:relative;overflow:hidden}
.about-cta-banner::before{display:block!important;content:"";position:absolute;inset:auto -10% -60% auto;width:70%;height:140%;background:radial-gradient(closest-side,rgba(255,179,71,.16),transparent);pointer-events:none}
.about-cta-title{font-family:var(--font-display);font-weight:340;font-size:clamp(1.8rem,3.4vw,2.8rem);letter-spacing:-.03em;line-height:1.08}
.card-category-pill,.dev-badge-pill,.pipeline-tag{background:transparent!important;border:1px solid var(--border-highlight)!important;color:var(--text-main)!important;
  font:500 .64rem var(--font-mono)!important;letter-spacing:.08em!important;text-transform:uppercase}
.bio-social-pill{background:transparent;border:1px solid var(--border-highlight);border-radius:99px;transition:border-color .2s,transform .3s var(--ease-out)}
.bio-social-pill:hover{border-color:var(--text-main);transform:translateY(-2px)}
.hub-page .hero-heading{font-size:clamp(2.6rem,6vw,5rem)}

/* ---------- tipografia ---------- */
.hero{padding-top:8.5rem;position:relative;isolation:isolate;overflow-x:clip}
.hero::before{content:"";position:absolute;z-index:-1;pointer-events:none;top:-6%;right:0;width:64%;height:92%;
  background:radial-gradient(closest-side,var(--primary-glow),transparent 72%);opacity:.55}
.hero-heading,.product-page .hero-heading{font-family:var(--font-display);font-weight:340;font-variation-settings:"opsz" 144;
  font-size:clamp(2.7rem,6.2vw,5.4rem);line-height:1.04;letter-spacing:-.04em;text-wrap:balance}
.hero-gradient-text,.product-page .hero-gradient-text{background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;
  -webkit-text-fill-color:currentColor!important;color:var(--primary-light)!important;font-style:italic;font-weight:300}
.hero-subtext{color:var(--text-secondary);font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.6}
.section-title{font-family:var(--font-display);font-weight:340;font-variation-settings:"opsz" 144;font-size:clamp(2rem,4.6vw,3.9rem);line-height:1.04;letter-spacing:-.035em;text-wrap:balance}
.section-label,.product-page .section-label{font:500 .72rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--primary-light)}
.section-description{color:var(--text-secondary)}
.pill-badge,.product-page .pill-badge{font:500 .68rem var(--font-mono);letter-spacing:.09em;text-transform:uppercase;background:transparent;
  border:1px solid var(--border-highlight);color:var(--text-main);box-shadow:none;padding:8px 16px 8px 12px}
.pill-dot,.product-page .pill-dot{background:var(--primary-light);box-shadow:0 0 12px var(--primary-light)}

/* ---------- bottoni store ---------- */
.apple-store-btn,.google-play-btn{border-radius:99px;background:rgba(236,230,216,.06);border:1px solid var(--border-highlight);box-shadow:none;
  transition:transform .3s var(--ease-out),background .3s,border-color .3s}
.apple-store-btn:hover,.google-play-btn:hover{transform:translateY(-3px);background:rgba(236,230,216,.12);border-color:var(--text-main)}
.apple-store-btn::after,.google-play-btn::after{display:none}
.hero-screenshot{border-radius:34px;box-shadow:0 40px 90px rgba(0,0,0,.6),0 0 0 1px var(--border-subtle)}
.hero-visual::before{opacity:.55}

/* ---------- card e pannelli ---------- */
.bento-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:26px;box-shadow:none;
  -webkit-backdrop-filter:none;backdrop-filter:none;transition:border-color .35s,transform .45s var(--ease-out),background .35s}
.bento-card::before,.bento-card::after{display:none}
.bento-card:hover{border-color:var(--primary-light);background:var(--bg-card-hover);box-shadow:none}
.bento-title{font-family:var(--font-display);font-weight:400;font-size:1.4rem;letter-spacing:-.02em;line-height:1.15}
.bento-text{color:var(--text-secondary)}
.feature-number{font:500 .78rem var(--font-mono);letter-spacing:.08em;color:var(--primary-light)}
.product-demo,.product-plans{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:30px;box-shadow:none}
.product-demo h2,.product-plans h2{font-weight:340;letter-spacing:-.03em}
.product-demo input,.product-demo select{background:rgba(236,230,216,.04);border:1px solid var(--border-subtle);border-radius:12px;color:var(--text-main)}
.product-demo input:focus,.product-demo select:focus{outline:none;border-color:var(--primary-light)}
.demo-result{border-radius:22px;border:1px solid var(--border-subtle)}
.demo-result>strong{font-family:var(--font-display);font-weight:300;letter-spacing:-.03em}
.product-faq,.faq-card-unit{border-color:var(--border-subtle)}
.product-faq summary{font-family:var(--font-display);font-weight:400;font-size:1.2rem;letter-spacing:-.01em}
.faq-card-unit{background:var(--bg-card);border-radius:20px}
.faq-trigger-button{font-family:var(--font-display);font-weight:400}

/* ---------- footer ---------- */
.global-footer{background:transparent;border-top:1px solid var(--border-subtle)}
.footer-nav-header{font:500 .7rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
.footer-nav-list a,.footer-bio-p,.footer-bottom-row,.footer-freelance-note{color:var(--text-secondary)}
.footer-nav-list a:hover{color:var(--text-main)}

/* ---------- mobile ---------- */
@media(max-width:800px){
  .hero{padding-top:7.2rem}
  .hero-heading,.product-page .hero-heading{font-size:clamp(2.4rem,11vw,3.6rem)}
  .bento-card{border-radius:22px}
}
@media(max-width:420px){.brand-name span{display:none}}
@media(prefers-reduced-motion:reduce){.k-lantern{display:none}}

/* ---------- pagine legali e di assistenza (prima senza stile) ---------- */
.legal-container{max-width:760px;margin:0 auto;padding:8.5rem 0 4rem}
.legal-container h1{font-family:var(--font-display);font-weight:340;font-variation-settings:"opsz" 144;font-size:clamp(2.2rem,5.4vw,3.8rem);line-height:1.05;letter-spacing:-.035em;margin-bottom:.8rem;text-wrap:balance}
.legal-container h2{font-family:var(--font-display);font-weight:400;font-size:clamp(1.4rem,2.6vw,1.9rem);letter-spacing:-.02em;line-height:1.15;margin:2.8rem 0 .8rem;color:var(--text-main)}
.legal-container h3{font-size:1.1rem;font-weight:600}
.legal-container p,.legal-container li{color:var(--text-secondary);line-height:1.7;margin:.6rem 0}
.legal-container strong{color:var(--text-main);font-weight:600}
.legal-container ul,.legal-container ol{padding-left:1.3rem;margin:.6rem 0}
.legal-container li::marker{color:var(--lamp)}
.legal-container a{color:var(--lamp);text-underline-offset:3px}
.meta-date{font:500 .72rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1.6rem}
.support-action-box{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;border:1px solid var(--border-subtle);border-radius:24px;background:var(--bg-elevated)}
.support-action-box p{margin:4px 0 0}
.btn-store.primary-cta{display:inline-flex;align-items:center;text-decoration:none;color:#1a1000!important}
.faq-list{border-top:1px solid var(--border-subtle)}
.faq-item{border-bottom:1px solid var(--border-subtle)}
.faq-question{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;padding:20px 2px;text-align:left;
  font-family:var(--font-display);font-weight:400;font-size:1.18rem;letter-spacing:-.01em;color:var(--text-main);background:none;border:0;cursor:pointer}
.faq-icon{flex:none;width:20px;height:20px;color:var(--lamp);transition:transform .35s var(--ease-out)}
.faq-item.open .faq-icon{transform:rotate(180deg)}
.faq-answer{padding:0 2px 20px}
.has-js .faq-item:not(.open) .faq-answer{display:none}
.site-footer{border-top:1px solid var(--border-subtle);padding:28px 0 40px;color:var(--text-muted);font-size:.85rem}
.site-footer .footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
.site-footer a{color:var(--text-secondary)!important;text-decoration:none}
.site-footer a:hover{color:var(--text-main)!important}
@media(max-width:640px){.legal-container{padding-top:7rem}.faq-question{font-size:1.05rem}}

.error-code{font-family:var(--font-display)!important;font-weight:300!important;letter-spacing:-.05em}
.btn-primary-action{border-radius:99px!important}

/* contrasto (WCAG AA) su elementi delle pagine app e 404 */
.btn-primary-action{color:#1a1000!important}
.pdf-client-label{color:#64748b!important}
.wa-pdf-icon{background:#dc2626!important}
.signature-sim-area>div{color:#a3b0c2!important}

@media(pointer:coarse){html body .site-nav .lang-link{padding:12px 10px}.footer-nav-list a{display:inline-block;padding:8px 0}.site-footer a{display:inline-block;padding:8px 0}}

/* correzioni di accessibilita' */
#next-round{background:#c2410c!important;color:#fff!important}
h2.sim-headline,h3.footer-nav-header{font-family:inherit}

/* pagine servizi e per mestiere */
.landing-table-wrap{max-width:820px;margin:0 auto;overflow-x:auto;border:1px solid var(--border-subtle);border-radius:22px;background:var(--bg-card)}
.landing-table{width:100%;border-collapse:collapse;font-size:.98rem}
.landing-table th{font:500 .68rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);text-align:left;padding:16px 20px;border-bottom:1px solid var(--border-subtle)}
.landing-table td{padding:14px 20px;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);vertical-align:top}
.landing-table th:last-child,.landing-table td:last-child{text-align:right;white-space:nowrap}
.landing-table tr:last-child td{border-bottom:0}
.landing-table .lt-sum td{color:var(--text-main);font-weight:600;background:rgba(236,230,216,.03)}
.landing-links{list-style:none;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:12px}
.landing-links a{display:inline-flex;padding:10px 18px;border:1px solid var(--border-highlight);border-radius:99px;color:var(--text-main);text-decoration:none;font-size:.9rem;font-weight:600;transition:border-color .2s,transform .3s var(--ease-out)}
.landing-links a:hover{border-color:var(--text-main);transform:translateY(-2px)}
.section-description{max-width:60ch;margin:14px auto 0;text-align:center}
.product-faq-list .product-faq summary{list-style:none}
@media(max-width:640px){.landing-table th,.landing-table td{padding:12px 14px}.landing-table{font-size:.9rem}}

/* guide */
.guide-body{max-width:820px}
.guide-sec{margin:0 0 42px}
.guide-sec h2{font-family:var(--font-display);font-weight:400;font-size:clamp(1.5rem,3vw,2.1rem);letter-spacing:-.02em;line-height:1.15;margin:0 0 14px;color:var(--text-main)}
.guide-sec p,.guide-sec li{color:var(--text-secondary);line-height:1.75;margin:.6rem 0}
.guide-sec strong{color:var(--text-main)}
.guide-sec ol,.guide-sec ul{padding-left:1.3rem}
.guide-sec li::marker{color:var(--lamp)}
.guide-note{margin-top:10px!important;opacity:.85}
.hero .minor{color:var(--text-muted);font-size:.85rem;margin-top:12px}
.product-faq-list .product-faq{padding:18px 4px}
