@charset "UTF-8";
:root{--ink:#0c1823;--ink2:#122839;--forest:#1f4b51;--gold:#c8a577;--gold2:#e9ca9d;--cream:#f6f4ef;--paper:#fffefa;--pale:#e9eeed;--text:#253741;--muted:#63717a;--line:#d9dedc;--font:Inter,"Segoe UI",Arial,Helvetica,sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;font:400 16px/1.65 var(--font);color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}img,svg{max-width:100%}img{display:block}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{letter-spacing:-.045em;line-height:1.14}h1{font-size:clamp(3.2rem,5.75vw,6.15rem)}h2{font-size:clamp(2.5rem,4.2vw,4.65rem)}h3{font-size:1.45rem}p{line-height:1.8}.container{width:min(100% - 92px,1320px);margin-inline:auto}.section-padding{padding:128px 0}.section-padding-small{padding:76px 0}.skip-link{position:absolute;left:20px;top:-90px;z-index:200;padding:12px;background:white;color:var(--ink)}.skip-link:focus{top:12px}.eyebrow{display:flex;align-items:center;gap:13px;font-size:.7rem;font-weight:750;letter-spacing:.17em;color:var(--forest);text-transform:uppercase;margin:0 0 30px}.eyebrow-rule{width:28px;height:1px;background:currentColor;display:inline-block}.eyebrow-light{color:var(--gold2)}.eyebrow-gold{color:var(--gold)}.text-accent{color:#60858a}h2 em,h1 em{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.06em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:59px;padding:15px 23px;border:1px solid transparent;font-size:.82rem;font-weight:700;line-height:1.3;transition:transform .2s,border-color .2s,background .2s,color .2s}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold);color:var(--ink);border-color:var(--gold)}.btn-gold:hover{background:var(--gold2)}.btn-ghost{border-color:#61747b;color:#fff;background:transparent}.btn-ghost:hover{border-color:var(--gold)}.btn-primary{background:var(--ink);color:white}.text-link{display:inline-flex;gap:24px;align-items:center;padding-bottom:8px;border-bottom:1px solid var(--forest);font-size:.82rem;font-weight:750;color:var(--forest)}.text-link svg,.service-link svg{transition:transform .2s}.text-link:hover svg,.service-link:hover svg{transform:translateX(5px)}
/* header */
.site-header{z-index:50;position:sticky;top:0;background:var(--ink);border-bottom:1px solid rgba(255,255,255,.13)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:87px;gap:24px}.brand{display:flex;align-items:center;gap:14px;flex-shrink:0;color:white}.brand-symbol{width:34px;height:38px;position:relative;display:flex;gap:4px;align-items:flex-end}.brand-symbol span{display:block;width:7px;background:var(--gold);height:27px;transform:skew(-19deg);border-radius:1px}.brand-symbol span:nth-child(2){height:38px}.brand-symbol span:nth-child(3){height:25px}.brand-type{font-weight:800;font-size:1.55rem;line-height:1;letter-spacing:.13em}.brand-type small{display:block;font-size:.44rem;color:#aab6b9;letter-spacing:.16em;margin-top:8px;font-weight:600}.brand-custom-img{max-height:64px;width:auto;max-width:280px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:clamp(12px,2.2vw,31px)}.main-nav a{white-space:nowrap;color:#d7e0e0;font-size:.74rem;font-weight:600;transition:color .2s}.main-nav a:hover{color:var(--gold2)}.main-nav .nav-cta{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid #8c7966;color:#f0d9b7}.nav-toggle{display:none;color:white;border:0;background:transparent;padding:10px}.nav-toggle span{height:2px;width:25px;background:white;display:block;margin:5px 0}
/* hero */
.hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(125deg,#102b3b 0%,#0c1823 57%,#142d3b 100%);color:#fff}.hero-wash{position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(circle at 82% 32%,rgba(73,125,138,.28),transparent 39%),linear-gradient(to right,rgba(255,255,255,.018) 1px,transparent 1px);background-size:auto,80px 100%}.hero-layout{display:grid;grid-template-columns:1.04fr .96fr;align-items:center;min-height:680px;padding-top:40px;padding-bottom:45px}.hero-copy{position:relative;z-index:2;padding:55px 0}.hero h1{color:var(--paper);max-width:850px;margin-bottom:32px;font-size:clamp(3.2rem,5.3vw,5.9rem)}.hero h1 em{display:inline-block;color:var(--gold2)}.hero-lead{max-width:620px;font-size:1.02rem;color:#c9d4d7;line-height:1.95;margin-bottom:35px}.hero-lead strong{color:#fff;font-weight:600}.hero-actions{display:flex;gap:11px;flex-wrap:wrap}.hero-trust{font-size:.61rem;letter-spacing:.13em;color:#9fb4b9;margin-top:65px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-weight:650}.trust-dot{width:6px;height:6px;border-radius:50%;background:var(--gold)}.trust-slash{color:var(--gold)}.hero-art{position:relative;height:100%;min-height:565px;display:flex;align-items:center;justify-content:center;transform:translateX(7%)}.architecture-art{width:100%;max-width:685px;max-height:740px;filter:drop-shadow(0 30px 80px rgba(0,0,0,.18))}.hero-visual-label{position:absolute;right:4%;bottom:15%;background:rgba(7,23,34,.78);backdrop-filter:blur(10px);border:1px solid rgba(201,166,118,.5);padding:19px 27px;display:flex;flex-direction:column;gap:5px;min-width:180px}.hero-visual-label span{font-weight:850;letter-spacing:.18em;font-size:1.2rem}.hero-visual-label small{font-size:.51rem;letter-spacing:.14em;color:#b9d0d2}.hero-bottom-line{border-top:1px solid rgba(255,255,255,.13)}.hero-bottom-line .container{display:flex;justify-content:space-between;padding:18px 0;color:#94a5a8;font-size:.65rem;font-weight:700;letter-spacing:.18em}.scroll-note span{font-size:1rem;margin-left:13px;color:var(--gold)}
/* introduction */
.intro{background:var(--paper)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:start}.intro h2{color:var(--ink)}.intro-text{padding-top:37px}.intro-text p{font-size:1.03rem;color:#576770}.intro-text strong{color:var(--ink)}.intro-text .text-link{margin-top:23px}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:100px;border-top:1px solid var(--line)}.value-grid>div{padding:37px 40px 8px 0;position:relative}.value-grid>div+div{padding-left:40px;border-left:1px solid var(--line)}.value-number{font-size:.72rem;font-weight:800;letter-spacing:.13em;color:#a48158}.value-grid h3{font-size:1.4rem;letter-spacing:-.04em;color:var(--ink);margin:36px 0 10px}.value-grid p{color:#67757a;font-size:.89rem;max-width:330px}
/* expertise */
.expertise{background:var(--ink);color:white}.section-top{display:flex;justify-content:space-between;align-items:end;gap:9%;margin-bottom:60px}.section-top h2{margin-bottom:0}.section-top h2 em{color:var(--gold2)}.section-top>p{max-width:350px;color:#9cafb3;font-size:.94rem;line-height:1.9;margin:0 0 10px}.expertise-columns{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.service-panel{background:#142938;padding:48px 47px 30px;border:1px solid #314653;transition:border-color .2s}.service-panel:hover{border-color:#91785f}.service-panel-alt{background:#172f3a}.service-top{display:flex;align-items:start;justify-content:space-between;color:var(--gold)}.service-number{font-size:.64rem;font-weight:750;letter-spacing:.16em}.service-panel h3{font-size:2.5rem;margin:22px 0 16px;color:white}.service-panel>p{color:#bac8c9;max-width:510px;min-height:125px;font-size:.93rem}.service-panel ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 25px;list-style:none;margin:25px 0 25px;padding:0}.service-panel li{position:relative;color:#e1e7e5;border-bottom:1px solid #314650;padding:14px 0 14px 19px;font-size:.84rem;line-height:1.5}.service-panel li:before{position:absolute;left:0;top:23px;content:"";background:var(--gold);height:4px;width:4px;border-radius:50%}.service-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #57717a;padding:22px 0 0;color:var(--gold2);font-size:.82rem;font-weight:750}
/* focus */
.focus{background:#eaf0ed}.focus-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.focus-art{height:500px;position:relative;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#163644 0%,#254b53 100%);overflow:hidden}.focus-art::before{content:"";position:absolute;inset:25px;border:1px solid rgba(255,255,255,.25)}.focus-art::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0,transparent 58px,rgba(255,255,255,.065) 59px,transparent 60px),repeating-linear-gradient(90deg,transparent 0,transparent 58px,rgba(255,255,255,.065) 59px,transparent 60px);pointer-events:none}.focus-art-ring{width:310px;height:310px;border:1px solid rgba(233,202,157,.65);border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 45px rgba(255,255,255,.035),0 0 0 90px rgba(255,255,255,.035)}.focus-art-center{width:230px;height:230px;border:1px solid rgba(233,202,157,.23);display:grid;place-items:center;color:var(--gold2)}.focus-art-bottom{position:absolute;bottom:50px;left:56px;right:56px;display:flex;justify-content:space-between;font-size:.64rem;letter-spacing:.15em;color:#c5d3d1;z-index:2}.focus-grid h2{margin-bottom:26px}.focus-grid p:not(.eyebrow){color:#596e73}.focus-grid .text-link{margin-top:20px}
/* sectors */
.sectors{background:var(--cream)}.sectors-heading .section-top>p,.sectors-heading>p{color:#667780}.sector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.sector-item{min-height:148px;border:1px solid #d9ded9;background:#fff;position:relative;padding:24px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .2s,background .2s}.sector-item:hover{transform:translateY(-3px);background:#e9f0ec}.sector-index{color:#9b7f62;font-size:.71rem;letter-spacing:.15em;font-weight:800}.sector-item>span:nth-child(2){color:var(--ink);font-weight:650;font-size:1rem;line-height:1.35;max-width:200px}.sector-arrow{position:absolute;right:24px;top:22px;color:#bba58d}
/* logos */
.logos-section{background:#fff}.logos-header{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:40px}.logos-header .eyebrow{margin-bottom:13px}.logos-header h2{font-size:clamp(1.9rem,2.6vw,2.9rem);margin-bottom:0;max-width:720px}.logos-header>p{font-size:.72rem;color:#718087;max-width:330px;line-height:1.65;margin:0}.logos-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:9px}.logo-tile{height:115px;border:1px solid #e8e8e5;background:#f9f9f7;display:flex;justify-content:center;align-items:center;padding:20px 14px;transition:border-color .2s}.logo-tile:hover{border-color:var(--gold)}.logo-tile img{width:auto;max-width:100%;max-height:65px;object-fit:contain;image-rendering:auto}
/* docs promo */
.docs-highlight{background:var(--ink2);overflow:hidden;color:white}.docs-highlight-grid{display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:10%}.docs-highlight h2{margin-bottom:25px}.docs-highlight h2 em{color:var(--gold2)}.docs-highlight p:not(.eyebrow){color:#bdccce;max-width:525px}.docs-highlight .btn{margin-top:18px}.docs-highlight-art{position:relative;height:380px;display:grid;place-items:center}.file-stack{width:280px;height:342px;border:1px solid #7f999f;background:#213e4b;position:absolute;transform:rotate(-15deg);box-shadow:12px 13px 35px rgba(0,0,0,.12)}.stack-a{left:12%;top:10%;opacity:.52}.stack-b{left:22%;top:7%;transform:rotate(8deg);opacity:.8}.stack-c{left:31%;top:4%;width:280px;height:360px;transform:rotate(-1deg);background:linear-gradient(125deg,#39646a,#1a3847);display:flex;flex-direction:column;align-items:start;justify-content:end;padding:35px;gap:2px;color:#fff}.stack-c::before{content:"";position:absolute;inset:20px;border:1px solid #8cabae;opacity:.4}.file-icon{position:absolute;top:70px;left:35px;color:var(--gold2)}.stack-c span{font-size:.55rem;letter-spacing:.2em;color:#c8ddde}.stack-c strong{font-size:2rem;line-height:1.2;letter-spacing:.06em}.stack-c small{font-size:.45rem;letter-spacing:.13em;color:var(--gold2)}
/* FAQ */
.faq{background:#f9f9f6}.faq-grid{display:grid;grid-template-columns:.83fr 1.17fr;gap:12%}.faq-items details{border-bottom:1px solid #d8dedb}.faq-items details:first-child{border-top:1px solid #d8dedb}.faq-items summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;font-weight:720;color:var(--ink);cursor:pointer;font-size:1rem}.faq-items summary::-webkit-details-marker{display:none}.faq-items summary span{color:#b09475;font-size:1.8rem;font-weight:300}.faq-items details[open] summary span{transform:rotate(45deg)}.faq-items details p{color:#65747a;padding:0 34px 20px 0;margin:0;font-size:.92rem}.historical-stats{margin-top:70px;padding-top:22px;border-top:1px solid #ddd}.historical-stats p{font-size:.73rem;color:#778187;line-height:1.7;margin:0}.historical-stats strong{color:#505d65}
/* contact */
.contact{background:var(--ink);color:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:start}.contact-info h2{margin-bottom:25px}.contact-info h2 em{color:var(--gold2)}.contact-info>p:not(.eyebrow){color:#b9c9cc;max-width:560px}.contact-details{margin-top:60px;display:grid;gap:28px}.contact-detail{display:flex;align-items:start;gap:20px}.contact-detail>svg{flex:none;color:var(--gold);margin-top:4px}.contact-detail div{display:flex;flex-direction:column;gap:3px}.contact-detail div>span{color:#8ba2a8;font-size:.65rem;font-weight:800;letter-spacing:.15em;margin-bottom:5px}.contact-detail a,.contact-detail address{font-style:normal;font-size:.95rem;color:#eff4f1}.contact-detail a:hover{color:var(--gold2)}.contact-detail address{max-width:320px}.contact-detail .map-link{color:var(--gold2);display:flex;align-items:center;gap:9px;font-size:.8rem;margin-top:7px}.contact-form-card{background:#f7f7f3;color:var(--ink);padding:47px}.form-kicker{color:#9b7953;font-weight:800;font-size:.64rem;letter-spacing:.17em}.contact-form-card h3{font-size:2.35rem;margin:12px 0}.contact-form-card>p{color:#748087;font-size:.85rem;margin-bottom:28px}.contact-form{display:grid;gap:18px}.contact-form label{display:flex;flex-direction:column;gap:7px;font-size:.76rem;font-weight:700;color:#32434a}.contact-form label span{color:#a97444}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form input,.contact-form textarea{width:100%;border:1px solid #d3dcd7;border-radius:0;background:#fff;padding:13px 14px;font-size:.84rem;min-height:48px;outline:0;resize:vertical;color:#10222b}.contact-form input:focus,.contact-form textarea:focus{border-color:#708f91;box-shadow:0 0 0 2px rgba(72,110,115,.14)}.contact-form .btn-submit{background:var(--ink);color:#fff;justify-content:space-between;text-align:left;width:100%;margin-top:3px}.contact-form .btn-submit:hover{background:#274b55}.contact-form small{font-size:.7rem;color:#7f888a}.hp-field{position:absolute!important;left:-9999px!important;max-height:0!important;overflow:hidden!important}.form-notice{padding:13px 15px;margin:0 0 18px!important;font-size:.85rem!important}.form-notice.success{color:#275b3b;background:#dfefe2}.form-notice.error{color:#8a4b37;background:#f7e4dc}
/* footer */
.site-footer{background:#09141d;color:#d6dfe0}.footer-main{padding:70px 0 62px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer-brand{display:block;color:#fff;font-size:1.9rem;font-weight:850;letter-spacing:.11em;margin-bottom:12px}.footer-brand .period{color:var(--gold)}.footer-main p{color:#94a6ae;font-size:.85rem;line-height:1.7;margin:4px 0}.footer-main>div:not(:first-child){display:flex;flex-direction:column;gap:9px}.footer-main strong{color:var(--gold2);font-size:.73rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px}.footer-main a{color:#b7c4c6;font-size:.84rem}.footer-main a:hover{color:var(--gold2)}.footer-bottom{display:flex;justify-content:space-between;gap:15px;padding:23px 0;border-top:1px solid #2c3b42;color:#8699a1;font-size:.7rem}
/* document subpage */
.docs-hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 80% 60%,#234657,var(--ink) 65%);color:#fff;padding:58px 0 112px}.docs-hero .container{position:relative;z-index:1}.breadcrumb,.breadcrumb-sep,.docs-hero .container>span:not(.eyebrow-rule){color:#90a6ad;font-size:.75rem}.breadcrumb:hover{color:var(--gold2)}.breadcrumb-sep{padding:0 12px}.docs-hero .eyebrow{margin-top:90px}.docs-hero h1{margin-bottom:22px}.docs-hero h1 em{color:var(--gold2)}.docs-hero .container>p:last-child{color:#c1d0d4;max-width:660px;font-size:1rem}.docs-hero-decoration{position:absolute;right:7%;top:16%;font-size:clamp(20rem,35vw,37rem);font-weight:900;line-height:1;letter-spacing:-.1em;color:rgba(202,176,138,.07);pointer-events:none}.docs-listing{background:var(--cream)}.docs-listing-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}.docs-listing-top h2{margin-bottom:0}.docs-counter{color:#967855;letter-spacing:.13em;font-size:.69rem;font-weight:800}.document-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.document-card{min-height:310px;background:#fff;padding:27px 25px;display:flex;flex-direction:column;border:1px solid #e2e5df;transition:border .2s,transform .2s}.document-card:hover{transform:translateY(-3px);border-color:#c6a77d}.document-card-top{display:flex;justify-content:space-between;color:#a2aaa9;font-size:.64rem;font-weight:850;letter-spacing:.13em}.doc-type{color:#a88b65}.document-card-icon{color:#2d5660;margin:23px 0 16px}.document-card small{color:#788b8c;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase}.document-card h3{font-size:1.27rem;letter-spacing:-.03em;margin:8px 0 27px;flex-grow:1}.document-card-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid #e1e5e1;padding-top:15px}.document-preview{padding:0;border:0;background:transparent;color:var(--forest);font-size:.73rem;font-weight:800;display:flex;align-items:center;gap:9px;text-align:left}.document-preview:hover{text-decoration:underline}.document-card-actions>a{display:flex;color:#9c825e}.document-disclaimer{margin:30px 0 0;color:#65757a;font-size:.78rem}.docs-contact{padding:63px 0;background:var(--ink2);color:white}.docs-contact-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.docs-contact .eyebrow{margin-bottom:12px}.docs-contact h2{font-size:clamp(1.8rem,2.6vw,3rem);margin:0}.simple-page{padding:110px 0 170px;min-height:60vh}.simple-page h1{font-size:clamp(2.4rem,4vw,4.5rem)}.page-copy{max-width:900px}
/* dialog */
.document-dialog{width:min(1000px,94vw);height:min(85vh,900px);max-width:unset;max-height:unset;padding:0;border:1px solid #cbd3d2;background:#fff;box-shadow:0 20px 100px rgba(0,0,0,.35);overflow:hidden}.document-dialog::backdrop{background:rgba(3,13,19,.84)}.dialog-head{height:67px;padding:14px 19px;display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--ink);color:#fff}.dialog-head>span{font-weight:750;font-size:.85rem;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dialog-head>div{display:flex;align-items:center;gap:18px}.dialog-external{font-size:.7rem;display:flex;align-items:center;gap:6px;color:var(--gold2);white-space:nowrap}.dialog-close{display:grid;place-items:center;width:35px;height:35px;border:1px solid #5e7379;background:transparent;color:white}.dialog-content{height:calc(100% - 67px);display:flex;align-items:center;justify-content:center;background:#e3e9ea;overflow:auto}.dialog-content iframe{height:100%;width:100%;border:0;background:white}.dialog-content img{max-width:100%;height:auto;margin:auto}.dialog-content iframe[hidden],.dialog-content img[hidden]{display:none!important}
/* responsive */
@media(max-width:1120px){.container{width:min(100% - 64px,1320px)}.main-nav{gap:14px}.main-nav a{font-size:.68rem}.brand-type{font-size:1.26rem}.brand-type small{font-size:.38rem}.hero-layout{min-height:620px}.hero h1{font-size:clamp(3rem,5vw,5rem)}.logos-grid{grid-template-columns:repeat(5,1fr)}.logo-tile{height:100px}.document-grid{grid-template-columns:repeat(3,1fr)}.sector-grid{grid-template-columns:repeat(4,1fr)}.service-panel{padding:35px 30px 25px}}
@media(max-width:900px){.section-padding{padding:94px 0}.nav-toggle{display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--ink);padding:18px 32px 30px;border-top:1px solid #355;box-shadow:0 20px 35px rgba(0,0,0,.2)}.main-nav.is-open{display:flex;align-items:stretch;flex-direction:column;gap:0}.main-nav a{padding:13px 0;font-size:.87rem}.main-nav .nav-cta{justify-content:center;margin-top:10px;padding:13px}.hero-layout{grid-template-columns:1.12fr .88fr}.hero-art{min-height:430px;transform:translateX(12%)}.hero h1{font-size:clamp(3rem,5.8vw,4.5rem)}.hero-lead{font-size:.93rem}.hero-trust{margin-top:35px}.intro-grid,.focus-grid,.contact-grid{gap:7%}.section-top{gap:5%}.sector-grid{grid-template-columns:repeat(2,1fr)}.logos-header{flex-direction:column;align-items:start}.faq-grid{gap:6%}.contact-form-card{padding:35px}.service-panel ul{grid-template-columns:1fr}.service-panel>p{min-height:145px}}
@media(max-width:720px){.container{width:min(100% - 38px,1320px)}.section-padding{padding:73px 0}.section-padding-small{padding:60px 0}.header-inner{min-height:74px}.brand-type{font-size:1.28rem}.hero-layout{grid-template-columns:1fr;min-height:0;padding-top:40px;padding-bottom:0}.hero-copy{padding:35px 0 0}.hero h1{font-size:clamp(2.8rem,10vw,4.2rem);line-height:1.12}.hero h1 em{display:inline}.hero-lead{max-width:600px}.hero-art{min-height:270px;height:315px;max-height:315px;transform:none;overflow:hidden}.architecture-art{height:430px;max-width:440px;transform:translateY(-20px)}.hero-visual-label{right:6%;bottom:23%;padding:10px 14px;min-width:0}.hero-visual-label span{font-size:.85rem}.hero-visual-label small{font-size:.43rem}.hero-trust{margin:40px 0 5px;font-size:.55rem}.hero-bottom-line .container{font-size:.57rem}.intro-grid,.focus-grid,.faq-grid,.contact-grid,.docs-highlight-grid{grid-template-columns:1fr;gap:35px}.intro-grid h2{margin-bottom:0}.intro-text{padding-top:0}.value-grid{grid-template-columns:1fr;margin-top:55px}.value-grid>div{padding:26px 0!important;border-left:0!important;border-bottom:1px solid var(--line)}.value-grid h3{margin:15px 0 8px}.section-top{flex-direction:column;align-items:start;gap:25px}.section-top>p{max-width:560px}.expertise-columns{grid-template-columns:1fr;gap:16px}.service-panel{padding:33px 25px 21px}.service-panel>p{min-height:0}.service-panel ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.service-panel li{font-size:.78rem}.focus-art{height:340px;order:2}.focus-art-ring{width:200px;height:200px;box-shadow:0 0 0 30px rgba(255,255,255,.035),0 0 0 60px rgba(255,255,255,.035)}.focus-art-center{width:145px;height:145px}.focus-art-bottom{bottom:31px;left:34px;right:34px;font-size:.54rem}.logos-grid{grid-template-columns:repeat(3,1fr)}.docs-highlight-art{height:290px;max-width:420px;margin:auto;width:100%}.file-stack{width:210px;height:260px}.stack-c{width:210px;height:270px;padding:23px}.stack-c strong{font-size:1.5rem}.file-icon{top:45px;left:22px}.contact-details{margin-top:35px}.contact-grid{gap:45px}.contact-form-card{padding:30px 24px}.footer-main{grid-template-columns:1fr 1fr;gap:33px}.footer-main>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:5px}.docs-hero{padding:35px 0 65px}.docs-hero .eyebrow{margin-top:55px}.document-grid{grid-template-columns:repeat(2,1fr)}.docs-contact-inner{flex-direction:column;align-items:start}.document-dialog{width:100vw;height:93dvh}.dialog-external{font-size:.63rem}}
@media(max-width:480px){body{font-size:15px}.brand-symbol{width:30px;gap:3px}.brand-type{font-size:1.16rem}.brand-type small{font-size:.36rem;letter-spacing:.1em}.hero h1{font-size:clamp(2.72rem,11.2vw,3.8rem)}.hero-copy{padding:12px 0 0}.hero-lead{font-size:.94rem}.hero-actions{gap:10px}.hero-actions .btn{min-height:53px;width:100%;justify-content:space-between}.hero-trust{gap:7px;font-size:.5rem;line-height:1.5}.hero-art{max-height:245px;min-height:245px}.architecture-art{height:340px}.hero-visual-label{bottom:14%}.eyebrow{font-size:.61rem;gap:9px}.eyebrow-rule{width:20px}h2{font-size:clamp(2.15rem,9vw,3rem)}.service-panel h3{font-size:2.18rem}.service-panel ul{grid-template-columns:1fr}.sector-grid{gap:9px}.sector-item{padding:17px;min-height:135px}.sector-item>span:nth-child(2){font-size:.82rem}.sector-arrow{right:15px;top:13px}.logos-grid{grid-template-columns:repeat(3,1fr);gap:5px}.logo-tile{height:86px;padding:10px}.logos-header h2{font-size:1.95rem}.form-row{grid-template-columns:1fr}.document-grid{grid-template-columns:1fr}.document-card{min-height:260px}.document-card h3{margin-bottom:19px}.docs-listing-top{align-items:start;flex-direction:column;gap:14px}.docs-hero h1{font-size:3.4rem}.dialog-head>span{max-width:39%;font-size:.67rem}.dialog-head>div{gap:7px}.dialog-external{font-size:.59rem}.footer-main{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* VALPERIN V1.0 — identidad original Vi, extraída de la imagen proporcionada */
.brand-symbol-img{display:block;width:39px;height:43px;object-fit:contain;flex:none}
.footer-identity{display:flex;align-items:center;gap:15px;margin-bottom:13px}
.footer-identity .footer-brand{margin-bottom:0}
.hero-visual-label{flex-direction:row;align-items:center;gap:12px;padding:15px 21px}
.hero-brand-icon{display:block;flex:none;width:34px;height:39px;object-fit:contain}
.hero-visual-label>div{display:flex;flex-direction:column;gap:5px}
@media(max-width:480px){.brand-symbol-img{width:33px;height:37px}.brand{gap:10px}.hero-brand-icon{width:26px;height:30px}.hero-visual-label{gap:8px;padding:10px 12px}}

/* VALPERIN V1.0 refresh — motion, slider and premium interactions */
.hero{min-height:calc(100vh - 87px);display:flex;flex-direction:column;justify-content:flex-end;background:#081620}
.hero-media-layer{position:absolute;inset:0;z-index:-3;overflow:hidden}
.hero-media-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.06);transition:opacity .9s ease,transform 6s ease}
.hero-media-slide::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,16,24,.94) 0%,rgba(7,22,32,.88) 32%,rgba(8,27,39,.54) 60%,rgba(8,28,39,.76) 100%)}
.hero-media-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,18,26,.22),rgba(5,12,18,.72)),radial-gradient(circle at 78% 22%,rgba(200,165,119,.18),transparent 22%),linear-gradient(to right,rgba(255,255,255,.04) 1px,transparent 1px);background-size:auto,auto,88px 100%}
.hero-media-slide.is-active{opacity:1;transform:scale(1)}
.hero-layout-slider{grid-template-columns:minmax(0,1fr) minmax(320px,470px);gap:48px;min-height:min(860px,calc(100vh - 87px));padding-top:36px;padding-bottom:52px}
.hero-copy-slider{padding:42px 0 18px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.hero-kicker{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;padding:9px 14px;border:1px solid rgba(200,165,119,.34);background:rgba(255,255,255,.05);color:#d6c1a0;font-size:.66rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.hero-slide-copy{max-width:760px;animation:heroFade .7s ease}
.hero-slide-copy[hidden]{display:none!important}
.hero h1{max-width:760px;margin-bottom:24px;text-shadow:0 8px 18px rgba(0,0,0,.18)}
.hero-lead{max-width:650px;font-size:1.04rem;line-height:1.95;margin-bottom:32px}
.hero-controller{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:42px;max-width:940px}
.hero-control{appearance:none;border:1px solid rgba(255,255,255,.12);background:rgba(8,25,36,.6);backdrop-filter:blur(6px);padding:18px 18px 16px;color:#ced8d9;text-align:left;transition:transform .22s,border-color .22s,background .22s,box-shadow .22s}
.hero-control:hover{transform:translateY(-2px);border-color:rgba(200,165,119,.45)}
.hero-control.is-active{border-color:rgba(200,165,119,.8);background:rgba(18,39,53,.88);box-shadow:0 18px 40px rgba(0,0,0,.22)}
.hero-control span{display:block;font-size:.6rem;font-weight:800;letter-spacing:.18em;color:#d6b68c;margin-bottom:10px}
.hero-control strong{display:block;font-size:1rem;line-height:1.2;color:#fff;margin-bottom:8px}
.hero-control small{display:block;font-size:.73rem;line-height:1.55;color:#9eb0b4}
.hero-side-stage{display:flex;flex-direction:column;justify-content:center;gap:18px;position:relative;padding:90px 0 28px}
.hero-info-card{position:relative;border:1px solid rgba(255,255,255,.12);background:rgba(8,23,33,.72);backdrop-filter:blur(10px);overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.28);opacity:0;transform:translateY(18px) scale(.98);transition:opacity .55s ease,transform .55s ease}
.hero-info-card:not(.is-active){position:absolute;inset:90px 0 auto 0;pointer-events:none}
.hero-info-card.is-active{opacity:1;transform:translateY(0) scale(1);position:relative}
.hero-info-image{aspect-ratio:1.22/1;background-size:cover;background-position:center}
.hero-info-image::after{content:"";display:block;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(7,20,28,.12) 42%,rgba(6,17,24,.88) 100%);position:relative;height:100%}
.hero-info-body{padding:24px 24px 26px}
.hero-info-tag{display:inline-flex;margin-bottom:14px;padding:8px 11px;border-radius:999px;border:1px solid rgba(200,165,119,.45);font-size:.64rem;font-weight:800;letter-spacing:.18em;color:#e6cfad;background:rgba(255,255,255,.03)}
.hero-info-body h3{margin:0 0 14px;color:#fff;font-size:1.55rem;line-height:1.15}
.hero-info-body ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.hero-info-body li{position:relative;padding-left:18px;font-size:.86rem;line-height:1.55;color:#dbe2e1}
.hero-info-body li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--gold)}
.hero-progress{height:4px;background:rgba(255,255,255,.11);overflow:hidden;position:relative}
.hero-progress-bar{display:block;width:33.333%;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold2));transform-origin:left center;transition:transform 5.8s linear}
.hero-progress.is-animating .hero-progress-bar{transform:scaleX(3)}
.hero-visual-label{align-self:flex-end;margin-top:6px;background:rgba(7,23,34,.78);backdrop-filter:blur(10px);border:1px solid rgba(201,166,118,.5)}
.hero-bottom-line{margin-top:auto;background:rgba(5,14,20,.54)}

.expertise{background:linear-gradient(180deg,#0c1823 0%,#122433 100%)}
.service-panel{position:relative;overflow:hidden;border-radius:0 0 18px 18px;box-shadow:0 20px 45px rgba(0,0,0,.14);transform:translateY(0);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.service-panel::before{content:"";position:absolute;left:0;top:0;height:4px;width:100%;background:linear-gradient(90deg,var(--gold),transparent);opacity:.8}
.service-panel:hover{transform:translateY(-6px);box-shadow:0 30px 70px rgba(0,0,0,.2);border-color:#a88b6b}
.sector-item,.document-card,.contact-form-card,.contact-detail,.value-grid>div,.focus-art{transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
.sector-item:hover,.document-card:hover,.contact-detail:hover,.value-grid>div:hover{transform:translateY(-4px)}
.focus-art{background:linear-gradient(135deg,#163644 0%,#254b53 60%,#54757d 100%)}

.logos-marquee{position:relative;overflow:hidden;padding:6px 0 2px;border-top:1px solid rgba(12,24,35,.09);border-bottom:1px solid rgba(12,24,35,.09)}
.logos-track{display:flex;align-items:center;gap:18px;width:max-content;animation:logoMarquee 28s linear infinite}
.logos-marquee:hover .logos-track{animation-play-state:paused}
.logo-tile{flex:none;width:180px;height:110px;border:1px solid #e3e8e7;background:#fff;padding:18px;display:flex;align-items:center;justify-content:center;filter:grayscale(1);opacity:.9;transition:filter .2s,opacity .2s,transform .2s,box-shadow .2s}
.logo-tile:hover{filter:none;opacity:1;transform:translateY(-3px);box-shadow:0 15px 30px rgba(0,0,0,.08)}

.reveal-section{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease}
.reveal-section.is-visible{opacity:1;transform:none}

@keyframes heroFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes logoMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

@media(max-width:1120px){
  .hero-layout-slider{grid-template-columns:minmax(0,1fr) minmax(280px,390px);gap:34px}
  .hero-controller{grid-template-columns:1fr;max-width:520px}
}
@media(max-width:900px){
  .hero{min-height:auto}
  .hero-layout-slider{grid-template-columns:1fr;min-height:0;padding-top:26px;padding-bottom:36px}
  .hero-copy-slider{padding:26px 0 0}
  .hero-side-stage{padding:10px 0 0;max-width:620px}
  .hero-info-card:not(.is-active){inset:10px 0 auto 0}
  .hero-controller{margin-top:26px}
}
@media(max-width:720px){
  .hero-kicker{font-size:.58rem;padding:8px 11px}
  .hero-controller{gap:10px}
  .hero-control{padding:14px 14px 13px}
  .hero-control strong{font-size:.92rem}
  .hero-control small{font-size:.68rem}
  .hero-side-stage{gap:12px}
  .hero-info-body{padding:18px 18px 20px}
  .hero-info-body h3{font-size:1.28rem}
  .logo-tile{width:145px;height:94px;padding:14px}
}
@media(max-width:480px){
  .hero h1{font-size:clamp(2.45rem,10.6vw,3.6rem)}
  .hero-lead{font-size:.93rem;line-height:1.82}
  .hero-controller{margin-top:20px}
  .hero-info-image{aspect-ratio:1.25/1}
}
/* Ajuste fino V1.0: el distintivo de marca no debe cubrir los textos de la tarjeta. */
.hero-side-stage .hero-visual-label{position:relative;right:auto;bottom:auto;align-self:flex-end;margin-top:6px;z-index:1}


/* Valperin V1.0 — definitive layout cleanup: clean photographic hero */
.hero-layout.hero-layout-slider{
  grid-template-columns:minmax(0,1fr);
  min-height:min(830px,calc(100vh - 87px));
  padding-top:38px;
  padding-bottom:42px;
}
.hero-layout-slider .hero-copy-slider{
  width:100%;
  max-width:1100px;
  padding:44px 0 22px;
}
.hero-layout-slider .hero-slide-copy{
  max-width:960px;
}
.hero-layout-slider .hero h1,.hero-layout-slider h1{
  max-width:900px;
  font-size:clamp(3.25rem,5vw,5.9rem);
  line-height:1.11;
}
.hero-layout-slider .hero-lead{max-width:690px}
.hero-layout-slider .hero-controller{
  grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:950px;
  gap:13px;
  margin-top:44px;
}
.hero-layout-slider .hero-control{padding:16px 21px}
.hero-layout-slider .hero-media-slide{background-position:center center}
.hero-media-slide::before{
  background:linear-gradient(90deg,rgba(5,14,22,.93),rgba(7,19,27,.77) 52%,rgba(5,18,27,.40) 100%);
}
.hero-media-slide::after{
  background:linear-gradient(180deg,rgba(3,12,18,.08),rgba(3,13,20,.62));
}
@media(max-width:900px){
  .hero-layout.hero-layout-slider{min-height:0;padding-top:24px;padding-bottom:44px}
  .hero-layout-slider .hero-copy-slider{padding:30px 0 12px}
  .hero-layout-slider .hero-controller{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:35px}
}
@media(max-width:720px){
  .hero-layout-slider h1{font-size:clamp(2.6rem,9vw,4rem);max-width:100%}
  .hero-layout-slider .hero-controller{gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero-layout-slider .hero-control{padding:13px 9px}
  .hero-layout-slider .hero-control small{display:none}
  .hero-layout-slider .hero-control strong{font-size:.85rem}
}
@media(max-width:480px){
  .hero-layout-slider h1{font-size:clamp(2.35rem,10vw,3.15rem)}
  .hero-layout.hero-layout-slider{padding-bottom:28px}
  .hero-layout-slider .hero-controller{margin-top:28px}
}
