:root{--ink:#1a313e;--deep:#101e27;--accent:#508db2;--blue:#357ba6;--paper:#f5f7f9;--muted:#61727d;--line:#dce3e8;--hero-progress:0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:#fff;font:400 17px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.055em;line-height:1.04;font-weight:700}h1{font-size:clamp(4rem,7.7vw,7.6rem)}h2{font-size:clamp(2.8rem,5.8vw,5.5rem)}h3{font-size:clamp(1.8rem,2.5vw,2.7rem)}em{font-style:normal}.wrap{width:min(1240px,calc(100% - 96px));margin:auto}.section{padding:140px 0}.eyebrow,.service-tag,.panel-kicker,.footer-label{font-size:.88rem;letter-spacing:.06em;font-weight:600;color:var(--muted)}.accent{color:var(--accent)}.site-header{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;min-height:74px;padding:12px max(32px,calc((100vw - 1240px)/2));background:rgba(255,255,255,.88);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-bottom:1px solid rgba(26,49,62,.1)}.site-header:after{content:"";position:absolute;bottom:-1px;left:0;height:2px;width:100%;background:var(--accent);transform:scaleX(var(--page-progress,0));transform-origin:left}.wordmark{display:block;line-height:0}.wordmark img{width:178px;height:auto}.site-header nav{display:flex;gap:30px;align-items:center;font-size:.88rem}.site-header nav a{transition:color .2s}.site-header nav a:hover{color:var(--blue)}.nav-cta{background:var(--blue);color:#fff;border-radius:30px;padding:9px 18px}.site-header nav .nav-cta:hover{color:white;background:#296c95}.nav-cta span{margin-left:6px}.menu-button{display:none;border:0;background:transparent;color:var(--ink);padding:10px}.hero{height:145svh;min-height:900px;background:#fff;position:relative}.hero-stage{height:calc(100svh - 74px);min-height:670px;position:sticky;top:74px;overflow:hidden}.hero-content{position:relative;z-index:3;text-align:center;padding-top:42px;transform:translateY(calc(var(--hero-progress) * -65px));opacity:calc(1 - var(--hero-progress) * 1.35)}.hero-content .eyebrow{margin-bottom:14px;font-size:.8rem;letter-spacing:.12em}.hero-content h1{margin:0 0 18px;line-height:.99}.hero-content h1 span{color:var(--accent)}.hero-content>p:not(.eyebrow){font-size:1.14rem;font-weight:500;color:var(--muted);margin:0 0 22px}.button{display:inline-flex;gap:22px;align-items:center;background:var(--blue);color:white;padding:13px 25px;border-radius:40px;font-size:1rem;font-weight:500;transition:background .25s,transform .25s}.button:hover{background:#296c95;transform:translateY(-2px)}.hero-media{position:absolute;bottom:0;left:50%;width:min(1120px,90%);height:calc(43% + var(--hero-progress) * 53%);border-radius:30px 30px 0 0;overflow:hidden;transform:translateX(-50%) scale(calc(1 + var(--hero-progress) * .2));transform-origin:center bottom;background:var(--deep)}.hero-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center 40%;transform:scale(calc(1.02 + var(--hero-progress) * .16));will-change:transform}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,30,39,.55),transparent 65%)}.hero-caption{position:absolute;left:6%;top:50%;margin:0;transform:translateY(-50%);font-size:clamp(1.6rem,3vw,3rem);line-height:1.08;font-weight:600;letter-spacing:-.04em;color:#fff;opacity:calc(.5 + var(--hero-progress) * .5)}.hero-caption strong{color:#95c7e5}.hero-index{position:absolute;right:30px;top:48%;font-size:.67rem;letter-spacing:.11em;color:var(--muted);writing-mode:vertical-rl}.hero-index span{margin-top:12px}.ribbon{display:flex;align-items:center;justify-content:center;gap:70px;padding:36px 40px;background:#fff;border-bottom:1px solid var(--line);font-size:.73rem;font-weight:600;letter-spacing:.08em}.partner-logo{height:48px;width:160px;display:flex;align-items:center;justify-content:center}.partner-logo img{max-width:100%;max-height:100%;object-fit:contain}.partner-logo.zeiss-logo{width:48px}.partner-logo.nuance-logo{width:170px}.intro{text-align:center;max-width:1050px}.intro h2{margin:20px 0 40px}.intro-copy{max-width:780px;margin:auto;color:var(--muted);font-size:1.4rem;font-weight:500;letter-spacing:-.025em;line-height:1.45}.intro-copy strong{color:var(--ink)}.intro-copy p+p{font-size:1.05rem;line-height:1.6;font-weight:400;letter-spacing:0;max-width:650px;margin:24px auto 0}.services{background:var(--paper)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:65px}.section-heading h2{margin:20px 0 0}.section-heading>p{max-width:300px;color:var(--muted);margin:0 0 6px;flex-shrink:0;font-size:1rem}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.service-card{min-height:500px;position:relative;overflow:hidden;background:white;border-radius:28px;padding:35px 30px;display:flex;flex-direction:column;box-shadow:0 8px 40px rgba(26,49,62,.025);transition:transform .5s,box-shadow .5s}.service-card:hover{transform:translateY(-7px);box-shadow:0 18px 40px rgba(26,49,62,.09)}.service-card.featured{background:var(--ink);color:#fff}.service-card.audio{background:#e3edf4}.service-no{font-size:.86rem;color:var(--accent);font-weight:600;margin-bottom:48px}.service-tag{font-size:.72rem;letter-spacing:.08em;margin-bottom:12px}.featured .service-tag{color:#9cc7e0}.service-card h3{margin-bottom:22px}.service-card p:not(.service-tag){font-size:1rem;color:var(--muted);margin-bottom:35px}.featured p:not(.service-tag){color:#bbccd6}.card-logo{margin-top:auto;display:flex;align-items:center;justify-content:center;background:white;border-radius:15px;padding:24px;min-height:92px}.card-logo img{max-width:100%;max-height:50px;object-fit:contain}.zeiss-card{background:transparent;justify-content:start;padding:0}.zeiss-card img{max-height:76px}.statement{min-height:860px;display:flex;align-items:center;text-align:center;background:radial-gradient(ellipse at 50% 100%,#224b64 0%,#132733 38%,#0c1720 75%);color:#fff;overflow:hidden;position:relative}.statement-inner{position:relative;z-index:2}.statement-logo{display:block;width:230px;max-width:70%;height:auto;margin:0 auto 60px;background:white;border-radius:30px;padding:14px 21px}.statement h2{font-size:clamp(3.5rem,7.4vw,7rem);margin-bottom:38px}.statement-highlight{color:#8bbddb}.statement p{color:#b4c6d2;font-size:1.25rem;max-width:580px;margin:0 auto 22px}.text-link{display:inline-flex;align-items:center;gap:24px;color:#92c9ea;font-size:1.1rem;font-weight:500}.text-link:hover{text-decoration:underline}.brands .section-heading{margin-bottom:65px}.brand-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.brand-list>span{min-height:120px;border:1px solid #edf0f2;border-radius:18px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:24px 18px;text-align:center;font-family:Georgia,serif;font-size:1.05rem;background:#fff;transition:transform .3s,background .3s}.brand-list>span:hover{background:#f6f9fb;transform:scale(1.035)}.brand-logo{display:block;max-width:95%;max-height:42px;width:auto;height:auto;object-fit:contain}.brand-list small{font:500 .72rem/1.3 Arial,sans-serif;margin-top:9px;color:var(--muted)}.tommy-icon{width:40px;height:24px;object-fit:contain;margin-bottom:9px}.tommy-brand b{font:600 .68rem/1.3 Arial,sans-serif;letter-spacing:.02em;text-transform:uppercase}.brand-note{font-size:.85rem;color:var(--muted);margin:24px 0 0}.benefit{background:#e9f2f7;padding:95px 0}.benefit-inner{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:12%}.benefit h2{font-size:clamp(2.7rem,4.5vw,4.4rem);margin:18px 0 0}.benefit-inner>div:last-child{max-width:370px}.benefit-name{font-weight:700;color:var(--blue);font-size:1.15rem;letter-spacing:.08em;display:block;margin-top:26px}.appointment{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;align-items:start}.appointment h2{font-size:clamp(2.8rem,4.6vw,4.4rem);margin-bottom:32px}.appointment-copy>p:not(.eyebrow){color:var(--muted);max-width:440px}.appointment-panel{background:var(--paper);padding:38px;border-radius:28px}.appointment-panel h3{font-size:1.9rem;line-height:1.15;margin:14px 0 30px}.booking-options{display:grid;gap:12px}.booking-options button{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;gap:20px;background:#fff;border:1px solid #e1e8ed;border-radius:14px;padding:18px;color:var(--ink);font-size:.94rem;font-weight:500;cursor:pointer;transition:border-color .25s,background .25s,transform .25s}.booking-options button:hover{transform:translateX(3px);border-color:var(--accent)}.booking-options button.selected{background:#e4f0f7;border-color:var(--accent)}.booking-options button span{color:var(--blue)}.booking-message{font-size:.9rem;color:var(--muted);margin-top:22px;min-height:54px}.panel-footnote{font-size:.8rem;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin:15px 0 0}footer{background:#f3f5f7;padding:65px 0 24px;color:var(--muted)}.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr;gap:45px;font-size:.9rem}.footer-main>div:first-child p{max-width:290px;margin-top:22px}.footer-main>div:not(:first-child){display:flex;align-items:start;flex-direction:column;gap:10px}.footer-label{color:var(--ink);font-size:.75rem}.footer-main a:hover{color:var(--blue)}.footer-bottom{border-top:1px solid var(--line);margin-top:65px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:.76rem}.reveal-ready [data-reveal]{opacity:0;transform:translateY(36px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.3,1);transition-delay:var(--reveal-delay,0ms)}.reveal-ready [data-reveal].is-visible{opacity:1;transform:translateY(0)}
@media(min-width:1500px){.hero-stage{max-height:1150px}.hero-content{padding-top:70px}.hero-media{height:calc(46% + var(--hero-progress) * 50%)}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.site-header nav{gap:18px}.service-grid{gap:16px}.service-card{padding:28px 24px;min-height:500px}.section-heading{display:block}.section-heading>p{max-width:600px;margin-top:25px}.brand-list{grid-template-columns:repeat(3,minmax(0,1fr))}.ribbon{gap:32px}.ribbon>span{display:none}.hero{min-height:1050px}.hero-stage{min-height:730px}.hero-content{padding-top:52px}.hero-media{height:calc(44% + var(--hero-progress) * 52%)}}
@media(max-width:680px){body{font-size:16px}.wrap{width:calc(100% - 40px)}.section{padding:90px 0}.site-header{min-height:66px;padding:12px 20px}.wordmark img{width:150px}.menu-button{display:block;font-size:.88rem}.site-header nav{display:none;position:absolute;top:66px;left:0;right:0;background:rgba(255,255,255,.98);padding:24px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line);gap:20px}.site-header nav.open{display:flex}.nav-cta{text-align:center}.hero{height:130svh;min-height:900px}.hero-stage{top:66px;height:calc(100svh - 66px);min-height:670px}.hero-content{padding-top:35px}.hero-content h1{font-size:clamp(2.8rem,11.5vw,4.4rem);letter-spacing:-.055em;line-height:1.03}.hero-content>p:not(.eyebrow){font-size:1rem;max-width:285px;margin:20px auto}.hero-content .eyebrow{font-size:.68rem}.button{font-size:.92rem;padding:12px 20px}.hero-media{height:calc(44% + var(--hero-progress) * 52%);width:calc(100% - 28px);border-radius:24px 24px 0 0}.hero-photo{object-position:58% center}.hero-overlay{background:linear-gradient(90deg,rgba(16,30,39,.65),transparent 90%)}.hero-caption{font-size:1.7rem;left:7%;top:auto;bottom:22px;transform:none}.hero-index{display:none}.ribbon{gap:25px;padding:25px 20px;justify-content:space-between;flex-wrap:wrap}.partner-logo{width:110px;height:35px}.partner-logo.zeiss-logo{width:35px}.partner-logo.nuance-logo{width:110px}.intro-copy{font-size:1.25rem}.intro-copy p+p{font-size:1rem}.intro h2{font-size:2.7rem}.section-heading{margin-bottom:38px}.section-heading h2{font-size:2.7rem}.service-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding:0 0 20px;scrollbar-color:var(--accent) transparent;scrollbar-width:thin}.service-card{flex:0 0 88%;scroll-snap-align:center;min-height:460px}.service-card h3{font-size:2.2rem}.service-no{margin-bottom:40px}.statement{min-height:680px}.statement h2{font-size:clamp(2.6rem,10.5vw,4rem);line-height:1.06}.statement p{font-size:1.05rem}.statement-logo{width:195px;margin-bottom:45px}.brand-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.brand-list>span{min-height:105px;padding:20px 14px;font-size:1rem}.brand-logo{max-height:36px}.benefit{padding:75px 0}.benefit-inner,.appointment{grid-template-columns:1fr;gap:35px}.benefit-inner>div:last-child{max-width:none}.appointment-panel{padding:26px}.appointment h2{font-size:2.7rem}.footer-main{grid-template-columns:1fr 1fr;gap:30px}.footer-main>div:first-child{grid-column:span 2}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero{height:auto;min-height:0}.hero-stage{position:relative;top:0}.hero-content,.hero-photo{transform:none;opacity:1}.hero-media{transform:translateX(-50%)}.hero-caption{opacity:1}.reveal-ready [data-reveal]{opacity:1;transform:none}.service-card:hover,.brand-list>span:hover{transform:none}}

/* Videocentratura Hoya */
.centering{background:#eaf1f5}.centering-grid{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:8%;align-items:center}.centering-media{border-radius:30px;overflow:hidden;box-shadow:0 30px 65px rgba(18,49,68,.13)}.centering-media img{display:block;width:100%;height:auto}.centering-copy h2{margin:20px 0 30px}.centering-copy p:not(.eyebrow){max-width:480px;color:var(--muted);font-size:1.15rem}.centering-copy .text-link{color:var(--blue);margin-top:22px}.partner-logo img[src$="hoya-center-specializzato.webp"]{max-height:48px}.card-logo img[src$="hoya-center-specializzato.webp"]{max-height:72px}.service-card.featured .card-logo{max-width:130px;margin-left:auto;margin-right:auto;padding:10px;background:#f4f6f8}@media(max-width:800px){.centering-grid{grid-template-columns:1fr;gap:42px}.centering-media{max-width:600px;margin:auto}.centering-copy{order:-1}}

.partner-logo:has(img[src$="hoya-center-specializzato.svg"]){width:70px;height:64px}.partner-logo img[src$="hoya-center-specializzato.svg"]{max-height:64px}.card-logo img[src$="hoya-center-specializzato.svg"]{max-height:74px}@media(max-width:680px){.partner-logo:has(img[src$="hoya-center-specializzato.svg"]){width:52px;height:48px}.partner-logo img[src$="hoya-center-specializzato.svg"]{max-height:48px}}

/* Apertura dedicata alla videocentratura */
.hero{background:linear-gradient(115deg,#f7fafc 15%,#e7f1f6 100%);height:125svh;min-height:820px}.hero-stage{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:5%;padding:32px max(48px,calc((100vw - 1240px)/2));height:calc(100svh - 74px);min-height:680px}.hero-content{width:auto;margin:0;text-align:left;padding:0;align-self:center;transform:translateY(calc(var(--hero-progress) * -35px));opacity:calc(1 - var(--hero-progress) * .85)}.hero-content h1{font-size:clamp(3.7rem,6vw,6.4rem);line-height:1.04;max-width:720px}.hero-content>p:not(.eyebrow){max-width:510px;font-size:1.2rem;line-height:1.45;margin:25px 0 31px}.hero-media{position:relative;left:auto;bottom:auto;justify-self:center;width:min(100%,500px);height:min(70svh,650px);max-height:calc(100% - 50px);border-radius:30px;transform:scale(calc(1 + var(--hero-progress) * .09));box-shadow:0 32px 70px rgba(26,49,62,.16);background:#eef3f6}.hero-photo{object-fit:contain;object-position:center;transform:none}.hero-index{top:auto;bottom:25px;right:35px;writing-mode:horizontal-tb}.hero-index span{margin-left:8px}.ribbon{position:relative;z-index:1}@media(max-width:1050px){.hero-stage{padding:30px 32px;gap:3%}.hero-content h1{font-size:clamp(3.1rem,6vw,5.5rem)}.hero-media{height:min(64svh,620px)}}@media(max-width:680px){.hero{height:120svh;min-height:790px}.hero-stage{top:66px;height:calc(100svh - 66px);min-height:680px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:20px;padding:22px 20px 30px}.hero-content{width:100%;margin:0;align-self:auto;text-align:left;padding:0}.hero-content h1{font-size:clamp(2.65rem,10.4vw,4.5rem);line-height:1.02}.hero-content>p:not(.eyebrow){max-width:440px;font-size:.96rem;margin:16px 0 18px}.hero-media{left:auto;bottom:auto;width:min(100%,390px);height:auto;min-height:0;max-height:none;aspect-ratio:1122/1402;align-self:center;border-radius:22px;transform:scale(calc(1 + var(--hero-progress) * .04));box-shadow:0 14px 35px rgba(26,49,62,.13)}.hero-photo{object-fit:contain}.hero-index{display:none}}@media(max-width:400px){.hero-content h1{font-size:2.55rem}.hero-media{width:min(78vw,310px)}}@media(prefers-reduced-motion:reduce){.hero{height:auto;min-height:0}.hero-stage{position:relative;top:0;min-height:0;height:auto}.hero-content,.hero-media{transform:none;opacity:1}}
@media(max-width:680px){.hero-media{height:min(48svh,440px);aspect-ratio:auto}.hero-photo{object-fit:contain}}
/* Agenda pubblica collegata a DS Ottica Flow */
.locations{background:#f5f8fa}.locations .section-heading{align-items:end}.location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.location-card{overflow:hidden;background:#fff;border:1px solid #dce7ed;border-radius:26px;box-shadow:0 18px 50px rgba(26,49,62,.05)}.location-detail{padding:32px 34px 28px}.location-number{display:block;color:var(--blue);font-size:.78rem;font-weight:700;letter-spacing:.12em}.location-detail h3{font-size:2.5rem;margin:13px 0 10px}.location-detail p{color:var(--muted);line-height:1.55;margin-bottom:22px}.location-directions{display:inline-flex;align-items:center;gap:18px;color:var(--blue);font-weight:600;border-bottom:1px solid currentColor;padding-bottom:3px}.location-directions:hover{color:#194e6e}.location-card iframe{display:block;width:100%;height:315px;border:0;background:#e8f0f4}@media(max-width:760px){.location-grid{grid-template-columns:1fr}.location-detail{padding:26px}.location-card iframe{height:300px}}
.location-map{position:relative;height:315px;background:linear-gradient(135deg,#dcebf3,#f0f5f8)}.location-map iframe{height:100%}@media(max-width:760px){.location-map{height:300px}}
.reviews{background:#edf5f9}.reviews .section-heading{margin-bottom:42px}.reviews .section-heading h2{font-size:clamp(3rem,5.3vw,5rem)}.review-summary{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:20px}.review-summary a{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fff;border:1px solid #d9e7ee;border-radius:18px;padding:22px 25px}.review-summary a:hover{border-color:var(--blue)}.review-summary strong{font-size:1.7rem;color:var(--ink);white-space:nowrap}.review-summary strong span{color:#e2a83c;font-size:1rem;letter-spacing:.03em}.review-summary a>span{font-size:.88rem;color:var(--blue);font-weight:600}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.review-grid figure{margin:0;min-height:230px;padding:29px;background:#fff;border-radius:20px;display:flex;flex-direction:column}.review-stars{color:#e2a83c;letter-spacing:.08em}.review-grid blockquote{margin:24px 0;font-size:1.2rem;font-weight:600;line-height:1.35;letter-spacing:-.025em}.review-grid figcaption{margin-top:auto;color:var(--muted);font-size:.83rem}.review-note{margin:24px 0 0;color:var(--muted);font-size:.8rem}@media(max-width:900px){.review-summary{grid-template-columns:1fr}.review-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.review-grid{grid-template-columns:1fr}.review-grid figure{min-height:0}.review-summary a{align-items:flex-start;flex-direction:column}.review-summary strong{font-size:1.5rem}}
.reviews{background:linear-gradient(135deg,#eef5f9 0%,#dfeef6 100%)}.reviews .section-heading{margin-bottom:38px}.reviews .section-heading h2{line-height:1.05}.review-summary{margin-bottom:24px;gap:18px}.review-summary a{display:flex;flex-direction:column;align-items:flex-start;gap:8px;position:relative;min-height:173px;background:#fff;border-color:#d5e3ec;border-radius:24px;padding:24px 30px;box-shadow:0 12px 32px rgba(29,76,103,.045);transition:transform .25s,border-color .25s,box-shadow .25s}.review-summary a:hover{transform:translateY(-3px);box-shadow:0 20px 38px rgba(29,76,103,.1)}.review-summary a::after{content:'G';position:absolute;right:25px;top:22px;font-size:1.7rem;font-weight:800;letter-spacing:-.12em;background:conic-gradient(#4285f4 0 30%,#34a853 30% 48%,#fbbc05 48% 65%,#ea4335 65% 82%,#4285f4 82%);-webkit-background-clip:text;background-clip:text;color:transparent}.review-summary .summary-city{font-size:.77rem;letter-spacing:.12em;color:var(--muted);font-weight:700}.review-summary strong{font-size:2.5rem;line-height:1.1}.review-summary .summary-stars{font-size:1.18rem;vertical-align:middle;margin-left:9px}.review-summary a>span:last-child{font-size:.95rem}.review-summary b{font-weight:500;margin-left:6px}.review-grid{gap:18px;align-items:start}.review-grid .review-card{min-height:285px;padding:28px;border:1px solid #e1eaf0;border-radius:22px;box-shadow:0 10px 32px rgba(29,76,103,.055)}.review-grid .review-card:nth-child(2){min-height:255px}.review-grid .review-card:nth-child(3){min-height:275px}.review-card-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.google-g{font-size:1.8rem;font-weight:800;line-height:1;letter-spacing:-.12em;background:conic-gradient(#4285f4 0 30%,#34a853 30% 48%,#fbbc05 48% 65%,#ea4335 65% 82%,#4285f4 82%);-webkit-background-clip:text;background-clip:text;color:transparent}.review-card-top .review-stars{font-size:1.15rem;letter-spacing:.02em}.review-grid blockquote{font-size:1.32rem;line-height:1.38;margin:30px 0;max-width:330px}.review-grid figcaption{display:flex;align-items:center;gap:11px;border-top:1px solid #e9eff2;padding-top:18px;color:var(--ink)}.review-avatar{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:50%;color:#fff;background:#4f8cad;font-size:.76rem;font-weight:700}.review-card:nth-child(2) .review-avatar{background:#8a70a7}.review-card:nth-child(3) .review-avatar{background:#657d94}.review-person{display:flex;flex-direction:column;line-height:1.3}.review-person strong{font-size:.88rem}.review-person small{font-size:.73rem;color:var(--muted);margin-top:3px}.review-note a{text-decoration:underline;text-underline-offset:3px;color:var(--blue)}@media(max-width:900px){.review-summary{grid-template-columns:1fr 1fr}.review-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.review-summary,.review-grid{grid-template-columns:1fr}.review-grid .review-card{min-height:0}.review-summary a{min-height:155px}.review-grid blockquote{max-width:none}}
.review-summary strong{align-self:center;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.review-summary .summary-stars{font-size:1.65rem;letter-spacing:.08em;line-height:1.2;margin-left:0}.review-card-top{position:relative;justify-content:center;min-height:38px}.review-card-top .google-g{position:absolute;left:0;top:50%;transform:translateY(-50%)}.review-card-top .review-stars{font-size:1.65rem;letter-spacing:.08em;line-height:1.2;text-align:center;white-space:nowrap}@media(max-width:700px){.review-summary .summary-stars,.review-card-top .review-stars{font-size:1.5rem}}
@media (min-width:681px) and (max-width:1200px){.site-header .menu-button{display:block}.site-header nav{display:none;position:absolute;top:74px;left:0;right:0;background:rgba(255,255,255,.98);padding:24px 32px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line);gap:20px}.site-header nav.open{display:flex}.site-header nav .nav-cta{text-align:center}}
.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-fields label,.booking-label{display:grid;gap:8px;color:var(--ink);font-size:.85rem;font-weight:600}.booking-label{margin-top:18px}.booking-fields input,.booking-fields select,.booking-label input,.booking-label select{width:100%;border:1px solid #d5e0e6;border-radius:12px;background:#fff;color:var(--ink);padding:12px 14px;font-size:1rem;min-height:48px}.booking-fields input:focus,.booking-fields select:focus,.booking-label input:focus,.booking-label select:focus{outline:2px solid var(--accent);outline-offset:2px}.time-fieldset{padding:0;margin:24px 0 0;border:0;min-width:0}.time-fieldset legend{font-weight:600;font-size:.85rem;margin-bottom:12px}.booking-times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.booking-times button{border:1px solid #cbdce7;border-radius:11px;background:#fff;color:var(--ink);padding:11px 5px;min-height:44px;cursor:pointer;font-weight:600}.booking-times button:hover,.booking-times button[aria-pressed="true"]{border-color:var(--blue);background:#dbeef8;color:#194e6e}.field-help{color:var(--muted);font-size:.85rem;margin:10px 0 0;min-height:22px}.booking-privacy{display:flex;gap:10px;align-items:flex-start;margin-top:23px;font-size:.84rem;line-height:1.45;color:var(--muted)}.booking-privacy input{width:19px;height:19px;flex:none;accent-color:var(--blue);margin:1px 0 0}.booking-privacy a{text-decoration:underline;color:var(--blue)}.booking-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.booking-submit{display:flex;justify-content:space-between;gap:20px;align-items:center;width:100%;border:0;border-radius:13px;margin-top:24px;background:var(--blue);color:white;padding:16px 19px;font-weight:600;cursor:pointer}.booking-submit:hover:not(:disabled){background:#296c95}.booking-submit:disabled{opacity:.5;cursor:not-allowed}.booking-message{font-size:.9rem;color:var(--muted);min-height:0;margin:14px 0 0}.booking-message.error{color:#a63838}.booking-message.success{color:#176947;font-weight:600}@media(max-width:680px){.booking-times{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-fields{gap:10px}.booking-fields input,.booking-fields select{min-width:0}}

/* Brand gallery inspired by the supplied reference, in DS Ottica colours. */
.brands.wrap{width:100%;max-width:none;background:#f3f5f7}.brands .section-heading,.brands .brand-list,.brands .brand-note{width:min(1480px,calc(100% - 96px));margin-left:auto;margin-right:auto}.brands .section-heading{margin-bottom:64px}.brands .section-heading h2{font-size:clamp(3.7rem,6.3vw,6.4rem);line-height:1.02}.brands .section-heading>p{max-width:260px;font-size:1.13rem;line-height:1.55}.brands .brand-list{gap:18px}.brand-list>span{aspect-ratio:1/1;min-height:0;border-color:#dfe3e8;border-radius:28px;padding:24px;background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:clamp(1.05rem,1.5vw,1.55rem);font-weight:600;letter-spacing:-.035em;box-shadow:none}.brand-list>span:hover{background:#fff;transform:translateY(-4px);box-shadow:0 14px 30px rgba(26,49,62,.07)}.brand-logo{max-width:90%;max-height:72px}.brand-list small{font-size:.8rem}.tommy-icon{width:55px;height:34px}.tommy-brand b{font-size:.82rem}.brands .brand-note{margin-top:28px}
@media(max-width:1050px){.brands .section-heading,.brands .brand-list,.brands .brand-note{width:calc(100% - 64px)}.brands .brand-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.brands .section-heading,.brands .brand-list,.brands .brand-note{width:calc(100% - 40px)}.brands .section-heading h2{font-size:clamp(2.8rem,11vw,4rem)}.brands .section-heading>p{font-size:1rem}.brands .brand-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.brand-list>span{border-radius:20px;padding:14px;font-size:1.05rem}.brand-logo{max-height:45px}.tommy-icon{width:40px;height:24px}.tommy-brand b{font-size:.68rem}}

.statement{min-height:0;text-align:left;background:radial-gradient(ellipse at 100% 100%,#224b64 0%,#132733 42%,#0c1720 85%)}.nuance-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(40px,6vw,100px)}.nuance-visual{position:relative;overflow:hidden;border-radius:32px;background:#d8e5f0;min-height:560px}.nuance-visual img{width:100%;height:100%;min-height:560px;display:block;object-fit:cover}.nuance-visual span{position:absolute;left:24px;bottom:24px;padding:8px 14px;background:rgba(255,255,255,.9);border-radius:40px;color:#173245;font-size:.78rem;font-weight:600}.nuance-content .statement-logo{margin:0 0 40px;width:190px;border-radius:17px;padding:10px 15px}.nuance-content .eyebrow{color:#9cc7e0;font-size:.78rem}.nuance-content h2{font-size:clamp(3.1rem,5vw,5.3rem);margin:17px 0 29px}.nuance-content>p:not(.eyebrow){margin:0 0 25px;color:#d2e0e8;font-size:1.08rem;line-height:1.65}.nuance-points{margin:0 0 34px;padding:0;list-style:none;color:#e7eff4;font-size:1rem}.nuance-points li{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.17)}.nuance-source{display:block;width:fit-content;margin-top:22px;color:#b8d5e5;font-size:.85rem;text-decoration:underline;text-underline-offset:3px}
@media(max-width:850px){.nuance-layout{grid-template-columns:1fr}.nuance-visual,.nuance-visual img{min-height:0;max-height:560px}.nuance-visual img{aspect-ratio:617/645}.nuance-content h2{font-size:clamp(2.8rem,9vw,4.5rem)}}

.edenred-logo{display:block;width:190px;height:auto;margin-top:22px;object-fit:contain}

/* Appuntamenti subito dopo l'apertura. */
.appointment{padding-top:95px;padding-bottom:110px}.appointment-panel{background:#edf4f8}.booking-temporary{color:var(--muted);font-size:1.08rem;line-height:1.6;margin:0 0 28px}.booking-contact{width:100%;justify-content:space-between}.booking-contact-note{font-size:.9rem;color:var(--muted);margin:22px 0 0}.booking-contact-note a{text-decoration:underline;text-underline-offset:3px}#booking-form[hidden]{display:none}

.benefit-inner{grid-template-columns:.85fr 1.15fr;gap:6%;align-items:start}.payment-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.payment-card{min-height:240px;padding:26px;border:1px solid #dce7ee;border-radius:24px;background:#fff;display:flex;flex-direction:column;align-items:flex-start}.payment-card p{margin:auto 0 0;color:var(--muted);font-size:.98rem;line-height:1.55}.payment-card .edenred-logo{width:115px;height:90px;object-fit:contain;object-position:left center;margin:0 0 20px}.payment-card .klarna-logo{width:135px;height:58px;object-fit:contain;object-position:left center;margin:8px 0 44px}
@media(max-width:900px){.benefit-inner{grid-template-columns:1fr;gap:32px}}@media(max-width:560px){.payment-options{grid-template-columns:1fr}.payment-card{min-height:180px}}

.about{background:#f3f8fb}.about-layout{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:clamp(38px,6vw,90px)}.about-image{overflow:hidden;border-radius:28px;box-shadow:0 25px 60px rgba(23,61,83,.12)}.about-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.about-copy h2{font-size:clamp(2.7rem,4.7vw,5rem);line-height:1.07;letter-spacing:-.045em;margin:20px 0 30px}.about-copy p:not(.eyebrow){font-size:1.08rem;line-height:1.7;color:var(--muted);max-width:560px;margin:0 0 20px}.about-copy .button{margin-top:18px}@media(max-width:850px){.about-layout{grid-template-columns:1fr}.about-image img{max-height:560px}.about-copy h2{font-size:clamp(2.8rem,8vw,4.5rem)}}

.about-bios{display:grid;gap:20px;margin:26px 0 20px}.about-bio{padding-top:20px;border-top:1px solid #cbdde8}.about-bio h3{font-size:1.28rem;line-height:1.25;margin:0 0 10px;color:var(--ink)}.about-bio h3 span{display:block;margin-top:5px;font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--blue)}.about-copy .about-bio p{font-size:1rem;line-height:1.62;margin:0}.about-copy .button{margin-top:12px}

.lenses{background:#f2f6f9}.lenses-heading{display:grid;grid-template-columns:1.6fr .6fr;gap:6%;align-items:end;margin-bottom:52px}.lenses-heading h2{font-size:clamp(3rem,5.3vw,5.6rem);line-height:1.05;letter-spacing:-.055em;margin:18px 0 0}.lenses-heading>p{font-size:1.06rem;line-height:1.65;color:var(--muted);margin:0 0 8px}.lens-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.lens-card{display:flex;flex-direction:column;min-height:410px;padding:46px 48px;background:#fff;border:1px solid #e3ebef;border-radius:28px;box-shadow:0 20px 40px rgba(18,60,84,.035)}.lens-logo{height:105px;display:flex;align-items:flex-start}.lens-logo img{max-width:170px;max-height:88px;object-fit:contain;object-position:left top}.lens-logo-zeiss img{max-width:84px;max-height:86px}.lens-logo-hoya img{max-width:128px;max-height:88px}.lens-card h3{font-size:1.65rem;line-height:1.2;letter-spacing:-.025em;margin:14px 0 18px}.lens-card p{font-size:1rem;line-height:1.68;color:var(--muted);margin:0 0 30px}.lens-card a{width:fit-content;margin-top:auto;color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:5px}.lens-card a:hover{color:var(--ink)}.lens-needs{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px}.lens-needs span{border-top:1px solid #cadbe5;padding:19px 0 0;font-size:.95rem;font-weight:700;color:var(--ink)}@media(max-width:850px){.lenses-heading{grid-template-columns:1fr;gap:18px}.lens-grid{grid-template-columns:1fr}.lens-card{min-height:0}.lens-needs{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.lens-card{padding:32px 28px}.lenses-heading h2{font-size:clamp(2.6rem,10vw,3.6rem)}.lens-needs{gap:14px}}

.lens-needs{gap:28px;margin-top:46px}.lens-need{border-top:1px solid #cadbe5;padding:25px 0 0}.lens-need-icon{display:grid;place-items:center;width:64px;height:64px;border:1px solid #d4e0e8;border-radius:18px;background:#eaf2f7;color:var(--blue)}.lens-need-icon svg{width:30px;height:30px}.lens-need h3{font-size:1.28rem;line-height:1.25;margin:23px 0 12px;color:var(--ink)}.lens-need p{font-size:.98rem;line-height:1.6;font-weight:400;color:var(--muted);margin:0}@media(max-width:850px){.lens-needs{gap:24px}}@media(max-width:560px){.lens-needs{grid-template-columns:1fr 1fr;gap:22px 18px}.lens-need-icon{width:54px;height:54px}.lens-need h3{font-size:1.06rem}.lens-need p{font-size:.9rem}}
.lens-needs .lens-need-icon{padding:0;border:1px solid #d4e0e8;color:var(--blue)}

.location-contacts{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}.location-contacts a{display:flex;flex-direction:column;gap:2px;min-width:155px;padding:12px 16px;border:1px solid #d6e4ec;border-radius:14px;background:#f5f9fb;transition:border-color .2s,background .2s}.location-contacts a:hover{border-color:var(--blue);background:#eaf4f9}.location-contacts span{font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:700}.location-contacts strong{font-size:.96rem;line-height:1.35;color:var(--blue);overflow-wrap:anywhere}
/* Navigazione più leggibile. */
.site-header{min-height:88px;padding-top:14px;padding-bottom:14px}.site-header .wordmark img{width:210px}.site-header nav{gap:21px;font-size:1rem;font-weight:600}.site-header nav .nav-cta{padding:11px 20px}.hero-stage{top:88px;height:calc(100svh - 88px)}
@media (min-width:681px) and (max-width:1200px){.site-header nav{top:88px;gap:22px;font-size:1.08rem}.site-header .menu-button{font-size:1rem;font-weight:600}}
@media (max-width:680px){.site-header{min-height:74px;padding:12px 20px}.site-header .wordmark img{width:170px}.site-header nav{top:74px;gap:22px;font-size:1.08rem}.site-header .menu-button{font-size:1rem;font-weight:600}.hero-stage{top:74px;height:calc(100svh - 74px)}}

.lens-logo-hoya img{max-width:235px;max-height:82px}
.booking-page{background:#f5f8fa}.booking-page-intro{padding-top:46px}.booking-back{display:inline-block;margin-bottom:42px;color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:5px}.booking-page-intro .eyebrow{margin:0}.booking-page .appointment{padding-top:28px;min-height:calc(100svh - 230px)}.booking-page .appointment-copy h2{font-size:clamp(2.8rem,5vw,5.2rem)}.booking-page-footer{background:var(--deep);color:white;padding:35px 0}.booking-page-footer .wrap{display:flex;flex-wrap:wrap;gap:16px 32px;justify-content:space-between;font-size:.88rem}.booking-page-footer a{text-decoration:underline;text-underline-offset:4px}@media(max-width:680px){.booking-page-intro{padding-top:24px}.booking-back{margin-bottom:24px}.booking-page .appointment{padding-top:16px}}

.discover-intro{padding-bottom:72px}.discover-intro h1{max-width:850px;margin:12px 0 20px;font-size:clamp(2.8rem,6vw,5.5rem)}.discover-intro>p:not(.eyebrow){max-width:620px;margin-bottom:28px;color:var(--muted)}@media(max-width:680px){.discover-intro{padding-bottom:42px}}
