1<!doctype html> 2<html lang="es" data-beasties-container> 3<head> 4 <!-- 5 Google Consent Mode v2: fijamos el consentimiento por defecto a "denied" 6 ANTES de cargar GTM. Las etiquetas de Google se cargan siempre pero operan 7 en modo cookieless hasta que el usuario acepta (ConsentService hace el 8 'consent','update'). Cumple RGPD / LSSI art. 22.2 y permite el modelado de 9 conversiones de Google Ads / Meta (vÃa GTM). 10 --> 11
11<script> 12 window.dataLayer = window.dataLayer || []; 13 function gtag(){dataLayer.push(arguments);} 14 gtag('consent','default',{ 15 ad_storage:'denied', 16 ad_user_data:'denied', 17 ad_personalization:'denied', 18 analytics_storage:'denied', 19 functionality_storage:'denied', 20 personalization_storage:'denied', 21 security_storage:'granted', 22 wait_for_update:500 23 }); 24 gtag('set','ads_data_redaction',true); 25 gtag('set','url_passthrough',true); 26 // Visitas recurrentes: aplicamos el consentimiento ya guardado ANTES de GTM 27 // para que las etiquetas de página (incl. el Meta Pixel) disparen en la 28 // carga. Sin esto, el consentimiento llegarÃa tarde (desde Angular) y los 29 // tags HTML personalizados quedarÃan bloqueados. 30 try { 31 var c = JSON.parse(localStorage.getItem('kensa-cookie-consent')); 32 if (c && c.v === 2) { 33 gtag('consent','update',{ 34 analytics_storage: c.analytics ? 'granted' : 'denied', 35 ad_storage: c.marketing ? 'granted' : 'denied', 36 ad_user_data: c.marketing ? 'granted' : 'denied', 37 ad_personalization: c.marketing ? 'granted' : 'denied' 38 }); 39 } 40 } catch (e) {} 41 </script>
41 42 <!-- Google Tag Manager --> 43
43<script>
vendor: 335 bytes, lines 43-47
43(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 44 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 45 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 46 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 47 })(window,document,'script','dataLayer','
47GTM-MTFQ87C2
vendor: 3 bytes, line 47
47');
47</script>
47 48 <!-- End Google Tag Manager --> 49 <meta charset="utf-8"> 50 <meta name="facebook-domain-verification" content="an9q7cft33vbddnc3ykglosn72ifnm"> 51 <title>Kensa | ClÃnica Dental en Madrid | Te gusta sonreir?</title> 52 <meta name="description" content="Combinamos odontologÃa avanzada con un trato humano y sin dolor. Experiencia Kensa ¡Reserva tu primera visita diagnóstica aquÃ!"> 53 <base href="/"> 54 <meta name="viewport" content="width=device-width, initial-scale=1"> 55 <link rel="icon" type="image/x-icon" href="favicon.ico?v=2"> 56<style>:root{--kensa-white:#fefdfb;--kensa-beige-light:#f5f0ea;--kensa-beige:#e8dfd3;--kensa-beige-dark:#c4b49a;--kensa-wood:#a89279;--kensa-green:#4a483a;--kensa-charcoal:#3a3a38;--kensa-black:#1a1a19;--color-bg-primary:var(--kensa-white);--color-bg-secondary:var(--kensa-beige-light);--color-bg-accent:var(--kensa-beige);--color-text-primary:var(--kensa-black);--color-text-secondary:var(--kensa-charcoal);--color-text-muted:var(--kensa-wood);--color-border:var(--kensa-beige);--color-border-dark:var(--kensa-beige-dark);
56--color-accent:var(--kensa-beige);--color-cta:var(--kensa-black);--color-cta-text:var(--kensa-white);--font-brand:"Nuosu SIL", Georgia, "Times New Roman", serif;--font-heading:"Poppins", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-body:"Poppins", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono:"Poppins", "Helvetica Neue", Helvetica, Arial, sans-serif;--fs-display:clamp(3rem, 8vw, 7rem);--fs-h1:clamp(2.25rem, 5vw, 4rem);--fs-h2:clamp(1.75rem, 3.5vw, 2.75rem);--fs-h3:clamp(1.25rem, 2.5vw, 1.75rem);--fs-body:clamp(1rem, 1.2vw, 1.125rem);--fs-small:clamp(.8125rem, 1vw, .875rem);--fs-caption:.75rem;--lh-heading:1.1;--lh-body:1.65;--ls-heading:-.02em;--ls-section-label:.15em;--fw-light:300;--fw-regular:400;--fw-medium:500;--fw-bold:700;--space-xs:.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2.5rem;--space-xl:4rem;--space-2xl:6rem;--space-3xl:10rem;--section-gap:var(--space-3xl);--container-max:1280px;--container-padding:var(--space-md);--header-height:80px;--header-height-mobile:64px;--floating-cta-bottom:2rem;--floating-cta-right:2rem;--border-radius-sm:4px;--border-radius-md:8px;--border-radius-lg:16px;--border-radius-full:9999px;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--duration-fast:.2s;--duration-base:.4s;--duration-slow:.8s;--duration-reveal:1.5s;--z-base:1;--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-modal:400;--z-floating-cta:500;--z-header:600;--z-mobile-menu:700}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{min-height:100vh;line-height:var(--lh-body);font-family:var(--font-body);font-weight:var(--fw-regular);color:var(--color-text-secondary);background-color:var(--color-bg-primary)}@font-face{font-family:Nuosu SIL;src:url(/fonts/NuosuSIL-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/Poppins-Light.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/Poppins-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/Poppins-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/Poppins-SemiBold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/Poppins-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}</style><link rel="stylesheet" href="styles-ADH7FFVU.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles-ADH7FFVU.css"></noscript></head> 57<body> 58 <!-- Google Tag Manager (noscript) -->
vendor: 70 bytes, lines 58-59
58 59 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
59GTM-MTFQ87C2
vendor: 85 bytes, lines 59-60
59" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 60
60<!-- End Google Tag Manager (noscript) --> 61 <app-root></app-root> 62<link rel="modulepreload" href="chunk-IWGVTXAO.js"><link rel="modulepreload" href="chunk-7HXGT4C7.js"><link rel="modulepreload" href="chunk-HQWM75OS.js"><link rel="modulepreload" href="chunk-THA5B2ZL.js"><link rel="modulepreload" href="chunk-2NFLSA4Y.js">
62<script src="main-233RS262.js" type="module"></script>
62</body> 63</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.