/*
 * Gnadent · portada · 1.3.3 (borrador v2)
 * Secciones en orden: titulares · hero · bienvenida y collage · tratamientos · equipo · galería de la clínica
 * · función oral · primera visita · contacto · animaciones.
 * Cada sección es un bloque (Portada o Grupo) con la clase indicada en Avanzado → Clases CSS adicionales.
 */

/* Titulares ──────────────────────────────────────────────── */
:is(.gn-hero,.gn-intro,.gn-treatments,.gn-case,.gn-team,.gn-clinic,.gn-function,.gn-visit,.gn-faq,.gn-contact) :is(h1,h2,h3){margin:0;font-family:var(--font);font-weight:780;letter-spacing:-.05em;line-height:.96;text-wrap:balance}
:is(.gn-intro,.gn-treatments,.gn-case,.gn-team,.gn-clinic,.gn-function,.gn-visit,.gn-faq,.gn-contact) h2{font-size:clamp(44px,6.2vw,100px)}
:is(.gn-treatments,.gn-team,.gn-visit,.gn-contact) h3{font-size:clamp(22px,1.9vw,28px);font-weight:750;letter-spacing:-.035em;line-height:1.12}
:is(.gn-treatments,.gn-team) h3 a{text-decoration:none;background:linear-gradient(currentColor,currentColor) left bottom/0 2px no-repeat;transition:background-size .5s var(--ease),color .3s}
:is(.gn-treatments,.gn-team) h3 a:hover{color:var(--blue);background-size:100% 2px}
:is(.gn-hero,.gn-intro,.gn-treatments,.gn-case,.gn-team,.gn-clinic,.gn-function,.gn-visit,.gn-faq,.gn-contact) p{text-wrap:pretty}
.gn-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px 64px;margin-bottom:clamp(40px,5vw,72px)}
.gn-section-head h2{max-width:12ch}
.gn-section-head>p{max-width:38ch;padding-bottom:8px;font-size:clamp(17px,1.3vw,19px);color:var(--muted)}

/* Hero: la doctora trabajando, a sangre a la derecha; titular y acciones a la izquierda, sin tapar la cara ── */
/* Rejilla de dos columnas también en el editor. En móvil la foto va arriba y el texto debajo. */
/* Portada centrada (borrador «Primera visita 1.2»): una sola foto a todo el ancho y el texto centrado encima.
   El contenido reserva abajo el sitio de la flecha, así que nunca se monta sobre los botones. */
.gn-hero{position:relative;display:grid;grid-template:minmax(min(calc(100svh - var(--header-h)),940px),auto)/minmax(0,1fr);overflow:hidden;color:var(--white);background:var(--blue-night);isolation:isolate}
.gn-hero>.gn-hero-media,.gn-hero>.gn-hero-content{grid-area:1/1}
.gn-hero-media{position:relative;z-index:0;min-height:0;margin:0;overflow:hidden;background:var(--blue-night)}
.gn-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgb(9 24 58 / .32) 0%,rgb(9 24 58 / .46) 45%,rgb(9 24 58 / .8) 100%);pointer-events:none}
.gn-hero-photo{position:absolute;inset:0;margin:0}
/* 1.3.3 v2: el texto se apoya en la parte baja y la foto sube, para que el titular no pase sobre los ojos de la doctora
   (comprobado de 768 a 1920 px de ancho). */
.gn-hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.gn-hero-content{position:relative;z-index:1;align-self:end;justify-self:center;width:100%;max-width:1220px;padding:40px 20px clamp(108px,13vh,132px);text-align:center}
.gn-hero .gn-kicker{display:inline-block;padding:8px 18px;border:1px solid rgb(255 255 255 / .28);border-radius:999px;background:rgb(9 24 58 / .5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:15px;font-weight:700;letter-spacing:.01em;color:var(--white)}
.gn-hero .gn-hero-title{margin-top:18px;font-size:clamp(48px,7.6vw,124px);font-weight:800;line-height:.98;letter-spacing:-.05em;color:var(--white)}
.gn-hero .gn-hero-lead{max-width:36ch;margin:24px auto 0;font-size:clamp(17px,1.4vw,21px);font-weight:550;line-height:1.5;color:var(--white);text-shadow:0 1px 18px rgb(5 16 40 / .4)}
.gn-hero .gnadent-actions{justify-content:center;margin-top:32px}
.gn-hero .wp-block-button__link{min-height:58px;padding-inline:32px;font-size:16px}
/* Primera visita: texto editable junto a los botones, con una marca de verificación. */
.gn-hero .gn-hero-note{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:18px;font-size:16px;font-weight:650;line-height:1.4;color:var(--white)}
.gn-hero .gn-hero-note::before{content:"";flex:none;width:22px;height:22px;border-radius:50%;background:rgb(255 255 255 / .16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 12.5l3.2 3.2L17 9'/%3E%3C/svg%3E") center/16px no-repeat}
.gn-scroll-cue{position:absolute;left:50%;bottom:clamp(18px,3.5vh,34px);transform:translateX(-50%)}
.gn-scroll-cue a{display:grid;place-items:center;width:64px;height:64px;border:1.5px solid rgb(255 255 255 / .7);border-radius:50%;font-size:0;color:var(--white);transition:background-color .35s,border-color .35s}
.gn-scroll-cue a::before{content:"";width:22px;height:22px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v16M6 14l6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v16M6 14l6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat}
.gn-scroll-cue a:hover{background:var(--white);border-color:var(--white);color:var(--blue)}

/* Bienvenida: titular grande y collage con parallax (las fotos nunca tapan el texto) ─── */
.gn-intro{position:relative;padding-top:clamp(64px,7vw,112px)}
.gn-intro .gn-display{max-width:none;font-size:clamp(46px,7.4vw,122px);font-weight:780;line-height:1.04;letter-spacing:-.04em;text-wrap:balance}
.gn-intro .gn-display .gn-display-start{display:block;color:var(--blue-night)}
.gn-intro .gn-display .gn-display-end{display:block;margin-top:.04em;text-align:right;color:var(--blue)}
.gn-collage{position:relative;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);column-gap:clamp(16px,2vw,32px);align-items:stretch;padding-top:clamp(40px,4.5vw,64px);pointer-events:none}
.gn-collage>figure{pointer-events:auto;overflow:hidden;border-radius:var(--radius-lg);box-shadow:0 30px 60px -30px rgb(19 32 51 / .35);will-change:transform}
.gn-collage img{width:100%;height:100%;object-fit:cover}
.gn-collage>figure{margin:0}
/* Dos fotos a la misma altura: la recepción completa (4:3) marca la fila y el gabinete la acompaña. */
.gn-collage .gn-collage-reception img{aspect-ratio:4/3}
.gn-collage .gn-collage-care img{position:absolute;inset:0;object-position:40% 50%}
.gn-collage .gn-collage-care{position:relative;min-height:100%}
/* 1.3.3 v2: ritmo de bienvenida y presentación más compacto (antes, unos 260 px vacíos antes de Tratamientos a 1440). */
.gn-statement{position:relative;padding-block:clamp(56px,5.5vw,88px);text-align:center;background:var(--white)}
.gn-statement .gn-statement-text{max-width:22ch;margin:0 auto;font-size:clamp(32px,4.2vw,66px);font-weight:750;line-height:1.06;letter-spacing:-.045em}
.gn-statement .gn-statement-text strong{font-weight:800;color:var(--blue)}
.gn-statement .gn-statement-lead{max-width:52ch;margin:28px auto 0;font-size:clamp(17px,1.3vw,20px);color:var(--muted)}
.gn-statement .gnadent-actions{justify-content:center;margin-top:36px}

/* Tratamientos: explorador con pestañas ──────────────────── */
.gn-treatments{padding-block:clamp(56px,6vw,96px) clamp(80px,10vw,150px)}
.gn-explorer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.gn-family-photo{overflow:hidden;border-radius:var(--radius-lg)}
.gn-family-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 35%}
.gn-family-photo.gn-focus-low img{object-position:50% 80%}
.gn-family-body{padding-top:22px}
.gn-family-body>p{margin-top:8px;font-size:17px;color:var(--muted)}
.gn-family-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;margin:20px 0 0;padding:0;list-style:none}
.gn-family-links li{margin:0;border-top:1px solid var(--line)}
.gn-family-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:12px 2px;font-size:16px;font-weight:650;line-height:1.3;text-decoration:none;transition:color .3s,padding .45s var(--ease)}
.gn-family-links a::after{content:"";flex:0 0 18px;width:18px;height:18px;background:var(--blue);-webkit-mask:url(../arrow.svg) center/contain no-repeat;mask:url(../arrow.svg) center/contain no-repeat;transition:transform .45s var(--ease)}
.gn-family-links a:hover{color:var(--blue);padding-left:8px}
.gn-family-links a:hover::after{transform:translate(3px,-3px)}
/* Con JavaScript: lista de pestañas a la izquierda y la familia elegida a la derecha. */
.gn-explorer.is-tabs{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(32px,5vw,88px);align-items:start}
.gn-tabs{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.gn-tab{display:grid;grid-template-columns:48px minmax(0,1fr) 28px;align-items:center;gap:12px;width:100%;min-height:96px;padding:18px 4px;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;color:var(--ink);transition:color .35s,padding .5s var(--ease)}
.gn-tab-index{font-size:14px;font-weight:750;color:var(--muted);font-variant-numeric:tabular-nums}
.gn-tab-label{font-size:clamp(22px,2.4vw,38px);font-weight:780;letter-spacing:-.045em;line-height:1.05}
.gn-tab svg{width:28px;height:28px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:translateX(-10px);transition:opacity .35s,transform .5s var(--ease)}
.gn-tab:hover{color:var(--blue);padding-left:12px}
.gn-tab:hover svg,.gn-tab[aria-selected="true"] svg{opacity:1;transform:none}
.gn-tab[aria-selected="true"]{padding-left:18px;color:var(--blue);background:var(--pearl);box-shadow:inset 4px 0 0 var(--blue)}
.gn-tab[aria-selected="true"] .gn-tab-index{color:var(--blue)}
.gn-explorer.is-tabs .gn-family{grid-column:2;grid-row:1 / span 2}
.gn-explorer.is-tabs .gn-family[hidden]{display:none}
.gn-explorer.is-tabs .gn-family-photo img{aspect-ratio:5/4}
.gn-explorer.is-tabs .gn-family-body h3{display:none}
.gn-treatments>.gnadent-actions{margin-top:clamp(40px,5vw,64px)}

/* Equipo ─────────────────────────────────────────────────── */
/* La foto de grupo se ve entera (cabezas y pies) y el texto queda al lado, nunca encima de las caras. */
.gn-team{padding-bottom:clamp(80px,10vw,150px)}
.gn-team-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:clamp(32px,5vw,88px);align-items:center}
.gn-team-photo{margin:0;overflow:hidden;border-radius:var(--radius-lg);background:var(--pearl)}
.gn-team-photo img{display:block;width:100%;height:auto;aspect-ratio:2000/1955;object-fit:cover}
.gn-team-copy h2{max-width:11ch}
.gn-team-copy>p{max-width:40ch;margin-top:20px;font-size:clamp(17px,1.4vw,21px);color:var(--muted)}
.gn-team-copy .gnadent-actions{margin-top:30px}
.gn-team-copy .wp-block-button__link{min-height:58px;padding-inline:32px;font-size:16px}
.gn-doctors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:clamp(36px,4vw,56px)}
.gn-doctor{padding:20px 0 0;border-top:2px solid var(--ink)}
.gn-doctor-photo{margin:0 0 18px;overflow:hidden;border-radius:var(--radius-lg);background:var(--pearl)}
.gn-doctor-photo img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:50% 22%}
.gn-doctor p{margin-top:10px;font-size:16px;color:var(--muted)}
.gn-team-copy .gn-team-more{max-width:52ch;margin-top:28px;font-size:16px}

/* Galería de la clínica ──────────────────────────────────── */
.gn-clinic{padding-bottom:clamp(80px,10vw,150px)}
.wp-block-gallery.gn-gallery{display:flex;flex-wrap:nowrap;gap:clamp(14px,1.6vw,24px);margin:0;padding:0 5.1vw 8px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:5.1vw;scrollbar-width:none;overscroll-behavior-x:contain}
.wp-block-gallery.gn-gallery::-webkit-scrollbar{display:none}
.wp-block-gallery.has-nested-images.gn-gallery figure.wp-block-image{flex:0 0 clamp(270px,34vw,540px);width:auto;margin:0;scroll-snap-align:start;flex-direction:column;align-items:stretch;border-radius:var(--radius-lg);overflow:hidden;background:var(--pearl)}
.wp-block-gallery.has-nested-images.gn-gallery figure.wp-block-image img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transition:transform 1.2s var(--ease)}
@media(hover:hover) and (pointer:fine){.wp-block-gallery.has-nested-images.gn-gallery figure.wp-block-image:hover img{transform:scale(1.05)}}
/* El bloque Galería añade una sombra negra: sobre nuestras etiquetas blancas emborrona las letras. */
.wp-block-gallery.has-nested-images.gn-gallery figure.wp-block-image figcaption{position:absolute;left:16px;right:auto;bottom:16px;width:auto;max-height:none;margin:0;padding:8px 14px;border-radius:999px;background:var(--white);color:var(--ink);font-size:14px;font-weight:700;text-align:left;text-shadow:none;filter:none;will-change:auto;-webkit-backdrop-filter:none;backdrop-filter:none}
.wp-block-gallery.has-nested-images.gn-gallery figure.wp-block-image figcaption::before{display:none}
.gn-clinic .carousel-controls{max-width:1520px}

/* Función oral: banda azul ───────────────────────────────── */
.gn-function{position:relative;overflow:hidden;background:var(--blue);color:var(--white)}
.gn-function-inner{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:end;gap:40px 8%;padding-block:clamp(80px,10vw,150px)}
.gn-function h2{position:relative;z-index:1;max-width:13ch;color:var(--white)}
.gn-function-copy{position:relative;z-index:1}
.gn-function-copy>p{max-width:44ch;font-size:clamp(17px,1.35vw,20px);line-height:1.7;color:rgb(255 255 255 / .92)}
.gn-function-copy .gnadent-actions{margin-top:32px}
.gn-function-mark{position:absolute;right:-6%;top:50%;width:min(620px,52vw);margin:0;transform:translateY(-50%);opacity:.09;pointer-events:none}
.gn-function-mark img{width:100%;filter:brightness(0) invert(1)}

/* Primera visita ─────────────────────────────────────────── */
.gn-visit{padding-block:clamp(80px,10vw,150px)}
.gn-visit .gn-section-head h2{max-width:11ch}
.gn-step-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px)}
.gn-step{padding-top:28px;border-top:2px solid var(--ink)}
.gn-step-number{font-size:clamp(44px,4.6vw,72px);font-weight:800;line-height:1;letter-spacing:-.05em;color:var(--blue)}
.gn-step h3{margin-top:24px}
.gn-step>p:last-child{max-width:30ch;margin-top:10px;font-size:17px;color:var(--muted)}
.gn-visit .gn-visit-note{max-width:62ch;margin-top:clamp(32px,4vw,48px);font-size:17px;color:var(--muted)}
.gn-step a{color:var(--blue);text-underline-offset:3px}
.gn-visit>.gnadent-actions{margin-top:clamp(32px,4vw,48px)}
.gn-visit>.gnadent-actions .wp-block-button__link{min-height:60px;padding-inline:40px;font-size:17px}

/* Contacto y ubicación ───────────────────────────────────── */
.gn-contact{padding-block:clamp(80px,10vw,150px);background:var(--pearl)}
.gn-contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(32px,6vw,96px);align-items:start}
.gn-contact-main{display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.gn-contact-main h2{max-width:10ch;margin-bottom:8px}
.gn-contact-phone a{font-size:clamp(40px,4.6vw,72px);font-weight:800;letter-spacing:-.05em;line-height:1;color:var(--blue);text-decoration:none;white-space:nowrap;background:linear-gradient(currentColor,currentColor) left bottom/0 3px no-repeat;transition:background-size .5s var(--ease)}
.gn-contact-phone a:hover{background-size:100% 3px}
.gn-contact .gnadent-address{font-style:normal;font-size:18px;line-height:1.6}
.gn-hours{display:grid;grid-template-columns:auto auto;gap:12px 40px;padding-block:18px;border-block:1px solid var(--line);font-size:16px;color:var(--muted)}
.gn-hours strong{font-weight:750;color:var(--ink)}
.gn-contact-email a{font-size:16px;color:var(--ink);text-underline-offset:4px;overflow-wrap:anywhere}
.gn-contact-media{display:grid;gap:20px}
.gn-contact-photo{overflow:hidden;border-radius:var(--radius-lg)}
.gn-contact-photo img{width:100%;aspect-ratio:1;object-fit:cover;object-position:50% 70%}
.gn-contact .gn-contact-doctoralia{font-size:16px;color:var(--muted)}
.gn-contact .gn-contact-doctoralia a{color:var(--blue);font-weight:700;text-underline-offset:4px}
.gn-contact-map .map-frame{min-height:340px;height:100%;overflow:hidden;border-radius:var(--radius-lg);background:var(--white)}
.gn-contact-map iframe{display:block;width:100%;height:340px;border:0}
.gn-contact-map .map-placeholder{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:6px 18px;padding:28px}
.gn-contact-map .map-placeholder img{grid-row:span 2;width:56px;height:56px}
.gn-contact-map .map-placeholder h3{font-size:22px}
.gn-contact-map .map-placeholder p{color:var(--muted)}
.gn-contact-map .map-placeholder .button,.gn-contact-map .map-placeholder small,.gn-contact-map .map-placeholder>a{grid-column:2;justify-self:start}
.gn-contact-map .map-placeholder small{font-size:14px;color:var(--muted)}
.gn-contact-map .map-placeholder>a{font-size:15px;font-weight:700;color:var(--blue);text-underline-offset:4px}

/* Antes y después: sin JavaScript se ven las dos fotos lado a lado; con él, un comparador accesible ── */
.gn-case{padding-bottom:clamp(80px,10vw,150px)}
.gn-case-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 clamp(32px,6vw,96px);align-items:start}
/* El titular del caso ocupa todo el ancho (dos líneas en escritorio); debajo, la descripción a la izquierda y la nota y el enlace a la derecha. */
.gn-case-copy>h2{grid-column:1 / -1;grid-row:1;max-width:none;margin-bottom:clamp(28px,3vw,44px)}
.gn-case-copy>p:first-of-type{grid-column:1;grid-row:2 / span 2;margin-top:0}
.gn-case-copy>:not(h2,p:first-of-type){grid-column:2}
.gn-case-copy>p{max-width:46ch;margin:0;font-size:clamp(17px,1.3vw,20px);color:var(--muted)}
.gn-case-copy>p.gn-case-note{margin-top:14px;font-size:15px}
.gn-case-copy .gnadent-actions{margin-top:30px}
.gn-case-photos{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,28px);align-items:start;margin-top:clamp(40px,5vw,72px)}
.gn-case-photos>figure{display:flex;flex-direction:column-reverse;gap:12px;margin:0}
.gn-case-photos img{display:block;width:100%;height:auto;border-radius:var(--radius-lg);background:var(--pearl)}
.gn-case-photos figcaption{align-self:flex-start;margin:0;padding:6px 16px;border-radius:999px;background:var(--pearl);color:var(--ink);font-size:15px;font-weight:750;line-height:1.3}

/* Preguntas frecuentes ────────────────────────────────────── */
.gn-faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,96px);padding-block:clamp(80px,10vw,150px);border-top:1px solid var(--line)}
.gn-faq-head h2{max-width:9ch}
.gn-faq-head>p{margin-top:20px;font-size:clamp(17px,1.3vw,20px);color:var(--muted)}
.gn-faq .wp-block-details{margin:0;border-top:1px solid var(--line)}
.gn-faq .wp-block-details:last-child{border-bottom:1px solid var(--line)}
.gn-faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px;padding:18px 0;font-size:clamp(18px,1.5vw,22px);font-weight:750;letter-spacing:-.02em;line-height:1.25;cursor:pointer;list-style:none}
.gn-faq summary::-webkit-details-marker{display:none}
.gn-faq summary::after{content:"";flex:0 0 22px;height:22px;background:linear-gradient(var(--blue),var(--blue)) center/100% 2px no-repeat,linear-gradient(var(--blue),var(--blue)) center/2px 100% no-repeat;transition:transform .4s var(--ease)}
.gn-faq details[open] summary::after{transform:rotate(45deg)}
.gn-faq summary:hover{color:var(--blue)}
.gn-faq .wp-block-details>p{max-width:62ch;margin:0 0 24px;font-size:17px;color:var(--muted)}

/* Adaptación ─────────────────────────────────────────────── */
@media(max-width:1100px){
	.gn-explorer.is-tabs{grid-template-columns:1fr}
	.gn-explorer.is-tabs .gn-family{grid-column:1;grid-row:auto}
	.gn-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
	.gn-tab{min-height:76px}
	.gn-contact-grid{grid-template-columns:1fr}
	.gn-contact-media{grid-template-columns:1fr 1fr}
	.gn-team-grid{grid-template-columns:1fr}
	.gn-case-copy,.gn-faq{grid-template-columns:1fr}
	.gn-case-copy>h2,.gn-case-copy>p:first-of-type,.gn-case-copy>:not(h2,p:first-of-type){grid-column:auto;grid-row:auto}
	.gn-case-copy>h2{margin-bottom:0}
	.gn-case-copy>p:first-of-type{margin-top:22px}
}
@media(max-width:1023px){
	.gn-collage{gap:14px;padding-top:36px}
	.gn-statement{background:none}
}
@media(max-width:780px){
	.gn-section-head{flex-direction:column;align-items:flex-start}
	.gn-section-head>p{padding-bottom:0}
	.gn-hero-content{padding:48px 20px 64px}
	.gn-hero .gn-hero-title{max-width:none;margin-top:18px;font-size:clamp(40px,11.4vw,72px)}
	.gn-hero .gn-hero-lead{margin-top:18px}
	.gn-hero .gnadent-actions{flex-direction:column;align-items:stretch;max-width:420px;margin:28px auto 0}
	.gn-hero .wp-block-button__link{width:100%}
	.gn-scroll-cue{display:none}
	.gn-intro .gn-display{font-size:clamp(38px,11.2vw,64px);line-height:1.06;letter-spacing:-.035em}
	.gn-intro .gn-display .gn-display-end{text-align:left}
	.gn-collage{grid-template-columns:repeat(2,minmax(0,1fr))}
	.gn-collage .gn-collage-reception img{aspect-ratio:4/5;object-position:84% 50%}
	.gn-statement{padding-block:48px 56px}
	.gn-statement .gn-statement-text{font-size:clamp(28px,8vw,40px)}
	.gn-tabs{grid-template-columns:1fr 1fr;gap:0 14px}
	.gn-tab{grid-template-columns:minmax(0,1fr);gap:4px;min-height:84px;padding:14px 2px}
	.gn-tab svg{display:none}
	.gn-tab-label{font-size:19px}
	.gn-tab:hover{padding-left:2px}
	.gn-tab[aria-selected="true"]{padding-left:14px}
	.gn-explorer:not(.is-tabs){grid-template-columns:1fr}
	.gn-family-links{grid-template-columns:1fr}
	.gn-doctors{gap:16px}
	.gn-doctor h3{font-size:19px}
	.gn-doctor p{font-size:15px}
	.wp-block-gallery.gn-gallery{padding-inline:20px;scroll-padding-inline:20px}
	.wp-block-gallery.has-nested-images.gn-gallery figure.wp-block-image{flex-basis:78%}
	.gn-function-inner{grid-template-columns:1fr}
	.gn-function-mark{width:90vw;right:-30%;top:auto;bottom:-10%;transform:none}
	.gn-step-list{grid-template-columns:1fr;gap:28px}
	.gn-step{display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:14px;padding-top:22px}
	.gn-step-number{grid-row:span 2;font-size:44px}
	.gn-step h3{margin-top:0}
	.gn-visit>.gnadent-actions .wp-block-button__link{width:100%}
	.gn-visit>.gnadent-actions,.gn-visit>.gnadent-actions .wp-block-button{width:100%}
	.gn-contact-media{grid-template-columns:1fr}
	.gn-hours{grid-template-columns:1fr;gap:10px;width:100%}
}

/* Animaciones de entrada (desactivadas con movimiento reducido) ── */
@media(prefers-reduced-motion:no-preference){
	/* La foto se descubre de abajo arriba y se acerca despacio; la imagen se pinta desde el principio (no retrasa la carga). */
	.gn-hero-media{animation:gn-curtain 1.5s var(--ease) both}
	.gn-hero-photo img{animation:gn-hero-zoom 2.6s var(--ease) both}
	.gn-scroll-cue a::before{animation:gn-nudge 2.4s 2s var(--ease-soft) infinite}
	.gn-explorer.is-tabs .gn-family.is-active .gn-family-photo img{animation:gn-photo-in 1.1s var(--ease) both}
	.gn-explorer.is-tabs .gn-family.is-active .gn-family-body{animation:gn-up .8s .1s var(--ease) both}
	@media(hover:hover) and (pointer:fine){
		.gn-team-photo.in-view:hover img{transform:scale(1.04)}
		.gn-collage>figure:hover img{transform:scale(1.05)}
		.gn-family-photo img,.gn-contact-photo img{transition:transform 1.2s var(--ease)}
		.gn-family:hover .gn-family-photo img,.gn-contact-photo:hover img{transform:scale(1.05)}
	}
}
@keyframes gn-hero-zoom{from{transform:scale(1.14)}to{transform:none}}
@keyframes gn-curtain{from{clip-path:inset(18% 0 0 0)}to{clip-path:inset(0)}}
@keyframes gn-fade{from{opacity:0}to{opacity:1}}
@keyframes gn-nudge{0%,60%,100%{transform:none}30%{transform:translateY(5px)}}
@keyframes gn-photo-in{from{opacity:0;transform:scale(1.08)}to{opacity:1;transform:none}}
@keyframes gn-up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media(max-width:680px){
	/* Antes y después: en móvil, una foto debajo de la otra */
	.gn-case-photos{grid-template-columns:1fr}
	/* Portada en móvil, como el borrador centrado: titular blanco y botones sobre la misma foto, ocupando la primera pantalla.
	   El texto va abajo y el degradado se oscurece ahí para que se lea; la cara de la doctora queda libre arriba. */
	.gn-hero{grid-template-rows:minmax(calc(100svh - var(--header-h)),auto)}
	.gn-hero-media::after{background:linear-gradient(180deg,rgb(9 24 58 / .12) 0%,rgb(9 24 58 / .38) 34%,rgb(9 24 58 / .86) 100%)}
	.gn-hero-photo img{object-position:50% 22%}
	.gn-hero-content{align-self:end;padding:40px 20px 28px}
	.gn-hero .gn-hero-title{font-size:clamp(36px,10.8vw,72px)}
}
@media(max-width:380px){
	/* En pantallas estrechas la primera visita cabe en una línea: sin la marca y a 15 px. */
	.gn-hero .gn-hero-note{font-size:15px}
	.gn-hero .gn-hero-note::before{display:none}
}

/* 1.4.0 · Mención breve de los implantes que utilizamos (Straumann), dentro de «Implantes y cirugía» del explorador. */
.gn-brand-note{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 22px;margin-top:24px;padding:18px 22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}
.gn-brand-note .gn-brand-logo{grid-row:1 / span 2;margin:0}
.gn-brand-note .gn-brand-logo img{display:block;width:112px;height:auto}
.gn-brand-note>p{margin:0;font-size:15px;line-height:1.5;color:var(--muted)}
.gn-brand-note>p strong{font-weight:750;color:var(--ink)}
.gn-brand-note .gn-brand-link a{font-weight:650;color:var(--blue);text-underline-offset:4px}
@media(max-width:780px){
	.gn-brand-note{grid-template-columns:1fr;padding:18px}
	.gn-brand-note .gn-brand-logo{grid-row:auto;margin-bottom:6px}
	.gn-brand-note .gn-brand-logo img{width:104px}
}
