
:root{
  --forest:#1D4B32; --forest-deep:#143526; --forest-soft:#26603F;
  --gold:#B8912F; --gold-soft:#D9BE86; --gold-tint:#F0E2C6;
  --sand:#EFE7DA; --paper:#F7F2E9; --white:#FFFFFF;
  --ink:#231F1A; --ink-soft:#4E463C; --ink-mute:#6B6155;
  --line:rgba(35,31,26,.12); --line-dark:rgba(239,231,218,.18);
  --ff-display:'Bricolage Grotesque',system-ui,sans-serif;
  --ff-body:'Source Serif 4',Georgia,serif;
  --ff-ui:'Bricolage Grotesque',system-ui,sans-serif;
  --r:16px; --r-lg:28px; --r-pill:100px;
  --wrap:1160px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--sand);color:var(--ink);font-family:var(--ff-body);font-size:17.5px;line-height:1.62;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--ff-display);color:var(--ink);letter-spacing:-.03em;line-height:1.06;margin:0 0 .5em;font-weight:800}
h1{font-size:clamp(2.2rem,5.4vw,4.05rem)}
h2{font-size:clamp(1.6rem,3.6vw,2.6rem);line-height:1.08}
h3{font-size:1.06rem;font-weight:700;letter-spacing:-.02em;line-height:1.25}
p{margin:0 0 1.05em}
ul{margin:0 0 1em;padding-left:1.1em}
strong{font-weight:600}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0;background:var(--forest);color:#fff;padding:.7rem 1rem;z-index:200;border-radius:0 0 var(--r) 0}
.skip:focus{left:0}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 clamp(18px,4vw,40px)}
.narrow{max-width:790px}
section{padding:clamp(46px,6.5vw,86px) 0}
.sec-tight{padding:clamp(34px,4.5vw,58px) 0}

/* ---------- labels ---------- */
.eyebrow{font-family:var(--ff-ui);font-size:.85rem;font-weight:700;letter-spacing:-.01em;color:var(--gold);margin:0 0 .9rem;display:flex;align-items:center;gap:.55rem}
.eyebrow::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--gold-soft);flex:none}
.on-dark .eyebrow{color:var(--gold-soft)}
.lead{font-size:clamp(1.04rem,1.7vw,1.16rem);color:var(--ink-soft);max-width:min(58ch,100%);line-height:1.55}
.on-dark .lead{color:rgba(239,231,218,.82)}

/* ---------- header ---------- */
.hdr{position:sticky;top:0;z-index:100;background:rgba(239,231,218,.93);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;gap:18px;min-height:70px}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;flex:none;color:var(--forest)}
.brand svg{width:28px;height:28px;flex:none}
.brand b{font-family:var(--ff-display);font-size:1rem;font-weight:800;letter-spacing:-.035em;color:var(--ink);display:block;line-height:1.05}
.brand span span{font-family:var(--ff-ui);font-size:.62rem;font-weight:600;letter-spacing:.02em;color:var(--ink-mute);display:block}
.nav{margin-left:auto;display:flex;align-items:center;gap:2px}
.nav a{font-family:var(--ff-ui);font-size:.88rem;font-weight:500;letter-spacing:-.01em;white-space:nowrap;color:var(--ink-soft);text-decoration:none;padding:.5rem .58rem;border-radius:var(--r-pill)}
.nav a:hover{color:var(--forest);background:rgba(29,75,50,.07)}
.nav a[aria-current="page"]{color:var(--forest);font-weight:700}
.hdr-act{display:flex;align-items:center;gap:8px;flex:none}
.lang{font-family:var(--ff-ui);font-size:.78rem;font-weight:700;color:var(--ink-soft);text-decoration:none;border:1.5px solid var(--line);padding:.42rem .62rem;border-radius:var(--r-pill)}
.lang:hover{color:var(--forest);border-color:var(--forest)}
.burger{display:none;background:none;border:1.5px solid var(--line);color:var(--ink);border-radius:var(--r-pill);padding:.48rem .78rem;font-family:var(--ff-ui);font-size:.82rem;font-weight:700;cursor:pointer}
.drawer{display:none}
@media(max-width:1120px){
  .nav{display:none}
  .burger{display:block}
  .drawer[data-open="true"]{display:block;position:fixed;inset:70px 0 0;background:var(--sand);z-index:99;overflow:auto;padding:14px clamp(18px,4vw,40px) 60px}
  .drawer a{display:block;font-family:var(--ff-ui);font-weight:600;color:var(--ink);text-decoration:none;padding:.95rem 0;border-bottom:1px solid var(--line);font-size:1.05rem}
}
@media(max-width:760px){.hdr-act .btn{display:none}}
@media(max-width:380px){.brand span span{display:none}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--ff-ui);font-weight:700;font-size:.92rem;letter-spacing:-.01em;padding:.85rem 1.4rem;border-radius:var(--r-pill);text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:transform .15s ease,background .15s ease,color .15s ease;line-height:1.2}
.btn:hover{transform:translateY(-1px)}
.btn-p{background:var(--forest);color:var(--sand)}
.btn-p:hover{background:var(--forest-soft)}
.btn-o{border-color:var(--forest);color:var(--forest)}
.btn-o:hover{background:rgba(29,75,50,.08)}
.on-dark .btn-o{color:var(--gold-soft);border-color:rgba(217,190,134,.6)}
.on-dark .btn-o:hover{background:rgba(217,190,134,.14)}
.on-dark .btn-p{background:var(--gold-soft);color:#2A2210}
.on-dark .btn-p:hover{background:var(--gold-tint)}
.btn-g{border-color:var(--forest);color:var(--forest)}
.btn-g:hover{background:var(--forest);color:var(--sand)}
.btn-row{display:flex;flex-wrap:wrap;gap:11px;margin-top:1.8rem}
.btn-sm{padding:.62rem 1rem;font-size:.85rem}

/* ---------- hero ---------- */
.hero{padding:clamp(38px,5vw,68px) 0 clamp(34px,4.5vw,58px);background:var(--sand)}
.hero-in{max-width:940px}
.hero h1{max-width:17ch;text-wrap:balance}
.hero h1 mark{background:none;color:var(--forest);box-shadow:inset 0 -.26em 0 var(--gold-soft);padding:0 .04em}
.hero .lead{max-width:min(56ch,100%)}
.pull{margin:2.2rem 0 0;font-family:var(--ff-body);font-style:italic;font-size:clamp(1.05rem,1.9vw,1.32rem);line-height:1.4;color:var(--forest);max-width:min(34ch,100%);border-left:2px solid var(--gold-soft);padding-left:1.1rem}
.on-dark .pull{color:var(--gold-soft);border-color:var(--gold-soft)}
.on-dark{background:var(--forest);color:var(--sand);border-radius:var(--r-lg);max-width:1240px;margin-left:auto;margin-right:auto}
@media(max-width:1300px){.on-dark{margin-left:clamp(10px,2vw,20px);margin-right:clamp(10px,2vw,20px)}}
.on-dark h2,.on-dark h3,.on-dark h1{color:var(--white)}
.on-dark p{color:rgba(239,231,218,.86)}
.on-dark .net{display:none}
.hero .net{display:none}

/* ---------- pods ---------- */
.pod,.card{background:var(--paper);border-radius:var(--r);padding:24px 22px;border:1px solid transparent}
.card h3{margin-bottom:.4rem}
.card p{color:var(--ink-soft);font-size:.98rem;margin:0}
a.card{text-decoration:none;display:block;transition:background .16s ease,transform .16s ease,box-shadow .16s ease}
a.card:hover{background:var(--white);transform:translateY(-2px);box-shadow:0 16px 36px -24px rgba(35,31,26,.5)}
.on-dark .card{background:rgba(239,231,218,.07);border-color:var(--line-dark)}
.on-dark .card p{color:rgba(239,231,218,.78)}
.strip{background:var(--sand);padding:0 0 clamp(30px,4vw,50px)}
.strip .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.strip .grid>div{background:var(--paper);border-radius:var(--r);padding:22px 20px}
.strip h3{margin-bottom:.35rem}
.strip p{color:var(--ink-soft);font-size:.96rem;margin:0}

.grid{display:grid;gap:14px}
.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(268px,1fr))}

/* ---------- norm card ---------- */
a.card.ncard{display:flex;flex-direction:column;gap:.35rem;min-height:190px}
.ncard .chip{width:fit-content;margin:.15rem 0 .2rem}
.ncode{font-family:var(--ff-display);font-weight:800;font-size:1.05rem;letter-spacing:-.03em;color:var(--forest)}
.ncard h3{font-size:1rem;color:var(--ink);margin:.15rem 0 0}
.ncard p{font-size:.95rem;margin-top:.35rem}
.ncard .more{margin-top:auto;font-family:var(--ff-ui);font-size:.84rem;font-weight:700;color:var(--gold);padding-top:1rem}
.chip{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--ff-ui);font-size:.78rem;font-weight:700;letter-spacing:-.01em;color:var(--ink-mute);background:none;border:0;padding:0}
.chip::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ink-mute);flex:none}
.chip.vigente{color:#2F7D5B}.chip.vigente::before{background:#2F7D5B}
.chip.transicion{color:#A9781E}.chip.transicion::before{background:#C79A3E}
.chip.revision{color:#6C5FA6}.chip.revision::before{background:#8A7CB8}
.chip.guia{color:#7A7168}.chip.guia::before{background:#9A9188}
.chip-row{display:flex;flex-wrap:wrap;gap:10px 18px}
.on-dark .chip{color:var(--gold-soft)}
.on-dark .chip::before{background:var(--gold-soft)}

/* ---------- lists ---------- */
.plist{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.plist li{background:var(--paper);border-radius:12px;padding:.85rem 1rem .85rem 2.2rem;position:relative;color:var(--ink-soft);font-size:1rem}
.plist li::before{content:"";position:absolute;left:1rem;top:1.5em;width:9px;height:2px;background:var(--gold);border-radius:2px}
.on-dark .plist li{background:rgba(239,231,218,.07);color:rgba(239,231,218,.88)}
.on-dark .plist li::before{background:var(--gold-soft)}
.quote-box{border-radius:var(--r);padding:22px 24px;margin-top:26px;background:var(--gold-tint);font-family:var(--ff-body);font-style:italic;font-size:1.1rem;color:var(--forest);line-height:1.42}
.on-dark .quote-box{background:rgba(217,190,134,.14);color:var(--gold-soft)}

/* ---------- steps ---------- */
.steps{counter-reset:s;display:grid;gap:10px;margin-top:2rem}
.step{counter-increment:s;background:var(--paper);border-radius:var(--r);padding:20px 22px 20px 62px;position:relative}
.step::before{content:counter(s);position:absolute;left:20px;top:19px;width:28px;height:28px;border-radius:50%;background:var(--gold-tint);color:#8A6A2F;font-family:var(--ff-ui);font-weight:800;font-size:.86rem;display:flex;align-items:center;justify-content:center}
.step h3{margin:0 0 .25rem}
.step p{margin:0;color:var(--ink-soft);font-size:.97rem}
.on-dark .step{background:rgba(239,231,218,.07)}
.on-dark .step::before{background:rgba(217,190,134,.22);color:var(--gold-soft)}
.on-dark .step p{color:rgba(239,231,218,.8)}
@media(max-width:520px){.step{padding-left:20px;padding-top:52px}.step::before{top:18px}}

/* ---------- checks ---------- */
.checks{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}
.checks li{position:relative;padding-left:1.7rem;font-size:1rem;color:var(--ink-soft)}
.checks li::before{content:"";position:absolute;left:1px;top:.55em;width:10px;height:5px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}
.on-dark .checks li{color:rgba(239,231,218,.88)}
.on-dark .checks li::before{border-color:var(--gold-soft)}

.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(26px,4.5vw,60px);align-items:start}
@media(max-width:880px){.split{grid-template-columns:1fr}}

/* ---------- faq ---------- */
.faq{margin-top:1.6rem;display:grid;gap:9px}
.faq details{background:var(--paper);border-radius:var(--r);overflow:hidden}
.faq summary{cursor:pointer;list-style:none;padding:1.05rem 3rem 1.05rem 1.25rem;font-family:var(--ff-display);font-weight:700;letter-spacing:-.02em;color:var(--ink);position:relative;font-size:1.02rem;line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:1.25rem;top:.9rem;color:var(--gold);font-family:var(--ff-ui);font-weight:700;font-size:1.3rem}
.faq details[open] summary::after{content:"–"}
.faq .ans{padding:0 1.25rem 1.2rem;color:var(--ink-soft);font-size:1rem;max-width:78ch}

/* ---------- status rows ---------- */
.statusrow{display:grid;grid-template-columns:170px 1fr auto;gap:14px;padding:.9rem 1.1rem;align-items:center;font-size:.99rem;background:var(--paper);border-radius:12px;margin-bottom:8px}
.statusrow .c{font-family:var(--ff-display);font-weight:800;letter-spacing:-.03em;color:var(--forest)}
.on-dark .statusrow{background:rgba(239,231,218,.07);color:rgba(239,231,218,.88)}
.on-dark .statusrow .c{color:var(--gold-soft)}
@media(max-width:640px){.statusrow{grid-template-columns:1fr;gap:5px}}

/* ---------- form ---------- */
.formwrap{background:var(--paper);border-radius:var(--r-lg);padding:clamp(22px,3.2vw,40px)}
.formwrap h2{font-size:clamp(1.4rem,2.6vw,1.9rem)}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:680px){.fgrid{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:.3rem}
.field.full{grid-column:1/-1}
label{font-family:var(--ff-ui);font-size:.85rem;font-weight:600;color:var(--ink)}
label .opt{font-weight:400;color:var(--ink-mute);font-size:.78rem}
input,select,textarea{font-family:var(--ff-body);font-size:1rem;padding:.75rem .9rem;border:1.5px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);width:100%}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--gold)}
.err{color:#9A2B2B;font-size:.8rem;font-family:var(--ff-ui);display:none}
.field[data-invalid="true"] input,.field[data-invalid="true"] select,.field[data-invalid="true"] textarea{border-color:#9A2B2B}
.field[data-invalid="true"] .err{display:block}
.consent{display:flex;gap:.6rem;align-items:flex-start;font-size:.92rem;color:var(--ink-soft)}
.consent input{width:auto;margin-top:.35rem}
.formmsg{display:none;border-radius:var(--r);padding:18px 20px;margin-bottom:16px;font-size:.98rem}
.formmsg[data-show="true"]{display:block}
.formmsg.ok{background:#E4F0E8;color:#1D4B32}
.formmsg.bad{background:#F7E7E5;color:#7A2020}
.formmsg strong{display:block;font-family:var(--ff-display);font-weight:800;letter-spacing:-.02em;margin-bottom:.2rem}

/* ---------- footer ---------- */
.ftr{background:var(--forest-deep);color:rgba(239,231,218,.78);padding:clamp(44px,5.5vw,72px) 0 24px;font-size:.98rem;margin-top:clamp(30px,4vw,50px)}
.ftr h4{font-family:var(--ff-ui);font-size:.9rem;font-weight:700;color:var(--gold-soft);margin:0 0 .9rem}
.ftr a{color:rgba(239,231,218,.78);text-decoration:none}
.ftr a:hover{color:#fff}
.ftr .brand{color:var(--gold-soft)}
.ftr .brand b{color:#fff}
.ftr .brand span span{color:rgba(239,231,218,.6)}
.ftr-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:30px}
@media(max-width:860px){.ftr-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.ftr-grid{grid-template-columns:1fr}}
.ftr ul{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}
.ftr-bottom{margin-top:40px;padding-top:18px;border-top:1px solid var(--line-dark);display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;font-size:.86rem;color:rgba(239,231,218,.55)}
.disclaimer{font-size:.86rem;color:rgba(239,231,218,.55);max-width:70ch;margin-top:12px;line-height:1.5}
.on-dark .disclaimer{color:rgba(239,231,218,.74);font-size:.9rem}

/* ---------- fab ---------- */
.fab{position:fixed;right:16px;bottom:16px;z-index:90;background:var(--forest);color:var(--sand);border-radius:var(--r-pill);padding:.78rem 1.15rem;text-decoration:none;font-family:var(--ff-ui);font-size:.9rem;font-weight:700;display:inline-flex;gap:.45rem;align-items:center;box-shadow:0 14px 30px -14px rgba(20,53,38,.7)}
.fab:hover{background:var(--forest-soft)}
@media(max-width:520px){.fab span{display:none}.fab{padding:.9rem}}

/* ---------- crumbs ---------- */
.crumbs{font-family:var(--ff-ui);font-size:.85rem;font-weight:500;color:var(--ink-mute);margin-bottom:1.1rem}
.crumbs a{text-decoration:none;color:var(--ink-mute)}
.crumbs a:hover{color:var(--forest)}
.crumbs span{color:var(--gold)}
.on-dark .crumbs,.on-dark .crumbs a{color:rgba(239,231,218,.65)}

/* ---------- pending ---------- */
.pending{font-family:var(--ff-ui);font-size:.92rem;font-weight:500;background:var(--gold-tint);color:#7A5A22;padding:15px 18px;border-radius:12px;line-height:1.5}
.on-dark .pending{color:var(--gold-soft);background:rgba(217,190,134,.14)}

/* ---------- filters ---------- */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:1.6rem 0 1.8rem}
.filters button{font-family:var(--ff-ui);font-size:.88rem;font-weight:600;background:var(--paper);border:1.5px solid transparent;color:var(--ink-soft);padding:.5rem 1rem;border-radius:var(--r-pill);cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--forest);color:var(--sand)}

/* ---------- reveal ---------- */
.js .rv{opacity:0;transform:translateY(12px);transition:opacity .55s ease,transform .55s ease}
.js .rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .js .rv{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
  .btn:hover{transform:none}
}

.badge{display:inline-block;font-family:var(--ff-ui);font-size:.82rem;font-weight:700;color:#8A6A2F;background:var(--gold-tint);padding:.3rem .8rem;border-radius:var(--r-pill);margin:0 0 1rem}
.badge-sm{display:inline-block;font-family:var(--ff-ui);font-size:.72rem;font-weight:700;color:#8A6A2F;background:var(--gold-tint);padding:.22rem .62rem;border-radius:var(--r-pill);margin-bottom:.7rem}
.card.soon{opacity:.92}

.clients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(228px,1fr));gap:12px}
.client{background:var(--paper);border-radius:var(--r);padding:22px 20px;display:flex;flex-direction:column;gap:.35rem;min-height:170px}
.clogo-wrap{display:flex;align-items:center;min-height:56px;margin-bottom:.4rem}
.clogo{max-height:52px;width:auto;max-width:100%;object-fit:contain}
.cname{font-family:var(--ff-display);font-weight:800;font-size:1.14rem;letter-spacing:-.035em;color:var(--forest);line-height:1.12}
.cfoot{font-family:var(--ff-display);font-weight:700;font-size:.98rem;letter-spacing:-.02em;color:var(--ink)}
.csector{font-size:.92rem;color:var(--ink-mute);line-height:1.35}
.cnorms{margin-top:auto;display:flex;flex-wrap:wrap;gap:6px;padding-top:.9rem}
.cnorm{font-family:var(--ff-ui);font-size:.74rem;font-weight:700;color:#8A6A2F;background:var(--gold-tint);padding:.24rem .55rem;border-radius:var(--r-pill)}
.on-dark .client{background:rgba(239,231,218,.07)}
.on-dark .cname,.on-dark .cfoot{color:#fff}

.channels{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:1.8rem}
.channel{background:var(--paper);border-radius:var(--r);padding:24px 22px;display:flex;flex-direction:column}
.channel h3{margin-bottom:.4rem}
.channel p{color:var(--ink-soft);font-size:.96rem;margin:0 0 1rem}
.chlink{margin-top:auto;font-family:var(--ff-ui);font-weight:700;font-size:1.02rem;color:var(--forest);text-decoration:none;border-bottom:2px solid var(--gold-soft);align-self:flex-start;padding-bottom:2px}
.chlink:hover{border-color:var(--forest)}
.on-dark .channel{background:rgba(239,231,218,.07)}
.on-dark .channel p{color:rgba(239,231,218,.8)}
.on-dark .chlink{color:var(--gold-soft)}

.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.person{background:rgba(239,231,218,.07);border-radius:var(--r);padding:24px 22px}
.person .initials{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:rgba(217,190,134,.2);color:var(--gold-soft);font-family:var(--ff-ui);font-weight:800;font-size:1rem;margin-bottom:1rem}
.person h3{margin:0 0 .2rem}
.person p{margin:0;color:rgba(239,231,218,.8);font-size:.96rem}

.tagpill{font-family:var(--ff-ui);font-size:.86rem;font-weight:600;color:var(--gold-soft);background:rgba(239,231,218,.08);padding:.4rem .85rem;border-radius:var(--r-pill)}
.chamber{font-family:var(--ff-ui);font-size:.9rem;font-weight:600;color:var(--gold-soft);margin-top:1rem;max-width:34ch}
.hdr .brand img,.ftr .brand img{height:38px;width:auto}
.ftr .brand img{height:40px}

.nicon-wrap{display:block;color:var(--forest);margin-bottom:.6rem;line-height:0}
.nicon{display:block}
.nicon-hero{color:var(--forest);margin-bottom:1.1rem;line-height:0}
.on-dark .nicon-wrap,.on-dark .nicon-hero{color:var(--gold-soft)}
a.card.ncard{min-height:250px}
.tagpill{display:inline-block}
section:not(.on-dark) .tagpill{color:#8A6A2F;background:var(--gold-tint)}

.hdr-in{min-height:78px}
.hdr .brand img{height:52px;width:auto}
.ftr .brand img{height:80px;width:auto}
.chamber{display:flex;align-items:center;gap:12px;margin-top:1.1rem;font-family:var(--ff-ui);font-size:.86rem;font-weight:600;color:var(--gold-soft);max-width:36ch;line-height:1.3}
.chamber img{width:56px;height:56px;object-fit:contain;background:#fff;border-radius:50%;padding:4px;flex:none}
.chamber-inline{display:flex;align-items:center;gap:16px;background:var(--paper);border-radius:var(--r);padding:18px 20px;margin-top:1.6rem}
.chamber-inline img{width:66px;height:66px;object-fit:contain;flex:none}
.chamber-inline span{font-family:var(--ff-ui);font-weight:600;color:var(--forest);font-size:1rem;line-height:1.3}

/* logotipos de clientes sobre teja blanca */
.clogo-wrap{background:#fff;border-radius:12px;min-height:96px;display:flex;align-items:center;justify-content:center;padding:14px 16px;margin-bottom:.7rem}
.clogo{max-height:62px;max-width:100%;width:auto;object-fit:contain}
.client{min-height:210px}

/* referencias ISO/IAF/EGAC/IAS */
.refs{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-top:1.6rem}
.ref{background:rgba(239,231,218,.08);border-radius:var(--r);padding:20px}
.ref-n{display:block;font-family:var(--ff-display);font-weight:800;font-size:1.5rem;letter-spacing:-.04em;color:var(--gold-soft);margin-bottom:.4rem}
.ref p{margin:0;font-size:.93rem;color:rgba(239,231,218,.82);line-height:1.45}
section:not(.on-dark) .ref{background:var(--paper)}
section:not(.on-dark) .ref-n{color:var(--forest)}
section:not(.on-dark) .ref p{color:var(--ink-soft)}

.clogo-wrap{min-height:106px}
.clogo{max-height:76px}
.client{min-height:220px}
.hdr .brand img{height:56px}

/* cabecera adaptada al logotipo vertical oficial */
.hdr-in{min-height:112px;gap:14px;padding-top:8px;padding-bottom:8px}
.hdr .brand img{height:88px;width:auto}
.ftr .brand img{height:110px;width:auto}
.ftr .brand{align-items:flex-start}
.nav{align-self:center}
.nav a{font-size:.86rem;padding:.5rem .6rem}
.hdr-act{align-self:center}
.drawer[data-open="true"]{inset:112px 0 0}
@media(max-width:1180px){.drawer[data-open="true"]{inset:112px 0 0}}
@media(max-width:760px){
  .hdr-in{min-height:96px}
  .hdr .brand img{height:74px}
}
@media(max-width:420px){
  .hdr-in{min-height:88px;gap:10px}
  .hdr .brand img{height:66px}
  .lang{padding:.38rem .5rem}
}
/* menú móvil completo, sin desplazamiento */
@media(max-width:760px){
  .drawer[data-open="true"]{
    inset:96px 0 auto;
    height:calc(100vh - 96px);
    height:calc(100dvh - 96px);
    display:flex;
    overflow:hidden;
    padding:10px 12px max(10px,env(safe-area-inset-bottom));
  }
  .drawer nav{
    width:100%;
    height:auto;
    flex:1;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(6,minmax(0,1fr));
    gap:6px;
  }
  .drawer a{
    min-width:0;
    min-height:0;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:.4rem .35rem;
    border:1px solid var(--line);
    border-radius:12px;
    background:rgba(247,242,233,.72);
    font-size:clamp(.78rem,3.5vw,.92rem);
    line-height:1.15;
    text-align:center;
    overflow-wrap:anywhere;
  }
  .drawer a:nth-last-child(2){background:var(--forest);color:var(--sand);border-color:var(--forest)}
  .drawer a:last-child{color:var(--forest);border-color:var(--forest)}
}
@media(max-width:420px){
  .drawer[data-open="true"]{
    inset:88px 0 auto;
    height:calc(100vh - 88px);
    height:calc(100dvh - 88px);
  }
}
.hero{padding-top:clamp(30px,4vw,54px)}
