/* ==== TIPOGRAFIA (fuentes propias) ==== */
@font-face {
  font-display:swap;
  font-family:"Host Grotesk";
  font-style:normal;
  font-weight:400 800;
  src:url("../fonts/host-grotesk.woff2") format("woff2");
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family:"Host Grotesk Fallback";
  src:local("Arial");
  ascent-override:98.40%;
  size-adjust:103.61%;
}
@font-face {
  font-display:swap;
  font-family:"Instrument Serif";
  font-style:normal;
  font-weight:400;
  src:url("../fonts/instrument-serif.woff2") format("woff2");
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family:"Instrument Serif Fallback";
  src:local("Georgia");
  ascent-override:131.90%;
  size-adjust:75.03%;
}

/* ==== VARIABLES ==== */
:root{
  --cn-bg:#f4f4f6;
  --cn-tint:#e3e4e8;
  --cn-line:#cdd0d6;
  --cn-gray:#5f626b;
  --cn-mid:#8a8d96;
  --cn-dark:#17181c;
  --cn-ondark:#f4f4f6;
  --cn-text:#17181c;
  --cn-acc:#a4472b;
  --cn-acc-ok:oklch(52% 0.13 40);
  --cn-cta:#f5b700;
  --cn-cta-ok:oklch(82% 0.17 85);
  --cn-oncta:#17181c;
  --cn-sans:"Host Grotesk","Host Grotesk Fallback",Arial,sans-serif;
  --cn-serif:"Instrument Serif","Instrument Serif Fallback",Georgia,serif;
  --cn-mono:ui-monospace,"Cascadia Code",Consolas,monospace;
}

/* ==== RESET ==== */
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:122px;scroll-padding-bottom:190px}
img{display:block;max-width:100%;height:auto}
body{font-family:var(--cn-sans);font-size:17px;line-height:1.6;color:var(--cn-text);background:var(--cn-bg)}
main{display:block}
a{color:var(--cn-acc)}
h1,h2,h3,h4{font-weight:800;line-height:1.08;color:var(--cn-text)}
ul{list-style:none}

/* ==== TITULARES Y TEXTO ==== */
.cn-h1{font-size:clamp(2.1rem,5vw,3.4rem);letter-spacing:-.01em}
.cn-h2{font-size:clamp(1.5rem,3vw,2.2rem);margin-bottom:22px}
.cn-h3{font-size:1.25rem;margin-bottom:12px}
.cn-h4{font-size:1.05rem;margin-bottom:8px}
.cn-eyebrow{display:inline-block;margin-bottom:14px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cn-acc);box-shadow:inset 0 -8px 0 color-mix(in srgb,var(--cn-cta) 55%,transparent)}
.cn-eyebrow--light{color:var(--cn-cta);box-shadow:inset 0 -8px 0 color-mix(in srgb,var(--cn-acc) 45%,transparent)}
.cn-lead{font-size:1.18rem;line-height:1.55;color:var(--cn-gray);margin-bottom:8px;max-width:62ch}
.cn-note{font-size:.95rem;color:var(--cn-gray);margin-top:14px}
.cn-hint{display:block;font-size:.85rem;color:var(--cn-mid);margin-top:4px}
.cn-mono{font-family:var(--cn-mono)}
.cn-ital{font-family:var(--cn-serif);font-weight:400;font-style:italic}
.cn-price{font-family:var(--cn-mono);font-weight:700;font-size:1.05rem;color:var(--cn-text)}
.cn-price--big{font-size:1.9rem}

/* ==== LAYOUT ==== */
.cn-wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.cn-narrow{max-width:640px}
.cn-sec{padding:64px 0;border-bottom:1px solid var(--cn-line)}
.cn-sec--tint{background:var(--cn-tint)}
.cn-sec--dark{background:var(--cn-dark);color:var(--cn-ondark)}
.cn-sec--dark .cn-h1,.cn-sec--dark .cn-h2,.cn-sec--dark .cn-h3{color:var(--cn-ondark)}
.cn-sec--dark .cn-lead{color:color-mix(in srgb,var(--cn-ondark) 78%,transparent)}
.cn-sec-more{margin-top:28px}
.cn-pagehead{padding:54px 0 36px;background:var(--cn-bg);border-bottom:3px solid var(--cn-dark)}
.cn-prose p{margin-bottom:16px;max-width:68ch}
.cn-prose h2{margin:28px 0 12px}

/* ==== HERO ==== */
.cn-hero{position:relative;background:var(--cn-dark);color:var(--cn-ondark);overflow:hidden}
.cn-hero-media{position:absolute;inset:0;z-index:0}
.cn-hero-img{position:absolute;object-fit:cover;filter:brightness(.52) saturate(1.05);will-change:transform}
.cn-hero-img--1{top:0;left:0;right:0;width:100%;height:100%;max-height:62vh}
.cn-hero-img--2{left:0;top:10%;width:38%;max-width:440px;height:auto;filter:brightness(.8);border:7px solid var(--cn-cta-ok);display:none}
.cn-hero-img--3{left:8%;bottom:8%;width:33%;max-width:400px;height:auto;filter:brightness(.78);border:7px solid var(--cn-acc-ok);display:none}
.cn-hero-inner{position:relative;z-index:1;display:flex;justify-content:flex-end;min-height:clamp(430px,58vh,540px);align-items:center;padding-top:56px;padding-bottom:56px}
.cn-hero-text{width:min(620px,100%);text-align:left}
.cn-hero-h1{font-size:clamp(2.6rem,8vw,6.5rem);line-height:.98;letter-spacing:-.02em;color:var(--cn-ondark);margin-bottom:22px}
.cn-hero-lead{font-size:1.2rem;line-height:1.5;color:color-mix(in srgb,var(--cn-ondark) 84%,transparent);margin-bottom:30px;max-width:48ch}
.cn-hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:20px}
@media(min-width:1200px){.cn-hero-img--2,.cn-hero-img--3{display:block}}
@media(max-width:560px){.cn-hero-inner{min-height:76vh}}

/* ==== BOTONES Y ENLACES-FLECHA ==== */
.cn-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;font-family:var(--cn-sans);font-weight:700;font-size:15px;text-decoration:none;cursor:pointer;border:2px solid var(--cn-dark);background:var(--cn-bg);color:var(--cn-text);transition:transform .12s,background .12s}
.cn-btn:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--cn-dark)}
.cn-btn--cta{background:var(--cn-cta);color:var(--cn-oncta);border-color:var(--cn-dark)}
.cn-btn--line{background:transparent;color:var(--cn-text)}
.cn-sec--dark .cn-btn--line{color:var(--cn-ondark);border-color:var(--cn-ondark)}
.cn-btn--big{min-height:54px;padding:15px 30px;font-size:16px}
.cn-arrow{display:inline-flex;align-items:center;min-height:44px;font-weight:700;font-size:15px;color:var(--cn-acc);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.cn-arrow:hover{text-decoration-thickness:3px}
.cn-arrow--light{color:var(--cn-cta)}

/* ==== MIGAS ==== */
.cn-crumbs{background:var(--cn-tint);border-bottom:1px solid var(--cn-line);font-size:14px;padding:12px 0}
.cn-crumbs a{color:var(--cn-gray);text-decoration:none;font-weight:600}
.cn-crumbs span{color:var(--cn-mid)}

/* ==== FOOTER ==== */
.cn-foot{background:var(--cn-dark);color:var(--cn-ondark);padding:56px 0 30px}
.cn-foot-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.cn-foot-h{font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--cn-cta);margin-bottom:16px}
.cn-foot a{color:#dadbdf;text-decoration:none;line-height:2.1;font-size:15px}
.cn-foot a:hover{color:var(--cn-ondark);text-decoration:underline}
.cn-foot-contact{margin-top:16px;font-size:15px;color:#c3c5cb}
.cn-foot-legal{margin-top:34px;padding-top:22px;border-top:1px solid color-mix(in srgb,var(--cn-ondark) 22%,transparent);font-size:13px;line-height:1.7;color:var(--cn-mid)}
@media(max-width:620px){.cn-foot-grid{grid-template-columns:1fr;gap:28px}}
