/* CERTEZZA · Estrategas Jurídicos — hoja de estilos */
:root{
  --navy:#0a1b30; --navy2:#10273e; --navy3:#152f49; --blue:#21476b;
  --silver:#c3ccd3; --silver2:#8b9dac; --ink:#142235; --muted:#657482;
  --paper:#f9faf8; --canvas:#eef1f0; --line:#dce1e2; --white:#fff;
  --serif:Georgia,"Times New Roman",serif;
  --sans:"Segoe UI",Arial,Helvetica,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --container:1140px; --wide:1320px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:105px}
body{margin:0;background:var(--paper);font:400 16px/1.65 var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:clip}
body.menu-open{overflow:hidden}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{font:inherit}
img,svg{display:block;max-width:100%}
img{height:auto}
[hidden]{display:none!important}
::selection{background:#b6c9d9;color:var(--navy)}
:focus-visible{outline:3px solid #608fb7;outline-offset:5px}
.container,.container-wide{width:calc(100% - 88px);margin-inline:auto}
.container{max-width:var(--container)}.container-wide{max-width:var(--wide)}
.section-space{padding-block:clamp(92px,10vw,150px)}
.skip-link{position:fixed;left:12px;top:-70px;z-index:999;padding:12px 20px;background:white;color:var(--navy);border:1px solid var(--blue)}
.skip-link:focus{top:12px}
.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:1000;pointer-events:none}
.reading-progress span{display:block;width:0;height:100%;background:#b8c5d0;transition:width .1s linear}

/* Cabecera */
.site-header{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.97);border-bottom:1px solid #e7e9e9;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:box-shadow .3s ease}
.site-header.is-scrolled{box-shadow:0 12px 35px rgba(9,27,45,.09)}
.header-inner{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.header-brand{display:inline-flex;align-items:center;gap:13px;flex-shrink:0}
.header-brand-mark{width:41px;height:45px;color:#173452;position:relative;display:grid;place-items:center;font:normal 39px/.9 var(--serif);letter-spacing:-5px;overflow:hidden;padding-right:5px}
.mark-slash{position:absolute;width:3px;height:39px;background:#8a929a;transform:rotate(44deg);left:21px;top:6px;opacity:.95}
.header-brand-text{display:flex;flex-direction:column;justify-content:center}
.header-brand-text strong{font:normal 25px/1 var(--serif);letter-spacing:.09em;color:#102841}
.header-brand-text small{font-size:8.6px;line-height:1.8;letter-spacing:.255em;color:#596b7b;margin-top:4px;white-space:nowrap}
.site-nav{display:flex;align-items:center;gap:clamp(15px,2.4vw,35px)}
.nav-link{position:relative;font-size:12px;font-weight:650;letter-spacing:.025em;color:#445364;transition:color .25s}
.nav-link::after{content:"";position:absolute;height:1px;bottom:-8px;left:0;width:0;background:var(--blue);transition:width .3s var(--ease)}
.nav-link:hover,.nav-link.is-active{color:var(--navy)}
.nav-link:hover::after,.nav-link.is-active::after{width:100%}
.nav-action{font-size:11px;font-weight:700;letter-spacing:.065em;text-transform:uppercase;padding:13px 15px;background:var(--navy);color:white;border:1px solid var(--navy);white-space:nowrap;transition:background .25s,transform .25s}
.nav-action span{padding-left:12px;font-size:15px;font-weight:400}
.nav-action:hover{background:#275079;transform:translateY(-2px)}
.menu-toggle{display:none;appearance:none;border:0;background:none;cursor:pointer;padding:12px;flex-direction:column;gap:5px;z-index:3}
.menu-toggle span{display:block;width:27px;height:2px;background:var(--navy);transition:transform .25s,opacity .25s}

/* Elementos comunes */
.eyebrow{font-size:10.5px;line-height:1.4;letter-spacing:.19em;font-weight:700;text-transform:uppercase;display:flex;align-items:center;gap:13px;margin:0 0 34px}
.eyebrow-dash{width:27px;height:1px;display:inline-block;background:currentColor;flex-shrink:0}
.eyebrow.light{color:#b7cbd8}.eyebrow.dark{color:#536b7c}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-weight:400}
h1,h2{font-family:var(--serif);letter-spacing:-.05em}
h1 em,h2 em,h3 em{font-weight:400}
.button{display:inline-flex;align-items:center;justify-content:space-between;min-height:56px;gap:38px;padding:0 14px 0 23px;font-size:12px;font-weight:700;letter-spacing:.035em;line-height:1.3;transition:transform .25s var(--ease),box-shadow .25s,background .25s;border:1px solid transparent}
.button-arrow{display:grid;place-items:center;height:34px;width:34px;font-size:20px;font-weight:400;line-height:1;transition:transform .25s var(--ease)}
.button:hover{transform:translateY(-3px)}.button:hover .button-arrow{transform:translate(2px,-2px)}
.button-light{background:#f7f8f7;color:var(--navy)}.button-light .button-arrow{border:1px solid #d0d8de}
.button-light:hover{background:white;box-shadow:0 15px 35px rgba(0,0,0,.2)}
.button-dark{background:var(--navy);color:white}.button-dark .button-arrow{border:1px solid rgba(255,255,255,.3)}
.button-dark:hover{background:#183d5a;box-shadow:0 15px 30px rgba(11,31,50,.15)}
.text-link{display:inline-flex;gap:17px;align-items:center;font-size:12px;font-weight:650;letter-spacing:.02em;transition:gap .25s}
.text-link:hover{gap:25px}.text-link span{font-size:18px;font-weight:400}.text-link-light{color:#e4eef5}
.underlined-link{display:inline-flex;gap:35px;align-items:center;border-bottom:1px solid #879dad;padding-bottom:13px;color:#183956;font-size:12px;font-weight:650;transition:gap .25s}.underlined-link:hover{gap:45px}.underlined-link span{font-size:17px}

/* Portada */
.hero{position:relative;isolation:isolate;overflow:hidden;color:#f6f8f8;background:radial-gradient(circle at 77% 37%,#1f4665 0%,#122f4a 26%,transparent 54%),linear-gradient(120deg,#071426 0%,#10273f 58%,#0a1b30 100%)}
.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.06),transparent 65%),repeating-linear-gradient(90deg,transparent 0,transparent 119px,rgba(255,255,255,.024) 120px);pointer-events:none}
.hero-grain,.blindaje-noise{position:absolute;inset:0;z-index:-1;opacity:.13;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.24'/%3E%3C/svg%3E")}
.hero-orbit{border:1px solid rgba(219,229,235,.075);position:absolute;z-index:-1;border-radius:50%;pointer-events:none}.orbit-one{width:950px;height:950px;right:-375px;top:-300px}.orbit-two{width:680px;height:680px;right:-235px;top:-160px}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;min-height:650px;align-items:center;gap:35px;padding-top:76px;padding-bottom:52px}
.hero-copy{position:relative;z-index:2;padding-bottom:15px}
.hero-copy h1{font-size:clamp(48px,5.25vw,84px);line-height:1.075;max-width:700px;margin-bottom:28px;text-wrap:balance}
.hero-copy h1 em{color:#b5c6d3;font-style:italic;white-space:normal}.period{color:#aebecb}
.hero-description{font-size:15.5px;max-width:490px;line-height:1.88;color:#c5d1db;margin-bottom:35px;font-weight:350}
.hero-description strong{font-weight:550;color:#f1f6f8}
.hero-actions{display:flex;align-items:center;gap:31px;flex-wrap:wrap}
.hero-signature{margin-top:65px;display:flex;align-items:center;gap:18px;color:#e1ebf0;letter-spacing:.145em;font-size:11px;font-weight:700}
.signature-line{height:37px;width:1px;background:#859aa9}.hero-signature small{display:block;font-size:9px;letter-spacing:.18em;color:#9aafbf;font-weight:400;margin-top:5px}
.hero-art{position:relative;height:530px;display:grid;place-items:center;min-width:0}
.hero-art-axis{position:absolute;top:-60px;bottom:-60px;width:1px;left:50%;background:linear-gradient(transparent,#a9bfd133,transparent);z-index:-1}
.hero-art-frame{position:absolute;width:min(94%,470px);height:465px;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-12deg);border:1px solid rgba(205,220,234,.2);border-radius:49% 51% 54% 46% / 51% 48% 52% 49%;z-index:0;animation:art-breathe 9s ease-in-out infinite alternate}
.hero-art-frame:before{content:"";position:absolute;inset:16px;border-radius:inherit;border:1px solid rgba(205,220,234,.11)}
.hero-art-corner{position:absolute;right:12%;top:6%;font-size:40px;color:#a7b8c6}
.logo-plaque{position:relative;z-index:2;width:min(100%,445px);padding:19px 23px 17px;background:#fff;color:#28435c;box-shadow:0 32px 65px rgba(0,0,0,.24),0 0 0 1px rgba(255,255,255,.3);transform:rotate(-2deg);transition:transform .7s var(--ease),box-shadow .6s}
.logo-plaque:hover{transform:rotate(0deg) translateY(-5px);box-shadow:0 38px 65px rgba(0,0,0,.28)}
.plaque-heading{display:flex;align-items:center;gap:9px;padding-bottom:13px;border-bottom:1px solid #e3e5e6;line-height:1;color:#506679;letter-spacing:.17em;font-size:8.7px;font-weight:700}
.plaque-star{font-size:17px;color:#274f73}.plaque-count{margin-left:auto;font-size:8px;color:#9faab2}
.logo-plaque img{width:100%;aspect-ratio:1296/755;object-fit:contain;margin:15px auto 12px}
.plaque-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e7e9ea;padding-top:11px;letter-spacing:.16em;font-size:9px;color:#607484}
.plaque-mini-icon{color:#173453}
.hero-small-card{z-index:3;position:absolute;bottom:27px;right:-10px;background:#e1e8eb;color:#132d45;min-width:238px;display:flex;align-items:center;gap:12px;padding:15px 19px;box-shadow:0 13px 35px rgba(0,0,0,.2);transform:rotate(3deg)}
.hero-small-card-icon{display:grid;place-items:center;height:37px;width:37px;border:1px solid #9baebb;font-size:23px}
.hero-small-card b{display:block;font-size:10px;letter-spacing:.13em;white-space:nowrap}.hero-small-card small{display:block;font-size:8px;letter-spacing:.13em;margin-top:2px;color:#62788a}
.hero-vertical-text{position:absolute;left:-6px;top:30%;writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.21em;font-size:9px;color:#8fa6b8}
.hero-bottom{min-height:70px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(222,236,248,.17);gap:20px;font-size:9px;letter-spacing:.17em;color:#94adbf}
.hero-bottom a{display:flex;align-items:center;gap:20px;transition:color .2s}.hero-bottom a:hover{color:white}.down-arrow{font-size:18px;color:#e6eff5}
@keyframes art-breathe{to{transform:translate(-50%,-50%) rotate(5deg)}}

/* Franja de especialidades */
.practice-ribbon{background:#e6eae9;border-bottom:1px solid #d9dedf}.ribbon-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.ribbon-item{display:flex;align-items:center;gap:22px;min-height:96px;padding:0 38px;border-left:1px solid #cdd5d8;transition:background .25s}
.ribbon-item:last-child{border-right:1px solid #cdd5d8}.ribbon-item:hover{background:#f2f4f3}
.ribbon-item>span:first-child{font-size:10px;color:#6f8798;display:flex;gap:19px;align-items:center;letter-spacing:.1em}
.ribbon-item i{width:1px;height:21px;background:#b8c3c9;display:block;transform:rotate(25deg)}
.ribbon-item strong{font:normal 30px/1.15 var(--serif);color:#1a3650;letter-spacing:-.04em}
.ribbon-arrow{margin-left:auto;font-size:18px;color:#607991;transition:transform .2s}.ribbon-item:hover .ribbon-arrow{transform:translate(4px,-4px)}

/* Perfil */
.profile{background:var(--paper);position:relative;overflow:hidden}
.profile:before{content:"C";position:absolute;left:-70px;bottom:-180px;font:normal 560px/.8 var(--serif);color:#0f2740;opacity:.024;pointer-events:none}
.section-head-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(50px,9vw,135px);align-items:start}
.profile-intro h2{font-size:clamp(50px,6vw,79px);line-height:1.18;max-width:650px;margin-bottom:38px;color:var(--navy)}
.profile-intro h2 em{color:#6f879a}.small-diamond{color:#7c96a6;font-size:24px}
.profile-detail{padding-top:68px}
.profile-stamp{display:flex;gap:15px;align-items:center;margin-bottom:32px;color:#536d80;font-size:10px;letter-spacing:.15em}
.profile-stamp>span:first-child{width:46px;height:46px;display:grid;place-items:center;border:1px solid #bec9d0;font:italic 23px var(--serif);color:#153552;letter-spacing:-.13em;padding-right:4px}
.stamp-rule{width:20px;height:1px;background:#a4b2bc}
.profile-detail h3{font:normal clamp(28px,3.2vw,38px)/1.15 var(--serif);letter-spacing:-.04em;color:var(--navy);margin-bottom:23px}
.profile-detail p{font-size:15px;line-height:1.95;color:#596976;margin-bottom:20px}
.profile-detail p strong{color:#213d55;font-weight:600}
.profile-detail .underlined-link{margin-top:20px}
.profile-divider{border-top:1px solid #dce1e2;display:flex;justify-content:space-between;gap:25px;padding-top:20px;margin-top:90px;font-size:9px;letter-spacing:.19em;color:#7b8b96}

/* Especialidades */
.specialties{background:#edf0ef;position:relative;overflow:hidden}.specialties-glow{position:absolute;width:660px;height:660px;border-radius:50%;background:#fff;filter:blur(95px);opacity:.43;right:-260px;top:-270px;pointer-events:none}
.specialties-heading{position:relative;display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:55px}
.specialties-heading h2{color:var(--navy);font-size:clamp(45px,5.5vw,70px);line-height:1.2;margin-bottom:0;max-width:740px}
.specialties-heading h2 em{color:#7991a3}
.specialties-heading>p{font-size:14px;line-height:1.85;max-width:255px;color:#657784;margin:0 0 9px}
.specialty-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.specialty-card{position:relative;overflow:hidden;min-height:395px;display:flex;flex-direction:column;padding:29px 29px 22px;border:1px solid #d2dbde;background:#f9faf9;transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s}
.specialty-card:before{content:"";position:absolute;width:270px;height:270px;border:1px solid rgba(40,72,97,.06);border-radius:50%;right:-105px;top:40px;pointer-events:none}
.specialty-card:hover{transform:translateY(-10px);box-shadow:0 24px 42px rgba(18,42,62,.12);border-color:#aec2cf}
.specialty-card-featured{background:linear-gradient(160deg,#142e46,#0a1c31);color:#f0f5f7;border-color:#193b57;box-shadow:0 20px 40px rgba(20,44,64,.12)}
.specialty-card-featured:before{border-color:rgba(255,255,255,.08)}
.card-top{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.14em;color:#6f8796}
.specialty-card-featured .card-top{color:#b7c9d4}
.card-symbol{font-size:20px;line-height:1}
.specialty-icon{margin:33px 0 auto;color:#7390a2}.specialty-icon svg{width:92px;height:92px;stroke-width:1}
.specialty-card-featured .specialty-icon{color:#a3b9c8}
.card-body{margin-top:22px;margin-bottom:37px}
.card-body>p{font-size:10px;color:#899aa5;letter-spacing:.17em;margin-bottom:5px;font-weight:700}
.card-body h3{font:normal clamp(36px,3.6vw,52px)/1.2 var(--serif);letter-spacing:-.045em;margin:0 0 15px;color:#122d44}
.specialty-card-featured .card-body h3{color:white}.card-body h3 span{color:#8c9dab}
.card-body>span{display:block;color:#637785;font-size:13px;line-height:1.75;max-width:220px}
.specialty-card-featured .card-body>span{color:#c0ced8}
.card-footer{border-top:1px solid #d9e0e2;padding-top:17px;font-size:9px;letter-spacing:.16em;color:#8b9ca6;display:flex;justify-content:space-between}
.specialty-card-featured .card-footer{border-color:#3b5367;color:#adc0ce}.card-footer span:last-child{font-size:15px;line-height:.9}
.specialties-note{display:flex;align-items:center;justify-content:center;gap:15px;font-size:11px;font-weight:650;color:#607a8a;letter-spacing:.1em;margin:45px 0 0}.specialties-note span:not(.note-sparkle){color:#bec9ce}.note-sparkle{font-size:16px;color:#2b5273}

/* Interludio */
.manifesto{background:#f7f8f6;border-block:1px solid #dde2e1}.manifesto-inner{min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding-block:60px}
.manifesto-star{font-size:25px;color:#7b95a7;margin-bottom:22px}
.manifesto p{max-width:840px;font:normal clamp(34px,4.5vw,61px)/1.25 var(--serif);letter-spacing:-.045em;color:#19364f;margin-bottom:26px}
.manifesto p em{color:#718b9e}.manifesto-caption{font-size:9px;font-weight:700;letter-spacing:.21em;color:#8595a1}

/* Blindaje */
.blindaje{position:relative;overflow:hidden;isolation:isolate;color:#edf3f5;background:radial-gradient(circle at 78% 23%,#244662 0%,transparent 40%),linear-gradient(126deg,#0a1c30,#132d43 72%,#0b2034)}
.blindaje:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.28;background:repeating-linear-gradient(90deg,transparent 0,transparent 163px,rgba(223,236,246,.09) 164px);z-index:-1}
.blindaje-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;min-height:550px}
.blindaje-micro{display:block;color:#a9bdcb;font-size:10px;font-weight:700;letter-spacing:.2em;margin-bottom:18px}
.blindaje-copy h2{font-size:clamp(64px,7vw,100px);line-height:1.04;margin:0 0 31px;color:white}
.blindaje-copy h2 em{color:#afc2cf}
.blindaje-lead{font-size:clamp(17px,1.7vw,21px);max-width:510px;line-height:1.75;color:#e1e9ee;margin-bottom:20px}
.blindaje-lead strong{color:#fff;font-weight:600}
.blindaje-secondary{font-size:14px;line-height:1.95;max-width:500px;color:#aabfcd;margin-bottom:26px}
.shield-stage{min-height:525px;position:relative;display:grid;place-items:center;isolation:isolate}
.shield-radial{position:absolute;inset:5%;border-radius:50%;background:radial-gradient(circle,rgba(128,164,189,.15),transparent 65%);filter:blur(22px)}
.shield-ring{position:absolute;border-radius:50%;border:1px solid rgba(188,217,231,.16);top:50%;left:50%;transform:translate(-50%,-50%)}
.ring-outer{width:500px;height:500px}.ring-inner{width:425px;height:425px;border-style:dashed;border-color:rgba(188,217,231,.12)}
.shield-drawing{width:min(78%,360px);position:relative;z-index:2;color:#afc3d0;filter:drop-shadow(0 0 25px rgba(198,221,235,.12));animation:shield-float 7s ease-in-out infinite alternate}
.shield-label{position:absolute;z-index:3;font-size:9px;font-weight:700;letter-spacing:.19em;color:#bacbd5;text-align:center}
.shield-label-top{top:13px}.shield-label-bottom{bottom:4px}.shield-label span{margin-inline:9px;color:#fff}
@keyframes shield-float{to{transform:translateY(-13px)}}
.ejes{margin-top:75px;border-top:1px solid rgba(218,232,241,.22);padding-top:24px;scroll-margin-top:130px}
.ejes-title{display:flex;justify-content:space-between;gap:20px;color:#adc3d1;font-size:10px;font-weight:700;letter-spacing:.17em;margin-bottom:25px}
.ejes-content{border:1px solid rgba(205,226,239,.25);display:grid;grid-template-columns:.82fr 1.18fr;min-height:330px}
.ejes-tabs{display:flex;flex-direction:column;border-right:1px solid rgba(205,226,239,.24)}
.eje-tab{appearance:none;border:0;border-bottom:1px solid rgba(205,226,239,.2);background:transparent;color:#cedae1;display:flex;align-items:center;text-align:left;gap:23px;padding:22px 28px;flex:1;cursor:pointer;font:normal clamp(20px,2.5vw,30px)/1.2 var(--serif);letter-spacing:-.025em;transition:background .25s,color .25s}
.eje-tab:last-child{border-bottom:0}.eje-tab>span:first-child{align-self:center;font:700 10px var(--sans);letter-spacing:.1em;color:#91aabd}
.eje-tab:hover,.eje-tab.is-current{background:rgba(225,239,247,.1);color:#fff}
.eje-tab.is-current{box-shadow:inset 3px 0 #c8dbe4}
.tab-arrow{margin-left:auto;font:normal 20px var(--sans);color:#c8d7e0;opacity:0;transform:translate(-3px,3px);transition:opacity .2s,transform .2s}
.eje-tab:hover .tab-arrow,.eje-tab.is-current .tab-arrow{opacity:1;transform:translate(0,0)}
.ejes-panels{padding:40px clamp(28px,5vw,65px);display:flex;align-items:center;min-width:0}
.eje-panel{width:100%;position:relative;animation:panel-enter .35s var(--ease)}
.eje-panel-index{font-size:10px;letter-spacing:.17em;color:#9ab3c4;font-weight:700}
.eje-panel-symbol{position:absolute;top:-25px;right:0;font:normal 85px/1 var(--serif);color:#dcecf5;opacity:.09;letter-spacing:-.09em;pointer-events:none}
.eje-panel-symbol span{font-size:23px;vertical-align:top;margin-left:5px}
.eje-panel h3{font:normal clamp(30px,3.2vw,44px)/1.2 var(--serif);letter-spacing:-.035em;margin:55px 0 16px;color:#f4f7f9;max-width:450px}
.eje-panel h3 em{color:#b7cbd7}.eje-panel p{max-width:430px;font-size:14px;line-height:1.9;color:#b4c8d5;margin-bottom:0}
.ejes-footnote{text-align:right;font-size:9px;letter-spacing:.14em;color:#809caf;margin:17px 0 0}
@keyframes panel-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}

/* Cierre */
.closing{background:var(--paper);position:relative;overflow:hidden}
.closing:before{content:"";position:absolute;width:700px;height:700px;border:1px solid #e3e7e7;border-radius:50%;right:-380px;top:-230px;pointer-events:none}
.closing-grid{display:grid;grid-template-columns:1fr .92fr;align-items:center;gap:clamp(50px,8vw,110px)}
.closing-copy h2{font-size:clamp(51px,6vw,81px);line-height:1.13;letter-spacing:-.055em;color:var(--navy);margin-bottom:30px}
.closing-copy h2 em{color:#778fa1}.closing-copy p:not(.eyebrow){max-width:395px;color:#586e7d;font-size:15px;line-height:1.9;margin-bottom:34px}
.closing-copy p span{margin:0 6px;color:#8ca0ae}
.closing-logo{position:relative;padding:24px 25px 22px;background:white;border:1px solid #d7dfe2;box-shadow:20px 20px 0 #e9edec,0 24px 55px rgba(9,38,61,.075)}
.closing-logo:before,.closing-logo:after{content:"";position:absolute;width:23px;height:23px;border-color:#91a7b8;border-style:solid;pointer-events:none}
.closing-logo:before{left:-7px;top:-7px;border-width:1px 0 0 1px}.closing-logo:after{right:-7px;bottom:-7px;border-width:0 1px 1px 0}
.closing-logo-head,.closing-logo-foot{display:flex;align-items:center;justify-content:space-between;gap:15px;color:#6a7d8d;font-size:9px;letter-spacing:.16em}
.closing-logo-head{border-bottom:1px solid #e1e5e7;padding-bottom:17px}.closing-logo-head span:last-child{font-size:20px;color:#315472}
.closing-logo img{width:100%;margin:20px auto}
.closing-logo-foot{border-top:1px solid #e1e5e7;padding-top:14px;letter-spacing:.11em;font-size:8px}

/* Pie de página */
.site-footer{background:#081a2d;color:#e1e9ee}
.footer-top{padding-block:61px 58px;display:flex;justify-content:space-between;gap:40px;align-items:start;border-bottom:1px solid rgba(214,226,235,.16)}
.footer-brand{display:flex;flex-direction:column}.footer-brand strong{font:normal 38px/1.1 var(--serif);letter-spacing:.07em}.footer-brand span{font-size:9px;color:#a1b5c3;letter-spacing:.28em;margin-top:9px}
.footer-top nav{display:flex;flex-wrap:wrap;gap:20px 35px;padding-top:10px}.footer-top nav a{color:#b6c5d0;font-size:12px;transition:color .2s}.footer-top nav a:hover{color:white}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:73px;font-size:9px;letter-spacing:.13em;color:#839baa}.footer-bottom a{color:#d0dce4;transition:color .2s}.footer-bottom a:hover{color:white}
.back-top{position:fixed;right:22px;bottom:22px;z-index:85;width:47px;height:47px;display:grid;place-items:center;border:1px solid rgba(185,206,222,.45);background:var(--navy);color:white;font-size:22px;cursor:pointer;box-shadow:0 12px 25px rgba(4,17,32,.17);opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .25s,transform .25s,background .25s}
.back-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-top:hover{background:#254868}

/* Las animaciones se activan solo si JavaScript funciona. */
.js-enabled .reveal{opacity:1;transform:none}
.js-enabled .reveal.is-revealed{animation:soft-enter .75s var(--ease) both}
.js-enabled .reveal.delay-1.is-revealed{animation-delay:.1s}
.js-enabled .reveal.delay-2.is-revealed{animation-delay:.2s}
@keyframes soft-enter{from{opacity:.76;transform:translateY(15px)}to{opacity:1;transform:none}}

/* Pantallas intermedias */
@media(max-width:1140px){
  .container,.container-wide{width:calc(100% - 64px)}
  .header-inner{min-height:86px}.site-nav{gap:17px}.nav-link{font-size:11px}.nav-action{padding:12px 12px;font-size:10px}.nav-action span{padding-left:5px}
  .hero-grid{min-height:640px;gap:20px}.hero-copy h1{font-size:clamp(46px,5.5vw,70px)}.hero-art{height:485px}.logo-plaque{width:90%}
  .ribbon-item{padding-inline:22px;gap:14px}.ribbon-item strong{font-size:27px}
  .specialty-card{padding-inline:23px}
}
@media(max-width:900px){
  html{scroll-padding-top:82px}
  .header-inner{min-height:80px}.header-brand-text strong{font-size:24px}
  .menu-toggle{display:flex}
  .site-nav{position:absolute;top:100%;left:0;right:0;background:#fff;border-top:1px solid #e7eaea;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:8px 32px 25px;box-shadow:0 21px 30px rgba(10,27,48,.12);visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-12px);transition:opacity .25s,transform .25s;max-height:calc(100dvh - 80px);overflow-y:auto}
  .site-nav.is-open{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}
  .nav-link{font-size:15px;padding:14px 0;border-bottom:1px solid #edf0f1}.nav-link::after{display:none}
  .nav-link.is-active{color:#1a5b88}.nav-action{margin-top:18px;text-align:center;display:flex;justify-content:space-between;align-items:center;padding:17px;font-size:12px}
  .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}
  .hero-grid{grid-template-columns:1fr;min-height:0;padding-top:80px;padding-bottom:30px;gap:28px}.hero-copy{max-width:720px}.hero-copy h1{max-width:740px;font-size:clamp(55px,7.6vw,80px)}
  .hero-description{max-width:640px}.hero-signature{margin-top:40px}
  .hero-art{height:480px;margin-inline:auto;width:100%;max-width:680px}.logo-plaque{width:min(69%,440px)}.hero-small-card{right:8%;bottom:0}.hero-vertical-text{left:7%}
  .hero-bottom{min-height:65px}
  .section-head-grid{gap:50px}.profile-detail{padding-top:55px}
  .specialty-card{min-height:350px;padding:23px 18px 19px}.specialty-icon{margin-top:25px}.specialty-icon svg{width:75px;height:75px}.card-body h3{font-size:39px}.card-body>span{font-size:12px}
  .blindaje-grid{grid-template-columns:1fr;gap:0}.blindaje-copy{max-width:650px}.blindaje-copy h2{font-size:80px}.shield-stage{min-height:470px}.shield-drawing{width:285px}.ring-outer{width:450px;height:450px}.ring-inner{width:390px;height:390px}
  .closing-grid{gap:45px}.closing-copy h2{font-size:clamp(49px,6vw,70px)}
}
@media(max-width:650px){
  .container,.container-wide{width:calc(100% - 36px)}.section-space{padding-block:82px}
  .header-inner{min-height:73px}.header-brand{gap:9px}.header-brand-mark{width:32px;height:38px;font-size:33px}.mark-slash{height:32px;left:18px;top:5px}
  .header-brand-text strong{font-size:21px}.header-brand-text small{font-size:7.1px;letter-spacing:.19em}.menu-toggle{padding:8px}
  .site-nav{padding-inline:22px;max-height:calc(100dvh - 73px)}
  .hero-grid{padding-top:68px;gap:20px}.hero-copy h1{font-size:clamp(47px,11vw,65px);line-height:1.11;margin-bottom:25px}
  .eyebrow{font-size:9px;letter-spacing:.15em;margin-bottom:25px}.eyebrow-dash{width:21px}
  .hero-description{font-size:14px;line-height:1.85;margin-bottom:28px}.hero-actions{gap:22px}.button{min-height:53px;font-size:11px;padding-left:17px;gap:22px}.button-arrow{height:32px;width:32px}.text-link{font-size:11px}
  .hero-signature{margin-top:37px;font-size:10px}
  .hero-art{height:355px;max-width:490px;margin-top:10px}.hero-art-frame{height:325px;width:340px}.logo-plaque{width:min(80%,365px);padding:12px 15px 10px}.plaque-heading{font-size:7px;padding-bottom:8px}.plaque-star{font-size:13px}.plaque-bottom{font-size:7px;padding-top:7px}.logo-plaque img{margin:9px auto}
  .hero-small-card{bottom:0;right:0;min-width:190px;gap:9px;padding:10px 12px}.hero-small-card-icon{height:30px;width:30px;font-size:18px}.hero-small-card b{font-size:8px}.hero-small-card small{font-size:7px}
  .hero-vertical-text{font-size:7px;left:1%}.hero-art-corner{right:6%}
  .hero-bottom{font-size:8px;letter-spacing:.1em;min-height:66px}.hero-bottom a{gap:8px}.hero-bottom>span{max-width:145px}
  .ribbon-grid{grid-template-columns:1fr 1fr 1fr}.ribbon-item{min-height:86px;gap:7px;padding:10px 9px;flex-direction:column;justify-content:center;text-align:center}
  .ribbon-item>span:first-child{font-size:9px;gap:0}.ribbon-item i,.ribbon-arrow{display:none}.ribbon-item strong{font-size:clamp(19px,5vw,27px)}
  .section-head-grid{grid-template-columns:1fr;gap:16px}.profile-intro h2{font-size:clamp(50px,11.3vw,72px);line-height:1.16;margin-bottom:13px}.small-diamond{font-size:20px}
  .profile-detail{padding-top:26px}.profile-stamp{margin-bottom:24px}.profile-detail h3{font-size:34px}.profile-detail p{font-size:14px}
  .profile-divider{margin-top:65px;gap:7px;flex-wrap:wrap;font-size:8px}
  .specialties-heading{display:block;margin-bottom:32px}.specialties-heading h2{font-size:clamp(48px,10vw,65px)}.specialties-heading>p{font-size:13px;margin-top:20px;max-width:380px}
  .specialty-cards{grid-template-columns:1fr;gap:15px}.specialty-card{min-height:300px;padding:23px 25px 18px}
  .specialty-icon{margin:15px 0 auto}.specialty-icon svg{width:71px;height:71px}.card-body{margin-top:12px;margin-bottom:20px}.card-body h3{font-size:46px;margin-bottom:8px}.card-body>span{max-width:none;font-size:13px}
  .specialties-note{font-size:9px;gap:9px;flex-wrap:wrap;margin-top:32px}.manifesto-inner{min-height:265px}.manifesto p{font-size:clamp(34px,8vw,49px)}
  .blindaje-copy h2{font-size:clamp(60px,14vw,83px)}.blindaje-lead{font-size:17px}.blindaje-secondary{font-size:13px}
  .shield-stage{min-height:385px}.ring-outer{width:345px;height:345px}.ring-inner{width:285px;height:285px}.shield-drawing{width:220px}.shield-label{font-size:7px}.shield-label-top{top:11px}.shield-label-bottom{bottom:13px}
  .ejes{margin-top:35px}.ejes-title{font-size:9px}.ejes-content{grid-template-columns:1fr}.ejes-tabs{flex-direction:row;border-right:0;border-bottom:1px solid rgba(205,226,239,.24)}
  .eje-tab{display:flex;justify-content:center;gap:8px;min-width:0;padding:17px 4px;flex:1;font-size:clamp(15px,4vw,23px);border-bottom:0;border-right:1px solid rgba(205,226,239,.2)}.eje-tab:last-child{border-right:0}.eje-tab>span:first-child{font-size:8px}.eje-tab .tab-arrow{display:none}.eje-tab.is-current{box-shadow:inset 0 3px #c8dbe4}
  .ejes-panels{min-height:240px;padding:35px 26px}.eje-panel h3{font-size:32px;margin-top:44px}.eje-panel p{font-size:13px}.eje-panel-symbol{font-size:64px}.ejes-footnote{text-align:left;font-size:8px}
  .closing-grid{grid-template-columns:1fr;gap:45px}.closing-copy h2{font-size:clamp(53px,12vw,80px)}.closing-logo{padding:18px 17px 18px;box-shadow:12px 12px 0 #e9edec}.closing-logo-foot{flex-wrap:wrap}
  .footer-top{flex-direction:column;gap:30px;padding-block:50px 45px}.footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;padding-top:0}.footer-bottom{flex-wrap:wrap;padding-block:20px;min-height:90px;font-size:8px}.footer-bottom span:first-child{flex-basis:100%}
  .back-top{width:41px;height:41px;right:13px;bottom:15px}
}
@media(max-width:370px){
  .header-brand-text strong{font-size:19px}.header-brand-text small{font-size:6.5px}.hero-copy h1{font-size:45px}.hero-small-card{right:0;bottom:5px}.logo-plaque{width:88%}.hero-art{height:328px}.hero-art-frame{height:300px;width:310px}.ribbon-item strong{font-size:19px}.eje-tab{font-size:14px}.eje-tab>span:first-child{font-size:7px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .js-enabled .reveal{opacity:1;transform:none}
}
