/* America Project — componentes del sitio (traducción estática de los componentes del Design System) */
/* Fuentes servidas desde el propio sitio (subconjunto latino de Google Fonts, licencia OFL) */
@font-face{font-family:"Michroma";src:url(/assets/fonts/michroma.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Manrope";src:url(/assets/fonts/manrope.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--header-h)}
body{margin:0;background:var(--surface-page);color:var(--text-primary);font-family:var(--font-body);font-size:var(--type-body-size);line-height:var(--type-body-lh);-webkit-font-smoothing:antialiased;text-wrap:pretty}
img,video,iframe{max-width:100%;display:block}
img{height:auto}
h1,h2,h3,h4{margin:0;font-weight:var(--fw-regular)}
p{margin:0}
a{color:var(--text-primary);text-decoration:none;border-bottom:1px solid var(--border-accent);transition:var(--transition-control)}
a:hover{color:var(--ap-bronze);border-bottom-color:var(--ap-bronze)}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
::selection{background:var(--ap-bronze);color:var(--ap-black)}
.skip{position:absolute;left:-999px;top:8px;background:#fff;color:#000;padding:8px 12px;z-index:99}.skip:focus{left:8px}
.ico{display:inline-block;width:20px;height:20px;flex:0 0 auto}
.ico svg{width:100%;height:100%;display:block}
.wrap{max-width:var(--container);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
@media(min-width:960px){.wrap{padding-left:var(--gutter-lg);padding-right:var(--gutter-lg)}}

/* secciones: oscuro → claro → oscuro */
.sec{padding:var(--section-y) 0;background:var(--surface-page)}
.sec-tight{padding:var(--section-y-tight) 0}
.sec-sunken{background:var(--surface-sunken);border-bottom:var(--hairline)}
.ap-light{background:var(--surface-light);color:var(--text-on-light)}
.ap-light a{color:var(--text-on-light)}
.ap-light a:hover{color:var(--ap-bronze-deep);border-bottom-color:var(--ap-bronze-deep)}
.stack{display:grid;gap:var(--space-10)}
.stack-8{display:grid;gap:var(--space-8)}
.row-end{display:flex;flex-wrap:wrap;gap:var(--space-6);align-items:flex-end;justify-content:space-between}
.split{display:grid;gap:var(--space-10);grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:center}
.photo{width:100%;object-fit:cover;border:var(--hairline)}
.r43{aspect-ratio:4/3}.r45{aspect-ratio:4/5}.r11{aspect-ratio:1/1}

/* SectionHeading */
.sh{display:flex;flex-direction:column;gap:var(--space-4);max-width:780px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:var(--type-eyebrow-size);font-weight:var(--fw-bold);letter-spacing:var(--type-eyebrow-ls);text-transform:uppercase;color:var(--text-accent)}
.eyebrow::before{content:"";width:24px;height:1px;background:currentColor}
.ap-light .eyebrow{color:var(--text-accent-on-light)}
.d1,.d2{font-family:var(--font-display);text-transform:uppercase}
.d1{font-size:var(--type-display-1-size);line-height:var(--type-display-1-lh);letter-spacing:var(--type-display-1-ls)}
.d2{font-size:var(--type-display-2-size);line-height:var(--type-display-2-lh);letter-spacing:var(--type-display-2-ls)}
.d3{font-family:var(--font-display);font-size:var(--type-display-3-size);line-height:var(--type-display-3-lh);letter-spacing:var(--type-display-3-ls);text-transform:uppercase}
.lbl{font-family:var(--font-body);font-weight:var(--fw-bold);font-size:var(--type-label-size);letter-spacing:.1em;text-transform:uppercase}
.metal{background:var(--metal-brushed);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{font-size:var(--type-lead-size);line-height:var(--type-lead-lh);color:var(--text-secondary)}
.ap-light .lead{color:var(--text-on-light-secondary)}
.small{font-size:var(--type-small-size);color:var(--text-secondary)}
.ap-light .small{color:var(--text-on-light-secondary)}
.caption{font-size:var(--type-caption-size);color:var(--text-muted)}
.ap-light .caption{color:var(--text-on-light-secondary)}
.prose{display:grid;gap:var(--space-4);max-width:720px;color:var(--text-secondary)}
.ap-light .prose{color:var(--text-on-light-secondary)}
.prose ul{margin:0;padding-left:20px;display:grid;gap:var(--space-2)}
.prose strong{color:var(--text-primary)}
.ap-light .prose strong{color:var(--text-on-light)}

/* Button */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;font-family:var(--font-body);font-size:14px;font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-xs);border:1px solid transparent;cursor:pointer;transition:var(--transition-control);text-align:center}
.btn .ico{width:18px;height:18px}
.btn-sm{min-height:40px;padding:0 16px;font-size:13px}
.btn-lg{min-height:56px;padding:0 30px;font-size:15px}
.btn-lg .ico{width:20px;height:20px}
.btn-block{display:flex;width:100%}
.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-fg);border-color:var(--btn-primary-bg)}
.btn-primary:hover{background:var(--btn-primary-bg-hover);border-color:var(--btn-primary-bg-hover);color:var(--btn-primary-fg)}
.btn-primary:active{background:var(--btn-primary-bg-press)}
.btn-secondary{background:transparent;color:var(--btn-secondary-fg);border-color:var(--btn-secondary-border)}
.btn-secondary:hover{background:var(--btn-secondary-bg-hover);border-color:var(--ap-silver);color:var(--btn-secondary-fg)}
.btn-onlight,.ap-light .btn-onlight{background:var(--ap-black);color:var(--ap-white);border-color:var(--ap-black)}
.btn-onlight:hover,.ap-light .btn-onlight:hover{background:var(--ap-graphite);border-color:var(--ap-graphite);color:var(--ap-white)}
.btn-wa{background:var(--ap-whatsapp);color:#07220F;border-color:var(--ap-whatsapp)}
.btn-wa:hover{background:var(--ap-whatsapp-press);border-color:var(--ap-whatsapp-press);color:#07220F}
.btns{display:flex;flex-wrap:wrap;gap:var(--space-3)}
@media(max-width:600px){.btns-hero>*{width:100%}}

/* Badge */
.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:var(--radius-xs);border:1px solid var(--border-hairline-strong);font-size:var(--type-caption-size);font-weight:var(--fw-bold);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;color:var(--text-secondary)}
.badge .ico{width:13px;height:13px}
.badge-bronze{color:var(--ap-bronze);border-color:var(--ap-bronze)}
.badge-solid{color:var(--ap-black);background:var(--ap-white);border-color:var(--ap-white)}
.ap-light .badge{color:var(--text-on-light-secondary);border-color:var(--border-on-light)}
.badges{display:flex;flex-wrap:wrap;gap:var(--space-2)}

/* Header */
.hdr{position:sticky;top:0;z-index:40;background:rgba(11,11,12,.92);-webkit-backdrop-filter:var(--blur-glass);backdrop-filter:var(--blur-glass);border-bottom:var(--hairline)}
.hdr-in{min-height:var(--header-h);display:flex;align-items:center;gap:var(--space-6)}
.hdr a{border-bottom:none}
.hdr .logo img{height:48px;width:auto}
@media(min-width:960px){.hdr .logo img{height:64px}}
.nav-d{display:none;gap:var(--space-6);margin-left:auto}
.nav-d a{font-size:var(--type-small-size);font-weight:var(--fw-semibold);letter-spacing:.04em;color:var(--text-secondary);border-bottom:1px solid transparent}
.nav-d a:hover,.nav-d a[aria-current=page]{color:var(--text-primary)}
.hdr-act{margin-left:auto;display:flex;align-items:center;gap:var(--space-3)}
.burger{position:relative}
.burger summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid var(--border-hairline-strong);border-radius:var(--radius-xs);cursor:pointer;color:var(--ap-white)}
.burger summary::-webkit-details-marker{display:none}
.burger .i-x{display:none}.burger[open] .i-x{display:inline-block}.burger[open] .i-menu{display:none}
.nav-m{position:fixed;left:0;right:0;top:var(--header-h);background:var(--surface-page);border-top:var(--hairline);border-bottom:var(--hairline);padding:var(--space-2) var(--gutter) var(--space-4);display:grid}
.nav-m a{padding:14px 0;border-bottom:var(--hairline);font-weight:var(--fw-semibold);color:var(--text-primary);min-height:var(--tap-min);display:flex;align-items:center;justify-content:space-between}
.nav-m a .ico{width:16px;height:16px;color:var(--text-muted)}
@media(min-width:960px){.nav-d{display:flex}.burger{display:none}.hdr-act{margin-left:var(--space-6)}}
@media(max-width:420px){.hdr-act .btn{padding:0 12px;font-size:12px}}

/* Hero */
.hero{position:relative;background:var(--surface-sunken);overflow:hidden}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:var(--scrim-hero)}
.hero-in{position:relative;z-index:1;padding-top:calc(var(--section-y) + 8px);padding-bottom:var(--section-y);min-height:min(88vh,760px);display:flex;flex-direction:column;justify-content:flex-end;gap:var(--space-6)}
.hero h1{max-width:940px}
.hero .lead{color:var(--text-primary);max-width:620px}
.hero-sm .hero-in{min-height:0;padding-top:var(--section-y);padding-bottom:var(--section-y-tight)}

/* TrustStrip */
.trust{display:grid;gap:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.trust>div{display:grid;gap:var(--space-3);align-content:start;padding-top:var(--space-5);border-top:var(--hairline)}
.trust .ico{width:30px;height:30px;color:var(--ap-silver)}
.trust>div:first-child .ico{color:var(--ap-bronze)}
.trust h3{font-family:var(--font-body);font-weight:var(--fw-bold);font-size:var(--type-label-size);letter-spacing:.1em;text-transform:uppercase}
.trust p{font-size:var(--type-small-size);color:var(--text-secondary)}

/* ProductCard */
.grid-p{display:grid;gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}
.pc{display:flex;flex-direction:column;background:var(--surface-raised);border:var(--hairline);border-radius:var(--radius-md);overflow:hidden;transition:var(--transition-control);color:var(--text-primary)}
.pc:hover{border-color:var(--border-hairline-strong)}
.pc figure{margin:0;position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--ap-black)}
.pc figure img{width:100%;height:100%;object-fit:cover;transition:var(--transition-media)}
.pc:hover figure img{transform:scale(1.03)}
.pc-b{padding:var(--space-5);display:grid;gap:var(--space-3);flex:1;align-content:start}
.pc h3{font-size:var(--type-body-size);font-weight:var(--fw-bold);line-height:1.35;color:var(--text-primary)}
.pc-f{margin-top:auto;padding-top:var(--space-3);display:grid;gap:8px}
.pc .btn{color:var(--btn-secondary-fg)}
.pc[hidden]{display:none}

/* filtro del catálogo */
.filters{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.filters button{font:inherit;font-size:var(--type-caption-size);font-weight:var(--fw-bold);letter-spacing:.12em;text-transform:uppercase;min-height:40px;padding:0 14px;border-radius:var(--radius-xs);border:1px solid var(--border-on-light);background:transparent;color:var(--text-on-light-secondary);cursor:pointer;transition:var(--transition-control)}
.filters button[aria-pressed=true]{background:var(--ap-black);border-color:var(--ap-black);color:var(--ap-white)}

/* tarjetas de nivel */
.lvl{background:var(--surface-raised);border:var(--hairline);border-radius:var(--radius-md);overflow:hidden;display:grid;align-content:start}
.lvl img{width:100%;aspect-ratio:16/10;object-fit:cover}
.lvl-b{padding:var(--space-6);display:grid;gap:var(--space-3)}
.grid-3{display:grid;gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}

/* SecurityLevelsTable */
.tbl{overflow-x:auto}
.tbl table{width:100%;min-width:660px;border-collapse:collapse;font-size:var(--type-small-size);color:var(--text-on-light-secondary)}
.tbl th,.tbl td{text-align:left;padding:var(--space-4);border-bottom:1px solid var(--border-on-light);vertical-align:top}
.tbl thead th{vertical-align:bottom;border-bottom:2px solid var(--ap-black)}
.tbl thead th:first-child,.tbl tbody th{padding-left:0}
.tbl tbody th{font-weight:var(--fw-bold);color:var(--text-on-light);width:28%}
.tbl .hl{background:var(--surface-light-raised)}
.tbl .th-in{display:grid;gap:8px;justify-items:start}
.tbl .th-in .lbl{color:var(--text-on-light)}
.tbl .th-in small{font-size:var(--type-caption-size);font-weight:var(--fw-semibold)}
.tbl .badge-bronze{color:var(--ap-bronze-deep);border-color:var(--ap-bronze-deep)}
.tbl .sp{height:25px}

/* pasos */
.steps{display:grid;gap:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));list-style:none;margin:0;padding:0}
.steps li{display:grid;gap:var(--space-3);align-content:start;padding-top:var(--space-5);border-top:var(--hairline)}
.steps .n{font-family:var(--font-display);font-size:12px;letter-spacing:.2em;color:var(--ap-bronze)}
.steps .ico{width:28px;height:28px;color:var(--ap-silver)}
.steps h3{font-family:var(--font-body);font-weight:var(--fw-bold);font-size:var(--type-label-size);letter-spacing:.1em;text-transform:uppercase}
.steps p{font-size:var(--type-small-size);color:var(--text-secondary)}

/* comunas */
.places{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.places span{padding:var(--space-4) 0;border-top:1px solid var(--border-on-light);display:flex;align-items:center;gap:10px;font-size:var(--type-small-size);font-weight:var(--fw-bold);color:var(--text-on-light)}
.places .ico{width:18px;height:18px;color:var(--ap-bronze-deep)}

/* WorkGallery */
.gal{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}
.gal figure{margin:0;display:grid;gap:var(--space-2)}
.gal img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--border-on-light)}
.gal figcaption{font-size:var(--type-caption-size);color:var(--text-on-light-secondary)}
.sec .gal img{border:var(--hairline)}
.sec .gal figcaption{color:var(--text-muted)}

/* enlaces del cuerpo de la home a cada página */
.links{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:var(--space-5)}
.links a{display:grid;gap:var(--space-3);align-content:start;padding:var(--space-6);background:var(--surface-raised);border:var(--hairline);border-radius:var(--radius-md);color:var(--text-primary)}
.links a:hover{border-color:var(--border-hairline-strong);color:var(--text-primary)}
.links .ico{width:28px;height:28px;color:var(--ap-silver)}
.links h2{font-family:var(--font-body);font-weight:var(--fw-bold);font-size:var(--type-label-size);letter-spacing:.1em;text-transform:uppercase}
.links p{font-size:var(--type-small-size);color:var(--text-secondary)}
.links .go{display:inline-flex;align-items:center;gap:8px;font-size:var(--type-caption-size);font-weight:var(--fw-bold);letter-spacing:.12em;text-transform:uppercase;color:var(--ap-bronze)}
.links .go .ico{width:16px;height:16px;color:currentColor}

/* FaqAccordion */
.faq{border-top:1px solid var(--border-on-light)}
.faq details{border-bottom:1px solid var(--border-on-light)}
.faq summary{list-style:none;min-height:var(--tap-min);padding:var(--space-5) 0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);cursor:pointer;font-weight:var(--fw-bold);color:var(--text-on-light)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .ico{color:var(--ap-bronze-deep);transition:transform var(--dur-base) var(--ease-out)}
.faq details[open] summary .ico{transform:rotate(180deg)}
.faq details p{padding:0 0 var(--space-5);max-width:680px;font-size:var(--type-small-size);line-height:1.65;color:var(--text-on-light-secondary)}

/* formularios (Field / QuoteForm / CatalogGateForm) */
.form{display:grid;gap:var(--space-5)}
.fgrid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.field{display:grid;gap:var(--space-2)}
.field span{font-size:var(--type-label-size);font-weight:var(--fw-bold);letter-spacing:var(--type-label-ls);text-transform:uppercase;color:var(--text-secondary)}
.ap-light .field span{color:var(--text-on-light)}
.field input,.field select,.field textarea{width:100%;min-height:var(--tap-min);padding:12px 14px;font:400 16px/1.4 var(--font-body);color:var(--text-primary);background:var(--surface-page);border:1px solid var(--border-steel);border-radius:var(--radius-xs);transition:var(--transition-control)}
.ap-light .field input,.ap-light .field select,.ap-light .field textarea{background:var(--surface-light-raised);color:var(--text-on-light);border-color:var(--border-on-light)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--ap-bronze);box-shadow:var(--shadow-focus)}
.field textarea{min-height:110px;resize:vertical}
.field small{font-size:var(--type-caption-size);color:var(--text-muted)}
.ap-light .field small{color:var(--text-on-light-secondary)}
.hp{position:absolute!important;left:-5000px!important;width:1px;height:1px;overflow:hidden}
.panel-light{background:var(--surface-light);color:var(--text-on-light);padding:var(--space-8);border-radius:var(--radius-md)}
.dl{display:grid;gap:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));align-items:center;padding:var(--space-8);background:var(--surface-raised);border:var(--hairline);border-radius:var(--radius-md)}

/* datos de contacto */
.nap{font-style:normal;display:grid;gap:var(--space-3);font-size:var(--type-small-size);color:var(--text-secondary)}
.nap>*{display:flex;gap:10px;align-items:flex-start;border-bottom:none}
.nap .ico{width:18px;height:18px;color:var(--ap-bronze);margin-top:2px}
.nap a{color:var(--text-primary);font-weight:var(--fw-bold);border-bottom:none}
.map{width:100%;aspect-ratio:16/10;border:var(--hairline);filter:grayscale(1) contrast(1.1) brightness(.85)}

/* video con carga al hacer clic */
.yt{position:relative;aspect-ratio:16/9;background:var(--ap-black);border:var(--hairline);overflow:hidden}
.yt img{width:100%;height:100%;object-fit:cover;opacity:.7}
.yt button{position:absolute;inset:0;margin:auto;width:76px;height:76px;border-radius:var(--radius-xs);border:1px solid var(--ap-white);background:rgba(6,6,7,.6);color:var(--ap-white);cursor:pointer;display:grid;place-items:center}
.yt button .ico{width:30px;height:30px}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Footer */
.ftr{background:var(--surface-sunken);border-top:var(--hairline)}
.ftr a{border-bottom:none}
.ftr-in{padding-top:var(--section-y-tight);padding-bottom:var(--space-8);display:grid;gap:var(--space-10);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.ftr-col{display:grid;gap:var(--space-3);align-content:start}
.ftr-col:first-child{gap:var(--space-5)}
.ftr img.logo{height:48px;width:auto}
@media(min-width:960px){.ftr img.logo{height:64px}}
.ftr-t{font-family:var(--font-body);font-weight:var(--fw-bold);font-size:var(--type-eyebrow-size);letter-spacing:var(--type-eyebrow-ls);text-transform:uppercase;color:var(--text-muted)}
.ftr nav a,.ftr-col>a{font-size:var(--type-small-size);color:var(--text-secondary)}
.ftr nav{display:grid;gap:var(--space-3)}
.ftr nav a:hover{color:var(--ap-bronze)}
.ftr address{font-style:normal}
.ftr-map{display:grid;place-items:center;gap:10px;padding:var(--space-6);text-align:center;min-height:176px;border:var(--hairline);border-radius:var(--radius-md);background:var(--surface-raised)}
.ftr-map .ico{width:24px;height:24px;color:var(--ap-silver)}
.ftr-bot{border-top:var(--hairline)}
.ftr-bot .wrap{padding-top:var(--space-5);padding-bottom:var(--space-5);display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;font-size:var(--type-caption-size);color:var(--text-muted)}


/* dato pendiente de confirmar con el cliente — se ve a propósito; eliminar antes de publicar */
.ph{background:#FFF1B8;color:#4A3800;border:1px dashed #A07D00;padding:0 6px;border-radius:2px;font-family:var(--font-body);font-size:.85em;letter-spacing:0;text-transform:none;-webkit-text-fill-color:#4A3800}

/* bloque réplica al final de la grilla del catálogo */
.replica{display:grid;gap:var(--space-8);grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:end;padding:var(--space-8);background:var(--surface-light-raised);border:1px solid var(--border-on-light);border-radius:var(--radius-md);margin-top:var(--space-4)}
.replica .btns{flex-direction:column}
.replica .btns .btn{width:100%}
@media(max-width:860px){.replica{grid-template-columns:1fr;padding:var(--space-6)}}

/* ================= Ajustes v2: jerarquía, hero, móvil ================= */
/* Títulos: la Michroma grande queda solo para el H1 y los H2 destacados (.xl). */
.d1{font-size:clamp(1.4rem,5.6vw,2.75rem);line-height:1.08;letter-spacing:.05em}
.d2{font-size:clamp(1.125rem,.95rem + 1vw,1.5rem);line-height:1.2;letter-spacing:.06em}
.d2.xl{font-size:var(--type-display-2-size);line-height:var(--type-display-2-lh);letter-spacing:var(--type-display-2-ls)}
.sh{gap:var(--space-3)}

/* Hero: la puerta se ve nítida, sin velo encima */
.hero2{background:var(--surface-sunken);border-bottom:var(--hairline)}
.hero2-in{display:grid;gap:var(--space-6);padding-top:var(--space-5);padding-bottom:var(--space-10)}
.hero2-img{margin:0;border:var(--hairline);overflow:hidden;background:var(--ap-black)}
.hero2-img img{width:100%;height:100%;aspect-ratio:16/9;max-height:30vh;object-fit:cover;object-position:50% 45%}
.hero2-txt{display:grid;gap:var(--space-4);align-content:center}
.hero2-txt .lead{color:var(--text-primary)}
.hero2 .badges{padding-top:var(--space-1)}
.hero2 a.badge{border-bottom:1px solid var(--ap-white)}
@media(min-width:960px){
  .hero2-in{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--space-12);align-items:center;padding-top:var(--space-12);padding-bottom:var(--space-12)}
  .hero2-img{order:2}
  .hero2-img img{aspect-ratio:4/5;max-height:none;max-height:640px}
  .hero2-txt{gap:var(--space-6)}
}
@media(max-width:600px){.hero2 .badges{display:none}.hero2-txt .eyebrow{font-size:10px;letter-spacing:.18em}}

/* Réplica: original vs. réplica */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}
.compare-slot{margin:0;display:grid;gap:var(--space-2);align-content:start}
.compare-slot img,.compare-ph{width:100%;aspect-ratio:3/4;object-fit:cover;border:var(--hairline)}
.compare-ph{display:grid;place-items:center;align-content:center;gap:var(--space-3);padding:var(--space-4);text-align:center;background:var(--surface-raised);border-style:dashed;border-color:var(--border-hairline-strong)}
.compare-ph .ico{width:28px;height:28px;color:var(--ap-silver)}
.compare-slot figcaption{font-size:var(--type-caption-size);font-weight:var(--fw-bold);letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary)}

/* Enlaces de nivel → catálogo */
.go-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:var(--type-small-size);font-weight:var(--fw-bold);color:var(--ap-bronze);border-bottom:none}
.go-link .ico{width:16px;height:16px}

/* Reseñas (oculto hasta tener reseñas reales) */
.revs{display:grid;gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.rev{margin:0;padding:var(--space-6);background:var(--surface-raised);border:var(--hairline);border-radius:var(--radius-md);display:grid;gap:var(--space-4)}
.rev blockquote{margin:0;color:var(--text-primary)}
.rev figcaption{font-size:var(--type-caption-size);color:var(--text-muted);letter-spacing:.06em}
[hidden]{display:none!important}

/* Video: funciona como enlace sin JavaScript */
.yt-link{display:block;height:100%;border-bottom:none}

/* Toques de al menos 44 px */
.btn-sm{min-height:44px}
.filters button{min-height:44px}
.nav-d a{padding:12px 0}

@media(max-width:380px){.hdr-in{gap:var(--space-3)}.hdr-act{gap:var(--space-2)}.hdr-act .btn{padding:0 10px;font-size:11px;letter-spacing:.04em}}
@media(max-width:959px){
  .hero2-in{gap:var(--space-4);padding-top:var(--space-4)}
  .hero2-img img{max-height:24vh}
  .hero2-txt{gap:var(--space-3)}
  .hero2-txt .lead{font-size:1rem;line-height:1.5}
}
.tbl-hint{display:none}@media(max-width:720px){.tbl-hint{display:block}}

/* ================= Niveles A / B / C ================= */
.corte{aspect-ratio:16/10;display:grid;place-items:center;align-content:center;gap:var(--space-3);padding:var(--space-4);text-align:center;background:var(--surface-raised-2);border-bottom:var(--hairline)}
.corte .ico{width:28px;height:28px;color:var(--ap-silver)}
.lvl-b .btn{margin-top:var(--space-2)}
.feats{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}
.feats li{display:flex;gap:10px;align-items:flex-start;font-size:var(--type-small-size);color:var(--text-secondary)}
.feats .ico{width:16px;height:16px;margin-top:3px;color:var(--ap-silver)}
.feats-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:var(--space-3) var(--space-8)}
.feats-2 .ico{color:var(--ap-bronze)}
.incl{display:grid;gap:var(--space-6);padding:var(--space-8);background:var(--surface-raised);border:var(--hairline);border-radius:var(--radius-md)}
.otros{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center;justify-content:space-between;padding-top:var(--space-5);border-top:var(--hairline)}
.otros p{max-width:640px;color:var(--text-secondary);font-size:var(--type-small-size)}
.otros strong{color:var(--text-primary)}
/* resumen en portada */
.lvl-mini{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}
.lvl-mini a{display:grid;grid-template-columns:auto 1fr;gap:4px var(--space-4);align-items:center;padding:var(--space-4);min-height:44px;background:var(--surface-raised);border:var(--hairline);border-radius:var(--radius-md);color:var(--text-primary)}
.lvl-mini a:hover{border-color:var(--border-hairline-strong);color:var(--text-primary)}
.lvl-mini .badge{grid-row:span 2}
.lvl-mini strong{font-family:var(--font-body);font-weight:var(--fw-bold);font-size:var(--type-label-size);letter-spacing:.08em;text-transform:uppercase}
.lvl-mini a>span:last-child{font-size:var(--type-small-size);color:var(--text-secondary)}
/* tabla: primera columna fija al desplazar */
.tbl-sticky{position:relative;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.tbl-sticky th:first-child{position:sticky;left:0;z-index:1;background:var(--surface-light);box-shadow:1px 0 0 var(--border-on-light)}
.tbl-sticky thead th:first-child{font-size:var(--type-caption-size);font-weight:var(--fw-bold);letter-spacing:.1em;text-transform:uppercase;color:var(--text-on-light-secondary)}
.tbl-sticky table{min-width:640px}
@media(max-width:720px){.tbl-sticky tbody th,.tbl-sticky thead th:first-child{width:128px;min-width:128px;padding-right:var(--space-3)}}

/* ================= Estructura v3 (portada por servicios) ================= */
/* Botón flotante de WhatsApp: círculo verde fijo, en todas las páginas y tamaños. Funciona sin JavaScript. */
.wa-fab{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:60;width:60px;height:60px;border-radius:var(--radius-pill);display:grid;place-items:center;background:var(--ap-whatsapp);color:#fff;border:none;box-shadow:0 6px 18px rgba(0,0,0,.28),0 2px 6px rgba(0,0,0,.18);transition:transform var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out)}
.wa-fab:hover{background:var(--ap-whatsapp-press);color:#fff;border:none;transform:scale(1.06)}
.wa-fab .ico{width:32px;height:32px}
@media(max-width:600px){.wa-fab{width:56px;height:56px}.wa-fab .ico{width:30px;height:30px}}
/* espacio al final para que el botón no tape el pie de página */
.ftr-bot .wrap{padding-bottom:calc(var(--space-5) + 76px)}
@media(min-width:960px){.ftr-bot .wrap{padding-right:calc(var(--gutter-lg) + 76px);padding-bottom:var(--space-5)}}

/* Hero de portada: foto de fondo con etiquetas */
.hero-home .hero-in{min-height:min(82vh,720px);gap:var(--space-5)}
.hero-home .lead{max-width:640px}
.tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}
.tags li{padding:6px 12px;border:1px solid rgba(255,255,255,.55);border-radius:var(--radius-xs);background:rgba(6,6,7,.55);font-size:var(--type-caption-size);font-weight:var(--fw-bold);letter-spacing:.12em;text-transform:uppercase;color:var(--ap-white)}
@media(max-width:600px){.hero-home .lead br{display:none}.tags li{font-size:10px;letter-spacing:.08em;padding:5px 9px}}

/* Tarjetas de servicio */
.svc-grid{display:grid;gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.svc{display:grid;gap:var(--space-3);align-content:start;grid-template-rows:auto auto auto 1fr auto;padding:var(--space-6);background:var(--surface-raised);border:var(--hairline);border-radius:var(--radius-md)}
.svc>.ico{width:32px;height:32px;color:var(--ap-bronze)}
.svc>p{font-size:var(--type-small-size);color:var(--text-secondary)}
.svc .feats{align-content:start}
.svc .feats .ico{color:var(--ap-bronze)}
.svc .btn{margin-top:var(--space-2);letter-spacing:.04em;font-size:13px;padding:0 14px}

/* De qué protege tu puerta */
.prot{display:grid;gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}
.prot>div{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-4);align-items:start;padding:var(--space-5);background:var(--surface-light-raised);border:1px solid var(--border-on-light);border-radius:var(--radius-md)}
.prot .ico{grid-row:span 2;width:30px;height:30px;color:var(--ap-bronze-deep)}
.prot h3{font-family:var(--font-body);font-weight:var(--fw-bold);font-size:var(--type-label-size);letter-spacing:.1em;text-transform:uppercase;color:var(--text-on-light)}
.prot p{font-size:var(--type-small-size);color:var(--text-on-light-secondary)}

/* Por qué elegirnos (5) y cómo trabajamos (5) */
.trust-5,.steps-5{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}
.trust>div .ico{color:var(--ap-bronze)}

/* Réplica: bloque breve */
.replica-mini{display:flex;flex-wrap:wrap;gap:var(--space-4) var(--space-6);align-items:center;justify-content:space-between;padding:var(--space-6);border:var(--hairline);border-radius:var(--radius-md);background:var(--surface-raised)}
.replica-mini p{max-width:640px;color:var(--text-secondary)}
.replica-mini strong{color:var(--text-primary)}
.ap-light .replica-mini{background:var(--surface-light-raised);border:1px solid var(--border-on-light)}
.ap-light .replica-mini p{color:var(--text-on-light-secondary)}
.ap-light .replica-mini strong{color:var(--text-on-light)}

/* Galería con visor */
.gal-lb a.lb{display:block;border-bottom:none;overflow:hidden;cursor:zoom-in}
.gal-lb a.lb img{transition:var(--transition-media)}
.gal-lb a.lb:hover img{transform:scale(1.03)}
.lbx{position:fixed;inset:0;z-index:80;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-2);padding:var(--space-4);background:rgba(6,6,7,.94)}
.lbx figure{margin:0;display:grid;gap:var(--space-3);justify-items:center;min-width:0}
.lbx img{max-width:100%;max-height:80vh;width:auto;height:auto;object-fit:contain;border:var(--hairline)}
.lbx figcaption{font-size:var(--type-small-size);color:var(--text-secondary);text-align:center}
.lbx button{width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--border-hairline-strong);border-radius:var(--radius-xs);background:rgba(6,6,7,.6);color:var(--ap-white);cursor:pointer}
.lbx button:hover{border-color:var(--ap-white)}
.lbx .lbx-x{position:absolute;top:var(--space-4);right:var(--space-4)}
.lbx .ico{width:22px;height:22px}
@media(max-width:600px){.lbx{grid-template-columns:1fr;padding:var(--space-3)}.lbx .lbx-p,.lbx .lbx-n{position:absolute;bottom:var(--space-4)}.lbx .lbx-p{left:var(--space-4)}.lbx .lbx-n{right:var(--space-4)}.lbx img{max-height:70vh}}

/* Esquema por capas de cada nivel (del catálogo) */
.corte-img{display:block;background:#050505;border-bottom:var(--hairline);overflow:hidden;cursor:zoom-in}
.corte-img img{width:100%;aspect-ratio:3/4;object-fit:contain;transition:var(--transition-media)}
.corte-img:hover img{transform:scale(1.02)}
.gal-lb{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}
/* Portada: componentes + esquema por capas */
.prot-wrap{display:grid;gap:var(--space-6);align-items:start}
.prot-img{display:block;border-bottom:none;background:#050505;border-radius:var(--radius-md);overflow:hidden}
.prot-img img{width:100%;aspect-ratio:3/4;object-fit:contain}
@media(min-width:960px){.prot-wrap{grid-template-columns:minmax(0,1fr) 360px}.prot-wrap .prot{grid-template-columns:1fr 1fr}}
@media(max-width:959px){.prot-img{max-width:480px}}
.form-int{font-size:var(--type-small-size);color:var(--text-on-light-secondary)}
.form-int strong{color:var(--text-on-light)}
.pc .vid{display:flex;gap:6px;align-items:flex-start;font-size:var(--type-caption-size);color:var(--text-secondary);line-height:1.4}
.pc .vid .ico{width:14px;height:14px;margin-top:1px;color:var(--ap-bronze)}

/* ===== Catálogo v4 ===== */
/* Tarjetas: misma altura por fila y botón siempre abajo */
.grid-p{align-items:stretch}
.pc{height:100%}
.pc-b{display:flex;flex-direction:column;gap:var(--space-3);flex:1}
.pc-f{margin-top:auto}
/* Encabezado: foto a la derecha en pantallas anchas, sin bloque vacío */
.cat-head{display:grid;gap:var(--space-8);align-items:center}
.cat-head-img{display:none}
@media(min-width:960px){
  .cat-head{grid-template-columns:minmax(0,1fr) 340px}
  .cat-head-img{display:block;order:2;width:100%;aspect-ratio:4/5;object-fit:cover;border:var(--hairline);border-radius:var(--radius-md)}
}
/* Filtros: una fila deslizable en móvil */
@media(max-width:720px){
  .filters{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-right:calc(var(--gutter) * -1);padding-right:var(--gutter);padding-bottom:4px}
  .filters::-webkit-scrollbar{display:none}
  .filters button{flex:0 0 auto;white-space:nowrap}
}
/* Móvil: el botón de la tarjeta deja libre el borde derecho, donde está el círculo de WhatsApp */
@media(max-width:600px){
  .pc-f .btn-block{width:auto;align-self:flex-start;padding:0 18px}
  .pc-f{display:flex;flex-direction:column;align-items:flex-start}
}
/* Tarjeta de blindaje balístico sobre fondo oscuro (página de niveles) */
.prot-dark>div{background:var(--surface-raised);border:var(--hairline)}
.prot-dark .ico{color:var(--ap-bronze)}
.prot-dark h3{color:var(--text-primary)}
.prot-dark p{color:var(--text-secondary)}
@media(max-width:600px){.pc-f .btn-block{letter-spacing:.04em;font-size:12px;padding:0 14px;gap:6px}}
@media(max-width:380px){.wa-fab{width:52px;height:52px;right:12px;bottom:12px}.wa-fab .ico{width:28px;height:28px}}
/* Encabezados de página (catálogo, cotización): conservan el margen lateral y el mismo fondo */
.sec-sunken>.wrap.sec{padding-left:var(--gutter);padding-right:var(--gutter);background:transparent}
@media(min-width:960px){.sec-sunken>.wrap.sec{padding-left:var(--gutter-lg);padding-right:var(--gutter-lg)}}

/* ================= v5: legibilidad, portada, móvil, catálogo por nombre ================= */
/* Texto: párrafos y listas a 16px (tarjetas 15px); cabecera más alta para que el logo se lea */
:root{--type-small-size:1rem;--text-accent-on-light:#7A5B24;--header-h:64px}
@media(min-width:960px){:root{--header-h:80px}}
.nav-d a{font-size:.875rem}
.feats li,.trust p,.steps p,.prot p,.svc>p,.links p,.otros p,.lvl-mini a>span:last-child{font-size:.9375rem}
/* Contraste AA sobre fondo claro: pies de foto #4A4D52 (6,9:1) y eyebrow dorado #7A5B24 (5,1:1) */
.gal figcaption{font-size:.8125rem}
.ap-light .gal figcaption,.sec.ap-light .gal figcaption{color:var(--text-on-light-secondary)}
.tbl .badge-bronze{color:var(--text-accent-on-light);border-color:var(--text-accent-on-light)}

/* Portada en escritorio: la foto a la derecha y un degradado que oscurece solo detrás del texto */
@media(min-width:960px){
  .hero-home>img{left:auto;right:0;width:62%}
  .hero-home::after{background:linear-gradient(90deg,rgba(6,6,7,1) 0%,rgba(6,6,7,.97) 38%,rgba(6,6,7,.72) 47%,rgba(6,6,7,.25) 56%,rgba(6,6,7,0) 64%)}
  .hero-home h1,.hero-home .lead,.hero-home .tags{max-width:520px}
}

/* Servicios: "Puertas blindadas" destacada a lo ancho y las otras 4 debajo */
.svc-grid{grid-template-columns:1fr}
.svc-feat{border-top:2px solid var(--ap-bronze)}
@media(min-width:700px){
  .svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .svc-feat{grid-column:1/-1;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-rows:auto auto 1fr;grid-template-areas:"i f" "t f" "p b";column-gap:var(--space-10);padding:var(--space-8)}
  .svc-feat>.ico{grid-area:i}.svc-feat>h3{grid-area:t}.svc-feat>p{grid-area:p;font-size:1rem}
  .svc-feat>.feats{grid-area:f;align-self:center}.svc-feat>.btn{grid-area:b;align-self:end;justify-self:start;width:auto;padding:0 24px}
}
@media(min-width:1100px){.svc-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Catálogo: el nombre del modelo es el título; la descripción, el apoyo */
.pc .pc-t{font-family:var(--font-body);font-weight:var(--fw-extrabold);font-size:1.125rem;line-height:1.25;letter-spacing:.01em;color:var(--text-primary)}
.pc-d{font-size:.9375rem;line-height:1.45;color:var(--text-secondary)}
@media(max-width:600px){
  .grid-p{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .pc figure{aspect-ratio:3/4}
  .pc-b{padding:12px;gap:8px}
  .pc-d,.pc .vid,.pc-long{display:none}
  .pc .pc-t{font-size:1rem}
  .pc-f{display:grid}
  .pc-f .btn-block{width:100%;padding:0 8px;font-size:12px;letter-spacing:.06em}
}

/* Galerías: 2 columnas en móvil */
@media(max-width:600px){.gal,.gal-lb{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}

/* Botón flotante de WhatsApp: espacio al final para que no tape el último texto */
.ftr-bot .wrap{padding-bottom:calc(var(--space-5) + 84px)}

/* Formulario: medidas a lo ancho */
.field-wide{grid-column:1/-1}
.field span em{font-style:normal;font-weight:var(--fw-medium);letter-spacing:0;text-transform:none;color:var(--text-on-light-secondary)}

/* Esquemas de niveles: marco del sitio y visor al tocarlos */
.frame{position:relative;display:block;padding:10px;background:var(--surface-raised-2);border:1px solid var(--border-hairline-strong);border-radius:var(--radius-md)}
.frame img{border-radius:2px}
.corte-img.frame{margin:var(--space-4) var(--space-4) 0;border-bottom:1px solid var(--border-hairline-strong)}
.zoom{position:absolute;right:18px;bottom:18px;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:rgba(6,6,7,.82);color:var(--ap-white);font-size:.75rem;font-weight:var(--fw-bold);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--border-hairline-strong);border-radius:var(--radius-xs)}
.zoom .ico{width:14px;height:14px}

/* Tabla de niveles: 5 columnas con desplazamiento lateral en móvil */
.tbl-sticky table{min-width:860px}
.tbl th.ent .lbl{color:var(--text-on-light-secondary)}
/* Servicios en 4 columnas: títulos más compactos para que no se salgan de la tarjeta */
@media(min-width:1100px){.svc:not(.svc-feat)>h3{font-size:1rem;letter-spacing:.08em}.svc:not(.svc-feat) .btn{min-height:48px;line-height:1.25}}
/* Catálogo: destacado de vidrio de seguridad/antibalas y color */
.callout{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));padding:var(--space-6);background:var(--ap-black);color:var(--ap-white);border-left:3px solid var(--ap-bronze);border-radius:var(--radius-md)}
.callout-i{display:flex;gap:var(--space-4);align-items:flex-start}
.callout-i>.ico{width:32px;height:32px;color:var(--ap-bronze);flex:none}
.callout strong{display:block;font-size:1.0625rem;font-weight:var(--fw-extrabold);letter-spacing:.02em;margin-bottom:4px;color:var(--ap-white)}
.callout p{font-size:.9375rem;color:var(--ap-silver)}
