@font-face{font-family:'Montserrat Linfa';src:url('../fonts/msg26su6-Montserrat-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat Linfa';src:url('../fonts/msg26sux-Montserrat-SemiBold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Pompei Linfa';src:url('../fonts/msg26sl5-PompeiStd-Light.otf') format('opentype');font-weight:300;font-style:normal;font-display:swap}

:root{--bg:#fff;--surface:#f7fafa;--fg:#24323a;--muted:#65747a;--border:#dfe9e8;--primary:#3baeb0;--dark:#214043;--accent:#c96a4a;--display:'Montserrat Linfa',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--body:'Montserrat Linfa',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--brand-display:'Pompei Linfa',serif;--mono:'Montserrat Linfa',ui-monospace,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--fg);background:var(--bg);font:16px/1.55 var(--body)}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}button,input,textarea{font:inherit}button{cursor:pointer}.wrap{width:min(1300px,calc(100% - 40px));margin-inline:auto}.eyebrow{color:var(--primary);font:600 11px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase}h1,h2,h3{margin:0;font-family:var(--display);font-weight:600;letter-spacing:-.035em;line-height:1.05}h1{font-size:clamp(3.25rem,8vw,7.5rem);max-width:860px}h2{font-size:clamp(2.25rem,4.5vw,4.6rem)}h3{font-size:1.35rem}.section{padding-block:clamp(78px,10vw,150px)}.soft{background:var(--surface)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px 19px;border:1px solid transparent;border-radius:8px;font-weight:600;letter-spacing:.02em;transition:transform .3s,background .3s,color .3s}.btn:hover{transform:translateY(-2px)}.btn-primary{color:var(--dark);background:var(--accent)}.btn-primary:hover{background:#d47a59}.btn-light{color:var(--dark);background:#fff}.btn-ghost{border-color:var(--border)}.arrow{transition:transform .3s}.btn:hover .arrow,.text-link:hover .arrow{transform:translateX(4px)}
.site-header{position:fixed;z-index:20;inset:0 0 auto;color:var(--fg);background:#fffffff4;box-shadow:0 1px 0 var(--border);backdrop-filter:blur(14px)}.nav{display:flex;align-items:center;justify-content:space-between;min-height:78px}.brand{display:flex;align-items:center;gap:10px;font:600 1.05rem var(--body);letter-spacing:-.03em}.brand-mark{display:none}.brand-logo{display:block;width:132px;height:auto;max-height:42px;object-fit:contain;object-position:left center}.nav-links{display:flex;align-items:center;gap:28px;font-size:.9rem}.nav-links a{opacity:.82}.nav-links a:hover{color:var(--accent);opacity:1}.menu-btn{display:none;border:0;color:currentColor;background:none;font-size:1.45rem}.site-header>.nav .btn{min-height:42px;padding-block:9px}
.hero,.page-hero{position:relative;min-height:min(850px,92vh);display:flex;align-items:center;overflow:hidden;background:var(--surface)}.hero-image,.page-hero-image{position:absolute;inset:0 0 0 34%;background-position:center;background-size:cover}.hero-image{background-image:url('../images/percorso-sfondo.jpg')}.page-hero-image{background-image:url('../images/percorso-sfondo.jpg')}.hero-image:after,.page-hero-image:after{content:'';position:absolute;inset:0;background:color-mix(in oklch,var(--surface),transparent 72%)}.hero-content{position:relative;z-index:1;width:100%;padding-block:150px 80px}.hero-copy,.page-hero .hero-content{max-width:680px;padding:54px 66px;background:#fffffff2}.hero-copy .eyebrow,.page-hero .eyebrow{margin-bottom:24px}.hero-copy p,.page-hero p{max-width:560px;margin-top:28px;color:var(--muted);font-size:1.12rem}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.hero-points{display:flex;flex-wrap:wrap;gap:22px;margin-top:42px;padding-top:18px;border-top:1px solid var(--border);color:var(--muted);font-size:.84rem}.hero-points span:before{content:'✓';margin-inline-end:8px;color:var(--primary)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:58px}.section-head p{max-width:410px;color:var(--muted)}.intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}.intro-copy p,.copy>p{max-width:630px;margin-top:26px;color:var(--muted);font-size:1.16rem}.intro-note{margin-top:58px!important;padding-top:20px;border-top:1px solid var(--border);color:var(--dark)!important;font:1.45rem/1.2 var(--display)!important}.editorial-list{display:grid;gap:0;margin-top:26px;border-top:1px solid var(--border)}.editorial-list li{padding:17px 0;border-bottom:1px solid var(--border);list-style:none}.editorial-list li:before{content:'↗';margin-inline-end:18px;color:var(--primary)}
.service-feature{display:grid;grid-template-columns:1fr 1fr;min-height:540px;margin-top:20px;background:#fff}.service-feature:nth-of-type(even){direction:rtl}.service-feature:nth-of-type(even)>*{direction:ltr}.service-feature img{height:100%;min-height:540px}.service-feature .feature-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(34px,6vw,92px)}.feature-copy p{max-width:450px;margin-top:22px;color:var(--muted);font-size:1.05rem}.text-link{display:inline-flex;align-items:center;gap:9px;margin-top:28px;color:var(--dark);font-weight:600}.text-link:hover{color:var(--primary)}
.service-grid{display:grid;gap:20px}.service-card{display:grid;grid-template-columns:1fr 1fr;min-height:420px;overflow:hidden;border:0;border-top:1px solid var(--border);border-radius:0;background:#fff}.service-card:nth-child(even){direction:rtl}.service-card:nth-child(even)>*{direction:ltr}.service-card img{height:100%;min-height:420px;aspect-ratio:auto;transition:transform .5s}.service-card:hover img{transform:scale(1.03)}.service-body{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(30px,6vw,86px)}.service-body h3{font-size:clamp(1.8rem,3vw,3rem)}.service-body p{max-width:440px;min-height:0;margin-top:18px;font-size:1.02rem}.service-body .text-link{margin-top:25px}
.cards{grid-template-columns:1fr;gap:0}.cards .card{display:grid;grid-template-columns:1fr 1fr;border:0;border-top:1px solid var(--border);border-radius:0}.cards .card:nth-child(even){direction:rtl}.cards .card:nth-child(even)>*{direction:ltr}.cards .card img{height:100%;min-height:300px;aspect-ratio:auto}.cards .card-body{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,5vw,70px)}.cards .card-body p{max-width:440px}.cards .card:nth-child(n+3){margin-top:0}
.services,.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.card{overflow:hidden;border:1px solid var(--border);background:#fff}.card img{aspect-ratio:16/9;transition:transform .5s}.card:hover img{transform:scale(1.035)}.card-body{padding:24px}.card-body p{margin-top:10px;color:var(--muted)}.card-body .text-link{margin-top:18px}.cards .card:nth-child(n+3){margin-top:28px}
.people-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-auto-rows:240px;gap:18px}.person-tile{position:relative;overflow:hidden;min-height:240px;background:var(--dark)}.person-tile:first-child{grid-row:span 2}.person-tile img{height:100%;transition:transform .5s}.person-tile:hover img{transform:scale(1.04)}.person-tile:after{content:'';position:absolute;inset:0;background:#21404380}.person-copy{position:absolute;z-index:1;inset:auto 24px 22px;color:#fff}.person-copy p{margin-top:6px;color:#ffffffd0;font-size:.86rem}.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border)}.step{padding:28px 24px 0 0;border-inline-end:1px solid var(--border)}.step:not(:first-child){padding-inline-start:24px}.step:last-child{border:0}.step-number,.num{display:grid;place-items:center;width:38px;height:38px;margin-bottom:25px;border-radius:50%;color:var(--dark);background:var(--primary);font:12px var(--mono)}.step p{max-width:200px;margin-top:10px;color:var(--muted);font-size:.9rem}
.why,.grid-2,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.why-image,.image-rounded{overflow:hidden;border-radius:2px}.why-image img,.image-rounded{aspect-ratio:4/5}.benefits{margin-top:34px;border-top:1px solid var(--border)}.benefit{display:grid;grid-template-columns:38px 1fr;gap:18px;padding-block:18px;border-bottom:1px solid var(--border)}.benefit-mark{color:var(--primary);font-size:1.15rem}.benefit p{margin-top:4px;color:var(--muted);font-size:.9rem}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.team-card img{aspect-ratio:1/1.12;transition:transform .5s}.team-card{overflow:hidden}.team-card:hover img{transform:scale(1.025)}.team-card h3{margin-top:15px;font-size:1.15rem}.team-card p{margin-top:4px;color:var(--muted);font-size:.88rem}
.review-wrap{display:grid;grid-template-columns:.72fr 1.28fr;gap:80px;align-items:center}.rating{margin-top:24px;color:var(--accent);font-size:1.4rem;letter-spacing:.15em}.rating small{display:block;margin-top:6px;color:var(--muted);font:400 .82rem var(--body);letter-spacing:0}.review-card{padding:clamp(32px,6vw,80px);border-radius:2px;color:#fff;background:var(--dark)}.review-card blockquote{margin:0;font:clamp(1.6rem,2.7vw,2.7rem)/1.12 var(--display);letter-spacing:-.03em}.review-card cite{display:block;margin-top:36px;color:#ffffffb8;font-size:.88rem}.review-controls{display:flex;gap:8px;margin-top:26px}.round-btn{width:40px;height:40px;border:1px solid #ffffff55;border-radius:50%;color:#fff;background:transparent}.blog-grid{display:grid;grid-template-columns:1.35fr .825fr .825fr;gap:18px}.post-card{overflow:hidden;border:1px solid var(--border);background:#fff}.post-card:first-child{grid-row:span 2}.post-card img{aspect-ratio:16/10;transition:transform .5s}.post-card:first-child img{aspect-ratio:4/3}.post-card:hover img{transform:scale(1.03)}.post-copy{padding:24px}.post-copy h3{margin-top:12px;font-size:1.35rem}.post-copy p{margin-top:9px;color:var(--muted);font-size:.9rem}
.contact-band{color:#fff;background:var(--dark)}.contact-grid{align-items:end}.contact-grid p{max-width:560px;margin-top:22px;color:#ffffffcc;font-size:1.1rem}.contact-details{display:grid;gap:14px;padding:26px;border:1px solid #ffffff44}.contact-details span{display:block;color:#ffffff99;font-size:.78rem}.contact-details a{font-size:1.03rem}.map{min-height:430px;display:grid;place-items:center;border:1px solid var(--border);background:var(--surface);text-align:center}.map p{color:var(--muted)}.form{display:grid;gap:14px}.form label{font-size:.82rem;font-weight:600}.form input,.form textarea,.contact-form input,.contact-form textarea{width:100%;margin-top:6px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);outline:none}.form textarea,.contact-form textarea{min-height:110px;resize:vertical}.form input:focus,.form textarea:focus{border-color:var(--primary)}
.footer{padding-block:38px;color:var(--muted);background:var(--surface)}.footer-grid{display:flex;justify-content:space-between;gap:30px;padding-top:28px;border-top:1px solid var(--border);font-size:.8rem}.footer-links{display:flex;flex-wrap:wrap;gap:18px}.footer .brand{color:var(--fg)}.article{max-width:760px;margin-inline:auto;padding-block:170px 100px}.article-header{max-width:900px;margin:0 auto;padding:170px 20px 70px}.article-header h1{margin-top:22px;max-width:900px}.article-header>p{max-width:680px;margin-top:26px;color:var(--muted);font-size:1.2rem}.byline{margin-top:26px;color:var(--muted);font-size:.85rem}.article-hero{width:min(1400px,calc(100% - 40px));height:min(620px,55vw);margin:0 auto;object-fit:cover}.article-body{max-width:700px;margin:72px auto 0;font-size:1.05rem;line-height:1.7}.article-body p{margin-top:22px}.article-body h2{margin-top:74px;font-size:2.25rem}.article-body blockquote{margin:58px -80px;padding-inline-start:26px;border-inline-start:3px solid var(--accent);font:clamp(1.7rem,3vw,2.6rem)/1.15 var(--display);letter-spacing:-.03em}.article-body ul{padding-inline-start:22px}.article-body li{margin-top:10px}.faq{max-width:760px}.faq details{padding:20px 0;border-top:1px solid var(--border)}.faq summary{cursor:pointer;font:1.15rem var(--display)}.faq p{max-width:640px;margin-top:16px;color:var(--muted)}.modal{position:fixed;z-index:30;inset:0;display:grid;place-items:center;padding:20px;visibility:hidden;opacity:0;background:#21404388;transition:.25s}.modal.open{visibility:visible;opacity:1}.modal-card{position:relative;width:min(680px,100%);max-height:90vh;overflow:auto;padding:34px;background:#fff;box-shadow:var(--shadow)}.modal-card h2{font-size:clamp(2rem,5vw,3.4rem)}.modal-card h3{margin-top:28px;font-size:1.2rem}.modal-card p,.modal-card li{margin-top:13px;color:var(--muted)}.modal-close{position:absolute;inset:18px 18px auto auto;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:var(--surface);font-size:1.3rem}.contact-form{display:grid;gap:13px;margin-top:22px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.wrap{width:min(100% - 32px,1300px)}.nav-links{gap:16px}.hero-image,.page-hero-image{inset:0 0 0 20%}.hero-copy,.page-hero .hero-content{padding:44px 40px}.service-feature,.service-card,.cards .card,.grid-2,.intro,.why,.review-wrap,.contact-grid{grid-template-columns:1fr;gap:0}.service-feature:nth-of-type(even),.service-card:nth-child(even),.cards .card:nth-child(even){direction:ltr}.service-feature img,.service-card img,.cards .card img{min-height:360px}.service-feature .feature-copy,.service-body,.cards .card-body{padding:48px 40px}.people-grid{grid-template-columns:1fr 1fr}.person-tile:first-child{grid-column:span 2;grid-row:auto}.steps{grid-template-columns:1fr 1fr}.step{min-height:190px;border-bottom:1px solid var(--border)}.team-grid{grid-template-columns:repeat(2,1fr)}.blog-grid{grid-template-columns:1fr 1fr}.post-card:first-child{grid-row:auto;grid-column:span 2}.article-body blockquote{margin-inline:0}}
@media(max-width:640px){.wrap{width:calc(100% - 28px)}.nav{min-height:68px}.menu-btn{display:block}.nav-links{position:absolute;inset:68px 14px auto;display:none;padding:18px;color:var(--fg);background:#fff;box-shadow:var(--shadow)}.nav-links.open{display:grid;gap:16px}.site-header>.nav>.btn{display:none}.hero,.page-hero{min-height:720px;align-items:end}.hero-image,.page-hero-image{inset:0}.hero-image:after,.page-hero-image:after{background:color-mix(in oklch,var(--surface),transparent 22%)}.hero-content{padding-block:100px 28px}.hero-copy,.page-hero .hero-content{padding:34px 24px;background:#fffffff2}.hero-copy p,.page-hero p{font-size:1rem}.hero-points{gap:10px 18px;margin-top:32px}.section{padding-block:72px}.section-head{display:block;margin-bottom:34px}.section-head p{margin-top:18px}.intro{gap:32px}.service-feature,.service-card,.cards .card{min-height:0;margin-top:0}.service-feature img,.service-card img,.cards .card img{min-height:250px}.service-feature .feature-copy,.service-body,.cards .card-body{padding:34px 24px 42px}.services,.cards,.team-grid,.blog-grid{grid-template-columns:1fr}.cards .card:nth-child(n+3){margin-top:0}.people-grid{grid-auto-rows:190px}.person-tile{min-height:190px}.person-tile:first-child{grid-column:span 2}.steps{grid-template-columns:1fr 1fr}.step{padding:22px 14px 0 0!important}.step:nth-child(even){padding-inline:14px 0!important;border-inline-end:0}.team-grid{gap:28px}.post-card:first-child{grid-column:auto}.footer-grid{display:grid}.article{padding-block:130px 70px}.article-header{padding-block:125px 48px}.article-hero{width:calc(100% - 28px);height:65vw}.article-body{margin-top:48px;padding-inline:14px;font-size:1rem}.article-body h2{margin-top:54px;font-size:2rem}.modal-card{padding:28px 22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

body.article-page{position:relative;isolation:isolate}
body.article-page:before{content:'';position:fixed;z-index:-1;inset:0;pointer-events:none;background:url('../images/blog-background-general.webp') center/cover no-repeat;opacity:.45;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 14%,#000 86%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 14%,#000 86%,transparent 100%)}

/* Static, manually curated Google testimonials. Replace values in site.js before publication. */
.reviews-section{background:#f2f7f3}
.reviews-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:34px}
.reviews-heading h2{max-width:760px}
.reviews-heading>p{max-width:430px;color:var(--muted)}
 .reviews-carousel{overflow:hidden;padding:4px 0 12px}
 .reviews-track{display:flex;width:max-content;will-change:transform;animation:reviews-marquee 138s linear infinite}
 .reviews-track.is-paused{animation-play-state:paused}
 .reviews-set{display:flex;gap:18px;padding-inline-end:18px}
.review-editorial-card{display:flex;flex:0 0 min(31vw,420px);height:auto;flex-direction:column;padding:30px;border:1px solid #c9ddd1;border-radius:20px;background:#fffdf9;box-shadow:0 8px 24px rgba(33,64,67,.06)}
.review-rating{display:flex;align-items:center;gap:10px}
.review-rating strong{color:var(--fg);font-size:.9rem;font-weight:600;letter-spacing:.01em}
.review-stars{color:var(--accent);font-size:1.05rem;letter-spacing:.08em}
.review-text{margin-top:24px;color:var(--fg);font-size:1.04rem;line-height:1.55}
.review-author{display:grid;gap:3px;margin-top:auto;padding-top:26px}
.review-author strong{font-size:.95rem}
.review-author span,.review-source{color:var(--muted);font-size:.78rem}
.review-source{display:block;margin-top:18px}
 .reviews-footer{display:flex;justify-content:flex-end;margin-top:26px}
.reviews-link-wrap{max-width:620px;text-align:end}
.reviews-link-wrap .btn{min-height:44px}
.reviews-link-wrap p{margin-top:12px;color:var(--muted);font-size:.82rem;line-height:1.5}
.reviews-link-wrap .is-disabled{cursor:not-allowed;opacity:.6}
.reviews-empty{max-width:600px;color:var(--muted)}
 @keyframes reviews-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
 @media(max-width:900px){.reviews-heading{display:block}.reviews-heading>p{margin-top:18px}.review-editorial-card{flex-basis:43vw}.reviews-footer{display:block}.reviews-link-wrap{margin-top:22px;text-align:start}}
@media(max-width:640px){.reviews-section{padding-block:58px}.review-editorial-card{flex-basis:78vw;height:auto;padding:24px}.reviews-heading h2{font-size:clamp(2rem,9vw,3rem)}.reviews-link-wrap .btn{width:100%}}
 @media(prefers-reduced-motion:reduce){.reviews-track{animation:none;overflow-x:auto}.reviews-set--duplicate{display:none}}

/* Keep contact content visible even when the optional reveal script is unavailable. */
.blog-page .page-hero .hero-content{text-align:start}.blog-page .page-hero .hero-content h1{max-width:780px}.blog-page .blog-heading{align-items:end}.post-image-link{display:block;overflow:hidden}.post-copy h3 a:hover{color:var(--primary)}
.reveal{opacity:1;transform:none}
.contact-hero-panel,.contact-address,.contact-channels,.hours-grid,.booking-grid,.faq-wrap,.contact-final-content{color:var(--fg)}
.contact-hero-panel h1,.contact-address h2,.hours-grid h2,.booking-intro h2,.faq-wrap h2,.contact-final-content h2{color:var(--fg)}

/* Compact home rhythm: keep the editorial tone, restore the lighter first pass. */
.hero{min-height:min(850px,92vh);align-items:end;color:#fff;background:var(--dark)}
.hero-image{inset:0;background-image:url('../images/percorso-sfondo.jpg')}
.hero-image:after{background:#21404388}
.hero-content{padding-block:150px 66px}
.hero-copy{max-width:760px;padding:0;background:transparent}
.hero-copy .eyebrow{color:color-mix(in oklch,var(--accent),white 18%)}
.hero-copy p{color:#ffffffdc}
.hero-points{border-color:#ffffff44;color:#ffffffdc}
.service-grid{grid-template-columns:repeat(4,1fr);gap:16px}
.service-card{display:block;min-height:0;border:1px solid var(--border);border-radius:18px;background:#fff;transition:transform .3s,box-shadow .3s}
.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.service-card img{height:auto;min-height:0;aspect-ratio:4/3}
.service-body{display:block;padding:22px}
.service-body h3{font-size:1.35rem}
.service-body p{min-height:72px;margin-top:10px;color:var(--muted);font-size:.92rem}
.service-body .text-link{margin-top:18px}
.footer{color:#ffffffb8;background:var(--dark)}
.footer .brand{color:#fff}
.footer-grid{border-color:#ffffff30}

@media(max-width:900px){
  .service-grid{grid-template-columns:repeat(2,1fr)}
 }

/* Home hero image override: use the supplied local photograph. */
body.home-page .hero-image{background-image:url('../images/msq9i41w-DSC07214.webp')!important}
@media(max-width:640px){
   .hero{min-height:760px}
   .hero-content{padding-block:120px 38px}
   .service-grid{grid-template-columns:1fr}
   .service-body{padding:22px}
 }

/* Lower the crop slightly for the supplied physiotherapy and osteopathy photos. */
body.home-page #servizi .service-card:nth-child(-n+2) img{object-position:center 58%}

 /* Dedicated service pages: compact introductions centered on each professional. */
.service-detail-page{background:#fcfbf7}
.service-detail-page main{padding-top:82px}
.service-person{padding-block:24px 74px;background:#fcfbf7}
.service-person__grid{display:grid;grid-template-columns:minmax(360px,.78fr) 1.22fr;gap:clamp(54px,7vw,112px);align-items:start}
.service-person--secondary .service-person__grid{grid-template-columns:1.22fr .78fr}
.service-person--secondary .service-person__portrait{grid-column:2;grid-row:1}
.service-person--secondary .service-person__copy{grid-column:1;grid-row:1}
body.service-detail-psychology .service-person--secondary .service-person__portrait--alice img{transform:none}
.service-person__portrait{position:sticky;top:106px;margin:0}
.service-person__portrait--alice{overflow:hidden;border-radius:0 0 32px 32px}
.service-person__portrait--alice img{transform:scale(1.18);transform-origin:center 70%}
.service-person__portrait img{width:100%;height:min(730px,72vh);min-height:590px;border-radius:0 0 32px 32px;object-position:center 24%;filter:saturate(.82);box-shadow:var(--shadow-soft)}
.service-person__portrait figcaption{margin-top:10px;color:var(--muted);font-size:.72rem}
.service-person__copy{padding-block:clamp(46px,7vw,92px) 0}
.service-person__copy :is(h1,.professional-name){max-width:790px;margin-top:16px;font-size:clamp(3.6rem,6.5vw,7rem);line-height:.94}
.service-person__role{margin:16px 0 0;color:var(--primary);font:600 .92rem/1.4 var(--display);letter-spacing:.01em}
.service-person__intro{max-width:62ch;margin:28px 0 0;color:var(--muted);font-size:1.02rem;line-height:1.7}
.service-person__actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:30px}
.service-person__actions .text-link{margin-top:0}
.service-needs--compact{margin-top:48px;padding-top:25px;border-top:1px solid var(--border)}
.service-needs--compact h2{font-size:clamp(1.35rem,2vw,1.75rem);letter-spacing:-.025em}
.service-needs--compact ul{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;margin:17px 0 0;padding:0;border-top:1px solid var(--border)}
.service-needs--compact li{padding:11px 0;border-bottom:1px solid var(--border);color:var(--muted);font-size:.84rem;list-style:none}
.service-needs--compact li:before{content:'+';margin-inline-end:9px;color:var(--primary);font-weight:600}
.service-contact{display:grid;grid-template-columns:1fr auto;gap:24px;margin-top:30px;padding-top:22px;border-top:1px solid var(--border)}
.service-contact>div{display:grid;align-content:start;gap:6px}
.service-contact>div span{color:var(--muted);font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.service-contact>div strong,.service-contact>div a{font-size:.82rem;font-weight:600}
.service-contact>div a{display:block;color:var(--fg)}
.service-contact>div a:hover{color:var(--primary)}
.service-contact__details,.service-contact__links{display:grid;align-content:start;gap:6px}
.service-contact__details span{color:var(--muted);font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.service-contact__details strong{font-size:.82rem;font-weight:600}
.service-contact__details small{max-width:34ch;margin-top:3px;color:var(--muted);font-size:.72rem;line-height:1.5}
.service-contact__links{justify-items:end;text-align:end}
.service-contact__links a{color:var(--fg);font-size:.82rem;font-weight:600}
.service-contact__links a:hover{color:var(--primary)}
.service-social-link{display:inline-flex;align-items:center;gap:7px;margin-top:5px;color:var(--primary)!important}
.service-social-link svg{width:17px;height:17px}

.service-useful,.service-journey,.service-methods,.service-collaboration,.service-detail-cta{padding-block:clamp(64px,7vw,100px)}
.service-useful{background:var(--surface-sand)}
.service-useful__grid,.service-methods__grid,.service-collaboration__grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(48px,8vw,120px);align-items:start}
.service-useful h2,.service-collaboration h2{max-width:680px;margin-top:17px;font-size:clamp(2.25rem,4vw,4.3rem)}
.service-useful__grid>div:last-child>p,.service-collaboration__grid>div:last-child>p{margin:0;color:var(--muted);font-size:1rem;line-height:1.7}
.service-caveat{margin-top:24px!important;padding:16px 18px;border-inline-start:2px solid var(--primary);background:color-mix(in oklch,var(--primary),white 91%);font-size:.82rem!important}

.service-journey{background:var(--surface-mint)}
.service-section-heading{max-width:680px}
.service-section-heading h2{margin-top:17px;font-size:clamp(2.4rem,4.3vw,4.6rem)}
.service-section-heading>p{margin-top:18px;color:var(--muted)}
.service-journey__list{margin:44px 0 0;padding:0;border-top:1px solid var(--border);list-style:none}
.service-journey__list li{display:grid;grid-template-columns:80px minmax(0,1fr);gap:clamp(28px,5vw,72px);padding:31px 0;border-bottom:1px solid var(--border)}
.service-journey__list>li>span{padding-top:5px;color:var(--primary);font:600 .73rem var(--mono);letter-spacing:.08em}
.service-journey__list h3{font-size:clamp(1.5rem,2.3vw,2.25rem)}
.service-journey__list p{max-width:76ch;margin:12px 0 0;color:var(--muted);line-height:1.7}
.service-journey--integrated{position:relative;overflow:hidden;background:linear-gradient(145deg,color-mix(in oklch,var(--surface-mint),white 12%),var(--surface-mint) 58%,color-mix(in oklch,var(--primary),white 91%))}
.service-journey--integrated:before,.service-journey--integrated:after{position:absolute;content:"";pointer-events:none;border:1px solid color-mix(in oklch,var(--primary),transparent 77%);border-radius:50%}
.service-journey--integrated:before{width:360px;height:360px;top:-235px;right:8%}
.service-journey--integrated:after{width:520px;height:520px;bottom:-410px;left:-240px}
.service-journey--integrated>.wrap{position:relative;z-index:1}
.service-journey--integrated .service-journey__header{max-width:780px}
.service-journey--integrated .service-section-heading h2{font-size:clamp(2.5rem,4.5vw,4.8rem)}
.service-journey--integrated .service-journey__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:42px;border:0}
.service-journey--integrated .service-journey__list li{display:block;padding:28px 26px;border:1px solid color-mix(in oklch,var(--primary),transparent 82%);border-radius:var(--radius-md);background:color-mix(in oklch,white,transparent 16%);box-shadow:var(--shadow-soft)}
.service-journey--integrated .service-journey__list>li>span{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid color-mix(in oklch,var(--primary),transparent 72%);border-radius:50%;background:color-mix(in oklch,var(--primary),white 87%);font-size:.68rem}
.service-journey--integrated .service-journey__list h3{margin-top:24px;font-size:clamp(1.3rem,1.7vw,1.65rem)}
.service-journey--integrated .service-journey__list p{margin-top:12px;font-size:.92rem}
.service-tools{margin-top:clamp(52px,7vw,88px);padding-top:clamp(34px,5vw,58px);border-top:1px solid color-mix(in oklch,var(--primary),transparent 72%)}
.service-tools__heading{display:flex;align-items:end;justify-content:space-between;gap:36px}
.service-tools__heading h3{margin-top:12px;font-size:clamp(1.65rem,2.7vw,2.5rem)}
.service-tools__heading>p{max-width:46ch;margin:0 0 3px;color:var(--muted);font-size:.86rem;line-height:1.65}
.service-tools__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:28px 0 0}
.service-tools__grid>div{min-height:168px;padding:21px 22px;border:1px solid color-mix(in oklch,var(--primary),transparent 83%);border-radius:var(--radius-md);background:color-mix(in oklch,white,transparent 20%)}
.service-tools__number{display:block;color:var(--primary);font:600 .67rem var(--mono);letter-spacing:.08em}
.service-tools__grid dt{margin-top:11px;font:600 1rem/1.35 var(--display);letter-spacing:-.02em}
.service-tools__grid dd{margin:8px 0 0;color:var(--muted);font-size:.84rem;line-height:1.6}

.service-methods{background:#fcfbf7}
.service-methods__grid{grid-template-columns:.72fr 1.28fr}
.service-methods dl{margin:0;border-top:1px solid var(--border)}
.service-methods dl>div{display:grid;grid-template-columns:minmax(170px,.72fr) 1.28fr;gap:28px;padding:20px 0;border-bottom:1px solid var(--border)}
.service-methods dt{font:600 1rem/1.35 var(--display);letter-spacing:-.02em}
.service-methods dd{margin:0;color:var(--muted);font-size:.88rem;line-height:1.65}

.service-collaboration{color:#fff;background:var(--dark)}
.service-collaboration .eyebrow{color:var(--accent)}
.service-collaboration h2{color:#fff}
.service-collaboration__grid>div:last-child>p{color:#d5e1df}
.service-collaboration .text-link{color:#fff}
.service-collaboration .text-link:hover{color:var(--accent)}

.service-detail-cta{background:color-mix(in oklch,var(--primary),white 86%)}
.service-detail-cta__inner{display:flex;align-items:end;justify-content:space-between;gap:48px}
.service-detail-cta h2{margin-top:14px;font-size:clamp(2.25rem,4vw,4.1rem)}
.service-detail-cta p{max-width:60ch;margin:16px 0 0;color:var(--muted)}
.service-detail-cta .service-person__actions{flex:none;margin-top:0}
.service-detail-cta .btn-ghost{border-color:color-mix(in oklch,var(--dark),transparent 75%);background:transparent}

@media(max-width:960px){
  .service-journey--integrated .service-journey__list{grid-template-columns:1fr;gap:13px}
  .service-tools__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-tools__grid>div{min-height:0}
  .service-person__grid{grid-template-columns:.82fr 1.18fr;gap:42px}
  .service-person--secondary .service-person__grid{grid-template-columns:1.18fr .82fr}
  .service-person__portrait{position:static}
  .service-person__portrait img{height:620px;min-height:0}
  .service-useful__grid,.service-methods__grid,.service-collaboration__grid{grid-template-columns:1fr;gap:38px}
  .service-detail-cta__inner{align-items:flex-start;flex-direction:column}
}


@media(max-width:700px){
  .service-journey--integrated .service-journey__list{margin-top:30px}
  .service-journey--integrated .service-journey__list li{padding:23px 20px}
  .service-journey--integrated .service-journey__list h3{margin-top:18px}
  .service-tools{margin-top:48px;padding-top:30px}
  .service-tools__heading{display:block}
  .service-tools__heading>p{margin-top:12px}
  .service-tools__grid{grid-template-columns:1fr;margin-top:20px}
  .service-detail-page main{padding-top:68px}
  .service-person{padding-block:12px 56px}
  .service-person__grid{grid-template-columns:1fr;gap:0}
  .service-person--secondary .service-person__grid{grid-template-columns:1fr;gap:0}
  .service-person--secondary .service-person__portrait,.service-person--secondary .service-person__copy{grid-column:auto;grid-row:auto}
  .service-person__portrait img{height:auto;aspect-ratio:4/5;border-radius:0 0 24px 24px}
  .service-person__portrait--alice{border-radius:0 0 24px 24px}
  .service-person__portrait figcaption{font-size:.68rem}
  .service-person__copy{padding-top:36px}
  .service-person__copy :is(h1,.professional-name){font-size:clamp(3.1rem,15vw,4.7rem)}
  .service-person__intro{font-size:.96rem}
  .service-person__actions{align-items:stretch;flex-direction:column}
  .service-person__actions .btn{width:100%}
  .service-person__actions .text-link{justify-content:center;min-height:44px}
   .service-needs--compact{margin-top:36px}
   .service-needs--compact ul{grid-template-columns:1fr}
   .service-contact{grid-template-columns:1fr;gap:18px}
   .service-contact__links{justify-items:start;text-align:start}
   .service-useful,.service-journey,.service-methods,.service-collaboration,.service-detail-cta{padding-block:58px}
  .service-journey__list{margin-top:32px}
  .service-journey__list li{grid-template-columns:42px 1fr;gap:15px;padding:25px 0}
  .service-methods dl>div{grid-template-columns:1fr;gap:7px;padding:17px 0}
  .service-detail-cta__inner{gap:28px}
  .service-detail-cta .service-person__actions{width:100%}
}

/* Shared closing block: compact CTA and reference-led information architecture. */
.site-footer{padding:0;color:#fff;background:var(--tint-aqua,#edf7f5)}
.site-footer__shell{overflow:hidden;border-radius:clamp(24px,3vw,46px) clamp(24px,3vw,46px) 0 0;background:var(--dark);box-shadow:0 -10px 46px color-mix(in oklch,var(--dark),transparent 90%)}
.site-footer__information{display:grid;grid-template-columns:1.08fr .7fr 1.12fr;gap:clamp(42px,6vw,105px);padding-block:clamp(34px,4vw,54px)}
.site-footer__information h3{margin:0 0 24px;color:var(--accent);font-size:clamp(1rem,1.35vw,1.3rem);font-weight:650;letter-spacing:.01em;text-transform:uppercase}
.site-footer__about{max-width:410px}
.site-footer .brand{color:#fff;white-space:nowrap}
.site-footer__about>p{margin-top:20px;color:#e3ebe9;font-size:.95rem;line-height:1.62}
.site-footer__compact-cta{margin-top:24px;padding-top:22px;border-top:1px solid #ffffff26}
.site-footer__compact-cta .eyebrow{color:var(--accent)}
.site-footer__compact-cta h2{max-width:390px;margin-top:7px;color:#fff;font-size:clamp(1.25rem,1.65vw,1.75rem);line-height:1.08;letter-spacing:-.025em}
.site-footer__compact-cta p{max-width:380px;margin:10px 0 16px;color:#d8e3e1;font-size:.84rem;line-height:1.5}
.site-footer__compact-cta .btn{min-height:44px;padding:10px 16px}
.site-footer__about .site-footer__disclaimer{margin-top:20px;color:#9fb4b0;font-size:.76rem;line-height:1.5}
.site-footer__sitemap{display:grid;align-content:start;justify-items:start;gap:12px}
.site-footer__sitemap h3{margin-bottom:10px}
.site-footer__sitemap a{color:#f5f8f7;font-size:.92rem}
.site-footer__contact{display:grid;align-content:start;gap:27px}
.site-footer__location p{margin:0;color:#edf3f2;line-height:1.55}
.site-footer__directions{display:inline-flex;align-items:center;gap:10px;width:max-content;margin-top:5px;color:#fff;font-weight:650}
.site-footer__hours h3{margin-bottom:14px}
.site-footer__hours>div{display:flex;justify-content:space-between;gap:22px;padding:9px 0;border-bottom:1px dashed #ffffff52;color:#edf3f2;font-size:.88rem}
.site-footer__hours>div:last-child{border-bottom:0}
.site-footer__faq-trigger{margin-top:14px;padding:0;border:0;color:#fff;background:transparent;font:600 .84rem var(--body);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.site-footer__faq-trigger:hover,.site-footer__faq-trigger:focus-visible{color:#fff;opacity:.78}
.site-footer__social h3{margin-bottom:12px}
.site-footer__social-links{display:flex;flex-wrap:wrap;gap:9px}
.site-footer__social-links a{display:grid;place-items:center;width:42px;height:42px;border:1px solid #ffffffb8;border-radius:50%;color:#fff}
.site-footer__social-links a:hover{color:var(--accent)}
.social-icon{width:20px;height:20px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-footer__base{display:flex;justify-content:space-between;gap:24px;align-items:center;padding-block:17px;border-top:1px solid #ffffff25;color:#b9c9c6}
.site-footer__legal{display:flex;flex-wrap:wrap;gap:14px 24px}
.site-footer__legal a,.site-footer__base small{font-size:.76rem}
.site-footer a{transition:color .3s var(--ease),transform .3s var(--ease)}
.site-footer__sitemap a:hover,.site-footer__legal a:hover{color:var(--accent)}
.site-footer__directions:hover .arrow{transform:translateX(4px)}

@media(max-width:980px){
  .site-footer__information{grid-template-columns:1fr 1fr}
  .site-footer__about{grid-column:1/-1;max-width:650px}
}

@media(max-width:640px){
  .site-footer{padding:0}
  .site-footer__shell{border-radius:22px 22px 0 0}
  .site-footer__information{grid-template-columns:1fr;gap:30px;padding-block:32px}
  .site-footer__about{grid-column:auto}
  .site-footer__compact-cta{margin-top:20px;padding-top:18px}
  .site-footer__compact-cta h2{font-size:1.45rem}
  .site-footer__information h3{margin-bottom:16px}
  .site-footer__sitemap{grid-template-columns:1fr 1fr;gap:11px 24px}
  .site-footer__sitemap h3{grid-column:1/-1}
  .site-footer__hours>div{display:grid;gap:2px}
  .site-footer__social-links{display:flex}
  .site-footer__social-links a{width:44px;height:44px}
  .site-footer__base{flex-direction:column;align-items:flex-start;padding-block:17px}
}

/* Contact page: a focused conversion path with the shared Linfa language. */
.contact-hero{position:relative;min-height:min(760px,88vh);display:flex;align-items:center;overflow:hidden;background:var(--surface)}
.contact-hero-image,.contact-final-image{position:absolute;inset:0;background:center/cover no-repeat}
.contact-hero-image{background-image:url('../images/percorso-sfondo.jpg')}
.contact-hero-image:after,.contact-final-image:after{content:'';position:absolute;inset:0;background:#ffffff62}
.contact-hero-content{position:relative;z-index:1;width:100%;padding-block:150px 70px}
.contact-hero-panel{width:min(610px,100%);padding:54px 60px;background:#fffffff4}
.contact-hero-panel h1{margin-top:22px}.contact-hero-panel p{max-width:530px;margin-top:25px;color:var(--muted);font-size:1.1rem}
.contact-intro{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.contact-address h2{margin-top:22px}.contact-address>p{max-width:540px;margin-top:25px;color:var(--muted);font-size:1.05rem}
.address-block{display:grid;gap:6px;margin-top:46px;padding-top:22px;border-top:1px solid var(--border);font-style:normal}.address-block strong{font:600 1.25rem var(--display)}.address-block span{color:var(--muted)}.address-block small{margin-top:12px;color:var(--muted);font-size:.82rem}
.contact-channels{display:grid;align-content:start;border-top:1px solid var(--border)}.channel{display:flex;align-items:center;gap:20px;padding:24px 0;border-bottom:1px solid var(--border);transition:color .3s,transform .3s}.channel:hover{color:var(--primary);transform:translateX(5px)}.channel-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border:1px solid var(--border);border-radius:50%;color:var(--dark);font:1.2rem var(--display)}.channel small,.quick-action small{display:block;margin-bottom:4px;color:var(--muted);font-size:.76rem}.channel strong,.quick-action strong{font:600 1.1rem var(--display)}
.contact-map-section{padding-top:0}.map-placeholder{position:relative;min-height:430px;overflow:hidden;border:1px solid var(--border);background:#e9f1ed}.map-grid{position:absolute;inset:0;background:#e9f1ed}.map-pin{position:absolute;inset:45% auto auto 50%;display:grid;place-items:center;width:54px;height:54px;border:7px solid #ffffffaa;border-radius:50%;color:#fff;background:var(--primary);font-size:1.5rem;transform:translate(-50%,-50%);box-shadow:0 5px 15px #21404330}.map-label{position:absolute;inset:auto 24px 24px auto;display:grid;gap:3px;padding:14px 16px;background:#fffffff2}.map-label span{color:var(--muted);font-size:.8rem}.map-meta{display:flex;justify-content:space-between;gap:18px;padding-top:17px;color:var(--muted);font-size:.86rem}.map-meta .text-link{margin-top:0}
.hours-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;align-items:start}.hours-grid h2{margin-top:22px}.hours-grid .copy{max-width:460px;margin-top:25px;color:var(--muted);font-size:1.05rem}.hours-list{border-top:1px solid var(--border)}.hours-row{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid var(--border)}.hours-row span{color:var(--muted);font-size:.9rem}.hours-row.current{padding-inline:14px;border-color:var(--primary);background:color-mix(in oklch,var(--primary),white 88%)}.hours-row.current strong:after{content:'oggi';margin-inline-start:10px;color:var(--primary);font:600 .68rem var(--mono);letter-spacing:.06em;text-transform:uppercase}.hours-row.closed{color:var(--muted)}
.booking-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;align-items:start}.booking-intro h2{margin-top:22px}.booking-intro>p{max-width:440px;margin-top:25px;color:var(--muted);font-size:1.05rem}.form-note{padding-top:18px;border-top:1px solid var(--border);font-size:.84rem!important}.contact-form{display:grid;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form label{font-size:.82rem;font-weight:600}.contact-form input,.contact-form textarea,.contact-form select{display:block;width:100%;margin-top:7px;padding:13px 14px;border:1px solid var(--border);border-radius:8px;color:var(--fg);background:#fff;outline:0;transition:border-color .25s,background .25s}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--primary)}.contact-form .invalid{border-color:var(--accent)}.form-error,.form-success{margin:0;color:var(--accent);font-size:.84rem}.form-success{color:#248055}.contact-form button{justify-self:start}
.quick-section{padding-top:30px}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.quick-action{display:flex;align-items:center;gap:16px;padding:25px 22px;border:1px solid var(--border);background:#fff;transition:transform .3s,box-shadow .3s}.quick-action:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.quick-action .channel-icon{flex-basis:42px;width:42px;height:42px}
.faq-wrap{max-width:920px}.faq-wrap>h2{margin-top:22px}.contact-faq{max-width:none;margin-top:46px}.contact-faq details{padding:22px 0}.contact-faq summary{font-size:1.2rem}.contact-faq p{max-width:650px;line-height:1.65}
.contact-final-cta{position:relative;min-height:430px;display:flex;align-items:center;overflow:hidden;background:var(--surface)}.contact-final-image{background-image:url('../images/percorso-sfondo.jpg')}.contact-final-content{position:relative;z-index:1;width:100%;max-width:800px;padding-block:100px}.contact-final-content h2{max-width:700px;margin:22px 0 32px}.footer-description{max-width:210px;margin:14px 0 0;color:var(--muted);font-size:.84rem}.footer-contact{display:grid;align-content:start;gap:6px}
@media(max-width:900px){.contact-intro,.hours-grid,.booking-grid{grid-template-columns:1fr;gap:55px}.contact-hero-panel{padding:44px 40px}.quick-actions{grid-template-columns:1fr}.contact-final-content{padding-block:78px}.map-meta{align-items:start;flex-direction:column}}
@media(max-width:640px){.contact-hero{min-height:700px;align-items:end}.contact-hero-image:after,.contact-final-image:after{background:#ffffff8f}.contact-hero-content{padding-block:100px 28px}.contact-hero-panel{padding:34px 24px}.contact-hero-panel h1{font-size:clamp(3rem,15vw,5rem)}.contact-hero-panel p{font-size:1rem}.contact-intro{gap:42px}.address-block{margin-top:34px}.map-placeholder{min-height:300px}.map-label{inset-inline:16px;inset-block-end:16px}.hours-row{display:grid;gap:4px}.form-row{grid-template-columns:1fr;gap:16px}.contact-final-cta{min-height:390px}.contact-final-content{padding-block:68px}.contact-final-content h2{font-size:clamp(2.3rem,11vw,4rem)}}

/* Full-bleed Linfa heroes: image first, copy over a quiet bottle-green veil. */
.hero-image,.page-hero-image,.contact-hero-image{inset:0}
.hero-image:after,.page-hero-image:after,.contact-hero-image:after{background:linear-gradient(90deg,#214043e8 0%,#214043b8 38%,#21404345 68%,transparent 100%)}
.hero-copy,.page-hero .hero-content,.contact-hero-panel{max-width:820px;padding:0;background:transparent;color:#fff}
.hero-copy .eyebrow,.page-hero .eyebrow,.contact-hero-panel .eyebrow{color:color-mix(in oklch,var(--accent),white 18%)}
.hero-copy p,.page-hero p,.contact-hero-panel p{color:#ffffffdc}
.hero-copy h1,.page-hero h1,.contact-hero-panel h1{color:#fff}
.page-hero .hero-content{padding-block:150px 80px}
.contact-hero{background:var(--dark)}
.contact-hero-content{padding-block:150px 80px}
.contact-hero-panel h1{margin-top:22px}
.contact-final-image:after{background:linear-gradient(90deg,#214043b8 0%,#21404350 52%,transparent 100%)}
.contact-final-content h2,.contact-final-content .eyebrow{color:#fff}

@media(max-width:640px){
  .hero-image:after,.page-hero-image:after,.contact-hero-image:after{background:linear-gradient(0deg,#214043e8 0%,#2140438a 48%,#21404325 100%)}
  .hero-copy,.page-hero .hero-content,.contact-hero-panel{padding:0}
  .page-hero .hero-content,.contact-hero-content{padding-block:100px 28px}
  .contact-final-image:after{background:linear-gradient(0deg,#214043d9 0%,#21404355 70%,transparent 100%)}
}

/* Team page: human profiles, editorial pacing, Linfa green depth. */
.team-page{background:var(--bg)}
.team-hero{position:relative;min-height:min(880px,92vh);display:flex;align-items:end;overflow:hidden;color:#fff;background:var(--dark)}
.team-hero-image,.team-final-image{position:absolute;inset:0;background-position:center;background-size:cover;transition:transform .6s ease}
.team-hero-image{background-image:url('../images/msqav1hl-Screenshot-2026-08-12-alle-18.24.37.webp')}
.team-hero-image:after,.team-final-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#214043e6 0%,#214043af 42%,#21404335 72%,transparent 100%)}
.team-hero:hover .team-hero-image,.team-final-cta:hover .team-final-image{transform:scale(1.018)}
.team-hero-content{position:relative;z-index:1;width:100%;padding-block:170px 78px}
.team-hero-content .eyebrow,.team-final-content .eyebrow,.team-collaboration .eyebrow{color:color-mix(in oklch,var(--accent),white 18%)}
.team-hero-content h1{max-width:980px}
.team-hero-content p{max-width:700px;margin:28px 0 32px;color:#ffffffdc;font-size:1.16rem}

.team-intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(50px,8vw,120px);align-items:center}
.team-intro-copy h2{margin-top:22px;max-width:650px}
.team-intro-copy p{max-width:590px;margin-top:25px;color:var(--muted);font-size:1.06rem}
.team-intro-photo{margin:0;overflow:hidden}
.team-intro-photo img{aspect-ratio:5/4;transition:transform .5s ease}
.team-intro-photo:hover img{transform:scale(1.025)}
.team-intro-photo figcaption{margin-top:11px;color:var(--muted);font-size:.76rem}

.value-panels{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.value-panel{min-height:350px;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);background:#fff}
.value-panel img{height:190px;transition:transform .5s ease}
.value-panel:hover img{transform:scale(1.035)}
.value-panel>div{display:flex;flex:1;flex-direction:column;justify-content:flex-end;padding:26px}
.value-panel>div>span{margin-bottom:auto;color:var(--primary);font:600 .72rem var(--mono);letter-spacing:.08em}
.value-panel h3{margin-top:28px;font-size:1.45rem}
.value-panel p{margin:10px 0 0;color:var(--muted);font-size:.9rem}
.value-panel:nth-child(n+4){min-height:260px;background:var(--dark);color:#fff;border-color:var(--dark)}
.value-panel:nth-child(n+4) p{color:#ffffffb8}
.value-panel:nth-child(n+4)>div>span{color:var(--accent)}

.team-profiles-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end;margin-bottom:80px}
.team-profiles-heading .eyebrow{grid-column:1/-1}
.team-profiles-heading p{max-width:440px;color:var(--muted)}
.professional-profile{display:grid;grid-template-columns:1fr 1fr;min-height:650px;margin-top:40px;border-top:1px solid var(--border);background:#fff}
.professional-profile:nth-of-type(odd){direction:rtl}
.professional-profile:nth-of-type(odd)>*{direction:ltr}
.professional-photo{overflow:hidden;min-height:650px;background:var(--surface)}
.professional-photo img{height:100%;filter:saturate(.84);transition:transform .55s ease,filter .35s ease}
.professional-photo--alice img{object-position:center 72%}
.professional-profile:hover .professional-photo img{transform:scale(1.025);filter:saturate(1)}
.professional-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(40px,7vw,100px)}
.professional-copy h3{margin-top:15px;font-size:clamp(2rem,3.4vw,3.6rem)}
.professional-role{margin-top:13px;color:var(--primary);font-size:.86rem;font-weight:600;letter-spacing:.02em}
.professional-copy>p:not(.professional-role){max-width:510px;margin-top:24px;color:var(--muted);font-size:1.02rem}
.skills{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.skills span{padding:7px 11px;border:1px solid var(--border);border-radius:999px;color:var(--muted);background:var(--surface);font-size:.75rem}
.professional-copy blockquote{max-width:500px;margin:38px 0 28px;padding-inline-start:20px;border-inline-start:2px solid var(--primary);font:1.25rem/1.35 var(--display);letter-spacing:-.015em}
.professional-copy .btn{font-size:.82rem}
.mockup-notice{max-width:760px;padding:16px 18px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--muted);font-size:.82rem;line-height:1.55}
.mockup-notice strong{color:var(--fg)}
.profile-training{width:100%;max-width:540px;margin-top:26px;border-block:1px solid var(--border)}
.profile-training h4{margin:0;padding:14px 0 8px;color:var(--fg);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}
.profile-training summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;color:var(--fg);font-weight:600;cursor:pointer;list-style:none}
.profile-training summary::-webkit-details-marker{display:none}
.profile-training summary:after{content:'+';color:var(--primary);font-size:1.2rem;font-weight:400}
.profile-training[open] summary:after{content:'−'}
.profile-training summary small{margin-inline-start:auto;color:var(--muted);font-size:.68rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}
.profile-training ul{margin:0;padding:0 0 16px 18px;color:var(--muted);font-size:.86rem;line-height:1.65}
.professional-contact{display:flex;flex-wrap:wrap;gap:8px 18px;width:100%;max-width:540px;margin:0 0 24px;padding-top:16px;border-top:1px solid var(--border)}
.professional-contact a{color:var(--fg);font-size:.86rem;text-decoration:none}
.professional-contact a:hover{color:var(--accent)}
.professional-contact .social-link{display:inline-flex;align-items:center;gap:7px}
.professional-contact svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7}
.professional-availability{display:grid;gap:3px!important;width:100%;max-width:500px;margin:0 0 24px!important;color:var(--fg)!important;font-size:.88rem!important}
.professional-availability span{color:var(--muted);font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}

.team-collaboration{color:#fff;background:var(--dark)}
.collaboration-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(50px,8vw,110px);align-items:center}
.collaboration-photo{overflow:hidden}
.collaboration-photo img{min-height:560px;aspect-ratio:5/4;transition:transform .5s ease}
.collaboration-photo--training img{object-position:left center}
.collaboration-photo:hover img{transform:scale(1.025)}
.collaboration-copy h2{margin-top:22px}
.collaboration-copy p{max-width:530px;margin-top:27px;color:#ffffffbf;font-size:1.06rem}
.collaboration-copy .text-link{color:#fff}
.collaboration-copy .text-link:hover{color:var(--accent)}

.learning-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,9vw,130px);align-items:start}
.learning-grid h2{margin-top:22px}
.learning-copy{padding-top:34px;border-top:1px solid var(--border)}
.learning-copy p{max-width:570px;margin:0 0 25px;color:var(--muted);font-size:1.05rem}

.studio-mosaic{display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:260px 260px;gap:16px}
.studio-mosaic figure{position:relative;margin:0;overflow:hidden;background:var(--dark)}
.studio-mosaic figure:first-child{grid-row:1/3}
.studio-mosaic figure:nth-child(4){grid-column:2;grid-row:2}
.studio-mosaic img{height:100%;transition:transform .55s ease}
.studio-mosaic figure:hover img{transform:scale(1.035)}
.studio-mosaic figure:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(0deg,#214043b8,transparent)}
.studio-mosaic figcaption{position:absolute;z-index:1;inset:auto 20px 17px;color:#fff;font-size:.82rem}

.team-faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(50px,9vw,130px);align-items:start}
.team-faq-grid h2{margin-top:22px}
.team-faq{max-width:none}
.team-faq details{padding:23px 0}
.team-faq summary{position:relative;padding-inline-end:34px;list-style:none}
.team-faq summary::-webkit-details-marker{display:none}
.team-faq summary:after{content:'+';position:absolute;inset-inline-end:0;color:var(--primary);font:1.4rem var(--body);transition:transform .3s ease}
.team-faq details[open] summary:after{transform:rotate(45deg)}
.team-faq details p{line-height:1.65}

.team-final-cta{position:relative;min-height:540px;display:flex;align-items:center;overflow:hidden;color:#fff;background:var(--dark)}
.team-final-image{background-image:url('../images/percorso-sfondo.jpg')}
.team-final-content{position:relative;z-index:1;width:100%;padding-block:105px}
.team-final-content h2{max-width:760px;margin-top:20px;color:#fff}
.team-final-content p{max-width:540px;margin:24px 0 30px;color:#ffffffd0;font-size:1.08rem}
.team-reveal{opacity:1;transform:none}
.team-motion .team-reveal{opacity:0;transform:translateY(18px);transition:opacity .32s ease,transform .32s ease}
.team-motion .team-reveal.is-visible{opacity:1;transform:none}
.team-motion .professional-profile.is-visible .skills span{animation:teamBadgeIn .3s ease both}
.team-motion .professional-profile.is-visible .skills span:nth-child(2){animation-delay:.06s}
.team-motion .professional-profile.is-visible .skills span:nth-child(3){animation-delay:.12s}
@keyframes teamBadgeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

@media(max-width:900px){
  .team-intro,.collaboration-grid,.learning-grid,.team-faq-grid{grid-template-columns:1fr;gap:48px}
  .value-panels{grid-template-columns:repeat(2,1fr)}
  .team-profiles-heading{grid-template-columns:1fr;gap:24px;margin-bottom:55px}
  .professional-profile{min-height:0}
  .professional-photo{min-height:540px}
  .professional-copy{padding:55px 42px}
  .collaboration-photo img{min-height:420px}
}

@media(max-width:640px){
  .team-hero{min-height:760px}
  .team-hero-image:after,.team-final-image:after{background:linear-gradient(0deg,#214043e8 0%,#21404391 52%,#21404325 100%)}
  .team-hero-content{padding-block:118px 42px}
  .team-hero-content p{font-size:1rem}
  .team-intro{gap:38px}
  .team-intro-photo img{aspect-ratio:4/3}
  .value-panels{grid-template-columns:1fr}
  .value-panel{min-height:0}
  .value-panel>div{min-height:220px}
  .value-panel:nth-child(n+4){min-height:220px}
  .professional-profile,.professional-profile:nth-of-type(odd){grid-template-columns:1fr;direction:ltr;margin-top:28px}
  .professional-photo{min-height:0}
  .professional-photo img{height:auto;aspect-ratio:4/5}
  .professional-copy{padding:36px 24px 46px}
  .professional-copy blockquote{margin-block:30px 24px}
  .professional-copy .btn{width:100%}
  .collaboration-photo img{min-height:0;aspect-ratio:4/3}
  .studio-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:300px 180px 180px}
  .studio-mosaic figure:first-child{grid-column:1/3;grid-row:auto}
  .studio-mosaic figure:nth-child(4){grid-column:span 2;grid-row:auto}
  .team-final-cta{min-height:500px;align-items:end}
  .team-final-content{padding-block:80px 48px}
}

@media(prefers-reduced-motion:reduce){.team-motion .team-reveal{opacity:1;transform:none}.team-motion .professional-profile.is-visible .skills span{animation:none}}

/* Services page: four disciplines told as one coordinated care journey. */
.services-page{background:var(--bg)}
.services-hero{position:relative;min-height:min(880px,92vh);display:flex;align-items:end;overflow:hidden;color:#fff;background:var(--dark)}
.services-hero-image,.services-final-image{position:absolute;inset:0;background-position:center;background-size:cover;transition:transform .6s ease}
.services-hero-image{background-image:url('../images/percorso-sfondo.jpg')}
.services-hero-image:after,.services-final-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#214043e8 0%,#214043b0 42%,#2140433d 72%,transparent 100%)}
.services-hero:hover .services-hero-image,.services-final-cta:hover .services-final-image{transform:scale(1.018)}
.services-hero-content{position:relative;z-index:1;width:100%;padding-block:170px 76px}
.services-hero-content .eyebrow,.services-final-content .eyebrow,.services-integrated .eyebrow{color:color-mix(in oklch,var(--accent),white 18%)}
.services-hero-content h1{max-width:1000px}
.services-hero-content p{max-width:720px;margin:28px 0 0;color:#ffffffdc;font-size:1.16rem}
.btn-outline-light{color:#fff;border-color:#ffffff80;background:#21404338}
.btn-outline-light:hover{background:#2140438c}

.services-intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(50px,8vw,120px);align-items:center}
.services-intro-copy h2{max-width:700px;margin-top:22px}
.services-intro-copy p{max-width:590px;margin-top:25px;color:var(--muted);font-size:1.06rem}
.services-intro-photo{margin:0;overflow:hidden}
.services-intro-photo img{aspect-ratio:5/4;transition:transform .5s ease}
.services-intro-photo:hover img{transform:scale(1.025)}
.services-intro-photo figcaption{margin-top:11px;color:var(--muted);font-size:.76rem}

.services-chapters{padding-block:clamp(80px,10vw,150px);background:var(--surface)}
.services-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:28px 70px;align-items:end;margin-bottom:76px}
.services-heading .eyebrow{grid-column:1/-1}
.services-heading p{max-width:440px;color:var(--muted)}
.service-chapter{width:min(1500px,calc(100% - 40px));min-height:650px;display:grid;grid-template-columns:1.05fr .95fr;margin:32px auto 0;overflow:hidden;background:#fff}
.service-chapter:nth-of-type(even){direction:rtl}
.service-chapter:nth-of-type(even)>*{direction:ltr}
.service-chapter-photo{min-height:650px;overflow:hidden;background:var(--border)}
.service-chapter-photo img{height:100%;filter:saturate(.86);transition:transform .55s ease,filter .35s ease}
.service-chapter:hover .service-chapter-photo img{transform:scale(1.025);filter:saturate(1)}
.service-chapter-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(40px,6.5vw,96px)}
.service-chapter-copy h3{margin-top:15px;font-size:clamp(2.8rem,5vw,5.4rem)}
.service-chapter-copy>p{max-width:520px;margin-top:25px;color:var(--muted);font-size:1.05rem}
.service-details{width:100%;margin-top:32px;border-top:1px solid var(--border)}
.service-details>div{display:grid;grid-template-columns:140px 1fr;gap:24px;padding:17px 0;border-bottom:1px solid var(--border)}
.service-details span{color:var(--primary);font:600 .67rem/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.service-details p{margin:0;color:var(--muted);font-size:.88rem}
.service-chapter-copy .btn{margin-top:30px;font-size:.84rem}

.services-integrated{color:#fff;background:var(--dark)}
.integrated-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(50px,8vw,110px);align-items:center}
.integrated-photo{overflow:hidden}
.integrated-photo img{min-height:590px;aspect-ratio:5/4;transition:transform .5s ease}
.integrated-photo:hover img{transform:scale(1.025)}
.integrated-copy h2{margin-top:22px;color:#fff}
.integrated-copy>p{max-width:540px;margin-top:27px;color:#ffffffbf;font-size:1.06rem}
.discipline-flow{margin-top:40px;padding-top:26px;border-top:1px solid #ffffff35}
.discipline-flow>div:first-child{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;color:#ffffffc9;font-size:.82rem}
.discipline-flow b{color:var(--accent);font-weight:400}
.discipline-flow .flow-arrow{margin:15px 0;color:var(--accent);font-size:1.25rem}
.discipline-flow>strong{font:500 clamp(1.5rem,2.5vw,2.3rem) var(--display);letter-spacing:-.025em}

.services-process{display:grid;grid-template-columns:repeat(5,1fr);margin:0;padding:0;border-top:1px solid var(--border);list-style:none}
.services-process li{min-height:265px;padding:28px 22px 20px 0;border-inline-end:1px solid var(--border)}
.services-process li:not(:first-child){padding-inline-start:22px}
.services-process li:last-child{border-inline-end:0}
.services-process li>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:var(--dark);background:var(--primary);font:600 .7rem var(--mono)}
.services-process h3{margin-top:55px;font-size:1.15rem}
.services-process p{margin-top:9px;color:var(--muted);font-size:.86rem}

.audience-panels{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:270px 270px;gap:16px}
.audience-panel{position:relative;overflow:hidden;color:#fff;background:var(--dark)}
.audience-panel:first-child{grid-row:1/3}
.audience-panel img{height:100%;transition:transform .55s ease}
.audience-panel:hover img{transform:scale(1.035)}
.audience-panel:after{content:'';position:absolute;inset:42% 0 0;background:linear-gradient(0deg,#214043d9,transparent)}
.audience-panel>div{position:absolute;z-index:1;inset:auto 24px 21px}
.audience-panel h3{font-size:1.5rem}
.audience-panel p{max-width:300px;margin-top:6px;color:#ffffffc8;font-size:.84rem}

.services-faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(50px,9vw,130px);align-items:start}
.services-faq-grid h2{margin-top:22px}
.services-faq-grid>div:first-child>p{max-width:390px;margin-top:24px;color:var(--muted)}
.services-faq{max-width:none}
.services-faq details{padding:23px 0}
.services-faq summary{position:relative;padding-inline-end:34px;list-style:none}
.services-faq summary::-webkit-details-marker{display:none}
.services-faq summary:after{content:'+';position:absolute;inset-inline-end:0;color:var(--primary);font:1.4rem var(--body);transition:transform .3s ease}
.services-faq details[open] summary:after{transform:rotate(45deg)}
.services-faq details p{line-height:1.65}

.services-final-cta{position:relative;min-height:560px;display:flex;align-items:center;overflow:hidden;color:#fff;background:var(--dark)}
.services-final-image{background-image:url('../images/percorso-sfondo.jpg')}
.services-final-content{position:relative;z-index:1;width:100%;padding-block:110px}
.services-final-content h2{max-width:820px;margin-top:20px;color:#fff}
.services-final-content p{max-width:570px;margin-top:25px;color:#ffffffd0;font-size:1.08rem}
.services-reveal{opacity:1;transform:none}
.services-motion .services-reveal{opacity:0;transform:translateY(18px);transition:opacity .32s ease,transform .32s ease}
.services-motion .services-reveal.is-visible{opacity:1;transform:none}

@media(max-width:900px){
  .services-intro,.integrated-grid,.services-faq-grid{grid-template-columns:1fr;gap:48px}
  .services-heading{grid-template-columns:1fr;gap:24px;margin-bottom:55px}
  .services-heading .eyebrow{grid-column:auto}
  .service-chapter{grid-template-columns:1fr;min-height:0}
  .service-chapter:nth-of-type(even){direction:ltr}
  .service-chapter-photo{min-height:480px}
  .service-chapter-copy{padding:55px 42px}
  .integrated-photo img{min-height:430px}
  .services-process{grid-template-columns:repeat(2,1fr)}
  .services-process li{border-bottom:1px solid var(--border)}
  .services-process li:nth-child(even){border-inline-end:0}
  .audience-panels{grid-template-columns:1fr 1fr;grid-template-rows:320px 230px 230px}
  .audience-panel:first-child{grid-column:1/3;grid-row:auto}
}

@media(max-width:640px){
  .services-hero{min-height:760px}
  .services-hero-image:after,.services-final-image:after{background:linear-gradient(0deg,#214043e8 0%,#21404391 52%,#21404325 100%)}
  .services-hero-content{padding-block:118px 42px}
  .services-hero-content p{font-size:1rem}
  .btn-outline-light{width:100%}
  .services-intro{gap:38px}
  .services-intro-photo img{aspect-ratio:4/3}
  .services-heading{margin-bottom:42px}
  .service-chapter{width:100%;margin-top:20px}
  .service-chapter-photo{min-height:0}
  .service-chapter-photo img{height:auto;aspect-ratio:4/3}
  .service-chapter-copy{padding:36px 24px 46px}
  .service-chapter-copy h3{font-size:clamp(2.5rem,14vw,4rem)}
  .service-details>div{grid-template-columns:1fr;gap:7px}
  .service-chapter-copy .btn{width:100%}
  .integrated-photo img{min-height:0;aspect-ratio:4/3}
  .discipline-flow>div:first-child{gap:7px}
  .services-process{grid-template-columns:1fr}
  .services-process li,.services-process li:not(:first-child){min-height:0;display:grid;grid-template-columns:44px 1fr;gap:20px;padding:22px 0;border-inline-end:0}
  .services-process h3{margin-top:0}
  .audience-panels{grid-template-columns:1fr 1fr;grid-template-rows:280px 190px 190px}
  .audience-panel:first-child{grid-column:1/3}
  .audience-panel>div{inset:auto 16px 15px}
  .audience-panel h3{font-size:1.25rem}
  .audience-panel p{display:none}
  .services-final-cta{min-height:520px;align-items:end}
  .services-final-content{padding-block:80px 48px}
}

@media(prefers-reduced-motion:reduce){.services-motion .services-reveal{opacity:1;transform:none}}

/* Privacy-first booking gateway: the site only selects a public Google booking page. */
body.booking-locked{overflow:hidden}
.booking-dialog[hidden]{display:none}
.booking-dialog{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:clamp(12px,3vw,34px)}
.booking-dialog__overlay{position:absolute;inset:0;background:rgba(246,248,245,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:bookingFade .28s ease both}
.booking-dialog__panel{position:relative;width:min(1060px,100%);max-height:90vh;overflow:auto;border:1px solid #dde7e1;border-radius:24px;color:#243b36;background:#fcfbf7;box-shadow:0 30px 90px rgba(36,59,54,.16);animation:bookingRise .32s cubic-bezier(.22,1,.36,1) both;overscroll-behavior:contain}
.booking-dialog__header{display:grid;grid-template-columns:1fr auto;gap:36px;padding:clamp(30px,4vw,52px) clamp(24px,5vw,64px) 24px}
.booking-dialog__eyebrow{margin-bottom:16px;color:#315e55;font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.booking-dialog__header h2{max-width:720px;font-size:clamp(2.6rem,5vw,4.8rem);line-height:1;letter-spacing:-.045em}
.booking-dialog__header p{max-width:68ch;margin:20px 0 0;color:#6c7874;font-size:.98rem}
.booking-dialog__close{display:grid;place-items:center;width:48px;height:48px;border:1px solid #dde7e1;border-radius:50%;color:#315e55;background:#fff;font-size:1.55rem;line-height:1;transition:transform .28s ease,background .28s ease}
.booking-dialog__close:hover{transform:rotate(4deg);background:#f2f7f3}
.booking-dialog__notice{margin:0 clamp(24px,5vw,64px);padding:15px 18px;border:1px solid #dde7e1;border-radius:12px;color:#5f6f69;background:#f3f7f3;font-size:.82rem;line-height:1.55}
.booking-dialog__content{padding:30px clamp(24px,5vw,64px) 38px}
.booking-professionals{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:0;border:0}
.booking-professionals legend{grid-column:1/-1;margin-bottom:7px;color:#243b36;font:600 .82rem var(--body);letter-spacing:.02em}
.booking-professional{position:relative;display:grid;grid-template-columns:60px 1fr 28px;align-items:center;gap:16px;min-height:94px;padding:15px 16px;border:1px solid #dde7e1;border-radius:16px;background:#fff;cursor:pointer;transition:border-color .28s ease,background .28s ease,transform .28s ease,box-shadow .28s ease}
.booking-professional:hover{transform:translateY(-2px);border-color:#aec7b7;box-shadow:0 10px 24px rgba(49,94,85,.08)}
.booking-professional:has(input:focus-visible){outline:3px solid color-mix(in oklch,#315e55,transparent 68%);outline-offset:2px}
.booking-professional:has(input:checked){border-color:#315e55;background:#eff6f1}
.booking-professional input{position:absolute;width:1px;height:1px;opacity:0}
.booking-professional img{width:60px;height:60px;border-radius:50%;object-fit:cover;filter:saturate(.82)}
.booking-professional__copy{display:grid;gap:4px}
.booking-professional__copy strong{font:600 1rem var(--display);letter-spacing:-.02em}
.booking-professional__copy small{color:#6c7874;font-size:.77rem;line-height:1.4}
.booking-professional__check{display:grid;place-items:center;width:26px;height:26px;border:1px solid #cbd9d1;border-radius:50%;color:transparent;background:#fff;font-size:.75rem}
.booking-professional input:checked~.booking-professional__check{border-color:#315e55;color:#fff;background:#315e55}
.booking-dialog__action{display:flex;align-items:center;gap:20px;margin-top:24px;padding-top:24px;border-top:1px solid #dde7e1}
.booking-dialog__action p{max-width:48ch;margin:0;color:#6c7874;font-size:.76rem}
.booking-dialog__action .btn:disabled{cursor:not-allowed;opacity:.46;box-shadow:none;transform:none}
.booking-dialog__error{margin-top:26px;padding:24px;border:1px solid #dde7e1;border-radius:16px;background:#f3f7f3}
.booking-dialog__error h3{max-width:680px;font-size:1.25rem}
.booking-dialog__error p{margin:10px 0 0;color:#6c7874}
.booking-dialog__error>div{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.booking-dialog__footer{display:flex;justify-content:space-between;gap:30px;padding:22px clamp(24px,5vw,64px) 28px;border-top:1px solid #dde7e1;background:#f8f7f2}
.booking-dialog__footer p{max-width:72ch;margin:0;color:#6c7874;font-size:.74rem}
.booking-dialog__footer a{flex:none;color:#315e55;font-size:.76rem;font-weight:600}
@keyframes bookingFade{from{opacity:0}to{opacity:1}}
@keyframes bookingRise{from{opacity:0;transform:translateY(14px) scale(.99)}to{opacity:1;transform:none}}
@media(max-width:720px){
  .booking-dialog{align-items:end;padding:0}
  .booking-dialog__panel{width:100%;max-height:100dvh;border-width:1px 0 0;border-radius:22px 22px 0 0}
  .booking-dialog__header{position:sticky;z-index:2;top:0;gap:16px;padding:24px 20px 18px;border-bottom:1px solid #dde7e1;background:#fcfbf7f5;backdrop-filter:blur(12px)}
  .booking-dialog__header h2{font-size:clamp(2.3rem,12vw,3.4rem)}
  .booking-dialog__header p{font-size:.9rem}
  .booking-dialog__notice{margin:20px}
  .booking-dialog__content{padding:4px 20px 28px}
  .booking-professionals{grid-template-columns:1fr}
  .booking-professional{grid-template-columns:54px 1fr 26px;min-height:86px;padding:13px}
  .booking-professional img{width:54px;height:54px}
  .booking-dialog__action{align-items:stretch;flex-direction:column}
  .booking-dialog__action .btn{width:100%}
  .booking-dialog__footer{align-items:flex-start;flex-direction:column;padding:20px}
}
@media(prefers-reduced-motion:reduce){.booking-dialog__overlay,.booking-dialog__panel{animation:none}}
.booking-gateway{padding:clamp(28px,4vw,48px);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);box-shadow:var(--shadow-soft)}
.booking-gateway h3{max-width:520px;margin-top:16px;font-size:clamp(1.7rem,3vw,2.6rem)}
.booking-gateway p{max-width:58ch;margin:18px 0 24px;color:var(--muted)}
.booking-gateway .text-link{display:flex;width:max-content;margin-top:18px}

/* 2026 design-system refinement: shared scale, rhythm and tonal depth. */
:root{
  --bg:#fff;
  --surface:#f7fafa;
  --surface-mint:oklch(97.5% .014 180);
  --surface-sand:oklch(97.5% .012 80);
  --surface-blue:oklch(97.5% .01 225);
  --surface-raised:oklch(99.4% .003 180);
  --fg:#24323a;
  --muted:#5f7076;
  --border:oklch(89.5% .014 185);
  --display:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --shadow-soft:0 12px 34px color-mix(in oklch,var(--dark),transparent 92%);
  --radius-sm:10px;
  --radius-md:16px;
  --ease:cubic-bezier(.22,1,.36,1);
}

body{font-size:15.5px;line-height:1.62;text-rendering:optimizeLegibility}
.wrap{width:min(1440px,calc(100% - clamp(40px,6vw,96px)))}
h1,h2,h3{text-wrap:balance}
h1{font-size:clamp(4.2rem,8.6vw,8.6rem);line-height:.96;letter-spacing:-.052em}
h2{font-size:clamp(2.65rem,4.8vw,5.2rem);line-height:1;letter-spacing:-.045em}
h3{font-size:clamp(1.25rem,1.7vw,1.65rem);line-height:1.16;letter-spacing:-.025em}
p{max-width:68ch;text-wrap:pretty}
.eyebrow{font-family:var(--body);font-size:.68rem;font-weight:600;letter-spacing:.095em}
.section{padding-block:clamp(76px,8vw,124px)}
.section-head{gap:clamp(32px,6vw,90px);margin-bottom:clamp(42px,5vw,70px)}
.section-head>div{max-width:850px}
.section-head p{max-width:48ch;font-size:.97rem}

/* Quiet color changes give long pages a cadence without adding decoration. */
.soft{background:var(--surface-mint)}
main>.section:not(.contact-band):not(.team-collaboration):not(.services-integrated):nth-of-type(4n+2){background:var(--surface-sand)}
main>.section:not(.contact-band):not(.team-collaboration):not(.services-integrated):nth-of-type(4n+3){background:var(--surface-blue)}
.team-intro-section,.services-intro-section{background:var(--surface-sand)!important}
.team-values-section,.services-audience-section,.contact-map-section{background:var(--surface-mint)!important}
.team-learning,.services-process-section,.hours-section{background:var(--surface-blue)!important}
.team-profiles-section,.services-faq-section,.team-faq-section{background:var(--bg)!important}
.services-chapters{padding-block:clamp(76px,8vw,124px);background:var(--surface-mint)}

/* Equal-height service chapters; portrait photos are cropped inside the shared card height. */
.services-chapters-list{
  display:grid;
  grid-template-columns:1fr;
  grid-auto-rows:1fr;
  gap:28px;
  width:min(1540px,calc(100% - clamp(40px,5vw,80px)));
  margin-inline:auto;
}
.services-chapters-list .service-chapter{
  width:100%;
  min-height:610px;
  margin:0;
}
.services-chapters-list .service-chapter-photo{
  position:relative;
  min-height:0;
  overflow:hidden;
}
.services-chapters-list .service-chapter-photo img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
@media(max-width:900px){
  .services-chapters-list{
    display:grid;
    grid-template-columns:1fr;
    grid-auto-rows:1fr;
    gap:20px;
    width:min(100%,calc(100% - 40px));
  }
  .services-chapters-list .service-chapter{
    min-height:0;
    margin:0 auto;
  }
  .services-chapters-list .service-chapter-photo{
    height:500px;
    min-height:500px;
  }
}
@media(max-width:640px){
  .services-chapters-list{width:100%;gap:20px}
  .services-chapters-list .service-chapter{margin:0}
  .services-chapters-list .service-chapter-photo{
    height:auto;
    min-height:0;
  }
  .services-chapters-list .service-chapter-photo img{
    position:relative;
    inset:auto;
    height:auto;
    aspect-ratio:4/3;
  }
}

/* Hero scale stays cinematic while copy remains concise and readable. */
.hero,.page-hero,.contact-hero,.team-hero,.services-hero{min-height:min(940px,94vh)}
.hero-content,.page-hero .hero-content,.contact-hero-content{padding-block:clamp(155px,18vh,210px) clamp(62px,8vh,92px)}
.team-hero-content,.services-hero-content{padding-block:clamp(165px,18vh,220px) clamp(64px,8vh,92px)}
.hero-copy,.page-hero .hero-content,.contact-hero-panel{max-width:940px}
.hero-copy p,.page-hero p,.contact-hero-panel p,.team-hero-content p,.services-hero-content p{max-width:58ch;font-size:clamp(1rem,1.35vw,1.18rem);line-height:1.55}

/* Controls use one tactile language across every page. */
.btn{min-height:54px;padding:14px 23px;border-radius:var(--radius-sm);font-size:.88rem;font-weight:600;box-shadow:0 5px 14px transparent;transition:transform .3s var(--ease),background-color .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease)}
.btn:hover{transform:translateY(-2px);box-shadow:0 7px 18px color-mix(in oklch,var(--dark),transparent 88%)}
.btn-primary{box-shadow:0 7px 18px color-mix(in oklch,var(--accent),transparent 74%)}
.btn-ghost{background:color-mix(in oklch,var(--surface-raised),transparent 10%)}
.nav{min-height:82px}
.nav-links{font-size:.84rem;font-weight:500;letter-spacing:.01em}

/* Services menu connects each discipline with its dedicated professional. */
.nav-services{position:relative;display:flex;align-items:center}
.nav-services__trigger{display:flex;align-items:center;gap:6px;min-height:44px;padding:0;border:0;color:inherit;background:transparent;font:inherit;letter-spacing:inherit;cursor:pointer;opacity:.82}
.nav-services__trigger:hover,.nav-services__trigger:focus-visible,.nav-services.is-open .nav-services__trigger{color:var(--accent);opacity:1}
.nav-services__trigger>span{font-size:.9rem;transition:transform .28s var(--ease)}
.nav-services.is-open .nav-services__trigger>span{transform:rotate(180deg)}
.nav-services__menu{position:absolute;z-index:30;inset:calc(100% + 18px) auto auto 50%;width:min(560px,calc(100vw - 32px));padding:14px;border:1px solid var(--border);border-radius:22px;background:rgba(252,251,247,.98);box-shadow:0 24px 58px rgba(33,64,67,.18);backdrop-filter:blur(16px);opacity:0;visibility:hidden;transform:translate(-50%,-8px);transition:opacity .28s var(--ease),transform .28s var(--ease),visibility .28s}
.nav-services.is-open .nav-services__menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.nav-services__heading{display:flex;align-items:center;justify-content:space-between;padding:7px 9px 13px;border-bottom:1px solid var(--border);font-size:.69rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.nav-services__heading>a{color:var(--dark);font-size:.68rem;opacity:.72}
.nav-services__menu>a{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:13px;min-height:72px;padding:10px 9px;border-radius:13px;color:var(--fg);opacity:1;transition:background-color .28s var(--ease),transform .28s var(--ease)}
.nav-services__menu>a:hover,.nav-services__menu>a:focus-visible{color:var(--fg);background:color-mix(in oklch,var(--primary),white 88%);transform:translateX(2px)}
.nav-services__menu i{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:var(--dark);background:color-mix(in oklch,var(--primary),white 78%);font-style:normal;font-size:.66rem;font-weight:700}
.nav-services__menu strong,.nav-services__menu small{display:block}
.nav-services__menu strong{font-family:var(--display);font-size:.94rem;letter-spacing:-.01em}
.nav-services__menu small{margin-top:2px;color:var(--muted);font-size:.7rem;line-height:1.35}

/* Cards and media gain room, consistent radii and nearly invisible depth. */
.service-card,.card,.post-card,.value-panel,.quick-action{border-color:var(--border);border-radius:var(--radius-md);background:var(--surface-raised);box-shadow:var(--shadow-soft)}
.service-card:hover,.card:hover,.post-card:hover,.value-panel:hover,.quick-action:hover{box-shadow:0 16px 38px color-mix(in oklch,var(--dark),transparent 88%)}
.service-body,.card-body,.post-copy{padding:clamp(24px,2.4vw,34px)}
.service-body p,.card-body p,.post-copy p{line-height:1.58}
.team-card img,.person-tile,.why-image,.image-rounded,.review-card,.contact-details,.map-placeholder,.professional-profile,.service-chapter{border-radius:var(--radius-md)}
.team-grid{gap:clamp(22px,2.5vw,38px)}
.team-card h3{margin-top:20px}
.team-marquee{position:relative;overflow:hidden;margin-inline:calc(50% - 50vw);padding-inline:clamp(20px,5vw,80px);mask-image:linear-gradient(to right,transparent 0,black 5%,black 95%,transparent 100%)}
.team-marquee__track{display:flex;width:max-content;animation:team-marquee-scroll 34s linear infinite}
.team-marquee__set{display:flex;gap:clamp(16px,2vw,28px);padding-inline-end:clamp(16px,2vw,28px)}
.team-profile{display:block;width:clamp(245px,24vw,340px);flex:0 0 auto;color:var(--fg)}
.team-profile img{aspect-ratio:4/5;border-radius:var(--radius-md);object-fit:cover;transition:transform .45s var(--ease)}
.team-profile[href="alice-mariani.html"] img{object-position:center 72%}
.team-profile:hover img{transform:scale(1.035)}
.team-profile span{display:block;padding:16px 2px 0}
.team-profile strong,.team-profile small{display:block}
.team-profile strong{font-family:var(--display);font-size:clamp(1.05rem,1.4vw,1.3rem);letter-spacing:-.02em}
.team-profile small{margin-top:5px;color:var(--muted);font-size:.86rem}
@keyframes team-marquee-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.team-marquee__track{animation:none}}
.blog-grid,.people-grid{gap:clamp(16px,1.6vw,24px)}

/* Keep the featured article prominent without creating empty masonry gaps. */
.blog-page .blog-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.blog-page .post-card:first-child{grid-column:span 2;grid-row:auto}
.blog-page .post-card:first-child img{aspect-ratio:16/8;max-height:360px}
.blog-page .post-card:first-child .post-copy{padding:clamp(28px,3vw,44px)}
.blog-page .post-card:first-child .post-copy h3{font-size:clamp(1.6rem,2.3vw,2.25rem);max-width:18ch}
.blog-page .post-card:first-child .post-copy p{max-width:62ch}

/* Two-column compositions favor imagery without stretching prose. */
.intro,.team-intro,.services-intro{grid-template-columns:.9fr 1.1fr;gap:clamp(54px,8vw,120px)}
.why,.grid-2,.contact-grid{grid-template-columns:1.1fr .9fr;gap:clamp(52px,7vw,110px)}
.collaboration-grid,.integrated-grid{grid-template-columns:1.12fr .88fr}
.intro-copy p,.team-intro-copy p,.services-intro-copy p,.feature-copy p,.professional-copy>p:not(.professional-role){font-size:1rem;line-height:1.68}
.service-chapter{width:min(1540px,calc(100% - clamp(40px,5vw,80px)));grid-template-columns:1.08fr .92fr;min-height:610px;margin-top:28px;box-shadow:var(--shadow-soft)}
.service-chapter-photo{min-height:610px}
.professional-profile{min-height:610px;margin-top:28px;box-shadow:var(--shadow-soft)}
.professional-photo{min-height:610px}
.service-chapter-copy,.professional-copy{padding:clamp(42px,6vw,88px)}
.service-chapter-copy h3{font-size:clamp(2.8rem,4.7vw,5rem)}
.service-chapter__professional{display:grid;gap:3px;margin-top:22px!important;padding:15px 0;border-block:1px solid var(--border);color:var(--fg)!important}
.service-chapter__professional span{font-size:.69rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.service-chapter__professional strong{font-family:var(--display);font-size:1.05rem;letter-spacing:-.01em}

/* Forms, accordions and metadata follow the same spacing system. */
.contact-form{gap:18px}
.contact-form input,.contact-form textarea,.contact-form select,.form input,.form textarea{padding:14px 16px;border-radius:var(--radius-sm);background:var(--surface-raised);transition:border-color .28s var(--ease),box-shadow .28s var(--ease)}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus,.form input:focus,.form textarea:focus{box-shadow:0 0 0 3px color-mix(in oklch,var(--primary),transparent 82%)}
.faq details{padding-block:24px}
.faq summary{font-size:clamp(1.05rem,1.4vw,1.25rem);font-weight:600}
.article:has(.article-header){max-width:none;padding-inline:0}
.article-header{max-width:1100px}
.article-header h1,.article>h1{font-size:clamp(3.4rem,6.2vw,6.5rem);line-height:.98}
.article-body{max-width:70ch;font-size:1rem;line-height:1.7}
.article-hero{width:min(1440px,calc(100% - clamp(40px,6vw,96px)))}
.footer{padding-block:48px}
.footer-grid{padding-top:32px}

/* One motion profile, with content visible before enhancement. */
.reveal,.team-reveal,.services-reveal{transition-timing-function:var(--ease)}
.card img,.service-card img,.post-card img,.team-card img,.person-tile img,.value-panel img,.professional-photo img,.service-chapter-photo img{transition-duration:.45s;transition-timing-function:var(--ease)}

@media(max-width:900px){
  .wrap{width:min(100% - 40px,1440px)}
  h1{font-size:clamp(3.8rem,11vw,6.5rem)}
  h2{font-size:clamp(2.4rem,7vw,4.2rem)}
  .intro,.team-intro,.services-intro,.why,.grid-2,.contact-grid,.collaboration-grid,.integrated-grid{grid-template-columns:1fr;gap:48px}
  .service-chapter,.professional-profile{min-height:0}
  .service-chapter-photo,.professional-photo{min-height:500px}
  .blog-page .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .blog-page .post-card:first-child{grid-column:span 2}
}

@media(max-width:640px){
  .nav-services{display:block;width:100%}
  .nav-services__trigger{width:100%;justify-content:space-between}
  .nav-services__menu{position:static;width:100%;max-height:0;margin:0;padding:0 6px;border:0;border-radius:15px;background:var(--surface-mint);box-shadow:none;opacity:1;visibility:visible;overflow:hidden;transform:none;transition:max-height .3s var(--ease),margin .3s var(--ease),padding .3s var(--ease)}
  .nav-services.is-open .nav-services__menu{max-height:440px;margin-top:7px;padding-block:8px;transform:none}
  .nav-services__heading{padding:7px 8px 9px}
  .nav-services__menu>a{min-height:62px;padding:7px 8px}
  .nav-services__menu small{font-size:.67rem}
}

@media(max-width:640px){
  body{font-size:15px}
  .wrap{width:calc(100% - 28px)}
  h1{font-size:clamp(3.25rem,15vw,5rem);line-height:.98}
  h2{font-size:clamp(2.25rem,11vw,3.65rem);line-height:1.02}
  h3{font-size:1.22rem}
  .section{padding-block:64px}
  .section-head{margin-bottom:34px}
  .hero,.page-hero,.contact-hero,.team-hero,.services-hero{min-height:740px}
  .hero-content,.page-hero .hero-content,.contact-hero-content,.team-hero-content,.services-hero-content{padding-block:112px 40px}
  .hero-actions{gap:10px}
  .hero-actions .btn{width:100%}
  .btn{min-height:52px;padding:13px 19px}
  .service-card,.card,.post-card,.value-panel,.quick-action,.team-card img,.person-tile,.why-image,.review-card,.professional-profile,.service-chapter{border-radius:12px}
  .service-chapter{width:100%}
  .service-chapter-photo,.professional-photo{min-height:0}
  .service-chapter-copy,.professional-copy{padding:34px 22px 42px}
  .service-chapter-copy h3{font-size:clamp(2.45rem,13vw,3.8rem)}
  .footer{padding-block:40px}
}

/* Homepage identity: a multidisciplinary signature inside the cinematic hero. */
.hero{
  min-height:min(980px,96vh);
}
.hero-image{
  background-image:url('../images/msq9i41w-DSC07214.webp');
  background-position:center 42%;
  transform:scale(1.01);
}
.hero-image:after{
  background:linear-gradient(90deg,#17383ce8 0%,#214043c7 38%,#21404372 66%,#2140431f 100%);
}
.hero-content{
  padding-block:clamp(150px,18vh,205px) clamp(42px,6vh,64px);
}
.hero-copy{
  max-width:1040px;
}
.hero-copy h1{
  max-width:1000px;
  font-size:clamp(4.4rem,7.9vw,8.2rem);
  line-height:.94;
  letter-spacing:-.056em;
}
.hero-copy>p{
  max-width:65ch;
  margin-top:24px;
  font-size:clamp(1rem,1.25vw,1.16rem);
  line-height:1.58;
}
.hero-expertise{
  max-width:1000px;
  margin-top:clamp(34px,5vh,52px);
  padding-top:20px;
  border-top:1px solid #ffffff52;
}
.hero-expertise-title{
  color:#ffffffa8;
  font-size:.67rem;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.hero-disciplines{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  margin-top:17px;
}
.hero-disciplines span{
  display:flex;
  align-items:center;
  gap:11px;
  color:#fff;
  font:600 clamp(.82rem,1vw,.95rem)/1.2 var(--display);
  letter-spacing:-.012em;
}
.hero-disciplines i{
  position:relative;
  flex:0 0 26px;
  width:26px;
  height:26px;
  border:1px solid #ffffff6b;
  border-radius:50%;
}
.hero-disciplines i:before,
.hero-disciplines i:after{
  content:'';
  position:absolute;
  inset:50% auto auto 50%;
  width:8px;
  height:1px;
  background:color-mix(in oklch,var(--primary),white 24%);
  transform:translate(-50%,-50%);
}
.hero-disciplines i:after{
  transform:translate(-50%,-50%) rotate(90deg);
}

/* Explicit tonal cadence across long pages, preserving each section's structure. */
body:not(.team-page):not(.services-page) main>.section:nth-of-type(3n+1):not(.contact-band){background:var(--bg)}
body:not(.team-page):not(.services-page) main>.section:nth-of-type(3n+2):not(.contact-band){background:var(--surface-mint)}
body:not(.team-page):not(.services-page) main>.section:nth-of-type(3n):not(.contact-band){background:var(--surface-sand)}
.team-page .team-intro-section,.services-page .services-intro-section{background:var(--surface-sand)!important}
.team-page .team-values-section,.services-page .services-chapters{background:var(--surface-mint)!important}
.team-page .team-profiles-section,.services-page .services-process-section{background:var(--surface-blue)!important}
.team-page .team-learning,.services-page .services-audience-section{background:var(--surface-sand)!important}
.team-page .studio-gallery-section,.services-page .services-faq-section{background:var(--surface-mint)!important}
.contact-map-section,#prenota{background:var(--surface-mint)}

/* Home marquees pause temporarily while hovered, focused, or pressed on touch. */
.home-page .team-marquee,.home-page .reviews-carousel{
  overflow:hidden;
  scroll-behavior:auto;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.home-page .team-marquee::-webkit-scrollbar,.home-page .reviews-carousel::-webkit-scrollbar{display:none}
.home-page .team-marquee__track,.home-page .reviews-track{
  width:max-content;
  animation:none!important;
  transform:none;
  will-change:auto;
}
.home-page .reviews-track{overflow:visible}

@media(max-width:900px){
  .hero-copy h1{font-size:clamp(3.9rem,10.5vw,6.4rem)}
  .hero-disciplines{grid-template-columns:repeat(2,1fr);gap:16px 28px}
}

@media(max-width:640px){
  .hero{min-height:820px}
  .hero-image:after{background:linear-gradient(0deg,#17383cf2 0%,#214043bd 56%,#21404345 100%)}
  .hero-content{padding-block:112px 34px}
  .hero-copy h1{font-size:clamp(3.15rem,14vw,4.75rem);line-height:.96}
  .hero-copy>p{font-size:.94rem;line-height:1.52}
  .hero-expertise{margin-top:30px;padding-top:16px}
  .hero-disciplines{gap:14px 12px;margin-top:14px}
  .hero-disciplines i{flex-basis:23px;width:23px;height:23px}
  .hero-disciplines span{font-size:.78rem}
}

/* Team opening: let the portrait dissolve into the profile section. */
.team-page .team-hero{
  min-height:min(820px,92vh);
  align-items:flex-start;
  color:#fff;
}
.team-page .team-hero-image:after{
  background:linear-gradient(180deg,
    rgba(33,64,67,.72) 0%,
    rgba(33,64,67,.48) 52%,
    rgba(33,64,67,.12) 76%,
    var(--surface-blue) 100%);
}
.team-page .team-hero-content{
  padding-block:clamp(132px,18vh,175px) 72px;
}
.team-page .team-profiles-section{
  padding-top:clamp(34px,5vw,64px);
}

@media(max-width:640px){
  .team-page .team-hero{min-height:690px}
  .team-page .team-hero-image:after{
    background:linear-gradient(180deg,
      rgba(33,64,67,.68) 0%,
      rgba(33,64,67,.38) 55%,
      rgba(33,64,67,.08) 76%,
      var(--surface-blue) 100%);
  }
  .team-page .team-hero-content{padding-block:104px 58px}
  .team-page .team-profiles-section{padding-top:28px}
}

/* Blog opening follows the same left-led editorial composition as Team. */
.blog-page .page-hero{
  min-height:min(820px,92vh);
  align-items:flex-start;
  color:#fff;
}
.blog-page .page-hero-image{
  inset:0;
  background-position:center;
  background-image:url('../images/blog-background.jpg');
}
.blog-page .page-hero-image:after{
  background:linear-gradient(180deg,
    rgba(33,64,67,.72) 0%,
    rgba(33,64,67,.48) 52%,
    rgba(33,64,67,.12) 76%,
    var(--surface-blue) 100%);
}
.blog-page .page-hero .hero-content{
  width:100%;
  max-width:none;
  margin-inline:0;
  padding-inline:clamp(28px,3vw,50px);
  padding-block:clamp(132px,18vh,175px) 72px;
  text-align:start;
}
.blog-page .page-hero .hero-content h1{
  max-width:980px;
  color:#fff;
}
.blog-page .page-hero .hero-content p{
  max-width:700px;
  color:#ffffffdc;
}

@media(max-width:640px){
  .blog-page .page-hero{min-height:690px}
  .blog-page .page-hero-image:after{
    background:linear-gradient(180deg,
      rgba(33,64,67,.68) 0%,
      rgba(33,64,67,.38) 55%,
      rgba(33,64,67,.08) 76%,
      var(--surface-blue) 100%);
  }
  .blog-page .page-hero .hero-content{padding:104px 28px 58px}
}

/* Homepage reference pass: floating navigation, centered cover and large visual chapters. */
.home-page{
  background:oklch(94.8% .008 190);
}
.home-page .site-header{
  inset:26px clamp(20px,3vw,48px) auto;
  color:var(--fg);
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}
.home-page .site-header .nav{
  width:100%;
  min-height:82px;
  padding-inline:clamp(22px,3vw,42px);
  border:1px solid color-mix(in oklch,var(--border),white 35%);
  border-radius:999px;
  background:rgba(255,255,255,.96);
  box-shadow:0 12px 34px rgba(33,64,67,.1);
  backdrop-filter:blur(14px);
}
.home-page .site-header.scrolled{
  background:transparent;
  box-shadow:none;
}
.home-page .brand{font-size:1.14rem}
.home-page .brand-mark{color:var(--dark);background:color-mix(in oklch,var(--primary),white 84%)}
.home-page .nav-cta{
  min-height:44px;
  padding-inline:21px;
  border-radius:999px;
  color:#fff;
  background:var(--accent);
}
.home-page .hero{
  width:100%;
  min-height:min(980px,100vh);
  margin:0;
  align-items:center;
  border-radius:0 0 48px 48px;
}
.home-page .hero-image{
  background-image:url('../images/msq9fc40-Screenshot-2026-08-12-alle-17.44.26.webp');
  background-position:center 40%;
  transform:none;
}
.home-page .hero-image:after{
  background:linear-gradient(180deg,rgba(25,53,57,.48) 0%,rgba(25,53,57,.18) 32%,rgba(25,53,57,.68) 100%);
}
.home-page .hero-content{
  display:flex;
  justify-content:center;
  padding-block:160px 62px;
  text-align:center;
}
.home-page .hero-copy{
  width:min(1120px,100%);
  max-width:none;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.home-page .hero-copy .eyebrow{
  margin-bottom:20px;
  color:#fff;
}
.home-page .hero-copy h1{
  max-width:1100px;
  font-size:clamp(4rem,7.2vw,7.7rem);
  line-height:.94;
  text-transform:none;
}
.home-page .hero-copy>p{
  max-width:66ch;
  margin-top:25px;
  color:#fff;
  font-size:clamp(1rem,1.35vw,1.22rem);
  text-shadow:0 1px 18px rgba(20,45,48,.4);
}
.home-page .hero-actions{justify-content:center;margin-top:29px}
.home-page .hero-actions .btn{min-width:190px;border-radius:999px}
.home-page .hero-expertise{
  width:min(960px,100%);
  margin-top:42px;
  padding:18px 22px 0;
  border-top:1px solid rgba(255,255,255,.42);
}
.home-page .hero-expertise-title{color:rgba(255,255,255,.82)}
.home-page .hero-disciplines{gap:12px;margin-top:16px}
.home-page .hero-disciplines span{
  justify-content:center;
  min-height:48px;
  padding:9px 15px;
  border:1px solid rgba(255,255,255,.55);
  border-radius:999px;
  background:rgba(25,53,57,.2);
  backdrop-filter:blur(7px);
}
.home-page .hero-disciplines i{
  flex-basis:22px;
  width:22px;
  height:22px;
  border:0;
  background:var(--accent);
}
.home-page .hero-disciplines i:before,.home-page .hero-disciplines i:after{background:#fff}

.home-page main>.section:not(.contact-band),.home-page main>.home-path-background>.section:not(.contact-band){
  width:calc(100% - 24px);
  margin-inline:auto;
}
.home-page #intro{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding-block:86px 94px;
  background:transparent!important;
  text-align:center;
}
.home-page #intro:before{
  content:'';
  position:absolute;
  z-index:0;
  inset:0;
  opacity:.2;
  background:url('../images/persona-prima-sintomo.jpg') center/cover no-repeat;
}
.home-page #intro:after{
  content:'';
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
  background:linear-gradient(to bottom,
    var(--bg) 0%,
    color-mix(in oklch,var(--bg),transparent 10%) 13%,
    transparent 30%,
    transparent 67%,
    color-mix(in oklch,oklch(92.7% .008 205),transparent 10%) 87%,
    oklch(92.7% .008 205) 100%);
}
.home-page #intro>.wrap{position:relative;z-index:1}
.home-page #intro .intro{
  display:block;
  max-width:900px;
  text-align:center;
}
.home-page #intro .intro h2{margin-top:18px}
.home-page #intro .intro-copy p{margin-inline:auto}
.home-page #intro .intro-note{max-width:620px;margin-inline:auto}

.home-page #servizi{
  padding:clamp(72px,8vw,112px) clamp(12px,2vw,28px);
  border-radius:34px;
  background:oklch(92.7% .008 205)!important;
}
.home-page #servizi .section-head{text-align:center;display:block}
.home-page #servizi .section-head p{margin:18px auto 0}
.home-page #servizi .service-grid{grid-template-columns:repeat(2,1fr);gap:20px}
.home-page #servizi .service-card{
  position:relative;
  min-height:520px;
  overflow:hidden;
  border:0;
  border-radius:28px;
  color:#fff;
  background:var(--dark);
  box-shadow:none;
}
.home-page #servizi .service-card img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
.home-page #servizi .service-card:after{content:'';position:absolute;inset:42% 0 0;background:linear-gradient(0deg,rgba(25,54,57,.9),transparent)}
.home-page #servizi .service-body{
  position:absolute;
  z-index:1;
  inset:auto 0 0;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
  gap:9px 24px;
  padding:34px;
  text-align:start;
}
.home-page #servizi .service-body h3{font-size:clamp(2rem,3.2vw,3.4rem)}
.home-page #servizi .service-body p{max-width:46ch;min-height:0;margin:0;color:rgba(255,255,255,.82)}
.home-page #servizi .service-body .text-link{grid-column:2;grid-row:1/3;margin:0;padding:12px 18px;border:1px solid rgba(255,255,255,.65);border-radius:999px;color:#fff}

.home-page .home-path-background{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:var(--surface-mint);
}
.home-page .home-path-background:before{
  content:'';
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
  opacity:.64;
  background:url('../images/percorso-sfondo.jpg') center/cover no-repeat fixed;
}
.home-page .home-path-background>section{position:relative;z-index:1}
.home-page .home-path-background>.section:not(.contact-band){background:transparent!important}
.home-page .home-path-background>section[aria-labelledby="method-title"]:before,
.home-page .home-path-background>section[aria-labelledby="method-title"]:after{display:none}

.home-page main>section[aria-labelledby="target-title"],.home-page main>.home-path-background>section[aria-labelledby="target-title"]{padding-block:96px;background:var(--surface-sand)!important}
.home-page .people-grid{grid-auto-rows:290px;gap:18px}
.home-page .person-tile{border-radius:28px}
.home-page .person-copy{inset:auto 28px 25px}

.home-page main>section[aria-labelledby="method-title"],.home-page main>.home-path-background>section[aria-labelledby="method-title"]{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  margin-top:0;
  padding:94px clamp(12px,2vw,28px);
  border-radius:34px;
  background:color-mix(in oklch,var(--primary),white 84%)!important;
}
.home-page main>section[aria-labelledby="method-title"]:before{
  content:'';
  position:absolute;
  z-index:0;
  inset:0;
  opacity:.64;
  background:url('../images/percorso-sfondo.jpg') center/cover no-repeat;
}
.home-page main>section[aria-labelledby="method-title"]:after{
  content:'';
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  background:linear-gradient(to bottom,
    var(--surface-sand) 0%,
    color-mix(in oklch,var(--surface-sand),transparent 8%) 12%,
    transparent 29%,
    transparent 68%,
    color-mix(in oklch,var(--bg),transparent 10%) 88%,
    var(--bg) 100%);
}
.home-page main>section[aria-labelledby="method-title"]>.wrap{position:relative;z-index:2}
.home-page .steps{border-top-color:color-mix(in oklch,var(--primary),var(--dark) 18%)}
.home-page .step{min-height:230px;padding-top:32px}
.home-page .step-number{background:var(--dark);color:#fff}

/* Homepage method: one continuous message, followed by an editorial timeline. */
.home-page .method-head{
  display:grid;
  grid-template-columns:minmax(0,780px) 1fr;
  gap:42px;
  align-items:end;
  margin:0 auto 52px;
  padding-inline:clamp(8px,2vw,26px);
}
.home-page .method-copy h2{max-width:730px;margin-top:15px}
.home-page .method-lead{
  max-width:660px;
  margin-top:24px;
  color:var(--dark);
  font-size:clamp(1.08rem,1.45vw,1.35rem);
  line-height:1.45;
}
.home-page .section-head>p,
.home-page #intro .intro-copy>p:not(.intro-note),
.home-page .method-lead{
  color:color-mix(in oklch,var(--dark),transparent 18%);
  font-family:var(--brand-display);
  font-size:clamp(1.28rem,1.65vw,1.55rem);
  font-weight:300;
  letter-spacing:.005em;
  line-height:1.35;
}
.home-page #intro .intro-note{
  font:300 clamp(1.42rem,1.8vw,1.7rem)/1.25 var(--brand-display)!important;
  letter-spacing:.005em;
}
.home-page .method-index{
  justify-self:end;
  margin:0 0 5px;
  color:color-mix(in oklch,var(--primary),var(--dark) 38%);
  font:clamp(2rem,4.2vw,4.6rem)/.85 var(--display);
  letter-spacing:-.065em;
}
.home-page .steps{
  position:relative;
  gap:18px;
  margin:0;
  padding:0;
  border:0;
  list-style:none;
}
.home-page .steps:before{
  content:'';
  position:absolute;
  z-index:0;
  top:57px;
  left:9%;
  right:9%;
  height:2px;
  background:repeating-linear-gradient(90deg,color-mix(in oklch,var(--primary),var(--dark) 18%) 0 8px,transparent 8px 15px);
}
.home-page .step{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  min-height:314px;
  padding:102px 28px 30px;
  border:1px solid color-mix(in oklch,var(--primary),white 58%);
  border-radius:30px 10px 30px 10px;
  background:color-mix(in oklch,white,transparent 8%);
  box-shadow:0 14px 30px color-mix(in oklch,var(--dark),transparent 92%);
}
.home-page .step:not(:first-child){padding-inline-start:28px}
.home-page .step:nth-child(even){transform:translateY(30px);border-radius:10px 30px 10px 30px}
.home-page .step-number{
  position:absolute;
  top:30px;
  left:28px;
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  margin:0;
  border:6px solid color-mix(in oklch,var(--surface-mint),white 42%);
  border-radius:50%;
  color:#fff;
  background:var(--dark);
  font:500 .86rem/1 var(--body);
  letter-spacing:0;
}
.home-page .step-copy{margin-top:auto;padding-top:0}
.home-page .step h3{max-width:15ch;font-size:clamp(1.2rem,1.6vw,1.6rem);line-height:1.08}
.home-page .step p{max-width:25ch;margin-top:14px;color:color-mix(in oklch,var(--dark),transparent 22%);font-family:var(--brand-display);font-size:1.12rem;font-weight:300;line-height:1.35}

.home-page main>section[aria-labelledby="why-title"],.home-page main>.home-path-background>section[aria-labelledby="why-title"]{padding:24px 12px;background:transparent!important}
 .home-page .why{
   width:min(1540px,100%);
   grid-template-columns:1.2fr .8fr;
   gap:0;
     height:598px;
   overflow:hidden;
  border-radius:34px;
  color:#fff;
  background:var(--dark);
}
 .home-page .why-image{height:100%;min-height:0;border-radius:0}
 .home-page .why-image img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center center;transform:none}
.home-page .why>div:last-child{display:flex;flex-direction:column;justify-content:center;padding:clamp(34px,4vw,58px)}
.home-page .why .benefit{padding-block:12px}
.home-page .why h2{color:#fff}
.home-page .why .benefits{border-color:rgba(255,255,255,.22)}
.home-page .why .benefit{border-color:rgba(255,255,255,.2)}
.home-page .why .benefit p{color:rgba(255,255,255,.7)}
.home-page .why .benefit-mark{color:var(--accent)}

/* Keep the fixed-height home panel readable without changing its image crop. */
.home-page .why>div:last-child{padding:clamp(28px,3vw,44px)}
.home-page .why h2{font-size:clamp(2.15rem,3vw,3.35rem);line-height:1.02}
.home-page .why .benefits{margin-top:24px}
.home-page .why .benefit{grid-template-columns:30px 1fr;gap:12px;padding-block:10px}
.home-page .why .benefit h3{font-size:clamp(1rem,1.2vw,1.18rem);line-height:1.2}
.home-page .why .benefit p{margin-top:3px;font-size:.82rem;line-height:1.45}
.home-page .why .benefit-mark{font-size:1rem}

.home-page #team,.home-page #blog{background:var(--surface-mint)!important}
.home-page .team-card img,.home-page .post-card{border-radius:24px}
.home-page .review-card{border-radius:28px}
.home-page .contact-band{
  width:calc(100% - 24px);
  margin:12px auto;
  border-radius:34px;
}

@media(max-width:900px){
  .home-page .site-header{inset:18px 20px auto}
  .home-page .site-header .nav{padding-inline:22px}
  .home-page #servizi .service-card{min-height:440px}
  .home-page .method-head{grid-template-columns:1fr auto;gap:22px;margin-bottom:40px}
  .home-page .method-lead{max-width:570px}
  .home-page .section-head>p,.home-page #intro .intro-copy>p:not(.intro-note),.home-page .method-lead{font-size:1.28rem}
  .home-page .step{min-height:282px;padding-inline:22px}
  .home-page .step:not(:first-child){padding-inline-start:22px}
  .home-page .step-number{left:22px}
   .home-page .why{grid-template-columns:1fr;height:auto}
   .home-page .why-image{height:384px;min-height:0}
}

@media(max-width:640px){
  .home-page .site-header{inset:12px 12px auto}
  .home-page .site-header .nav{min-height:64px;padding-inline:15px;border-radius:24px}
  .home-page .nav-links{inset:72px 0 auto;border-radius:20px}
  .home-page .hero{width:calc(100% - 12px);min-height:820px;margin-top:6px;border-radius:0 0 34px 34px}
  .home-page .hero-content{padding-block:110px 30px}
  .home-page .hero-copy h1{font-size:clamp(3.1rem,14vw,4.45rem)}
  .home-page .hero-copy>p{max-width:38ch;font-size:.94rem}
  .home-page .hero-actions{width:100%}
  .home-page .hero-expertise{margin-top:25px;padding-inline:0}
  .home-page .hero-disciplines{grid-template-columns:repeat(2,1fr);gap:9px}
  .home-page .hero-disciplines span{min-height:44px;padding:7px 8px;font-size:.72rem}
  .home-page main>.section:not(.contact-band),.home-page main>.home-path-background>.section:not(.contact-band){width:calc(100% - 12px)}
  .home-page #intro{padding-block:64px}
  .home-page #servizi{padding:62px 6px;border-radius:24px}
  .home-page #servizi .service-grid{grid-template-columns:1fr;gap:12px}
  .home-page #servizi .service-card{min-height:390px;border-radius:20px}
  .home-page #servizi .service-body{grid-template-columns:1fr;padding:25px}
  .home-page #servizi .service-body .text-link{grid-column:auto;grid-row:auto;width:max-content;margin-top:8px}
  .home-page .people-grid{grid-template-columns:1fr;grid-auto-rows:230px}
  .home-page .person-tile:first-child{grid-column:auto}
  .home-page main>section[aria-labelledby="method-title"],.home-page main>.home-path-background>section[aria-labelledby="method-title"]{padding:64px 6px;border-radius:24px}
  .home-page .method-head{display:block;margin-bottom:32px;padding-inline:8px}
  .home-page .method-copy h2{margin-top:12px}
  .home-page .method-lead{margin-top:18px;font-size:1.22rem}
  .home-page .section-head>p,.home-page #intro .intro-copy>p:not(.intro-note){font-size:1.22rem}
  .home-page #intro .intro-note{font-size:1.42rem!important}
  .home-page .method-index{margin-top:28px;font-size:2.5rem;text-align:start}
  .home-page .steps{grid-template-columns:1fr;gap:14px;padding-inline-start:28px}
  .home-page .steps:before{top:48px;bottom:48px;left:55px;right:auto;width:2px;height:auto;background:repeating-linear-gradient(180deg,color-mix(in oklch,var(--primary),var(--dark) 18%) 0 8px,transparent 8px 15px)}
  .home-page .step,.home-page .step:not(:first-child){display:block;min-height:0;padding:84px 24px 26px!important;border:1px solid color-mix(in oklch,var(--primary),white 58%)}
  .home-page .step:nth-child(even){transform:none}
  .home-page .step-number{top:20px;left:-28px;width:56px;height:56px;font-size:.86rem}
  .home-page .step-copy{margin:0;padding-top:0}
  .home-page .step h3{max-width:none;font-size:1.25rem}
  .home-page .step p{max-width:31ch;margin-top:9px;font-size:1.05rem}
  .home-page main>section[aria-labelledby="why-title"],.home-page main>.home-path-background>section[aria-labelledby="why-title"]{padding:8px 6px}
  .home-page .why{border-radius:24px}
   .home-page .why-image{height:272px;min-height:0}
   .home-page .why>div:last-child{padding:42px 24px}
   .home-page .why h2{font-size:clamp(2rem,9.5vw,2.7rem)}
   .home-page .why .benefits{margin-top:22px}
   .home-page .why .benefit{padding-block:12px}
   .home-page .why .benefit h3{font-size:1.05rem}
   .home-page .why .benefit p{font-size:.84rem}
   .home-page .contact-band{width:calc(100% - 12px);margin:6px;border-radius:24px}
}

/* Homepage: tighten the transition from team to reviews and journal. */
.home-page main>section[aria-labelledby="reviews-title"],.home-page main>.home-path-background>section[aria-labelledby="reviews-title"]{
  padding-block:clamp(38px,5vw,62px);
}
.home-page #blog{
  padding-top:clamp(50px,6vw,86px);
}
@media(max-width:640px){
  .home-page main>section[aria-labelledby="reviews-title"],.home-page main>.home-path-background>section[aria-labelledby="reviews-title"]{padding-block:34px}
  .home-page #blog{padding-top:48px}
}

/* Shared floating navigation: the same detached header on every page. */
.site-header,
.site-header.page-header{
  position:fixed;
  z-index:40;
  inset:26px clamp(20px,3vw,48px) auto;
  color:var(--fg);
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}
.site-header>.nav{
  width:100%;
  max-width:none;
  min-height:82px;
  margin:0;
  padding-inline:clamp(22px,3vw,42px);
  border:1px solid color-mix(in oklch,var(--border),white 35%);
  border-radius:999px;
  background:rgba(255,255,255,.96);
  box-shadow:0 10px 28px rgba(33,64,67,.09);
  backdrop-filter:blur(14px);
  transition:box-shadow .3s var(--ease),background-color .3s var(--ease);
}
.site-header.scrolled{
  color:var(--fg);
  background:transparent;
  box-shadow:none;
}
.site-header.scrolled>.nav{
  background:rgba(255,255,255,.98);
  box-shadow:0 12px 32px rgba(33,64,67,.12);
}
.site-header .brand{font-size:1.14rem}
.site-header .brand-mark{
  color:var(--dark);
  background:color-mix(in oklch,var(--primary),white 84%);
}
.site-header>.nav>.btn,
.site-header>.nav>.nav-cta{
  min-height:44px;
  padding-inline:21px;
  border-radius:999px;
}

@media(max-width:900px){
  .site-header,
  .site-header.page-header{inset:18px 20px auto}
  .site-header>.nav{padding-inline:22px}
}

@media(max-width:640px){
  .site-header,
  .site-header.page-header{inset:12px 12px auto}
  .site-header>.nav{
    min-height:64px;
    padding-inline:15px;
    border-radius:24px;
  }
  .site-header .nav-links{
    inset:72px 0 auto;
    border:1px solid var(--border);
    border-radius:20px;
    background:rgba(255,255,255,.98);
    box-shadow:0 14px 34px rgba(33,64,67,.12);
    backdrop-filter:blur(14px);
  }
}

/* Contact page: location-first, compact conversion path. */
.contact-page-main{background:var(--bg)}
.contact-location{position:relative;min-height:min(780px,88vh);overflow:hidden;border-radius:0 0 48px 48px;background:#dcebe6}
.contact-location__map{position:absolute;inset:0;overflow:hidden;background:#dcebe6}
.contact-location__map .map-grid{
  background:#dcebe6 url('../images/maps.webp') center/cover no-repeat;
}
.contact-location__map:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(33,64,67,.16),transparent 58%)}
.contact-location__content{position:relative;z-index:2;display:flex;align-items:flex-end;min-height:min(780px,88vh);padding-block:150px 56px;pointer-events:none}
.contact-location__card{width:min(500px,100%);padding:clamp(30px,4vw,50px);border:1px solid rgba(255,255,255,.2);border-radius:24px;color:#fff;background:rgba(33,64,67,.94);box-shadow:0 22px 54px rgba(33,64,67,.18);pointer-events:auto}
.contact-location__card .eyebrow{color:color-mix(in oklch,var(--accent),white 18%)}
.contact-location__card h1{margin-top:18px;color:#fff;font-size:clamp(3.2rem,6vw,5.8rem)}
.contact-location__card address{display:grid;gap:3px;margin-top:28px;font-style:normal}
.contact-location__card address strong{margin-bottom:7px;font:600 1.12rem var(--display)}
.contact-location__card address span,.contact-location__card p{color:rgba(255,255,255,.76)}
.contact-location__card p{max-width:48ch;margin:22px 0 26px;font-size:.9rem;line-height:1.65}
.contact-location__card .btn-ghost{border-color:rgba(255,255,255,.38);color:#fff;background:transparent}
.contact-location__card .btn-ghost:hover{background:rgba(255,255,255,.1)}
.contact-page-main .hours-section{padding-block:clamp(56px,6vw,84px) clamp(40px,4vw,56px);background:var(--surface-blue)!important}
.contact-page-main .faq-wrap{max-width:1040px}
.contact-direct{background:var(--surface-mint)}
.contact-direct .quick-actions{margin-top:18px}
.contact-direct .quick-action{border-radius:18px;background:rgba(255,255,255,.72)}
.contact-booking{padding:clamp(62px,7vw,92px) 0;background:var(--surface-sand)}
.contact-booking__inner{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.55fr);gap:clamp(40px,8vw,120px);align-items:end}
.contact-booking__inner h2{max-width:780px;margin-top:17px;font-size:clamp(2.5rem,4.5vw,4.7rem)}
.contact-booking__inner p{max-width:62ch;margin-top:19px;color:var(--muted)}
.contact-booking__inner>div:last-child{display:grid;justify-items:start;gap:14px}
.contact-booking__inner small{max-width:34ch;color:var(--muted);font-size:.74rem;line-height:1.5}

/* Contact page: direct channels and FAQ in one compact region. */
.contact-connect{padding:clamp(54px,6vw,82px) 0;background:var(--surface-mint)}
.contact-connect__alternatives{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;padding-top:clamp(34px,4vw,48px)}
.contact-connect__alternatives h3,.contact-connect__faq h3{margin-top:10px;font-size:clamp(1.7rem,2.4vw,2.35rem)}
.contact-connect__alternatives p{max-width:54ch;margin:0;color:var(--muted)}
.contact-connect .quick-actions{margin-top:24px}
.contact-connect .quick-action{padding:20px;border-radius:18px;background:rgba(255,255,255,.72)}
.contact-careers{display:grid;grid-template-columns:minmax(210px,.55fr) minmax(0,1.35fr);gap:clamp(42px,7vw,110px);align-items:start;margin-top:clamp(46px,5vw,66px);padding:clamp(30px,4vw,48px);border-radius:22px;background:var(--surface-sand)}
.contact-careers h2{margin-top:10px;font-size:clamp(2rem,3.8vw,3.6rem)}
.contact-careers p{max-width:62ch;margin:0;color:var(--muted);line-height:1.65}
.contact-careers p+p{margin-top:14px}
.contact-careers .btn{margin-top:26px}
.contact-connect__faq{display:grid;grid-template-columns:minmax(210px,.55fr) minmax(0,1.35fr);gap:clamp(42px,7vw,110px);align-items:start;margin-top:clamp(46px,5vw,66px);padding-top:clamp(38px,4vw,52px);border-top:1px solid var(--border)}
.contact-connect__faq .contact-faq{max-width:none;margin-top:0}
.contact-connect__faq .contact-faq details{padding:18px 0}

@media(max-width:900px){
  .contact-location,.contact-location__content{min-height:720px}
  .contact-booking__inner{grid-template-columns:1fr;gap:30px}
  .contact-careers,.contact-connect__faq{grid-template-columns:1fr;gap:28px}
  .contact-connect__alternatives{grid-template-columns:1fr;gap:10px}
}

@media(max-width:640px){
  .contact-location{min-height:760px;border-radius:0 0 34px 34px}
  .contact-location__content{align-items:flex-end;min-height:760px;padding:96px 12px 12px}
  .contact-location__card{padding:28px 24px;border-radius:21px}
  .contact-location__card h1{font-size:clamp(3rem,15vw,4.4rem)}
  .contact-location__map:after{background:linear-gradient(0deg,rgba(33,64,67,.18),transparent 55%)}
  .contact-direct .quick-actions{gap:10px}
  .contact-booking{padding-block:58px}
  .contact-booking__inner h2{font-size:clamp(2.35rem,11vw,3.6rem)}
  .contact-booking__inner .btn{width:100%}
  .contact-page-main .hours-section{padding-block:44px 34px}
  .contact-connect{padding-block:44px}
  .contact-connect__alternatives{padding-top:30px}
  .contact-connect .quick-actions{gap:10px;margin-top:18px}
  .contact-connect__faq{gap:20px;margin-top:38px;padding-top:34px}
}

/* Pannello Servizi: griglia editoriale su desktop, elenco solo su mobile. */
.nav-services__menu{z-index:50;width:min(780px,calc(100vw - 32px));padding:26px;border-color:#d8e7e5;background:#fcfbf7;box-shadow:0 22px 54px rgba(36,66,63,.14);transform:translate(-50%,-6px);transition:opacity .2s var(--ease),transform .2s var(--ease),visibility .2s}
.nav-services.is-open .nav-services__menu{transform:translate(-50%,0)}
.nav-services__heading{align-items:center;gap:24px;padding:0 2px 18px;border-color:#e5eeec;text-transform:none}
.nav-services__intro>span{display:block;color:#609a9d;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.nav-services__intro>strong{display:block;margin-top:6px;color:#24423f;font-family:var(--display);font-size:1.25rem;font-weight:600;letter-spacing:-.02em}
.nav-services__heading>a{color:#24423f;font-size:.78rem;font-weight:600;letter-spacing:0;text-transform:none;white-space:nowrap}
.nav-services__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:16px}
.nav-services__list>a{display:grid;grid-template-columns:69px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:93px;padding:12px;border:1px solid transparent;border-radius:16px;color:#24423f;opacity:1;transition:background-color .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease)}
.nav-services__list>a:hover,.nav-services__list>a:focus-visible{color:#24423f;background:#eef6f5;border-color:#e5eeec;transform:translateY(-1px)}
.nav-services__logo{display:block;width:69px;height:69px;border-radius:50%;object-fit:cover}
.nav-services__copy strong,.nav-services__copy small{display:block}
.nav-services__copy strong{font-family:var(--display);font-size:1.05rem;font-weight:600;line-height:1.15;letter-spacing:-.01em}
.nav-services__copy small{margin-top:4px;color:#667673;font-size:.78rem;line-height:1.25}
.nav-services__arrow{color:#609a9d;font-size:1rem;font-weight:500;transition:transform .2s var(--ease)}
.nav-services__list>a:hover .nav-services__arrow,.nav-services__list>a:focus-visible .nav-services__arrow{transform:translateX(3px)}
.nav-services__trigger:focus-visible,.nav-services__heading>a:focus-visible,.nav-services__list>a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

@media(max-width:640px){
  .nav-services__menu{width:100%;max-height:0;margin:0;padding:0 10px;border:0;border-radius:16px;background:#eef6f5;box-shadow:none;overflow:hidden;transform:none;transition:max-height .25s var(--ease),margin .25s var(--ease),padding .25s var(--ease)}
  .nav-services.is-open .nav-services__menu{max-height:540px;margin-top:8px;padding-block:14px;transform:none}
  .nav-services__heading{align-items:flex-end;padding:0 2px 12px}
  .nav-services__intro>strong{font-size:1.05rem}
  .nav-services__heading>a{font-size:.74rem}
  .nav-services__list{grid-template-columns:1fr;gap:4px;padding-top:10px}
  .nav-services__list>a{min-height:78px;grid-template-columns:60px minmax(0,1fr) auto;gap:12px;padding:9px 8px;border-radius:12px}
  .nav-services__logo{width:60px;height:60px}
  .nav-services__copy strong{font-size:1rem}
  .nav-services__copy small{font-size:.76rem}
}

/* Shared background for professional profile areas. */
.service-detail-page .service-person,
.team-page .professional-profile{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:transparent!important;
}
.service-detail-page .service-person:before,
.team-page .professional-profile:before{
  content:'';
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
  opacity:.64;
  background:url('../images/percorso-sfondo.jpg') center/cover no-repeat fixed;
}
.service-detail-page .service-person>.wrap,
.team-page .professional-profile>*{
  position:relative;
  z-index:1;
}

/* Psicologia: percorso editoriale e approccio integrato. */
.linfa-path{padding:clamp(48px,6vw,88px) 0;background:linear-gradient(135deg,#f0f7f3,#e5efea 58%,#f5eee3);overflow:hidden;color:#203c3c}
.linfa-path__composition{position:relative}
.linfa-path .eyebrow{color:#397b77;font-size:12px;letter-spacing:.16em}
.linfa-path__top{display:grid;grid-template-columns:44% 56%;align-items:stretch}
.linfa-path__intro{position:relative;isolation:isolate;overflow:hidden;min-height:760px;border-radius:36px 0 0 36px}
.linfa-path__copy{position:relative;z-index:2;padding:36px 32px 220px 14px;background:linear-gradient(180deg,#f0f7f3 0%,rgba(240,247,243,.97) 42%,rgba(240,247,243,0) 100%)}
.linfa-path__copy h2{font-size:clamp(42px,4.3vw,68px);line-height:1.08;margin:20px 0 24px;letter-spacing:-.045em}
.linfa-path__copy p{max-width:38ch;margin:0;font-size:17px;line-height:1.7;color:#4d6264}
.linfa-path__photo{position:absolute;z-index:-1;inset:0;width:100%;height:100%;object-fit:cover;object-position:40% center}
.linfa-path__timeline{position:relative;padding:32px 28px;border:1px solid rgba(255,255,255,.85);border-radius:32px;background:rgba(250,251,246,.8);box-shadow:0 12px 35px rgba(37,66,56,.035)}
.linfa-path__steps{list-style:none;padding:0;margin:24px 0 0;position:relative}
.linfa-path__steps:before{content:"";position:absolute;left:18px;top:20px;bottom:50px;width:1px;background:#a2b4a2}
.linfa-path__steps li{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);gap:17px;align-items:center;margin-bottom:12px}
.linfa-path__steps li:last-child{margin-bottom:0}
.linfa-path__number{position:relative;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#718d78;color:white;font-size:12px;font-weight:600}
.linfa-path__step{display:grid;grid-template-columns:60px minmax(0,1fr);gap:16px;align-items:center;min-height:104px;padding:17px 18px;background:rgba(255,255,255,.65);border:1px solid rgba(255,255,255,.55);border-radius:21px;transition:transform 220ms ease,background 220ms ease}
.linfa-path__step:hover{transform:translateX(3px);background:rgba(255,255,255,.9)}
.linfa-path__icon{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#e7eee7;border:5px solid rgba(255,255,255,.65);color:#315d58}
.linfa-path__icon svg{width:29px;height:29px}
.linfa-path__step h3{font-size:18px;line-height:1.25;letter-spacing:-.025em}
.linfa-path__step p,.linfa-path__tool p{margin:7px 0 0;color:#506366;font-size:14px;line-height:1.6}
.linfa-path__approach{position:relative;z-index:3;display:grid;grid-template-columns:30% minmax(0,1fr);gap:30px;margin-top:-16px;padding:35px 30px;border:1px solid rgba(255,255,255,.9);border-radius:30px;background:rgba(245,250,247,.94);box-shadow:0 14px 40px rgba(37,66,56,.04)}
.linfa-path__approach h2{margin-top:15px;font-size:clamp(28px,2.6vw,40px);line-height:1.12}
.linfa-path__approach-intro>p{margin:18px 0 0;font-size:15px;line-height:1.65;color:#506366}
.linfa-path__tools{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;padding-top:5px}
.linfa-path__thread{position:absolute;top:8px;width:100%;height:75px;stroke:#95af9d;stroke-width:1}
.linfa-path__tool{position:relative}
.linfa-path__tool .linfa-path__icon{width:78px;height:78px;margin:0 auto 18px;border-width:8px;box-shadow:0 0 0 1px #dee9e1}
.linfa-path__tool h3{font-size:17px;line-height:1.3;letter-spacing:-.025em}
@media(max-width:1050px){.linfa-path__top{grid-template-columns:40% 60%}.linfa-path__timeline{padding:26px 18px}.linfa-path__step{gap:12px;padding:15px 12px;grid-template-columns:48px 1fr}.linfa-path__step .linfa-path__icon{width:48px;height:48px}.linfa-path__copy{padding-left:8px;padding-right:20px}.linfa-path__approach{grid-template-columns:1fr}.linfa-path__approach-intro{max-width:70ch}.linfa-path__tools{gap:28px}}
@media(max-width:760px){.linfa-path__top{grid-template-columns:1fr;gap:22px}.linfa-path__intro{min-height:560px;border-radius:28px}.linfa-path__copy{padding:24px 24px 180px}.linfa-path__copy h2{font-size:clamp(42px,7vw,58px)}.linfa-path__copy p{font-size:16px}.linfa-path__timeline{border-radius:28px;padding:24px 18px}.linfa-path__approach{margin-top:22px;padding:26px 22px;gap:28px}.linfa-path__tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px}.linfa-path__thread{display:none}.linfa-path__tool .linfa-path__icon{margin-left:0}.linfa-path__steps li{gap:12px}.linfa-path__step h3{font-size:17px}}
@media(max-width:400px){.linfa-path__timeline{padding:22px 12px}.linfa-path__steps li{grid-template-columns:32px 1fr;gap:9px}.linfa-path__number{width:32px;height:32px}.linfa-path__steps:before{left:15px}.linfa-path__step{grid-template-columns:1fr;padding:16px}.linfa-path__step .linfa-path__icon{width:42px;height:42px}.linfa-path__tools{grid-template-columns:1fr}.linfa-path__copy{padding-left:18px;padding-right:18px}}
@media(prefers-reduced-motion:reduce){.linfa-path__step{transition:none}.linfa-path__step:hover{transform:none}}

/* Fisioterapia: fotografia reale estesa e strumenti in due file. */
:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy){padding:0 0 64px;background:#eaf1e9}
:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__upper{padding:48px 0 72px;background-image:linear-gradient(90deg,rgba(249,249,240,.94),rgba(247,248,238,.7) 38%,rgba(237,244,231,.12) 70%),url('../images/fisioterapia-percorso-panorama.webp');background-size:cover;background-position:center,center 43%;background-repeat:no-repeat}
:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__top{gap:32px;grid-template-columns:minmax(0,.8fr) minmax(0,1fr)}
:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__intro{min-height:610px;overflow:visible;border-radius:0}
:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__copy{padding:12px 0 0;background:none}
:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__copy h2{font-size:clamp(44px,4.6vw,72px);line-height:1.02}
:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__copy p{font-size:17px;max-width:38ch}
.linfa-path__curve{width:90%;height:150px;margin-top:24px;stroke:#6f8d75;stroke-width:1;opacity:.7}
.linfa-path__curve circle{fill:#6f8d75}
:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__timeline{align-self:center;background:rgba(251,251,246,.88);padding:30px}
:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__step{min-height:146px;padding:23px 20px}
:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__step h3{font-size:19px}
:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__step p{font-size:15px}
:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__approach{margin-top:-44px;grid-template-columns:32% 1fr;padding:34px;gap:34px}
:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__approach-intro{padding-right:26px;border-right:1px solid #d5e1d8}
:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__tools{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}
:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__tool:before{content:"";position:absolute;top:30px;left:35px;width:calc(100% + 24px);height:35px;border-top:1px solid #a4b9a7;border-radius:50%;transform:rotate(8deg)}
:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__tool:nth-child(3n):before{display:none}
:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__tool .linfa-path__icon{position:relative;margin:0 0 15px;width:66px;height:66px}
:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__tool{transition:transform 220ms ease}
:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__tool:hover{transform:translateY(-3px)}
@media(max-width:1100px){:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__top{gap:24px}:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__timeline{padding:24px 18px}:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__step{padding:18px 14px}:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__approach{grid-template-columns:1fr}:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__approach-intro{border:0;padding:0;max-width:75ch}}
@media(max-width:800px){:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__top{grid-template-columns:1fr}:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__upper{padding:36px 0 70px;background-image:linear-gradient(180deg,#f8f8ef 0%,rgba(248,248,239,.92) 27%,rgba(241,246,234,.12) 57%,rgba(234,241,233,.7) 100%),url('../images/fisioterapia-percorso-panorama.webp');background-position:center,center 38%}:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__intro{min-height:540px}:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__copy{padding:0 8px}:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__copy h2{font-size:clamp(44px,7vw,60px)}.linfa-path__curve{margin-top:0}:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__timeline{width:100%}:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__approach{padding:28px 22px}:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__tools{grid-template-columns:repeat(2,minmax(0,1fr))}:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__tool:before{display:none}}
@media(max-width:480px){:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__tools{grid-template-columns:1fr}:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__tool{display:grid;grid-template-columns:60px minmax(0,1fr);gap:16px}:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__tool .linfa-path__icon{width:60px;height:60px}:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__step{grid-template-columns:1fr}:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__timeline{padding:24px 14px}}
@media(prefers-reduced-motion:reduce){:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__tool{transition:none}:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__tool:hover{transform:none}}

/* Sfondo continuo, contenuto nella composizione di Fisioterapia. */
:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy){width:100%;margin-inline:0;padding-bottom:32px;border-radius:0;background-color:#eeeade;background-image:linear-gradient(90deg,rgba(249,249,240,.96),rgba(247,248,238,.75) 38%,rgba(237,244,231,.12) 75%),url('../images/fisioterapia-percorso-panorama.webp');background-size:100% 100%,cover;background-position:center,right center;background-repeat:no-repeat}
:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__upper{background:none;padding-bottom:72px}
:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy)>.wrap,:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__upper>.wrap{width:min(1300px,calc(100% - 64px))}
@media(max-width:800px){:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy){background-image:linear-gradient(180deg,rgba(248,248,239,.96),rgba(248,248,239,.8) 18%,rgba(241,246,234,.22) 40%,rgba(234,241,233,.65)),url('../images/fisioterapia-percorso-panorama.webp');background-size:100% 100%,cover;background-position:center,55% center}:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__upper{background:none}:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy)>.wrap,:is(.linfa-path--physio,.linfa-path--nutrition,.linfa-path--osteopathy) .linfa-path__upper>.wrap{width:calc(100% - 28px)}}

.linfa-path--nutrition{background-image:linear-gradient(90deg,rgba(249,249,240,.94),rgba(247,248,238,.65) 38%,rgba(237,244,231,.12) 75%),url('../images/nutrizione-percorso-reale.webp');background-position:center,center center}
@media(max-width:800px){.linfa-path--nutrition{background-image:linear-gradient(180deg,rgba(248,248,239,.96),rgba(248,248,239,.8) 18%,rgba(241,246,234,.22) 40%,rgba(234,241,233,.65)),url('../images/nutrizione-percorso-reale.webp');background-position:center,40% center}}

.linfa-path--osteopathy{background-color:#eaf1e9;background-image:linear-gradient(180deg,#eaf1e9 0%,rgba(234,241,233,0) 12%,rgba(234,241,233,0) 84%,#eaf1e9 100%),linear-gradient(90deg,rgba(249,249,240,.72),rgba(247,248,238,.46) 40%,rgba(237,244,231,.12) 75%),url('../images/osteopatia-percorso-muschio.webp');background-size:100% 100%,100% 100%,cover;background-position:center;background-repeat:no-repeat}
.linfa-path--osteopathy .linfa-path__upper{background:none}
@media(max-width:800px){.linfa-path--osteopathy{background-image:linear-gradient(180deg,#eaf1e9 0%,rgba(234,241,233,.7) 15%,rgba(234,241,233,.12) 35%,rgba(234,241,233,.12) 85%,#eaf1e9 100%),linear-gradient(90deg,rgba(249,249,240,.58),rgba(247,248,238,.25)),url('../images/osteopatia-percorso-muschio.webp');background-position:center,center,45% center}.linfa-path--osteopathy .linfa-path__upper{background:none}}

/* Superfici opache: le sfumature restano visibili soltanto sullo sfondo. */
.linfa-path--osteopathy .linfa-path__timeline{background:#fafaf5}
.linfa-path--osteopathy .linfa-path__step{background:#fffefb}
.linfa-path--osteopathy .linfa-path__approach{background:#f5faf7}

/* Contatti: composizione editoriale, con sfondo fotografico da completare. */
.contact-connect--editorial{padding:72px 0 48px;background-color:#edf5f1;background-size:cover;background-position:center}
.contact-connect--editorial .contact-connect__alternatives{display:block;max-width:620px;margin-bottom:42px}
.contact-connect--editorial .eyebrow{font-size:12px;letter-spacing:.15em}
.contact-connect--editorial .contact-connect__alternatives h2{margin-top:20px;font-size:clamp(42px,5vw,68px);line-height:1.02}
.contact-connect--editorial .contact-connect__alternatives p{font-size:18px;line-height:1.65;margin:24px 0 0;color:#506366}
.contact-connect--editorial .quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.contact-connect--editorial .quick-action{position:relative;display:flex;align-items:center;gap:18px;padding:26px 22px;min-height:116px;background:rgba(255,254,251,.94);border:1px solid #dce7e1;border-radius:26px;box-shadow:0 10px 26px rgba(37,66,56,.035);transition:background 220ms ease}
.contact-connect--editorial .quick-action:after{content:'→';margin-left:auto;transition:transform 220ms ease}
.contact-connect--editorial .quick-action:hover{background:#fffefb}
.contact-connect--editorial .quick-action:hover:after{transform:translateX(3px)}
.contact-connect--editorial .channel-icon{display:grid;place-items:center;flex:0 0 56px;height:56px;border-radius:50%;background:#e9f2ed;color:#315d58}
.contact-connect--editorial .channel-icon svg{width:28px;height:28px}
.contact-connect--editorial .quick-action>span:nth-child(2){min-width:0}
.contact-connect--editorial .quick-action small{display:block;font-size:14px;color:#506366;margin-bottom:5px}
.contact-connect--editorial .quick-action strong{font-size:clamp(16px,1.45vw,22px);line-height:1.4;overflow-wrap:anywhere}
.contact-connect--editorial .contact-careers{position:relative;overflow:hidden;display:grid;grid-template-columns:36% minmax(0,1fr);gap:48px;margin-top:44px;padding:44px;background:#faf7f0;border:1px solid #fffaf4;border-radius:34px}
.contact-connect--editorial .contact-careers>div:first-child{border-right:1px solid #dce3da;padding-right:24px}
.contact-connect--editorial .contact-careers h2{font-size:clamp(40px,4.5vw,64px);line-height:1.04;margin-top:22px}
.contact-connect--editorial .contact-careers p{font-size:17px;line-height:1.65;color:#506366}
.contact-connect--editorial .contact-careers:after{content:'';position:absolute;width:100px;height:220px;border:1px solid #90a895;border-radius:100% 0 100% 0;right:-20px;bottom:-50px;opacity:.16;transform:rotate(25deg);pointer-events:none}
.contact-connect--editorial .contact-careers__button{background:#678371;color:white;border:1px solid #678371;margin-top:10px;min-height:48px}
.contact-connect--editorial a:focus-visible{outline:3px solid #315d58;outline-offset:4px}
@media(max-width:1050px){.contact-connect--editorial .quick-actions{grid-template-columns:1fr}.contact-connect--editorial .quick-action strong{font-size:22px}}
@media(max-width:700px){.contact-connect--editorial{padding:48px 0 32px;background-position:65% center}.contact-connect--editorial .contact-careers{grid-template-columns:1fr;gap:20px;padding:28px 24px}.contact-connect--editorial .contact-careers>div:first-child{border:0;padding:0}.contact-connect--editorial .quick-action{padding:22px 18px;gap:14px}.contact-connect--editorial .quick-action strong{font-size:18px}.contact-connect--editorial .channel-icon{flex-basis:48px;height:48px}}
@media(prefers-reduced-motion:reduce){.contact-connect--editorial .quick-action,.contact-connect--editorial .quick-action:after{transition:none}}

.alice-profile-description .service-person__intro{margin-top:18px}
.alice-profile-contacts{display:block}
.alice-profile-contacts>div{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}
.alice-profile-contacts>div>span{flex-basis:100%}
.alice-profile-contacts a{margin:0;overflow-wrap:anywhere}

/* Sezione percorso e metodo: soltanto profilo Alice. */
.linfa-path--alice .linfa-path__top{grid-template-columns:44% 56%}
.linfa-path--alice .linfa-path__intro{min-height:680px}
.linfa-path--alice .linfa-path__copy{padding:30px 28px 160px 20px}
.linfa-path--alice .linfa-path__copy h2{font-size:clamp(42px,4.5vw,70px)}
.linfa-path--alice .linfa-path__photo{object-position:38% center}
.linfa-path--alice .linfa-path__timeline{align-self:center;padding:30px}
.linfa-path--alice .linfa-path__step{min-height:155px;padding:22px 18px}
.linfa-path--alice .linfa-path__step p{font-size:15px}
.linfa-path--alice .linfa-path__approach{grid-template-columns:32% minmax(0,1fr);gap:40px;padding:36px;background:#faf8ef}
.linfa-path--alice .linfa-path__approach-intro{padding-right:26px;border-right:1px solid var(--border)}
.linfa-path--alice .linfa-path__tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 40px}
.linfa-path--alice .linfa-path__tool{transition:transform 220ms ease}
.linfa-path--alice .linfa-path__tool:hover{transform:translateY(-3px)}
.alice-path__thread{position:absolute;inset:0;width:100%;height:100%;stroke:#a0bba6;stroke-width:1;pointer-events:none}
.alice-path__decoration{position:absolute;z-index:2;left:20px;right:25px;top:420px;color:#496c56;pointer-events:none}
.alice-path__decoration svg{width:100%;height:85px;stroke:#8eaf98;stroke-width:1}
.alice-path__decoration span{display:block;text-align:right;margin-right:25px;font:italic 20px/1.3 var(--display)}
@media(max-width:1050px){.linfa-path--alice .linfa-path__timeline{padding:24px 18px}.linfa-path--alice .linfa-path__step{grid-template-columns:48px minmax(0,1fr);gap:12px;padding:18px 14px}.linfa-path--alice .linfa-path__approach{grid-template-columns:1fr}.linfa-path--alice .linfa-path__approach-intro{border:0;padding:0;max-width:65ch}}
@media(max-width:760px){.linfa-path--alice .linfa-path__top{grid-template-columns:1fr}.linfa-path--alice .linfa-path__intro{min-height:0;display:flex;flex-direction:column}.linfa-path--alice .linfa-path__copy{padding:26px 22px;background:none}.linfa-path--alice .linfa-path__photo{position:relative;z-index:0;inset:auto;height:auto;aspect-ratio:4/3;object-position:center}.alice-path__decoration{display:none}.linfa-path--alice .linfa-path__tools{grid-template-columns:1fr;gap:28px}.alice-path__thread{display:none}.linfa-path--alice .linfa-path__tool .linfa-path__icon{margin-left:0}.linfa-path--alice .linfa-path__approach{padding:28px 22px;gap:28px}}
@media(max-width:400px){.linfa-path--alice .linfa-path__step{grid-template-columns:1fr}.linfa-path--alice .linfa-path__timeline{padding:22px 12px}}
@media(prefers-reduced-motion:reduce){.linfa-path--alice .linfa-path__tool{transition:none}.linfa-path--alice .linfa-path__tool:hover{transform:none}}

/* Alice: centra il terzo strumento sotto i due elementi superiori. */
.linfa-path--alice .linfa-path__tool:last-child{grid-column:1/-1;width:calc(50% - 20px);justify-self:center}
@media(max-width:760px){.linfa-path--alice .linfa-path__tool:last-child{grid-column:auto;width:auto;justify-self:stretch}}

/* Alice: fotografia continua dietro percorso e metodo, contenuti sopra lo sfondo. */
.linfa-path--alice{background-color:#f5f8f2;background-image:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.12) 55%,rgba(255,255,255,.8)),linear-gradient(90deg,rgba(255,255,255,.88),rgba(255,255,255,.48) 42%,rgba(255,255,255,.12)),url('../images/psicologia-colloquio-alice.webp');background-size:cover;background-position:center;background-repeat:no-repeat}
.linfa-path--alice .linfa-path__intro{isolation:auto;border-radius:0;overflow:visible}
.linfa-path--alice .linfa-path__photo{display:none}
.linfa-path--alice .linfa-path__copy{background:none}
.linfa-path--alice .linfa-path__copy>p{color:#203c3c;font-size:18px;font-weight:600;line-height:1.7;max-width:38ch}
.linfa-path--alice .linfa-path__timeline{background:#fafaf5}
.linfa-path--alice .linfa-path__step{background:#fffefb}
.linfa-path--alice .linfa-path__approach{background:#faf8ef}
.linfa-path--alice .alice-path__decoration{color:#203c3c}
@media(max-width:760px){.linfa-path--alice{background-image:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.25) 30%,rgba(255,255,255,.8)),url('../images/psicologia-colloquio-alice.webp');background-position:center,40% center}.linfa-path--alice .linfa-path__intro{padding-bottom:220px}.linfa-path--alice .linfa-path__copy>p{font-size:17px}}

/* Monica: sfondo continuo, sfumature dietro ai contenuti. */
.linfa-path--monica{background-color:#f5f8f2;background-image:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.12) 55%,rgba(255,255,255,.8)),linear-gradient(90deg,rgba(255,255,255,.88),rgba(255,255,255,.48) 42%,rgba(255,255,255,.12)),url('../images/psicoterapia-colloquio-linfa.webp');background-size:cover;background-position:center;background-repeat:no-repeat}
.linfa-path--monica .linfa-path__intro{isolation:auto;border-radius:0;overflow:visible}
.linfa-path--monica .linfa-path__photo{display:none}
.linfa-path--monica .linfa-path__copy{background:none}
.linfa-path--monica .linfa-path__copy>p{color:#203c3c;font-size:18px;font-weight:600;line-height:1.7;max-width:38ch}
.linfa-path--monica .linfa-path__timeline{background:#fafaf5}
.linfa-path--monica .linfa-path__step{background:#fffefb}
.linfa-path--monica .linfa-path__approach{background:#faf8ef}
@media(max-width:760px){.linfa-path--monica{background-image:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.25) 30%,rgba(255,255,255,.8)),url('../images/psicoterapia-colloquio-linfa.webp');background-position:center,40% center}.linfa-path--monica .linfa-path__intro{min-height:0;padding-bottom:220px}.linfa-path--monica .linfa-path__copy{padding:26px 22px}.linfa-path--monica .linfa-path__copy>p{font-size:17px}}

.michela-profile-contacts{display:block}
.michela-profile-contacts .service-contact__links{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}
.michela-profile-contacts a{margin:0;overflow-wrap:anywhere}
.contact-connect--editorial{background-image:linear-gradient(180deg,white 0%,rgba(255,255,255,0) 18%,rgba(255,255,255,0) 82%,white 100%),linear-gradient(90deg,rgba(248,251,247,.88),rgba(248,251,247,.4)),url('../images/contatti-muschio.webp');background-size:cover;background-position:center}

/* Le dimensioni HTML riservano spazio senza imporre l'altezza originale. */
img{height:auto}
.team-profile img{height:auto;aspect-ratio:4/5}
.post-card img{height:auto;aspect-ratio:16/10;object-fit:cover}
.post-card:first-child img{height:auto;aspect-ratio:4/3}
.blog-page .post-card:first-child img{height:auto;aspect-ratio:16/8}
.team-page .collaboration-photo img{height:560px;min-height:0;object-fit:cover}
.studio-mosaic figure{min-width:0;min-height:0}
.studio-mosaic img{height:100%;width:100%;object-fit:cover}
#prenota.contact-connect--editorial{background-image:linear-gradient(180deg,white,rgba(255,255,255,0) 18%,rgba(255,255,255,0) 82%,white),linear-gradient(90deg,rgba(248,251,247,.75),rgba(248,251,247,.2)),url('../images/contatti-muschio.webp');background-size:cover;background-position:center}
.contact-connect--editorial .contact-careers{background:rgba(250,247,240,.91)}
@media(max-width:760px){.team-page .collaboration-photo img{height:360px}.team-profile img{height:auto}}

/* Correzioni riprodotte nel collaudo D/E del 14 ottobre 2026. */
.article-body a{overflow-wrap:anywhere}
.menu-btn,[data-faq-trigger]{min-width:44px;min-height:44px}
:where(a,button,input,summary):focus-visible{outline:3px solid #315d58;outline-offset:4px}
.site-footer :where(a,button):focus-visible{outline-color:#fff}
/* Tonalità testuali della palette Linfa con contrasto sufficiente. */
:root{--primary-text:#286a6b}
.eyebrow,.professional-role,.service-person__role,.service-social-link{color:var(--primary-text)}
.linfa-path .eyebrow{color:#315f5b}
.home-page .why .eyebrow,.team-hero-content .eyebrow,.team-collaboration .eyebrow,.services-hero-content .eyebrow,.services-integrated .eyebrow,.contact-location__card .eyebrow,.hero-copy .eyebrow,.page-hero .eyebrow{color:#f0b49c}
.site-footer__information h3,.site-footer__compact-cta .eyebrow{color:#f0b49c}
.btn.btn-primary,.site-header .btn.nav-cta{background:#ae4e32;color:#fff}
.btn.btn-primary:hover,.site-header .btn.nav-cta:hover{background:#963f27;color:#fff}
.contact-connect--editorial .contact-careers__button{background:#526f5d;border-color:#526f5d;color:#fff}
.service-person__facts .service-social-link{color:var(--primary-text)}
.contact-connect--editorial .quick-action[href^="mailto:"] strong{font-size:clamp(14px,1.1vw,18px);letter-spacing:-.025em}
