/*
Theme Name: Alter Actus
Theme URI: https://alteractus.com
Author: Sistema Alter Actus S.L.
Author URI: https://alteractus.com
Description: Tema institucional de Sistema Alter Actus S.L. Home transversal (marfil dominante) y divisiones perimetradas AQUEOS (penal) y LARES (familia), con ruteo por hash y logo recoloreado por division. NIF B26946079.
Version: 1.2.5
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: alter-actus
*/

  :root{
    --navy:#162148; --navy-deep:#0E1A38;
    --paper:#F5F2EA; --paper2:#EDE8DA; --white:#FFFFFF;
    --gold:#C2A24C; --graphite:#2A3145; --gray:#6B7280;
    --hair:rgba(22,33,72,0.12);
    --acc:#C2A24C; --acc-soft:rgba(194,162,76,0.14); --acc-dk:#C2A24C; --logo:#162148;
    --gutter:32px;
  }
  [data-div="aqueos"]{ --acc:#8E2E3A; --acc-soft:rgba(142,46,58,0.12); --acc-dk:#8E2E3A; --logo:#8E2E3A; }
  [data-div="lares"]{  --acc:#2C7A6C; --acc-soft:rgba(44,122,108,0.12); --acc-dk:#2C7A6C; --logo:#2C7A6C; }
  [data-div="corp"]{   --acc:#C2A24C; --acc-soft:rgba(194,162,76,0.14); --acc-dk:#C2A24C; --logo:#162148; }

  *{ box-sizing:border-box; margin:0; padding:0; }
  html{ scroll-behavior:smooth; }
  body{ font-family:'Inter',sans-serif; color:var(--graphite); background:var(--paper); line-height:1.72; font-size:15px; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
  img,svg{ max-width:100%; }
  h1,h2,h3,.serif{ font-family:'Cormorant Garamond',serif; font-weight:600; line-height:1.12; color:var(--navy); }
  a{ color:inherit; text-decoration:none; }
  .wrap{ max-width:1140px; margin:0 auto; padding:0 var(--gutter); }

  .eyebrow{ display:inline-flex; align-items:center; gap:12px; font-size:11px; letter-spacing:2.6px; text-transform:uppercase; font-weight:600; color:var(--acc-dk); }
  .eyebrow::before{ content:""; width:26px; height:1.5px; background:var(--acc); }
  .muted{ color:var(--gray); }
  .accent-bar{ width:46px; height:3px; background:var(--acc); border-radius:2px; }

  header{ position:sticky; top:0; z-index:50; background:rgba(245,242,234,0.92); backdrop-filter:blur(10px); border-bottom:0.5px solid var(--hair); }
  .nav{ display:flex; align-items:center; gap:32px; height:70px; }
  .brand{ display:flex; align-items:center; gap:11px; }
  .brand .mark{ width:27px; height:27px; color:var(--logo); transition:color .4s ease; }
  .brand .mark svg{ width:100%; height:100%; display:block; }
  .brand .word{ font-family:'Montserrat',sans-serif; font-weight:800; font-size:14px; letter-spacing:2.6px; color:var(--logo); transition:color .4s ease; }
  .links{ display:flex; gap:28px; margin-left:auto; }
  .links a{ font-size:12.5px; letter-spacing:.4px; color:var(--graphite); padding:4px 0; border-bottom:1.5px solid transparent; transition:border-color .2s; }
  .links a:hover{ border-color:var(--acc); }
  .btn{ display:inline-flex; align-items:center; gap:8px; font-size:12.5px; letter-spacing:.4px; padding:10px 18px; border-radius:8px; cursor:pointer; transition:all .2s; border:1px solid transparent; white-space:nowrap; }
  .btn.outline{ border-color:var(--gold); color:var(--navy); }
  .btn.outline:hover{ background:var(--gold); color:var(--paper); }
  .btn.navy{ background:var(--navy); color:var(--paper); }
  .btn.navy:hover{ background:var(--navy-deep); }
  .btn.acc{ background:var(--acc); color:#fff; }
  .btn.acc:hover{ filter:brightness(1.08); }
  .btn.acc-out{ border-color:var(--acc); color:var(--acc-dk); }
  .btn.acc-out:hover{ background:var(--acc); color:#fff; }

  .hero{ position:relative; overflow:hidden;
    background:
      url('assets/hero-frame.svg') center / 100% 100% no-repeat,
      url('assets/hero-grid.svg') right center / cover no-repeat,
      radial-gradient(150% 130% at 60% 4%, #FFFFFF 0%, #F6F4EC 34%, #ECEFF4 66%, #DDE3EE 100%); }
  .hero > .wrap{ position:relative; z-index:1; }
  .hero .inner{ display:grid; grid-template-columns:1.12fr 0.88fr; gap:56px; align-items:center; padding:104px 0 96px; }
  .hero h1{ font-size:clamp(36px,4.8vw,50px); margin:20px 0 20px; }
  .hero p.sub{ font-size:16.5px; color:var(--graphite); max-width:520px; }
  .hero .actions{ display:flex; gap:14px; margin-top:34px; flex-wrap:wrap; }

  .seal{ background:var(--white); border:0.5px solid var(--hair); border-top:3px solid var(--acc); border-radius:14px; padding:38px 34px; text-align:center; box-shadow:0 20px 60px rgba(22,33,72,0.06); }
  .seal .mk{ width:120px; height:120px; margin:0 auto 18px; color:var(--logo); opacity:.92; }
  .seal .mk svg{ width:100%; height:100%; }
  .seal .cap{ font-family:'Montserrat',sans-serif; font-weight:800; letter-spacing:2.5px; font-size:12px; color:var(--navy); }
  .seal .sub{ font-size:11px; letter-spacing:1.4px; text-transform:uppercase; color:var(--gray); margin-top:8px; }

  section.block{ padding:92px 0; }
  section.alt{ background:var(--paper2); }
  section.white{ background:var(--white); }
  .sec-head{ max-width:640px; margin-bottom:52px; }
  .sec-head h2{ font-size:clamp(26px,3vw,34px); margin:14px 0 12px; }
  .sec-head p{ color:var(--gray); font-size:15px; }

  .fork{ display:grid; grid-template-columns:1fr 1fr; gap:28px; }
  .divcard{ background:var(--white); border:0.5px solid var(--hair); border-top:3px solid var(--dc); border-radius:14px; padding:38px 34px 32px; display:flex; flex-direction:column; transition:transform .22s, box-shadow .22s; }
  .divcard:hover{ transform:translateY(-4px); box-shadow:0 18px 48px rgba(22,33,72,0.10); }
  .divcard .tag{ font-size:11px; letter-spacing:2px; text-transform:uppercase; font-weight:700; color:var(--dc); }
  .divcard h3{ font-size:27px; margin:12px 0 4px; }
  .divcard .role{ font-size:12px; letter-spacing:.4px; color:var(--gray); margin-bottom:18px; }
  .divcard p{ font-size:14px; color:var(--graphite); margin-bottom:26px; }
  .divcard .go{ margin-top:auto; align-self:flex-start; display:inline-flex; align-items:center; gap:8px; font-size:12.5px; letter-spacing:.4px; padding:11px 20px; border-radius:8px; background:var(--dc); color:#fff; transition:filter .2s; }
  .divcard .go:hover{ filter:brightness(1.08); }
  .divcard.aq{ --dc:#8E2E3A; }
  .divcard.la{ --dc:#2C7A6C; }

  .cards{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
  .card{ background:var(--white); border:0.5px solid var(--hair); border-left:3px solid var(--acc); border-radius:12px; padding:28px 28px; transition:transform .2s; }
  .card:hover{ transform:translateY(-2px); }
  .card h4{ font-family:'Cormorant Garamond',serif; font-weight:600; font-size:22px; color:var(--navy); margin-bottom:8px; }
  .card p{ font-size:13.5px; color:var(--graphite); }
  .card .norm{ display:inline-block; margin-top:14px; font-size:10.5px; letter-spacing:1px; text-transform:uppercase; color:var(--acc-dk); background:var(--acc-soft); padding:4px 10px; border-radius:20px; }

  .pills{ display:flex; flex-wrap:wrap; gap:12px; }
  .pill{ background:var(--acc-soft); border-radius:22px; padding:11px 18px; font-size:12.5px; color:var(--navy); }
  .pill b{ font-weight:700; }
  .pill span{ color:var(--gray); }

  .flow{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
  .step{ background:var(--white); border:0.5px solid var(--hair); border-radius:12px; padding:30px 26px; position:relative; }
  .step .n{ font-family:'Cormorant Garamond',serif; font-size:34px; color:var(--acc); line-height:1; }
  .step h5{ font-size:16px; margin:10px 0 6px; color:var(--navy); font-weight:600; }
  .step p{ font-size:13px; color:var(--gray); }

  .ethic{ background:var(--acc-soft); border-left:3px solid var(--acc); border-radius:10px; padding:22px 26px; font-size:14px; color:var(--graphite); }

  .dintro{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:52px; align-items:center; padding:96px 0 84px; }
  .dintro h1{ font-size:clamp(32px,4.2vw,44px); margin:18px 0 18px; }
  .dintro p.sub{ font-size:16px; color:var(--graphite); max-width:520px; }
  .dintro .audience{ margin-top:26px; font-size:11.5px; letter-spacing:1.4px; text-transform:uppercase; color:var(--acc-dk); font-weight:600; }

  .ctaband{ background:var(--paper2); border-top:0.5px solid var(--hair); padding:80px 0; text-align:center; position:relative; overflow:hidden; }
  .ctaband h2{ font-size:clamp(24px,3vw,32px); margin-bottom:12px; }
  .ctaband p{ color:var(--gray); max-width:520px; margin:0 auto 28px; font-size:15px; }
  .ctaband .actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
  .ctaband .wm{ position:absolute; right:-40px; bottom:-70px; width:280px; color:var(--acc); opacity:.06; pointer-events:none; }

  .trust{ background:var(--white); border-top:0.5px solid var(--hair); border-bottom:0.5px solid var(--hair); padding:26px 0; }
  .trust .row{ display:flex; flex-wrap:wrap; gap:12px 30px; align-items:center; justify-content:center; }
  .trust span{ font-size:11px; letter-spacing:1.4px; text-transform:uppercase; color:var(--gray); }
  .trust .dot{ width:3px; height:3px; border-radius:50%; background:var(--gold); }

  .people{ display:grid; grid-template-columns:1fr 1fr; gap:28px; }
  .person{ background:var(--white); border:0.5px solid var(--hair); border-radius:14px; padding:34px 32px; }
  .person .k{ font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--gold); font-weight:700; }
  .person h4{ font-family:'Cormorant Garamond',serif; font-size:24px; font-weight:600; color:var(--navy); margin:10px 0 4px; }
  .person .r{ font-size:12.5px; color:var(--gray); margin-bottom:18px; }
  .person ul{ list-style:none; }
  .person li{ font-size:13px; padding:6px 0 6px 18px; position:relative; color:var(--graphite); }
  .person li::before{ content:""; position:absolute; left:0; top:13px; width:6px; height:6px; background:var(--gold); border-radius:50%; }

  footer{ background:var(--navy); color:rgba(245,242,234,0.82); padding:60px 0 36px; }
  footer .grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:40px; }
  footer .word{ font-family:'Montserrat',sans-serif; font-weight:800; letter-spacing:2.6px; color:var(--paper); font-size:15px; }
  footer h6{ font-size:11px; letter-spacing:1.6px; text-transform:uppercase; color:var(--gold); margin-bottom:16px; font-weight:700; }
  footer a, footer p{ font-size:13px; color:rgba(245,242,234,0.78); display:block; margin-bottom:8px; }
  footer a:hover{ color:var(--paper); }
  footer .legal{ margin-top:40px; padding-top:22px; border-top:0.5px solid rgba(245,242,234,0.14); font-size:11px; letter-spacing:.4px; color:rgba(245,242,234,0.55); }

  /* WhatsApp: sin verde, para no romper la perimetración AQUEOS/LARES */
  .btn.wa{ border:1px solid var(--acc); color:var(--acc-dk); background:transparent; }
  .btn.wa:hover{ background:var(--acc); color:#fff; }
  .btn.wa svg{ width:15px; height:15px; flex:0 0 auto; }
  .wa-note{ font-size:11px; line-height:1.55; letter-spacing:.2px; color:var(--gray); max-width:540px; margin:16px auto 0; }
  .ctaband .wa-note{ text-align:center; }

  /* Aparición al hacer scroll */
  .reveal{ opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s cubic-bezier(.22,.61,.36,1); will-change:opacity,transform; }
  .reveal.in{ opacity:1; transform:none; }
  @media (prefers-reduced-motion: reduce){
    .reveal{ opacity:1; transform:none; transition:none; }
    html{ scroll-behavior:auto; }
    .hero::after{ display:none; }
  }

  .view{ display:none; }
  .view.active{ display:block; animation:fade .32s ease; }
  @keyframes fade{ from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:none;} }

  @media(max-width:880px){
    .nav{ flex-wrap:wrap; height:auto; gap:14px 20px; padding:14px 0; }
    .brand{ margin-right:auto; }
    .links{ order:3; width:100%; margin-left:0; justify-content:center; gap:22px; flex-wrap:wrap; }
    .links a{ font-size:13px; }
    .hero .inner,.dintro{ grid-template-columns:1fr; gap:38px; padding:64px 0 56px; }
    .seal{ order:-1; }
    .fork,.cards,.flow,.people,footer .grid{ grid-template-columns:1fr; }
  }

  /* Teléfonos: más aire en los bordes (con soporte de notch) y toques cómodos */
  @media(max-width:560px){
    :root{ --gutter:22px; }
    .wrap{
      padding-left:max(var(--gutter), env(safe-area-inset-left));
      padding-right:max(var(--gutter), env(safe-area-inset-right));
    }
    body{ font-size:15.5px; }
    section.block{ padding:56px 0; }
    .hero .inner,.dintro{ padding:44px 0 40px; gap:30px; }
    .hero h1{ font-size:clamp(30px,8.4vw,38px); }
    .seal{ padding:32px 26px; }
    .seal .mk{ width:100px; height:100px; }
    .divcard,.person{ padding:30px 24px; }
    .card,.step{ padding:26px 22px; }
    .sec-head{ margin-bottom:38px; }
    .btn{ padding:13px 20px; font-size:13px; }
    .actions{ width:100%; }
    .actions .btn{ flex:1 1 auto; justify-content:center; }
    .ctaband{ padding:64px 0; }
    .hero{ background:
      url('assets/hero-frame.svg') center / 100% 100% no-repeat,
      radial-gradient(150% 130% at 60% 4%, #FFFFFF 0%, #F6F4EC 34%, #ECEFF4 66%, #DDE3EE 100%); }
    footer{ padding:52px 0 32px; }
    footer .grid{ gap:32px; }
  }
