/* =====================================================================
   G Digital Ally v1.0 — pages.css
   Nosotros · Proyectos · Contacto (formulario) · Área de clientes ·
   Gracias · Privacidad · 404
   ===================================================================== */

/* ---------- Nosotros ---------- */
.about-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,75px);align-items:center}
.brand-showcase{min-height:350px;background:radial-gradient(circle at 50% 35%,#16416a 0%,#0a2038 60%);border-radius:24px;display:flex;align-items:center;justify-content:center;padding:44px}
.brand-showcase .logo-plate{background:#f4f9fc;border-radius:18px;padding:18px 24px;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.brand-showcase img{width:360px}
.principles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;list-style:none;margin:0;padding:0}
.principle{border:1px solid #e1eaf1;border-radius:18px;background:#fff;padding:29px}
.principle .icon{color:#0f86c0;margin-bottom:18px}
.principle h3{margin-bottom:10px}
.principle p{font-size:.93rem;margin:0}
.founder-box{display:flex;gap:26px;padding:34px;border-radius:20px;border:1px solid #dbe8ef;background:#fff}
.founder-monogram{width:76px;height:76px;border-radius:19px;background:#e3f5ff;display:flex;justify-content:center;align-items:center;font-size:2rem;font-weight:800;color:#0e6aa0;flex-shrink:0}
.founder-box h3{margin:0 0 9px}
.founder-box p{margin-bottom:0}
.scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.scope-card{border-radius:20px;padding:32px;border:1px solid #dbe8ef;background:#fff}
.scope-card h3{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.scope-card h3 .icon{width:26px;height:26px}
.scope-card ul{margin:0;padding:0;list-style:none;display:grid;gap:11px}
.scope-card li{display:flex;gap:11px;align-items:flex-start;font-size:.94rem;color:#3c566b;line-height:1.55}
.scope-card li .icon{width:18px;height:18px;margin-top:3px}
.scope-yes h3 .icon,.scope-yes li .icon{color:#0f8f61}
.scope-no{background:#fbfcfd}
.scope-no h3 .icon,.scope-no li .icon{color:#8094a7}
.approach-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:step}
.approach-list li{position:relative;padding:26px 22px 24px;border-radius:18px;background:#fff;border:1px solid #e0eaf1}
.approach-list li::before{counter-increment:step;content:"0" counter(step);display:block;font-size:.72rem;font-weight:850;letter-spacing:.14em;color:#0f7aa6;margin-bottom:14px}
.approach-list h3{font-size:1.1rem;margin-bottom:8px}
.approach-list p{font-size:.9rem;margin:0}
.vision-note{margin-top:30px;padding:22px 24px;border-radius:16px;background:var(--paper-blue);color:#2f5b75;font-size:.93rem;display:flex;gap:14px;align-items:flex-start}
.vision-note .icon{color:#0f86c0;margin-top:2px}

/* ---------- Proyectos ---------- */
.status-legend{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px;padding:0;list-style:none}
.status-filter{border:1px solid #cfe0eb;background:#fff;border-radius:100px;padding:9px 16px;font-size:.85rem;font-weight:700;color:#29506a;display:inline-flex;gap:8px;align-items:center}
.status-filter span{font-weight:600;color:#6a8396}
.status-filter:hover{border-color:#7fcbea}
.status-filter[aria-pressed="true"]{background:#0c3554;color:#fff;border-color:#0c3554}
.status-filter[aria-pressed="true"] span{color:#a9d6ec}
.project-list{display:grid;grid-template-columns:repeat(2,1fr);gap:23px;list-style:none;margin:0;padding:0}
.project-detail{background:#fff;border:1px solid #e0eaf1;border-radius:20px;padding:30px;display:flex;flex-direction:column;height:100%;scroll-margin-top:calc(var(--header-h) + 20px)}
.project-detail:target{border-color:#4fc2e8;box-shadow:0 0 0 4px #dff5ff}
.project-eyebrow{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.project-eyebrow .eyebrow{margin:0}
.project-art{height:150px;display:flex;align-items:center;justify-content:center;border-radius:13px;margin-top:22px;overflow:hidden;position:relative;font-size:1.9rem;font-weight:850;letter-spacing:-.04em;text-align:center;padding:0 20px;line-height:1.1}
.project-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.project-art.art-device{background:linear-gradient(115deg,#112840,#1d4f73);color:#fff}
.project-art.art-property{background:linear-gradient(115deg,#e2eff4,#f8fbfd);color:#123f5e}
.project-art.art-modules{background:linear-gradient(115deg,#eef6fd,#d9ebf5);color:#245477}
.project-art.art-checklist{background:linear-gradient(115deg,#e5f8f6,#ecf8fc);color:#1f5a63;font-size:1.45rem}
.project-detail h3{margin:24px 0 10px}
.project-detail p{font-size:.94rem;flex:1}
.project-detail .status-note{font-size:.8rem;color:#5f7789;font-weight:650;margin:0 0 14px;flex:0}
.disclosure{margin-top:28px;border-left:3px solid #33b8d9;padding-left:18px;color:#56707f;font-size:.88rem;max-width:860px}
.status-explainer{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0;padding:0;list-style:none}
.status-explainer li{padding:20px;border-radius:15px;background:#fff;border:1px solid #e0eaf1}
.status-explainer .label{margin-bottom:12px}
.status-explainer p{font-size:.88rem;margin:0}

/* ---------- Contacto ---------- */
.contact-layout{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(25px,5vw,56px);align-items:start}
.contact-card{padding:clamp(22px,4vw,38px);border:1px solid #dde8f0;border-radius:21px;background:#fff;box-shadow:0 12px 40px rgba(19,66,95,.045)}
.contact-card h2{font-size:clamp(1.6rem,2.6vw,1.9rem);margin-bottom:10px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.form-field{display:flex;flex-direction:column;gap:7px;margin-bottom:19px;min-width:0}
.form-field label,.form-field legend{font-size:.86rem;font-weight:760;color:var(--ink-soft);padding:0}
.form-field .req{color:#b42335}
.form-field .hint{font-size:.78rem;color:#62788c;font-weight:500}
.form-field input,.form-field select,.form-field textarea{border:1px solid #c3d6e4;background:#fcfdfe;border-radius:11px;padding:12px 13px;width:100%;font-size:.95rem;color:var(--ink);min-height:48px}
.form-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23366b8c' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px;padding-right:40px}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#109de1;box-shadow:0 0 0 3px #d9f2ff;outline:none}
.form-field textarea{resize:vertical;min-height:140px;line-height:1.55}
.form-field [aria-invalid="true"]{border-color:#c4364a;background:#fffafa}
.field-error{font-size:.8rem;color:var(--danger);font-weight:600;margin:0}
fieldset.form-field{border:0;margin:0 0 19px;padding:0}
.choice-row{display:flex;flex-wrap:wrap;gap:10px}
.choice{display:inline-flex;align-items:center;gap:8px;border:1px solid #c9dbe8;border-radius:10px;padding:10px 14px;font-size:.9rem;color:#2d4a60;cursor:pointer;background:#fcfdfe}
.choice input{accent-color:#0b84cc;width:18px;height:18px;margin:0}
.choice:has(input:checked){border-color:#0b84cc;background:#eef8fe}
.char-count{font-size:.75rem;color:#56697b;text-align:right;margin-top:-2px}
.form-consent{display:flex;align-items:flex-start;gap:11px;font-size:.84rem;color:#4e657a;margin:10px 0 22px;line-height:1.55}
.form-consent input{accent-color:#0b84cc;margin-top:3px;width:18px;height:18px;flex-shrink:0}
.form-consent a{color:var(--blue-600);text-decoration:underline;text-underline-offset:2px}
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.selected-service{display:flex;gap:12px;align-items:flex-start;border:1px solid #bfe2f4;background:#effaff;color:#1d5d80;border-radius:12px;padding:12px 14px;margin:-4px 0 19px;font-size:.88rem}
.selected-service .icon{color:#0b84cc;margin-top:1px}
.selected-service button{margin-left:auto;background:none;border:0;color:#0b6a9a;font-weight:700;font-size:.8rem;text-decoration:underline;padding:2px}
.form-submit{width:100%}
.form-env-note{font-size:.8rem;color:#5d7486;margin:14px 0 0}
.form-feedback:focus{outline:none}
.contact-sidebar{display:grid;align-content:start;gap:19px}
.sidebar-panel{background:var(--paper);border-radius:18px;padding:27px}
.sidebar-panel h3{font-size:1.18rem;margin-bottom:10px}
.sidebar-panel p{font-size:.91rem}
.sidebar-panel.dark{background:#0b2b48;color:#fff}
.sidebar-panel.dark p{color:#b9d1e4}
.sidebar-panel.dark a:not(.btn){color:#a7e8ff;text-decoration:underline;text-underline-offset:2px}
.sidebar-step{display:flex;gap:12px;margin-top:16px;font-size:.92rem;color:#36526b}
.sidebar-step .number{height:26px;width:26px;border-radius:50%;background:#d9f1ff;color:#0a6a9a;display:grid;place-items:center;flex-shrink:0;font-weight:800;font-size:.75rem}
.channel-list{list-style:none;margin:14px 0 18px;padding:0;display:grid;gap:10px}
.channel-list li{display:flex;gap:10px;align-items:center;font-size:.92rem;color:#dbeaf5;overflow-wrap:anywhere}
.channel-list .icon{color:#6bd7f4;width:18px;height:18px}

/* ---------- Área de clientes ---------- */
.portal-soon-card{border:1px solid #d6e7f0;border-radius:20px;padding:clamp(24px,4vw,38px);background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}
.feature-list{display:grid;gap:13px;list-style:none;margin:0;padding:0}
.feature-list li{display:flex;gap:13px;align-items:center;font-size:.93rem;color:#37566c}
.feature-list .icon{color:#0588be}
.mini-system{border:1px solid #e0ebf4;border-radius:15px;overflow:hidden;box-shadow:0 22px 65px rgba(10,55,91,.1)}
.mini-system-head{padding:13px 18px;background:#112a44;color:#fff;font-size:.76rem;display:flex;justify-content:space-between;align-items:center}
.mini-system-head span:last-child{color:#9bddf6;font-weight:700}
.mini-system-main{padding:27px;background:#fafcff}
.mini-system-main .kicker{font-size:.75rem;font-weight:800;color:#2f6a8d;letter-spacing:.08em}
.mini-system-main h3{font-size:1.3rem;margin:11px 0 20px}
.mini-system-row{height:48px;border:1px solid #e3ecf4;border-radius:10px;background:#fff;margin:9px 0;padding:14px;display:flex;align-items:center;gap:12px;font-size:.9rem}
.mini-system-row .dot{width:12px;height:12px;border-radius:4px;background:#9accea}
.mini-system-row .line{height:7px;background:#dceaf5;border-radius:20px;flex:1}
.mini-system-row .line.small{flex:.44;background:#9dd5ef}
.mini-system-main .footnote{font-size:.76rem;margin:18px 0 0}

/* ---------- Gracias / 404 ---------- */
.status-page{min-height:52vh;display:flex;align-items:center}
.status-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}

/* ---------- Privacidad (texto largo) ---------- */
.prose{max-width:780px}
.prose h2{font-size:clamp(1.4rem,2.2vw,1.8rem);margin:42px 0 12px}
.prose h3{font-size:1.1rem;margin:26px 0 8px}
.prose p,.prose li{color:#3e566b;line-height:1.75;font-size:.98rem}
.prose ul{padding-left:22px}
.prose a{color:var(--blue-600);text-decoration:underline;text-underline-offset:2px}

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .approach-list,.status-explainer{grid-template-columns:1fr 1fr}
}
@media (max-width:880px){
  .about-split,.contact-layout,.portal-soon-card,.scope-grid{grid-template-columns:1fr}
  .project-list{grid-template-columns:1fr}
  .principles-grid{grid-template-columns:1fr 1fr}
  .brand-showcase{min-height:260px}
}
@media (max-width:560px){
  .principles-grid,.approach-list,.status-explainer{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .founder-box{flex-direction:column;padding:26px}
  .project-detail{padding:24px}
  .scope-card{padding:24px}
  .status-actions .btn{width:100%}
}
.prose .notice a{color:inherit}
.form-field .choice{padding:10px 16px;font-weight:600;color:#2d4a60}
.contact-sidebar .sidebar-panel:not(.dark){background:#fff;border:1px solid #e0eaf1}
.portal-note{font-size:.86rem;margin:22px 0 18px}
.founder-box .founder-role{margin-bottom:7px}
.form-field .choice input{width:18px;height:18px;min-height:0;padding:0;border:0;background:none;box-shadow:none;flex-shrink:0}
/* Foto del fundador (nosotros.html) */
.founder-box{align-items:center}
.founder-photo{flex-shrink:0;width:150px;aspect-ratio:1;border-radius:22px;overflow:hidden;background:#e3f5ff;box-shadow:0 14px 34px rgba(13,43,75,.14)}
.founder-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
@media (max-width:560px){.founder-box{align-items:flex-start}.founder-photo{width:120px}}

/* Nosotros: logotipo oficial en versión fondo oscuro, fundido con el panel */
.brand-showcase{background:#010b1c;padding:24px}
.brand-showcase .brand-showcase-logo{width:100%;max-width:460px;height:auto}
