:root{
  --bg:#0b1220;
  --surface:#ffffff;
  --ink:#0f172a;
  --muted:#6b7280;
  --text:#0f172a;
  --primary:#2b7cff;
  --secondary:#8a5bff;
  --ring:#2b7cff33;
  --radius:18px;

  --gap:22px;
  --railY:42px;          
  --railH:2px;
  --rail:linear-gradient(90deg,#cfe1ff,#e5ddff);
}

*{box-sizing:border-box}
html,body{margin:0}

html, body { overflow-x:hidden; }

body{
  font-family:"Poppins",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:#f6f7fb; color:var(--text); line-height:1.55;
}
img{max-width:100%; display:block}
.container{width:min(1120px,92%); margin-inline:auto}

.site-header{
  position:sticky; top:0; z-index:50; background:rgba(255,255,255,.85);
  border-bottom:1px solid #eef2f7; backdrop-filter:saturate(160%) blur(8px);
}
.header-inner{display:flex; align-items:center; justify-content:space-between; min-height:68px}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--ink); font-weight:700}
.brand-mark{
  width:36px; height:36px; border-radius:10px;
  background: conic-gradient(from 0deg, var(--primary), var(--secondary), var(--primary));
  position:relative; overflow:hidden;
}
.brand-mark::after{content:""; position:absolute; inset:6px; border-radius:8px; background:#fff; mix-blend-mode:screen; opacity:.25}

.nav-toggle{display:none; width:42px; height:42px; border:0; background:transparent; position:relative}
.nav-toggle span{position:absolute; left:10px; right:10px; height:2px; background:#111; transition:.2s}
.nav-toggle span:nth-child(1){top:12px}
.nav-toggle span:nth-child(2){top:20px}
.nav-toggle span:nth-child(3){top:28px}
.nav-list{display:flex; align-items:center; gap:22px; list-style:none; margin:0; padding:0}
.nav-list a{
  color:var(--ink); text-decoration:none; font-weight:500; position:relative; padding:8px 4px; display:inline-block;
  transition:color .18s ease;
}
.nav-list a::after{
  content:""; position:absolute; left:0; right:0; bottom:-8px; height:3px; border-radius:999px;
  background:linear-gradient(90deg,#2b7cff,#8a5bff);
  transform:scaleX(0); transform-origin:left; opacity:.55;
  transition:transform .18s ease, opacity .18s ease;
}
.nav-list a:hover::after{transform:scaleX(1); opacity:.35}
.nav-list a.active{font-weight:700}
.nav-list a.active::after{transform:scaleX(1); opacity:1}
.nav-cta a{padding:10px 14px; border-radius:12px; background:var(--primary); color:#fff; font-weight:700; box-shadow:0 8px 22px -10px var(--ring)}
a:focus-visible,button:focus-visible{outline:3px solid #9cc3ff; outline-offset:2px}

.hero{position:relative; min-height:84vh; display:grid; place-items:center; overflow:hidden; color:#fff}
.hero-media{position:absolute; inset:0}
.hero-media img{width:100%; height:100%; object-fit:cover; filter:grayscale(.9) contrast(1.05) brightness(.6); transform:scale(1.02)}
.hero::after{
  content:""; position:absolute; inset:0;
  background: linear-gradient(125deg, rgba(43,124,255,.55), rgba(138,91,255,.55));
  mix-blend-mode:multiply;
}
.kite{position:absolute; width:min(28vw,320px); aspect-ratio:1; transform:rotate(45deg); opacity:.9;
  background:linear-gradient(145deg, #ffffff22, #ffffff05); border:2px solid #ffffff55; backdrop-filter:blur(2px);
  animation:float 9s ease-in-out infinite;}
.kite.blue{border-color:#7fb4ff; background:linear-gradient(145deg, #7fb4ff33, #7fb4ff11)}
.kite.purple{border-color:#b79bff; background:linear-gradient(145deg, #b79bff33, #b79bff11)}
.kite.k1{left:-6vw; top:18%}
.kite.k2{left:10%; bottom:12%; animation-duration:7.5s}
.kite.k3{right:-6vw; top:26%; animation-duration:8.4s}
.kite.k4{right:12%; bottom:14%; animation-duration:6.8s}
@keyframes float{0%,100%{transform:translateY(0) rotate(45deg)}50%{transform:translateY(-12px) rotate(45deg)}}

.hero-content{position:relative; text-align:center; padding:96px 0}
.eyebrow{letter-spacing:.18em; font-weight:600; opacity:.95}
.hero-title{font-size:clamp(46px, 9vw, 120px); line-height:.9; margin:10px 0}
.hero-sub{font-size:clamp(16px, 2.6vw, 22px); opacity:.95; max-width:860px; margin:0 auto}
.hero-ctas{margin-top:26px; display:flex; gap:12px; justify-content:center; flex-wrap:wrap}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:12px 18px; border-radius:12px; border:1px solid transparent; font-weight:700; text-decoration:none; transition:.25s}
.btn-primary{background:var(--primary); color:#fff; box-shadow:0 10px 28px -12px var(--ring)}
.btn-primary:hover{transform:translateY(-2px)}
.btn-ghost{background:#ffffffdd; color:var(--ink); border-color:#e8ecf3}
.btn-ghost:hover{background:#fff}
.scroll-down{position:absolute; right:20px; bottom:20px; width:44px; height:44px; border-radius:50%; background:#2b7cff; color:#fff; display:grid; place-items:center; text-decoration:none}
.hero-media,.hero::after,.kite{pointer-events:none}
.hero-content{z-index:2}
.scroll-down{z-index:3}
html{scroll-behavior:smooth}

.section{padding:96px 0}
.section-accent{background:linear-gradient(180deg,#ffffff 0,#f1f5ff 100%)}
.section-head{text-align:center; margin-bottom:40px}
.section-title{font-size:clamp(28px, 6.4vw, 46px); margin:0 0 8px; letter-spacing:-.02em}
.section-sub{color:#475569; margin:0}

.cards{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
.card{
  background:var(--surface); padding:24px; border-radius:var(--radius);
  box-shadow:0 18px 40px -28px rgba(10,20,40,.35), 0 1px 0 0 rgba(255,255,255,.6) inset;
  transform:translateY(8px); transition:.28s cubic-bezier(.2,.65,.3,1);}
.card:hover{transform:translateY(0); box-shadow:0 18px 38px -18px rgba(20,30,70,.32)}
.card-icon{width:68px; height:68px; border-radius:16px; background:#eff5ff; display:grid; place-items:center; margin-bottom:14px}
.card-icon svg{width:34px; height:34px; stroke:var(--primary); fill:none; stroke-width:1.8}

.grid-2{display:grid; grid-template-columns:1.2fr .8fr; gap:48px; align-items:center}
.checklist{display:grid; gap:12px; padding:0; list-style:none}
.checklist li{position:relative; padding-left:28px}
.checklist li::before{content:"✓"; position:absolute; left:0; top:0; color:#22c55e; font-weight:800}
.rings{position:relative; width:min(420px,90%); aspect-ratio:1; margin-inline:auto; filter:drop-shadow(0 10px 30px rgba(43,124,255,.25))}
.rings .ring{position:absolute; inset:0; border-radius:50%; border:10px solid transparent; border-top-color:#7fb4ff; border-right-color:#b79bff; animation:spin 12s linear infinite}
.rings .ring.r2{inset:30px; animation-duration:9s; opacity:.8}
.rings .ring.r3{inset:60px; animation-duration:7s; opacity:.7}
.rings {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.rings-logo {
  position: absolute;
  width: 100px;    
  height: auto;
  z-index: 2;
  pointer-events: none; 
}

@media (min-width: 768px){
  .rings-logo {
    width: 120px;
  }
}

@keyframes spin{to{transform:rotate(360deg)}}

.reason-grid{display:grid; grid-template-columns: 1.1fr .9fr; gap:40px; align-items:center}
.reason-left .signature{margin:16px 0 18px}
.sig-name{font-weight:700}
.sig-role{color:#64748b; font-size:.95rem}
.progress{margin-top:8px}
.progress-row{display:flex; align-items:center; justify-content:space-between; margin:12px 0 6px}
.progress-label{font-weight:600}
.progress-val{font-weight:700; color:#0f172a}
.progress-bar{position:relative; height:8px; background:#e9eefc; border-radius:999px; overflow:hidden}
.progress-bar span{position:absolute; left:0; top:0; bottom:0; width:0%; background: linear-gradient(90deg, var(--primary), var(--secondary)); border-radius:999px; transition: width .9s cubic-bezier(.2,.65,.3,1)}
.accordion{display:grid; gap:14px}
.acc-item{background:#fff; border:1px solid #e9edf5; border-radius:16px; box-shadow:0 10px 24px -18px rgba(16,24,40,.2)}
.acc-header{width:100%; background:transparent; border:0; display:flex; justify-content:space-between; align-items:center; padding:18px 18px; border-radius:16px; font-weight:700; font-size:1.05rem; text-align:left; cursor:pointer}
.acc-header:hover{background:#f8faff}
.acc-icon{display:inline-grid; place-items:center; width:28px; height:28px; border-radius:999px; background:#f0f5ff; color:#2b7cff; font-weight:900}
.acc-panel{overflow:hidden; max-height:0; transition:max-height .3s ease; padding:0 18px}
.acc-panel p{margin:0 0 18px; color:#334155}
.acc-header[aria-expanded="true"] .acc-icon{background:#e9f1ff}

#testimonial.section{padding-top:96px; padding-bottom:96px}
#testimonial .section-head .section-title{letter-spacing:-.02em}
#testimonial .section-head .section-sub{color:#475569; font-size:1.05rem}
#testimonial .t-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
#testimonial .t-card{
  background:#fff; border:1px solid #e9edf5; border-radius:22px; padding:24px;
  box-shadow:0 18px 40px -28px rgba(10,20,40,.35), 0 1px 0 0 rgba(255,255,255,.6) inset;
  display:grid; gap:12px}
#testimonial .t-card:hover{box-shadow:0 18px 38px -18px rgba(20,30,70,.32)}
#testimonial .t-head{display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center}
#testimonial .t-avatar{width:50px; height:50px; border-radius:50%; display:grid; place-items:center; font-weight:800; color:#0f172a; background:linear-gradient(135deg, var(--primary), var(--secondary)); box-shadow:0 6px 18px -10px var(--ring)}
#testimonial .t-name{font-weight:700}
#testimonial .t-role{color:#64748b; font-size:.95rem}
#testimonial .t-stars{display:flex; gap:5px; align-items:center}
#testimonial .t-stars .star{width:18px; height:18px; fill:#f59e0b}
#testimonial .t-quote{margin:2px 0 6px; color:#1f2937; line-height:1.6; font-size:1rem}
#testimonial .t-tags{display:flex; flex-wrap:wrap; gap:10px; list-style:none; padding:0; margin:0}
#testimonial .t-tags li{display:inline-flex; align-items:center; padding:7px 12px; border-radius:9999px; white-space:nowrap; background:#eef4ff; border:1px solid #dbe7ff; color:#0b1220; font-weight:600; font-size:.9rem; line-height:1}
#testimonial .t-cta{text-align:center; margin-top:24px; padding:16px; color:#334155}
#testimonial .t-cta a{font-weight:700; color:var(--primary); text-decoration:none}
#testimonial .t-cta a:hover{text-decoration:underline}

.cta{
  padding:96px 0;
  background:linear-gradient(135deg,#2b7cff 0%, #8a5bff 100%);
  color:#fff;
  text-align:center;
}
.cta h2{ font-size:2rem; margin-bottom:12px }
.cta p{ font-size:1.1rem; opacity:.9; margin-bottom:26px }

.cta .btn-primary{
  background:#fff;
  color:#2b7cff;
  border:1px solid #e5e7eb;
  box-shadow:0 6px 16px -6px rgba(0,0,0,.25);
}
.cta .btn-primary:hover{ background:#f8f9ff; transform:translateY(-2px) }

.grid-2-narrow{display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:start}
.form{background:#fff; border-radius:20px; padding:22px; box-shadow:0 14px 34px -18px rgba(20,30,70,.25)}
.form-row{margin-bottom:12px}
input, textarea{width:100%; padding:12px 14px; border-radius:12px; border:1px solid #e5e7eb; font:inherit; background:#fff; outline:none; transition:.2s}
input:focus, textarea:focus{border-color:#c7d2fe; box-shadow:0 0 0 6px #2b7cff22}
.msg-ok{opacity:0; transform:translateY(6px); transition:.25s; margin-top:8px; font-weight:600; color:#16a34a}
.msg-ok.show{opacity:1; transform:none}

.site-footer{background:var(--bg); color:#cbd5e1; padding:22px 0}
.footer-inner{display:flex; align-items:center; justify-content:center; text-align: center;}
.to-top{width:40px; height:40px; display:grid; place-items:center; background:#15243b; color:#fff; text-decoration:none; border-radius:10px}

.reveal{opacity:0; transform:translateY(16px); will-change:transform,opacity}
.reveal.in{opacity:1; transform:none; transition:opacity .6s cubic-bezier(.2,.65,.3,1), transform .6s cubic-bezier(.2,.65,.3,1)}
.reveal[data-reveal="left"]{transform:translateX(-18px)}
.reveal[data-reveal="right"]{transform:translateX(18px)}
.reveal[data-reveal="up"]{transform:translateY(22px)}
.reveal.in{transition-delay:var(--d,0s)}
@media (prefers-reduced-motion:reduce){
  .reveal,.reveal.in{transition:none !important; transform:none !important; opacity:1 !important}
}

#numeri.section{
  background:
    radial-gradient(780px 380px at 15% -12%, #eaf1ff 0%, transparent 65%),
    radial-gradient(820px 380px at 85% -14%, #efe9ff 0%, transparent 65%),
    linear-gradient(180deg,#ffffff 0%, #f6f8ff 100%);
}

.process-grid{
  --cols:4;
  display:grid;
  grid-template-columns:repeat(var(--cols), minmax(0,1fr));
  gap:var(--gap);
  counter-reset:step;
  position:relative;
}

.p-card{
  position:relative;
  background:#fff;
  border:1px solid #e8ecf6;
  border-radius:18px;
  padding:22px 18px 18px;
  box-shadow:0 14px 34px -22px rgba(12,22,48,.20);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.p-card:hover{ transform:translateY(-2px); box-shadow:0 18px 40px -24px rgba(12,22,48,.26) }

.p-card::before{
  content: counter(step); counter-increment: step;
  position:absolute; top:-13px; left:16px; z-index:2;
  width:28px; height:28px; border-radius:999px; display:grid; place-items:center;
  font:700 12px/1 "Poppins",system-ui,sans-serif; color:#0f172a;
  background:#fff; border:1px solid #dfe6f8; box-shadow:0 10px 18px -12px rgba(43,124,255,.35);
}

.p-head{
  display:grid; grid-template-columns:auto 1fr; gap:10px; align-items:center;
  min-height: var(--railY);           
  margin-bottom:8px;
}
.p-ico{
  width:30px; height:30px; border-radius:10px; display:grid; place-items:center; color:#5466ff;
  background:linear-gradient(180deg,#f7faff,#f1f5ff); border:1px solid #e6ecfb;
}
.p-ico svg{width:18px; height:18px}
.p-head h3{margin:0; font-size:1.04rem; font-weight:800; letter-spacing:-.01em; color:#0f172a}
.p-card p{margin:0; color:#475569; font-size:.98rem; line-height:1.55}

.p-card:nth-child(4n)::after{display:none}          
.p-card:nth-child(n+5):nth-child(4n)::after{display:none} 

@media (max-width:980px){
  .process-grid{ --cols:2 }
  .p-card:nth-child(2n)::after{display:none}       
}

@media (max-width:760px){
  .process-grid{ --cols:1 }
  .p-card{padding-top:26px}
  .p-head{min-height:38px}
  .p-card::after{
    left:31px; top:calc(var(--railY) + 6px);
    width:2px; height:18px; background:linear-gradient(#cfe1ff,#e5ddff);
  }
  .p-card:last-child::after{display:none}
}

@media (max-width:980px){
  .cards{grid-template-columns:1fr 1fr}
  .grid-2{grid-template-columns:1fr}
  .grid-2-narrow{grid-template-columns:1fr}
  #testimonial .t-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .nav-toggle{display:block}
  .nav-list{
    position:absolute; inset:68px 10px auto 10px; background:#fff; border:1px solid #eef2f7; border-radius:16px;
    padding:14px; display:grid; gap:10px; transform:scale(.98) translateY(-10px); opacity:0; pointer-events:none; transition:.2s;
  }
  .nav.open .nav-list{opacity:1; transform:none; pointer-events:auto}
  .kite{display:none}
  .hero{min-height:74vh}
  #testimonial .t-grid{grid-template-columns:1fr}
  #testimonial .t-card{padding:18px}
  #testimonial .section-head .section-title{font-size:clamp(24px,6vw,34px)}
}

:root{
  --brand-h-mobile: 44px; 
  --brand-h-desktop: 90px;  
}

.brand-logo{
  height: clamp(var(--brand-h-mobile), 6.5vw, var(--brand-h-desktop));
  width: auto;
  display: block;
}

.header-inner{ min-height: calc(clamp(var(--brand-h-mobile), 6.5vw, var(--brand-h-desktop)) + 28px); }

.nav-toggle{ height: calc(clamp(var(--brand-h-mobile), 6.5vw, var(--brand-h-desktop)) + 12px); }

@media (max-width: 760px){
  .nav-list{ inset: calc(.5 * (clamp(var(--brand-h-mobile), 6.5vw, var(--brand-h-desktop)) + 40px)) 10px auto 10px; }
}

/* Fix mobile */
@media (max-width: 760px){

  body.no-scroll{ overflow:hidden; }

  .nav{ position: relative; z-index: 100; }

  .nav-scrim{
    position: fixed; inset: 0;
    background: rgba(10,15,25,.48);
    backdrop-filter: blur(3px);
    opacity: 0; pointer-events: none; transition:.2s;
    z-index: 90;
  }
  .nav.open .nav-scrim{ opacity:1; pointer-events:auto; }

  .nav-list{
    position: fixed;
    top: var(--headerH);
    background:#fff;              
    border-radius:0;            
    padding:20px 18px calc(env(safe-area-inset-bottom,0px) + 28px);
    display:grid; gap:12px;
    transform:translateY(-8px); opacity:0; pointer-events:none;
    transition:transform .22s ease, opacity .22s ease;
    overflow-y:auto;
    z-index: 95;                 

    left: 0; right: 0; width: 100vw;
  }
  .nav.open .nav-list{ transform:none; opacity:1; pointer-events:auto; }

  .nav-list a{
    font-size:20px; font-weight:700; padding:14px 0;
  }
  .nav-list li:last-child a{ border-bottom:0; }

  .nav-cta a{ display:block; margin-top:12px; padding:14px; font-size:18px; border-radius:14px; text-align:center; }

  .nav-toggle{ position:relative; z-index:110; }
  .nav-toggle span{ transition: transform .2s ease, opacity .2s ease; }
  .nav.open .nav-toggle span:nth-child(1){ transform: translateY(8px) rotate(45deg); }
  .nav.open .nav-toggle span:nth-child(2){ opacity: 0; }
  .nav.open .nav-toggle span:nth-child(3){ transform: translateY(-8px) rotate(-45deg); }
}

@media (max-width: 1024px){
  #services-cards.cards{
    display:flex !important;       
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    gap:16px;
    padding:0 12px;

    overscroll-behavior-x: contain;
    max-width: 100vw;
  }

  #services-cards .card{
    flex:0 0 85vw;                   
    max-width:85vw;                 
    scroll-snap-align:center;         
    border-radius:18px;
    min-height:240px;
    box-shadow:0 12px 28px -16px rgba(20,30,60,.25);
  }

  #services-cards::-webkit-scrollbar{ display:none; }
}

@media (max-width: 760px){
  #perche .section-head{ padding: 0 16px; }
  #perche .grid-2{ gap: 28px; }

  #perche .checklist{
    width: min(680px, 92%);
    margin: 0 auto;
    padding: 14px 16px;
    background: #fff;
    border: 1px solid #eef2f7;
    border-radius: 16px;
    box-shadow: 0 10px 24px -18px rgba(16,24,40,.12);
  }
  #perche .checklist li{
    padding-left: 36px;            
    line-height: 1.55;
  }
  #perche .checklist li::before{
    left: 12px;                
    top: 0.05em;
    font-size: 20px;
  }

  .rings{ max-width: 320px; }
  .rings .ring{ border-width: 8px; }
  .rings .ring.r2{ inset: 26px; }
  .rings .ring.r3{ inset: 52px; }

  .rings-logo{
    width: 140px;                  
  }
}

#reason .reason-grid{ grid-template-columns: 1.1fr .9fr; gap: clamp(36px, 4vw, 56px); }
#reason .reason-left{ padding-left: clamp(18px, 5vw, 44px); }

#reason .acc-item{
  background:#fff;
  border:1px solid #e9edf5;
  border-radius:16px;
  box-shadow:0 12px 30px -16px rgba(12,22,48,.16);
}

#reason .acc-header{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:14px;
  padding:18px;
  font-weight:700;
  font-size:1.03rem;
}
#reason .acc-icon{
  position:relative;
  width:28px; height:28px;
  border-radius:999px;
  background:#eef4ff;
  font-size:0; 
}
#reason .acc-icon::before,
#reason .acc-icon::after{
  content:"";
  position:absolute; left:50%; top:50%;
  width:12px; height:2px; border-radius:2px; background:#2b7cff;
  transform:translate(-50%, -50%) rotate(0deg);
}
#reason .acc-icon::after{ transform:translate(-50%, -50%) rotate(90deg); }
#reason .acc-header[aria-expanded="true"] .acc-icon{ background:#e9f1ff; }
#reason .acc-header[aria-expanded="true"] .acc-icon::before{ transform:translate(-50%, -50%) rotate(45deg); }
#reason .acc-header[aria-expanded="true"] .acc-icon::after{ transform:translate(-50%, -50%) rotate(135deg); }

#reason .acc-panel{
  padding:0 18px 18px;
  border-top:1px solid #f0f3fb;
  max-height:0; overflow:hidden;
  transition:max-height .32s ease;
}
#reason .acc-header[aria-expanded="true"] + .acc-panel{ max-height:520px; }

#reason .progress-bar{ height:10px; }

@media (max-width:1024px){
  #reason .accordion{
    max-width:740px;
    margin-inline:auto;
  }
}

@media (max-width:760px){
  #reason .reason-grid{
    grid-template-columns:1fr !important;
    gap:26px;
  }
  #reason .reason-left{
    padding-left: clamp(14px, 5vw, 22px);
    padding-right: clamp(12px, 5vw, 22px);
  }
  #reason .progress{ margin-bottom:14px; }

  #reason .accordion{
    display: none;
  }
  #reason .acc-item{ border-radius:16px; }
  #reason .acc-header{ padding:18px 52px 18px 18px; }
  #reason .acc-icon{
    position:absolute; right:14px; top:50%;
    transform:translateY(-50%);
    width:28px; height:28px;
  }
}

#reason .acc-item{ position: relative; }

#reason .acc-icon{
  position: relative;
  width: 28px; height: 28px;
  border-radius: 999px;
  background: #eef4ff;
  font-size: 0;
}
#reason .acc-icon::before,
#reason .acc-icon::after{
  content:""; position:absolute; left:50%; top:50%;
  width:12px; height:2px; border-radius:2px; background:#2b7cff;
  transform:translate(-50%,-50%) rotate(0deg);
}
#reason .acc-icon::after{ transform:translate(-50%,-50%) rotate(90deg); }
#reason .acc-header[aria-expanded="true"] .acc-icon{ background:#e9f1ff; }
#reason .acc-header[aria-expanded="true"] .acc-icon::before{ transform:translate(-50%,-50%) rotate(45deg); }
#reason .acc-header[aria-expanded="true"] .acc-icon::after{ transform:translate(-50%,-50%) rotate(135deg); }

#reason .acc-header + .acc-panel{ display:none; }
#reason .acc-header[aria-expanded="true"] + .acc-panel{
  display:block;
  padding: 0 18px 18px;
  border-top:1px solid #f0f3fb;
}

@media (max-width:760px){
  #reason .reason-grid{
    grid-template-columns:1fr !important;
    gap: 26px;
  }

  #reason .progress{ margin-bottom: 14px; }

  #reason .accordion{
    display:grid; gap:14px;
    width:100%;
    margin: 6px auto 0;
    padding: 0 16px;
    max-width: none;
    display: none;
  }

  #reason .acc-item{
    width: 100%;
    margin: 0;              
    border-radius: 16px;
    border: 1px solid #e9edf5;
    box-shadow: 0 12px 30px -16px rgba(12,22,48,.18);
    background:#fff;
  }

  #reason .acc-header{
    position: relative;
    display: block;         
    padding: 18px 56px 18px 18px;
    min-height: 56px;
    border-radius: 16px;
    font-size: 1.02rem;
  }
  #reason .acc-icon{
    position: absolute;
    right: 16px; top: 50%;
    transform: translateY(-50%);
    width: 28px; height: 28px;
    z-index: 1;
  }

  #reason .acc-header[aria-expanded="true"] + .acc-panel{
    border-bottom-left-radius: 16px;
    border-bottom-right-radius: 16px;
  }
}

@media (min-width:761px) and (max-width:1024px){
  #reason .accordion{ max-width: 740px; margin-inline: auto; display: none; }
  #reason .acc-item{ width: 100%; }
}

@media (max-width:760px){
  #reason{ --gL: clamp(12px,4vw,20px); --gR: clamp(12px,4vw,20px); }

  #reason .reason-left{
    padding-left: var(--gL);
    padding-right: var(--gR);
  }

  #reason .accordion{
    width: auto;              
    max-width: none;
    margin: 0;
    padding-left: var(--gL); 
    padding-right: var(--gR);
    display: grid;
    gap: 14px;
    display: none;
  }

  #reason .acc-item{
    width: 100%;
    margin: 0;              
    border-radius: 16px;
    border: 1px solid #e9edf5;
    box-shadow: 0 12px 30px -16px rgba(12,22,48,.18);
    background:#fff;
  }

  #reason .acc-header{
    position: relative;
    display: block;
    padding: 18px 56px 18px 18px;
    min-height: 56px;
    font-size: 1.02rem;
    border-radius: 16px;
  }

  #reason .acc-icon{
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px; height: 28px;
    border-radius: 999px;
    background: #eef4ff;
    font-size: 0;
  }
  #reason .acc-icon::before,
  #reason .acc-icon::after{
    content:"";
    position:absolute; left:50%; top:50%;
    width:12px; height:2px; border-radius:2px; background:#2b7cff;
    transform:translate(-50%,-50%) rotate(0deg);
  }
  #reason .acc-icon::after{ transform:translate(-50%,-50%) rotate(90deg); }
  #reason .acc-header[aria-expanded="true"] .acc-icon{ background:#e9f1ff; }
  #reason .acc-header[aria-expanded="true"] .acc-icon::before{ transform:translate(-50%,-50%) rotate(45deg); }
  #reason .acc-header[aria-expanded="true"] .acc-icon::after{ transform:translate(-50%,-50%) rotate(135deg); }

  #reason .acc-header + .acc-panel{ display:none; }
  #reason .acc-header[aria-expanded="true"] + .acc-panel{
    display:block;
    padding: 0 18px 18px;
    border-top:1px solid #f0f3fb;
    border-bottom-left-radius:16px;
    border-bottom-right-radius:16px;
  }

  #reason .progress{ margin-bottom: 12px; }
}

@media (min-width:761px) and (max-width:1024px){
  #reason .accordion{ max-width: 740px; margin-inline: auto; padding-inline: 0; display: none;}
  #reason .acc-item{ width: 100%; }
}

@media (max-width:1024px){
  #services-cards.cards{
    display:flex !important;
    overflow-x:auto; overflow-y:hidden;
    touch-action: pan-x;                
    overscroll-behavior-x: contain;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    gap:16px; padding:0 12px 12px;
    align-items: stretch;
    max-width:100vw;
  }
  #services-cards .card{
    flex: 0 0 84vw;
    max-width:84vw;
    scroll-snap-align:center;
    min-height:240px;
  }
}

@media (max-width:760px){
  #perche .section-head{ padding:0 16px; text-align:center; }

  #perche .grid-2{
    grid-template-columns:1fr;
    gap: 24px;
    padding-inline: 16px;
  }

  #perche .checklist{
    width:100%;
    max-width:680px;
    margin:0 auto;
    padding: 0;                  
    background: transparent;          
    border: none;                    
    box-shadow: none;                 
  }

  .rings{ margin: 0 auto; max-width:320px; }
}

#reason{ --gL: clamp(14px,5vw,22px); --gR: clamp(14px,5vw,22px); }

@media (max-width:760px){
  #reason .reason-grid{
    grid-template-columns:1fr !important;
    gap: 24px;
  }
  #reason .reason-left{
    padding-left: var(--gL);
    padding-right: var(--gR);
  }

  #reason .accordion{
    width: 100%;
    max-width: none;
    margin: 0;                        
    padding-left: var(--gL);
    padding-right: var(--gR);
    display: grid; gap: 14px;
    display: none;
  }

  #reason .acc-item{
    width:100%;
    margin:0;
    border-radius:16px;
    border:1px solid #e9edf5;
    box-shadow:0 12px 30px -16px rgba(12,22,48,.18);
    background:#fff;                   
  }

  #reason .acc-header{
    position: relative;
    display:block; width:100%;
    text-align:left;
    padding:18px 56px 18px 18px;      
  }
  #reason .acc-icon{
    position:absolute; right:16px; top:50%;
    transform:translateY(-50%);
  }

  #reason .acc-header[aria-expanded="true"] + .acc-panel{
    border-bottom-left-radius:16px;
    border-bottom-right-radius:16px;
  }
}

html, body { overflow-x: hidden; }
img, svg, video, canvas { max-width:100%; height:auto; }


/* default */
#faq-mobile { display:none; }

@media (max-width:768px){
  #faq { display:none; }
  #faq-mobile { display:block; }
}

/* toggle semplice */
#faq-mobile .accordion-body{ display:none; }
#faq-mobile .accordion-item.open .accordion-body{ display:block; }

.policy-iu{
  position:fixed;
  bottom:25px;
  right:25px;
}
