
:root{font-family:Inter,Arial,sans-serif;color:#183b3e;background:#f8faf9}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input,select,textarea{font:inherit}button,.btn{cursor:pointer;border:0;border-radius:999px;padding:14px 21px;background:#0c6266;color:#fff;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.secondary{background:#e4f2ee;color:#0b555a}.wrap{max-width:1180px;margin:auto;padding:0 24px}.top{background:#103d42;color:#fff;font-size:14px}.top .wrap{display:flex;justify-content:space-between;padding-top:8px;padding-bottom:8px;gap:12px}.top a{margin-right:18px}.header{background:white;position:sticky;top:0;z-index:10;box-shadow:0 2px 16px #133a3b12}.header .wrap{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-size:20px;font-weight:800;text-decoration:none;letter-spacing:-.04em}.brand img{display:block;width:225px;max-width:52vw;height:auto}nav{display:flex;align-items:center;gap:19px;font-size:14px;font-weight:600}nav a{text-decoration:none}nav a:hover,.link:hover{text-decoration:underline}.menu{display:none}.hero{background:linear-gradient(90deg,#063e43ee 0%,#0b5558dc 48%,#0b555835 100%),url(assets/images/home.webp) center/cover;color:#fff;padding:92px 0 100px}.hero .wrap{display:grid;grid-template-columns:1.3fr .7fr;gap:52px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:13px;color:#83d6cc}h1{font-size:clamp(38px,5vw,70px);line-height:1.06;letter-spacing:-.055em;margin:18px 0}h2{font-size:clamp(30px,3vw,44px);letter-spacing:-.04em;line-height:1.14;margin:0 0 18px}h3{font-size:22px;margin:0 0 12px}p{line-height:1.65} .hero p{font-size:19px;max-width:620px;color:#e0f5f1}.hero .btn{background:#e6fbf2;color:#084d52}.hero-card{border:1px solid #91cec6;background:#ffffff16;border-radius:28px;padding:32px}.hero-card strong{display:block;font-size:26px;margin-bottom:12px}.hero-card li{margin:16px 0;line-height:1.5}.section{padding:78px 0}.section.tint{background:#eaf3f0}.section-head{max-width:750px;margin-bottom:34px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:#fff;border:1px solid #d8e8e3;border-radius:20px;padding:26px;box-shadow:0 8px 24px #16494608}.card p{color:#526568;margin:0 0 20px}.card-image{width:calc(100% + 52px);height:155px;object-fit:cover;display:block;margin:-26px -26px 24px;border-radius:20px 20px 0 0}.card a{color:#0c6266;font-weight:750}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:step}.step{padding:22px 0;border-top:2px solid #0d7778}.step:before{counter-increment:step;content:'0' counter(step);display:block;color:#0c7777;font-size:28px;font-weight:800;margin-bottom:20px}.pill{display:inline-block;background:#d9ede7;border-radius:99px;padding:6px 12px;font-size:13px;font-weight:800;color:#07585b}.photo-band{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;margin:36px 0}.photo-band img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:20px}.photo-band p{max-width:520px}.procedure-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:26px 0}.procedure-grid .card{box-shadow:none}@media(max-width:650px){.photo-band,.procedure-grid{grid-template-columns:1fr}}.notice{border-left:4px solid #0d7778;background:#eaf3f0;padding:20px;border-radius:8px;line-height:1.6}.split{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:start}.list li{margin:12px 0;line-height:1.6}.booking{background:white;border-radius:24px;padding:28px;box-shadow:0 16px 50px #12464712}.fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}.field label{font-weight:700;font-size:14px}.field input,.field select,.field textarea{width:100%;padding:13px;border:1px solid #a7bdb9;border-radius:10px;background:white;color:#183b3e}.field.full{grid-column:1/-1}.progress{display:flex;gap:9px;margin:0 0 22px}.progress span{height:5px;background:#dceae5;flex:1;border-radius:8px}.progress span.active{background:#0c6266}.actions{display:flex;justify-content:space-between;gap:10px}.hidden{display:none!important}.gallery-placeholder{border:1px dashed #86aaa6;padding:35px;border-radius:18px;background:#fff}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0}.filters button{background:#e4f2ee;color:#0b555a;padding:10px 16px}.filters button.active{background:#0b555a;color:#fff}.service-row{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.price{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:530px;background:#fff}th,td{text-align:left;padding:14px;border-bottom:1px solid #dceae5}th{background:#dceee8}details{padding:19px 0;border-bottom:1px solid #ccddd8}summary{font-weight:750;cursor:pointer}.footer{background:#123b40;color:#e3f0ec;padding:50px 0 95px}.footer .wrap{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.footer a{display:block;margin:10px 0}.sticky-actions{display:none}.page-hero{background:#e3f1ec;padding:64px 0;min-height:330px;display:flex;align-items:center}.page-hero.has-image{background-image:linear-gradient(90deg,#063e43f2 0%,#0b5558cc 50%,#0b555825 100%),var(--hero-image);background-position:center;background-size:cover;color:white}.page-hero.has-image .eyebrow{color:#b5e9db!important}.page-hero.has-image p{color:#f1faf7}.page-hero p{max-width:750px}.page-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:50px}.sidebar{position:sticky;top:110px;align-self:start;background:#fff;border:1px solid #dceae5;border-radius:16px;padding:22px}.sidebar a{display:block;padding:9px 0}.muted{color:#526568}.small{font-size:14px}.status{padding:12px;border-radius:9px;background:#e3f1ec;margin-top:14px}
@media(max-width:950px){nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:20px 24px;box-shadow:0 15px 24px #0002;flex-direction:column;align-items:stretch}nav.open{display:flex}.menu{display:inline-flex}.grid,.steps{grid-template-columns:repeat(2,1fr)}.hero .wrap{grid-template-columns:1fr}.hero-card{max-width:600px}.page-layout{grid-template-columns:1fr}.sidebar{position:static}}@media(max-width:650px){.top{display:none}.header .wrap{min-height:68px}.brand{font-size:18px}nav{top:68px}.header .desktop-cta{display:none}.hero{padding:65px 0}.hero-card{display:none}.hero{background-position:62% center}.section{padding:56px 0}.grid,.steps,.split,.service-row,.fields,.footer .wrap{grid-template-columns:1fr}.booking{padding:20px}.footer{padding-bottom:110px}.sticky-actions{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 12px max(10px,env(safe-area-inset-bottom));background:#fff;box-shadow:0 -4px 18px #0002;z-index:12}.sticky-actions .btn{font-size:13px;padding:12px 7px}.sticky-actions .secondary{background:#ddf1e8}}


    .all-inclusive { background:#0c6266; color:#fff; padding:34px 0; }
    .all-inclusive .wrap { display:flex; align-items:center; justify-content:space-between; gap:32px; }
    .all-inclusive h2 { font-size:clamp(28px,3vw,42px); margin:5px 0 8px; }
    .all-inclusive p { margin:0; color:#e6f6f2; font-size:18px; max-width:760px; }
    .all-inclusive .pill { background:#d9f2ea; color:#07585b; }
    .all-inclusive .btn { background:#fff; color:#07585b; white-space:nowrap; }
    .home-story { padding-top:66px; padding-bottom:66px; }
    .home-story-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(28px,5vw,70px); align-items:center; }
    .home-story-grid.reverse { grid-template-columns:.95fr 1.05fr; }
    .home-story h2 { font-size:clamp(30px,3.2vw,46px); line-height:1.12; margin:8px 0 20px; }
    .home-story h3 { font-size:21px; margin:22px 0 7px; }
    .home-story p { font-size:17px; line-height:1.7; color:#405b60; }
    .home-story .eyebrow { color:#0b696b; }
    .home-story a { font-weight:700; }
    .home-story figure { margin:0; }
    .home-story img { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:24px; }
    .home-story .story-note { border-left:4px solid #0b7778; padding-left:18px; margin:24px 0 0; }
    .home-story .story-note p { margin:0; }
    .about-intro { display:grid; grid-template-columns:.8fr 1.2fr; gap:54px; align-items:start; }
    .about-intro .lead { font-size:20px; color:#526568; margin-top:0; }
    .about-features { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
    .about-feature { background:#fff; border:1px solid #d8e8e3; border-radius:18px; padding:24px; }
    .about-feature .feature-number { display:block; color:#0c7777; font-size:14px; font-weight:800; letter-spacing:.12em; margin-bottom:12px; }
    .about-feature h3 { font-size:20px; }
    .about-feature p { color:#526568; margin:0; }
    .about-choice { margin-top:32px; background:#103d42; color:#fff; border-radius:24px; padding:30px; }
    .about-choice h3 { margin-bottom:18px; }
    .about-choice ul { display:grid; grid-template-columns:repeat(2,1fr); gap:12px 30px; margin:0; padding-left:20px; }
    .about-choice li { line-height:1.55; }
    .about-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
    .about-actions .btn.secondary { background:#fff; border:1px solid #b8d3cd; }
    .about-page-content > h2:first-child { margin-bottom:16px; }
    .about-page-content .about-features { margin:34px 0; }
    .about-page-content .lead { font-size:20px; line-height:1.72; color:#36585a; max-width:900px; }
    .about-story { margin:34px 0 12px; padding:clamp(24px,4vw,38px); background:#e7f4ef; border-radius:24px; }
    .about-story h2 { font-size:clamp(27px,3vw,38px); margin-bottom:14px; }
    .about-story p { margin:0; color:#36585a; font-size:17px; line-height:1.75; }
    .about-story p + p { margin-top:14px; }
    .about-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:30px 0 38px; }
    .about-benefit { border-top:3px solid #0c7777; padding:20px 4px 0; }
    .about-benefit h3 { font-size:20px; margin-bottom:8px; }
    .about-benefit p { margin:0; color:#526568; }
    .about-closing { margin-top:34px; padding:clamp(26px,4vw,40px); background:linear-gradient(135deg,#0c6266,#103d42); color:#fff; border-radius:26px; }
    .about-closing h2 { margin-bottom:12px; }
    .about-closing p { max-width:820px; margin:0; color:#e6f6f2; font-size:18px; }
    .about-closing .about-actions .btn { background:#fff; color:#07585b; }
    .about-closing .about-actions .btn.secondary { background:transparent; border-color:#9bd2c8; color:#fff; }
    .site-nav-panel { display:flex; flex-direction:column; gap:18px; }
    .site-nav-photos { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
    .site-nav-photos img { display:block; width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:12px; }
    .site-nav-title { font-size:18px; line-height:1.25; margin:0; color:#123f43; }
    .site-nav-copy { margin:-8px 0 0; color:#526568; font-size:14px; line-height:1.5; }
    .site-nav-links { display:flex; position:static; flex-direction:column; align-items:stretch; gap:3px; padding:0; box-shadow:none; background:transparent; }
    .site-nav-links a { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid #dceae5; text-decoration:none; font-weight:700; font-size:14px; color:#16494c; }
    .site-nav-links a::after { content:'→'; color:#0c7777; }
    .site-nav-links a:hover { color:#0c6266; }
    .site-nav-panel .site-nav-cta { display:flex; width:100%; padding:12px 16px; font-size:14px; }
    .hero-card.site-nav-home { display:none!important; }
    .hero-card.site-nav-home .site-nav-photos { grid-template-columns:1.15fr .85fr; }
    .hero-card.site-nav-home .site-nav-photos img:first-child { aspect-ratio:1.15/1; }
    .hero-card.site-nav-home .site-nav-photos img:last-child { aspect-ratio:.85/1; }
    .hero-card.site-nav-home .site-nav-title { font-size:22px; }
    .hero-card.site-nav-home .site-nav-links { display:grid; grid-template-columns:1fr 1fr; column-gap:16px; }
    .hero-card.site-nav-home .site-nav-links a { color:#16494c; }
    .sidebar.site-nav-sidebar { padding:16px; box-shadow:0 14px 36px #1649460d; }
    .sidebar.site-nav-sidebar .site-nav-photos img:first-child { grid-column:1/-1; aspect-ratio:16/10; }
    .sidebar.site-nav-sidebar .site-nav-photos img:last-child { display:none; }
    .hero { min-height:620px; display:flex; align-items:center; background-image:linear-gradient(90deg,#063e43f8 0%,#0b5558e8 48%,#0b555874 72%,#0b555842 100%),url(assets/images/home.webp); background-position:center; }
    .hero .wrap { width:100%; grid-template-columns:minmax(0,820px); }
    .hero .wrap > div { max-width:820px; }
    .hero h1 { max-width:800px; }
    .hero p { max-width:740px; }
    .hero-paths { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
    .hero-paths a { display:inline-flex; align-items:center; min-height:42px; padding:9px 15px; border:1px solid #b9e7dd; border-radius:999px; color:#fff; background:#063e436b; backdrop-filter:blur(8px); text-decoration:none; font-size:14px; font-weight:750; }
    .hero-paths a:hover { background:#fff; color:#07585b; }
    .hero .eyebrow { color:#bcf0df; }
    .hero .btn { background:#fff; color:#07585b; box-shadow:0 12px 30px #063e4350; }
    .promo-intro { font-size:20px; line-height:1.6; color:#36585a; max-width:760px; }
    .promo-highlight { background:#e7f4ef; border-radius:22px; padding:26px; margin:26px 0; }
    .promo-highlight h3 { margin-bottom:6px; }
    .promo-highlight p { margin:0; }
    .promo-actions { display:flex; flex-wrap:wrap; gap:12px; margin:26px 0; }
    .promo-actions .secondary { border:1px solid #bfdbd3; }
    .promo-note { font-size:14px; color:#526568; }
    .services-page .grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .services-page .service-story { margin-top:56px; }
    #trattamenti,#servizi { scroll-margin-top:112px; }
    .services-page .service-story h2 { margin-bottom:18px; }
    .services-page .service-story > p { font-size:17px; color:#405b60; max-width:780px; }
    .services-page .service-benefits { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:26px 0 42px; }
    .services-page .service-benefits article { border:1px solid #d8e8e3; border-radius:18px; background:#fff; padding:24px; }
    .services-page .service-benefits h3 { font-size:20px; margin-bottom:8px; }
    .services-page .service-benefits p { margin:0; color:#405b60; }
    .services-page .service-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:26px 0 40px; }
    .services-page .service-step { border-top:2px solid #0d7778; padding-top:18px; }
    .services-page .service-step span { display:block; color:#0c7777; font-size:25px; font-weight:800; margin-bottom:12px; }
    .services-page .service-step h3 { font-size:20px; }
    .services-page .service-step p { color:#405b60; margin:0; }
    .services-page .service-inclusive { background:#e7f4ef; border-radius:24px; padding:clamp(24px,4vw,34px); margin:36px 0 10px; }
    .services-page .service-inclusive h2 { margin:8px 0 16px; }
    .services-page .service-inclusive ul { columns:2; padding-left:22px; margin:18px 0; }
    .services-page .service-inclusive li { break-inside:avoid; margin:8px 0; }
    .home-story .story-note { border-left-color:#d39e56; }
    .consultation-shell { background:#fff; border:1px solid #d5e7e2; border-radius:26px; padding:clamp(22px,4vw,38px); box-shadow:0 18px 55px #123f4312; }
    .consultation-shell h3 { font-size:clamp(24px,2.4vw,32px); margin-bottom:8px; }
    .consultation-shell > p { color:#526568; margin:0 0 24px; }
    .consultation-form .fields { gap:14px 16px; }
    .consultation-form .field { margin:0; }
    .consultation-form input,.consultation-form select,.consultation-form textarea { min-height:48px; border:1px solid #9eb9b4; border-radius:12px; padding:12px 13px; background:#fff; }
    .consultation-form textarea { min-height:120px; resize:vertical; }
    .consultation-form input:focus,.consultation-form select:focus,.consultation-form textarea:focus { outline:3px solid #c8e7df; border-color:#0c6266; }
    .consent-row { display:flex; align-items:flex-start; gap:10px; margin:18px 0; font-size:14px; line-height:1.5; color:#405b60; }
    .consent-row input { width:18px; height:18px; min-height:0; margin-top:2px; flex:0 0 auto; }
    .form-actions { display:flex; flex-wrap:wrap; gap:10px; }
    .form-actions .btn.secondary { border:1px solid #b6d2cb; }
    .dental-saving { background:linear-gradient(135deg,#0c6266,#103d42); color:#fff; border-radius:26px; padding:clamp(26px,4vw,42px); margin:32px 0; }
    .dental-saving .saving-number { display:block; font-size:clamp(48px,7vw,82px); line-height:.95; font-weight:850; letter-spacing:-.06em; color:#d9f2ea; }
    .dental-saving h3 { font-size:clamp(25px,3vw,38px); margin:12px 0; }
    .dental-saving p { color:#e6f6f2; max-width:800px; }
    .dental-saving .btn { background:#fff; color:#07585b; }
    .clinic-page > .promo-intro { max-width:800px; }
    .clinic-lead-photo { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:24px; margin:28px 0 38px; }
    .clinic-page h2 { margin:42px 0 16px; }
    .clinic-page > h2:first-child { margin-top:0; }
    .clinic-page > p { font-size:17px; line-height:1.7; }
    .clinic-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:30px 0 42px; }
    .clinic-card { overflow:hidden; background:#fff; border:1px solid #d8e8e3; border-radius:22px; }
    .clinic-card img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
    .clinic-card-body { padding:24px; }
    .clinic-card h3 { margin:0 0 10px; }
    .clinic-card p { color:#405b60; margin:0 0 15px; }
    .clinic-card a { color:#0c6266; font-weight:750; }
    .results-page .results-lead { font-size:19px; line-height:1.7; max-width:790px; color:#36585a; }
    .results-jump { display:flex; flex-wrap:wrap; gap:10px; margin:26px 0 40px; }
    .results-jump a { padding:10px 16px; border-radius:100px; background:#e7f4ef; color:#0b555a; font-weight:750; text-decoration:none; }
    .results-section { padding:36px 0 42px; border-top:1px solid #d8e8e3; scroll-margin-top:110px; }
    .results-section-head { display:grid; grid-template-columns:minmax(0,1fr) 180px; gap:24px; align-items:center; margin-bottom:23px; }
    .results-section-head h2 { margin:0 0 10px; }
    .results-section-head p { color:#405b60; margin:0 0 12px; }
    .results-section-head a { color:#0c6266; font-weight:750; }
    .results-section-head img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:18px; }
    .results-page .results-areas { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:28px 0 48px; }
    .results-area { overflow:hidden; border:1px solid #d8e8e3; border-radius:22px; background:#fff; }
    .results-area img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
    .results-area > div { padding:24px; }
    .results-area h3 { margin:0 0 9px; }
    .results-area p { margin:0 0 14px; color:#405b60; }
    .results-area a { color:#0c6266; font-weight:750; }
    .results-toolbar { display:flex; gap:10px; flex-wrap:wrap; margin:24px 0; }
    .results-toolbar button { background:#e4f2ee; color:#0b555a; padding:10px 16px; font-size:14px; }
    .results-toolbar button[aria-pressed="true"] { background:#0b555a; color:#fff; }
    .results-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
    .results-case { border:1px solid #d8e8e3; border-radius:22px; overflow:hidden; background:#fff; }
    .results-pair { display:grid; grid-template-columns:1fr 1fr; gap:4px; background:#fff; }
    .results-pair figure { margin:0; position:relative; }
    .results-pair img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; }
    .results-pair figcaption { position:absolute; left:10px; bottom:10px; background:#fff; color:#123b40; border-radius:100px; padding:5px 11px; font-size:14px; font-weight:800; }
    .results-case-copy { padding:24px; }
    .results-case-copy h3 { margin:7px 0; }
    .results-case-copy p { color:#405b60; margin:0; }
    .results-empty { background:#e7f4ef; border-radius:22px; padding:30px; margin:22px 0 44px; }
    .results-empty h3 { margin-bottom:8px; }
    .results-empty p { margin:0; color:#405b60; }
    @media (max-width:650px) {
      .top { display:block; }
      .top .wrap { align-items:center; flex-direction:column; gap:5px; text-align:center; }
      .top .wrap > div { display:flex; flex-wrap:wrap; justify-content:center; gap:5px 14px; }
      .top a { margin-right:0; }
      .top span { display:none; }
      .all-inclusive { padding:28px 0; }
      .all-inclusive .wrap { align-items:flex-start; flex-direction:column; }
      .all-inclusive .btn { width:100%; }
      .home-story { padding-top:48px; padding-bottom:48px; }
      .home-story-grid,.home-story-grid.reverse { grid-template-columns:1fr; gap:22px; }
      .home-story figure { order:-1; }
      .about-intro,.about-features { grid-template-columns:1fr; gap:18px; }
      .about-choice ul { grid-template-columns:1fr; }
      .about-benefits { grid-template-columns:1fr; gap:22px; }
      .about-actions { flex-direction:column; }
      .about-actions .btn { width:100%; }
      .hero-card.site-nav-home { display:flex; margin-top:8px; }
      .hero-card.site-nav-home .site-nav-links { grid-template-columns:1fr; }
      .site-nav-photos { grid-template-columns:1fr 1fr; }
      .sidebar.site-nav-sidebar .site-nav-photos img:first-child { grid-column:auto; aspect-ratio:1/1; }
      .sidebar.site-nav-sidebar .site-nav-photos img:last-child { display:block; }
      .hero { min-height:600px; background-position:64% center; }
      .hero-paths { gap:8px; }
      .hero-paths a { font-size:13px; padding:8px 12px; }
      .form-actions { flex-direction:column; }
      .form-actions .btn { width:100%; }
      .clinic-grid { grid-template-columns:1fr; }
      .clinic-lead-photo { aspect-ratio:4/3; }
      .results-section-head { grid-template-columns:1fr; }
      .results-section-head img { max-height:190px; }
      .results-page .results-areas,.results-list { grid-template-columns:1fr; }
      .services-page .grid,.services-page .service-benefits,.services-page .service-steps { grid-template-columns:1fr; }
      .services-page .service-inclusive ul { columns:1; }
    }
  /* WordPress block wrappers preserve the original visual grid and spacing. */
.wp-site-blocks { overflow-x:clip; }
.wp-block-post-content, .wp-block-post-content > .wp-block-group { max-width:none !important; margin-block-start:0; }
.wp-block-post-content .wp-block-group.wrap { max-width:1180px; }
.wp-block-post-content .wp-block-group.wrap > * { min-width:0; }
.wp-block-post-content .wp-block-image { margin:0; }
.wp-block-post-content .wp-block-image img { max-width:100%; height:auto; }
.wp-block-post-content .page-hero, .wp-block-post-content .hero { position:relative; isolation:isolate; background-image:none !important; }
.wp-block-post-content .page-hero > .hero-background, .wp-block-post-content .hero > .hero-background { position:absolute; inset:0; z-index:-2; width:100%; height:100%; }
.wp-block-post-content .page-hero > .hero-background img, .wp-block-post-content .hero > .hero-background img { width:100%;height:100%;object-fit:cover; }
.wp-block-post-content .page-hero::before, .wp-block-post-content .hero::before { content:''; position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#063e43ed 0%,#0b5558dc 48%,#0b555835 100%); }
.wp-block-post-content .page-hero { color:#fff; }
.wp-block-post-content .page-hero p { color:#f1faf7; }
.wp-block-post-content .page-layout > .wp-block-group:first-child { min-width:0; }
.wp-block-post-content .results-section-head .wp-block-image img { width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px; }
.wp-block-post-content .results-section-head .wp-block-image { width:180px; }
.wp-block-post-content .results-empty { grid-column:1/-1; }
.wp-block-post-content .results-list:has(.results-empty) { display:block; }
.wp-block-post-content .site-nav-links .wp-block-buttons { display:block; }
.wp-block-post-content .site-nav-links .wp-block-button { display:block; }
.wp-block-post-content .site-nav-links .wp-block-button__link { display:flex;background:none;border-radius:0;color:#16494c;padding:10px 0;justify-content:space-between; }
.wp-block-post-content .site-nav-links .wp-block-button__link::after { content:'→';color:#0c7777; }
.wp-block-post-content .card .wp-block-image { margin:-26px -26px 24px; }
.wp-block-post-content .card .wp-block-image img { width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:20px 20px 0 0; }
.wp-block-post-content .results-section-head { grid-template-columns:minmax(0,1fr) 180px; }
.wp-block-button__link { background:#0c6266;color:#fff;border-radius:100px;padding:14px 21px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-weight:700; }
.wp-block-button.btn { padding:0;background:none;border:0; }
.wp-block-button.btn.secondary .wp-block-button__link { background:#e4f2ee;color:#0b555a; }
.top .wrap, .header .wrap, .footer .wrap { max-width:1180px; }
.top p { margin:0; }
.header .wrap { display:flex; align-items:center;justify-content:space-between;gap:24px; }
.header .wp-block-navigation { font-size:14px; font-weight:700; margin:0 auto; }
.header .wp-block-navigation a { text-decoration:none; }
.header .wp-block-site-logo img { width:180px; height:auto; }
.header .nav-cta .wp-block-button__link { white-space:nowrap; background:#0c6266;color:#fff;border-radius:100px;padding:14px 20px; }
.footer .wp-block-group.wrap > .wp-block-group { min-width:0; }
.footer h3 { color:#fff; }
.footer a { display:inline; color:#e3f0ec; }
.footer .wrap strong { color:#fff; }
.consultation-form .field label { display:flex; flex-direction:column;gap:7px; }
.consultation-form .field input, .consultation-form .field select,.consultation-form .field textarea { display:block; }
.tc-editor-gallery { border:1px dashed #86aaa6;border-radius:16px;padding:20px;background:#eaf3f0; }
.wp-block-post-content .clinic-lead-photo img { display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:20px; }
.wp-block-post-content .card-image img { width:100%;height:155px;object-fit:cover;border-radius:20px 20px 0 0; }
@media(max-width:950px) {
  .header .wp-block-navigation { display:flex;position:static;padding:0;box-shadow:none;flex-direction:row; }
  .header .wrap { flex-wrap:wrap; }
  .wp-block-post-content .page-layout { grid-template-columns:1fr; }
}
@media(max-width:650px) {
  .header .nav-cta { display:none; }
  .wp-block-post-content .results-section-head { grid-template-columns:1fr; }
  .wp-block-post-content .results-section-head .wp-block-image { width:100%;max-height:190px; }
  .footer .wrap { grid-template-columns:1fr; }
}
/* Keep every button label legible, including links inside service cards. */
a.wp-block-button__link, .card a.wp-block-button__link { color:#fff !important; }
.wp-block-button.secondary a.wp-block-button__link,
.card .wp-block-button.secondary a.wp-block-button__link { background:#e4f2ee; color:#0b555a !important; }
.hero a.wp-block-button__link,
.all-inclusive a.wp-block-button__link,
.about-closing .about-actions .wp-block-button:not(.secondary) a.wp-block-button__link,
.dental-saving a.wp-block-button__link { background:#fff; color:#07585b !important; }
.about-closing .about-actions .wp-block-button.secondary a.wp-block-button__link { background:transparent; color:#fff !important; }
.site-nav-links a.wp-block-button__link { background:transparent; color:#16494c !important; }
.sticky-actions .wp-block-buttons { display:grid; width:100%; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px; }
.sticky-actions .wp-block-button, .sticky-actions .wp-block-button__link { width:100%; min-width:0; }
.sticky-actions .wp-block-button__link { font-size:13px; line-height:1.2; white-space:normal; min-height:46px; padding:12px 7px; }
.sticky-actions .wp-block-button.secondary .wp-block-button__link { background:#ddf1e8; color:#0b555a !important; }
@media(max-width:650px) { .sticky-actions { display:block; } }
.hero .hero-paths a.wp-block-button__link { background:#063e436b; color:#fff !important; border:1px solid #b9e7dd; padding:9px 15px; }
.hero .hero-paths a.wp-block-button__link:hover { background:#fff; color:#07585b !important; }
.article-wrap { max-width:840px; }
.article-wrap > .wp-block-post-featured-image img { border-radius:20px; width:100%; object-fit:cover; }
.article-page .article-meta { display:flex; gap:18px; color:#526568; font-size:14px; margin:8px 0 26px; }
.article-page .wp-block-post-content { font-size:18px; line-height:1.72; }
.article-page .wp-block-post-content h2 { margin-top:38px; }
.article-index .wp-block-query { margin-top:32px; }
.article-index .article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.article-index .article-card { overflow:hidden; }
.article-index .article-card .wp-block-post-featured-image { margin:-26px -26px 24px; }
.article-index .article-card .wp-block-post-featured-image img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.article-index .article-card h2 { font-size:23px; }
.article-index .article-card a { color:#0c6266; }
.topclinic-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; opacity:0!important; }
.form-status { min-height:1.5em; margin:12px 0 0; font-weight:650; color:#0b555a; }
@media(max-width:950px) { .article-index .article-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { .article-index .article-grid { grid-template-columns:1fr; } }

/* Mobile home layout follows the approved reference while all blocks remain editable. */
@media (max-width:650px) {
  .top { display:block; background:#103d42; color:#fff; }
  .top .wrap { display:block; padding:10px 16px; text-align:center; }
  .top .wrap p:first-child { display:flex; flex-direction:column; align-items:center; gap:4px; }
  .top .wrap p:last-child { display:none; }
  .top a { display:block; margin:0; font-size:14px; line-height:1.35; color:#fff; }
  .header { position:relative; top:auto; }
  .header .wrap { min-height:78px; padding:10px 24px; flex-wrap:nowrap; gap:12px; }
  .header .wp-block-site-logo img { width:min(46vw,190px); max-width:none; }
  .header .wp-block-navigation { margin:0 0 0 auto; width:auto; flex:0 0 auto; }
  .header .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none; }
  .header .wp-block-navigation__responsive-container-open {
    display:inline-flex !important; align-items:center; gap:4px; min-width:102px;
    min-height:48px; padding:11px 17px; border-radius:100px;
    background:#0c6266; color:#fff; font-size:0;
  }
  .header .wp-block-navigation__responsive-container-open::before { content:'Menu'; font-size:17px; font-weight:750; }
  .header .wp-block-navigation__responsive-container-open svg { width:22px; height:22px; fill:#fff; }
  .wp-block-post-content .hero { min-height:calc(100svh - 190px); padding:58px 0 32px; display:flex; align-items:center; }
  .wp-block-post-content .hero .wrap { display:block; width:100%; }
  .wp-block-post-content .hero > .hero-background img { object-position:63% center; }
  .wp-block-post-content .hero::before { background:linear-gradient(90deg,#063e43f3 0%,#0b5558d4 60%,#0b55586a 100%); }
  .wp-block-post-content .hero h1 { font-size:clamp(38px,10vw,54px); line-height:1.06; margin:18px 0; }
  .wp-block-post-content .hero p { font-size:clamp(18px,4.3vw,22px); line-height:1.55; }
  .wp-block-post-content .hero .eyebrow { font-size:13px; }
  .wp-block-post-content .hero .wp-block-buttons,
  .wp-block-post-content .hero .hero-paths,
  .wp-block-post-content .hero .hero-card { display:none; }
  .sticky-actions { position:fixed; bottom:0; left:0; right:0; z-index:100; display:block; padding:10px 12px max(10px,env(safe-area-inset-bottom)); background:#fff; box-shadow:0 -4px 18px #0002; }
  .sticky-actions .wp-block-buttons { gap:8px; }
  .sticky-actions .wp-block-button__link { min-height:48px; font-size:clamp(11px,3vw,14px); font-weight:750; }
  .sticky-actions .wp-block-button:not(.secondary) .wp-block-button__link { background:#0c6266; color:#fff !important; }
  .footer { padding-bottom:110px; }
}

.mobile-quick-actions, .mobile-home-actions { display:none; }
@media(max-width:650px) {
  .top { display:none; }
  .wp-site-blocks > header { position:sticky; top:-100px; z-index:110; background:#fff; }
  .header { position:relative; box-shadow:none; border-bottom:1px solid #e5efed; }
  .header .wrap {
    display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
    grid-template-rows:100px 72px; gap:0; min-height:0; padding:0 16px;
  }
  .header .wp-block-site-logo { grid-column:1 / -1; justify-self:center; align-self:center; margin:0; }
  .header .wp-block-site-logo img { width:min(70vw,245px); max-width:none; }
  .header .wp-block-navigation { grid-column:1; justify-self:stretch; margin:0; min-width:0; }
  .header .wp-block-navigation__responsive-container-open {
    width:100%; min-width:0; min-height:72px; padding:8px 2px 12px;
    border-radius:0; background:none; color:#0c6266;
    flex-direction:column; justify-content:center; gap:4px;
  }
  .header .wp-block-navigation__responsive-container-open svg { order:1; width:29px; height:29px; fill:#0c6266; }
  .header .wp-block-navigation__responsive-container-open::before { order:2; content:'MENU'; font-size:13px; font-weight:800; }
  .header .mobile-quick-actions { grid-column:2 / 4; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
  .header .mobile-quick-actions p { margin:0; display:flex; align-items:stretch; justify-content:center; border-left:1px solid #d9e5e3; }
  .header .mobile-quick-actions a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; width:100%; min-height:72px; padding:8px 2px 12px; color:#0c6266; text-decoration:none; }
  .header .mobile-quick-actions span { font-family:Arial,sans-serif; font-size:30px; line-height:1; }
  .header .mobile-quick-actions strong { font-size:13px; line-height:1.2; }
  .header .wrap > .wp-block-buttons { display:none; }
  .wp-block-post-content .hero { min-height:min(72svh,650px); padding:55px 0; }
  .wp-block-post-content .hero .wrap { padding:0 24px; }
  .mobile-home-actions { display:none; }
  .mobile-home-actions .wp-block-buttons { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3px; }
  .mobile-home-actions .wp-block-button, .mobile-home-actions .wp-block-button__link { width:100%; min-width:0; }
  .mobile-home-actions .wp-block-button__link { min-height:62px; padding:11px 8px; border-radius:0; font-size:clamp(12px,3.5vw,16px); line-height:1.2; text-align:center; color:#fff!important; background:#0c6266; }
  .mobile-home-actions .wp-block-button.secondary .wp-block-button__link { background:#dbefe7; color:#0b555a!important; }
  .home .sticky-actions { display:block; }
  .sticky-actions { bottom:0; padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px)); }
  .home .footer { padding-bottom:110px; }
  html { scroll-padding-top:82px; }
}

/* Compact consultation: one introduction and two adjacent sending actions. */
.split:has(> .consultation-shell) { grid-template-columns:1fr; gap:20px; }
.consultation-shell { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr); column-gap:26px; padding:24px; align-items:start; }
.consultation-shell > .pill,.consultation-shell > h3,.consultation-shell > p { grid-column:1; }
.consultation-shell > .pill { justify-self:start; margin:0 0 12px; }
.consultation-shell > h3 { margin:0 0 10px; font-size:26px; }
.consultation-shell > p { margin:0; }
.consultation-shell > .consultation-shell { grid-column:2; grid-row:1 / span 4; display:block; border:0; box-shadow:none; padding:0; border-radius:0; }
.consultation-shell > .consultation-shell > .consultation-intro { display:none; }
.consultation-intro h3 { margin:12px 0 10px; font-size:26px; }
.consultation-intro p { margin:0; color:#526568; }
.consultation-form { min-width:0; }
.consultation-form .fields { gap:10px 12px; }
.consultation-form .field label { gap:4px; }
.consultation-form input,.consultation-form select,.consultation-form textarea { min-height:42px; padding:9px 11px; }
.consultation-form textarea { min-height:78px; }
.consultation-form .consent-row { margin:12px 0; font-size:12px; }
.consultation-form .consent-row input { min-height:0; }
.consultation-form .form-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.consultation-form .form-actions .btn { width:100%; min-width:0; padding:11px 8px; font-size:13px; line-height:1.35; white-space:normal; color:#fff; }
.consultation-form .form-actions .btn.secondary { color:#07585b; }
.consultation-form .form-status:empty { display:none; }
@media(max-width:780px) {
 .consultation-shell { grid-template-columns:1fr; padding:18px; gap:12px; }
 .consultation-shell > .consultation-shell { grid-column:1; grid-row:auto; padding:0; }
 .consultation-shell > h3 { font-size:23px; }
 .consultation-shell > p,.consultation-intro p { font-size:14px; }
}
@media(max-width:650px) {
 .consultation-form .fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .consultation-form .field label { font-size:12px; }
 .consultation-form input,.consultation-form select,.consultation-form textarea { font-size:16px; }
}

/* Expandable mobile navigation, including future nested menu entries. */
.tc-submenu-toggle { display:none; }
@media(max-width:950px) {
 .header .wp-block-navigation__responsive-container.is-menu-open { padding:24px!important; color:#183b3e; background:#fff; }
 .header .is-menu-open .wp-block-navigation__responsive-container-content { align-items:stretch!important; padding-top:54px!important; gap:0!important; }
 .header .is-menu-open .wp-block-navigation__container { width:100%; align-items:stretch!important; gap:0!important; }
 .header .is-menu-open .wp-block-navigation-item { width:100%; align-items:stretch!important; text-align:left; position:relative; }
 .header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item { border-bottom:1px solid #d5e7e2; }
 .header .is-menu-open .wp-block-navigation-item__content { display:block; padding:16px 52px 16px 8px!important; font-size:19px; line-height:1.35; font-weight:700; width:100%; }
 .header .is-menu-open .wp-block-navigation-submenu__toggle { display:none!important; }
 .header .is-menu-open .tc-submenu-toggle { display:flex!important; position:absolute; top:6px; right:0; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border-radius:10px; background:#eaf3f0; color:#0c6266; font-size:27px; }
 .header .is-menu-open .tc-submenu-toggle[aria-expanded="true"] span { transform:rotate(180deg); }
 .header .is-menu-open .has-child > .wp-block-navigation__submenu-container { display:none!important; position:static!important; width:100%!important; min-width:0!important; height:auto!important; opacity:1!important; visibility:visible!important; padding:0 0 8px 16px!important; margin:0!important; background:#f4f9f7; border:0!important; }
 .header .is-menu-open .has-child.tc-submenu-open > .wp-block-navigation__submenu-container { display:flex!important; flex-direction:column; align-items:stretch!important; gap:0!important; }
 .header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size:16px; font-weight:600; padding-top:12px!important; padding-bottom:12px!important; }
 .header .is-menu-open .wp-block-navigation__responsive-container-close { color:#0c6266; padding:8px; }
 .header .is-menu-open .tc-submenu-toggle:focus-visible { outline:3px solid #0c6266; outline-offset:2px; }
}

.tc-classic-navigation ul { list-style:none; margin:0; }
.tc-classic-navigation .wp-block-navigation__container { display:flex; gap:22px; padding:0; }
.tc-classic-navigation .wp-block-navigation-item { position:relative; }
.tc-classic-navigation .has-child > .wp-block-navigation__submenu-container { position:absolute; top:100%; left:0; min-width:230px; padding:10px; background:white; border:1px solid #d5e7e2; display:none; }
.tc-classic-navigation .has-child:hover > .wp-block-navigation__submenu-container,.tc-classic-navigation .has-child:focus-within > .wp-block-navigation__submenu-container { display:block; }
.tc-classic-navigation .wp-block-navigation__submenu-container a { display:block; padding:10px; }
.tc-menu-open,.tc-menu-close { display:none; }
@media(max-width:950px) {
 .header .tc-classic-navigation { display:flex!important; position:static; padding:0; box-shadow:none; }
 .header .tc-classic-navigation .tc-menu-open { display:flex!important; }
 .header .tc-classic-navigation .tc-menu-panel:not(.is-menu-open) { display:none!important; }
 .header .tc-classic-navigation .tc-menu-panel.is-menu-open { display:block!important; position:fixed; inset:0; z-index:10000; overflow-y:auto; }
 .header .tc-classic-navigation .tc-menu-close { display:block; position:absolute; right:20px; top:16px; font-size:32px; background:white; }
 .header .tc-classic-navigation .wp-block-navigation__container { flex-direction:column; }
}

/* Reserve a separate touch target for submenu expansion. */
@media(max-width:950px) {
 .header .is-menu-open .has-child { display:block!important; }
 .header .is-menu-open .has-child > .wp-block-navigation-item__content { width:calc(100% - 52px)!important; padding-right:8px!important; }
 .header .is-menu-open .tc-submenu-toggle { z-index:5; pointer-events:auto!important; cursor:pointer; }
}
.tc-sidebar-widget + .tc-sidebar-widget { margin-top:20px; }
.sidebar .wp-block-button__link { display:inline-block; padding:12px 16px; }
@media (max-width: 650px) {
  .sticky-actions {
    background: #fff !important;
    padding: 12px 10px
      calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    border-top: 2px solid #d5e7e2;
    box-shadow: 0 -6px 24px #0003 !important;
  }

  .sticky-actions .wp-block-buttons {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
  }

  .sticky-actions .wp-block-button {
    flex: 1 !important;
    min-width: 0;
  }

  .sticky-actions .wp-block-button__link,
  .sticky-actions a.btn {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 100%;
    min-height: 58px;
    padding: 12px 8px !important;
    border: 0 !important;
    border-radius: 14px !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: center;
    text-decoration: none !important;
    box-shadow: 0 4px 10px #0002;
  }

  .sticky-actions a[href*="wa.me"] {
    background: #087b3c !important;
  }

  .sticky-actions a[href*="prenota-consulenza"] {
    background: #0c6266 !important;
  }

  .sticky-actions a[href*="wa.me"]::before {
    content: "✆";
    font-size: 25px;
  }

  .sticky-actions a[href*="prenota-consulenza"]::before {
    content: "✉";
    font-size: 23px;
  }
}