/* VERDEA / identidad nocturna: grafito, verde vivo y composiciones editoriales. */
body:not(.admin-page) {
  color-scheme: dark;
  --bg: #07130d;
  --bg-soft: #091711;
  --surface: #142c20;
  --surface-raised: #193d2b;
  --ink: #f1f5ef;
  --muted: #a3b0a6;
  --muted-strong: #c0ccc2;
  --forest: #a5d66b;
  --forest-2: #b8e083;
  --leaf: #76b85b;
  --sage: #142c20;
  --line: #21392b;
  --line-strong: #2b4a38;
  --clay: #f0aa8e;
  --sand: #76b85b;
  --white: #fbfcf8;
  --max: 1200px;
}
body:not(.admin-page) { background: var(--bg); color: var(--ink); }
body:not(.admin-page) ::selection { background: #a5d66b; color: #10271b; }
body:not(.admin-page) :focus-visible { outline: 3px solid #a5d66b; outline-offset: 4px; }
body:not(.admin-page) .skip { background: #b8e083; color: #10271b; }
body:not(.admin-page) .eyebrow { color: var(--leaf); font-weight: 700; letter-spacing: .15em; }
body:not(.admin-page) h1, body:not(.admin-page) h2, body:not(.admin-page) h3 { color: var(--ink); }
body:not(.admin-page) .hero-small { color: var(--muted); }

/* Navegación compartida. */
body:not(.admin-page) .site-nav { border-color: rgba(191,222,192,.1); background: rgba(8,13,11,.84); box-shadow: 0 10px 35px rgba(0,0,0,.14); }
body:not(.admin-page) .lnk, body:not(.admin-page) .nav-login { color: #b3c0b4; }
body:not(.admin-page) .lnk:hover, body:not(.admin-page) .lnk[aria-current='page'], body:not(.admin-page) .nav-login:hover { color: var(--ink); }
body:not(.admin-page) .lnk[aria-current='page'] { text-decoration-color: var(--leaf); }
body:not(.admin-page) .nav-book { min-height: 43px; padding-inline: 19px; border: 1px solid #b5ee81; border-radius: 999px; background: #b5ee81; color: #10271b; }
body:not(.admin-page) .nav-book:hover { border-color: #d3ff9e; background: #d3ff9e; }
body:not(.admin-page) .burger { border-color: #405345; border-radius: 10px; }
body:not(.admin-page) .burger span { background: var(--ink); }
body:not(.admin-page) .menu { border-color: #304338; border-radius: 12px; background: #10271b; box-shadow: 0 24px 70px rgba(0,0,0,.48); }
body:not(.admin-page) .menu .lnk { border-color: rgba(203,229,197,.11); }
body:not(.admin-page) .account-summary { color: var(--ink); }
body:not(.admin-page) .avatar { background: #28412e; color: #d2f4b7; }
body:not(.admin-page) .account-panel { border-color: #33463a; border-radius: 10px; background: #142c20; box-shadow: 0 20px 48px rgba(0,0,0,.38); }
body:not(.admin-page) .account-panel strong { border-color: var(--line); }
body:not(.admin-page) .account-link:hover, body:not(.admin-page) .account-logout:hover { background: #1b2a20; }

/* Portada. Un marco de navegador y su versión móvil hacen visible el trabajo sin recurrir a stock. */
body.home-page { background: #07130d; }
body.home-page main { overflow: clip; }
body.home-page .hero {
  isolation: isolate; width: 100%; max-width: none; min-height: 690px; margin: 0; padding: 84px max(32px,calc((100% - var(--max))/2)) 90px;
  grid-template-columns: minmax(0,.96fr) minmax(0,1fr); gap: clamp(44px,6.5vw,90px); overflow: hidden;
  background: radial-gradient(ellipse at 79% 15%,rgba(79,218,138,.12),transparent 31%),linear-gradient(118deg,#080e0b 4%,#0c1711 58%,#102117 100%);
  color: var(--ink);
}
body.home-page .hero::before { content: ""; position: absolute; z-index: -1; inset: 0; opacity: .44; background: url('/assets/images/verdea-orbit.svg') no-repeat 92% 48% / min(63vw,790px) auto; pointer-events: none; }
body.home-page .hero-copy { max-width: 630px; }
body.home-page .hero-kicker { display: flex; align-items: center; gap: 10px; color: #a5d66b; }
body.home-page .hero-kicker::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #a5d66b; box-shadow: 0 0 18px rgba(186,255,109,.8); }
body.home-page .hero h1 { max-width: 10ch; margin-top: 22px; font-size: clamp(3.55rem,6.35vw,6.15rem); font-weight: 750; letter-spacing: -.075em; line-height: .99; }
body.home-page .hero h1 .w:last-child { color: #a5d66b; }
body.home-page .hero-note { max-width: 50ch; margin-top: 25px; color: #becbc0; font-size: 1.03rem; }
body.home-page .hero-meta { color: #93a497; }
body.home-page .hero .btn-primary { min-height: 53px; padding-inline: 21px; border-color: #a5d66b; border-radius: 999px; background: #a5d66b; color: #101b14; box-shadow: 0 8px 32px rgba(128,213,87,.12); }
body.home-page .hero .btn-primary:hover { border-color: #c4e79c; background: #c4e79c; box-shadow: 0 12px 36px rgba(128,213,87,.22); }
body.home-page .hero .btn-text { color: #f1f5ef; border-color: rgba(237,244,236,.45); }
body.home-page .hero .btn-text:hover { color: #a5d66b; border-color: #a5d66b; }
body.home-page .hero-visual { z-index: 1; max-width: 600px; padding: 24px 0 34px 18px; }
body.home-page .hero-visual::before { content: ""; position: absolute; z-index: -1; inset: -8% -12% 1% 5%; background: url('/assets/images/verdea-orbit.svg') no-repeat center / contain; opacity: .7; pointer-events: none; }
body.home-page .preview-frame { border: 1px solid rgba(237,244,236,.25); border-radius: 7px; background: #e8e8dc; box-shadow: 0 32px 90px rgba(0,0,0,.5),0 0 0 7px rgba(231,244,225,.025); transform: rotate(1deg); }
body.home-page .preview-browser { min-height: 36px; border-color: rgba(29,44,33,.16); background: #f4f3e9; color: #606a5e; }
body.home-page .preview-site { background: #e8e8dc; }
body.home-page .preview-site-nav { color: #4c5b4d; }
body.home-page .preview-wordmark { color: #203629; }
body.home-page .preview-site-content h2 { color: #21392b; }
body.home-page .preview-photo { border-radius: 2px; }
body.home-page .preview-meta { color: #526255; }
body.home-page .preview-meta a { color: #1b4c35; }
body.home-page .hero-visual:hover .preview-frame { transform: translateY(-5px) rotate(0deg); box-shadow: 0 40px 100px rgba(0,0,0,.55),0 0 0 7px rgba(231,244,225,.035); }
body.home-page .preview-caption { position: relative; z-index: 1; color: #8fa093; }
body.home-page .preview-mobile { position: absolute; z-index: 3; right: -5px; bottom: 54px; width: clamp(100px,13vw,146px); aspect-ratio: .49; padding: 6px; border: 1px solid rgba(241,249,235,.54); border-radius: 19px; background: #111a14; box-shadow: 0 24px 54px rgba(0,0,0,.55),0 0 0 5px rgba(241,249,235,.035); transform: rotate(3deg); }
body.home-page .preview-mobile-screen { position: relative; height: 100%; overflow: hidden; padding: 17px 8px 8px; border-radius: 13px; background: linear-gradient(160deg,#edf0e2,#cfdac6); }
body.home-page .preview-mobile-screen::before { content: "CASA NORTE"; display: block; padding-bottom: 14px; color: #274332; font: 800 .38rem var(--body); letter-spacing: .1em; }
body.home-page .preview-mobile-screen::after { content: ""; position: absolute; inset: 35px 8px 8px; background: url('/assets/images/casa-norte-study.svg') center / cover no-repeat; }
body.home-page .preview-mobile-camera { position: absolute; z-index: 2; top: 6px; left: 50%; width: 30%; height: 5px; border-radius: 8px; background: #050806; transform: translateX(-50%); }

/* Servicios y confianza: alterna líneas editoriales con áreas de interfaz generadas en CSS. */
body:not(.admin-page) .home-services { padding-top: 95px; padding-bottom: 100px; }
body:not(.admin-page) .section-heading { gap: clamp(32px,6vw,78px); margin-bottom: 40px; }
body:not(.admin-page) .section-heading h2 { font-size: clamp(2.15rem,4.1vw,3.6rem); letter-spacing: -.065em; }
body:not(.admin-page) .section-heading > p { color: var(--muted); }
body:not(.admin-page) .home-service-grid { gap: 14px; }
body:not(.admin-page) .home-service { position: relative; min-height: 278px; padding: 103px 23px 23px; border: 1px solid #26382c; border-radius: 4px; background: linear-gradient(150deg,rgba(255,255,255,.025),rgba(255,255,255,0) 66%); }
body:not(.admin-page) .home-service::before { content: "0" counter(home-service); counter-increment: home-service; position: absolute; top: 23px; left: 23px; color: #a5d66b; font: 700 .68rem var(--body); letter-spacing: .15em; }
body:not(.admin-page) .home-service-grid { counter-reset: home-service; }
body:not(.admin-page) .home-service::after { content: ""; position: absolute; top: 17px; right: 20px; width: 82px; height: 57px; border: 1px solid #45634b; border-radius: 3px; background: linear-gradient(90deg,transparent 0 12%,#385a40 12% 14%,transparent 14% 100%),linear-gradient(0deg,transparent 0 20%,#9bd978 20% 23%,transparent 23% 42%,#4c6b57 42% 45%,transparent 45% 66%,#4c6b57 66% 69%,transparent 69%),radial-gradient(ellipse at 70% 23%,rgba(186,255,109,.55),transparent 28%),#10271b; box-shadow: 0 8px 28px rgba(0,0,0,.2); }
body:not(.admin-page) .home-service:nth-child(2)::after { border-radius: 18px 18px 3px 3px; background: linear-gradient(90deg,transparent 0 18%,#a4d981 18% 20%,transparent 20% 39%,#4c6b57 39% 42%,transparent 42% 59%,#4c6b57 59% 62%,transparent 62%),linear-gradient(0deg,transparent 0 18%,#4c6b57 18% 22%,transparent 22% 44%,#4c6b57 44% 48%,transparent 48%),#14231a; }
body:not(.admin-page) .home-service:nth-child(3)::after { border-radius: 14px 3px 3px 3px; background: linear-gradient(135deg,transparent 0 38%,rgba(186,255,109,.75) 39% 41%,transparent 42%),linear-gradient(90deg,transparent 0 20%,#4c6b57 20% 23%,transparent 23% 50%,#4c6b57 50% 53%,transparent 53%),#14231a; }
body:not(.admin-page) .home-service:hover { transform: translateY(-4px); border-color: #57745a; background-color: rgba(145,206,125,.04); }
body:not(.admin-page) .home-service h3 { color: var(--ink); }
body:not(.admin-page) .home-service p { color: var(--muted); }
body:not(.admin-page) .home-service-link { color: #a5d66b; }
body:not(.admin-page) .home-service-link span { transition: transform .22s ease; }
body:not(.admin-page) .home-trust { width: 100%; max-width: none; margin: 0; padding: 80px max(32px,calc((100% - var(--max))/2)) 84px; border-block: 1px solid #283a2d; background: radial-gradient(ellipse at 85% 15%,rgba(111,194,96,.09),transparent 37%),#0d1711; }
body:not(.admin-page) .home-trust .home-service { min-height: 216px; padding-top: 68px; border-width: 0 0 1px; border-radius: 0; background: transparent; box-shadow: none; }
body:not(.admin-page) .home-trust .home-service::after { display: none; }
body:not(.admin-page) .home-trust .home-service::before { top: 20px; left: 23px; }
body:not(.admin-page) .home-process { position: relative; overflow: hidden; padding: 98px 0 105px; background: #0a110d; }
body:not(.admin-page) .home-process::after { content: ""; position: absolute; right: -170px; bottom: -300px; width: 520px; aspect-ratio: 1; border: 1px solid rgba(99,204,131,.12); border-radius: 50%; box-shadow: 0 0 0 40px rgba(99,204,131,.025),0 0 0 80px rgba(99,204,131,.02); pointer-events: none; }
body:not(.admin-page) .home-process-item { position: relative; border-color: #3a5440; }
body:not(.admin-page) .home-process-index { color: #a5d66b; }
body:not(.admin-page) .home-process-item h3 { color: var(--ink); }
body:not(.admin-page) .home-process-item p { color: var(--muted); }
body:not(.admin-page) .home-reviews { padding: 92px 0 96px; border-block: 1px solid #23372a; background: radial-gradient(ellipse at 10% 100%,rgba(41,124,73,.2),transparent 42%),#101b14; color: var(--ink); }
body:not(.admin-page) .home-reviews-heading .eyebrow { color: #a5d66b; }
body:not(.admin-page) .home-reviews-heading h2, body:not(.admin-page) .quote blockquote { color: #f1f6ee; }
body:not(.admin-page) .quote figcaption { color: #a6b7a7; }
body:not(.admin-page) .qnav button { border-color: #5b715d; color: #f1f5ef; }
body:not(.admin-page) .qnav button:hover { color: #a5d66b; border-color: #a5d66b; }
body:not(.admin-page) .home-cta { position: relative; width: min(var(--max),calc(100% - 64px)); margin: 64px auto 82px; padding: 42px 46px; align-items: center; border: 1px solid #2b4a38; border-radius: 4px; background: radial-gradient(ellipse at 100% 0%,rgba(143,211,115,.13),transparent 42%),linear-gradient(115deg,#14251a,#10271b); }
body:not(.admin-page) .home-cta h2 { max-width: 13ch; }
body:not(.admin-page) .home-cta p:not(.eyebrow) { color: #a3b0a6; }

/* Cabeceras y páginas interiores. */
body:not(.admin-page) .page-hero { position: relative; isolation: isolate; padding-top: 94px; padding-bottom: 55px; }
body:not(.admin-page) .page-hero::after { content: ""; position: absolute; z-index: -1; top: 35px; right: 1%; width: clamp(110px,18vw,220px); aspect-ratio: 1; border: 1px solid rgba(99,204,131,.18); border-radius: 50%; box-shadow: 0 0 0 17px rgba(99,204,131,.025),0 0 0 34px rgba(99,204,131,.018); pointer-events: none; }
body:not(.admin-page) .page-hero h1 { max-width: 12ch; font-weight: 700; letter-spacing: -.07em; }
body:not(.admin-page) .page-hero .hero-small { color: var(--muted); }
body:not(.admin-page) .service-list { padding-bottom: 76px; }
body:not(.admin-page) .service-item { display: grid; grid-template-columns: 55px minmax(0,1fr) minmax(250px,.72fr); grid-template-rows:auto auto; grid-template-areas:"no title art" ". copy art"; gap: 10px 24px; align-items: center; min-width: 0; padding: 30px 0; border-color: #23402f; }
body:not(.admin-page) .service-item::before { grid-area: no; content: "0" counter(service-row); counter-increment: service-row; color: #a5d66b; font: 700 .72rem var(--body); letter-spacing: .12em; }
body:not(.admin-page) .service-list { counter-reset: service-row; }
body:not(.admin-page) .service-item h2 { grid-area: title; max-width: 18ch; color: var(--ink); font-size: clamp(1.55rem,2.6vw,2.25rem); }
body:not(.admin-page) .service-item p { grid-area: copy; max-width: 58ch; color: var(--muted); }
body:not(.admin-page) .service-item::after { grid-area: art; content: ""; display: block; width: 100%; min-height: 145px; border: 1px solid #2d4935; background-color: #10271b; background-image: linear-gradient(90deg,transparent 0 8%,#23372a 8% 9%,transparent 9% 100%),linear-gradient(0deg,transparent 0 20%,#5d7b5d 20% 22%,transparent 22% 47%,#38573c 47% 49%,transparent 49%),radial-gradient(ellipse at 74% 22%,rgba(186,255,109,.42),transparent 30%); box-shadow: inset 0 0 32px rgba(64,130,74,.07),0 10px 38px rgba(0,0,0,.16); }
body:not(.admin-page) .service-item:nth-child(2)::after { background-image: linear-gradient(90deg,transparent 0 20%,#a3d986 20% 21%,transparent 21% 44%,#4c6b57 44% 45%,transparent 45% 68%,#4c6b57 68% 69%,transparent 69%),linear-gradient(0deg,transparent 0 22%,#4c6b57 22% 24%,transparent 24% 46%,#4c6b57 46% 48%,transparent 48%),radial-gradient(ellipse at 20% 21%,rgba(186,255,109,.33),transparent 16%),#10271b; }
body:not(.admin-page) .service-item:nth-child(3)::after { min-height: 168px; background-image: linear-gradient(90deg,transparent 0 16%,#263d2e 16% 17%,transparent 17% 100%),linear-gradient(0deg,transparent 0 18%,#5a7563 18% 20%,transparent 20% 39%,#5a7563 39% 41%,transparent 41% 60%,#5a7563 60% 62%,transparent 62%),linear-gradient(135deg,transparent 0 64%,rgba(186,255,109,.45) 64% 66%,transparent 66%),#10271b; }
body:not(.admin-page) .service-item:nth-child(4)::after { border-radius: 18px 3px 3px 3px; background-image: linear-gradient(90deg,transparent 0 15%,#38543c 15% 16%,transparent 16% 100%),linear-gradient(0deg,transparent 0 72%,#a5d66b 72% 74%,transparent 74% 100%),radial-gradient(circle at 25% 32%,#8bb778 0 4px,transparent 5px),radial-gradient(circle at 50% 32%,#6b9a63 0 4px,transparent 5px),radial-gradient(circle at 75% 32%,#a5d66b 0 4px,transparent 5px),#10271b; }
body:not(.admin-page) .service-item:nth-child(5)::after { background-image: linear-gradient(90deg,transparent 0 16%,#344b37 16% 17%,transparent 17% 100%),linear-gradient(0deg,transparent 0 22%,#385b3f 22% 24%,transparent 24% 45%,#a5d66b 45% 47%,transparent 47% 69%,#385b3f 69% 71%,transparent 71%),linear-gradient(160deg,transparent 48%,rgba(186,255,109,.16) 49%,transparent 71%),#10271b; }
body:not(.admin-page) .service-item:nth-child(6)::after { background-image: linear-gradient(90deg,transparent 0 12%,#2b4a38 12% 13%,transparent 13% 100%),linear-gradient(0deg,transparent 0 17%,#24392a 17% 18%,transparent 18% 100%),linear-gradient(90deg,transparent 0 22%,#9bd978 22% 24%,transparent 24% 39%,#648263 39% 41%,transparent 41% 56%,#648263 56% 58%,transparent 58%),radial-gradient(ellipse at 81% 20%,rgba(186,255,109,.34),transparent 24%),#10271b; }
body:not(.admin-page) .service-item:nth-child(7)::after { background-image: linear-gradient(90deg,transparent 0 12%,#2b4a38 12% 13%,transparent 13% 100%),linear-gradient(0deg,transparent 0 24%,#264534 24% 26%,transparent 26% 49%,#264534 49% 51%,transparent 51% 74%,#264534 74% 76%,transparent 76%),radial-gradient(circle at 85% 18%,#a5d66b 0 3px,transparent 4px),#10271b; }
body:not(.admin-page) .process-wrap { padding-bottom: 88px; }
body:not(.admin-page) .process-item { grid-template-columns: 58px minmax(0,1fr); gap: 25px; padding: 35px 0; border-color: #2d4132; }
body:not(.admin-page) .process-no { color: #a5d66b; font-size: .78rem; }
body:not(.admin-page) .process-item h2 { color: var(--ink); }
body:not(.admin-page) .process-item p:last-child { color: var(--muted); }
body:not(.admin-page) .contact-band { margin-top: 22px; margin-bottom: 86px; padding: 32px 0; border-color: #304636; }
body:not(.admin-page) .projects-grid { gap: 28px 22px; }
body:not(.admin-page) .works figure { overflow: hidden; padding: 0 0 25px; border: 1px solid #283a2e; border-radius: 4px; background: #10271b; transition: transform .25s var(--ease),border-color .25s ease,box-shadow .25s ease; }
body:not(.admin-page) .works figure:hover { transform: translateY(-4px); border-color: #526c50; box-shadow: 0 20px 50px rgba(0,0,0,.26); }
body:not(.admin-page) .works figure img { border-radius: 3px 3px 0 0; }
body:not(.admin-page) .works figure h3, body:not(.admin-page) .works figure small, body:not(.admin-page) .works figure p { margin-inline: 22px; }
body:not(.admin-page) .works figure small { color: #a5d66b; }
body:not(.admin-page) .works figure p { color: var(--muted); }
body:not(.admin-page) .project-empty-state { border-color: #33473a; border-radius: 4px; background: radial-gradient(ellipse at 100% 0%,rgba(89,183,102,.1),transparent 38%),#10271b; box-shadow: 0 22px 65px rgba(0,0,0,.18); }
body:not(.admin-page) .project-empty-state h2 { color: var(--ink); }
body:not(.admin-page) .project-empty-state p { color: var(--muted); }
body:not(.admin-page) .all-reviews figure { border-color: #304334; }
body:not(.admin-page) .all-reviews figcaption { color: var(--muted); }
body:not(.admin-page) .review-form-stage { border-color: #304334; }

/* Campos de contacto, cuenta, reservas y formularios de acceso. */
body:not(.admin-page) .contact-stage { padding-bottom: 104px; }
body:not(.admin-page) .contact-intro h2 { color: var(--ink); }
body:not(.admin-page) .contact-intro > p:not(.eyebrow) { color: var(--muted); }
body:not(.admin-page) .contact-form, body:not(.admin-page) .demo, body:not(.admin-page) .auth-panel, body:not(.admin-page) .checkout-panel { border-color: #23402f; border-radius: 5px; background: linear-gradient(145deg,#121e16,#0e1712); box-shadow: 0 26px 75px rgba(0,0,0,.25); }
body:not(.admin-page) .contact-form { position: relative; padding: clamp(22px,3.5vw,38px); }
body:not(.admin-page) .contact-form::before { content: ""; position: absolute; top: -1px; left: 24px; width: 68px; height: 2px; background: #a5d66b; box-shadow: 0 0 22px rgba(186,255,109,.4); }
body:not(.admin-page) form label { color: #d1dbd0; }
body:not(.admin-page) form label span, body:not(.admin-page) form label small { color: #99aa9c; }
body:not(.admin-page) form input, body:not(.admin-page) form select, body:not(.admin-page) form textarea,
body:not(.admin-page) #maintenance-form select, body:not(.admin-page) .contract-field input {
  border-color: #264534; border-radius: 3px; background: #0b120e; color: #f1f5ef;
}
body:not(.admin-page) form input::placeholder, body:not(.admin-page) form textarea::placeholder { color: #829286; }
body:not(.admin-page) form input:focus, body:not(.admin-page) form select:focus, body:not(.admin-page) form textarea:focus { border-color: #76b85b; background: #101a13; box-shadow: 0 0 0 3px rgba(143,199,106,.15); }
body:not(.admin-page) form option { background: #142c20; color: var(--ink); }
body:not(.admin-page) .btn-primary { min-height: 49px; border: 1px solid #a5d66b; border-radius: 3px; background: #a5d66b; color: #10271b; }
body:not(.admin-page) .btn-primary:hover, body:not(.admin-page) .btn-primary:focus-visible { border-color: #c4e79c; background: #c4e79c; box-shadow: 0 9px 28px rgba(151,224,102,.18); }
body:not(.admin-page) .btn-text { color: #d7e2d6; border-color: rgba(215,226,214,.45); }
body:not(.admin-page) .btn-text:hover { color: #a5d66b; border-color: #a5d66b; }
body:not(.admin-page) .btn-secondary { border-color: #435848; border-radius: 3px; background: #15231a; color: var(--ink); }
body:not(.admin-page) .btn-secondary:hover { border-color: #9cc777; background: #1c2d20; }
body:not(.admin-page) .field-grid { gap: 15px; }
body:not(.admin-page) .err { color: #ffad8e; }
body:not(.admin-page) .alt, body:not(.admin-page) .form-note { color: var(--muted); }
body:not(.admin-page) .alt a, body:not(.admin-page) .form-note a { color: #a5d66b; }
body:not(.admin-page) .privacy-consent { color: #aab8ac; }
body:not(.admin-page) .privacy-consent input, body:not(.admin-page) .checkout-accept input { accent-color: #a5d66b; }
body:not(.admin-page) .demo { padding: 27px clamp(20px,3.2vw,38px) 32px; }
body:not(.admin-page) .booking-topline, body:not(.admin-page) .stp { border-color: #23402f; color: #9bad9c; }
body:not(.admin-page) .stp li.on { color: #a5d66b; font-weight: 700; }
body:not(.admin-page) .stp li { color: #809082; }
body:not(.admin-page) .panel-question { color: var(--ink); }
body:not(.admin-page) .choice-grid button { border-color: #264534; border-radius: 3px; background: #142c20; color: #f1f5ef; }
body:not(.admin-page) .choice-grid button:hover, body:not(.admin-page) .choice-grid button:focus-visible,
body:not(.admin-page) .choice-grid button[aria-pressed='true'], body:not(.admin-page) .choice-grid button[aria-selected='true'] { border-color: #76b85b; background: #1a2a1d; }
body:not(.admin-page) .done-symbol { border-color: #76b85b; color: #a5d66b; background: #17261a; }
body:not(.admin-page) .done, body:not(.admin-page) .booking-copy > p:last-child { color: var(--muted); }
body:not(.admin-page) .back { border-color: #556c59; color: #b9c7b9; }
body:not(.admin-page) .account-heading, body:not(.admin-page) .account-data, body:not(.admin-page) .account-data > div { border-color: #23402f; }
body:not(.admin-page) .account-card { padding: 25px; border: 1px solid #23402f; border-radius: 4px; background: linear-gradient(150deg,#121e16,#0e1712); }
body:not(.admin-page) .account-data dt, body:not(.admin-page) .account-subtitle { color: var(--muted); }

/* Planes dinámicos, módulos y tablas de comparación. */
body:not(.admin-page) .plans-hero { padding-bottom: 42px; }
body:not(.admin-page) .plans-reassurance { color: #9faf9f; }
body:not(.admin-page) .plans-section { padding-bottom: 92px; }
body:not(.admin-page) .plans-grid { gap: 17px; }
body:not(.admin-page) .plan-card { position: relative; padding: 28px 25px 24px; border-color: #2e4134; border-radius: 4px; background: linear-gradient(145deg,rgba(24,40,29,.92),rgba(13,21,16,.96)); box-shadow: 0 16px 45px rgba(0,0,0,.15); transition: transform .24s var(--ease),border-color .24s ease,box-shadow .24s ease; }
body:not(.admin-page) .plan-card::before { content: ""; position: absolute; top: -1px; left: 24px; width: 50px; height: 2px; background: #557759; transition: width .24s ease,background .24s ease; }
body:not(.admin-page) .plan-card:hover { transform: translateY(-4px); border-color: #59745b; box-shadow: 0 24px 56px rgba(0,0,0,.26); }
body:not(.admin-page) .plan-card:hover::before, body:not(.admin-page) .plan-card-featured::before { width: 92px; background: #a5d66b; box-shadow: 0 0 18px rgba(186,255,109,.32); }
body:not(.admin-page) .plan-card-featured { border-color: #719261; background: radial-gradient(ellipse at 100% 0%,rgba(186,255,109,.1),transparent 42%),linear-gradient(145deg,#1b2d20,#111a14); }
body:not(.admin-page) .plan-ribbon { border-radius: 0 0 3px 3px; background: #a5d66b; color: #172118; }
body:not(.admin-page) .plan-card-top h2 { color: var(--ink); font-size: clamp(1.5rem,2.2vw,1.9rem); }
body:not(.admin-page) .plan-intro, body:not(.admin-page) .plan-maintenance, body:not(.admin-page) .plan-hosting { color: var(--muted); }
body:not(.admin-page) .plan-amount { color: #f3f7ee; font-size: clamp(2.2rem,3.2vw,2.85rem); }
body:not(.admin-page) .plan-price { margin-top: 23px; padding-top: 19px; border-top: 1px solid #2f4235; }
body:not(.admin-page) .plan-once { color: #92a193; }
body:not(.admin-page) .plan-maintenance strong { color: #e8f0e5; }
body:not(.admin-page) .plan-cta { margin-top: 7px; }
body:not(.admin-page) .plan-highlights { color: #c5d1c4; }
body:not(.admin-page) .plan-highlights li::marker, body:not(.admin-page) .plan-details li::marker, body:not(.admin-page) .maintenance-card li::marker { color: #a5d66b; }
body:not(.admin-page) .plan-hosting, body:not(.admin-page) .plan-details, body:not(.admin-page) .faq-list, body:not(.admin-page) .faq-list details { border-color: #23402f; }
body:not(.admin-page) .plan-details summary, body:not(.admin-page) .faq-list summary { color: var(--ink); }
body:not(.admin-page) .plan-details summary::after, body:not(.admin-page) .faq-list summary::after { color: #a5d66b; }
body:not(.admin-page) .plan-details ul, body:not(.admin-page) .maintenance-card ul, body:not(.admin-page) .plan-detail-summary, body:not(.admin-page) .plan-delivery { color: var(--muted); }
body:not(.admin-page) .plans-smallprint, body:not(.admin-page) .maintenance-note, body:not(.admin-page) .extras-footnote { color: #9aaa9c; }
body:not(.admin-page) .plans-load-error { border-color: #264534; border-radius: 4px; background: #142c20; }
body:not(.admin-page) .maintenance-section { border-color: #2b3e31; background: radial-gradient(ellipse at 83% 10%,rgba(116,194,97,.08),transparent 38%),#0d1611; }
body:not(.admin-page) .maintenance-card { border-color: #334638; border-radius: 4px; background: #142c20; }
body:not(.admin-page) .maintenance-card-featured { border-color: #607d50; background: linear-gradient(145deg,#18271b,#142c20); }
body:not(.admin-page) .maintenance-card h3 { color: #f0f5ed; }
body:not(.admin-page) .maintenance-card h3 small { color: #a5b3a5; }
body:not(.admin-page) .maintenance-card p:not(.eyebrow) { color: var(--muted); }
body:not(.admin-page) .payment-info-note { border-color: #9bc873; background: linear-gradient(120deg,rgba(155,200,115,.12),rgba(155,200,115,.035)); }
body:not(.admin-page) .payment-info-note strong { color: #dff0d2; }
body:not(.admin-page) .payment-info-note span { color: #abb9ac; }
body:not(.admin-page) .plan-comparison { border-color: #23402f; }
body:not(.admin-page) .comparison-scroll { border-color: #2f4335; border-radius: 3px; background: #10271b; }
body:not(.admin-page) .plan-comparison thead th { background: #1a2a1e; color: #eaf3e8; }
body:not(.admin-page) .plan-comparison th, body:not(.admin-page) .plan-comparison td { border-color: #2b3d31; }
body:not(.admin-page) .plan-comparison tbody tr:nth-child(even) { background: rgba(255,255,255,.018); }
body:not(.admin-page) .why-verdea { border-color: #23402f; }
body:not(.admin-page) .why-grid article { border-color: #23402f; border-radius: 3px; background: linear-gradient(145deg,#111c15,#0e1712); }
body:not(.admin-page) .why-grid h3 { color: #eaf2e8; }
body:not(.admin-page) .why-grid p { color: var(--muted); }
body:not(.admin-page) .extras-section { border-color: #23402f; }
body:not(.admin-page) .extra-card { border-color: #264534; border-radius: 3px; background: #142c20; }
body:not(.admin-page) .extra-card h3 { color: #edf4eb; }
body:not(.admin-page) .extra-card p { color: var(--muted); }
body:not(.admin-page) .faq-list details p { color: var(--muted); }

/* Acceso, cuenta y checkout. */
body:not(.admin-page) .auth-page { background: radial-gradient(ellipse at 15% 35%,rgba(53,112,64,.11),transparent 32%),#07130d; }
body:not(.admin-page) .auth-nav { border-color: #293b2e; }
body:not(.admin-page) .auth-visual { position: relative; isolation: isolate; overflow: hidden; min-height: 320px; padding: clamp(30px,5vw,58px); border: 1px solid #3a6144; border-radius: 4px; background: radial-gradient(circle at 90% 8%,rgba(186,255,109,.2),transparent 32%),linear-gradient(145deg,#133621,#0e2116 72%); color: #f6f8f2; }
body:not(.admin-page) .auth-visual::after { content: ""; position: absolute; z-index: -1; right: -100px; bottom: -200px; width: 390px; aspect-ratio: 1; border: 1px solid rgba(186,255,109,.28); border-radius: 50%; box-shadow: 0 0 0 35px rgba(186,255,109,.035),0 0 0 70px rgba(186,255,109,.025); }
body:not(.admin-page) .auth-visual .eyebrow { color: #a5d66b; }
body:not(.admin-page) .auth-visual h1 { position: relative; z-index: 1; color: #f6f8f2; }
body:not(.admin-page) .auth-visual > p:last-child { position: relative; z-index: 1; color: #b9c7b9; }
body:not(.admin-page) .auth-panel h2 { color: #eff4ec; }
body:not(.admin-page) .checkout-panel { padding: clamp(23px,3.5vw,36px); }
body:not(.admin-page) .checkout-panel h2 { color: #f1f5ef; }
body:not(.admin-page) .checkout-amount, body:not(.admin-page) .checkout-auth, body:not(.admin-page) .checkout-terms { border-color: #2f4235; }
body:not(.admin-page) .checkout-amount strong, body:not(.admin-page) .checkout-monthly strong { color: #f1f5ef; }
body:not(.admin-page) .checkout-muted, body:not(.admin-page) .checkout-monthly, body:not(.admin-page) .checkout-message, body:not(.admin-page) .checkout-terms { color: var(--muted); }
body:not(.admin-page) .checkout-extra-copy small { color: var(--muted); }
body:not(.admin-page) .checkout-terms a { color: #b8e083; }

/* Textos legales y consentimiento. */
body:not(.admin-page) .legal-page section { border-color: #293b2e; }
body:not(.admin-page) .legal-page section p, body:not(.admin-page) .legal-lead, body:not(.admin-page) .legal-updated { color: var(--muted); }
body:not(.admin-page) .legal-page strong { color: #e6eee3; }
body:not(.admin-page) .legal-page a { color: #a5d66b; }
body:not(.admin-page) .legal-notice { border-color: rgba(211,195,121,.45); border-radius: 3px; background: rgba(211,195,121,.09); color: #f0e7c6; }
body:not(.admin-page) .cookie-notice { border-color: #405246; border-radius: 5px; background: #142c20; box-shadow: 0 20px 65px rgba(0,0,0,.5); }
body:not(.admin-page) .cookie-notice p { color: #bfccbf; }
body:not(.admin-page) .cookie-notice a { color: #d5f2c1; }
body:not(.admin-page) .cookie-notice button { border-color: #a5d66b; border-radius: 3px; background: #a5d66b; color: #10271b; }
body:not(.admin-page) .cookie-notice .cookie-secondary { border-color: #435748; background: transparent; color: #dfe8dc; }
body:not(.admin-page) .site-foot { border-color: #21392b; background: #090f0b; color: #dfe8dd; }
body:not(.admin-page) .footer-brand p { color: #9faf9f; }
body:not(.admin-page) .footer-link { color: #bdcbbd; }
body:not(.admin-page) .footer-link:hover { color: #a5d66b; }
body:not(.admin-page) .footer-bottom { border-color: #21392b; color: #849487; }

/* Panel interno: misma familia de verdes, con contraste y densidad de trabajo. */
.admin-page {
  --admin-bg: #07130d;
  --admin-card: #142c20;
  --admin-card-2: #19271d;
  --admin-border: #23402f;
  --ink: #f1f5ef;
  --muted: #a6b4a7;
  --muted-strong: #cbd6ca;
  --forest: #a5d66b;
  --forest-2: #d2ff9a;
  --line: #23402f;
  min-height: 100svh;
  background: var(--admin-bg);
  color: var(--ink);
}
.admin-page :focus-visible { outline: 3px solid #a5d66b; outline-offset: 3px; }
.admin-page .admin-nav { min-height: 82px; border-color: var(--admin-border); }
.admin-page .admin-brand span { padding: 5px 9px; border-color: #567152; border-radius: 999px; color: #d3e8bd; }
.admin-page .admin-site-link, .admin-page .admin-logout { color: #c8d4c8; }
.admin-page .admin-site-link:hover, .admin-page .admin-logout:hover { color: #b8e083; }
.admin-page .admin-eyebrow { color: #a5d66b; }
.admin-page .admin-welcome { padding-top: 22px; padding-bottom: 30px; }
.admin-page .admin-refresh { min-height: 40px; padding-inline: 15px; border-color: #455c49; border-radius: 3px; background: #17251b; }
.admin-page .admin-refresh:hover { border-color: #87a36e; background: #203126; }
.admin-page .admin-overview { gap: 13px; }
.admin-page .admin-stat { min-height: 120px; padding: 18px 19px; border-color: var(--admin-border); border-radius: 4px; background: linear-gradient(145deg,rgba(186,255,109,.07),rgba(255,255,255,.012)); }
.admin-page .admin-stat-label { color: #b4c1b4; }
.admin-page .admin-stat-value { color: #f2f6ef; }
.admin-page .admin-stat-note { color: #93a295; }
.admin-page .admin-workspace { border-color: var(--admin-border); border-radius: 5px; background: #142c20; box-shadow: 0 25px 75px rgba(0,0,0,.2); }
.admin-page .admin-sidebar { border-color: var(--admin-border); background: #0d1711; }
.admin-page .admin-tab { min-height: 42px; border-radius: 3px; color: #becbbe; }
.admin-page .admin-tab:hover { background: rgba(186,255,109,.07); color: #f1f5ef; }
.admin-page .admin-tab[aria-selected="true"] { border-color: #4e6948; background: rgba(186,255,109,.13); color: #e6f3d8; }
.admin-page .admin-tab-icon { color: #a5d66b; }
.admin-page .admin-tab-count { background: #26392a; color: #d8edc5; }
.admin-page .admin-content-head { border-color: var(--admin-border); }
.admin-page .admin-content-head p:last-child { color: #a3b0a6; }
.admin-page .admin-search-wrap { border-color: #264534; border-radius: 3px; background: #0b130e; }
.admin-page .admin-search-wrap input { color: #f1f5ef; }
.admin-page .admin-search-wrap:focus-within { border-color: #91c875; box-shadow: 0 0 0 3px rgba(186,255,109,.12); }
.admin-page .admin-form-wrap { border-color: #264534; border-radius: 3px; background: #0d1711; }
.admin-page .admin-form input, .admin-page .admin-form select { border-color: #394e3e; border-radius: 3px; background: #111c15; color: #f1f5ef; }
.admin-page .admin-form input:focus, .admin-page .admin-form select:focus { border-color: #a0ce7d; box-shadow: 0 0 0 3px rgba(186,255,109,.11); }
.admin-page .admin-form button { border-color: #a5d66b; border-radius: 3px; background: #a5d66b; color: #10271b; }
.admin-page .admin-table-wrap { border-color: #264534; border-radius: 3px; }
.admin-page .admin-table th { background: #1c2c20; color: #d3dfcf; }
.admin-page .admin-table td { border-color: #2a3c30; color: #dbe5d9; }
.admin-page .admin-table tr:hover td { background: rgba(186,255,109,.035); }
.admin-page .admin-action { border-color: #435846; border-radius: 2px; background: #1a291e; color: #e4ede1; }
.admin-page .admin-action:hover { border-color: #9abd7d; background: #233528; }
.admin-page .admin-action-danger { border-color: #744b40; color: #f0b7a7; }
.admin-page .admin-pill { border-color: #506b4d; background: #26392a; color: #d7e9c5; }
.admin-page .admin-pill-warning { border-color: #786644; background: #342d1e; color: #ead59f; }
.admin-page .admin-pill-danger { border-color: #754a40; background: #36231f; color: #f0b5a8; }
.admin-page .admin-pill-muted { border-color: #455348; background: #222c24; color: #c3cdc1; }
.admin-page .admin-overview-card { border-color: #264534; border-radius: 3px; background: #131e17; }
.admin-page .admin-overview-item { border-color: #2b3d31; }
.admin-page .admin-overview-item strong, .admin-page .admin-sales-meta strong { color: #e3ece0; }
.admin-page .admin-sales-track { background: #2b3c30; }
.admin-page .admin-sales-bar { background: #a5d66b; }
.admin-page .admin-payout-note { border-radius: 0 3px 3px 0; background: #252619; color: #ded7b9; }
.admin-page .admin-quick-link { border-color: #264534; border-radius: 3px; background: #17251b; color: #ccd8cb; }
.admin-page .admin-quick-link:hover { border-color: #829c6c; background: #223127; color: #f1f5ef; }
.admin-page .admin-footnote { color: #97a697; }

@media (max-width: 980px) {
  body.home-page .hero { gap: 34px; }
  body:not(.admin-page) .home-trust { padding-inline: 32px; }
}
@media (max-width: 740px) {
  body.home-page .hero { width: 100%; min-height: 0; padding: 66px 18px 70px; grid-template-columns: 1fr; gap: 33px; }
  body.home-page .hero h1 { max-width: 10ch; font-size: clamp(3.1rem,11.7vw,5rem); }
  body.home-page .hero-visual { width: min(100%,560px); justify-self: center; padding: 4px 8px 25px 2px; }
  body.home-page .preview-mobile { right: -2px; bottom: 45px; width: clamp(96px,25vw,132px); }
  body:not(.admin-page) .home-services { padding-top: 72px; padding-bottom: 76px; }
  body:not(.admin-page) .home-trust { width: 100%; padding: 67px 18px 72px; }
  body:not(.admin-page) .home-process { padding: 71px 0 77px; }
  body:not(.admin-page) .home-reviews { padding: 71px 0 76px; }
  body:not(.admin-page) .home-cta { width: calc(100% - 36px); margin: 36px auto 60px; padding: 29px 23px; }
  body:not(.admin-page) .page-hero { padding-top: 68px; padding-bottom: 42px; }
  body:not(.admin-page) .page-hero::after { right: 2%; width: 100px; }
  body:not(.admin-page) .service-item { grid-template-columns: 35px minmax(0,1fr); grid-template-areas:"no title" ". copy" "art art"; gap: 10px 14px; padding: 25px 0; }
  body:not(.admin-page) .service-item::after { min-height: 118px; margin-top: 9px; }
  body:not(.admin-page) .process-item { grid-template-columns: 40px minmax(0,1fr); gap: 15px; padding-block: 25px; }
  body:not(.admin-page) .contact-band { padding: 26px 20px; }
  body:not(.admin-page) .contact-stage { padding-bottom: 75px; }
  body:not(.admin-page) .contact-form { padding: 23px 19px; }
  body:not(.admin-page) .plans-grid { gap: 13px; }
  body:not(.admin-page) .plan-card { padding: 25px 20px 21px; }
  body:not(.admin-page) .auth-visual { min-height: 0; padding: 29px 23px; }
  body:not(.admin-page) .account-card { padding: 20px; }
  .admin-page .admin-nav, .admin-page .admin-shell { width: calc(100% - 36px); }
  .admin-page .admin-content { padding: 21px 15px; }
}
@media (max-width: 480px) {
  body.home-page .hero { padding-top: 56px; padding-bottom: 56px; }
  body.home-page .hero h1 { font-size: clamp(2.8rem,12.2vw,4rem); }
  body.home-page .preview-frame { transform: none; }
  body.home-page .preview-mobile { right: -4px; bottom: 42px; width: 94px; }
  body.home-page .preview-caption { padding-right: 5px; }
  body:not(.admin-page) .section-heading { gap: 15px; margin-bottom: 28px; }
  body:not(.admin-page) .page-hero { padding-top: 57px; }
  body:not(.admin-page) .page-hero::after { top: 24px; right: 4%; width: 84px; }
  body:not(.admin-page) .home-trust { padding-inline: 18px; }
  body:not(.admin-page) .contact-band { align-items: stretch; }
  body:not(.admin-page) .contact-band .btn-primary { width: 100%; }
  body:not(.admin-page) .comparison-scroll { margin-inline: -2px; }
  .admin-page .admin-nav, .admin-page .admin-shell { width: calc(100% - 28px); }
  .admin-page .admin-stat { border-radius: 3px; }
  .admin-page .admin-content { padding-inline: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  body:not(.admin-page), body:not(.admin-page) *, body:not(.admin-page) *::before, body:not(.admin-page) *::after,
  .admin-page, .admin-page *, .admin-page *::before, .admin-page *::after {
    scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important;
  }
}

/* Ajustes finales: navegación centrada y caption legible sin cruzarse con el mockup. */
body.home-page .preview-caption {
  max-width: 44ch;
  margin: 18px 154px 0 8px;
  padding-left: 14px;
  border-left: 2px solid #76b85b;
  color: #c0cec2;
  font-size: .82rem;
  line-height: 1.65;
  text-align: left;
}
body:not(.admin-page) .menu-links { flex: 1 1 auto; justify-content: center; gap: clamp(12px,1.45vw,20px); }
body:not(.admin-page) .menu .lnk { padding-inline: 4px; }
@media (min-width: 1101px) {
  body:not(.admin-page) .nav-actions { flex: 0 0 auto; }
  body:not(.admin-page) .nav-login { margin-right: clamp(18px,2vw,30px); }
}
@media (max-width: 1100px) {
  body:not(.admin-page) .nav-inner { grid-template-columns: 144px minmax(0,1fr) 42px; gap: 18px; }
  body:not(.admin-page) .menu {
    position: absolute; top: calc(100% + 1px); left: 32px; right: 32px; z-index: 60;
    display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 13px;
    max-height: calc(100vh - 96px); overflow-y: auto; overscroll-behavior: contain;
    border: 1px solid var(--line); border-radius: 12px; background: #10271b;
    box-shadow: 0 24px 70px rgba(0,0,0,.48); opacity: 0; visibility: hidden;
    transform: translateY(-6px); transition: opacity .2s ease,transform .2s ease,visibility .2s ease;
  }
  body:not(.admin-page) .menu.open { opacity: 1; visibility: visible; transform: none; }
  body:not(.admin-page) .burger { display: block; grid-column: 3; grid-row: 1; }
  body:not(.admin-page) .menu-links { width: 100%; flex: 0 0 auto; flex-direction: column; align-items: stretch; gap: 0; }
  body:not(.admin-page) .menu .lnk { min-height: 47px; padding: 10px 7px; border-bottom: 1px solid rgba(203,229,197,.11); }
  body:not(.admin-page) .nav-actions { justify-content: space-between; padding: 14px 7px 5px; }
  body:not(.admin-page) .nav-actions .nav-book { order: 1; }
  body:not(.admin-page) .nav-actions .account,
  body:not(.admin-page) .nav-actions .nav-login { order: 2; }
}
@media (max-width: 740px) {
  body:not(.admin-page) .nav-inner { grid-template-columns: minmax(0,1fr) 42px; gap: 12px; }
  body:not(.admin-page) .burger { grid-column: 2; }
  body:not(.admin-page) .menu { left: 18px; right: 18px; }
  body.home-page .preview-caption { max-width: none; margin: 17px 0 0 5px; padding: 0 112px 0 12px; font-size: .78rem; }
}
@media (max-width: 480px) {
  body.home-page .preview-caption { margin-top: 15px; padding-right: 105px; font-size: .75rem; }
}
