/* Home oscura (prueba). Se carga solo con la home oscura activa. */
.oletuweb-dark .oletuweb-landing{
  --d-bg:#050d08;--d-panel:#0b1710;--d-panel-2:#0f2016;--d-line:rgba(255,255,255,.1);
  --d-text:#e8f0ea;--d-muted:#a3b6a8;
  background:var(--d-bg);color:var(--d-text);
}
.oletuweb-dark{background:#050d08;scrollbar-color:#2c4d36 #050d08}
.oletuweb-dark ::selection{background:var(--green-500);color:#fff}
.oletuweb-dark .oletuweb-landing h1,.oletuweb-dark .oletuweb-landing h2,.oletuweb-dark .oletuweb-landing h3,.oletuweb-dark .oletuweb-landing h4{color:var(--d-text)}
.oletuweb-dark .oletuweb-landing :focus-visible{outline-color:var(--gold-400)}
/* sin etiquetas sobre los titulares ni numeración decorativa */
.oletuweb-dark .oletuweb-landing .eyebrow{display:none}
.oletuweb-dark .oletuweb-landing .svc-card .num{display:none}

/* ---- marca ---- */
.oletuweb-dark .oletuweb-landing .brand{gap:11px;color:#fff;font-size:1.2rem}
.oletuweb-dark .oletuweb-landing .brandmark{width:38px;height:38px;flex:none}
.oletuweb-dark .oletuweb-landing .brandword{white-space:nowrap;font-family:var(--ff-head);font-weight:800;letter-spacing:-.02em;line-height:1}
.oletuweb-dark .oletuweb-landing .brandword b{color:var(--green-400);font-weight:800}
.oletuweb-dark .oletuweb-landing .nav.scrolled .brand{color:#fff}

/* ---- barra superior ---- */
.oletuweb-dark .oletuweb-landing .nav.scrolled .nav-inner{background:rgba(5,13,8,.84);backdrop-filter:blur(14px) saturate(140%);border:1px solid var(--d-line);box-shadow:0 14px 34px -18px rgba(0,0,0,.9)}
.oletuweb-dark .oletuweb-landing .nav.scrolled .nav-links a{color:rgba(255,255,255,.78)}
.oletuweb-dark .oletuweb-landing .nav.scrolled .burger{background:rgba(255,255,255,.1)}
.oletuweb-dark .oletuweb-landing .nav.scrolled .burger span,.oletuweb-dark .oletuweb-landing .nav.scrolled .burger::before,.oletuweb-dark .oletuweb-landing .nav.scrolled .burger::after{background:#fff}
.oletuweb-dark .oletuweb-landing .btn-primary{background:var(--green-500);box-shadow:0 14px 30px -14px rgba(77,184,90,.6)}
.oletuweb-dark .oletuweb-landing .btn-primary:hover{background:var(--green-400)}

/* ---- cabecera: mapa de la costa ---- */
.oletuweb-dark .oletuweb-landing .hero{
  min-height:100vh;padding:132px 0 76px;color:var(--d-text);
  background:
    radial-gradient(52% 62% at 76% 46%,rgba(47,150,69,.17),transparent 72%),
    var(--d-bg);
}
.oletuweb-dark .oletuweb-landing .hero-inner{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:clamp(32px,5vw,76px);align-items:center}
.oletuweb-dark .oletuweb-landing .hero-copy h1{font-size:clamp(2.7rem,6vw,5.3rem);line-height:1.02;letter-spacing:-.035em;font-weight:800;margin:0 0 26px;text-wrap:balance;color:#fff}
.oletuweb-dark .oletuweb-landing .hero-copy h1 .accent{color:var(--green-400)}
.oletuweb-dark .oletuweb-landing .hero-copy p{font-size:1.14rem;color:var(--d-muted);max-width:30em;margin-bottom:36px}
.oletuweb-dark .oletuweb-landing .hero-actions{margin-bottom:0}
.oletuweb-dark .oletuweb-landing .hero-visual{display:block}

.oletuweb-dark .coast{position:relative;aspect-ratio:640/520;width:100%;max-width:640px;margin-inline:auto}
.oletuweb-dark .coast-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.oletuweb-dark .coast-line{fill:none;stroke:var(--green-400);stroke-width:2.6;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:oletuweb-coast 2.6s .25s var(--ease) forwards}
.oletuweb-dark .coast-glow{fill:none;stroke:var(--green-400);stroke-width:7;opacity:.45;stroke-dasharray:1;stroke-dashoffset:1;animation:oletuweb-coast 2.6s .25s var(--ease) forwards}
.oletuweb-dark .sea-line{fill:none;stroke:var(--green-300);stroke-width:1.2}
.oletuweb-dark .sea-line.l1{opacity:.28}
.oletuweb-dark .sea-line.l2{opacity:.16}
.oletuweb-dark .sea-line.l3{opacity:.08}
@keyframes oletuweb-coast{to{stroke-dashoffset:0}}
.no-js .oletuweb-dark .coast-line,.no-js .oletuweb-dark .coast-glow{stroke-dashoffset:0;animation:none}

.oletuweb-dark .oletuweb-landing .coast-pin{
  position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);
  width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;color:#fff;
  opacity:0;animation:oletuweb-pin .7s calc(1.1s + var(--i) * .22s) var(--ease) forwards;
}
@keyframes oletuweb-pin{from{opacity:0;transform:translate(-50%,-50%) scale(.6)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.no-js .oletuweb-dark .coast-pin{opacity:1;animation:none}
.oletuweb-dark .coast-pin .dot{position:relative;width:13px;height:13px;border-radius:50%;background:var(--green-400);box-shadow:0 0 0 4px rgba(77,184,90,.22);transition:background .3s,box-shadow .3s,transform .3s var(--ease)}
.oletuweb-dark .coast-pin .name{position:absolute;white-space:nowrap;font-family:var(--ff-head);font-weight:700;font-size:.9rem;color:rgba(255,255,255,.72);transition:color .3s}
.oletuweb-dark .coast-pin.side-sea .name{left:calc(50% + 15px);top:50%;transform:translateY(-50%)}
.oletuweb-dark .coast-pin.side-land .name{right:calc(50% + 15px);top:50%;transform:translateY(-50%)}
.oletuweb-dark .coast-pin.side-below .name{bottom:calc(50% + 15px);left:50%;transform:translateX(-50%)}
.oletuweb-dark .coast-pin:hover .name,.oletuweb-dark .coast-pin.is-active .name{color:#fff}
.oletuweb-dark .coast-pin.is-active .dot{background:var(--gold-400);box-shadow:0 0 0 5px rgba(245,203,92,.26);transform:scale(1.25)}
.oletuweb-dark .coast-pin.is-active .dot::after{content:'';position:absolute;inset:-9px;border-radius:50%;border:1.5px solid var(--gold-400);animation:oletuweb-ring 2.2s ease-out infinite}
@keyframes oletuweb-ring{0%{transform:scale(.55);opacity:.9}100%{transform:scale(1.9);opacity:0}}

.oletuweb-dark .coast-panel{margin-top:12px;max-width:640px;margin-inline:auto;padding:22px 26px 18px;border:1px solid var(--d-line);border-radius:20px;background:rgba(11,23,16,.78)}
.oletuweb-dark .coast-title{margin:0 0 10px;font-family:var(--ff-head);font-weight:700;font-size:1.15rem;color:var(--d-text)}
.oletuweb-dark .coast-title b{color:var(--green-300)}
.oletuweb-dark .coast-town[hidden]{display:none}
.oletuweb-dark .coast-links{display:grid;grid-template-columns:1fr 1fr;column-gap:26px}
.oletuweb-dark .oletuweb-landing .coast-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--d-line);font-size:.9rem;color:var(--d-text);transition:color .25s}
.oletuweb-dark .coast-links i{font-style:normal;color:var(--green-400);transition:transform .3s var(--ease)}
.oletuweb-dark .oletuweb-landing .coast-links a:hover{color:var(--green-300)}
.oletuweb-dark .coast-links a:hover i{transform:translateX(4px)}

/* ---- secciones ---- */
.oletuweb-dark .oletuweb-landing .section-head h2{font-size:clamp(2rem,4.2vw,3.2rem);letter-spacing:-.03em;margin-top:0;text-wrap:balance}
.oletuweb-dark .oletuweb-landing .section-head p{color:var(--d-muted)}
.oletuweb-dark .oletuweb-landing .services,.oletuweb-dark .oletuweb-landing .process,.oletuweb-dark .oletuweb-landing .faq,.oletuweb-dark .oletuweb-landing .contact{background:var(--d-bg)}
.oletuweb-dark .oletuweb-landing .services{border-top:1px solid var(--d-line)}
.oletuweb-dark .oletuweb-landing .svc-card{background:var(--d-panel);border-color:var(--d-line);box-shadow:none}
.oletuweb-dark .oletuweb-landing .svc-card:hover{border-color:rgba(77,184,90,.6);box-shadow:0 26px 50px -26px rgba(0,0,0,.9);background:var(--d-panel-2)}
.oletuweb-dark .oletuweb-landing .svc-icon{background:rgba(77,184,90,.12);border:1px solid rgba(77,184,90,.38);box-shadow:none}
.oletuweb-dark .oletuweb-landing .svc-icon svg{color:var(--green-300)}
.oletuweb-dark .oletuweb-landing .svc-card p{color:var(--d-muted)}
.oletuweb-dark .oletuweb-landing .svc-more,.oletuweb-dark .oletuweb-landing a.svc-card:hover .svc-more{color:var(--green-300)}

.oletuweb-dark .oletuweb-landing .benefits{background:#08130c;border-block:1px solid var(--d-line)}
.oletuweb-dark .oletuweb-landing .benefits::before{opacity:.7}
.oletuweb-dark .oletuweb-landing .stat-card{background:var(--d-panel);backdrop-filter:none}

.oletuweb-dark .oletuweb-landing .proc-track::before{background:repeating-linear-gradient(to bottom,rgba(77,184,90,.5) 0 8px,transparent 8px 16px)}
.oletuweb-dark .oletuweb-landing .proc-num{background:var(--d-panel);border-color:var(--green-400);color:var(--green-300)}
.oletuweb-dark .oletuweb-landing .proc-step:hover .proc-num{background:var(--green-500);color:#fff}
.oletuweb-dark .oletuweb-landing .proc-body{background:var(--d-panel);border-color:var(--d-line);box-shadow:none}
.oletuweb-dark .oletuweb-landing .proc-body p{color:var(--d-muted)}
.oletuweb-dark .oletuweb-landing .proc-tag{background:rgba(77,184,90,.14);color:var(--green-300)}

.oletuweb-dark .oletuweb-landing .testimonials{background:var(--d-bg);border-top:1px solid var(--d-line)}
.oletuweb-dark .oletuweb-landing .tst-slide{background:var(--d-panel)}

.oletuweb-dark .oletuweb-landing .faq-item{background:var(--d-panel);border-color:var(--d-line)}
.oletuweb-dark .oletuweb-landing .faq-item.open{border-color:rgba(77,184,90,.6);box-shadow:none}
.oletuweb-dark .oletuweb-landing .faq-q{color:var(--d-text)}
.oletuweb-dark .oletuweb-landing .faq-q .plus{background:rgba(255,255,255,.1)}
.oletuweb-dark .oletuweb-landing .faq-q .plus::before,.oletuweb-dark .oletuweb-landing .faq-q .plus::after{background:#fff}
.oletuweb-dark .oletuweb-landing .faq-a p{color:var(--d-muted)}

.oletuweb-dark .oletuweb-landing .cta-banner{background:linear-gradient(135deg,#0f4420,#08210f)}
.oletuweb-dark .oletuweb-landing .btn-dark{background:#050d08;border:1px solid rgba(255,255,255,.14)}

.oletuweb-dark .oletuweb-landing .contact-info{background:var(--d-panel);border:1px solid var(--d-line)}
.oletuweb-dark .oletuweb-landing .contact-form-wrap{background:#f4f3ec;border:0;box-shadow:0 30px 60px -30px rgba(0,0,0,.9)}
.oletuweb-dark .oletuweb-landing .contact-form-wrap input,.oletuweb-dark .oletuweb-landing .contact-form-wrap select,.oletuweb-dark .oletuweb-landing .contact-form-wrap textarea{color:#0e1a12 !important}

.oletuweb-dark .oletuweb-landing footer.oletuweb-footer{background:#030805;border-top:1px solid var(--d-line)}
.oletuweb-dark .oletuweb-back-top{background:var(--d-panel-2);border-color:var(--d-line);color:#fff}

/* ---- adaptación ---- */
@media (max-width:1024px){
  .oletuweb-dark .oletuweb-landing .hero{padding:118px 0 64px;min-height:0}
  .oletuweb-dark .oletuweb-landing .hero-inner{grid-template-columns:1fr;text-align:left}
  .oletuweb-dark .oletuweb-landing .hero-copy p{margin-inline:0}
  .oletuweb-dark .oletuweb-landing .hero-actions{justify-content:flex-start}
  .oletuweb-dark .oletuweb-landing .hero-visual{margin-top:18px}
}
@media (max-width:560px){
  .oletuweb-dark .oletuweb-landing .hero-copy h1{font-size:clamp(2.4rem,11vw,3.2rem)}
  .oletuweb-dark .oletuweb-landing .coast-pin .name{font-size:.8rem}
  .oletuweb-dark .oletuweb-landing .coast-links{grid-template-columns:1fr}
  .oletuweb-dark .oletuweb-landing .coast-panel{padding:18px 18px 12px}
  .oletuweb-dark .oletuweb-landing .hero-actions .btn{width:100%}
}
/* ---- ajustes tras la primera revisión ---- */
.oletuweb-dark .sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.oletuweb-dark .oletuweb-landing .nav-links{gap:18px;margin-inline:22px 14px}
.oletuweb-dark .oletuweb-landing .nav-links a{font-size:.88rem}
.oletuweb-dark .oletuweb-landing .nav-links a{white-space:nowrap}
.oletuweb-dark .oletuweb-landing .nav-cta .btn{white-space:nowrap}

/* ---- páginas de servicio oscuras ---- */
.oletuweb-dark .oletuweb-landing a.coast-pin{text-decoration:none}
.oletuweb-dark .oletuweb-landing a.coast-pin:hover .name,.oletuweb-dark .oletuweb-landing a.coast-pin:focus-visible .name{color:#fff}
.oletuweb-dark .oletuweb-landing a.coast-pin:hover .dot{transform:scale(1.2);background:var(--green-300)}
.oletuweb-dark .oletuweb-landing .coast-pin[aria-current]{cursor:default}
.oletuweb-dark .oletuweb-landing .zones{background:var(--d-bg);border-top:1px solid var(--d-line)}
.oletuweb-dark .oletuweb-landing .zone-pill{background:var(--d-panel);border-color:var(--d-line);color:var(--d-text)}
.oletuweb-dark .oletuweb-landing .zone-pill:hover{border-color:rgba(77,184,90,.6);color:var(--green-300);box-shadow:none}
.oletuweb-dark-service .oletuweb-landing .hero-copy h1{font-size:clamp(2.3rem,4.6vw,3.9rem);line-height:1.05}
@media (max-width:560px){.oletuweb-dark-service .oletuweb-landing .hero-copy h1{font-size:clamp(2.1rem,9.5vw,2.8rem)}}
.oletuweb-dark .ai-panel{max-width:520px;margin:0 auto;padding:26px 28px 20px}
.oletuweb-dark .ai-panel .coast-links{grid-template-columns:1fr}

/* ---- barra superior en páginas oscuras que no son la home (anula la barra clara de landing.css) ---- */
body.oletuweb-dark:not(.home) .oletuweb-landing .nav-inner{background:transparent;backdrop-filter:none;box-shadow:none;border:1px solid transparent}
body.oletuweb-dark:not(.home) .oletuweb-landing .nav.scrolled .nav-inner{background:rgba(5,13,8,.84);backdrop-filter:blur(14px) saturate(140%);border:1px solid var(--d-line);box-shadow:0 14px 34px -18px rgba(0,0,0,.9)}
body.oletuweb-dark:not(.home) .oletuweb-landing .brand{color:#fff}
body.oletuweb-dark:not(.home) .oletuweb-landing .nav-links a{color:rgba(255,255,255,.82)}
body.oletuweb-dark:not(.home) .oletuweb-landing .burger{background:rgba(255,255,255,.12)}
body.oletuweb-dark:not(.home) .oletuweb-landing .burger span,body.oletuweb-dark:not(.home) .oletuweb-landing .burger::before,body.oletuweb-dark:not(.home) .oletuweb-landing .burger::after{background:#fff}

/* ---- resto de páginas oscuras (legales, 404, briefing, gracias) ---- */
.oletuweb-dark .hero-blob,.oletuweb-dark .hero-grid-lines{display:none}
.oletuweb-dark .oletuweb-landing .hero-404{min-height:auto;padding:170px 0 90px}
.oletuweb-dark .oletuweb-landing .notfound-links{border-top:0;padding-top:30px}
.oletuweb-dark .oletuweb-landing .legal-header,.oletuweb-dark .oletuweb-landing .legal-content,.oletuweb-dark .oletuweb-landing .briefing-body{background:var(--d-bg)}
.oletuweb-dark .oletuweb-landing .legal-header h1{color:#fff;letter-spacing:-.03em}
.oletuweb-dark .oletuweb-landing .briefing-intro{color:var(--d-muted)}
.oletuweb-dark .oletuweb-landing .legal-page{color:var(--d-text)}
.oletuweb-dark .oletuweb-landing .legal-page h2,.oletuweb-dark .oletuweb-landing .legal-page h3,.oletuweb-dark .oletuweb-landing .legal-page strong{color:#fff}
.oletuweb-dark .oletuweb-landing .legal-page a{color:var(--green-300)}
.oletuweb-dark .oletuweb-landing .legal-page a:hover{color:#fff}
.oletuweb-dark .oletuweb-landing .legal-page hr,.oletuweb-dark .oletuweb-landing .legal-page .wp-block-separator{border-top-color:var(--d-line)}
.oletuweb-dark .oletuweb-landing .legal-page .wp-block-table{margin:0 0 1.4em;overflow-x:auto}
.oletuweb-dark .oletuweb-landing .legal-page table{width:100%;border-collapse:collapse;font-size:.92rem;line-height:1.5}
.oletuweb-dark .oletuweb-landing .legal-page th,.oletuweb-dark .oletuweb-landing .legal-page td{border:1px solid var(--d-line);padding:10px 12px;text-align:left;vertical-align:top}
.oletuweb-dark .oletuweb-landing .legal-page th{background:var(--d-panel);color:#fff}
.oletuweb-dark .oletuweb-landing .legal-page .fluentform{background:#f4f3ec;color:#0e1a12;border-radius:28px;padding:34px;box-shadow:0 30px 60px -30px rgba(0,0,0,.9);margin-top:10px}
.oletuweb-dark .oletuweb-landing .legal-page .fluentform a{color:var(--green-700)}
.oletuweb-dark .confirm-panel{text-align:left}
.oletuweb-dark .confirm-check{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:16px;background:rgba(77,184,90,.14);border:1px solid rgba(77,184,90,.45);color:var(--green-300)}
.oletuweb-dark .confirm-check svg{width:28px;height:28px}
.oletuweb-dark .confirm-list{list-style:none;margin:0;padding:0}
.oletuweb-dark .confirm-list li{padding:9px 0;border-bottom:1px solid var(--d-line);font-size:.95rem;color:var(--d-text)}
.oletuweb-dark .confirm-list li:last-child{border-bottom:0}
@media (max-width:768px){.oletuweb-dark .oletuweb-landing .hero-404{padding:140px 0 70px}.oletuweb-dark .oletuweb-landing .legal-page .fluentform{padding:24px 18px}}

/* ---- panel de consentimiento de Complianz en páginas oscuras ---- */
.oletuweb-dark .cmplz-manage-consent-container .cmplz-category{background:var(--d-panel) !important;border:1px solid var(--d-line);border-radius:14px;margin-bottom:10px;overflow:hidden}
.oletuweb-dark .cmplz-manage-consent-container .cmplz-category .cmplz-category-header{background:var(--d-panel-2) !important}
.oletuweb-dark .cmplz-manage-consent-container .cmplz-description{color:var(--d-muted)}
.oletuweb-dark .cmplz-manage-consent-container .cmplz-icon svg{fill:#fff;color:#fff}
.oletuweb-dark .cmplz-manage-consent-container .cmplz-always-active{color:var(--green-300)}

/* ---- logos reales (cabecera y pie) ---- */
.oletuweb-dark .oletuweb-landing .brand img.brandlogo{width:auto;height:46px;border-radius:0;object-fit:contain;display:block}
.oletuweb-dark .oletuweb-landing .foot-brand .brand img.footlogo{width:min(240px,100%);height:auto;border-radius:0;object-fit:contain;display:block}
.oletuweb-dark .oletuweb-landing .foot-brand .brand{margin-bottom:18px}
@media (max-width:1100px){.oletuweb-dark .oletuweb-landing .brand img.brandlogo{height:40px}}

/* ---- cabecera: logo completo arriba del todo y logo de texto al bajar (>=1101 px); en pantallas pequeñas, siempre el de texto ---- */
.oletuweb-dark .oletuweb-landing .brand img.brandlogo-full{display:none;height:64px;width:auto;border-radius:0;object-fit:contain}
@media (min-width:1101px){
  .oletuweb-dark .oletuweb-landing .nav:not(.scrolled) .brand img.brandlogo-full{display:block}
  .oletuweb-dark .oletuweb-landing .nav:not(.scrolled) .brand img.brandlogo-text{display:none}
}
