:root{--ink:#17353a;--soft:#52686a;--ivory:#eef6f3;--cream:#dcece7;--sand:#aed0c6;--gold:#327d76;--line:#d5e6df;--white:#fff;--max:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth}.doman-site{margin:0!important;background:#fff;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}.doman-site a{color:inherit;text-decoration:none}.doman-site img{max-width:100%;display:block}.doman-site p{margin-top:0}.doman-shell{overflow:clip}.doman-wrap{width:min(calc(100% - 48px),var(--max));margin:0 auto}.doman-header{position:fixed;z-index:100;left:0;right:0;top:0;background:rgba(248,253,250,.90);backdrop-filter:blur(18px);border-bottom:1px solid transparent;transition:.3s}.doman-header.scrolled{background:rgba(253,255,254,.96);border-color:rgba(0,0,0,.07);box-shadow:0 8px 28px rgba(0,0,0,.04)}.nav-wrap{height:92px;display:flex;align-items:center;gap:40px}.brand{display:flex;align-items:center;margin-right:auto}.brand img{width:118px;height:70px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:500}.main-nav>a:not(.nav-cta){position:relative;padding:10px 0}.main-nav>a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:5px;height:1px;background:var(--ink);transition:.25s}.main-nav>a:hover:after,.main-nav>a.active:after{right:0}.nav-cta{background:var(--ink);color:#fff!important;padding:14px 20px;border-radius:999px;transition:.25s}.nav-cta:hover{transform:translateY(-1px);background:#285457}.nav-toggle{display:none}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:600}.hero{min-height:820px;padding:150px 0 78px;background:linear-gradient(135deg,#f7fbfa,#e5f1ec);position:relative}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:68px}.hero h1,.intro h2,.section-head h2,.quote h2,.contact-preview h2,.page-hero h1,.treatment-title h2,.team-detail-copy h2,.contact-big-card h2,.page-cta h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-.04em}.hero h1{font-size:clamp(58px,6.2vw,92px);line-height:.96;margin:18px 0 28px}.hero h1 em,.page-hero h1 em{font-weight:500;color:var(--gold)}.hero-lead{max-width:620px;font-size:19px;line-height:1.7;color:var(--soft)}.hero-actions{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}.btn{display:inline-flex;justify-content:center;align-items:center;padding:16px 24px;border-radius:999px;font-weight:600;font-size:14px;transition:.25s}.btn:hover{transform:translateY(-2px)}.btn-dark{background:var(--ink);color:#fff!important}.btn-light{background:#fff;border:1px solid var(--line)}.btn-cream{background:var(--cream)}.hero-meta{display:flex;gap:22px;margin-top:48px;font-size:13px;color:var(--soft)}.hero-portrait{position:relative}.portrait-card{height:595px;border-radius:185px 185px 32px 32px;overflow:hidden;background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.08)}.portrait-card img{width:100%;height:100%;object-fit:cover;object-position:center 20%}.floating-card{position:absolute;left:-32px;bottom:34px;background:#fff;padding:18px 22px;border-radius:18px;box-shadow:0 16px 50px rgba(0,0,0,.11);display:flex;flex-direction:column;gap:4px}.floating-card strong{font-size:14px}.floating-card span{font-size:12px;color:var(--soft)}.hero-orb{position:absolute;border-radius:50%}.orb-a{width:300px;height:300px;background:#c5e3d9;right:-120px;top:180px;opacity:.52}.orb-b{width:145px;height:145px;background:#b7d9cf;left:-60px;bottom:80px;opacity:.32}.intro{padding:122px 0}.intro-grid{display:grid;grid-template-columns:.32fr 1fr;gap:92px}.intro-content h2{font-size:56px;line-height:1.05;margin:0 0 28px;max-width:880px}.intro-content>p{font-size:18px;line-height:1.78;color:var(--soft);max-width:850px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:52px;border-top:1px solid var(--line);padding-top:30px}.stats div{display:flex;flex-direction:column}.stats strong{font:500 44px/1 'Playfair Display',serif}.stats span{font-size:13px;color:var(--soft);margin-top:7px}.services{padding:118px 0;background:var(--ivory)}.section-head{display:grid;grid-template-columns:1.25fr .75fr;align-items:end;gap:84px;margin-bottom:58px}.section-head h2{font-size:56px;line-height:1.03;margin:10px 0 0}.section-head>p{color:var(--soft);line-height:1.75;margin-bottom:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-card{display:block;position:relative;min-height:270px;padding:28px;border:1px solid #d5e6df;border-radius:24px;background:rgba(255,255,255,.58);transition:.3s}.service-card:hover{transform:translateY(-5px);background:#fff;box-shadow:0 18px 46px rgba(27,20,12,.07)}.service-num{font-size:11px;color:#397d77}.service-card h3,.service-card h4{font:500 27px/1.1 'Playfair Display',serif;margin:40px 0 6px}.service-subtitle{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--gold)}.service-card p{font-size:14px;line-height:1.7;color:var(--soft);max-width:90%;margin-top:12px}.service-arrow{position:absolute;right:22px;bottom:20px;font-size:20px}.center-action{text-align:center;margin-top:42px}.text-link{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:14px;border-bottom:1px solid rgba(0,0,0,.28);padding-bottom:5px}.text-link.light{color:#fff;border-color:rgba(255,255,255,.35)}.feature-band{padding:110px 0;background:#173a40;color:#fff}.feature-grid{display:grid;grid-template-columns:1fr .65fr;gap:90px;align-items:end}.feature-copy h2{font:500 54px/1.05 'Playfair Display',serif;letter-spacing:-.04em;margin:14px 0 24px;max-width:760px}.feature-copy>p{color:#c3d6d3;line-height:1.8;max-width:680px}.feature-number{display:flex;align-items:flex-end;justify-content:flex-end;gap:18px}.feature-number span{font:500 150px/.72 'Playfair Display',serif;color:#bfe0d4}.feature-number small{font-size:13px;line-height:1.5;color:#b9d3cf}.team{padding:122px 0}.team-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.team-card{display:block}.team-img{height:335px;border-radius:22px;overflow:hidden;background:#ecf4f0}.team-img img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:.45s}.team-card:hover .team-img img{transform:scale(1.025)}.team-info{padding:17px 2px}.team-info h3{font:500 21px/1.2 'Playfair Display',serif;margin:0}.team-info p{font-size:12px;line-height:1.45;color:var(--soft);margin-top:7px}.philosophy{padding:112px 0;background:#173a40;color:#fff}.philosophy-grid{display:grid;grid-template-columns:1.22fr .78fr;gap:100px;align-items:end}.quote span{font:80px/1 'Playfair Display',serif;color:#b7d7cb}.quote h2{font-size:54px;line-height:1.06;margin:5px 0}.philosophy-copy p{color:#bed8d4;line-height:1.8}.philosophy-copy a{display:inline-block;margin-top:18px;color:#d7ece4;font-weight:600}.contact-preview{padding:120px 0;background:#dcece6}.contact-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:end}.contact-preview h2{font-size:66px;line-height:1;margin:14px 0 0}.contact-preview-grid>div:last-child>p{font-size:17px;line-height:1.75;color:#4e6868;max-width:560px}.page-hero{padding:170px 0 95px;background:linear-gradient(135deg,#f8fbfa,#e7f2ee)}.page-hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:90px;align-items:end}.page-hero h1{font-size:clamp(55px,6vw,86px);line-height:.98;margin:18px 0 0}.page-lead{padding-bottom:8px}.page-lead p{font-size:18px;line-height:1.75;color:var(--soft);max-width:550px}.page-lead .text-link{margin-top:14px}.treatment-index{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:92px;z-index:20}.treatment-index-inner{display:flex;gap:8px;overflow:auto;padding:16px 0;scrollbar-width:none}.treatment-index-inner::-webkit-scrollbar{display:none}.treatment-index a{white-space:nowrap;padding:9px 13px;background:var(--ivory);border-radius:999px;font-size:12px}.treatment-list{padding:30px 0 95px}.treatment-row{display:grid;grid-template-columns:90px .78fr 1.22fr;gap:44px;padding:62px 0;border-bottom:1px solid var(--line);scroll-margin-top:160px}.treatment-number{font-size:12px;color:#397d77;padding-top:7px}.treatment-title h2,.treatment-title h3{font:500 38px/1.05 'Playfair Display',Georgia,serif;letter-spacing:-.04em;line-height:1.05;margin:0 0 8px}.treatment-title span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold)}.treatment-text p{font-size:16px;line-height:1.8;color:var(--soft);margin:0}.treatment-text a{display:inline-block;margin-top:20px;font-size:13px;font-weight:600}.page-cta{padding:75px 0;background:#173a40;color:#fff}.page-cta.light-cta{background:#dcece6;color:var(--ink)}.page-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.page-cta h2{font-size:45px;line-height:1.05;margin:8px 0 0}.team-detail-list{padding:100px 0}.team-detail{display:grid;grid-template-columns:.88fr 1.12fr;gap:90px;align-items:center;padding:58px 0;border-bottom:1px solid var(--line)}.team-detail.reverse .team-detail-image{order:2}.team-detail.reverse .team-detail-copy{order:1}.team-detail-image{height:610px;border-radius:30px;overflow:hidden;background:var(--ivory)}.team-detail-image img{width:100%;height:100%;object-fit:cover;object-position:center top}.team-role{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:var(--gold);font-weight:600}.team-detail-copy h2{font-size:52px;line-height:1.05;margin:12px 0 24px}.team-detail-copy p{font-size:17px;line-height:1.82;color:var(--soft);max-width:640px}.contact-page{padding:95px 0 110px}.contact-page-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px}.contact-big-card{padding:50px;border-radius:30px;background:var(--ivory)}.contact-big-card h2{font-size:46px;line-height:1.06;margin:12px 0 36px}.contact-lines>div{display:grid;grid-template-columns:115px 1fr;gap:18px;padding:19px 0;border-bottom:1px solid var(--line)}.contact-lines span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#5c7878}.contact-lines strong{font-size:15px;line-height:1.65}.contact-buttons{display:flex;gap:10px;margin-top:32px;flex-wrap:wrap}.map-card{min-height:610px;border-radius:30px;overflow:hidden;background:#f7fbf9}.map-card iframe{width:100%;height:100%;min-height:610px;border:0}.contact-note{padding:80px 0;background:#173a40;color:#fff}.contact-note p{font:500 38px/1.2 'Playfair Display',serif;letter-spacing:-.025em;max-width:920px;margin:0}.doman-footer{background:#18383c;color:#fff;padding:58px 0 24px}.footer-main{display:grid;grid-template-columns:1.5fr .65fr .85fr;gap:70px;padding-bottom:44px}.footer-brand img{width:130px;filter:invert(1);margin-bottom:16px}.footer-brand p{font-size:13px;color:#95bdb2;max-width:280px}.footer-main>div:not(.footer-brand){display:flex;flex-direction:column;gap:11px}.footer-main a{font-size:13px;color:#dbe9e3}.footer-label{text-transform:uppercase;letter-spacing:.14em;font-size:10px;color:#397d77;margin-bottom:6px}.footer-bottom{border-top:1px solid #1e4044;padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-bottom p,.footer-bottom a{font-size:11px;color:#397d77;margin:0}.whatsapp{position:fixed;z-index:90;right:22px;bottom:22px;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#204146;color:#fff!important;font-size:12px;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.25);transition:.25s}.whatsapp:hover{transform:translateY(-3px)}.reveal{opacity:0;transform:translateY(22px);transition:opacity .72s ease,transform .72s ease;transition-delay:var(--delay,0ms)}.reveal.in{opacity:1;transform:none}.delay-1{--delay:90ms}.delay-2{--delay:160ms}.delay-3{--delay:230ms}#studio{scroll-margin-top:110px}
@media(max-width:1050px){.main-nav{gap:18px}.team-grid{grid-template-columns:repeat(3,1fr)}.team-img{height:390px}.feature-number span{font-size:120px}.team-detail{gap:55px}.team-detail-image{height:540px}}
@media(max-width:900px){.doman-wrap{width:min(calc(100% - 30px),var(--max))}.nav-wrap{height:74px}.brand img{width:102px;height:62px}.nav-toggle{display:block;width:44px;height:44px;border:0;background:transparent;position:relative;cursor:pointer}.nav-toggle span{position:absolute;width:23px;height:1px;background:#18383c;left:10px;top:18px;transition:.2s}.nav-toggle span:last-child{top:25px}.nav-toggle.open span:first-child{transform:translateY(3.5px) rotate(45deg)}.nav-toggle.open span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.main-nav{display:none;position:absolute;left:15px;right:15px;top:74px;background:#fff;border-radius:20px;padding:18px;box-shadow:0 20px 50px rgba(0,0,0,.12);flex-direction:column;align-items:stretch;gap:4px;max-height:calc(100vh - 92px);overflow:auto}.main-nav.open{display:flex}.main-nav>a:not(.nav-cta){padding:11px 8px}.main-nav>a:not(.nav-cta):after{display:none}.nav-cta{text-align:center;margin-top:8px}.hero{padding-top:118px;min-height:auto}.hero-grid,.intro-grid,.section-head,.feature-grid,.philosophy-grid,.contact-preview-grid,.page-hero-grid,.contact-page-grid{grid-template-columns:1fr;gap:42px}.hero h1{font-size:56px}.hero-portrait{max-width:580px}.portrait-card{height:525px}.floating-card{left:16px}.intro{padding:88px 0}.intro-content h2,.section-head h2,.quote h2,.feature-copy h2{font-size:44px}.service-grid{grid-template-columns:repeat(2,1fr)}.team-grid{grid-template-columns:repeat(2,1fr)}.team-img{height:480px}.section-head{margin-bottom:38px}.feature-number{justify-content:flex-start}.contact-preview h2{font-size:52px}.page-hero{padding:125px 0 72px}.treatment-index{top:74px}.treatment-row{grid-template-columns:58px 1fr;gap:24px}.treatment-text{grid-column:2}.page-cta-inner{align-items:flex-start}.team-detail,.team-detail.reverse{grid-template-columns:.9fr 1.1fr;gap:40px}.team-detail-image{height:480px}.team-detail.reverse .team-detail-image,.team-detail.reverse .team-detail-copy{order:initial}.team-detail-copy h2{font-size:42px}.contact-page-grid{gap:18px}.map-card,.map-card iframe{min-height:500px}.footer-main{grid-template-columns:1fr 1fr;gap:40px}.footer-brand{grid-column:1/-1}}
@media(max-width:600px){.hero h1{font-size:48px}.hero-lead{font-size:16px}.hero-actions{flex-direction:column;align-items:stretch}.btn{width:100%}.hero-meta{flex-direction:column;gap:5px}.portrait-card{height:450px;border-radius:125px 125px 24px 24px}.floating-card{right:12px;left:12px;bottom:16px}.stats{grid-template-columns:1fr}.service-grid,.team-grid{grid-template-columns:1fr}.service-card{min-height:235px}.team-img{height:500px}.intro-content h2,.section-head h2,.quote h2,.feature-copy h2,.contact-preview h2,.page-cta h2{font-size:38px}.feature-number span{font-size:100px}.page-hero h1{font-size:48px}.treatment-row{grid-template-columns:1fr;padding:44px 0}.treatment-number{padding:0}.treatment-text{grid-column:auto}.treatment-title h2,.treatment-title h3{font-size:34px}.page-cta-inner{flex-direction:column}.team-detail,.team-detail.reverse{grid-template-columns:1fr;padding:38px 0}.team-detail-image{height:520px}.team-detail-copy h2{font-size:39px}.contact-big-card{padding:30px 24px}.contact-big-card h2{font-size:38px}.contact-lines>div{grid-template-columns:1fr;gap:6px}.map-card,.map-card iframe{min-height:430px}.contact-note p{font-size:31px}.footer-main{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{align-items:flex-start;flex-direction:column}}


/* v4.1: one connected catalogue for all 12 treatments on both pages */
.home-treatment-nav{display:flex;gap:9px;flex-wrap:wrap;margin:-22px 0 54px}
.home-treatment-nav a{display:inline-block;border-radius:999px;border:1px solid #ceded7;padding:11px 18px;background:#fff;font-size:12px;font-weight:600;transition:background .2s,transform .2s}
.home-treatment-nav a:hover{background:#dcece6;transform:translateY(-2px)}
.home-treatment-group{margin:0 0 66px;scroll-margin-top:115px}
.home-treatment-heading{margin:0 0 23px;display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:end}
.home-treatment-heading h3{font:500 clamp(29px,3.4vw,41px)/1.1 'Playfair Display',Georgia,serif;letter-spacing:-.035em;margin:0}
.home-treatment-heading p{color:var(--soft);line-height:1.65;font-size:14px;max-width:490px;margin:0}
.service-card{min-height:253px;display:flex;flex-direction:column;align-items:flex-start}
.service-card h4{margin:16px 0 6px}
.service-card p{margin-bottom:22px}
.service-card-cta{font-size:11px;font-weight:600;color:#366e6c;margin-top:auto;border-bottom:1px solid #95bdb2;padding-bottom:4px}
.service-card .service-arrow{bottom:25px}
.treatment-introduction{padding:44px 0;background:#fff;border-bottom:1px solid var(--line)}
.treatment-intro-grid{display:grid;grid-template-columns:.32fr 1fr;gap:60px;align-items:center}
.treatment-intro-grid p:last-child{max-width:790px;line-height:1.7;color:var(--soft);margin:0}
.treatment-index{background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}
.treatment-index-inner{padding:12px 0;gap:9px}
.treatment-index a.index-group{font-weight:600;background:#e6f1eb;border:1px solid transparent}
.treatment-index a.index-group:hover,.treatment-index a.index-group:focus-visible{border-color:#327d76}
.treatment-catalogue{padding:20px 0 100px}
.treatment-group{padding:55px 0 12px;scroll-margin-top:175px}
.treatment-group:not(:last-child){border-bottom:1px solid var(--line)}
.treatment-group-heading{display:grid;grid-template-columns:1fr 1.5fr;gap:10px 65px;align-items:end;margin-bottom:28px}
.treatment-group-heading .eyebrow{grid-column:1/-1;margin:0}
.treatment-group-heading h2{font:500 clamp(36px,4vw,55px)/1.07 'Playfair Display',Georgia,serif;letter-spacing:-.04em;margin:0}
.treatment-group-heading>p:last-child{max-width:580px;line-height:1.8;color:var(--soft);margin:0}
.treatment-subnav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.treatment-subnav a{border-radius:10px;font-size:12px;background:#edf5f1;padding:10px 14px;border:1px solid #d9e9e2}
.treatment-subnav a:hover,.treatment-subnav a:focus-visible{background:#dcece6}
.treatment-subnav span{color:var(--gold)}
.treatment-list{padding:0}
.treatment-row{grid-template-columns:65px .88fr 1.12fr;padding:51px 0;scroll-margin-top:185px}
.treatment-row:target{background:linear-gradient(90deg,rgba(231,222,210,.35),transparent 80%);border-radius:14px}
.treatment-title h3{margin:0 0 10px}
.treatment-row-actions{display:flex;gap:22px;flex-wrap:wrap;align-items:center;margin-top:24px}
.treatment-row-actions>a{margin:0!important}
.treatment-back{color:#557a76!important;font-weight:500!important}
.contact-context{padding:30px 0;background:#dcece6}
.contact-context-inner{display:flex;justify-content:space-between;align-items:center;gap:28px}
.contact-context h2{font:500 32px/1.2 'Playfair Display',Georgia,serif;margin:6px 0 12px}
.contact-context p:not(.eyebrow){color:var(--soft);line-height:1.6;margin:0}
.contact-context .eyebrow{margin:0}
.doman-site [id^="home-"],.doman-site [id^="gruppo-"]{scroll-margin-top:170px}
.doman-site a:focus-visible,.doman-site button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@media(max-width:900px){
  .home-treatment-heading,.treatment-group-heading,.treatment-intro-grid{grid-template-columns:1fr;gap:12px}
  .home-treatment-nav{margin:-8px 0 44px}
  .treatment-group{scroll-margin-top:155px}
  .treatment-row{grid-template-columns:52px 1fr;gap:20px}
  .treatment-text{grid-column:2}
}
@media(max-width:600px){
  .home-treatment-nav{gap:7px}
  .home-treatment-nav a{font-size:11px;padding:10px 12px}
  .home-treatment-group{margin-bottom:55px}
  .treatment-group-heading h2{font-size:36px}
  .treatment-index-inner{scroll-snap-type:x proximity}
  .treatment-index a{scroll-snap-align:start}
  .treatment-group{padding:44px 0 10px}
  .treatment-row{grid-template-columns:1fr;padding:40px 0}
  .treatment-text{grid-column:auto}
  .treatment-row-actions{gap:14px}
  .contact-context-inner{flex-direction:column;align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1!important;transform:none!important;transition:none!important}}
