:root { --navy:#123454;--navy-dark:#071b2f;--navy-deep:#061526;--orange:#ff9416;--orange-dark:#b55300;--ink:#25364a;--muted:#526579;--fog:#f3f7fb;--line:#dce7f0;--white:#fff;--shadow:0 18px 40px rgba(15,43,73,.09); }
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:78px}
body{margin:0;font-family:Montserrat,Inter,Arial,sans-serif;color:var(--ink);background:var(--white);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{text-underline-offset:3px}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:4px;border-radius:4px}
svg{display:block}.svg-library{width:0;height:0;position:absolute;overflow:hidden}.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.icon-arrow{width:19px;height:19px;stroke-width:2.2}
.shell{width:min(1160px,calc(100% - 56px));margin-inline:auto}
.skip-link{position:absolute;top:-60px;left:12px;z-index:100;background:var(--orange);padding:8px 14px;color:var(--navy-deep);font-weight:700}.skip-link:focus{top:10px}
.site-header{z-index:30;position:sticky;top:0;background:rgba(255,255,255,.98);border-bottom:1px solid #e9eff4;box-shadow:0 4px 20px rgba(5,25,50,.025)}
.nav-inner{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:5px;text-decoration:none;color:var(--navy);flex-shrink:0}
.brand img{width:69px;height:64px;object-fit:contain;object-position:center}
.brand span{font-size:23px;font-weight:800;letter-spacing:-.045em;white-space:nowrap}.brand span strong{color:var(--orange-dark);font-weight:800}
.main-nav{display:flex;gap:28px;align-items:center}.main-nav a{position:relative;text-decoration:none;color:var(--navy);font-size:13px;font-weight:700;transition:color .2s}.main-nav a:hover,.main-nav a.current{color:var(--orange-dark)}
.main-nav a:not(.nav-contact)::after{content:"";position:absolute;width:0;height:3px;background:var(--orange);bottom:-9px;left:0;border-radius:5px;transition:width .2s}.main-nav a:not(.nav-contact):hover::after,.main-nav a.current::after{width:100%}
.main-nav .nav-contact{display:flex;align-items:center;gap:7px;background:var(--navy);color:white;padding:10px 16px;border-radius:9px;transition:background .2s,transform .2s}.main-nav .nav-contact:hover{background:#1b466a;color:white;transform:translateY(-2px)}
.nav-toggle{display:none;cursor:pointer;background:transparent;border:0;padding:8px}.nav-toggle span{display:block;width:27px;height:3px;margin:5px 0;background:var(--navy);border-radius:3px}
.hero{isolation:isolate;position:relative;min-height:540px;display:flex;align-items:center;overflow:hidden;background:var(--navy-dark);color:#fff}
.hero::before{content:"";position:absolute;z-index:-2;inset:0;background:url('assets/itbeast-hero.webp') center center / cover no-repeat;transform:scale(1.025)}
.hero::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(3,22,41,.94) 0%,rgba(5,30,53,.89) 32%,rgba(4,31,56,.34) 65%,rgba(4,31,56,.1) 100%)}
.hero-grid{position:absolute;z-index:-1;inset:0;opacity:.16;pointer-events:none;background-image:linear-gradient(to right,transparent 99%,rgba(85,165,218,.25) 100%),linear-gradient(to bottom,transparent 99%,rgba(85,165,218,.25) 100%);background-size:64px 64px;mask-image:linear-gradient(to right,black,transparent 66%)}
.hero-content{padding-top:85px;padding-bottom:98px;animation:appear .75s ease both}
.hero-eyebrow{color:#ffac45!important;font-size:11px!important;letter-spacing:.16em}
.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 22px;color:var(--orange-dark);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.eyebrow-line{width:31px;height:3px;background:var(--orange);border-radius:2px;flex-shrink:0}
.hero h1{max-width:760px;font-size:clamp(38px,4.1vw,62px);line-height:1.13;letter-spacing:-.055em;margin:0 0 24px;font-weight:800;text-wrap:balance}
.hero h1 span{color:var(--orange)}
.hero-subtitle{max-width:570px;font-size:16px;line-height:1.9;color:#e2ecf5;margin:0 0 32px}
.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;gap:17px;text-decoration:none;cursor:pointer;border:0;border-radius:10px;padding:15px 24px;font-weight:800;font-size:14px;min-height:50px;transition:transform .23s ease,box-shadow .23s ease,filter .23s ease}
.button-orange{background:var(--orange);color:#182b40;box-shadow:0 10px 25px rgba(255,148,22,.24)}.button-orange:hover{transform:translateY(-3px);box-shadow:0 15px 30px rgba(255,148,22,.3);filter:brightness(1.03)}
.hero-text-link{color:#eff7fc;text-decoration:none;font-size:13px;font-weight:700;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:4px}.hero-text-link:hover{color:var(--orange);border-color:var(--orange)}
.hero-bottom-line{position:absolute;height:3px;bottom:0;left:0;right:0;background:linear-gradient(90deg,var(--orange),transparent 55%)}
.section{padding:92px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:34px}h2{font-size:clamp(27px,3vw,38px);line-height:1.23;letter-spacing:-.045em;color:var(--navy);margin:0;font-weight:800}h3{line-height:1.35}
.section-intro{max-width:330px;margin:0 0 6px;color:var(--muted);line-height:1.8}
.services{background:linear-gradient(180deg,#f7fafc 0%,#f1f6fa 100%)}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.service-card{position:relative;display:flex;flex-direction:column;align-items:start;background:var(--white);border:1px solid #dce9f1;border-top:3px solid rgba(255,148,22,.7);border-radius:17px;padding:29px 26px 25px;min-height:340px;box-shadow:var(--shadow);transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,border-color .28s ease}
.service-card:hover,.service-card:focus-within{transform:translateY(-8px);box-shadow:0 24px 49px rgba(10,45,83,.16);border-color:rgba(255,148,22,.8)}
.card-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:14px;color:var(--orange-dark);background:#fff3e3;margin-bottom:19px;transition:background .25s,color .25s,transform .28s}.card-icon .icon{width:28px;height:28px;stroke-width:1.9}.service-card:hover .card-icon{background:var(--orange);color:var(--navy-dark);transform:rotate(-4deg) scale(1.07)}
.card-index{font-size:9px;letter-spacing:.13em;color:#8293a3;font-weight:800;margin-bottom:9px}
.service-card h3{font-size:17px;letter-spacing:-.035em;color:var(--navy);margin:0 0 12px;font-weight:800}
.service-card p{font-size:13px;line-height:1.85;color:#526579;margin:0 0 25px}
.card-link{display:inline-flex;gap:10px;align-items:center;color:#a74a00;text-decoration:none;font-weight:800;font-size:12px;margin-top:auto}.card-link:hover{color:var(--navy)}.card-link .icon{transition:transform .2s}.card-link:hover .icon{transform:translateX(4px)}
.about{background:white}.about-grid{display:grid;grid-template-columns:1.06fr .94fr;align-items:center;gap:9%}.about-copy h2{margin-bottom:27px}.about-copy h2 span{color:var(--orange-dark)}.about-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:1.9;margin:0 0 17px}.text-action{display:inline-flex;gap:11px;align-items:center;margin-top:12px;text-decoration:none;color:var(--orange-dark);font-weight:800;font-size:13px}.text-action .icon{transition:transform .2s}.text-action:hover .icon{transform:translateX(5px)}
.about-visual{isolation:isolate;position:relative;overflow:hidden;border-radius:20px;background:linear-gradient(140deg,#0c2948,#071c33 65%,#102d4e);color:white;min-height:418px;padding:31px;display:flex;flex-direction:column;box-shadow:0 22px 54px rgba(5,32,56,.14)}
.about-visual::before{content:"";position:absolute;z-index:-1;inset:0;opacity:.19;background-image:radial-gradient(circle,#8dd6f9 1px,transparent 2px);background-size:29px 29px;mask-image:linear-gradient(135deg,transparent,black)}
.about-graphic-glow{z-index:-1;position:absolute;right:-120px;top:-150px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(30,147,230,.42),transparent 66%)}
.about-topline{font-size:9px;letter-spacing:.14em;color:#ffd196;font-weight:800}.process-title{font-size:33px;font-weight:800;letter-spacing:-.05em;line-height:1.17;margin:24px 0}.process-steps{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.process-steps div{padding:13px 12px;border:1px solid rgba(177,217,245,.25);border-radius:10px;background:rgba(255,255,255,.045);font-size:12px;font-weight:700}.process-steps span{font-size:10px;color:#ffab3b;margin-right:7px}.about-graphic-footer{margin-top:auto;padding-top:19px;display:flex;align-items:center;gap:9px;color:#d4e2ed;font-size:9px;letter-spacing:.14em;font-weight:700}.small-dot{width:8px;height:8px;background:#ff9416;border-radius:100%;box-shadow:0 0 15px rgba(255,148,22,.7)}
.approach{color:white;background:#0b2744;position:relative;overflow:hidden}.approach::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.1;background-image:linear-gradient(115deg,transparent 37%,#43a3e0 38%,transparent 39%);background-size:150px 150px}
.approach-top{position:relative;display:flex;align-items:end;gap:10%;justify-content:space-between;margin-bottom:47px}.approach h2{color:white}.approach-top>p{max-width:300px;font-size:13px;color:#c1d4e4;line-height:1.85;margin:0}.eyebrow-light{color:#ffc17c}.value-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid rgba(255,255,255,.2);padding-top:34px}.value-item{padding-right:40px}.value-item+.value-item{border-left:1px solid rgba(255,255,255,.2);padding-left:36px}.value-mark{color:var(--orange);font-weight:800;font-size:12px;letter-spacing:.06em}.value-item h3{font-size:16px;color:white;margin:9px 0 11px}.value-item p{font-size:13px;color:#c3d3e1;margin:0;line-height:1.85}
.contact{background:#fff}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:10%;align-items:center}.contact h2{margin-bottom:19px}.contact-grid>div:first-child>p:not(.eyebrow){max-width:470px;font-size:14px;color:var(--muted);line-height:1.85;margin:0}.contact-card{background:#f4f8fb;border:1px solid #dce7ef;border-radius:17px;padding:29px;box-shadow:0 10px 30px rgba(16,50,82,.04)}.contact-card-label{font-size:10px;color:var(--orange-dark);letter-spacing:.14em;font-weight:800;margin-bottom:16px}.contact-email{display:flex;gap:12px;align-items:center;color:var(--navy);font-size:clamp(14px,1.4vw,19px);font-weight:800;text-decoration:none;overflow-wrap:anywhere}.contact-email svg{color:var(--orange-dark);flex-shrink:0}.contact-button{margin-top:22px;width:100%}.contact-card>p{margin:15px 0 0;color:#718395;font-size:11px;text-align:center}
.site-footer{background:#071b2f;color:#c9d8e7;padding:24px 0}.footer-inner{display:flex;gap:20px;align-items:center;justify-content:space-between}.footer-brand{display:flex;gap:15px;align-items:center;font-size:11px}.footer-brand strong{color:white;font-size:13px;letter-spacing:.05em}.site-footer .footer-inner>span{font-size:11px}
@keyframes appear{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.main-nav{gap:16px}.main-nav a{font-size:12px}.brand span{font-size:20px}.about-grid{gap:5%}.contact-grid{gap:5%}}
@media(max-width:760px){html{scroll-padding-top:66px}.shell{width:min(100% - 36px,1160px)}.nav-inner{min-height:68px}.brand img{width:53px;height:52px}.brand span{font-size:19px}.nav-toggle{display:block;z-index:33}.main-nav{display:none;position:absolute;top:calc(100% - 1px);left:0;right:0;background:white;padding:18px 23px 23px;box-shadow:0 20px 30px rgba(8,34,60,.13);border-bottom:1px solid #e6eef5;flex-direction:column;align-items:stretch;gap:0}.main-nav.is-open{display:flex}.main-nav a{font-size:14px;padding:12px 0}.main-nav a::after{display:none}.main-nav .nav-contact{justify-content:center;margin-top:12px}.hero{min-height:515px}.hero::before{background-position:58% center}.hero::after{background:linear-gradient(90deg,rgba(2,19,37,.96),rgba(3,26,47,.83) 57%,rgba(4,28,50,.5))}.hero-content{padding-top:70px;padding-bottom:80px}.hero h1{font-size:clamp(36px,9vw,48px)}.hero-subtitle{font-size:14px;line-height:1.85;max-width:530px}.hero-eyebrow{font-size:9px!important;letter-spacing:.08em}.hero-actions{gap:20px}.section{padding:70px 0}.section-heading{display:block}.section-intro{max-width:650px;margin-top:18px}.service-grid{grid-template-columns:1fr;gap:16px}.service-card{min-height:0;padding:26px}.service-card p{margin-bottom:25px}.about-grid,.contact-grid{grid-template-columns:1fr;gap:36px}.about-visual{min-height:380px}.approach-top{display:block}.approach-top>p{max-width:600px;margin-top:20px}.value-grid{grid-template-columns:1fr;padding-top:12px}.value-item{padding:22px 0!important;border-left:0!important;border-bottom:1px solid rgba(255,255,255,.17)}.value-item:last-child{border-bottom:0}.contact-card{padding:25px}.footer-inner{flex-direction:column;align-items:start}.hide-small{display:none}}
@media(max-width:400px){.shell{width:calc(100% - 32px)}.hero h1{font-size:35px}.hero-eyebrow{font-size:8px!important;gap:7px}.eyebrow-line{width:19px}.button{width:100%}.hero-text-link{margin:2px auto}.process-steps{gap:8px}.process-steps div{font-size:10px;padding:12px 8px}.about-visual{padding:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* NUESTRA FORTALEZA / V2: scoped design */

.itbf {--navy:#123454;--orange:#ff9416;--muted:#b8cedf;box-sizing:border-box;background:radial-gradient(ellipse at 88% -15%,#1d537c 0%,transparent 34%),linear-gradient(115deg,#123454 0%,#071b30 100%);color:#f4f9fd;font-family:Montserrat,Inter,"Segoe UI",Arial,sans-serif;padding:58px 26px 60px;isolation:isolate;position:relative;overflow:hidden}
.itbf *{box-sizing:border-box}
.itbf::before{content:"";position:absolute;inset:0;opacity:.15;pointer-events:none;background-image:radial-gradient(circle,#7dcaed 1px,transparent 1.4px);background-size:30px 30px;mask-image:linear-gradient(90deg,transparent 37%,black 100%);z-index:-1}
.itbf .wrap{width:min(100%,1100px);margin:0 auto}
.itbf .kicker{display:flex;align-items:center;gap:11px;margin:0 0 14px;color:#ffbd6b;font-size:11px;letter-spacing:.16em;font-weight:800;text-transform:uppercase}
.itbf .kicker::before{content:"";width:29px;height:3px;border-radius:3px;background:var(--orange)}
.itbf h2{font-size:clamp(30px,3.5vw,44px);line-height:1.17;letter-spacing:-.04em;font-weight:800;margin:0 0 20px;color:white;max-width:850px}
.itbf h2 span{color:#ffab3b}
.itbf .lead{color:#d8e4ed;font-size:clamp(14px,1.6vw,16px);line-height:1.8;max-width:900px;margin:0 0 30px}
.itbf .traits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.itbf .trait{position:relative;min-width:0;padding:26px 23px 25px;border:1px solid rgba(200,227,246,.22);border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.032));box-shadow:0 10px 25px rgba(2,12,22,.10);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background .25s ease}
.itbf .trait::after{content:"";position:absolute;inset:auto 23px 0;height:3px;border-radius:4px 4px 0 0;background:var(--orange);opacity:0;transform:scaleX(.45);transform-origin:left;transition:opacity .25s,transform .25s}
@media(hover:hover){.itbf .trait:hover{transform:translateY(-6px);border-color:rgba(255,148,22,.8);box-shadow:0 18px 32px rgba(1,10,20,.23);background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.04))}.itbf .trait:hover::after{opacity:1;transform:scaleX(1)}.itbf .trait:hover .icon{color:#ffd59a;transform:translateY(-3px)}}
.itbf .icon{width:43px;height:43px;color:#ffad48;margin-bottom:15px;transition:transform .25s ease,color .25s ease;display:block}
.itbf .icon svg{width:100%;height:100%;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7;fill:none}
.itbf .num{display:block;font-size:10px;letter-spacing:.13em;font-weight:800;color:#ffbd77;margin-bottom:9px}
.itbf h3{font-size:18px;line-height:1.3;font-weight:750;margin:0 0 10px;color:#fff}
.itbf .trait p{font-size:13px;line-height:1.8;color:#d1dfeb;margin:0}
.itbf .bottom{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:26px;padding-top:24px;border-top:1px solid rgba(200,227,246,.22)}
.itbf .signature{color:#e7f1f9;font-size:13px;font-weight:700;margin:0;line-height:1.6}
.itbf .signature strong{color:#ffbd6b}
.itbf .button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border-radius:9px;padding:12px 18px;background:var(--orange);color:#122c43;font-size:13px;font-weight:800;text-decoration:none;white-space:nowrap;transition:transform .2s ease,background .2s ease}
.itbf .button:hover{background:#ffb34d;transform:translateY(-2px)}
.itbf .button:focus-visible{outline:3px solid #fff;outline-offset:4px}
@media(max-width:760px){.itbf{padding:42px 19px 44px}.itbf .traits{grid-template-columns:1fr}.itbf .trait{padding:21px}.itbf .bottom{flex-direction:column;align-items:stretch}.itbf .button{width:100%}}
@media(max-width:420px){.itbf{padding:34px 15px 38px}.itbf h2{font-size:29px}.itbf .trait p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.itbf *, .itbf *::after{transition:none!important}.itbf .trait:hover,.itbf .icon{transform:none!important}}



/* Bilingual selector, extends the established V2 visual system. */
.language-switch{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #e1eaf1;border-radius:8px;color:#8a98a6;font-size:12px;font-weight:800;white-space:nowrap}
.language-switch span[aria-current="page"]{color:var(--navy)}
.main-nav .language-switch a{color:var(--orange-dark);font-weight:800;display:inline-block;text-decoration:none;padding:0}
.main-nav .language-switch a:hover{color:var(--navy)}
@media(max-width:760px){.main-nav .language-switch{align-self:flex-start;margin-top:16px}.main-nav .language-switch a{padding:0}}
@media(min-width:761px) and (max-width:1040px){.brand img{width:48px;height:52px}.brand span{font-size:17px}.main-nav{gap:10px}.main-nav a{font-size:11px}.main-nav .nav-contact{padding:9px 10px}.language-switch{padding:5px;font-size:11px}}
