/*
Theme Name: PlanetForm Child
Template: astra
Author: Stefano Frassà per Planet
Description: Tema figlio PlanetForm.
Version: 3.9
*/
@import url('https://fonts.googleapis.com/css2?family=Archivo+Expanded:wght@600;700;800;900&family=Archivo:wght@500;600;700;800&family=Chivo:wght@300;400;500;600;700&family=Chivo+Mono:wght@500;600&display=swap');
/* ============================================================
   PlanetForm — mockup homepage
   Desktop-first, full responsive (@media max-width)
   Temi: chiaro (default) + scuro via [data-theme="dark"]
   Motivo orbite integrato in entrambi i temi
   Stefano Frassà per Planet
   ============================================================ */
:root{
  --mag:#7b1148; --mag-br:#a01561;
  /* tokens tema CHIARO */
  --bg:#ffffff; --fg:#181018; --fg2:#4a3f48; --muted:#8a7f86;
  --surface:#f4f0f2; --line:#e7dee3; --line-dk:#cdbcc5;
  --invert-bg:#181018; --invert-fg:#ffffff; --invert-line:rgba(255,255,255,.16); --invert-mut:rgba(255,255,255,.6);
  --header-bg:rgba(255,255,255,.85); --header-line:#181018; --tile:#ffffff;
  /* orbite — fil rouge, visibili ma eleganti su chiaro */
  --orb1:rgba(123,17,72,.38); --orb2:rgba(29,79,155,.24); --orb-glow:rgba(123,17,72,.16);
  --disp:'Archivo Expanded','Archivo',sans-serif; --body:'Chivo',sans-serif; --mono:'Chivo Mono',monospace;
  --mx:1280px; --pad:40px;
}
[data-theme="dark"]{
  --mag:#a8175f; --mag-br:#c93b80;
  --bg:#0e0a13; --fg:#f3eef2; --fg2:#c8bcc4; --muted:#9a8f97;
  --surface:#15101d; --line:rgba(255,255,255,.12); --line-dk:rgba(255,255,255,.26);
  --invert-bg:#08060c; --invert-fg:#ffffff; --invert-line:rgba(255,255,255,.14); --invert-mut:rgba(255,255,255,.6);
  --header-bg:rgba(14,10,19,.82); --header-line:rgba(255,255,255,.14); --tile:#ffffff;
  /* orbite — vivide su scuro */
  --orb1:rgba(168,23,95,.55); --orb2:rgba(255,255,255,.08); --orb-glow:rgba(168,23,95,.5);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--fg);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background .35s,color .35s}
img{max-width:100%;display:block}
.wrap{max-width:var(--mx);margin:0 auto;padding:0 var(--pad)}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--disp);font-weight:700;line-height:1.04;letter-spacing:.002em;word-spacing:.03em}
.lbl{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--mag)}
.rule{display:flex;align-items:center;gap:18px;border-top:1.5px solid var(--fg);padding-top:14px;margin-bottom:40px}
.rule .lbl{color:var(--fg)}
.rule .n{font-family:var(--mono);font-size:12px;color:var(--muted);margin-left:auto}
.btn{display:inline-flex;align-items:center;gap:12px;font-family:var(--disp);font-weight:700;font-size:15px;padding:15px 28px;transition:.3s;border:1.5px solid transparent;cursor:pointer}
.btn-mag{background:var(--mag);color:#fff}.btn-mag:hover{background:var(--mag-br)}
.btn .ar{width:13px;height:13px;display:inline-block;flex:none;font-size:0;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round' d='M7 17 17 7M8.5 7H17v8.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round' d='M7 17 17 7M8.5 7H17v8.5'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .3s}
.btn:hover .ar{transform:translate(3px,-3px)}

/* HEADER */
header{position:sticky;top:0;z-index:60;background:var(--header-bg);border-bottom:1.5px solid var(--header-line);backdrop-filter:saturate(1.4) blur(9px)}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px;gap:16px}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--disp);font-weight:800;font-size:20px;color:var(--fg)}
.brand img{height:28px}
[data-theme="dark"] .brand img,[data-theme="dark"] .foot .brand img{filter:brightness(0) invert(1)}
.nav-links{display:flex;align-items:center;gap:24px;font-family:var(--disp);font-size:14px;font-weight:600}
.nav-links a{color:var(--fg);transition:.2s}.nav-links a:hover{color:var(--mag)}
.nav-r{display:flex;align-items:center;gap:10px}
.nav-cta{background:var(--fg);color:var(--bg)!important;padding:10px 18px}.nav-cta:hover{background:var(--mag);color:#fff!important}
.theme-tg{width:38px;height:38px;flex:none;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--header-line)!important;background:transparent!important;color:var(--fg)!important;border-radius:50%!important;cursor:pointer;transition:.25s;padding:0!important;margin:0!important;box-shadow:none!important;min-height:0!important}
.theme-tg:hover{background:var(--mag)!important;color:#fff!important;border-color:var(--mag)!important}
.theme-tg .ic{display:none;width:16px;height:16px}
[data-pref="system"] .theme-tg .ic-sys{display:block}
[data-pref="light"] .theme-tg .ic-light{display:block}
[data-pref="dark"] .theme-tg .ic-dark{display:block}

/* MOTIVO ORBITE (riutilizzabile, integrato nei due temi) */
.orbit{position:absolute;pointer-events:none;z-index:0;aspect-ratio:1;transition:opacity .4s}
.orbit i{position:absolute;border-radius:50%}
.orbit i:nth-child(1){inset:0;border:1.5px solid var(--orb1)}
.orbit i:nth-child(2){inset:16%;border:1px solid var(--orb1);opacity:.6}
.orbit i:nth-child(3){inset:30%;border:1px solid var(--orb2)}
.orbit i:nth-child(4){inset:40%;background:radial-gradient(circle,var(--orb-glow),transparent 70%)}

/* HERO */
.hero{padding:72px 0 0;position:relative;overflow:hidden}
.hero .orbit{right:-6%;top:50%;transform:translateY(-50%);width:660px}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.5fr .8fr;gap:50px;align-items:end}
.hero h1{font-size:clamp(46px,7.4vw,104px);font-weight:800;text-transform:uppercase}
.hero h1 .mag{color:var(--mag)}
.hero-right{padding-bottom:14px;border-left:1.5px solid var(--line-dk);padding-left:28px}
.hero-right p{font-size:17px;color:var(--fg2);margin-bottom:22px}
.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.tag{font-family:var(--mono);font-size:11.5px;border:1.2px solid var(--line-dk);padding:6px 12px;color:var(--fg2)}
.hero-foot{grid-column:1/-1}
.ph-note{font-family:var(--mono);font-size:11px;color:var(--mag-br);margin:50px 0 8px;letter-spacing:.03em}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1.5px solid var(--fg);border-bottom:1.5px solid var(--fg)}
.hero-stats div{padding:22px 0;border-right:1px solid var(--line)}
.hero-stats div:last-child{border-right:none}
.hero-stats b{font-family:var(--disp);font-size:40px;font-weight:800;display:block;color:var(--line-dk);-webkit-text-stroke:1px var(--mag-br)}
.hero-stats span{font-family:var(--mono);font-size:11.5px;text-transform:uppercase;color:var(--muted);letter-spacing:.04em}

/* AUDIENCE */
.aud-sec{padding:80px 0}
.aud-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:34px;flex-wrap:wrap}
.aud-head h2{font-size:clamp(28px,3.6vw,48px);text-transform:uppercase;max-width:680px}
.aud-head p{font-family:var(--mono);font-size:13px;color:var(--muted);max-width:230px;line-height:1.6}
.aud-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.aud{position:relative;height:480px;overflow:hidden;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate}
.aud img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:saturate(.9);transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.aud::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(24,16,24,.5),rgba(24,16,24,.15) 22%,rgba(24,16,24,.4) 50%,rgba(86,11,50,.92))}
.aud:hover img{transform:scale(1.06)}
.aud .kick{position:absolute;top:26px;right:22px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;border:1px solid rgba(255,255,255,.5);padding:5px 10px;max-width:calc(100% - 44px);text-align:right;line-height:1.35}
.aud-b{padding:30px 26px 28px;border-top:3px solid var(--mag)}
.aud h3{font-size:30px;text-transform:uppercase}
.aud p{font-size:14px;color:rgba(255,255,255,.82);margin:10px 0 16px;max-width:88%}
.aud .go{font-family:var(--disp);font-weight:700;font-size:14px;display:inline-flex;gap:9px;align-items:center;transition:.3s}
.aud:hover .go{gap:15px}

/* AMBITI — banda scura nei due temi */
.amb-sec{background:var(--invert-bg);color:var(--invert-fg);padding:96px 0;position:relative;overflow:hidden}
.amb-sec .orbit{left:-10%;top:-30%;width:520px;opacity:.5}
.amb-sec .wrap{position:relative;z-index:1}
.amb-sec .rule{border-color:var(--invert-fg)}.amb-sec .rule .lbl{color:var(--invert-fg)}
.amb-sec .rule .n{color:var(--invert-mut)}
.amb-head{font-size:clamp(30px,4.2vw,58px);text-transform:uppercase;max-width:900px;margin-bottom:50px}
.amb-head em{font-style:normal;color:var(--mag-br)}
.amb{display:grid;grid-template-columns:90px 1fr 360px;gap:30px;align-items:center;padding:30px 0;border-top:1px solid var(--invert-line)}
.amb:last-child{border-bottom:1px solid var(--invert-line)}
.amb:hover{background:rgba(255,255,255,.03)}
.amb .no{font-family:var(--disp);font-size:32px;font-weight:800;color:var(--mag-br)}
.amb .ttl h3{font-size:28px;text-transform:uppercase}
.amb .ttl p{color:var(--invert-mut);font-size:15px;margin-top:7px;max-width:520px}
.amb .pic{height:130px;overflow:hidden}
.amb .pic img{width:100%;height:100%;object-fit:cover;filter:grayscale(.3);transition:.6s}
.amb:hover .pic img{filter:none;transform:scale(1.05)}

/* FEAT — magenta full bleed (sempre) */
.feat{background:var(--mag);color:#fff;padding:100px 0;position:relative;overflow:hidden}
.feat .big-bg{position:absolute;right:-2%;top:-8%;font-family:var(--disp);font-size:340px;font-weight:900;color:rgba(255,255,255,.06);line-height:.8;pointer-events:none}
.feat-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center;position:relative}
.feat .lbl{color:#f0c3d8}
.feat h2{font-size:clamp(32px,4.4vw,58px);text-transform:uppercase;margin:18px 0 20px}
.feat-grid>div>p{color:rgba(255,255,255,.85);font-size:17px;max-width:460px}
.steps{margin:28px 0 34px}
.steps .s{display:grid;grid-template-columns:54px 1fr;gap:16px;padding:16px 0;border-top:1px solid rgba(255,255,255,.2)}
.steps .s b{font-family:var(--disp);font-size:22px;font-weight:800;color:#f0c3d8}
.steps .s span{font-size:15px;color:rgba(255,255,255,.9);align-self:center}
.fc{background:#fff;color:#181018;padding:38px}
.fc .big{font-family:var(--disp);font-size:74px;font-weight:800;color:#7b1148;line-height:.85}
.fc .l{font-family:var(--mono);font-size:12px;text-transform:uppercase;color:#8a7f86;margin-top:6px}
.fc .row{display:flex;justify-content:space-between;padding:13px 0;border-top:1px solid #e7dee3;font-size:15px;font-weight:600}
.fc .row:first-of-type{margin-top:24px}
.fc .row .ck{color:#7b1148;font-weight:800}

/* CERT — prominente */
.cert{padding:90px 0;background:var(--surface)}
.cert .rule{border-color:var(--fg)}.cert .rule .lbl{color:var(--fg)}
.cert-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:54px;align-items:center}
.cert h2{font-size:clamp(28px,3.6vw,48px);text-transform:uppercase}
.cert h2 em{font-style:normal;color:var(--mag)}
.cert-list{list-style:none;margin-top:26px}
.cert-list li{padding:15px 0;border-top:1px solid var(--line-dk);font-size:15px;color:var(--fg2)}
.cert-list li b{font-family:var(--disp);color:var(--fg);display:block;text-transform:uppercase;font-size:13.5px;margin-bottom:3px}
/* minmax(0,1fr): senza il minimo a 0 le colonne non scendono sotto la larghezza del logo e la griglia sfonda a destra su schermi stretti */
.ctiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ctile{background:var(--tile);border:1px solid var(--line);aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;padding:20px;transition:.3s}
.ctile:hover{border-color:var(--mag);transform:translateY(-3px);box-shadow:0 14px 30px -18px rgba(123,17,72,.4)}
.ctile img{max-width:100%;max-height:60px;object-fit:contain}

/* NEWS */
.news{padding:96px 0}
.news-head{font-size:clamp(28px,3.6vw,48px);text-transform:uppercase;margin-bottom:42px}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1.5px solid var(--fg)}
.na{border-bottom:1.5px solid var(--fg);border-right:1px solid var(--line);padding:26px 24px 30px;transition:.3s;display:flex;flex-direction:column}
.na:last-child{border-right:none}
.na:hover{background:var(--surface)}
.na .pic{height:180px;overflow:hidden;margin-bottom:20px}
.na .pic img{width:100%;height:100%;object-fit:cover;transition:.6s}.na:hover .pic img{transform:scale(1.05)}
.na .k{font-family:var(--mono);font-size:11.5px;text-transform:uppercase;color:var(--mag)}
.na h3{font-size:22px;text-transform:uppercase;margin:10px 0 auto}
.na .m{font-family:var(--disp);font-weight:700;font-size:14px;margin-top:18px;display:inline-flex;gap:8px}

/* CTA — banda scura con orbite */
.cta{background:var(--invert-bg);color:var(--invert-fg);padding:110px 0;text-align:center;position:relative;overflow:hidden}
.cta .orbit{right:-8%;bottom:-60%;width:560px;opacity:.55}
.cta .wrap{position:relative;z-index:1}
.cta h2{font-size:clamp(34px,5vw,76px);text-transform:uppercase}
.cta p{font-family:var(--mono);font-size:14px;color:var(--invert-mut);margin:20px auto 34px;max-width:440px}

/* FOOTER */
footer{background:var(--invert-bg);color:var(--invert-mut);padding:72px 0 28px}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}
.foot .brand{color:var(--invert-fg);margin-bottom:16px}
.foot .ab{font-size:14px;max-width:270px}
.foot h4{color:var(--invert-fg);font-family:var(--mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:16px}
.foot ul{list-style:none}.foot li{margin-bottom:9px;font-size:14.5px}.foot a:hover{color:var(--invert-fg)}
footer .copy{margin-top:50px;padding-top:20px;border-top:1px solid var(--invert-line);display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:12px;color:var(--invert-mut);flex-wrap:wrap;gap:8px 28px}

.rv{opacity:0;transform:translateY(24px);animation:rv .8s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes rv{to{opacity:1;transform:none}}
.d1{animation-delay:.05s}.d2{animation-delay:.13s}.d3{animation-delay:.22s}.d4{animation-delay:.32s}
@media(prefers-reduced-motion:reduce){.rv{animation:none;opacity:1;transform:none}}

/* ===== RESPONSIVE (desktop-first) ===== */
@media(max-width:1000px){
  :root{--pad:32px}
  .hero .wrap{grid-template-columns:1fr;gap:30px}
  .hero-right{border-left:none;padding-left:0;padding-bottom:0}
  .hero .orbit{right:-30%;top:18%;transform:none;width:480px;opacity:.7}
  .feat-grid{grid-template-columns:1fr;gap:36px}
  .cert-grid{grid-template-columns:1fr;gap:36px}
  .amb{grid-template-columns:70px 1fr 240px;gap:22px}
  .aud .kick{top:20px;right:16px;font-size:10px;letter-spacing:.05em;padding:4px 8px;max-width:calc(100% - 32px)}
}
@media(max-width:680px){
  :root{--pad:20px}
  .nav-links{display:none}
  .hero{padding:48px 0 0}
  .hero-stats{grid-template-columns:1fr 1fr}
  .hero-stats div{border-bottom:1px solid var(--line)}
  .hero-stats div:nth-child(2n){border-right:none}
  .hero-stats div:nth-child(n+3){border-bottom:none}
  .hero-stats b{font-size:34px}
  .aud-grid{grid-template-columns:1fr}
  .aud .kick{top:22px;right:20px;font-size:11px;letter-spacing:.08em;padding:5px 10px;max-width:calc(100% - 40px)}
  .ctiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .ctile{padding:12px}
  .amb{grid-template-columns:46px 1fr;gap:16px}.amb .pic{display:none}
  .news-grid{grid-template-columns:1fr}
  .na{border-right:none}
  .foot-grid{grid-template-columns:1fr 1fr}
  .feat,.aud-sec,.cert,.news,.amb-sec{padding:60px 0}
  .cta{padding:72px 0}
}
@media(max-width:440px){
  .foot-grid{grid-template-columns:1fr}
  .hero-stats{grid-template-columns:1fr 1fr}
}

/* ============================================================
   CSS specifico contesto WordPress/Astra — Stefano Frassà per Planet
   (override + menu dropdown + pagine interne)
   ============================================================ */

/* --- override Astra --- */
html body{background:var(--bg)!important;color:var(--fg)!important}
h1,h2,h3,h4,h5,h6{color:inherit!important}
.site,#page,.site-content,.ast-container,.ast-page-builder-template .site-content,.entry-content{background:transparent!important}

/* --- MENU principale: dropdown professionale --- */
.nav-links{list-style:none;margin:0;padding:0;gap:20px}
.nav-links li{position:relative}
.nav-links a{font-family:var(--disp);font-size:13.5px;font-weight:600;color:var(--fg)!important;text-decoration:none;display:block;transition:.2s}
.nav-links>li>a{padding:26px 0}
.nav-links>li>a:hover{color:var(--mag)!important}
.nav-links>li.menu-item-has-children>a{padding-right:16px}
.nav-links>li.menu-item-has-children>a::after{content:"";position:absolute;right:0;top:50%;width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-70%) rotate(45deg);opacity:.5;transition:.25s}
.nav-links>li.menu-item-has-children:hover>a::after{transform:translateY(-30%) rotate(225deg);opacity:1;color:var(--mag)}
.nav-links>li>a::before{content:"";position:absolute;left:0;bottom:20px;width:0;height:2px;background:var(--mag);transition:.25s cubic-bezier(.2,.7,.2,1)}
.nav-links>li:hover>a::before{width:20px}
.nav-links .sub-menu{position:absolute;top:100%;left:-20px;min-width:252px;background:var(--bg);border:1.5px solid var(--fg);padding:10px 0;list-style:none;margin:0;opacity:0;visibility:hidden;transform:translateY(10px);transition:.24s cubic-bezier(.2,.7,.2,1);z-index:90;box-shadow:0 26px 54px -26px rgba(24,16,24,.5)}
.nav-links>li:hover>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.nav-links .sub-menu a{font-family:var(--body);font-size:14px;font-weight:500;padding:10px 24px;white-space:nowrap;border-left:2px solid transparent;transition:.18s}
.nav-links .sub-menu a:hover{background:var(--surface);color:var(--mag)!important;border-left-color:var(--mag);padding-left:28px}
@media(max-width:1100px){.nav-links{gap:13px}.nav-links>li>a{font-size:12.5px}}

/* ============================================================
   PAGINE INTERNE
   ============================================================ */
.page-hero{position:relative;overflow:hidden;padding:60px 0 54px;border-bottom:1.5px solid var(--line)}
.page-hero .orbit{right:-10%;top:50%;transform:translateY(-50%);width:560px}
.page-hero .wrap{position:relative;z-index:1}
.crumbs{font-family:var(--mono);font-size:12px;color:var(--muted);margin-bottom:24px;display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--mag)}
.crumbs em{font-style:normal;color:var(--mag)}.crumbs span{opacity:.45}
.page-hero h1{font-size:clamp(30px,4vw,52px);text-transform:uppercase;line-height:1.04;max-width:20ch}
.page-lead{font-size:17px;color:var(--fg2);max-width:600px;margin-top:20px;line-height:1.6}
.page-body{padding:0}
.page-body>*:first-child{margin-top:0}

/* prose (pagine testuali) */
.prose{padding:70px 0}
.prose .wrap{max-width:820px}
.prose>.wrap>*:first-child{margin-top:0}
.prose p{font-size:17px;color:var(--fg2);margin:0 0 20px;line-height:1.7}
.prose h2{font-size:clamp(22px,2.6vw,32px);text-transform:uppercase;margin:44px 0 16px}
.prose h3{font-size:19px;text-transform:uppercase;margin:30px 0 12px}
.prose ul{margin:0 0 24px;padding:0;list-style:none}
.prose ul li{padding:13px 0 13px 30px;border-top:1px solid var(--line);position:relative;color:var(--fg2);font-size:15.5px}
.prose ul li:last-child{border-bottom:1px solid var(--line)}
.prose ul li::before{content:"→";position:absolute;left:0;top:13px;color:var(--mag);font-weight:700}
.prose a{color:var(--mag);text-decoration:underline;text-underline-offset:3px}
.prose strong{color:var(--fg);font-weight:700}

/* intestazione sezione riutilizzabile */
.sec-pf{padding:72px 0}
.sec-pf.alt{background:var(--surface)}
.sec-head{max-width:760px;margin-bottom:14px}
.sec-head .lbl{display:block;margin-bottom:14px}
.sec-head h2{font-size:clamp(22px,2.7vw,35px);text-transform:uppercase}
.sec-head p{font-size:17px;color:var(--fg2);margin-top:16px;line-height:1.6}

/* griglia servizi/card (no immagini) */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:42px}
.svc{border:1.5px solid var(--line);padding:28px 26px;display:flex;flex-direction:column;min-height:214px;transition:.3s;background:transparent;text-decoration:none;color:inherit}
.svc:hover{border-color:var(--mag);transform:translateY(-4px);box-shadow:0 22px 44px -26px rgba(123,17,72,.42)}
.svc .no{font-family:var(--mono);font-size:12px;color:var(--mag);letter-spacing:.06em;margin:0}
.svc h3{font-size:18px;text-transform:uppercase;margin:14px 0 9px}
.svc p{font-size:14.5px;color:var(--fg2);line-height:1.55;margin:0}
.svc .go{margin-top:auto;padding-top:16px;font-family:var(--disp);font-weight:700;font-size:13px;color:var(--mag);display:inline-flex;gap:8px;transition:.3s}
.svc:hover .go{gap:13px}

/* lista process numerata */
.steps-pf{margin-top:42px;display:grid;gap:0}
.steps-pf .st{display:grid;grid-template-columns:70px 1fr;gap:24px;padding:28px 0;border-top:1.5px solid var(--line);align-items:start}
.steps-pf .st:last-child{border-bottom:1.5px solid var(--line)}
.steps-pf .st b{font-family:var(--disp);font-size:30px;font-weight:800;color:var(--mag)}
.steps-pf .st h3{font-size:20px;text-transform:uppercase;margin-bottom:8px}
.steps-pf .st p{font-size:15px;color:var(--fg2);line-height:1.6}

/* due colonne testo+media */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split .media{aspect-ratio:4/3;overflow:hidden;background:var(--surface)}
.split .media img{width:100%;height:100%;object-fit:cover}
.split h2{font-size:clamp(22px,2.7vw,35px);text-transform:uppercase;margin-bottom:18px}
.split p{font-size:16.5px;color:var(--fg2);line-height:1.7;margin-bottom:16px}

/* valori */
.val-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:42px}
.val{border-top:2px solid var(--mag);padding:24px 0 0}
.val .k{font-family:var(--mono);font-size:12px;color:var(--mag)}
.val h3{font-size:20px;text-transform:uppercase;margin:14px 0 10px}
.val p{font-size:14.5px;color:var(--fg2);line-height:1.55}

/* placeholder immagine brandizzato */
.ph-img{position:relative;background:linear-gradient(135deg,var(--surface),var(--bg));display:flex;align-items:center;justify-content:center;overflow:hidden}
.ph-img::after{content:"PlanetForm";font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--line-dk)}
.ph-img.orbitbg::before{content:"";position:absolute;width:120%;aspect-ratio:1;border:1.5px solid var(--orb1);border-radius:50%;right:-30%;top:-20%}

/* CTA band riutilizzabile (template-parts/cta) */
.cta-band{background:var(--invert-bg);color:var(--invert-fg);padding:90px 0;text-align:center;position:relative;overflow:hidden}
.cta-band .orbit{right:-8%;bottom:-70%;width:520px;opacity:.5}
.cta-band .wrap{position:relative;z-index:1}
.cta-band h2{font-size:clamp(30px,4.4vw,64px);text-transform:uppercase}
.cta-band p{font-family:var(--mono);font-size:14px;color:var(--invert-mut);margin:18px auto 30px;max-width:460px}

/* form contatti */
.cform{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:14px}
.cform .full{grid-column:1/-1}
.cform label{display:block;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:7px}
.cform input,.cform textarea,.cform select{width:100%;font-family:var(--body);font-size:15px;padding:13px 15px;background:var(--bg);color:var(--fg);border:1.5px solid var(--line-dk);transition:.2s}
.cform input:focus,.cform textarea:focus,.cform select:focus{outline:none;border-color:var(--mag)}
.cform textarea{min-height:140px;resize:vertical}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
.contact-info li{list-style:none;padding:16px 0;border-top:1px solid var(--line)}
.contact-info .k{font-family:var(--mono);font-size:11px;text-transform:uppercase;color:var(--mag);display:block;margin-bottom:5px}
.contact-info .v{font-size:16px;color:var(--fg)}

@media(max-width:900px){
  .svc-grid,.val-grid,.split,.contact-grid,.cform{grid-template-columns:1fr;gap:30px}
  .split .media{aspect-ratio:16/10}
  .steps-pf .st{grid-template-columns:48px 1fr;gap:16px}
}

/* ============================================================
   PAGINA PLANET (vetrina capogruppo)
   ============================================================ */
.planet-hero{position:relative;overflow:hidden;background:radial-gradient(120% 120% at 78% 6%,#1c1233,#0a0712 58%,#050308);color:#fff;padding:84px 0 96px;border-bottom:1px solid rgba(255,255,255,.08)}
.planet-hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;min-height:520px}
.planet-hero .crumbs,.planet-hero .crumbs a{color:rgba(255,255,255,.55)!important}
.planet-hero .crumbs em{color:var(--mag-br)!important}
.planet-hero .lbl{color:var(--mag-br)}
.planet-hero h1{font-size:clamp(44px,6.4vw,86px);text-transform:uppercase;line-height:.94;margin:16px 0 20px;color:#fff!important}
.planet-hero p{font-size:18px;color:rgba(255,255,255,.78);max-width:480px;margin-bottom:28px;line-height:1.6}
.planet-hero strong{color:#fff}
.pf-star{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff;opacity:.5;z-index:1}
.pf-star.s1{top:14%;left:16%}.pf-star.s2{top:28%;left:60%;width:3px;height:3px}.pf-star.s3{top:70%;left:22%}.pf-star.s4{top:82%;left:68%;opacity:.3}.pf-star.s5{top:20%;left:86%;width:3px;height:3px}.pf-star.s6{top:54%;left:7%;opacity:.35}
.planet-stage{position:relative;width:min(460px,86%);aspect-ratio:1;margin:0 auto;justify-self:center}
.planet-core{position:absolute;inset:36%;border-radius:50%;background:radial-gradient(circle at 34% 28%,#dd6aa6,var(--mag) 46%,#350a20 82%);box-shadow:0 0 70px -4px rgba(200,59,128,.7),inset -12px -10px 46px rgba(0,0,0,.55);z-index:2}
.planet-glow{position:absolute;inset:18%;border-radius:50%;background:radial-gradient(circle,rgba(200,59,128,.35),transparent 64%);filter:blur(16px);z-index:1}
.planet-ring{position:absolute;border-radius:50%;border:1.5px solid rgba(200,59,128,.4);animation-name:pspin;animation-timing-function:linear;animation-iteration-count:infinite}
.planet-ring.r1{inset:0;animation-duration:46s}
.planet-ring.r2{inset:11%;border-color:rgba(120,150,255,.3);animation-duration:32s;animation-direction:reverse}
.planet-ring.r3{inset:23%;border-color:rgba(255,255,255,.14);animation-duration:24s}
.planet-ring .sat{position:absolute;top:-6px;left:50%;margin-left:-6px;width:12px;height:12px;border-radius:50%;background:#e57bb0;box-shadow:0 0 18px 2px rgba(229,123,176,.85)}
.planet-ring .sat2{background:#8aa0ff;box-shadow:0 0 18px 2px rgba(138,160,255,.85)}
@keyframes pspin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.planet-ring{animation:none}}
.eco-grid{display:grid;gap:14px}
.eco{border:1.5px solid var(--line);padding:26px 24px;transition:.3s}
.eco.pf{border-color:var(--mag);background:var(--mag);color:#fff}
.eco .k{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mag)}
.eco.pf .k{color:#f0c3d8}
.eco h3{font-size:22px;text-transform:uppercase;margin:10px 0 8px}
.eco p{font-size:14.5px;color:var(--fg2);line-height:1.55}
.eco.pf p{color:rgba(255,255,255,.88)}
.gstat{display:grid;grid-template-columns:repeat(4,1fr);border-top:1.5px solid var(--fg);border-bottom:1.5px solid var(--fg);margin-top:8px}
.gstat>div{padding:26px 0;border-right:1px solid var(--line)}.gstat>div:last-child{border-right:none}
.gstat b{font-family:var(--disp);font-size:44px;font-weight:800;display:block;color:var(--line-dk);-webkit-text-stroke:1px var(--mag-br)}
.gstat span{font-family:var(--mono);font-size:11.5px;text-transform:uppercase;color:var(--muted)}
.planet-cta{position:relative;overflow:hidden;background:var(--mag);color:#fff;text-align:center;padding:92px 0}
.planet-cta .orbit{left:-6%;top:-60%;width:520px;opacity:.5}
.planet-cta .wrap{position:relative;z-index:1}
.planet-cta .lbl{display:block;margin-bottom:6px}
.planet-cta h2{font-size:clamp(32px,5vw,66px);text-transform:uppercase;margin:0 0 12px}
.planet-cta p{font-family:var(--mono);font-size:14px;color:rgba(255,255,255,.82);margin-bottom:28px}
.btn-w{background:#fff;color:var(--mag)}.btn-w:hover{background:var(--ink);color:#fff}

/* ============================================================
   PAGINA TERRITORIO (Ivrea / Olivetti)
   ============================================================ */
.tl{margin-top:44px;border-left:2px solid var(--line-dk)}
.tl .ev{position:relative;padding:0 0 42px 40px}
.tl .ev:last-child{padding-bottom:4px}
.tl .ev::before{content:"";position:absolute;left:-8px;top:6px;width:13px;height:13px;border-radius:50%;background:var(--mag);box-shadow:0 0 0 4px var(--surface)}
.tl .ev .yr{font-family:var(--disp);font-size:24px;font-weight:800;color:var(--mag);line-height:1}
.tl .ev h3{font-size:19px;text-transform:uppercase;margin:8px 0 8px}
.tl .ev p{font-size:15px;color:var(--fg2);line-height:1.65;max-width:640px}
.bigquote{padding:84px 0;text-align:center;position:relative}
.bigquote blockquote{font-family:var(--disp);font-weight:700;font-size:clamp(23px,3.3vw,40px);line-height:1.22;max-width:920px;margin:0 auto}
.bigquote .src{font-family:var(--mono);font-size:13px;color:var(--mag);margin-top:26px;letter-spacing:.05em}
@media(max-width:900px){.gstat{grid-template-columns:1fr 1fr}.planet-stage{order:-1;width:min(340px,76%)}}

/* ============================================================
   BLOG (archivio News + articolo singolo)
   ============================================================ */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.bcard{display:flex;flex-direction:column;text-decoration:none;color:inherit;border-bottom:2px solid var(--fg);padding-bottom:20px;transition:.3s}
.bcard:hover{border-color:var(--mag)}
.bcard .pic{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--surface);margin-bottom:16px}
.bcard .pic img{width:100%;height:100%;object-fit:cover;transition:.6s}
.bcard:hover .pic img{transform:scale(1.05)}
.bcard .k{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--mag)}
.bcard h3{font-size:18px;text-transform:uppercase;margin:9px 0 auto;line-height:1.18}
.bcard:hover h3{color:var(--mag)}
.bcard .date{font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:14px}
.pagination{margin-top:54px;display:flex;justify-content:center}
.pagination .nav-links{display:flex;gap:8px;padding:0}
.pagination a,.pagination .current{font-family:var(--disp);font-weight:700;font-size:14px;padding:9px 15px;border:1.5px solid var(--line-dk);color:var(--fg)!important}
.pagination a:hover{border-color:var(--mag);color:var(--mag)!important}
.pagination .current{background:var(--mag);color:#fff!important;border-color:var(--mag)}
.post-meta{font-family:var(--mono);font-size:12px;text-transform:uppercase;color:var(--mag);margin-bottom:14px;letter-spacing:.04em}
.post-cover{margin-top:-26px;margin-bottom:0;position:relative;z-index:2}
.post-cover img{width:100%;max-height:460px;object-fit:cover;display:block}
.post-body{padding-top:54px}
.post-body img{margin:26px 0;max-width:100%;height:auto}
.post-body h2{margin-top:36px}
@media(max-width:900px){.blog-grid{grid-template-columns:1fr 1fr;gap:18px}}
@media(max-width:600px){.blog-grid{grid-template-columns:1fr}}

/* ============================================================
   CALCOLATORE FNC (Fondo Nuove Competenze)
   ============================================================ */
.fnc-calc{margin-top:36px}
.fnc-calc .main-content{display:grid;grid-template-columns:1fr 1fr;border:1.5px solid var(--fg)}
.fnc-calc .left-content{padding:34px}
.fnc-calc .right-content{padding:34px;background:var(--invert-bg);color:var(--invert-fg)}
.fnc-calc .header-container{display:flex;justify-content:flex-end;margin-bottom:6px}
.fnc-calc .header-container h1{display:none}
.fnc-calc .clear-all-btn{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em;background:transparent;border:1.5px solid var(--line-dk);color:var(--muted);padding:7px 14px;cursor:pointer;transition:.2s}
.fnc-calc .clear-all-btn:hover{border-color:var(--mag);color:var(--mag)}
.fnc-calc .form-container label{display:block;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:7px}
.fnc-calc .input-container{display:flex;align-items:center;gap:8px;border:1.5px solid var(--line-dk);padding:0 14px;margin-bottom:18px;transition:.2s}
.fnc-calc .input-container:focus-within{border-color:var(--mag)}
.fnc-calc .input-container input{flex:1;border:0;padding:13px 0;font-family:var(--body);font-size:16px;background:transparent;color:var(--fg);outline:none;min-width:0}
.fnc-calc .input-container p{font-family:var(--mono);font-size:14px;color:var(--muted);margin:0}
.fnc-calc .input-container.error-div{border-color:#c0392b}
.fnc-calc .error-msg{color:#c0392b;font-family:var(--mono);font-size:11px;display:block;margin:-12px 0 14px}
.fnc-calc .calculate-btn{width:100%;background:var(--mag);color:#fff;font-family:var(--disp);font-weight:700;font-size:15px;padding:15px 28px;border:0;cursor:pointer;transition:.2s;margin-top:6px}
.fnc-calc .calculate-btn:hover{background:var(--mag-br)}
.fnc-calc .results-header h2{font-size:18px;text-transform:uppercase;color:#fff;margin-bottom:6px}
.fnc-calc .result-container{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-top:1px solid rgba(255,255,255,.16)}
.fnc-calc .result-label{font-size:13.5px;color:rgba(255,255,255,.72);margin:0;max-width:60%}
.fnc-calc .result{display:flex;gap:4px;align-items:baseline;font-family:var(--disp);font-weight:800;font-size:20px}
.fnc-calc .result-suffix{font-size:14px;color:rgba(255,255,255,.5);font-weight:600}
.fnc-calc .result-amount{margin:0}
.fnc-calc .result-container:last-child{border-top:1.5px solid var(--mag-br);margin-top:6px}
.fnc-calc .result-container:last-child .result{color:#e57bb0;font-size:28px}
@media(max-width:760px){.fnc-calc .main-content{grid-template-columns:1fr}.fnc-calc .right-content{border-top:1.5px solid var(--fg)}}

/* --- Contact Form 7 (output) --- */
.wpcf7-form-control-wrap{display:block}
.cform .wpcf7-form-control{width:100%}
.cform input.wpcf7-submit,.cform .btn{width:auto;display:inline-block;cursor:pointer;border:0}
.cform .priv{display:flex;gap:10px;align-items:flex-start;font-family:var(--body);font-size:13px;color:var(--fg2);text-transform:none;letter-spacing:0}
.cform .priv .wpcf7-list-item{margin:0}
.cform .priv input{width:auto}
.wpcf7-response-output{grid-column:1/-1;border:1.5px solid var(--line-dk)!important;padding:13px 18px!important;font-family:var(--mono);font-size:13px;margin:6px 0 0!important;color:var(--fg)}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.unaccepted .wpcf7-response-output{border-color:#c0392b!important}
.wpcf7 form.sent .wpcf7-response-output{border-color:var(--mag)!important;color:var(--mag)}
.wpcf7-not-valid-tip{color:#c0392b;font-family:var(--mono);font-size:11px;margin-top:5px;display:block}
.wpcf7-spinner{margin:0 0 0 10px}

/* primo item dropdown -> pagina sezione (best practice) */
.nav-links .sub-menu li.mega-overview>a{font-family:var(--disp);font-weight:700;text-transform:uppercase;font-size:12.5px;color:var(--mag)!important;border-bottom:1px solid var(--line);margin-bottom:6px;padding-top:6px;padding-bottom:13px}
.nav-links .sub-menu li.mega-overview>a:hover{background:var(--surface);padding-left:28px}
.nav-links .sub-menu li.mega-overview>a::before{content:"→ ";opacity:.6}
.cform input.wpcf7-submit{background:var(--mag)!important;color:#fff!important;padding:15px 32px!important;font-family:var(--disp)!important;font-weight:700!important;font-size:15px;transition:.2s}
.cform input.wpcf7-submit:hover{background:var(--mag-br)!important}

/* --- immagini con bordi smussati (integrazione nel contesto) --- */
.split .media,.ph-img,.post-cover img{border-radius:18px}
.aud{border-radius:18px}
.bcard .pic,.amb .pic,.na .pic,.ctile,.svc-img{border-radius:13px}
.fnc-calc .main-content{border-radius:18px;overflow:hidden}
.post-cover img{box-shadow:0 24px 50px -28px rgba(24,16,24,.45)}

/* --- header mobile: brand solo logo + hamburger + menu full-screen --- */
.hamb{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;border:0;background:transparent;cursor:pointer;padding:0;flex:none}
.hamb span{display:block;width:22px;height:2px;background:var(--fg);margin:0 auto;transition:.3s}
html.nav-open .hamb span:nth-child(1){transform:translateY(7px) rotate(45deg)}
html.nav-open .hamb span:nth-child(2){opacity:0}
html.nav-open .hamb span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:1000px){
  .nav-links{display:none}
  .hamb{display:flex}
  .nav-cta{display:none}
  .brandtext{display:none}
  .nav{height:62px}
  header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:var(--bg)}
  html.nav-open{overflow:hidden}
  html.nav-open .nav-links{display:flex!important;flex-direction:column;align-items:stretch;gap:0;list-style:none;position:fixed;top:63px;left:0;right:0;bottom:0;z-index:75;margin:0;background:var(--bg);padding:8px 22px 50px;overflow-y:auto;height:calc(100vh - 63px)}
  html.nav-open .nav-links>li{position:static;border-bottom:1px solid var(--line)}
  html.nav-open .nav-links>li>a{padding:17px 2px;font-size:18px}
  html.nav-open .nav-links>li>a::before{display:none}
  html.nav-open .nav-links>li.menu-item-has-children>a{padding-right:24px}
  html.nav-open .nav-links>li.menu-item-has-children>a::after{right:6px;width:8px;height:8px}
  html.nav-open .nav-links>li.open>a::after{transform:translateY(-30%) rotate(225deg);color:var(--mag)}
  html.nav-open .nav-links .sub-menu{position:static;opacity:1!important;visibility:visible!important;transform:none!important;border:0;box-shadow:none;background:transparent;min-width:0;padding:0 0 8px 14px;max-height:0;overflow:hidden;transition:max-height .35s ease}
  html.nav-open .nav-links>li.open>.sub-menu{max-height:760px}
  html.nav-open .nav-links .sub-menu a{white-space:normal;padding:11px 0;border:0;font-size:15px}
  html.nav-open .nav-links .sub-menu li.mega-overview>a{border:0;margin:0;padding-top:11px}
}

/* split alternato (zig-zag) */
.split.rev>*:last-child{order:-1}

/* ============================================================
   CATALOGO CORSI (CPT corso)
   ============================================================ */
.corsi-filter{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 0}
.corsi-filter a{font-family:var(--disp);font-weight:700;font-size:12.5px;text-transform:uppercase;padding:9px 16px;border:1.5px solid var(--line-dk);color:var(--fg)!important;transition:.2s}
.corsi-filter a:hover{border-color:var(--mag);color:var(--mag)!important}
.corsi-filter a.active{background:var(--mag);color:#fff!important;border-color:var(--mag)}
.corsi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:34px}
.corso{display:flex;flex-direction:column;text-decoration:none;color:inherit;border:1.5px solid var(--line);transition:.3s;background:var(--bg);overflow:hidden;border-radius:13px}
.corso:hover{border-color:var(--mag);transform:translateY(-4px);box-shadow:0 22px 44px -26px rgba(123,17,72,.42)}
.corso .pic{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--surface)}
.corso .pic img{width:100%;height:100%;object-fit:cover;transition:.6s}
.corso:hover .pic img{transform:scale(1.05)}
.corso .b{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.corso .area{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--mag)}
.corso h3{font-size:18px;text-transform:uppercase;margin:9px 0 12px;line-height:1.2}
.corso .fin{align-self:flex-start;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--mag);border:1px solid var(--mag);padding:3px 9px;margin-bottom:12px}
.corso .meta{font-family:var(--mono);font-size:12px;color:var(--muted);margin-top:auto;display:flex;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:13px}
/* scheda corso */
.corso-detail{display:grid;grid-template-columns:1.6fr .9fr;gap:50px;align-items:start}
.corso-content p{font-size:17px;color:var(--fg2);line-height:1.7;margin:0 0 18px}
.corso-side{border:1.5px solid var(--line-dk);padding:26px;position:sticky;top:90px;background:var(--bg)}
.corso-side .row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-top:1px solid var(--line);font-size:14px}
.corso-side .row .l{font-family:var(--mono);font-size:11px;text-transform:uppercase;color:var(--muted)}
.corso-side .row .v{font-weight:700}
@media(max-width:900px){.corsi-grid{grid-template-columns:1fr 1fr}.corso-detail{grid-template-columns:1fr}.corso-side{position:static}}
@media(max-width:600px){.corsi-grid{grid-template-columns:1fr}}

/* tag profili Forma.Temp */
.ft-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.ft-tags span{font-family:var(--mono);font-size:12px;border:1.3px solid var(--line-dk);padding:8px 13px;color:var(--fg2);transition:.2s}
.ft-tags span:hover{border-color:var(--mag);color:var(--mag)}
