:root{--brand:#2E4A66;--brand-2:#3D6288;--brand-3:#6E9BBF;--bg:#F7FAFC;--bg-2:#E9F1F7;--tint:#CFE0EE;--tint-2:#E6F0F8;--paper:#FFFFFF;--ink:#1B2733;--ink-2:#3B4B5C;--muted:#63737F;--line:#DCE7EF;--accent:#A85068;--accent-2:#8E4056;--accent-soft:#F8E9ED;--gilt:#A85068;--ok:#3A7D63;--warn:#C2922F;--stop:#B4544C;--r:14px;--r-s:9px;--shadow:0 1px 2px rgba(20,35,50,.05), 0 8px 28px rgba(20,35,50,.07);--shadow-lg:0 2px 6px rgba(20,35,50,.07), 0 20px 50px rgba(20,35,50,.12);--wrap:1180px}
/* AlpenSitter - foglio di stile unico */

*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.display{font-family:Fraunces,Georgia,"Times New Roman",serif;
  font-weight:600;line-height:1.15;letter-spacing:-.01em;margin:0 0 .5em}
h1{font-size:clamp(2.1rem,5.2vw,3.5rem);color:var(--brand)}
h2{font-size:clamp(1.6rem,3.4vw,2.35rem);margin-top:0;color:var(--brand)}
h3{font-size:1.24rem}
p{margin:0 0 1.05em}
a{color:var(--brand-2);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
.narrow{max-width:760px;margin-left:auto;margin-right:auto}
.sec{padding:clamp(48px,7vw,86px) 0}
.sec-tight{padding:clamp(32px,4.5vw,54px) 0}
.bg-paper{background:var(--paper)}
.bg-pine{background:var(--brand);color:rgba(255,255,255,.85)}
.bg-pine h1,.bg-pine h2,.bg-pine h3{color:#fff}
.cta-band h1,.cta-band h2{color:#fff}
.bg-cream2{background:var(--bg-2)}
.center{text-align:center}
.muted{color:var(--muted)}
.small{font-size:.875rem}
.xs{font-size:.79rem}
.lead{font-size:1.14rem;color:var(--ink-2)}

/* ---------- header ---------- */
header.site{position:sticky;top:0;z-index:60;background:var(--bg);
  backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line);
  transition:box-shadow .2s ease}
header.site.scrolled{box-shadow:0 2px 14px rgba(20,35,50,.09)}
.nav{display:flex;align-items:center;gap:20px;padding:11px 0;transition:padding .2s ease}
header.site.scrolled .nav{padding:8px 0}
.logo{display:flex;align-items:center;gap:9px;font-family:Fraunces,Georgia,serif;
  font-weight:600;font-size:1.19rem;color:var(--brand);letter-spacing:-.02em}
.logo:hover{text-decoration:none}
.logo svg{flex:none}
.nav-links{display:flex;gap:20px;margin-left:auto;align-items:center;flex-wrap:wrap}
.nav-links a{color:var(--ink-2);font-size:.92rem;font-weight:500}
.lang{display:flex;gap:5px;align-items:center;border-left:1px solid var(--line);padding-left:15px}
.lang a{font-size:.76rem;font-weight:600;letter-spacing:.06em;color:var(--muted);
  padding:3px 6px;border-radius:5px}
.lang a.on{background:var(--brand);color:#fff}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--line);
  border-radius:8px;padding:7px 10px;font-size:1rem;cursor:pointer;color:var(--brand)}
@media(max-width:900px){
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);
    flex-direction:column;align-items:flex-start;gap:0;padding:8px 22px 16px;
    border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
  .nav-links.open{display:flex}
  .nav-links a{padding:11px 0;width:100%;border-bottom:1px solid var(--bg-2)}
  .lang{border-left:0;padding-left:0;padding-top:10px}
  .burger{display:block}
}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--brand);color:#fff;padding:13px 24px;border-radius:999px;
  font-weight:600;font-size:.96rem;border:1px solid var(--brand);cursor:pointer;
  transition:transform .12s ease,box-shadow .12s ease,background .12s ease}
.btn:hover{background:var(--brand-2);text-decoration:none;transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(0,0,0,.16)}
.btn-amber{background:var(--accent);border-color:var(--accent)}
.btn-amber:hover{background:var(--accent-2)}
.btn-ghost{background:transparent;color:var(--brand);border-color:var(--line)}
.btn-ghost:hover{background:var(--paper);color:var(--brand)}
.btn-light{background:#fff;color:var(--brand);border-color:#fff}
.btn-light:hover{background:var(--bg-2);color:var(--brand)}
.btn-sm{padding:9px 17px;font-size:.87rem}
.btns{display:flex;gap:12px;flex-wrap:wrap}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;background:
   radial-gradient(760px 520px at 88% 8%, var(--tint-2) 0%, transparent 66%),
   radial-gradient(900px 620px at 6% -14%, var(--tint) 0%, transparent 72%),
   linear-gradient(168deg,var(--tint) 0%,var(--bg) 58%,var(--bg-2) 100%)}
.hero-in{padding:clamp(52px,8vw,104px) 0 clamp(96px,11vw,150px);position:relative;z-index:2;
  max-width:760px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--accent-soft);
  color:var(--accent-2);font-size:.775rem;font-weight:700;letter-spacing:.075em;
  text-transform:uppercase;padding:6px 14px;border-radius:999px;margin-bottom:20px}
.hero h1{margin-bottom:.42em}
.hero .lead{font-size:1.2rem;max-width:610px}
.ridge{position:absolute;bottom:-1px;left:0;width:100%;height:auto;z-index:1;display:block}
.trustline{display:flex;gap:22px;flex-wrap:wrap;margin-top:30px;font-size:.885rem;color:var(--ink-2)}
.trustline span{display:flex;align-items:center;gap:7px}
.tick{color:var(--brand-3);font-weight:700}

/* ---------- grids & cards ---------- */
.grid{display:grid;gap:22px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:940px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.g2,.g3,.g4{grid-template-columns:1fr}}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:26px;box-shadow:var(--shadow)}
.card h3{margin-bottom:.4em}
.card p:last-child{margin-bottom:0}
.card-link{transition:transform .14s ease,box-shadow .14s ease}
.card-link:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);text-decoration:none}
.num{font-family:Fraunces,Georgia,serif;font-size:2rem;color:var(--accent);line-height:1;
  display:block;margin-bottom:.28em}

/* ---------- sitter profile cards ---------- */
.sitters{display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}
@media(max-width:940px){.sitters{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.sitters{grid-template-columns:1fr}}
.sitter{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;
  transition:transform .16s ease,box-shadow .16s ease}
.sitter:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.sitter-top{display:flex;gap:14px;align-items:center;padding:20px 20px 14px}
.avatar{width:56px;height:56px;border-radius:50%;flex:none;display:grid;place-items:center;
  background:var(--brand);color:#fff;font-family:Fraunces,Georgia,serif;font-size:1.35rem}
.sitter-body{padding:0 20px 20px;flex:1;display:flex;flex-direction:column}
.chip{display:inline-flex;align-items:center;gap:5px;background:var(--bg-2);
  border:1px solid var(--line);color:var(--ink-2);font-size:.755rem;font-weight:600;
  padding:3px 9px;border-radius:999px}
.chip-ok{background:var(--accent-soft);border-color:var(--line);color:var(--accent-2)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 12px}
.rate{font-family:Fraunces,Georgia,serif;font-size:1.2rem;color:var(--brand)}
.locked{margin-top:auto;background:var(--bg);border-top:1px solid var(--line);
  margin-left:-20px;margin-right:-20px;margin-bottom:-20px;padding:14px 20px;
  display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}

/* ---------- badges / verification ladder ---------- */
.vlist{display:grid;gap:12px}
.vrow{display:flex;gap:14px;align-items:flex-start;background:var(--paper);
  border:1px solid var(--line);border-radius:var(--r-s);padding:16px 18px}
.vrow.top{border-color:var(--accent);background:linear-gradient(180deg,#fff,var(--accent-soft))}
.vmark{flex:none;width:26px;height:26px;border-radius:50%;background:var(--bg-2);color:var(--ok);
  display:grid;place-items:center;font-size:.8rem;font-weight:700;margin-top:2px}
.vprice{margin-left:auto;font-weight:700;color:var(--brand);white-space:nowrap;font-size:.94rem}
@media(max-width:620px){.vprice{margin-left:0;width:100%}}

/* ---------- pricing ---------- */
.price-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:28px;text-align:center;box-shadow:var(--shadow);position:relative;
  transition:transform .16s ease,box-shadow .16s ease}
.price-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.price-card.hi{border-color:var(--brand);box-shadow:var(--shadow-lg)}
.price-card .tag{position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  background:var(--accent);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.05em;
  text-transform:uppercase;padding:4px 13px;border-radius:999px;white-space:nowrap}
.price{font-family:Fraunces,Georgia,serif;font-size:2.5rem;color:var(--brand);line-height:1;
  margin:.25em 0 .1em}
.ul{list-style:none;padding:0;margin:0;text-align:left}
.ul li{padding:8px 0 8px 27px;position:relative;border-bottom:1px solid var(--bg-2);font-size:.94rem}
.ul li:last-child{border-bottom:0}
.ul li:before{content:"✓";position:absolute;left:0;color:var(--brand-3);font-weight:700}
.ul.no li:before{content:"—";color:var(--muted)}

/* ---------- comparison table ---------- */
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;background:var(--paper);font-size:.94rem;
  border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
th,td{padding:13px 15px;text-align:left;border-bottom:1px solid var(--line)}
th{background:var(--bg-2);font-weight:700;font-size:.85rem;letter-spacing:.02em}
tr:last-child td{border-bottom:0}
td.c,th.c{text-align:center}
.yes{color:var(--ok);font-weight:700}.no{color:var(--muted)}
.bg-pine table,.bg-pine td,.bg-pine th{color:var(--ink)}
.bg-pine .yes{color:var(--ok)}.bg-pine .no{color:var(--muted)}

/* ---------- structures / semaforo ---------- */
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:7px;flex:none}
.d-ok{background:var(--ok)}.d-warn{background:var(--warn)}.d-stop{background:var(--stop)}
.struct{display:flex;gap:14px;align-items:center;background:var(--paper);
  border:1px solid var(--line);border-radius:var(--r-s);padding:16px 18px;flex-wrap:wrap}
.struct .st-status{margin-left:auto;display:flex;align-items:center;font-size:.87rem;font-weight:600}

/* ---------- forms ---------- */
form.as{display:grid;gap:15px;background:var(--paper);border:1px solid var(--line);
  border-radius:var(--r);padding:26px;box-shadow:var(--shadow)}
label{font-weight:600;font-size:.9rem;display:block;margin-bottom:5px}
input,select,textarea{width:100%;padding:11px 13px;border:1px solid var(--line);
  border-radius:var(--r-s);font:inherit;font-size:.96rem;background:var(--bg);color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--brand-3);outline-offset:1px;background:#fff}
textarea{min-height:110px;resize:vertical}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:15px}
@media(max-width:620px){.f2{grid-template-columns:1fr}}
.checkrow{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;line-height:1.5}
.checkrow input{width:auto;margin-top:3px;flex:none}
fieldset{border:1px solid var(--line);border-radius:var(--r-s);padding:18px;margin:0}
legend{font-weight:700;font-size:.9rem;padding:0 8px;color:var(--brand)}

/* ---------- notes ---------- */
.note{border-left:3px solid var(--accent);background:var(--accent-soft);
  padding:15px 18px;border-radius:0 var(--r-s) var(--r-s) 0;font-size:.92rem}
.note-cool{border-left-color:var(--brand-3);background:var(--bg-2)}
.disclaimer{font-size:.82rem;color:var(--muted);background:var(--bg-2);
  border:1px dashed var(--line);border-radius:var(--r-s);padding:13px 16px}

/* ---------- footer ---------- */
footer.site{background:var(--brand);color:rgba(255,255,255,.78);padding:54px 0 30px;margin-top:10px}
footer.site h4{color:#fff;font-family:Inter,sans-serif;font-size:.79rem;letter-spacing:.1em;
  text-transform:uppercase;margin:0 0 13px}
footer.site a{color:rgba(255,255,255,.78);font-size:.9rem;display:block;padding:3.5px 0}
footer.site a:hover{color:#fff}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px}
@media(max-width:860px){.fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.fgrid{grid-template-columns:1fr}}
.fbot{border-top:1px solid rgba(255,255,255,.15);margin-top:34px;padding-top:20px;
  font-size:.8rem;color:rgba(255,255,255,.6);display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap}

/* ---------- misc ---------- */
.breadcrumb{font-size:.82rem;color:var(--muted);padding:15px 0 0}
.breadcrumb a{color:var(--muted)}
.pill-links{display:flex;flex-wrap:wrap;gap:8px}
.pill-links a{background:var(--paper);border:1px solid var(--line);border-radius:999px;
  padding:6px 14px;font-size:.85rem;color:var(--ink-2)}
.pill-links a:hover{background:var(--brand);color:#fff;border-color:var(--brand);text-decoration:none}
.pill-links a.on{background:var(--brand);color:#fff;border-color:var(--brand);font-weight:700}
.cta-band{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-2) 100%);color:#fff;
  border-radius:var(--r);padding:clamp(30px,5vw,48px);text-align:center}
.cta-band h2{color:#fff}
.cta-band p{color:rgba(255,255,255,.85);max-width:600px;margin-left:auto;margin-right:auto}
hr.soft{border:0;border-top:1px solid var(--line);margin:34px 0}
.faq{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-s);
  padding:6px 20px;margin-bottom:10px}
.faq summary{cursor:pointer;font-weight:600;padding:14px 0;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary:before{content:"+";color:var(--accent);font-weight:700;margin-right:10px}
.faq[open] summary:before{content:"–"}
.faq p{padding-bottom:8px;margin-bottom:6px;font-size:.95rem;color:var(--ink-2)}
.toc{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-s);padding:18px 22px}
.toc ol{margin:0;padding-left:20px;font-size:.92rem}



/* ---------- i disegni centrati nelle pagine ---------- */
.disegno-c{display:flex;justify-content:center;margin:26px 0 4px}
.disegno-c svg,.disegno-c img{width:100%;max-width:430px;height:auto;transform:rotate(-1.2deg);display:block}
.disegno-s svg,.disegno-s img{max-width:250px}
.disegno-m svg,.disegno-m img{max-width:330px}



/* ---------- fascia gratis ---------- */
.gratis{display:flex;gap:14px;align-items:flex-start;background:linear-gradient(180deg,#fff,var(--bg-2));
  border:1px solid var(--line);border-left:4px solid var(--ok);border-radius:var(--r);
  padding:18px 22px;margin:20px 0;font-size:.97rem;line-height:1.6}
.gratis:before{content:"✓";color:var(--ok);font-weight:700;font-size:1.3rem;line-height:1.2}
/* ---------- numeri utili ---------- */
.num-list{display:grid;gap:10px}
.num-row{display:flex;gap:16px;align-items:flex-start;background:var(--paper);
  border:1px solid var(--line);border-left:4px solid var(--brand-3);border-radius:var(--r-s);padding:15px 18px}
.num-row.urg{border-left-color:var(--stop);background:linear-gradient(90deg,rgba(180,84,76,.05),var(--paper) 22%)}
.num-n{font-family:Fraunces,Georgia,serif;font-size:1.42rem;color:var(--brand);font-weight:700;
  min-width:82px;line-height:1.15}
.num-row.urg .num-n{color:var(--stop)}
@media(max-width:520px){.num-row{flex-direction:column;gap:4px}.num-n{min-width:0}}
/* ---------- stickers, motivi, separatori ---------- */
.stk{display:inline-block;width:var(--sz,64px);height:var(--sz,64px);vertical-align:middle;
  transform:rotate(var(--rot,-8deg));
  filter:drop-shadow(1.6px 0 0 #fff) drop-shadow(-1.6px 0 0 #fff) drop-shadow(0 1.6px 0 #fff)
         drop-shadow(0 -1.6px 0 #fff) drop-shadow(0 4px 6px rgba(25,40,55,.22))}
.stk svg{width:100%;height:100%;display:block}
.stk-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin:2px 0 26px}
.stk-h{--sz:44px;margin-left:10px}
.sep{display:flex;justify-content:center;margin:4px 0 22px}
.sep svg{width:min(420px,70%);height:22px}
.pattern{background-image:url("data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="72" height="72" viewBox="0 0 72 72"><g fill="none" stroke="%23A8BCCE" stroke-width="1.6" opacity="0.5" stroke-linecap="round" stroke-linejoin="round"><path d="M8 26 L16 12 L24 26Z"/><path d="M46 58 L54 44 L62 58Z"/><circle cx="52" cy="18" r="2.2"/><circle cx="18" cy="52" r="2.2"/><path d="M34 40 l3 -4 l3 4"/></g></svg>");background-repeat:repeat;background-size:72px 72px}
.pattern>.wrap{position:relative;z-index:1}
.disegno-c{position:relative}
.disegno-c::before{content:"";position:absolute;top:12px;left:50%;width:112px;height:26px;
  transform:translateX(-50%) rotate(-3deg);background:rgba(247,214,150,.55);
  border-left:1px dashed rgba(0,0,0,.10);border-right:1px dashed rgba(0,0,0,.10);
  box-shadow:0 1px 3px rgba(0,0,0,.10);z-index:2;pointer-events:none}
@media(max-width:620px){.stk-row .stk{--sz:48px}}
/* ---------- il disegno ---------- */
.disegno{position:absolute;right:2%;bottom:6%;width:min(46%,520px);height:auto;z-index:1;
  pointer-events:none;transform:rotate(-1.6deg)}
@media(max-width:1100px){.disegno{width:min(50%,460px);bottom:5%}}
@media(max-width:900px){
  .disegno{position:relative;right:auto;bottom:auto;width:104%;max-width:none;margin:26px -2% -18px;
    transform:rotate(-1deg)}
  .hero-in{padding-bottom:6px}}
/* ---------- disegni in cornice ---------- */
.quadretti{position:absolute;right:6%;bottom:15%;width:min(41%,440px);z-index:1;pointer-events:none}
.q{margin:0;background:#fff;padding:9px;border:7px solid #E3D6BE;border-radius:3px;
  box-shadow:0 14px 34px rgba(30,40,55,.16), 0 3px 8px rgba(30,40,55,.10);
  transform:rotate(var(--rot,0deg))}
.q svg{display:block;width:100%;height:auto;border:1px solid rgba(0,0,0,.06)}
.q-a{--rot:-3.2deg;width:78%;position:relative;z-index:2}
.q-b{--rot:5.5deg;width:52%;position:absolute;right:-13%;bottom:-19%;z-index:3;
  border-color:#DCC9AE;padding:7px}
@media(max-width:1100px){.quadretti{width:min(46%,400px);bottom:13%;right:5%}}
@media(max-width:900px){
  .quadretti{position:relative;right:auto;bottom:auto;width:100%;max-width:420px;
    margin:34px 0 8px;display:block}
  .q-a{width:82%}
  .q-b{width:48%;right:0;bottom:-10%}
}
/* ---------- illustrazioni ---------- */
.hero-art{position:absolute;right:0;bottom:-2px;width:min(56%,660px);height:auto;z-index:1;
  pointer-events:none;user-select:none}
@media(max-width:900px){.hero-art{position:relative;width:104%;right:-2%;margin:24px 0 -30px;opacity:.95}
  .hero-in{padding-bottom:10px}}
.ridge{z-index:3}
.hero-in{z-index:2}
.ill{width:100%;max-width:190px;height:auto;display:block;margin:0 0 16px}
.card .ill{margin-bottom:14px}
.ic{width:19px;height:19px;flex:none}
.vmark{background:var(--accent-soft);color:var(--accent-2)}
.ill-band{display:flex;justify-content:center;padding:6px 0 0}
.ill-band svg{max-width:520px;width:100%;height:auto}
.legal h2{margin-top:2em;font-size:1.35rem}
.legal h3{margin-top:1.6em;font-size:1.05rem}
.legal{font-size:.96rem}
.num-n{white-space:nowrap;flex:none}
@media(max-width:560px){.num-n{font-size:1.08rem}}
.grid .card{display:flex;flex-direction:column}
.grid .card>.btn{margin-top:auto;align-self:flex-start}
/* ---------- bivio bambini / animali ---------- */
.scelta{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.scelta-c{display:block;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:0 0 26px;overflow:hidden;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.scelta-c:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--brand-3);
  text-decoration:none}
.scelta-c img{display:block;width:100%;max-width:none;height:190px;object-fit:contain;object-position:center bottom;
  background:linear-gradient(180deg,var(--tint-2),var(--paper));padding:16px 16px 0;margin:0}
.scelta-c>div{padding:22px 26px 0}
.scelta-c h3{margin:10px 0 8px;font-size:1.5rem}
.scelta-c p{color:var(--ink-2)}
.scelta-go{display:inline-block;margin-top:12px;font-weight:700;font-size:.92rem;color:var(--accent)}
.scelta-c:hover .scelta-go{text-decoration:underline}
.scelta-sm .scelta-c img{height:130px}
@media(max-width:760px){.scelta{grid-template-columns:1fr}.scelta-c img{height:160px}}
/* ---------- passi numerati ---------- */
.steps{display:grid;gap:2px;counter-reset:none}
.step{display:flex;gap:20px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);
  border-radius:var(--r-s);padding:22px 24px;margin-bottom:14px;position:relative}
.step-n{flex:none;width:44px;height:44px;border-radius:50%;background:var(--accent);color:#fff;
  font-family:Fraunces,Georgia,serif;font-size:1.3rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;line-height:1}
.step-b h3{margin:6px 0 8px;font-size:1.14rem}
.step-b p{font-size:.95rem;color:var(--ink-2);margin:0 0 9px}
.step-b p:last-child{margin-bottom:0}
.step:not(:last-child):after{content:"";position:absolute;left:46px;bottom:-14px;width:1px;height:14px;
  background:var(--line)}
@media(max-width:620px){.step{gap:14px;padding:18px 16px}.step-n{width:36px;height:36px;font-size:1.1rem}
  .step:not(:last-child):after{left:34px}}

/* ---------- comparsa a scorrimento ---------- */
/* la classe .reveal la aggiunge app.js: senza JavaScript il contenuto resta visibile normalmente */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.in-view{opacity:1;transform:none}

/* ---------- illustrazioni che respirano ---------- */
.ill,.stk{transition:transform .25s ease}
.card:hover .ill,.scelta-c:hover .ill{transform:translateY(-3px) scale(1.04)}
.stk:hover{transform:rotate(calc(var(--rot,-8deg) - 6deg)) scale(1.08)}

@media(prefers-reduced-motion:no-preference){
  .hero-art{animation:float 7s ease-in-out infinite}
  @keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
}
