/*
 * El Gabinete Negro Studio — Archivo Nocturno para WordPress.
 * Tokens y componentes compartidos por Gutenberg, Kadence y GenerateBlocks.
 * Mantener la jerarquía: tinta, papel, rojo óxido; sin tarjetas redondeadas genéricas.
 */
:root {
  --egn-ink: #171715;
  --egn-ink-soft: #252522;
  --egn-paper: #f1ede5;
  --egn-paper-white: #faf8f3;
  --egn-paper-deep: #e6dfd4;
  --egn-oxide: #a33a2b;
  --egn-oxide-deep: #7d2b22;
  --egn-muted: #77736a;
  --egn-line: rgba(23,23,21,.18);
  --egn-line-light: rgba(241,237,229,.22);
  --egn-display: "Cormorant Garamond", Georgia, serif;
  --egn-sans: "Manrope", Arial, sans-serif;
  --egn-ease: cubic-bezier(.23,1,.32,1);
}

.egn-wrap { width: min(1180px, calc(100% - 64px)); margin-inline: auto; }
.egn-dark { background: var(--egn-ink); color: var(--egn-paper); }
.egn-paper { background: var(--egn-paper); color: var(--egn-ink); }
.egn-oxide { background: var(--egn-oxide); color: var(--egn-paper); }
.egn-label { align-items: center; color: var(--egn-oxide); display: flex; gap: 12px; font: 800 9px/1.4 var(--egn-sans); letter-spacing: .18em; text-transform: uppercase; }
.egn-label::after { background: currentColor; content: ""; height: 1px; opacity: .6; width: 34px; }
.egn-eyebrow { font: 800 10px/1.4 var(--egn-sans); letter-spacing: .18em; text-transform: uppercase; }
.egn-display { font-family: var(--egn-display); font-weight: 500; letter-spacing: -.07em; line-height: .86; }
.egn-display em { color: var(--egn-oxide); font-style: italic; font-weight: 400; }
.egn-button { align-items: center; border: 1px solid transparent; display: inline-flex; font: 800 10px/1 var(--egn-sans); gap: 12px; letter-spacing: .12em; padding: 15px 18px; text-transform: uppercase; transition: transform .16s var(--egn-ease), background .2s ease, color .2s ease; }
.egn-button:hover { transform: translateY(-2px); }
.egn-button:active { transform: scale(.97); }
.egn-button--oxide { background: var(--egn-oxide); color: var(--egn-paper); }
.egn-button--oxide:hover { background: #bd4938; }
.egn-button--ink { background: var(--egn-ink); color: var(--egn-paper); }
.egn-button--paper { background: var(--egn-paper); color: var(--egn-oxide); }
.egn-button--outline { background: transparent; border-color: currentColor; color: inherit; }
.egn-link { border-bottom: 1px solid currentColor; display: inline-flex; font: 800 10px/1.4 var(--egn-sans); letter-spacing: .12em; padding-bottom: 6px; text-transform: uppercase; }
.egn-link:hover { color: var(--egn-oxide); }
.egn-site-header { padding-block: 18px; position: relative; z-index: 10; }
.egn-brand-link { color: inherit; text-decoration: none; }
.egn-manual-nav { align-items: center; display: flex; flex-wrap: wrap; gap: 17px; justify-content: flex-end; }
.egn-manual-nav a { color: rgba(241,237,229,.82); font: 800 9px/1.3 var(--egn-sans); letter-spacing: .09em; text-decoration: none; text-transform: uppercase; transition: color .2s var(--egn-ease); }
.egn-manual-nav a:hover, .egn-manual-nav a:focus-visible { color: var(--egn-paper); text-decoration: underline; text-underline-offset: 5px; }
.egn-service-link { color: inherit; text-decoration: none; transition: background .2s var(--egn-ease), transform .2s var(--egn-ease); }
.egn-service-link:hover, .egn-service-link:focus-visible { background: rgba(163,58,43,.09); outline: 2px solid var(--egn-oxide); outline-offset: -2px; transform: translateX(5px); }
.egn-hero { min-height: 690px; overflow: hidden; position: relative; }
.egn-hero__image { background-position: center; background-size: cover; inset: 0; position: absolute; }
.egn-hero__overlay { background: linear-gradient(90deg, rgba(13,13,12,.96), rgba(13,13,12,.78) 42%, rgba(13,13,12,.18)); inset: 0; position: absolute; }
.egn-hero__content { align-items: center; display: grid; grid-template-columns: 1fr 260px; min-height: 690px; position: relative; z-index: 1; }
.egn-hero h1 { color: var(--egn-paper); font: 500 clamp(68px,9vw,124px)/.78 var(--egn-display); letter-spacing: -.075em; margin: 0; max-width: 700px; }
.egn-hero h1 em { color: #c95a49; font-style: italic; font-weight: 400; }
.egn-hero p { color: rgba(241,237,229,.78); font: 400 17px/1.6 var(--egn-sans); max-width: 475px; }
.egn-columns { display: grid; gap: 12%; grid-template-columns: 42% 1fr; }
.egn-section { padding-block: 120px 132px; }
.egn-section--tight { padding-block: 72px; }
.egn-service-list { border-top: 1px solid var(--egn-line); }
.egn-service { align-items: center; border-bottom: 1px solid var(--egn-line); display: grid; gap: 24px; grid-template-columns: 58px 1.15fr 1.2fr 155px; min-height: 143px; padding-block: 23px; }
.egn-service:hover { background: rgba(163,58,43,.05); }
.egn-service__number { color: var(--egn-oxide); font: 500 32px/1 var(--egn-display); }
.egn-service h3 { font: 600 34px/1 var(--egn-display); letter-spacing: -.05em; margin: 0 0 10px; }
.egn-service p { color: var(--egn-muted); font: 400 13px/1.5 var(--egn-sans); margin: 0; }
.egn-service__price { color: var(--egn-oxide); font: 600 25px/1 var(--egn-display); text-align: right; }
.egn-faq { border-top: 1px solid var(--egn-line); }
.egn-faq details { border-bottom: 1px solid var(--egn-line); padding-block: 20px; }
.egn-faq summary { cursor: pointer; font: 700 14px/1.4 var(--egn-sans); list-style: none; }
.egn-faq summary::-webkit-details-marker { display: none; }
.egn-faq summary::after { color: var(--egn-oxide); content: "+"; float: right; font-size: 20px; font-weight: 400; }
.egn-faq details[open] summary::after { content: "−"; }
.egn-faq details p { color: var(--egn-muted); font: 400 13px/1.7 var(--egn-sans); max-width: 620px; }
.egn-portfolio-cover { background: linear-gradient(135deg,#273332,#07100f); box-shadow: 20px 26px 45px rgba(0,0,0,.35); color: var(--egn-paper); min-height: 405px; padding: 30px; position: relative; transform: rotate(-6deg); width: min(285px,70%); }
.egn-portfolio-cover::after { border: 1px solid rgba(215,187,136,.36); content: ""; inset: 11px; position: absolute; }
.egn-portfolio-image { margin: 35px auto 0; max-width: 310px; transform: rotate(-4deg); }
.egn-portfolio-image img { box-shadow: 20px 26px 45px rgba(0,0,0,.42); display: block; height: auto; width: 100%; }
.egn-portfolio-image figcaption { color: rgba(241,237,229,.55); font-size: 8px; letter-spacing: .12em; margin-top: 18px; text-transform: uppercase; }
.egn-contact h2 { font: 500 clamp(65px,8vw,104px)/.82 var(--egn-display); letter-spacing: -.07em; margin: 0; }
.egn-contact h2 em { color: var(--egn-ink); font-style: italic; }
.egn-rescue-care__grid { border-top: 1px solid var(--egn-line); display: grid; grid-template-columns: 1fr 1fr; margin-top: 56px; }
.egn-rescue-care__grid > div { padding: 31px 38px 26px 0; }
.egn-rescue-care__grid > div + div { border-left: 1px solid var(--egn-line); padding-left: 38px; }
.egn-rescue-care__grid h3 { font: 600 40px/1 var(--egn-display); letter-spacing: -.05em; margin: 0 0 12px; }
.egn-rescue-care__grid p { color: var(--egn-muted); font: 400 13px/1.65 var(--egn-sans); max-width: 390px; }
.egn-report-demo > .egn-wrap > p:not(.egn-label):not(.egn-report-demo__note) { color: var(--egn-muted); font: 400 14px/1.7 var(--egn-sans); max-width: 440px; }
.egn-report-demo h2 { font: 500 clamp(55px,6.6vw,84px)/.84 var(--egn-display); letter-spacing: -.075em; margin: 35px 0; }
.egn-report-demo h2 em { color: var(--egn-oxide); font-style: italic; }
.egn-report-demo__panels { border: 1px solid var(--egn-line); margin-top: 50px; }
.egn-report-demo__panels details { border-bottom: 1px solid var(--egn-line); padding: 19px 24px; }
.egn-report-demo__panels details:last-child { border-bottom: 0; }
.egn-report-demo__panels summary { color: var(--egn-ink); cursor: pointer; display: flex; font: 600 22px/1.1 var(--egn-display); justify-content: space-between; list-style: none; }
.egn-report-demo__panels summary::-webkit-details-marker { display: none; }
.egn-report-demo__panels summary span { color: var(--egn-oxide); font: 800 9px/1 var(--egn-sans); letter-spacing: .12em; text-transform: uppercase; }
.egn-report-demo__panels details > div { border-left: 2px solid var(--egn-oxide); margin-top: 19px; padding-left: 18px; }
.egn-report-demo__panels p { color: var(--egn-muted); font: 400 13px/1.65 var(--egn-sans); margin: 9px 0; max-width: 720px; }
.egn-report-demo__panels p strong { color: var(--egn-ink); }
.egn-report-demo__note { color: #999185; font: italic 10px/1.5 var(--egn-sans); margin-top: 17px; }
.egn-care-table-wrap { overflow-x: auto; }
.egn-care-table { border-collapse: collapse; min-width: 680px; width: 100%; }
.egn-care-table th, .egn-care-table td { border-bottom: 1px solid var(--egn-line); color: var(--egn-muted); font: 400 12px/1.4 var(--egn-sans); padding: 17px 12px; text-align: left; vertical-align: middle; }
.egn-care-table thead th { color: var(--egn-oxide); font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.egn-care-table tbody th { color: var(--egn-ink); font-family: var(--egn-display); font-size: 20px; font-weight: 600; letter-spacing: -.03em; }
.egn-care-table tbody tr.is-featured { background: rgba(163,58,43,.06); }
.egn-care-table tbody tr.is-featured th { color: var(--egn-oxide); }
.egn-care-table small { background: var(--egn-oxide); color: var(--egn-paper); display: inline-block; font: 800 7px/1 var(--egn-sans); letter-spacing: .1em; margin-left: 5px; padding: 5px 6px; text-transform: uppercase; }

@media (max-width: 900px) {
  .egn-wrap { width: min(680px, calc(100% - 44px)); }
  .egn-site-header .wp-block-columns { gap: 18px; }
  .egn-manual-nav { justify-content: flex-start; }
  .egn-hero, .egn-hero__content { min-height: 650px; }
  .egn-hero__content, .egn-columns { grid-template-columns: 1fr; gap: 45px; }
  .egn-service { grid-template-columns: 46px 1fr 125px; gap: 15px; }
  .egn-service__details { display: none; }
  .egn-rescue-care__grid { grid-template-columns: 1fr; }
  .egn-rescue-care__grid > div { padding: 25px 0; }
  .egn-rescue-care__grid > div + div { border-left: 0; border-top: 1px solid var(--egn-line); padding-left: 0; }
  .egn-report-demo__panels { margin-top: 35px; }
  .egn-report-demo__panels details { padding: 17px; }
  .egn-report-demo__panels summary { font-size: 20px; }
  .egn-report-demo__panels summary span { font-size: 8px; }
}
@media (max-width: 520px) {
  .egn-wrap { width: calc(100% - 36px); }
  .egn-site-header { padding-block: 15px; }
  .egn-site-header .wp-block-columns { display: grid; grid-template-columns: 1fr; }
  .egn-site-header .wp-block-column { flex-basis: auto !important; }
  .egn-manual-nav { gap: 10px 14px; }
  .egn-manual-nav a { font-size: 8px; }
  .egn-section { padding-block: 83px; }
  .egn-hero h1 { font-size: 69px; }
  .egn-service { grid-template-columns: 32px 1fr 102px; min-height: 125px; }
  .egn-service h3 { font-size: 29px; }
  .egn-service__price { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .egn-button, .egn-service { transition: none; }
}

.egn-service__cta { background: transparent; border: 0; color: var(--egn-oxide); cursor: pointer; font: 800 9px/1 var(--egn-sans); letter-spacing: .1em; padding: 8px 0 0; text-transform: uppercase; }
.egn-service__cta:hover, .egn-service__cta:focus-visible { color: var(--egn-ink); text-decoration: underline; }
.egn-care-table .egn-service__cta { font-size: 8px; }
.egn-form-embed { background: var(--egn-paper); color: var(--egn-ink); margin-top: 28px; padding: clamp(24px, 4vw, 48px); }
.egn-form-embed > p:first-child { font-family: var(--egn-display); font-size: clamp(28px, 4vw, 46px); margin-top: 0; }
.egn-start-pro-comparison .egn-display { margin-bottom: 42px; }
.egn-start-pro-comparison .wp-block-buttons { gap: 16px; margin-top: 30px; }
.egn-privacy-hero .egn-display { font-size: clamp(64px, 10vw, 132px); }
.egn-privacy .egn-display { border-top: 1px solid var(--egn-line); font-size: clamp(48px, 7vw, 78px); margin-top: 72px; padding-top: 34px; }
.egn-privacy__warning { background: #ede3d5; border-left: 3px solid var(--egn-oxide); margin-bottom: 70px; padding: 28px 32px; }
.egn-privacy__warning strong { font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.egn-privacy .egn-care-table { min-width: 760px; }
.egn-privacy-notice { background: rgba(163,58,43,.08); border-left: 2px solid var(--egn-oxide); color: var(--egn-ink); font: 400 .9rem/1.5 var(--egn-sans); margin: 1.25rem 0 0; padding: .9rem 1rem; }
.egn-privacy-notice label { align-items: flex-start; cursor: pointer; display: flex; gap: .65rem; }
.egn-privacy-notice input { accent-color: var(--egn-oxide); height: 1rem; margin-top: .2rem; width: 1rem; }
.egn-privacy-notice a { color: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: .18em; }
.egn-privacy-error { color: #8b2118; font-size: .875rem; font-weight: 700; margin: .65rem 0 0; }
@media (max-width: 700px) {
  .egn-start-pro-comparison .egn-care-table-wrap { overflow-x: auto; }
  .egn-start-pro-comparison .egn-care-table { min-width: 650px; }
  .egn-privacy .egn-care-table-wrap { overflow-x: auto; }
  .egn-privacy__warning { padding: 24px 22px; }
}
