/* Asse Fisioterapia — demo settore fisioterapisti. Nessuna fotografia. */
@font-face{font-family:Fraunces;src:url('/assets/fonts/fraunces-regular.woff2') format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:Fraunces;src:url('/assets/fonts/fraunces-italic.woff2') format('woff2');font-weight:400 700;font-style:italic;font-display:swap}

.af-site{
  --ink:#1b2420;--paper:#f3f5f1;--card:#fff;--accent:#3f6b57;--soft:#dde6df;--muted:#63706a;
  --line:rgba(27,36,32,.14);--hair:rgba(27,36,32,.07);
  --serif:Fraunces,Georgia,serif;--body:Inter,system-ui,Arial,sans-serif;
  background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.65;
}
.af-site *{box-sizing:border-box}
.af-shell{width:min(100% - 2.5rem,70rem);margin-inline:auto}
.af-site h1,.af-site h2,.af-site h3{font-family:var(--serif);font-weight:600;line-height:1.08;letter-spacing:-.015em;margin:0}
.af-site p{margin:0}

.af-header{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--paper) 93%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--hair)}
.af-nav{display:flex;align-items:center;gap:1.25rem;height:74px}
.af-logo{display:inline-flex;align-items:center;gap:.65rem;color:inherit;text-decoration:none}
.af-logo svg{width:32px;height:32px;color:var(--accent)}
.af-logo b{font-family:var(--serif);font-size:1.4rem;font-weight:600}
.af-logo small{display:block;font-size:.62rem;letter-spacing:.16em;color:var(--muted);text-transform:uppercase}
.af-nav nav{margin-left:auto;display:flex;align-items:center;gap:1.4rem}
.af-nav nav a{color:inherit;text-decoration:none;font-size:.92rem;font-weight:500}
.af-nav nav a:hover{color:var(--accent)}
.af-cta{padding:.7rem 1.25rem;border-radius:999px;background:var(--accent);color:#fff!important;font-weight:600}
.af-cta:hover{background:var(--ink)}
.af-burger{display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--line);border-radius:999px;background:none;cursor:pointer;font-size:.8rem;font-weight:600;color:inherit}
#af-mobile{display:none;padding:0 0 1rem;flex-direction:column}
#af-mobile a{padding:.85rem .2rem;border-top:1px solid var(--hair);color:inherit;text-decoration:none;font-weight:500}
#af-mobile:not([hidden]){display:flex}

.af-hero{padding:clamp(3rem,7vw,6rem) 0 clamp(2rem,4vw,3.5rem)}
.af-hero h1{font-size:clamp(2.4rem,6vw,4.6rem);max-width:17ch}
.af-hero h1 em{color:var(--accent)}
.af-hero p{max-width:38rem;margin-top:1.4rem;font-size:clamp(1rem,1.6vw,1.18rem);color:var(--muted)}
.af-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2rem}
.af-button{display:inline-flex;align-items:center;gap:.5rem;padding:.95rem 1.6rem;border-radius:999px;background:var(--accent);color:#fff;text-decoration:none;font-weight:600;border:0;cursor:pointer}
.af-button:hover{background:var(--ink)}
.af-link{display:inline-flex;align-items:center;gap:.4rem;padding:.95rem 0;color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--accent)}

.af-section{padding:clamp(2.75rem,6vw,5rem) 0}
.af-section h2{font-size:clamp(1.9rem,4vw,3rem);max-width:20ch}
.af-section h2 em{color:var(--accent)}
.af-intro{max-width:40rem;margin-top:1rem;color:var(--muted)}

.af-cards{display:grid;gap:1.1rem;margin-top:2.25rem;grid-template-columns:repeat(auto-fit,minmax(min(17rem,100%),1fr))}
.af-card{background:var(--card);border:1px solid var(--line);border-radius:1.1rem;padding:1.6rem 1.5rem}
.af-card h3{font-size:1.35rem;margin-bottom:.55rem}
.af-card p{color:var(--muted);font-size:.94rem}
.af-card ul{margin:1rem 0 0;padding:0;list-style:none;display:grid;gap:.4rem;font-size:.9rem;color:var(--muted)}
.af-card li{padding-left:1.1rem;position:relative}
.af-card li::before{content:'';position:absolute;left:0;top:.62em;width:.42rem;height:.42rem;border-radius:50%;background:var(--accent)}

.af-path{display:grid;gap:1px;margin-top:2.25rem;background:var(--line);border:1px solid var(--line);border-radius:1.1rem;overflow:hidden}
@media(min-width:44rem){.af-path{grid-template-columns:repeat(4,1fr)}}
.af-stage{background:var(--card);padding:1.6rem 1.4rem}
.af-stage b{display:block;font-family:var(--serif);font-size:1rem;color:var(--accent);margin-bottom:.5rem}
.af-stage h3{font-size:1.18rem;margin-bottom:.45rem}
.af-stage p{font-size:.9rem;color:var(--muted)}

.af-note{margin-top:2rem;padding:1.2rem 1.4rem;border-left:3px solid var(--accent);border-radius:0 .8rem .8rem 0;background:var(--soft);font-size:.93rem}

.af-contact{background:var(--ink);color:var(--paper)}
.af-contact h2{color:var(--paper)}
.af-contact .af-intro{color:#9fb0a8}
.af-contact-grid{display:grid;gap:2rem;margin-top:2rem}
@media(min-width:48rem){.af-contact-grid{grid-template-columns:1.1fr 1fr;align-items:start}}
.af-facts{display:grid;margin:0;padding:0}
.af-facts div{display:flex;flex-wrap:wrap;gap:.5rem 1rem;padding:.9rem 0;border-top:1px solid rgba(243,245,241,.16)}
.af-facts dt{min-width:9rem;color:#8d9d95;font-size:.84rem}
.af-facts dd{margin:0;font-weight:600}

.af-reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.af-reveal.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.af-reveal{opacity:1;transform:none;transition:none}}

@media(max-width:52rem){.af-nav nav{display:none}.af-burger{display:block}}
