/* ==========================================================================
   SkyPlanet — pagina dedicata all'ecosistema prodotti Sky Land
   Palette: bianco / navy profondo / azzurro cielo. Titoli Montserrat, testo Open Sans.
   ========================================================================== */

*{box-sizing:border-box;}
body{margin:0;}
input,textarea{font-family:'Open Sans',sans-serif;}

/* --------------------------------------------------------------------------
   Keyframes
   -------------------------------------------------------------------------- */
@keyframes skl-fadeup{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}
@keyframes skl-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-14px);}}
@keyframes skl-drift1{0%{transform:rotate(14deg) translate(0,0);}50%{transform:rotate(24deg) translate(26px,20px);}100%{transform:rotate(14deg) translate(0,0);}}
@keyframes skl-drift2{0%{transform:rotate(-8deg) translate(0,0);}50%{transform:rotate(6deg) translate(-22px,16px);}100%{transform:rotate(-8deg) translate(0,0);}}
@keyframes skl-drift3{0%{transform:rotate(0deg) translate(0,0) scale(1);}50%{transform:rotate(-14deg) translate(18px,-14px) scale(1.06);}100%{transform:rotate(0deg) translate(0,0) scale(1);}}
@keyframes sp-spin{to{transform:rotate(360deg);}}
@keyframes sp-spin-rev{to{transform:rotate(-360deg);}}
@keyframes sp-core-pulse{0%,100%{opacity:.55;transform:scale(1);}50%{opacity:1;transform:scale(1.05);}}

/* --------------------------------------------------------------------------
   Base di pagina
   -------------------------------------------------------------------------- */
.sp-page{--sp-navy:#0b2b3d;--sp-ink:#13384a;--sp-body:#4a6374;--sp-line:#e6eef4;--sp-max:1240px;}
.sp-page main{display:block;}
.sp-page main:focus{outline:none;}
.sp-page section[id],
.sp-page article[id]{scroll-margin-top:86px;}
.sp-page :where(p){margin:0;}
.sp-page :where(ul){margin:0;padding:0;list-style:none;}

.sp-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

.sp-skip{position:absolute;left:16px;top:-64px;z-index:120;display:inline-block;padding:12px 20px;border-radius:0 0 6px 6px;background:var(--sp-ink);color:#fff;font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;text-decoration:none;transition:top .2s ease;}
.sp-skip:focus{top:0;color:#fff;}

/* Focus visibile e coerente su tutta la pagina. */
.sp-page a:focus-visible,
.sp-page button:focus-visible,
.sp-page input:focus-visible,
.sp-page textarea:focus-visible{outline:3px solid #0b3e5c;outline-offset:3px;border-radius:4px;}
.sp-hero a:focus-visible,
.sp-pillars a:focus-visible,
.sp-footer a:focus-visible{outline-color:#ffffff;}

/* --------------------------------------------------------------------------
   Tipografia condivisa
   -------------------------------------------------------------------------- */
.sp-kicker{font-family:'Montserrat',sans-serif;font-weight:700;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--accent,#108bcb);margin:0 0 14px;}
.sp-kicker--light{color:rgba(255,255,255,0.72);}

.sp-h2{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(28px,3.8vw,44px);line-height:1.1;letter-spacing:-1px;margin:0;color:var(--sp-ink);}
.sp-h2--light{color:#ffffff;}

.sp-lead{font-size:16.5px;line-height:1.75;color:var(--sp-body);margin:22px 0 0;}

/* Bottoni --------------------------------------------------------------- */
.sp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:'Open Sans',sans-serif;font-weight:700;font-size:15px;line-height:1;padding:15px 30px;border:2px solid transparent;border-radius:4px;text-decoration:none;cursor:pointer;transition:transform .25s ease,background .25s ease,color .25s ease,box-shadow .25s ease;}
.sp-btn--solid{color:#fff;background:var(--accent,#108bcb);border-color:var(--accent,#108bcb);box-shadow:0 12px 28px rgba(16,139,203,0.32);}
.sp-btn--solid:hover{color:#fff;background:#0a6fa3;border-color:#0a6fa3;transform:translateY(-3px);}
.sp-btn--ghost{color:#fff;background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.55);}
.sp-btn--ghost:hover{color:var(--sp-navy);background:#fff;border-color:#fff;transform:translateY(-3px);}

/* --------------------------------------------------------------------------
   Reveal on scroll — attivo solo quando lo scripting è disponibile,
   così il contenuto resta visibile se il JS non parte.
   -------------------------------------------------------------------------- */
@media (scripting: enabled){
  .sp-reveal{opacity:0;transform:translateY(28px);transition:opacity .75s cubic-bezier(.22,.61,.36,1),transform .75s cubic-bezier(.22,.61,.36,1);}
  .sp-reveal.is-in{opacity:1;transform:none;}
  .sp-features__item{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease;transition-delay:calc(var(--sp-i,0) * 90ms);}
  .sp-reveal.is-in .sp-features__item{opacity:1;transform:none;}
}

/* --------------------------------------------------------------------------
   HERO
   -------------------------------------------------------------------------- */
.sp-hero{position:relative;background:var(--sp-navy);overflow:hidden;clip-path:polygon(0 0, 100% 0, 100% 88%, 0 100%);}
.sp-hero__bg{position:absolute;inset:0;z-index:0;}
.sp-hero__wedge{position:absolute;top:0;left:0;width:58%;height:100%;z-index:1;background:linear-gradient(120deg,#1791d0 0%,#108bcb 58%,#0d79b3 100%);clip-path:polygon(0 0, 100% 0, 70% 100%, 0 100%);}
/* Pianeta decorativo sul lato destro: bilancia la composizione dell'hero. */
.sp-hero__bg::before{content:'';position:absolute;right:-8%;top:50%;width:min(640px,54vw);aspect-ratio:1;transform:translateY(-50%);z-index:1;border-radius:50%;border:1px dashed rgba(255,255,255,0.12);background:radial-gradient(circle at 38% 32%, rgba(127,208,242,0.22), rgba(16,139,203,0.12) 44%, rgba(11,43,61,0) 72%);}
/* Velo di contrasto: il testo resta leggibile sia sul cuneo azzurro sia sul navy. */
.sp-hero__bg::after{content:'';position:absolute;inset:0;z-index:3;background:linear-gradient(100deg, rgba(5,30,44,0.58) 0%, rgba(5,30,44,0.36) 40%, rgba(5,30,44,0.08) 68%, rgba(5,30,44,0) 84%);}
.sp-hero__shape{position:absolute;z-index:2;border:2px solid rgba(255,255,255,0.12);will-change:transform;}
.sp-hero__shape--1{top:-9%;left:-6%;width:340px;height:340px;border-radius:26px;animation:skl-drift1 22s ease-in-out infinite;}
.sp-hero__shape--2{top:46%;left:34%;width:170px;height:170px;border-radius:22px;border-color:rgba(255,255,255,0.10);animation:skl-drift2 27s ease-in-out infinite;}
.sp-hero__shape--3{bottom:16%;left:11%;width:92px;height:92px;border-radius:50%;border-color:rgba(255,255,255,0.09);animation:skl-drift3 19s ease-in-out infinite;}

.sp-hero__inner{position:relative;z-index:2;max-width:var(--sp-max);margin:0 auto;padding:84px 32px 140px;}

.sp-crumbs{display:inline-flex;align-items:center;font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;letter-spacing:0.4px;margin-bottom:28px;animation:skl-fadeup .8s .02s both;}
.sp-crumbs__home{display:inline-flex;align-items:center;background:rgba(255,255,255,0.16);color:#fff;padding:9px 20px 9px 18px;border-radius:4px 0 0 4px;text-decoration:none;transition:background .2s ease;}
.sp-crumbs__home:hover{background:rgba(255,255,255,0.28);color:#fff;}
.sp-crumbs__arrow{width:0;height:0;border-top:17px solid transparent;border-bottom:17px solid transparent;border-left:14px solid rgba(255,255,255,0.16);}
.sp-crumbs__current{display:inline-flex;align-items:center;background:var(--sp-navy);color:#fff;padding:9px 20px;border-radius:0 4px 4px 0;margin-left:-1px;}

.sp-hero .sp-kicker{animation:skl-fadeup .85s .06s both;}
.sp-hero__title{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(46px,7vw,86px);line-height:0.98;letter-spacing:-2.4px;margin:0;color:#fff;animation:skl-fadeup .9s .1s both;}
.sp-hero__claim{font-family:'Montserrat',sans-serif;font-weight:700;font-size:clamp(19px,2.3vw,28px);line-height:1.3;letter-spacing:-0.4px;color:#a8dcf7;margin:16px 0 0;animation:skl-fadeup .95s .18s both;}
.sp-hero__text{font-size:clamp(15px,1.2vw,17px);line-height:1.78;color:rgba(255,255,255,0.88);margin:22px 0 0;max-width:660px;animation:skl-fadeup 1s .26s both;}
.sp-hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;animation:skl-fadeup 1.05s .34s both;}

.sp-hero__tags{display:flex;flex-wrap:wrap;gap:12px 10px;margin-top:44px;animation:skl-fadeup 1.1s .42s both;}
.sp-hero__tags a{display:inline-flex;align-items:baseline;gap:8px;padding:9px 16px;border:1px solid rgba(255,255,255,0.24);border-radius:100px;background:rgba(255,255,255,0.06);color:#fff;font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;text-decoration:none;transition:background .22s ease,border-color .22s ease,transform .22s ease;}
.sp-hero__tags a:hover{background:rgba(255,255,255,0.16);border-color:rgba(255,255,255,0.5);color:#fff;transform:translateY(-2px);}
.sp-hero__tags em{font-style:normal;font-weight:600;font-size:11.5px;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,0.6);}

/* --------------------------------------------------------------------------
   MAPPA / SISTEMA ORBITALE
   -------------------------------------------------------------------------- */
.sp-system{background:linear-gradient(180deg,#ffffff 0%,#eef6fc 100%);padding:96px 32px 104px;overflow:hidden;}
.sp-system__inner{max-width:var(--sp-max);margin:0 auto;display:grid;grid-template-columns:minmax(280px,440px) 1fr;gap:56px;align-items:center;}
.sp-system__intro{max-width:460px;}

.sp-orbit{position:relative;width:min(620px,100%);aspect-ratio:1;margin:0 auto;justify-self:center;}
.sp-orbit__rings{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.sp-orbit__spin{transform-box:view-box;transform-origin:50% 50%;}
.sp-orbit__spin--a{animation:sp-spin 90s linear infinite;}
.sp-orbit__spin--b{animation:sp-spin-rev 120s linear infinite;}
.sp-orbit__spin--c{animation:sp-spin 150s linear infinite;}

.sp-orbit__core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;text-align:center;font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(15px,2.2vw,21px);letter-spacing:-0.5px;color:#ffffff;pointer-events:none;text-shadow:0 2px 10px rgba(8,38,54,0.35);}
.sp-orbit__core span{color:#cdefff;}

.sp-orbit__nodes{position:absolute;inset:0;z-index:3;}
.sp-orbit__node{position:absolute;transform:translate(-50%,-50%);}
.sp-orbit__node:nth-child(1){left:50%;top:13%;}
.sp-orbit__node:nth-child(2){left:86%;top:50%;}
.sp-orbit__node:nth-child(3){left:50%;top:87%;}
.sp-orbit__node:nth-child(4){left:14%;top:50%;}

.sp-orbit__node a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:11px 18px;background:#fff;border:1px solid #d4e3ee;border-radius:12px;box-shadow:0 10px 26px rgba(16,60,90,0.14);text-decoration:none;white-space:nowrap;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
.sp-orbit__node a:hover{transform:translateY(-4px);border-color:var(--sp-hue,#108bcb);box-shadow:0 18px 38px rgba(16,60,90,0.2);}
.sp-orbit__dot{width:9px;height:9px;border-radius:50%;background:var(--sp-hue,#108bcb);box-shadow:0 0 0 5px color-mix(in srgb, var(--sp-hue,#108bcb) 18%, transparent);margin-bottom:4px;animation:sp-core-pulse 4s ease-in-out infinite;}
.sp-orbit__name{font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;color:var(--sp-ink);}
.sp-orbit__sector{font-family:'Montserrat',sans-serif;font-weight:600;font-size:10.5px;letter-spacing:1.4px;text-transform:uppercase;color:#8aa1b0;}

/* --------------------------------------------------------------------------
   PRODOTTI
   -------------------------------------------------------------------------- */
.sp-products{background:#ffffff;}
.sp-product{padding:92px 32px;border-top:1px solid var(--sp-line);}
.sp-product:first-of-type{border-top:0;}
.sp-product:nth-of-type(even){background:#f7fafd;}
.sp-product__inner{max-width:var(--sp-max);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,0.92fr);column-gap:64px;align-items:start;}
.sp-product__summary{grid-column:1;grid-row:1;}
.sp-product__details{grid-column:1;grid-row:2;}
.sp-product__art{grid-column:2;grid-row:1 / span 2;align-self:center;}
.sp-product--flip .sp-product__summary,
.sp-product--flip .sp-product__details{grid-column:2;}
.sp-product--flip .sp-product__art{grid-column:1;}

.sp-product__name{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(30px,4vw,46px);line-height:1.06;letter-spacing:-1.2px;margin:0;color:var(--sp-ink);}
.sp-product__claim{font-family:'Montserrat',sans-serif;font-weight:700;font-size:clamp(17px,1.7vw,21px);line-height:1.35;color:var(--sp-hue,#108bcb);margin:14px 0 0;}
.sp-product__badge{display:inline-block;margin:16px 0 0;padding:6px 14px;border-radius:100px;background:color-mix(in srgb, var(--sp-hue,#108bcb) 12%, transparent);border:1px dashed color-mix(in srgb, var(--sp-hue,#108bcb) 45%, transparent);font-family:'Montserrat',sans-serif;font-weight:700;font-size:11.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--sp-hue,#108bcb);}
.sp-product__lead{font-size:16.5px;line-height:1.78;color:#3f5867;margin:20px 0 0;}
.sp-product__text{font-size:15.5px;line-height:1.78;color:var(--sp-body);margin:18px 0 0;}

.sp-features{display:grid;gap:22px;margin:36px 0 0;padding-top:30px;border-top:1px solid var(--sp-line);}
.sp-features__item{display:flex;gap:14px;align-items:flex-start;}
.sp-features__mark{flex:none;width:10px;height:10px;margin-top:7px;border-radius:3px;background:var(--sp-hue,#108bcb);transform:rotate(45deg);}
.sp-features__text{font-size:15px;line-height:1.68;color:var(--sp-body);}
.sp-features__text strong{display:block;font-family:'Montserrat',sans-serif;font-weight:700;font-size:15.5px;color:var(--sp-ink);margin-bottom:5px;}

.sp-cta{display:inline-flex;align-items:center;gap:12px;margin-top:38px;padding:15px 28px;border-radius:4px;background:var(--sp-hue,#108bcb);color:#fff;font-family:'Open Sans',sans-serif;font-weight:700;font-size:15px;text-decoration:none;box-shadow:0 12px 28px color-mix(in srgb, var(--sp-hue,#108bcb) 34%, transparent);transition:transform .25s ease,box-shadow .25s ease,filter .25s ease;}
.sp-cta:hover{color:#fff;transform:translateY(-3px);filter:brightness(0.93);box-shadow:0 18px 36px color-mix(in srgb, var(--sp-hue,#108bcb) 40%, transparent);}
/* Micro-stato di pressione: dopo :hover per vincere a parita' di specificita'. */
.sp-cta:active{transform:translateY(-1px);box-shadow:0 8px 18px color-mix(in srgb, var(--sp-hue,#108bcb) 34%, transparent);}
.sp-cta svg{flex:none;transition:transform .25s ease;}
.sp-cta:hover svg{transform:translateX(4px);}

/* Illustrazione di prodotto ------------------------------------------------ */
.sp-art{position:relative;}
.sp-art__glow{position:absolute;left:6%;top:8%;width:88%;height:84%;border-radius:26px;background:radial-gradient(ellipse at 30% 20%, color-mix(in srgb, var(--sp-hue,#108bcb) 22%, transparent), transparent 68%);filter:blur(6px);z-index:0;}
.sp-art__image{position:relative;z-index:1;display:block;width:100%;height:auto;filter:drop-shadow(0 26px 52px rgba(16,60,90,0.16));}

/* --------------------------------------------------------------------------
   PILASTRI TRASVERSALI
   -------------------------------------------------------------------------- */
.sp-pillars{background:var(--sp-navy);padding:92px 32px 100px;position:relative;overflow:hidden;}
.sp-pillars::before{content:'';position:absolute;top:-30%;right:-10%;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle, rgba(16,139,203,0.28), rgba(16,139,203,0) 68%);pointer-events:none;}
.sp-pillars__inner{position:relative;max-width:var(--sp-max);margin:0 auto;}
.sp-pillars__intro{max-width:640px;margin-bottom:48px;}
.sp-pillars__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;}
.sp-pillar{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.12);border-radius:14px;padding:30px 26px 32px;}
.sp-pillar__icon{display:inline-flex;width:50px;height:50px;align-items:center;justify-content:center;border-radius:12px;background:rgba(16,139,203,0.24);color:#8fd2f4;margin-bottom:18px;}
.sp-pillar__title{font-family:'Montserrat',sans-serif;font-weight:700;font-size:19px;line-height:1.25;margin:0 0 10px;color:#fff;}
.sp-pillar__text{font-size:14.5px;line-height:1.7;color:rgba(255,255,255,0.76);margin:0;}

/* --------------------------------------------------------------------------
   NOI CRESCIAMO CON VOI
   -------------------------------------------------------------------------- */
.sp-voice{background:#ffffff;padding:88px 32px;}
.sp-voice__inner{max-width:860px;margin:0 auto;text-align:center;}
.sp-voice__inner .sp-lead{margin-left:auto;margin-right:auto;}
.sp-voice__signature{margin:30px 0 0;font-family:'Montserrat',sans-serif;font-weight:700;font-size:17px;color:var(--sp-ink);}
.sp-voice__signature em{font-style:italic;color:var(--accent,#108bcb);}

/* --------------------------------------------------------------------------
   CONTATTI
   -------------------------------------------------------------------------- */
.sp-contact{background:#f4f8fb;padding:92px 32px 108px;}
.sp-contact__intro{max-width:760px;margin:0 auto;text-align:center;}
.sp-contact__intro .sp-lead{margin-left:auto;margin-right:auto;}

.sp-form{max-width:720px;margin:40px auto 0;background:#fff;border:1px solid var(--sp-line);border-radius:12px;padding:36px 36px 32px;box-shadow:0 24px 60px rgba(16,60,90,0.08);display:flex;flex-direction:column;gap:18px;}
.sp-form__row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.sp-field{display:flex;flex-direction:column;gap:7px;}
.sp-field__label{font-family:'Montserrat',sans-serif;font-weight:700;font-size:12.5px;letter-spacing:0.6px;color:#5b7589;}
.sp-field input,
.sp-field textarea{width:100%;font-size:15px;color:var(--sp-ink);padding:14px 16px;border:1px solid #d9e4ec;border-radius:6px;outline:none;transition:border-color .2s ease,box-shadow .2s ease;}
.sp-field textarea{resize:vertical;min-height:132px;}
.sp-field input:focus,
.sp-field textarea:focus{border-color:var(--accent,#108bcb);box-shadow:0 0 0 3px rgba(16,139,203,0.12);}
.sp-check{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:#5b7589;line-height:1.5;}
.sp-check input{margin-top:2px;width:16px;height:16px;accent-color:#108bcb;}
.sp-form__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:14px;margin-top:4px;}

/* --------------------------------------------------------------------------
   FOOTER
   -------------------------------------------------------------------------- */
.sp-footer{position:relative;background:var(--accent,#108bcb);color:#fff;}
.sp-footer__wave{position:absolute;top:-1px;left:0;width:100%;height:64px;display:block;transform:translateY(-99%);}
.sp-footer__grid{max-width:var(--sp-max);margin:0 auto;padding:56px 32px 28px;display:grid;grid-template-columns:1.2fr .8fr .8fr 1.2fr;gap:40px;}
.sp-footer__blurb{font-size:14px;line-height:1.6;color:rgba(255,255,255,0.85);margin:18px 0 0;max-width:280px;}
.sp-footer__title{font-family:'Montserrat',sans-serif;font-size:14px;font-weight:700;letter-spacing:1px;margin:0 0 16px;}
.sp-footer__list{display:flex;flex-direction:column;gap:12px;font-size:14.5px;}
.sp-footer__list a{color:rgba(255,255,255,0.88);text-decoration:none;}
.sp-footer__list a:hover{color:#fff;text-decoration:underline;}
.sp-footer__list--plain{font-size:14px;color:rgba(255,255,255,0.88);line-height:1.5;}
.sp-footer__bar{border-top:1px solid rgba(255,255,255,0.18);padding:18px 32px;font-size:13px;color:rgba(255,255,255,0.8);text-align:center;}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width:1180px){
  .sp-pillars__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:1060px){
  .sp-system__inner{grid-template-columns:1fr;gap:44px;}
  .sp-system__intro{max-width:720px;}
  .sp-product__inner{grid-template-columns:1fr;}
  .sp-product__summary,
  .sp-product--flip .sp-product__summary{grid-column:1;grid-row:1;}
  .sp-product__art,
  .sp-product--flip .sp-product__art{grid-column:1;grid-row:2;margin-top:36px;}
  .sp-product__details,
  .sp-product--flip .sp-product__details{grid-column:1;grid-row:3;}
  .sp-art{max-width:560px;}
  .sp-footer__grid{grid-template-columns:1fr 1fr;gap:34px;}
}

/* Sotto gli 860px l'orbita non è più leggibile: i nodi diventano una griglia
   di scorciatoie e resta solo il nucleo grafico. */
@media (max-width:860px){
  .sp-orbit{aspect-ratio:auto;width:100%;padding:0;}
  .sp-orbit__rings,
  .sp-orbit__core{display:none;}
  .sp-orbit__nodes{position:static;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;}
  .sp-orbit__node{position:static;transform:none;}
  .sp-orbit__node a{white-space:normal;text-align:center;height:100%;justify-content:center;}
}

/* Gli stili inline del markup estratto dai mockup hanno la precedenza:
   sotto i 900px vanno sovrascritti esplicitamente. */
@media (max-width:900px){
  .sp-hero__bg::before{display:none;}
}

@media (max-width:820px){
  .sp-hero__inner{padding:64px 20px 116px;}
  .sp-system,
  .sp-product,
  .sp-pillars,
  .sp-voice,
  .sp-contact{padding-left:20px;padding-right:20px;}
  .sp-footer__grid{padding-left:20px;padding-right:20px;}
}

@media (max-width:640px){
  .sp-page section[id],
  .sp-page article[id]{scroll-margin-top:120px;}
  .sp-hero{clip-path:none;}
  .sp-hero__actions .sp-btn{flex:1 1 100%;}
  .sp-hero__claim{margin-top:14px;}
  .sp-hero__text{margin-top:20px;}
  .sp-hero__actions{margin-top:30px;}
  .sp-hero__tags{margin-top:34px;}
  .sp-product{padding-top:68px;padding-bottom:68px;}
  .sp-product__claim{margin-top:13px;}
  .sp-product__lead{margin-top:18px;}
  .sp-product__text{margin-top:16px;}
  .sp-features{gap:20px;margin-top:32px;padding-top:26px;}
  .sp-cta{margin-top:32px;}
  .sp-pillars__grid{grid-template-columns:1fr;}
  .sp-form{padding:26px 22px 24px;}
  .sp-form__row{grid-template-columns:1fr;}
  .sp-form__foot{flex-direction:column;align-items:stretch;}
  .sp-form__foot .sp-btn{width:100%;}
  .sp-footer__grid{grid-template-columns:1fr;}
}

/* --------------------------------------------------------------------------
   Motion ridotto
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce){
  .sp-page *,
  .sp-page *::before,
  .sp-page *::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
    transition-delay:0ms!important;
  }
  .sp-reveal,
  .sp-features__item{opacity:1!important;transform:none!important;}
}
