@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#10264b;--navy2:#0c1f3e;--blue:#345f84;--ink:#21364c;--muted:#62758a;--line:#dfe7ed;--wash:#f5f8fa;--white:#fff;--accent:#92b8b0}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font:16px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}.wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;line-height:1.16;letter-spacing:-.035em}h1{font-size:clamp(2.35rem,5.3vw,4.5rem)}h2{font-size:clamp(1.8rem,3.3vw,2.85rem)}h3{font-size:1.16rem}p{margin-bottom:1.15em}a:focus-visible,button:focus-visible{outline:3px solid #76baac;outline-offset:4px}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.72rem;font-weight:800;color:#568677;display:block;margin-bottom:20px}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;border:1px solid var(--navy);background:var(--navy);color:white;font-weight:700;padding:13px 22px;border-radius:4px;transition:transform .2s,background .2s}.button:hover{background:#244574;transform:translateY(-2px)}.button.secondary{margin-top:18px}.button.light{background:white;color:var(--navy);border-color:white}.text-link{font-weight:700;text-decoration:underline;text-underline-offset:6px}
.header{height:94px;background:var(--navy);color:white;position:relative;z-index:30}.header-inner{height:100%;width:min(1290px,calc(100% - 48px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:36px}.brand{flex:0 0 auto}.brand img{width:205px;height:auto}.nav{display:flex;align-items:center;gap:clamp(15px,2vw,28px);height:100%;font-size:.78rem;font-weight:700;letter-spacing:.035em;text-transform:uppercase}.nav>a,.nav-group>a,.submenu-toggle{display:inline-flex;align-items:center;gap:6px;height:100%;white-space:nowrap;transition:opacity .2s}.nav>a:hover,.nav-group>a:hover,.submenu-toggle:hover{opacity:.75}.nav a[aria-current=page]{color:#cce5df}.nav-cta{height:auto!important;padding:12px 16px;border:1px solid rgba(255,255,255,.48);border-radius:3px}.nav-group{height:100%;position:relative;display:flex;align-items:center}.submenu-toggle{background:none;border:0;color:white;cursor:pointer;padding:0;text-transform:uppercase;font-size:inherit;font-weight:inherit;letter-spacing:inherit}.submenu{position:absolute;top:calc(100% - 7px);left:-16px;width:350px;max-height:min(72vh,630px);overflow:auto;background:white;color:var(--ink);box-shadow:0 14px 35px #11274328;border:1px solid var(--line);padding:12px;display:none;z-index:40;text-transform:none;letter-spacing:0}.nav-group:hover .submenu,.nav-group:focus-within .submenu,.nav-group.is-open .submenu{display:grid}.submenu a{padding:7px 10px;font-size:.83rem;line-height:1.3;border-radius:3px}.submenu a:hover{background:var(--wash);color:var(--blue)}.menu-toggle{display:none;background:none;border:0;padding:10px;cursor:pointer}.menu-toggle span{display:block;width:25px;height:2px;background:white;margin:5px 0}
.home-hero{min-height:620px;position:relative;background:#213a58;color:white;display:flex;align-items:center;overflow:hidden}.hero-slides,.hero-slide,.hero-shade{position:absolute;inset:0}.hero-slide{background-size:cover;background-position:center;opacity:0;transition:opacity 1s ease;transform:scale(1.02)}.hero-slide.is-active{opacity:1}.hero-shade{background:linear-gradient(90deg,rgba(8,25,50,.78),rgba(9,26,51,.22) 70%),linear-gradient(0deg,rgba(5,20,43,.26),transparent 55%)}.hero-content{position:relative;z-index:2;padding-top:45px;padding-bottom:65px}.hero-content .eyebrow{color:#d0ebe2}.hero-content h1{max-width:780px;margin-bottom:22px;text-wrap:balance}.hero-content p{max-width:660px;font-size:1.12rem;line-height:1.7;margin-bottom:32px;color:#f1f5f8}.hero-content .button{background:white;border-color:white;color:var(--navy)}.slider-controls{position:absolute;z-index:3;bottom:30px;right:max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;gap:15px;color:white;font-size:.8rem;font-weight:700}.slider-controls button{width:36px;height:36px;border:1px solid #fff9;background:#ffffff24;color:white;border-radius:50%;font-size:1.6rem;line-height:0;cursor:pointer}.slider-controls button:hover{background:white;color:var(--navy)}
.section{padding-top:92px;padding-bottom:100px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:40px}.section-heading h2{max-width:690px;margin:0}.section-heading p{max-width:310px;color:var(--muted);margin:0}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.service-card{background:white;border:1px solid var(--line);border-radius:7px;position:relative;min-height:275px;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .25s,transform .25s,border-color .25s}.service-card:hover{box-shadow:0 15px 40px #132c4821;transform:translateY(-4px);border-color:#bdcfd8}.service-visual{height:198px;padding:21px;display:flex;align-items:center;justify-content:center;background:#f7f9fa}.service-visual img{width:100%;height:100%;object-fit:contain}.service-title{padding:20px 40px 20px 20px;font-family:Manrope,Arial,sans-serif;font-size:.84rem;font-weight:800;letter-spacing:.015em;line-height:1.35;color:var(--navy)}.service-arrow{position:absolute;right:20px;bottom:17px;color:#55887d;font-size:1.2rem}.clinic-section{background:var(--wash);padding:90px 0 105px}.clinic-intro{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:end;margin-bottom:35px}.clinic-intro h2{max-width:550px;margin:0}.clinic-intro p{max-width:480px;color:var(--muted);margin:0}.gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.gallery-link{height:160px;overflow:hidden;background:#dce7e9;border-radius:4px}.gallery-link:first-child{grid-column:span 2;grid-row:span 2;height:332px}.gallery-link img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.gallery-link:hover img{transform:scale(1.05)}
.page-hero{min-height:315px;display:flex;align-items:end;padding:55px 0;background:linear-gradient(90deg,rgba(9,27,53,.89),rgba(12,37,72,.5)),var(--hero-image) center/cover;color:white}.page-hero .eyebrow{color:#c4e0da}.page-hero h1{font-size:clamp(2.2rem,4.5vw,3.8rem);max-width:850px;margin-bottom:0}.detail-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);gap:70px;align-items:start}.detail-layout h2{margin-bottom:30px}.article{line-height:1.75;color:#3c4e60}.article p,.article li{font-size:1.04rem}.article b,.article strong{color:var(--navy)}.article a:not(.button){color:#256583;text-decoration:underline;text-underline-offset:3px}.article ul{padding-left:24px}.article h2,.article h3{color:var(--navy);margin-top:28px}.detail-image{position:sticky;top:30px;background:#f5f8fa;border-radius:6px;overflow:hidden}.detail-image img{width:100%;height:auto;max-height:510px;object-fit:contain}.lead-block{font-size:1.13rem;max-width:900px;margin:0 0 40px;color:var(--muted)}.lead-block p{font-size:inherit}.team-list{display:grid;gap:28px}.team-card{display:grid;grid-template-columns:230px 1fr;gap:34px;padding:28px;border:1px solid var(--line);border-radius:6px;background:white}.team-card .portrait img,.portrait-placeholder{width:230px;height:260px;object-fit:cover;border-radius:3px;background:#edf2f4}.portrait-placeholder{display:grid;place-items:center;font-size:3rem;font-weight:700;color:#7995a1}.team-card .article p:first-child{font-size:1.33rem;color:var(--navy);font-weight:700}.narrow{max-width:900px}.mutues-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.mutues-grid>div{background:var(--wash);padding:20px 25px}.advice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.advice-card{border:1px solid var(--line);padding:25px 28px;border-radius:5px}.advice-card p:last-child{margin-bottom:0}.location-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center}.location-layout h2{margin-bottom:24px}.location-layout p{font-size:1.15rem}.map{height:430px;overflow:hidden;border-radius:5px;background:var(--wash)}.map iframe{width:100%;height:100%;border:0}.contact-page{display:grid;grid-template-columns:1fr .85fr;gap:70px;align-items:start}.contact-page h2{margin-bottom:20px}.contact-page p{max-width:580px}.contact-options{margin-top:35px;display:grid;gap:10px}.contact-options a{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:17px 20px;border:1px solid var(--line);border-radius:4px}.contact-options a:hover{border-color:#91afa9;background:#f8fbfa}.contact-options a span{color:var(--muted)}.contact-options strong{color:var(--navy)}.form-note{font-size:.82rem;color:var(--muted);margin-top:19px}.contact-photo img{width:100%;height:460px;object-fit:cover;border-radius:5px}.legal{overflow-wrap:anywhere}.legal h2{font-size:1.5rem}.legal table{max-width:100%;display:block;overflow:auto}
.contact-band{background:#eaf2f1;padding:62px 0}.contact-band-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.contact-band h2{margin-bottom:8px;font-size:clamp(1.7rem,3vw,2.45rem)}.contact-band p{margin:0;color:var(--muted)}.contact-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.footer{background:var(--navy2);color:#dce7f0;padding:70px 0 25px}.footer-grid{display:grid;grid-template-columns:1.35fr .8fr 1.1fr .8fr;gap:38px}.footer-logo{width:170px;margin-bottom:18px}.footer-grid p{color:#afc1d2;line-height:1.65}.footer-grid h3{color:white;text-transform:uppercase;font-size:.78rem;letter-spacing:.12em;margin-bottom:20px}.footer-grid a{display:block;color:#afc1d2;margin-bottom:10px;font-size:.9rem}.footer-grid a:hover{color:white}.copyright{border-top:1px solid #ffffff2b;margin-top:48px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;color:#93a9bc;font-size:.75rem}.copyright a{text-decoration:underline}.lightbox{position:fixed;inset:0;z-index:100;background:#07182be8;display:grid;place-items:center;padding:50px;cursor:zoom-out}.lightbox img{max-width:90vw;max-height:85vh;object-fit:contain;box-shadow:0 20px 70px #0008}.lightbox button{position:absolute;top:15px;right:20px;background:none;border:0;color:white;font-size:2.4rem;cursor:pointer}
@media(max-width:1050px){.header{height:78px}.brand img{width:170px}.menu-toggle{display:block;margin-left:auto}.nav{display:none;position:absolute;left:0;right:0;top:78px;height:auto;background:var(--navy);padding:10px 24px 25px;box-shadow:0 18px 30px #071a35a8;align-items:stretch;gap:0;flex-direction:column;max-height:calc(100vh - 78px);overflow:auto}.nav.is-open{display:flex}.nav>a,.nav-group>a,.submenu-toggle{height:auto;padding:13px 0}.nav-group{display:block;height:auto}.submenu{position:static;width:auto;max-height:none;box-shadow:none;background:#1b385f;color:white;border:0;margin-bottom:12px}.submenu a{color:white;padding:9px 12px}.submenu a:hover{background:#31547b;color:white}.nav-group:hover .submenu{display:none}.nav-group.is-open .submenu,.nav-group:focus-within .submenu{display:grid}.nav-cta{align-self:start;margin-top:12px}.service-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.wrap{width:min(100% - 36px,600px)}.header-inner{width:calc(100% - 30px)}.home-hero{min-height:660px;align-items:end}.hero-content{padding-bottom:115px;padding-top:70px}.hero-content h1{font-size:clamp(2.15rem,9vw,3.4rem)}.hero-content p{font-size:1rem}.hero-shade{background:linear-gradient(0deg,rgba(7,25,50,.9),rgba(7,25,50,.25) 85%)}.slider-controls{right:18px;bottom:25px}.section{padding-top:62px;padding-bottom:75px}.section-heading,.clinic-intro{display:block}.section-heading p,.clinic-intro p{margin-top:20px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.service-card{min-height:225px}.service-visual{height:155px;padding:12px}.service-title{padding:14px 25px 17px 13px;font-size:.72rem}.service-arrow{right:10px;bottom:10px;font-size:1rem}.clinic-section{padding:65px 0}.gallery{grid-template-columns:repeat(2,1fr)}.gallery-link{height:140px}.gallery-link:first-child{grid-column:span 2;grid-row:span 1;height:230px}.page-hero{min-height:265px;padding:50px 0}.detail-layout,.location-layout,.contact-page{grid-template-columns:1fr;gap:34px}.detail-image{position:static;order:-1}.detail-image img{max-height:350px}.team-card{grid-template-columns:1fr}.team-card .portrait img,.portrait-placeholder{width:100%;height:240px}.advice-grid{grid-template-columns:1fr}.contact-photo{order:-1}.contact-photo img{height:260px}.contact-band-inner{display:block}.contact-actions{margin-top:25px}.footer-grid{grid-template-columns:repeat(2,1fr);gap:28px}.copyright{display:block}.copyright span{display:block;margin-top:8px}}
@media(max-width:430px){.service-grid{gap:10px}.service-visual{height:125px}.service-card{min-height:205px}.service-title{font-size:.68rem}.mutues-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.contact-options a{display:block}.contact-options strong{display:block;margin-top:2px}.lightbox{padding:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.form-section{background:var(--wash)}.form-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.form-layout p{color:var(--muted)}.contact-form{background:white;border:1px solid var(--line);padding:35px;border-radius:6px;display:grid;gap:17px}.contact-form label{display:grid;gap:7px;font-size:.88rem;font-weight:700;color:var(--navy)}.contact-form input:not([type=checkbox]),.contact-form textarea{width:100%;border:1px solid #cdd9e0;border-radius:3px;padding:11px 12px;font:inherit;color:var(--ink);background:white}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #83b7aa;outline-offset:1px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form .consent{display:block;font-weight:400;color:var(--ink);font-size:.83rem}.consent input{margin-right:6px}.consent a{text-decoration:underline}.contact-form .button{justify-self:start;cursor:pointer}
@media(max-width:760px){.form-layout{grid-template-columns:1fr;gap:26px}.contact-form{padding:22px}.form-row{grid-template-columns:1fr}}

/* Banner de blanquejament dental: zona de lectura y fotografía visible. */
.page-hero--whitening{min-height:390px;background:linear-gradient(90deg,rgba(9,27,53,.89) 0%,rgba(9,27,53,.66) 37%,rgba(9,27,53,.08) 70%),var(--hero-image) center 43%/cover no-repeat}
@media(max-width:700px){.page-hero--whitening{min-height:360px;background:linear-gradient(90deg,rgba(9,27,53,.84),rgba(9,27,53,.5)),var(--hero-image) 62% center/cover no-repeat}}

/* Treatment page model: Blanquejament Dental */
.treatment-intro{background:#fff;padding:105px 0 115px}
.treatment-intro-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(45px,7vw,110px);align-items:center}
.treatment-copy{animation:treatment-rise .7s ease both}
.treatment-copy .eyebrow,.treatment-section-title .eyebrow,.related-head .eyebrow{color:#4a837d}
.treatment-copy h2{max-width:690px;margin:17px 0 26px;color:var(--navy);font-size:clamp(2.1rem,3.5vw,3.45rem)}
.treatment-copy p{max-width:610px;color:#506477;font-size:1.06rem;line-height:1.8}
.treatment-copy .treatment-lead{font-size:1.25rem;line-height:1.6;color:#263f58}
.treatment-copy .button{margin-top:18px}
.treatment-visual{margin:0;animation:treatment-rise .8s .12s ease both}
.treatment-visual-inner{min-height:390px;display:grid;place-items:center;padding:40px 25px;border-radius:22px;background:radial-gradient(circle at 48% 42%,#fff 4%,#eff7f7 52%,#dcebec 100%);border:1px solid #e0ebed;overflow:hidden}
.treatment-visual img{width:100%;max-width:590px;max-height:340px;object-fit:contain;filter:drop-shadow(0 23px 28px rgba(22,61,80,.16));transition:transform .55s ease}
.treatment-visual:hover img{transform:scale(1.045)}
.treatment-visual figcaption{margin-top:13px;color:#62758a;font-size:.82rem;line-height:1.5;text-align:center}
.treatment-steps{background:#102b50;color:white;padding:90px 0 100px}
.treatment-section-title{max-width:690px;margin-bottom:43px}
.treatment-section-title .eyebrow{color:#a7d7d0}
.treatment-section-title h2{margin:14px 0 14px;font-size:clamp(2rem,3vw,3rem)}
.treatment-section-title p{color:#cedde8;font-size:1.12rem;margin:0}
.treatment-step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.treatment-step-grid article{padding:30px 30px 34px;background:#19385f;border:1px solid #345475;border-radius:12px;transition:transform .28s ease,background .28s ease}
.treatment-step-grid article:hover{transform:translateY(-5px);background:#21456c}
.step-number{display:block;color:#a7d7d0;font:700 .8rem Manrope,Arial,sans-serif;letter-spacing:.14em;margin-bottom:36px}
.treatment-step-grid h3{font-size:1.38rem;margin-bottom:12px;color:white}
.treatment-step-grid p{color:#d2e0e9;margin:0;line-height:1.65}
.treatment-note{padding:83px 0;background:#edf5f5}
.treatment-note-grid{display:grid;grid-template-columns:1.1fr .8fr;gap:70px;align-items:center}
.treatment-note h2{margin:13px 0 0;color:var(--navy);font-size:clamp(1.95rem,3vw,2.85rem)}
.treatment-note p{font-size:1.1rem;color:#3d5869;line-height:1.7}
.treatment-note .button{margin-top:8px}
.related-services{padding:85px 0 100px;background:white}
.related-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}
.related-head h2{margin:12px 0 0;color:var(--navy)}
.related-head p{margin:0 0 4px;color:#62758a}
.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #dfe7ed;border-left:1px solid #dfe7ed}
.related-link{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:18px 21px;border-right:1px solid #dfe7ed;border-bottom:1px solid #dfe7ed;font-family:Manrope,Arial,sans-serif;font-size:.92rem;font-weight:700;line-height:1.35;color:#24415b;transition:background .25s,color .25s,padding-left .25s}
.related-link span:last-child{color:#4a837d;font-size:1.15rem;flex:none}
.related-link:hover{background:#edf5f5;color:#102b50;padding-left:27px}
@keyframes treatment-rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.treatment-intro-grid{gap:35px}.treatment-visual-inner{min-height:340px}.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.treatment-intro{padding:65px 0 75px}.treatment-intro-grid,.treatment-note-grid{grid-template-columns:1fr}.treatment-copy h2{font-size:clamp(2rem,9vw,2.8rem)}.treatment-visual-inner{min-height:280px;padding:25px 15px}.treatment-visual img{max-height:250px}.treatment-steps{padding:70px 0}.treatment-step-grid{grid-template-columns:1fr}.step-number{margin-bottom:20px}.treatment-note{padding:65px 0}.treatment-note-grid{gap:20px}.related-services{padding:70px 0}.related-head{display:block}.related-head p{margin-top:14px}.related-grid{grid-template-columns:1fr}.related-link{min-height:62px}}
@media(prefers-reduced-motion:reduce){.treatment-copy,.treatment-visual{animation:none}.treatment-visual img,.related-link,.treatment-step-grid article{transition:none}}
/* Tonos alternos para distinguir los enlaces compactos de especialidades. */
.related-link:nth-child(4n+1){background:#f1f7f8}
.related-link:nth-child(4n+2){background:#f5f3fa}
.related-link:nth-child(4n+3){background:#f7f5ef}
.related-link:nth-child(4n+4){background:#eef5f2}
.related-link:hover{background:#dcebe9;color:#102b50}

/* Encabezado integrado con la fotografía, probado solo en Blanquejament Dental. */
.page-whitening .header{position:absolute;top:0;left:0;right:0;width:100%;height:94px;background:linear-gradient(180deg,rgba(7,22,41,.74) 0%,rgba(7,22,41,.36) 72%,rgba(7,22,41,0) 100%);z-index:30}
.page-whitening .header-inner{position:relative}
.page-whitening .nav>a,.page-whitening .nav-group>a,.page-whitening .submenu-toggle{color:#fff;text-shadow:0 1px 6px rgba(2,13,28,.6);font-weight:800}
.page-whitening .nav a[aria-current=page]{color:#fff}
.page-whitening .nav-group:first-of-type .submenu-toggle{position:relative}
.page-whitening .nav-group:first-of-type .submenu-toggle::after{content:"";position:absolute;left:0;right:0;bottom:18px;height:2px;background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.35)}
.page-whitening .nav-cta{border:1px solid rgba(255,255,255,.86);background:rgba(8,26,48,.21);box-shadow:0 2px 12px rgba(0,0,0,.1);padding:13px 17px}
.page-whitening .nav-cta:hover{background:rgba(255,255,255,.2);opacity:1}
.page-whitening .page-hero--whitening{min-height:714px;padding:140px 0 70px;background:linear-gradient(90deg,rgba(9,27,53,.83) 0%,rgba(9,27,53,.55) 41%,rgba(9,27,53,.08) 75%),var(--hero-image) center 43%/cover no-repeat}
.page-whitening .page-hero h1{text-shadow:0 2px 20px rgba(0,0,0,.22)}
@media(max-width:1050px){.page-whitening .header{height:78px}.page-whitening .nav{background:#102b50}.page-whitening .nav-group:first-of-type .submenu-toggle::after{bottom:7px}.page-whitening .nav-cta{background:rgba(255,255,255,.08)}}
@media(max-width:700px){.page-whitening .page-hero--whitening{min-height:738px;padding:120px 0 58px;background:linear-gradient(90deg,rgba(9,27,53,.82),rgba(9,27,53,.44)),var(--hero-image) 60% center/cover no-repeat}}

/* Cabecera integrada: la imagen del banner continúa detrás del menú. */
.site-overlay-header .header{position:absolute;top:0;left:0;right:0;width:100%;height:94px;background:linear-gradient(180deg,rgba(7,22,41,.76),rgba(7,22,41,.34) 72%,rgba(7,22,41,0));z-index:30}
.site-overlay-header .nav>a,.site-overlay-header .nav-group>a,.site-overlay-header .submenu-toggle{color:#fff;font-weight:800;text-shadow:0 1px 6px rgba(2,13,28,.62)}
.site-overlay-header .nav>a[aria-current=page],.site-overlay-header .nav-group>a[aria-current=page]{position:relative;color:#fff}
.site-overlay-header .nav>a[aria-current=page]::after,.site-overlay-header .nav-group>a[aria-current=page]::after{content:"";position:absolute;left:0;right:0;bottom:18px;height:2px;background:#fff}
.site-overlay-header .nav-cta{border-color:rgba(255,255,255,.88);background:rgba(8,26,48,.24);color:#fff;box-shadow:0 2px 12px rgba(0,0,0,.1)}
.site-overlay-header .nav-cta:hover{background:rgba(255,255,255,.2);opacity:1}
.site-overlay-header:not(.page-whitening) .page-hero{min-height:714px;padding:140px 0 65px;background:linear-gradient(90deg,rgba(9,27,53,.84),rgba(9,27,53,.45) 56%,rgba(9,27,53,.16)),var(--hero-image) center/cover no-repeat}
.site-overlay-header .page-hero h1{text-shadow:0 2px 20px rgba(0,0,0,.22)}
.page-treatment .nav-group:first-of-type .submenu-toggle{position:relative}
.page-treatment .nav-group:first-of-type .submenu-toggle::after{content:"";position:absolute;left:0;right:0;bottom:18px;height:2px;background:#fff}
.site-home .home-hero{min-height:714px}
.site-home .hero-content{padding-top:120px}
@media(max-width:1050px){.site-overlay-header .header{height:78px}.site-overlay-header .nav{background:#102b50}.site-overlay-header .nav>a[aria-current=page]::after,.site-overlay-header .nav-group>a[aria-current=page]::after,.page-treatment .nav-group:first-of-type .submenu-toggle::after{bottom:7px}.site-overlay-header .nav-cta{background:rgba(255,255,255,.08)}}
@media(max-width:760px){.site-overlay-header:not(.page-whitening) .page-hero,.page-whitening .page-hero--whitening{min-height:738px;padding:120px 0 55px}.site-home .home-hero{min-height:738px}.site-home .hero-content{padding-top:100px}}
.treatment-extra{padding:72px 0 0;background:#fff}
.treatment-extra details{max-width:900px;margin:auto;border:1px solid #dce7eb;border-radius:12px;background:#f7fafb;overflow:hidden}
.treatment-extra summary{list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 30px;cursor:pointer;font:800 1.14rem Manrope,Arial,sans-serif;color:var(--navy)}
.treatment-extra summary::-webkit-details-marker{display:none}
.treatment-extra summary span{font-size:1.5rem;line-height:1;color:#4a837d;transition:transform .2s}
.treatment-extra details[open] summary span{transform:rotate(45deg)}
.treatment-extra .article{border-top:1px solid #dce7eb;padding:25px 30px 30px;color:#41596b}
.treatment-extra .article>div>div>p:last-child{margin-bottom:0}
.treatment-extra + .related-services{padding-top:80px}
@media(max-width:700px){.treatment-extra{padding:50px 0 0}.treatment-extra summary,.treatment-extra .article{padding:20px}}
/* El TAC original contiene un fondo azul rectangular. Se recorta visualmente
   respetando los píxeles de la imagen diagnóstica. */
.treatment-visual img[src*="TAC-imatges-tridimensionals"],.service-card img[src*="TAC-imatges-tridimensionals"]{clip-path:ellipse(49% 49% at 50% 50%)}
/* Banner específico por especialidad; mantener los rostros en el recorte panorámico. */
.page-treatment:not(.page-whitening) .page-hero{background-position:center top}
@media(max-width:760px){.page-treatment:not(.page-whitening) .page-hero{background-position:60% top}}
/* Fotografías de especialidades en la Home: sin el recuadro azul del material antiguo. */
.service-card--photo .service-visual{padding:0;background:#e9f0f1}
.service-card--photo .service-visual img{object-fit:cover;object-position:65% center}
/* Fotografía de equipo fija: el texto queda sobre la zona inferior, sin tapar los rostros. */
.site-home .home-hero{align-items:flex-end;background:#1681bd}
.site-home .hero-slide{background-position:center 30%;transform:none;transition:none}
.site-home .hero-shade{background:linear-gradient(0deg,rgba(4,28,58,.96) 0%,rgba(5,35,69,.83) 19%,rgba(7,47,87,.34) 42%,transparent 72%)}
.site-home .hero-content{padding-top:150px;padding-bottom:36px}
.site-home .hero-content h1{max-width:900px;font-size:clamp(2.1rem,3.6vw,3.5rem);line-height:1.15;margin-bottom:10px;text-shadow:0 2px 14px rgba(0,23,48,.4)}
.site-home .hero-content p{max-width:820px;font-size:1rem;line-height:1.5;margin-bottom:18px}
@media(max-width:760px){.site-home .home-hero{min-height:738px}.site-home .hero-slide{background-position:center 25%}.site-home .hero-shade{background:linear-gradient(0deg,rgba(4,28,58,.98) 0%,rgba(5,35,69,.88) 38%,rgba(7,47,87,.38) 61%,transparent 85%)}.site-home .hero-content{padding-top:110px;padding-bottom:45px}.site-home .hero-content h1{font-size:clamp(2rem,8vw,3rem)}.site-home .hero-content p{font-size:.94rem;line-height:1.48}}
/* Relieve azul ligero en todas las fotografías de especialidad. */
.service-card--photo{border:3px solid var(--navy);background:linear-gradient(150deg,#fff 50%,#e9f4fa);box-shadow:0 4px 0 #c3e0ed,0 12px 25px rgba(19,72,117,.14);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.service-card--photo .service-visual{position:relative;overflow:hidden}
.service-card--photo .service-visual::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(145deg,rgba(255,255,255,.24),transparent 38%,rgba(9,81,139,.27));box-shadow:inset 0 0 0 2px rgba(220,241,250,.55),inset 0 -14px 24px rgba(10,72,121,.25)}
.service-card--photo .service-visual img{transition:transform .45s ease,filter .45s ease}
.service-card--photo .service-title{position:relative;z-index:1}
.service-card--photo .service-arrow{color:#12649c;transition:transform .3s ease}
.service-card--photo:hover,.service-card--photo:focus-visible{transform:translateY(-6px);border-color:#244574;box-shadow:0 6px 0 #9bcde5,0 21px 36px rgba(14,76,130,.24)}
.service-card--photo:hover .service-visual img,.service-card--photo:focus-visible .service-visual img{transform:scale(1.07);filter:saturate(1.08)}
.service-card--photo:hover .service-arrow,.service-card--photo:focus-visible .service-arrow{transform:translate(2px,-2px)}
@media(prefers-reduced-motion:reduce){.service-card--photo,.service-card--photo .service-visual img,.service-card--photo .service-arrow{transition:none}}
/* Equip: una fitxa neta per persona, amb les fotografies facilitades per la clínica. */
.team-section{padding-top:76px}
.team-intro{max-width:920px;margin:0 auto 78px;text-align:center}
.team-intro h2{color:var(--navy);margin-bottom:24px}
.team-intro p{font-size:1.12rem;line-height:1.75;color:#435d73;margin:0 auto 16px}
.team-intro p:last-child{margin-bottom:0}
.team-section .team-list{gap:0}
.team-person{display:grid;grid-template-columns:270px minmax(0,1fr);align-items:center;gap:clamp(34px,6vw,90px);padding:32px 26px;border-bottom:1px solid #dbe7ee}
.team-person:first-child{padding-top:0}
.team-person:last-child{border-bottom:0;padding-bottom:0}
.team-person-photo{width:270px;height:370px;overflow:hidden;background:transparent}
.team-person-photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom}
.team-person-info h2{font-size:clamp(2rem,3.7vw,3.65rem);line-height:1.14;max-width:750px;margin:0 0 22px;color:var(--navy)}
.team-person-info p{font-size:clamp(1.05rem,1.65vw,1.42rem);font-weight:600;color:#376b94;max-width:700px;line-height:1.48;margin:0}
.team-person-info::before{content:"";display:block;width:56px;height:4px;background:#55a5d2;margin-bottom:24px;border-radius:3px}
@media(max-width:680px){.team-section{padding-top:46px}.team-person{grid-template-columns:1fr;gap:30px;padding:36px 0}.team-person-photo{width:min(270px,80%);height:350px}.team-person-info::before{margin-bottom:18px}.team-person-info h2{font-size:clamp(1.9rem,7vw,2.6rem);margin-bottom:13px}}
@media(max-width:680px){.team-intro{margin-bottom:40px;text-align:left}.team-intro p{font-size:1rem;line-height:1.65}}
/* Contacte ràpid i retorn a l'inici, visibles a totes les pàgines. */
.quick-contact{position:fixed;left:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:55;display:grid;gap:10px}
.float-action,.back-to-top{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 7px 22px rgba(7,34,61,.25);transition:transform .22s ease,box-shadow .22s ease,opacity .22s ease}
.float-action svg,.back-to-top svg{width:26px;height:26px;display:block}
.float-action--whatsapp{background:#1fa855;border:2px solid #fff}
.float-action--phone{background:#175684;border:2px solid #fff}
.float-action:hover,.back-to-top:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(7,34,61,.34)}
.back-to-top{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:55;background:#102d53;border:2px solid #fff;cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(9px)}
.back-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
@media(max-width:600px){.quick-contact{left:12px;bottom:calc(12px + env(safe-area-inset-bottom));gap:8px}.back-to-top{right:12px;bottom:calc(12px + env(safe-area-inset-bottom))}.float-action,.back-to-top{width:46px;height:46px}.float-action svg,.back-to-top svg{width:23px;height:23px}}
@media(prefers-reduced-motion:reduce){.float-action,.back-to-top{transition:none}}
.page-contact .page-hero{background-position:center 38%}
@media(max-width:760px){.page-contact .page-hero{background-position:90% center}}
.page-contact .contact-page{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:50px}
.page-contact .contact-photo img{width:100%;height:auto;object-fit:contain}
@media(max-width:760px){.page-contact .contact-page{grid-template-columns:1fr;gap:30px}}

/* Fotografía de odontopediatría sin el fondo azul de la imagen antigua. */
.treatment-visual--photo .treatment-visual-inner{padding:0;min-height:0;background:none;border:0;box-shadow:0 20px 45px rgba(24,55,78,.13)}
.treatment-visual--photo img{width:100%;max-width:none;max-height:none;aspect-ratio:3/2;object-fit:cover;border-radius:20px;filter:none}

/* Títulos y separación de cada consejo de salud. */
.advice-grid{gap:26px}
.advice-card{padding:0;overflow:hidden;background:#fff;border:1px solid #cddde5;border-radius:12px;box-shadow:0 12px 32px rgba(18,45,70,.08)}
.advice-card h3{margin:0;padding:22px 27px;background:#e8f2f4;border-bottom:1px solid #cddde5;color:var(--navy);font-size:1.3rem;line-height:1.3}
.advice-card>div{padding:24px 27px 28px}
.advice-card p:first-child{margin-top:0}
@media(max-width:760px){.advice-card h3{padding:18px 20px;font-size:1.18rem}.advice-card>div{padding:19px 20px 23px}}

/* Footer: quatre blocs i enllaços legals centrats a sota. */
.footer-grid{grid-template-columns:1.05fr .78fr 2.15fr 1.05fr;gap:32px}
.footer-grid>div{min-width:0}
.footer-service-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 19px}
.footer-service-links a{font-size:.81rem;line-height:1.45;margin-bottom:6px}
.footer-legal{display:flex;justify-content:center;align-items:center;gap:13px;border-top:1px solid #ffffff2b;margin-top:42px;padding-top:25px;color:#c6d6e3;font-size:.85rem}
.footer-legal a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.footer-legal span{color:#7994ab}
.copyright{margin-top:24px}
@media(max-width:950px){.footer-grid{grid-template-columns:1fr 1fr;gap:30px 40px}.footer-services{grid-column:1/-1}.footer-service-links{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.footer-grid{grid-template-columns:1fr;gap:30px}.footer-services{grid-column:auto}.footer-service-links{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-legal{gap:8px;flex-wrap:wrap;font-size:.78rem}.copyright{text-align:center}.copyright span{margin-top:8px}}

/* La foto real del equipo se muestra completa en pantallas estrechas. */
.page-team.site-overlay-header .page-hero{background-position:center,center center}
@media(max-width:760px){.page-team.site-overlay-header .page-hero{background-color:var(--navy);background-size:cover,contain;background-position:center,center 85px;background-repeat:no-repeat}}

.team-person-photo--pending{display:grid;place-items:center;background:#f3f7f9;border:1px solid #dbe7ee;border-radius:5px;color:#174a71;font:800 4rem Manrope,Arial,sans-serif}.team-person-photo--pending span{display:block}

/* Dental Artés contact band 2026 */
.contact-band{position:relative;overflow:hidden;background:linear-gradient(115deg,#edf6fa 0%,#f8fbfd 70%,#e3f0f6 100%);padding:72px 0 76px;text-align:center}
.contact-band::after{content:"";position:absolute;right:-90px;bottom:-210px;width:390px;height:390px;border:46px solid rgba(20,93,150,.045);border-radius:50%;pointer-events:none}
.contact-band-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:0}
.contact-band-kicker{display:flex;align-items:center;gap:12px;margin-bottom:17px;color:#23658c;text-transform:uppercase;letter-spacing:.17em;font:700 .72rem Manrope,Arial,sans-serif}
.contact-band-kicker::before{content:"";display:block;width:27px;height:2px;background:#23658c}
.contact-band h2{margin:0 0 13px;color:var(--navy);font-size:clamp(2rem,3.5vw,3rem);line-height:1.14}
.contact-band p{margin:0;color:#506b7d;font-size:1.04rem;line-height:1.55}
.contact-actions{display:flex;justify-content:center;align-items:stretch;gap:12px;flex-wrap:wrap;margin-top:28px}
.contact-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:12px 18px;border:1px solid #14548c;border-radius:5px;background:transparent;color:#164a72;font-weight:700;font-size:.92rem;line-height:1.2;text-decoration:none;transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease}
.contact-action svg{width:19px;height:19px;flex:none}
.contact-action--phone{background:#0e4b83;color:#fff}
.contact-action--whatsapp{background:#18794e;border-color:#18794e;color:#fff}
.contact-action:hover{transform:translateY(-3px);box-shadow:0 9px 20px rgba(12,56,91,.14)}
.contact-action--phone:hover{background:#08365f;color:#fff}
.contact-action--whatsapp:hover{background:#12633f;color:#fff}
.contact-action--outline:hover{background:#e0eef5;color:#164a72}
.contact-action:focus-visible{outline:3px solid #092f5c;outline-offset:3px}
@media(max-width:760px){.contact-band{padding:56px 0 62px}.contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:10px}.contact-action{font-size:.84rem;padding:12px 8px}}
@media(max-width:440px){.contact-actions{grid-template-columns:1fr}.contact-action{width:100%}}
@media(prefers-reduced-motion:reduce){.contact-action{transition:none}}

/* Formulari de contacte: serveis i enviament per WhatsApp */
.services-fieldset{min-width:0;margin:0;padding:0;border:0}
.services-fieldset legend{margin-bottom:13px;color:var(--navy);font-size:.92rem;font-weight:800}
.services-fieldset legend span{font-weight:400;color:var(--muted)}
.services-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;padding:18px;background:#f2f8fb;border:1px solid #d9e8f0;border-radius:5px}
.contact-form .service-check{display:flex;align-items:flex-start;gap:8px;font-size:.82rem;font-weight:500;line-height:1.35;cursor:pointer}
.service-check input{width:16px;height:16px;flex:none;margin:1px 0 0;accent-color:#0e4b83}
.contact-form .service-check--all{grid-column:1/-1;padding-bottom:12px;margin-bottom:3px;border-bottom:1px solid #d1e2ec;font-weight:800}
.form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.contact-form .whatsapp-submit{background:#18794e;border-color:#18794e;color:#fff}
.contact-form .whatsapp-submit:hover{background:#12633f;border-color:#12633f;color:#fff}
@media(max-width:600px){.services-options{grid-template-columns:1fr}.form-actions{display:grid;grid-template-columns:1fr}.form-actions .button{width:100%;justify-content:center}}

/* Enviament real del formulari */
.form-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-status{margin:0!important;font-size:.9rem;line-height:1.45}
.form-status:not(:empty){padding:13px 16px;border-radius:4px;background:#eaf4f9;color:#123f67}
.form-status.is-error:not(:empty){background:#fff1ec;color:#87381e}
.contact-form button:disabled{opacity:.55;cursor:wait}

.contact-form .privacy-summary{font-size:.81rem;line-height:1.5;color:#536c7c;margin:0}.privacy-summary a{text-decoration:underline}.privacy-summary strong{color:var(--navy)}

.map--pending{display:grid;place-items:center;padding:25px;border:1px solid #d9e8f0;text-align:center}.map-consent{max-width:360px}.map-consent p{color:#425e73;font-size:.94rem}.map-consent .button{margin:10px auto}.map-consent a{display:block;text-decoration:underline;color:#164a72;font-weight:700;margin-top:12px}
