.case-section { background: var(--porcelana); padding: clamp(76px, 9vw, 132px) 0; color: var(--tinta); }
.case-intro { display: grid; grid-template-columns: 1fr .55fr; gap: 48px; align-items: end; margin-bottom: 45px; }
.case-intro p { max-width: 620px; line-height: 1.75; }
.case-intro__note { margin: 0; padding: 18px 0; color: var(--grafito); border-top: 1px solid var(--linea); font-size: .9rem; }
.case-layout { display: grid; grid-template-columns: minmax(0, 2.3fr) minmax(280px, .8fr); overflow: hidden; border-radius: 16px; background: white; box-shadow: 0 20px 70px rgba(10, 27, 38, 0.09); }
html:not(.js) .case-layout { display:block; }
html:not(.js) .case-dentition, html:not(.js) .case-hint, html:not(.js) .case-status, html:not(.js) .case-summary { display:none; }
.case-selector, .case-summary { padding: clamp(22px, 3vw, 42px); min-width: 0; }
.case-summary { background: var(--porcelana); }
.case-summary h3, .case-topics h3 { margin: 0; font: 600 clamp(2rem,3vw,2.8rem)/1 var(--display); }
.case-summary p, .case-hint, .case-status { color: var(--grafito); font-size: .85rem; line-height: 1.6; }
.case-dentition { display:flex; flex-wrap:wrap; gap: 12px; padding:0; margin: 0; border:0; }
.case-dentition legend { margin-bottom: 12px; font-weight: 700; }
.case-dentition label { display:flex; align-items:center; gap:8px; min-height:44px; padding: 8px 13px; border: 1px solid var(--linea); border-radius: 12px; font-size: .82rem; }
.case-dentition input { accent-color: var(--noche-elevada); }
.case-arch { display:grid; grid-template-columns: 1fr 1fr; gap: 22px 12px; margin: 28px 0; }
.case-quadrant { min-width:0; }
.case-quadrant__title { margin: 0 0 9px; font-size: .76rem; color: var(--grafito); font-weight: 700; }
.case-teeth { display:grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 5px; }
.case-tooth { display:flex; min-width: 0; min-height: 52px; flex-direction:column; align-items:center; justify-content:center; gap:2px; padding: 4px; border:1px solid var(--linea); border-radius: 9px; background: var(--porcelana); color:var(--grafito); transition: background .18s, border-color .18s, transform .18s; }
.case-tooth:hover { transform: translateY(-2px); border-color:var(--verde); }
.case-tooth[aria-pressed="true"] { background:var(--noche-elevada); color:var(--blanco); border-color:var(--grafito); }
.case-tooth__icon { display:block; width:19px; height:20px; }
.case-tooth__number { font-size:.67rem; line-height:1; font-weight:700; }
.case-status { min-height:2em; }
.case-selected__item { display:flex; gap:8px; align-items:end; margin: 14px 0; }
.case-selected__item label { flex:1; min-width:0; }
.case-summary label { display:block; margin: 16px 0 7px; font-size:.8rem; font-weight:700; }
.case-summary label span { font-weight:400; }
.case-summary select, .case-summary textarea { display:block; width:100%; margin-top:6px; padding:11px; border:1px solid var(--linea); border-radius:9px; background:var(--blanco); color:var(--tinta); font: inherit; font-size:.86rem; }
.case-summary textarea { resize:vertical; line-height:1.5; }
.case-selected__remove, .case-clear { min-height:44px; padding: 6px 9px; color:var(--grafito); background:transparent; border:0; text-decoration:underline; text-underline-offset:3px; }
.case-clear:disabled { opacity:.5; cursor:default; }
.case-privacy { font-size:.76rem !important; }
.case-send { display:flex; width:100%; justify-content:space-between; align-items:center; min-height:52px; padding: 12px 18px; border:0; border-radius:12px; background:var(--noche-elevada); color:var(--blanco); font-weight:700; }
.case-send:hover { background:var(--noche-elevada); }
.case-direct { display:inline-block; margin-top:16px; color:var(--tinta); font-size:.82rem; font-weight:700; }
.case-section :focus-visible, .team-feature :focus-visible, .doctors-page :focus-visible { outline:3px solid var(--champan); outline-offset:3px; }
.case-topics { margin-top:66px; }
.case-topics__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:25px; }
.case-topics article { display:grid; grid-template-columns: 42% 1fr; min-height:175px; background:var(--blanco); overflow:hidden; border-radius:12px; }
.case-topics article:nth-child(2) { display:block; background:var(--noche-elevada); color:var(--blanco); }
.case-topics img { width:100%; height:100%; object-fit:cover; }
.case-topics article > div { padding:20px; }
.case-topics h4 { margin:0 0 8px; font-size:1rem; }
.case-topics p { font-size:.78rem; line-height:1.6; }
.case-topics a { font-size:.77rem; font-weight:700; text-underline-offset:3px; }
.team-feature { padding:clamp(80px,10vw,150px) 0; background:var(--noche); color:var(--blanco); }
.team-feature__grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(30px,6vw,90px); align-items:center; }
.team-feature__copy p { max-width:430px; margin:25px 0; color:var(--porcelana); line-height:1.75; }
.team-link { display:inline-flex; align-items:center; min-height:44px; gap:12px; color:var(--champan); font-weight:700; text-underline-offset:5px; }
.team-collage { display:grid; grid-template-columns:1.2fr .85fr; grid-template-rows:1fr .65fr; gap:14px; min-height:480px; }
.team-collage figure { position:relative; min-width:0; margin:0; overflow:hidden; border-radius:12px; }
.team-collage__portrait { grid-row:1 / 3; }
.team-collage img { width:100%; height:100%; object-fit:cover; }
.team-collage__portrait img { object-position:center top; }
.team-collage figcaption { position:absolute; inset:auto 0 0; padding:45px 20px 18px; background:linear-gradient(transparent,rgba(10, 27, 38, 0.88)); font-weight:700; }
.team-collage figcaption span { display:block; color:var(--champan); font-size:.75rem; }
.doctors-page { min-height:100vh; background:var(--noche); color:white; }
.doctors-page__header, .doctors-page__main { width:min(1160px,calc(100% - 40px)); margin:auto; }
.doctors-page__header { display:flex; align-items:center; justify-content:space-between; min-height:80px; }
.doctors-page__header a { color:inherit; text-decoration:none; font-weight:700; }
.doctors-page__main { padding:clamp(50px,8vw,100px) 0; }
.doctors-page__main h1 { margin:0 0 18px; font:600 clamp(3rem,7vw,6rem)/.95 var(--display); }
.doctors-page__main > p { max-width:550px; color:var(--porcelana); }
.doctors-profile { display:grid; grid-template-columns: minmax(240px, .8fr) 1fr; gap:clamp(26px,5vw,70px); align-items:center; margin-top:56px; }
.doctors-profile img { width:100%; max-height:560px; object-fit:cover; object-position:center top; border-radius:12px; }
.doctors-profile h2 { margin:0; font:600 clamp(2.4rem,4vw,4rem)/1 var(--display); }
.doctors-profile p { max-width:530px; color:var(--porcelana); line-height:1.75; }
@media(max-width:900px) { .case-layout { grid-template-columns:1fr; } .case-topics__grid { grid-template-columns:1fr; } .case-topics article { min-height:140px; } .team-feature__grid { grid-template-columns:1fr; } }
@media(min-width:1250px) { .case-teeth { grid-template-columns:repeat(8,minmax(0,1fr)); gap:2px; } .case-tooth { min-width:44px; } }
@media(max-width:620px) { body.focus-section-in-view .mobile-whatsapp { visibility:hidden; pointer-events:none; } }
@media(max-width:600px) { .case-intro { grid-template-columns:1fr; gap:8px; } .case-arch { grid-template-columns:1fr; gap:20px; } .case-teeth { gap:5px; } .case-tooth { min-height:48px; } .team-collage { min-height:350px; } .doctors-profile { grid-template-columns:1fr; } .doctors-profile img { max-height:430px; } }
@media(prefers-reduced-motion:reduce) { .case-tooth { transition:none; } .case-tooth:hover { transform:none; } }
