:root{--blue:#789fbe;--blue-deep:#426e91;--blue-ink:#1c3a52;--ice:#f0f5f7;--green:#5bd14e;--text:#2f3337;--muted:#68757e;--white:#fff;--radius:16px;--shadow:0 12px 35px rgba(31,63,85,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:#fff;color:var(--text);font-family:"Segoe UI",Arial,sans-serif;font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.28;letter-spacing:-.03em}h1{font-size:clamp(2.8rem,5vw,5.3rem);font-weight:800}h2{font-size:clamp(1.9rem,3vw,3.1rem);font-weight:800}h3{font-size:1.15rem;font-weight:700}p{margin-bottom:1.1rem}button{cursor:pointer}.container{width:min(1150px,calc(100% - 64px));margin:0 auto}.container-wide{width:min(1380px,100%);margin:0 auto}.narrow{max-width:1000px}.center{text-align:center}.muted{color:var(--muted)}.section-anchor{scroll-margin-top:80px}.eyebrow{text-transform:uppercase;color:var(--blue-deep);font-size:.7rem;letter-spacing:.18em;font-weight:800;display:inline-block;margin-bottom:14px}.eyebrow-light{color:#ecf6ff}.section-heading{text-align:center;margin:0 auto 46px;max-width:680px}.section-heading p{color:var(--muted);max-width:570px;margin:14px auto}.section-dash{display:block;background:var(--blue);width:55px;height:3px;margin:22px auto 0;border-radius:10px}.btn{display:inline-flex;gap:14px;align-items:center;justify-content:center;min-height:45px;padding:11px 28px;border:0;border-radius:45px;font-size:.82rem;font-weight:800;letter-spacing:.01em;transition:transform .25s,background .25s,box-shadow .25s}.btn:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(0,0,0,.15)}.btn-green{background:var(--green);color:white}.btn-green:hover{background:#4bc33f}.btn-blue{background:var(--blue-deep);color:white}.btn-outline{background:white;color:var(--blue-ink);border:1px solid #b5c8d7}.draft-ribbon{position:relative;padding:6px 12px;background:#163b52;color:#fff;text-align:center;font-size:10px;font-weight:700;letter-spacing:.035em}.site-header{background:var(--blue);color:#fff;position:sticky;top:0;z-index:100;box-shadow:0 3px 8px rgba(27,55,72,.07)}.header-inner{display:flex;justify-content:space-between;align-items:center;min-height:69px;gap:28px}.brand{width:58px;display:flex;align-items:center;flex:none}.brand img{height:46px;width:auto}.desktop-nav{display:flex;justify-content:flex-end;gap:clamp(10px,1.5vw,25px);align-items:center}.desktop-nav a{font-size:11.5px;font-weight:800;color:#fff;white-space:nowrap;transition:opacity .2s}.desktop-nav a:hover{opacity:.68}.mobile-toggle{display:none;border:0;background:none;width:42px;height:42px;padding:8px;flex-direction:column;justify-content:space-around}.mobile-toggle span{height:2px;background:white;display:block;width:100%}.mobile-nav{padding:5px 6vw 23px;background:var(--blue);box-shadow:0 10px 20px rgba(0,0,0,.12)}.mobile-nav[hidden]{display:none!important}.mobile-nav a{display:block;padding:13px 8px;color:#fff;font-weight:700;font-size:13px;border-bottom:1px solid #ffffff35}.mobile-nav .mobile-book{color:#e4ffdf}.hero{height:clamp(440px,44vw,650px);position:relative;border-bottom-right-radius:clamp(80px,18vw,250px);overflow:hidden;background:#5c554c;border-right:8px solid var(--blue);border-bottom:8px solid var(--blue)}.hero-bg,.hero-shade{position:absolute;inset:0}.photo-bg{background-image:var(--photo);background-position:center 57%;background-size:cover}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.63) 0%,rgba(0,0,0,.36) 44%,rgba(0,0,0,.05) 100%)}.hero-content{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;color:white;padding:30px 0 48px}.hero h1{margin:4px 0 12px;text-shadow:0 3px 15px rgba(0,0,0,.18)}.hero p{font-size:clamp(.9rem,1.3vw,1.1rem);max-width:530px;color:#f6f7f9;line-height:1.8}.hero .btn{margin-top:18px}.hero-line{display:none}
.booking-section{padding:86px 0 120px;background:#fff}.booking-title{margin-bottom:70px}.booking-title h2{font-size:clamp(1.95rem,3.2vw,3.1rem)}.booking-wrap{max-width:970px}.booking-demo,.booking-live{border:1px solid #dce7ed;border-radius:12px;background:white;box-shadow:0 5px 24px rgba(25,70,95,.08);overflow:hidden}.booking-top{text-align:center;padding:44px 30px 22px}.avatar-placeholder,.calendar-avatar{width:75px;height:75px;border-radius:100%;background:linear-gradient(130deg,#e8eef4,#89aaca);display:grid;place-items:center;margin:0 auto 14px;color:white;font-weight:800;font-size:33px}.booking-professional{font-size:1.05rem;font-weight:700;color:var(--blue-deep)}.booking-top p{color:var(--blue-ink);margin:17px 0 10px}.demo-note{font-size:.73rem;color:#6a8799}.small-dot{display:inline-block;width:8px;height:8px;background:#f6b44c;border-radius:50%;margin-right:6px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px 45px;padding:20px 70px 50px}.service-choice{background:white;border:0;border-top:1px solid #d7e2ee;text-align:left;padding:27px 3px 24px;color:var(--blue-ink);transition:background .2s,transform .2s}.service-choice:hover{background:#f8fbff;transform:translateY(-2px)}.service-title{display:flex;align-items:center;gap:15px;min-height:31px}.service-title strong{font-size:1rem}.color-dot{width:28px;height:28px;flex:none;border-radius:50%;display:inline-block}.dot-blue{background:#2095f5}.dot-yellow{background:#f6dd23}.dot-purple{background:#8645f6}.service-arrow{font-size:27px;margin-left:auto;line-height:1}.service-summary{display:block;line-height:1.7;margin:17px 0 11px;font-size:.88rem}.service-choice small{color:#55718c;font-size:.75rem}.booking-footnote{border-top:1px solid #eef2f5;margin:0;padding:13px 28px;color:#6d8090;font-size:.72rem;text-align:center}.calendar-view{display:grid;grid-template-columns:1fr 1.1fr;min-height:520px}.calendar-view[hidden]{display:none}.calendar-details{padding:32px 28px;border-right:1px solid #e3ebf1}.back-link{border:1px solid #dde9f0;border-radius:100px;background:white;color:var(--blue-deep);font-size:12px;padding:6px 11px}.calendar-monogram{display:flex;justify-content:center;padding:26px 0 16px}.calendar-avatar{width:48px;height:48px;font-size:20px;margin:8px 0}.pro-small{font-size:12px;font-weight:800;color:var(--blue-deep)}.calendar-details h3{font-size:1.5rem;color:#1c364b;margin:6px 0 17px}.cal-meta{font-size:.81rem;color:#4b6681;margin-bottom:10px;font-weight:600}.cal-description{font-size:.82rem;margin-top:27px;color:var(--muted)}.calendar-pick{padding:32px 27px}.calendar-pick h3{font-size:1.14rem;color:#193a54;margin-bottom:28px}.month-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;color:#213d54}.month-head strong{font-size:.9rem;text-transform:capitalize}.month-head button{font-size:29px;line-height:1;border:0;background:white;color:var(--blue-deep);padding:2px 12px}.day-labels,.date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;text-align:center}.day-labels{color:#7b92a6;font-size:11px;font-weight:800;padding-bottom:11px}.date-grid button{border:0;width:100%;aspect-ratio:1;background:#f0f6ff;color:#315a82;border-radius:100%;font-size:13px}.date-grid button:hover:not(:disabled){background:#dcecfb}.date-grid button.selected{background:var(--blue-deep);color:#fff}.date-grid button:disabled{background:transparent;color:#c7cdd0;cursor:default}.date-grid .blank{display:block}.timezone{margin:22px 0 12px;font-size:11px;font-weight:700;color:#6e8593}.time-list{display:flex;flex-wrap:wrap;gap:10px}.time-list button{border:1px solid var(--blue);background:white;color:var(--blue-deep);padding:8px 12px;border-radius:7px;font-size:12px}.time-list button:hover{background:#edf6ff}.time-list p{font-size:12px;color:#778996}.time-list .demo-warning{width:100%;font-size:10px}.booking-live{min-height:420px}.cal-consent{text-align:center;padding:60px 20px;max-width:520px;margin:auto}.cal-consent-icon{font-size:46px;color:var(--blue)}.cal-consent h3{margin-top:14px}.cal-consent a{display:block;font-size:12px;margin-top:17px;color:var(--blue-deep);text-decoration:underline}.external-cal{padding:12px 30px;color:#1b537b;font-weight:800;font-size:12px;text-align:center;display:block}.external-cal[hidden]{display:none}#cal-inline{min-height:0}.cal-live-frame{width:100%;min-height:740px;border:none}
.about{padding:70px 0 0;overflow:hidden}.about-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6vw;min-height:470px}.about-copy{padding:65px 20px 65px max(48px,calc((100vw - 1150px)/2))}.about-copy h2{margin-bottom:24px}.about-copy p{max-width:450px}.text-link{display:inline-block;color:var(--blue-deep);font-weight:800;font-size:12px;margin-top:9px}.text-link span{padding-left:9px}.curved-photo{overflow:hidden;position:relative;background:#cad4db;border-bottom-left-radius:145px;border-left:10px solid var(--blue);border-bottom:10px solid var(--blue);min-height:440px}.curved-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.photo-chip{position:absolute;bottom:20px;right:20px;color:white;background:#102d45c0;font-size:10px;padding:7px 11px;border-radius:20px}.credentials{background:var(--ice);padding:75px 0 83px}.credentials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:43px 65px}.credentials article{position:relative;padding-left:38px}.feature-icon{position:absolute;left:0;top:0;font-size:25px;line-height:1;color:var(--blue)}.credentials h3{font-size:.98rem;margin-bottom:6px}.credentials p{font-size:.78rem;line-height:1.75;margin:0;color:#516271}.cta-strip{text-align:center;padding:75px 22px 70px;background:#fff}.cta-strip h2{font-size:clamp(1.7rem,2.4vw,2.4rem);margin-bottom:12px}.cta-strip p{font-size:13px;color:var(--muted)}.cta-strip .btn{margin-top:7px}
.treatments{background:var(--ice);padding:88px 0 80px;border-top-left-radius:160px}.treatment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 31px;margin-top:48px}.treatment-card{overflow:hidden;background:white;box-shadow:0 7px 20px rgba(34,72,93,.08);border-radius:8px;transition:transform .25s,box-shadow .25s}.treatment-card:hover{transform:translateY(-5px);box-shadow:0 14px 28px rgba(34,72,93,.13)}.card-photo{height:210px;background:#b8cad6}.card-photo img{width:100%;height:100%;object-fit:cover}.treatment-body{padding:22px 22px 25px;text-align:center}.treatment-symbol{display:block;color:var(--blue);font-size:31px;line-height:1;margin-bottom:14px}.treatment-body h3{margin:0 0 11px;font-size:1.06rem}.treatment-body p{font-size:.77rem;line-height:1.85;color:#60717b;margin:0}.treatments .center,.audiences .center{margin-top:40px}.audiences{padding:100px 0 90px}.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 38px;margin-top:50px}.audience-card{background:#fff;border-radius:7px;box-shadow:0 8px 23px rgba(37,65,82,.07);overflow:hidden;text-align:center}.audience-card img{width:100%;height:285px;object-fit:cover;background:#bbcbd3}.audience-body{padding:18px 30px 30px}.audience-body>span{font-size:32px;line-height:1;color:var(--blue)}.audience-body h3{margin:7px 0 12px;font-size:1.12rem}.audience-body p{margin-bottom:0;font-size:.83rem;color:#5c6b76;line-height:1.9}
.how{background:var(--ice);overflow:hidden}.how-inner{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:stretch;min-height:500px}.how-copy{padding:75px 10px 60px max(48px,calc((100vw - 1150px)/2))}.how-copy h2{font-size:2.25rem}.how-copy>p{font-size:.85rem;max-width:420px}.steps{list-style:none;margin:34px 0 0;padding:0}.steps li{display:flex;gap:16px;margin:0 0 22px}.step-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;flex:none;background:#dce9f3;color:var(--blue-deep);font-size:20px}.steps h3{font-size:.94rem;margin-bottom:4px}.steps p{font-size:.78rem;color:#546779;margin:0;line-height:1.65}.how-image{border-bottom-left-radius:150px;min-height:530px}.reviews{background:var(--ice);padding:95px 0 100px}.reviews-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.review-placeholder{text-align:center;color:#607482;font-size:.78rem;line-height:1.9}.review-placeholder .quote-mark{font-size:75px;height:58px;color:#d9e5ed;line-height:1}.review-placeholder p{margin-bottom:14px}.review-stars{color:#e5b33b;letter-spacing:4px;font-size:18px}.review-placeholder small{font-size:11px}.reviews .center{margin-top:45px}
.contact{position:relative;padding:75px 22px 80px;background:#dce7ed}.contact-background,.contact-shade{position:absolute;inset:30px max(35px,calc((100vw - 1260px)/2));border-radius:12px}.contact-background{background-image:url('https://images.pexels.com/photos/5794019/pexels-photo-5794019.jpeg?auto=compress&cs=tinysrgb&w=1600');background-size:cover;background-position:center}.contact-shade{background:linear-gradient(90deg,#173951c9,#486e8c9e)}.contact-content{position:relative;margin:0 auto;max-width:740px;color:#fff}.contact-intro{text-align:center}.contact-intro h2{font-size:2.25rem;margin-bottom:8px}.contact-intro p{font-size:.86rem;color:#f0f4f8}.contact-form{margin-top:28px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form label{display:block;font-size:11px;font-weight:700;margin-bottom:12px}.contact-form input:not([type=checkbox]),.contact-form textarea{display:block;width:100%;margin-top:5px;border:1px solid #dbe4eb;border-radius:3px;background:rgba(255,255,255,.97);color:#253c49;min-height:42px;padding:10px 13px;font-size:12px;outline:none}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form textarea:focus{outline:3px solid #94c7e4}.privacy-check{display:flex!important;gap:10px;align-items:flex-start}.privacy-check input{accent-color:var(--green);margin-top:4px}.privacy-check a{text-decoration:underline}.form-bottom{display:flex;gap:16px;justify-content:space-between;align-items:center}.form-bottom>span{font-size:11px;color:#e8f4f9}.info-footer{position:relative;background:var(--blue);padding:80px 0 110px;color:white;overflow:hidden}.info-footer .section-heading h2{font-size:2.1rem}.info-footer .section-heading p{color:#eff7fc}.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative;z-index:1;text-align:center}.info-grid>div{display:flex;align-items:center;flex-direction:column;gap:7px}.info-icon{width:39px;height:39px;display:grid;place-items:center;background:#ffffff26;border-radius:50%;font-size:22px}.info-grid h3{font-size:1rem;margin:5px 0}.info-grid a,.info-grid span:not(.info-icon){font-size:.78rem;overflow-wrap:anywhere}.info-grid a{text-decoration:underline;text-underline-offset:3px}.footer-mountains{position:absolute;bottom:-110px;left:-20px;width:110%;height:205px;opacity:.09;background:#2c648d;border-radius:50% 60% 0 0;transform:rotate(-3deg)}.site-footer{background:#24282b;color:#dadce0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 0;font-size:11px}.footer-inner p{margin:0}.footer-inner>div{display:flex;gap:16px;flex-wrap:wrap}.footer-inner a,.footer-inner button{font-size:11px;color:#dce3e7}.footer-inner button{background:none;border:0;padding:0}.cookie-banner{position:fixed;z-index:200;bottom:20px;left:50%;width:min(900px,calc(100% - 28px));transform:translateX(-50%);background:#fff;border:1px solid #dbe4eb;box-shadow:0 7px 40px #132c3f30;border-radius:12px;padding:18px 22px;display:flex;gap:26px;align-items:center;justify-content:space-between}.cookie-banner[hidden]{display:none}.cookie-banner strong{font-size:13px}.cookie-banner p{font-size:11px;color:#657786;line-height:1.6;margin:5px 0 0}.cookie-actions{display:flex;gap:10px;flex:none}.cookie-actions .btn{min-height:36px;padding:6px 16px;font-size:11px}#back-to-top{position:fixed;right:18px;bottom:20px;z-index:10;width:42px;height:42px;border:none;border-radius:50%;background:var(--green);color:white;font-size:24px;box-shadow:0 7px 20px #23435b25;opacity:0;pointer-events:none;transition:opacity .25s}#back-to-top.visible{opacity:1;pointer-events:auto}[data-reveal]{opacity:1;transform:none}
@media(max-width:1050px){.container{width:min(100% - 45px,1050px)}.desktop-nav{gap:12px}.desktop-nav a{font-size:10px}.header-inner{min-height:65px}.about-copy,.how-copy{padding-left:42px}.treatment-grid{gap:21px}.card-photo{height:190px}.service-grid{padding-left:45px;padding-right:45px}}
@media(max-width:760px){html{scroll-padding-top:64px}.container{width:calc(100% - 36px)}.desktop-nav{display:none}.mobile-toggle{display:flex}.header-inner{min-height:60px}.site-header{top:0}.brand img{height:40px}.draft-ribbon{font-size:9px}.hero{height:490px;border-right:5px solid var(--blue);border-bottom:5px solid var(--blue);border-bottom-right-radius:115px}.hero-bg{background-position:60% center}.hero-shade{background:linear-gradient(90deg,#081b268c,#09203026)}.hero-content{padding-bottom:45px}.hero h1{font-size:clamp(2.4rem,8.3vw,4.4rem)}.hero p{font-size:.86rem;max-width:340px}.booking-section{padding:60px 0 75px}.booking-title{margin-bottom:35px}.booking-top{padding:32px 15px 15px}.service-grid{padding:12px 24px 35px;gap:8px;grid-template-columns:1fr}.service-choice{padding:19px 7px}.service-title strong{font-size:.94rem}.service-summary{margin:9px 0;font-size:.82rem}.calendar-view{grid-template-columns:1fr}.calendar-details{border-right:0;border-bottom:1px solid #e3ebf1;padding:18px 23px}.calendar-monogram{display:none}.calendar-details h3{font-size:1.4rem}.calendar-pick{padding:25px 20px}.about{padding:25px 0 0}.about-inner,.how-inner{grid-template-columns:1fr;gap:0}.about-copy,.how-copy{padding:60px 26px 45px}.about-image{min-height:420px;margin-left:15px;border-bottom-left-radius:110px}.credentials{padding:60px 0}.credentials-grid{grid-template-columns:1fr 1fr;gap:35px 25px}.cta-strip{padding:65px 20px}.treatments{border-top-left-radius:85px;padding:80px 0 70px}.treatment-grid{grid-template-columns:1fr 1fr;gap:18px}.card-photo{height:170px}.treatment-body{padding:17px 13px 23px}.treatment-body p{font-size:.73rem}.audiences{padding:75px 0}.audience-grid{gap:20px}.audience-card img{height:205px}.audience-body{padding:13px 16px 22px}.audience-body p{font-size:.75rem}.how-copy{padding:67px 25px 44px}.how-image{min-height:400px;border-bottom-left-radius:110px}.reviews{padding:72px 0}.reviews-grid{grid-template-columns:1fr 1fr;gap:40px 22px}.contact-background,.contact-shade{inset:18px}.contact{padding:62px 35px 72px}.info-footer{padding:70px 0 105px}.info-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-inner{flex-direction:column;text-align:center}.cookie-banner{align-items:stretch;flex-direction:column;gap:12px}.cookie-actions{justify-content:flex-end}}
@media(max-width:480px){.hero{height:440px}.hero h1{font-size:2.55rem}.section-heading h2{font-size:1.85rem}.section-heading p{font-size:.81rem}.booking-section{padding:50px 0 65px}.booking-title h2{font-size:1.85rem}.booking-top{padding:25px 12px 15px}.service-grid{padding:6px 17px 22px}.service-choice{padding:17px 4px}.about-image{min-height:325px}.about-copy h2{font-size:2rem}.credentials-grid{grid-template-columns:1fr;gap:28px}.treatment-grid{gap:12px}.card-photo{height:130px}.treatment-body{padding:13px 10px 18px}.treatment-symbol{font-size:23px;margin-bottom:8px}.treatment-body h3{font-size:.87rem}.treatment-body p{font-size:.68rem;line-height:1.65}.audience-grid{grid-template-columns:1fr;gap:25px}.audience-card img{height:220px}.form-row{grid-template-columns:1fr;gap:0}.form-bottom{flex-direction:column;align-items:stretch}.contact{padding-left:26px;padding-right:26px}.contact-background,.contact-shade{inset:12px}.reviews-grid{grid-template-columns:1fr 1fr;gap:24px 16px}.info-grid{gap:24px 15px}.info-grid h3{font-size:.83rem}.info-grid a,.info-grid span:not(.info-icon){font-size:.7rem}.calendar-pick{padding:20px 14px}.day-labels,.date-grid{gap:3px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

[hidden]{display:none!important}

/* Personalizzazione Massimiliano Milesi */
:root{--green:#6fbe8a;--blue:#8fb39d;--blue-deep:#4f7a63;--blue-ink:#244536}
.brand{width:auto;min-width:218px;gap:11px}.brand img{width:43px;height:43px}.brand-copy{display:flex;flex-direction:column;font-size:12px;line-height:1.2;letter-spacing:-.01em;color:#fff;white-space:nowrap}.brand-copy strong{font-size:16px;line-height:1.4}.brand-copy small{font-size:8px;font-weight:800;letter-spacing:.18em;opacity:.8}.desktop-nav{gap:clamp(10px,1.2vw,21px)}.desktop-nav a{font-size:11px}.desktop-nav .nav-book{padding:9px 15px;background:#fff;color:var(--blue-ink);border-radius:22px}.hero{background:#547865}.hero-bg{position:absolute;inset:0;background:linear-gradient(115deg,#2f5441 12%,#5b876d 53%,#a9c7ae 100%)}.hero-bg::before{content:'';position:absolute;right:8%;top:12%;width:30%;height:76%;border:2px solid #fff5;border-radius:48% 48% 9% 9%;transform:rotate(12deg);box-shadow:28px 0 0 -2px #ffffff14,56px 0 0 -3px #ffffff0e}.hero-bg::after{content:'';position:absolute;right:5%;top:19%;width:58%;height:60%;background:repeating-linear-gradient(0deg,transparent 0 31px,#ffffff12 32px 33px),repeating-linear-gradient(90deg,transparent 0 32px,#ffffff12 33px 34px);mask-image:radial-gradient(circle at 75% 45%,black,transparent 75%)}.hero-shade{background:linear-gradient(90deg,#173526dc 0%,#1f4634c7 47%,#315d4435 100%)}.hero-content p{max-width:560px}.hero-subtitle{font-weight:700;letter-spacing:.02em;margin-bottom:10px!important}.hero-subtitle span{margin:0 7px;opacity:.7}.hero-photo-label{position:absolute;right:30px;bottom:24px;color:#ffffffb0;font-size:10px;letter-spacing:.06em;text-transform:uppercase}.hero .eyebrow{color:#d8f5df}.btn-green{background:#69b584}.btn-green:hover{background:#579f71}.photo-chip{background:#204131c9}.about-copy p{max-width:555px}.about-inner{grid-template-columns:1.1fr .9fr;gap:3vw}.about-copy{padding-top:80px;padding-bottom:80px}.about-image{height:660px}.about-image img,.how-image img{object-fit:cover}.credentials .feature-icon{width:25px;height:25px;background:#dce8df;display:grid;place-items:center;border-radius:50%;font-size:10px;font-weight:800}.credentials h3{font-size:.97rem}.credentials p{font-size:.77rem}.cta-strip .eyebrow{display:block;color:#6b9276}.cta-strip p{max-width:570px;margin-left:auto;margin-right:auto}.treatments{background:#f0f5f7}.new-card-art{position:relative}.new-card-art img{object-fit:cover}.card-photo-label{position:absolute;left:10px;bottom:10px;color:#fff;background:#12354780;font-weight:700;font-size:8px;letter-spacing:.07em;padding:4px 8px;border-radius:5px}.treatment-symbol{font-size:18px;border:1px solid #d7e6ed;display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;font-weight:700;margin:-12px auto 16px}.treatment-body p{font-size:.8rem}.tennis-section{padding:100px 0 95px;background:#fff}.tennis-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:65px;align-items:center}.tennis-copy h2{font-size:clamp(2.15rem,3.6vw,3.7rem);max-width:570px}.tennis-copy p{max-width:570px;color:#4e646d}.tennis-visual{height:570px;overflow:hidden;position:relative;border-radius:145px 12px 12px 12px;border-top:8px solid #b7cdbb;border-left:8px solid #b7cdbb;box-shadow:0 20px 60px #3655431a}.tennis-visual img{width:100%;height:100%;object-fit:cover}.tennis-points{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:55px}.tennis-points article{padding:24px 26px 16px;border-top:2px solid #b7cdbb;background:#f6f9f6}.tennis-points article>span{color:#628c71;letter-spacing:.1em;font-size:11px;font-weight:800}.tennis-points h3{font-size:1.05rem;margin-top:14px}.tennis-points p{font-size:.8rem;color:#5e737d;margin-bottom:0}.step-icon{font-size:12px;font-weight:800}.how-inner{min-height:620px}.how-image{min-height:620px}.locations{padding:105px 0;background:#fff}.locations-grid{max-width:900px;margin:auto}.location-placeholder{padding:55px;text-align:center;border:1px solid #d5e4eb;border-radius:16px;background:#f4f8f9}.location-icon{margin:0 auto 12px;font-size:40px;color:var(--blue-deep)}.location-placeholder h3{margin-bottom:10px}.location-placeholder p{max-width:490px;margin:0 auto 14px;color:#697b85;font-size:.86rem}.location-placeholder>span{display:inline-block;border:1px solid #cad8cc;border-radius:30px;padding:5px 14px;color:#5c7d67;font-size:10px;font-weight:800;letter-spacing:.06em}.location-card{border:1px solid #d5e4eb;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 10px 22px #16384c0a}.location-card .location-card-copy{padding:26px}.location-card h3{margin:0 0 10px}.location-card p{margin:0 0 14px;color:#596f79;font-size:13px}.location-card a{font-size:12px;color:var(--blue-deep);font-weight:800;text-decoration:underline}.locations-grid.has-locations{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;max-width:1100px}.google-reviews-placeholder{max-width:780px;margin:auto;display:flex;align-items:center;gap:25px;padding:30px;background:#fff;border-radius:15px;border:1px solid #e1e8ed}.google-mark{width:62px;height:62px;flex:none;border-radius:15px;display:grid;place-items:center;background:#edf4ef;color:#5d8767;font-size:35px;font-weight:800}.google-reviews-placeholder h3{margin:0 0 5px}.google-reviews-placeholder p{font-size:.8rem;color:#657681;margin:0}.google-reviews-placeholder a{font-size:.8rem;color:#3f6f54;text-decoration:underline}.contact-background{background-image:none;background:linear-gradient(112deg,#557764,#9db6a5)}.contact-shortcuts{display:flex;gap:10px;justify-content:center;align-items:center;margin-top:18px}.contact-shortcuts a{display:inline-block;border:1px solid #ffffffb5;border-radius:50px;padding:8px 17px;font-size:12px;font-weight:800}.contact-shortcuts>span{font-size:12px;color:#ecf3f7}.contact-form button:disabled{opacity:.58;cursor:not-allowed;box-shadow:none;transform:none}.info-footer{background:#8cad98}.info-grid a[href="#contatti"]{text-decoration:none;opacity:.8}.info-grid .info-icon{font-size:20px}
@media(max-width:1200px){.brand{min-width:196px}.desktop-nav{gap:9px}.desktop-nav a{font-size:10px}}
@media(max-width:1080px){.desktop-nav{display:none}.mobile-toggle{display:flex}}
@media(max-width:760px){.hero h1{font-size:clamp(2.8rem,8.5vw,4.5rem)}.hero-photo-label{right:20px;bottom:14px;font-size:8px}.about-inner,.tennis-inner{grid-template-columns:1fr}.about-image{height:400px}.tennis-section{padding:72px 0}.tennis-inner{gap:30px}.tennis-visual{height:410px;border-top-left-radius:100px}.tennis-points{grid-template-columns:1fr;gap:12px;margin-top:30px}.tennis-points article{padding:18px 22px}.how-inner,.how-image{min-height:auto}.how-image{min-height:400px}.locations{padding:75px 0}.location-placeholder{padding:34px 22px}.google-reviews-placeholder{padding:22px}.brand{min-width:unset}}
@media(max-width:480px){.hero h1{font-size:2.8rem}.hero-subtitle{font-size:.83rem!important}.hero-content p:not(.hero-subtitle){max-width:300px;font-size:.81rem}.brand-copy{font-size:10px}.brand-copy strong{font-size:13px}.brand img{width:39px;height:39px}.tennis-copy h2{font-size:2.2rem}.tennis-visual{height:320px}.google-reviews-placeholder{gap:15px}.google-mark{width:47px;height:47px;font-size:26px}.contact-shortcuts{flex-wrap:wrap}.about-image{height:340px}.new-card-art .card-photo-label{font-size:7px}}

/* V4: sezioni senza dati reali disattivate, anche se il CSS usa display esplicito. */
[hidden]{display:none!important}
.treatment-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:790px;margin-left:auto;margin-right:auto}
.how .steps h3{font-size:1rem;line-height:1.55;letter-spacing:0}
.site-footer .footer-inner{min-height:72px}
.contact-content:has(.contact-form[hidden]){display:flex;justify-content:center;align-items:center}
.contact-content:has(.contact-form[hidden]) .contact-intro{max-width:720px;width:100%}
@media(max-width:760px){.treatment-grid{grid-template-columns:1fr;max-width:400px}}

/* V6 — sezione Prima visita: colonne più equilibrate e testo leggibile. */
@media (min-width: 981px) {
  .how-inner {
    width: min(1320px, calc(100% - 80px));
    grid-template-columns: minmax(0, 1.04fr) minmax(0, 0.96fr);
    gap: clamp(36px, 4vw, 72px);
    align-items: center;
    min-height: 560px;
  }
  .how-copy {
    padding: 64px 0 64px 0;
    min-width: 0;
  }
  .how-copy h2 {
    max-width: 610px;
    font-size: clamp(2.2rem, 2.65vw, 2.9rem);
    line-height: 1.18;
    margin-bottom: 22px;
  }
  .how .steps {
    max-width: 590px;
    margin-top: 30px;
  }
  .how .steps li {
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 23px;
  }
  .how .steps h3 {
    font-size: 1rem;
    line-height: 1.6;
  }
  .how-image {
    min-height: 560px;
    height: 100%;
    border-bottom-left-radius: 125px;
  }
}
@media (min-width: 761px) and (max-width: 980px) {
  .how-inner {
    width: min(720px, calc(100% - 56px));
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
  .how-copy { padding: 58px 8px 46px; }
  .how-copy h2 { font-size: 2.4rem; max-width: none; }
  .how .steps { max-width: 640px; }
  .how-image { min-height: 470px; height: 470px; border-bottom-left-radius: 110px; }
}
@media (max-width: 760px) {
  .how-inner { width: 100%; grid-template-columns: minmax(0, 1fr); }
  .how-copy { padding: 54px 26px 42px; }
  .how-copy h2 { font-size: clamp(2rem, 6vw, 2.5rem); line-height: 1.22; }
  .how .steps { max-width: 600px; }
  .how .steps h3 { font-size: 0.96rem; line-height: 1.55; }
  .how-image { min-height: 360px; height: 360px; border-bottom-left-radius: 90px; }
}

/* V7 — Calendario Cal.com con consenso preventivo, stile verde. */
.booking-section{padding:92px 0 112px;background:#f4f8f4}
.booking-title{margin-bottom:40px}
.booking-wrap{max-width:1040px}
.booking-live{background:#fff;border:1px solid #dbe8de;border-radius:19px;box-shadow:0 18px 52px rgba(37,75,49,.07);min-height:unset}
.cal-consent{padding:70px 30px 66px;max-width:750px}
.calendar-gate-icon{color:#58856b;display:flex;justify-content:center;margin-bottom:20px}
.cal-consent h3{font-size:clamp(1.25rem,2.3vw,1.8rem);color:#26392f;line-height:1.35;max-width:580px;margin:0 auto 17px}
.cal-consent p{color:#617167;max-width:570px;margin:0 auto 25px;font-size:.9rem;line-height:1.85}
.cal-gate-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.cookie-policy-link{display:inline-block;margin-top:19px;color:#49765a;font-weight:700;text-decoration:underline;font-size:.77rem}
.booking-widget-footer{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;background:#f6faf6;border-top:1px solid #e4ede5;padding:15px 18px;color:#6a7b6d;font-size:.72rem}
.booking-widget-footer a,.booking-widget-footer button{color:#426f52;text-decoration:underline;font-weight:700;border:0;background:none;font-size:inherit;cursor:pointer;padding:0}
.cal-live-frame{width:100%;border:0;min-height:780px;display:block}
.calendar-unavailable{padding:28px clamp(18px,5vw,55px) 55px;max-width:860px;margin:0 auto}
.calendar-unavailable-heading{display:flex;align-items:center;gap:17px;padding:14px 0 25px;border-bottom:1px solid #e2ebe4}
.calendar-initials{display:grid;place-items:center;width:59px;height:59px;background:#e2eee5;color:#426c51;border-radius:50%;font-size:17px;font-weight:800;flex:none}
.calendar-unavailable-heading small{font-size:.63rem;font-weight:800;letter-spacing:.14em;color:#76957d}
.calendar-unavailable-heading h3{font-size:1.27rem;margin:5px 0 0;color:#213d2b}
.calendar-note{display:flex;gap:15px;align-items:flex-start;margin:26px auto;max-width:720px;border:1px solid #deeadf;background:#f6faf6;color:#486d53;border-radius:13px;padding:18px 20px}
.calendar-note>svg{flex:none;margin-top:2px}
.calendar-note strong{display:block;font-size:.9rem;line-height:1.4}
.calendar-note p{margin:5px 0 0;color:#5e7765;font-size:.78rem;line-height:1.7}
.calendar-month{max-width:545px;margin:30px auto 0}
.calendar-month-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;text-transform:capitalize;color:#314e3a}
.calendar-month-head button{width:38px;height:38px;border-radius:50%;background:#f3f7f3;border:1px solid #dce9de;font-size:23px;color:#3c6e4d}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;text-align:center}
.calendar-weekdays{color:#698272;font-size:.72rem;font-weight:800;padding-bottom:10px}
.calendar-days>span{display:grid;place-items:center;aspect-ratio:1;font-size:.85rem}
.calendar-disabled-day{border-radius:50%;background:#f5f8f5;color:#99a89c}
.cookie-banner{z-index:300;bottom:22px;left:50%;width:min(1040px,calc(100% - 28px));padding:20px 25px;border:1px solid #d0e1d5;box-shadow:0 16px 60px rgba(22,56,33,.2);border-radius:16px;background:white;align-items:center;gap:25px}
.cookie-banner-copy{max-width:590px}
.cookie-banner strong{font-size:.92rem;color:#213e2b}
.cookie-banner p{font-size:.79rem;color:#647569;line-height:1.65;margin:5px 0 0}
.cookie-banner a{color:#426b4e;text-decoration:underline;font-weight:700}
.cookie-actions{display:flex;gap:8px;flex:none}
.cookie-actions .btn{min-height:41px;font-size:.74rem;padding:8px 14px}
.btn-outline{color:#315c3f;border-color:#bfd5c5}
.cookie-modal{position:fixed;inset:0;background:rgba(11,31,18,.64);z-index:400;display:grid;place-items:center;padding:20px}
.cookie-modal[hidden]{display:none!important}
.cookie-modal-panel{width:min(550px,100%);max-height:calc(100vh - 40px);overflow:auto;background:white;border-radius:18px;padding:30px;box-shadow:0 24px 65px rgba(0,0,0,.24)}
.cookie-modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.cookie-modal-head h2{font-size:1.4rem;color:#244733;margin:0}
.cookie-modal-close{border:0;background:#f0f6f1;color:#43634d;width:37px;height:37px;border-radius:50%;font-size:24px;line-height:1}
.cookie-modal-panel>p{font-size:.84rem;color:#5e7064;margin:14px 0 22px}
.cookie-option{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #e1e9e3;padding:17px 0}
.cookie-option strong,.cookie-option small{display:block}
.cookie-option strong{color:#23452f;font-size:.85rem}
.cookie-option small{color:#65796a;font-size:.75rem;line-height:1.5;margin-top:5px}
.cookie-option input{width:19px;height:19px;flex:none;accent-color:#558d68}
.cookie-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}
.cookie-modal-actions .btn{padding:10px 16px;font-size:.74rem}
.cookie-modal-policy{font-size:.76rem;color:#476f55;text-decoration:underline;display:inline-block;margin-top:18px}
.cookie-dialog-open{overflow:hidden}
@media(max-width:760px){.booking-section{padding:62px 0 70px}.cal-consent{padding:50px 21px}.calendar-unavailable{padding:14px 14px 30px}.calendar-note{padding:13px 12px}.calendar-unavailable-heading h3{font-size:1.05rem}.cookie-banner{flex-direction:column;align-items:stretch;padding:18px;bottom:10px;gap:13px}.cookie-actions{justify-content:stretch;flex-wrap:wrap}.cookie-actions .btn{flex:1 1 auto}.cookie-modal-panel{padding:22px}.cookie-modal-actions{flex-wrap:wrap}.cookie-modal-actions .btn{flex:1 1 140px}.cal-gate-actions{flex-direction:column}.cal-gate-actions .btn{width:100%}.cal-live-frame{min-height:820px}}
@media(max-width:380px){.booking-widget-footer{gap:10px}.calendar-days,.calendar-weekdays{gap:2px}.cookie-banner{font-size:.75rem}}


/* V8: illustrazioni originali della serie selezionata, nessun testo nelle immagini. */
.hero-bg{
  background: url('assets/immagini/01_Home_Osteopatia.webp') center 48% / cover no-repeat;
}
.hero-bg::before,.hero-bg::after{content:none;display:none}
.hero-shade{
  background:linear-gradient(90deg,rgba(19,48,35,.78) 0%,rgba(26,61,42,.64) 38%,rgba(26,61,42,.13) 82%);
}
.about-image {background:#eef0e7}
.about-image img{object-position:50% 46%}
.treatment-card .card-photo {background:#f1f2ed}
.treatment-card .card-photo img {object-fit:cover;object-position:center}
.tennis-visual{background:#d6e6dd}
.tennis-visual img {object-position:55% center}
.how-image {background:#e6e8df}
.how-image img {object-position:50% center}
.contact-background{
  background: linear-gradient(95deg,rgba(30,60,39,.73),rgba(30,60,39,.2)),url('assets/immagini/10_Contatti_Studio.webp') center / cover no-repeat;
}
/* Il calendario è attivabile soltanto dopo aver dato il consenso esplicito. */
.cal-consent{padding:0;max-width:none;width:100%;text-align:left}
.cal-gate-layout{display:grid;grid-template-columns:38% minmax(0,1fr);align-items:stretch;min-height:362px}
.cal-gate-art{min-height:362px;overflow:hidden;background:#e7ede0}
.cal-gate-art img{width:100%;height:100%;object-fit:cover;object-position:52% center;display:block}
.cal-gate-info{padding:38px clamp(25px,3.6vw,57px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.cal-gate-info .calendar-gate-icon{justify-content:flex-start;margin-bottom:13px}
.cal-gate-info .calendar-gate-icon svg{width:39px;height:39px}
.cal-consent .cal-gate-info h3{margin:0 0 13px;max-width:480px;font-size:clamp(1.28rem,2.15vw,1.65rem)}
.cal-consent .cal-gate-info p{max-width:480px;margin:0 0 20px;font-size:.85rem;line-height:1.72}
.cal-gate-info .cal-gate-actions{justify-content:flex-start;gap:9px}
.cal-gate-info .cal-gate-actions .btn{font-size:.75rem;padding:10px 19px}
.cal-gate-info .cookie-policy-link{margin-top:12px}
@media(max-width:760px){
 .hero-bg{background-position:61% center}
 .hero-shade{background:linear-gradient(90deg,rgba(19,48,35,.82) 0%,rgba(26,61,42,.66) 62%,rgba(26,61,42,.32) 100%)}
 .cal-gate-layout{grid-template-columns:minmax(0,1fr)}
 .cal-gate-art{min-height:0;height:190px}
 .cal-gate-art img{object-position:center 55%}
 .cal-gate-info{padding:26px 24px 30px}
 .cal-gate-info .cal-gate-actions{width:100%;flex-direction:column}
 .cal-gate-info .cal-gate-actions .btn{width:100%}
}


/* V9 hero square + profile update */
.hero{height:auto;min-height:0;position:relative;overflow:visible;background:#fff;border:0;border-radius:0;padding:34px 0 22px}
.hero-shell{display:grid;grid-template-columns:1.04fr .96fr;gap:42px;align-items:center;width:min(1380px,calc(100% - 64px));margin:0 auto}
.hero-copy-block{background:linear-gradient(135deg,#eef3ee 0%,#f6f8f5 100%);border-left:8px solid var(--blue);border-bottom:8px solid var(--blue);border-bottom-left-radius:0;border-top-right-radius:145px;min-height:540px;display:flex;align-items:center}
.hero-content{padding:56px 58px 56px 58px;width:100%;color:var(--text)}
.hero .eyebrow{color:var(--blue-deep)}
.hero h1{margin:4px 0 14px;font-size:clamp(3rem,5.1vw,5rem);color:#1f262b;text-shadow:none;max-width:520px}
.hero-subtitle{color:#42505b;font-weight:700;letter-spacing:.02em;margin-bottom:14px!important}
.hero .btn{margin-top:18px}
.hero-visual{position:relative;background:#fff;border-top:8px solid var(--blue);border-left:8px solid var(--blue);border-top-left-radius:145px;overflow:hidden;aspect-ratio:1/1;min-height:540px;box-shadow:0 20px 40px rgba(36,69,54,.08)}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center}
.square-photo{overflow:hidden}
.about-image{background:#f4f5f2}
.about-image img{object-position:center top}
.how-image{background:#eef0e7}
.how-image img{object-position:center center}
@media(max-width:760px){.hero{padding:18px 0 12px}.hero-shell{grid-template-columns:1fr;gap:18px;width:calc(100% - 36px)}.hero-copy-block{min-height:auto;border-left:5px solid var(--blue);border-bottom:5px solid var(--blue);border-top-right-radius:88px}.hero-content{padding:36px 24px 38px}.hero h1{font-size:clamp(2.45rem,8.8vw,4rem);max-width:unset}.hero-visual{min-height:360px;border-top:5px solid var(--blue);border-left:5px solid var(--blue);border-top-left-radius:88px}}
@media(max-width:480px){.hero-shell{width:calc(100% - 28px)}.hero-content{padding:30px 20px 32px}.hero-subtitle{font-size:.84rem!important}.hero-visual{min-height:300px;border-top-left-radius:72px}}


/* V10: tennis image updated + squarer treatment cards */
.treatment-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:860px;margin-left:auto;margin-right:auto;gap:28px 28px}
.treatment-card{border-radius:14px}
.card-photo{height:auto;aspect-ratio:1 / 1;background:#eef2ee}
.card-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.treatment-body{padding:20px 18px 24px}
.treatment-body p{font-size:.79rem;line-height:1.75}
.tennis-visual img{object-position:center center}
@media(max-width:1050px){.treatment-grid{max-width:760px;gap:22px}.card-photo{aspect-ratio:1 / 1}}
@media(max-width:760px){.treatment-grid{grid-template-columns:1fr;max-width:430px;gap:18px}.card-photo{aspect-ratio:1 / 1}}
@media(max-width:480px){.treatment-grid{max-width:100%}.card-photo{aspect-ratio:1 / 1}.treatment-body{padding:16px 14px 20px}}


/* V12 — Header essenziale e Chi sono allineato alla sezione tennis */
.site-header .brand{width:auto;min-width:0;display:inline-flex;align-items:center;gap:0;flex-shrink:0}
.site-header .brand-name{display:block;color:#fff;font-size:16px;font-weight:800;line-height:1.2;letter-spacing:-.015em;white-space:nowrap}
.about{padding:100px 0 95px;overflow:hidden;background:#fff}
.about .about-inner{width:min(1150px,calc(100% - 64px));margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:65px;align-items:center;min-height:0}
.about .about-copy{padding:0;max-width:none;min-width:0}
.about .about-copy h2{font-size:clamp(2.15rem,3.6vw,3.7rem);margin-bottom:24px}
.about .about-copy p{max-width:570px;color:#4e6460;font-size:15px;line-height:1.8}
.about .about-image{width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:1 / 1;border-radius:145px 12px 12px 12px;border:0;border-top:8px solid #b7cdbb;border-left:8px solid #b7cdbb;box-shadow:0 20px 60px #3655431a;overflow:hidden;background:#f6f8f5;margin:0}
.about .about-image img{width:100%;height:100%;inset:0;object-fit:cover;object-position:center center}
@media(max-width:1080px){.site-header .brand-name{font-size:15px}}
@media(max-width:760px){
 .site-header .brand-name{font-size:15px}
 .about{padding:72px 0}
 .about .about-inner{grid-template-columns:1fr;gap:30px;width:calc(100% - 36px)}
 .about .about-copy{padding:0}
 .about .about-copy h2{font-size:clamp(2rem,6vw,2.5rem)}
 .about .about-copy p{max-width:none;font-size:14px;line-height:1.78}
 .about .about-image{min-height:0;height:auto;aspect-ratio:1 / 1;border-radius:100px 12px 12px 12px;border-top-width:6px;border-left-width:6px}
}
@media(max-width:480px){
 .site-header .brand-name{font-size:14px}
 .about{padding:60px 0}
 .about .about-inner{width:calc(100% - 28px)}
 .about .about-image{border-radius:78px 10px 10px 10px}
}

/* V13 — ritratto aggiornato, intero cerchio visibile nella cornice quadrata. */
.about .about-image{background:#fff}
.about .about-image img{object-fit:contain;object-position:center center}


/* V14: recensioni Google, due card + immagine 07_Benefici_Benessere */
.reviews{padding:92px 0 105px;background:#f0f5f1}
.reviews .section-heading{margin-bottom:36px}
.milesi-reviews-layout{width:min(1090px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);gap:35px;align-items:stretch}
.milesi-reviews-image{border-radius:96px 12px 12px 12px;overflow:hidden;background:#d4dace;box-shadow:0 15px 42px rgba(23,63,37,.08);min-height:475px}
.milesi-reviews-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.milesi-review-column{display:flex;flex-direction:column;min-width:0;gap:14px}
.milesi-reviews-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:2px}
.reviews-source{display:inline-flex;align-items:center;gap:9px;color:#486a53;font-size:.78rem;font-weight:800}
.g-letter{display:inline-grid;place-items:center;border-radius:50%;width:30px;height:30px;color:#4285f4;background:#fff;font-size:19px;font-weight:800;box-shadow:0 1px 8px #1735200e}
.google-summary{color:#597562;font-size:.76rem;font-weight:700}
.milesi-reviews-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;flex:1}
.milesi-review-card{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:13px;padding:24px 22px;border:1px solid #e0e8e0;border-radius:15px;background:#fff;box-shadow:0 7px 24px #20412a09}
.review-quote-mark{font-family:Georgia,serif;font-size:3.5rem;line-height:.65;color:#8eae96;height:24px;user-select:none}
.milesi-review-card p{color:#46544b;font-size:.84rem;line-height:1.76;flex:1;margin:0;overflow-wrap:anywhere}
.milesi-review-card a{color:#416c50;font-size:.75rem;font-weight:800;text-decoration:underline;text-underline-offset:4px}
.milesi-review-card .review-stars{color:#b88a2a;font-size:1rem;letter-spacing:2px;margin-top:3px}
.milesi-review-card .review-author{display:flex;align-items:center;gap:8px;font-size:.79rem;font-weight:800;color:#2e4736;margin-top:6px;min-width:0}
.milesi-review-card .review-author img{height:28px;width:28px;object-fit:cover;border-radius:50%;flex:none}
.milesi-review-card .review-date{font-size:.73rem;color:#829386}
.milesi-google-button{align-self:flex-start;margin-top:6px;min-height:42px;font-size:.76rem;padding:9px 21px}
@media(max-width:900px){.milesi-reviews-layout{grid-template-columns:1fr;gap:23px;max-width:650px}.milesi-reviews-image{min-height:0;aspect-ratio:16 / 9;border-radius:85px 12px 12px 12px}.milesi-review-card{min-height:225px}}
@media(max-width:560px){.reviews{padding:65px 0 72px}.milesi-reviews-image{aspect-ratio:1.45 / 1;border-radius:66px 9px 9px 9px}.milesi-reviews-cards{grid-template-columns:1fr;gap:13px}.milesi-review-card{min-height:0;padding:22px 20px}.milesi-google-button{align-self:stretch}.milesi-reviews-heading{flex-wrap:wrap}}

/* V16 — layout responsive del sito, senza pagine mobile separate. */
html { -webkit-text-size-adjust: 100%; }
body { overflow-x: clip; }
main, section, .hero-shell, .hero-copy-block, .hero-visual,
.about-inner, .about-copy, .about-image, .tennis-inner, .tennis-copy,
.tennis-visual, .how-inner, .how-copy, .how-image, .booking-wrap,
.booking-live, .milesi-reviews-layout, .milesi-review-column,
.treatment-grid, .treatment-card { min-width: 0; }
img, svg, video, iframe { max-width: 100%; }
.site-header { isolation: isolate; }
.mobile-toggle { min-width: 44px; min-height: 44px; justify-content: space-around; }
.mobile-toggle span { border-radius: 2px; }
:focus-visible { outline: 3px solid #2f7546; outline-offset: 3px; }

@media (max-width: 1080px) {
  .header-inner { min-height: 64px; }
  .mobile-nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 101;
    max-height: calc(100dvh - 64px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 10px max(18px, env(safe-area-inset-left)) 18px max(18px, env(safe-area-inset-right));
    box-shadow: 0 12px 22px rgba(20, 55, 33, .18);
  }
  .mobile-nav a {
    display: flex;
    align-items: center;
    min-height: 48px;
    font-size: .92rem;
    line-height: 1.4;
    padding: 12px 9px;
  }
  .mobile-nav .mobile-book { font-weight: 800; color: #fff; }
}

@media (max-width: 980px) {
  .container, .container-wide { width: min(720px, calc(100% - 44px)); }
  .hero { padding: 24px 0 30px; }
  .hero-shell { grid-template-columns: minmax(0, 1fr); width: min(720px, calc(100% - 44px)); gap: 22px; }
  .hero-copy-block { min-height: 0; border-top-right-radius: 110px; }
  .hero-content { min-height: 340px; padding: 46px 42px; }
  .hero h1 { font-size: clamp(2.8rem, 7vw, 4.7rem); max-width: 620px; overflow-wrap: break-word; }
  .hero-visual { min-height: 0; aspect-ratio: 1 / 1; border-top-left-radius: 110px; }
  .about { padding: 78px 0; }
  .about .about-inner, .tennis-inner {
    width: min(720px, calc(100% - 44px));
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
  }
  .about .about-copy { padding: 0; }
  .about .about-copy p { max-width: 720px; }
  .about .about-image {
    width: min(100%, 600px);
    justify-self: center;
    height: auto;
    min-height: 0;
    aspect-ratio: 1 / 1;
  }
  .tennis-section { padding: 76px 0; }
  .tennis-visual {
    width: min(100%, 600px);
    height: auto;
    min-height: 0;
    aspect-ratio: 1 / 1;
    justify-self: center;
  }
  .credentials-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
  .how-inner { width: min(720px, calc(100% - 44px)); grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .how-copy { min-width: 0; padding: 46px 0 12px; }
  .how-copy h2 { max-width: none; }
  .how-image { width: 100%; min-height: 0; height: auto; aspect-ratio: 1 / 1; }
  .milesi-reviews-layout { width: min(720px, 100%); }
}

@media (max-width: 760px) {
  .container, .container-wide { width: calc(100% - 32px); }
  .site-header .brand-name { font-size: 15px; }
  .header-inner { min-height: 62px; gap: 12px; }
  .mobile-nav { max-height: calc(100dvh - 62px); }
  .hero { padding: 17px 0 24px; }
  .hero-shell { width: calc(100% - 32px); gap: 17px; }
  .hero-copy-block { min-height: 0; border-top-right-radius: 80px; border-left-width: 5px; border-bottom-width: 5px; }
  .hero-content { min-height: 0; padding: 38px 27px 40px; }
  .hero h1 { font-size: clamp(2.45rem, 9.8vw, 3.9rem); line-height: 1.1; max-width: 100%; }
  .hero .eyebrow { font-size: .67rem; letter-spacing: .13em; }
  .hero .hero-subtitle { color: #42505b; font-size: .88rem; line-height: 1.6; }
  .hero-visual { min-height: 0; border-top-width: 5px; border-left-width: 5px; border-top-left-radius: 80px; }
  .booking-section { padding: 60px 0 72px; }
  .booking-title { margin-bottom: 28px; padding: 0 16px; }
  .booking-wrap { width: calc(100% - 28px); }
  .booking-live { border-radius: 14px; }
  .cal-gate-layout { display: grid; grid-template-columns: minmax(0, 1fr); }
  .cal-gate-art { height: 210px; min-height: 0; }
  .cal-gate-info { padding: 27px 22px 30px; }
  .cal-consent .cal-gate-info h3 { font-size: 1.32rem; line-height: 1.38; }
  .cal-consent .cal-gate-info p { font-size: .87rem; }
  .cal-gate-actions { width: 100%; }
  .cal-gate-actions .btn { width: 100%; min-height: 47px; white-space: normal; }
  .calendar-unavailable { padding: 18px 15px 25px; }
  .calendar-unavailable-heading { gap: 12px; }
  .calendar-initials { width: 50px; height: 50px; }
  .calendar-month { width: 100%; margin-top: 18px; }
  .calendar-weekdays, .calendar-days { gap: 4px; }
  .calendar-days > span { font-size: .81rem; }
  .booking-widget-footer { padding: 17px; gap: 8px 14px; text-align: center; }
  #cal-inline { max-width: 100%; overflow: hidden; }
  .cal-live-frame { width: 100%; display: block; min-height: 850px; }
  .about { padding: 65px 0; }
  .about .about-inner, .tennis-inner { width: calc(100% - 32px); gap: 27px; }
  .about .about-copy p { font-size: .92rem; line-height: 1.76; }
  .about .about-image { width: 100%; aspect-ratio: 1 / 1; border-radius: 85px 10px 10px 10px; }
  .credentials { padding: 55px 0 60px; }
  .credentials-grid { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .credentials h3 { font-size: 1rem; }
  .credentials p { font-size: .87rem; }
  .treatments { border-top-left-radius: 72px; padding: 72px 0; }
  .treatment-grid { width: 100%; max-width: 480px; grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .treatment-card { border-radius: 15px; }
  .treatment-card .card-photo { height: auto; aspect-ratio: 1 / 1; }
  .treatment-body { padding: 20px 20px 27px; }
  .treatment-body h3 { font-size: 1.12rem; }
  .treatment-body p { font-size: .92rem; line-height: 1.73; }
  .treatment-symbol { font-size: 15px; margin-top: -15px; }
  .tennis-section { padding: 68px 0; }
  .tennis-copy h2 { font-size: clamp(2.15rem, 7.2vw, 3rem); }
  .tennis-copy p { font-size: .92rem; line-height: 1.78; }
  .tennis-visual { width: 100%; height: auto; aspect-ratio: 1 / 1; border-top-left-radius: 85px; border-top-width: 6px; border-left-width: 6px; }
  .how-inner { width: calc(100% - 32px); gap: 25px; }
  .how-copy { padding: 43px 0 0; }
  .how-copy h2 { font-size: clamp(2rem, 7vw, 2.7rem); }
  .steps { margin-top: 24px; }
  .how .steps li { gap: 13px; margin-bottom: 18px; }
  .how .steps h3 { font-size: .95rem; line-height: 1.65; }
  .how-image { width: 100%; min-height: 0; height: auto; aspect-ratio: 1 / 1; border-bottom-left-radius: 85px; }
  .reviews { padding: 67px 0 78px; }
  .milesi-reviews-layout { width: 100%; grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .milesi-reviews-image { width: 100%; min-height: 0; aspect-ratio: 1 / 1; border-radius: 80px 10px 10px 10px; }
  .milesi-reviews-image img { object-position: center center; }
  .milesi-reviews-cards { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .milesi-review-card { padding: 23px 20px; min-height: 0; }
  .milesi-review-card p { font-size: .89rem; }
  .milesi-google-button { width: 100%; }
  .cookie-banner {
    width: calc(100% - 20px);
    bottom: max(10px, env(safe-area-inset-bottom));
    max-height: min(72dvh, 580px);
    overflow-y: auto;
    border-radius: 15px;
    padding: 17px;
  }
  .cookie-actions { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .cookie-actions .btn { min-height: 46px; width: 100%; }
  #accept-cookies { grid-column: 1 / -1; }
  .cookie-modal { padding: max(10px, env(safe-area-inset-top)) 10px max(10px, env(safe-area-inset-bottom)); }
  .cookie-modal-panel { max-height: 90dvh; padding: 20px 18px; }
  .cookie-option { gap: 12px; }
  .cookie-modal-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .cookie-modal-actions .btn { width: 100%; }
  .footer-inner { gap: 10px; text-align: center; }
  .footer-links { justify-content: center; flex-wrap: wrap; }
}
@media (max-width: 380px) {
  .hero-shell, .about .about-inner, .tennis-inner, .how-inner { width: calc(100% - 24px); }
  .hero-content { padding: 31px 20px 33px; }
  .hero h1 { font-size: clamp(2.15rem, 10vw, 2.55rem); }
  .hero .eyebrow { font-size: .62rem; }
  .treatment-body { padding: 18px 17px 24px; }
  .booking-wrap { width: calc(100% - 20px); }
  .cal-gate-info { padding: 23px 17px 26px; }
  .calendar-weekdays, .calendar-days { gap: 2px; }
  .calendar-days > span { font-size: .75rem; }
}

/* Desktop compatto: la fotografia non può allargare la griglia oltre il viewport. */
@media (min-width: 981px) and (max-width: 1190px) {
  .hero-shell { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(20px, 3vw, 36px); }
  .hero-copy-block { min-height: 0; }
  .hero-content { min-height: 0; padding: 38px 34px; }
  .hero h1 { font-size: clamp(2.7rem, 4.5vw, 4.3rem); }
  .hero-visual { min-height: 0; width: 100%; aspect-ratio: 1 / 1; }
}
