@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&display=swap');

:root { --color-primary:#0891B2; --color-secondary:#22D3EE; --color-accent:#16A34A; --color-background:#ECFEFF; --color-foreground:#164E63; --color-card:#FFFFFF; --color-muted:#E8F1F6; --color-muted-foreground:#475569; --color-border:#A5F3FC; --navy:#071b35; --navy-soft:#0d2948; --ink:#0f2945; --white:#fff; --space-xs:4px; --space-sm:8px; --space-md:16px; --space-lg:24px; --space-xl:32px; --space-2xl:48px; --space-3xl:64px; --shadow-md:0 4px 18px rgba(7,27,53,.08); --shadow-xl:0 24px 56px rgba(7,27,53,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--color-background); font-family:'Work Sans',sans-serif; font-size:16px; line-height:1.55; overflow-x:hidden; }
h1,h2,h3,p { margin:0; } h1,h2,h3,.brand { font-family:'Outfit',sans-serif; } h1,h2 { letter-spacing:-.045em; line-height:1.03; } h1 { font-size:clamp(3.2rem,8vw,6.5rem); max-width:760px; } h2 { font-size:clamp(2.45rem,5vw,4.4rem); } h3 { font-size:1.4rem; line-height:1.15; } em { color:var(--secondary); font-style:normal; }
a { color:inherit; text-decoration:none; } a,button { -webkit-tap-highlight-color:transparent; } button { font:inherit; }
.container { width:min(1180px,calc(100% - 40px)); margin-inline:auto; } .section { padding:clamp(72px,9vw,132px) 0; } .section-dark { color:var(--white); background:var(--navy); } .section-light { background:#f5fbfd; }
.skip-link { position:fixed; top:12px; left:12px; z-index:99; padding:10px 16px; color:var(--navy); background:var(--secondary); transform:translateY(-150%); transition:transform .2s ease; } .skip-link:focus { transform:none; }
.site-header { position:absolute; inset:0 0 auto; z-index:10; color:#fff; } .nav-wrap { display:flex; align-items:center; justify-content:space-between; min-height:84px; } .brand { display:flex; align-items:center; gap:10px; font-size:1.35rem; font-weight:600; letter-spacing:-.03em; } .brand-mark { display:inline-flex; align-items:flex-end; gap:3px; width:24px; height:22px; } .brand-mark span { display:block; width:5px; border-radius:4px 4px 1px 1px; background:var(--secondary); transform:skew(-20deg); } .brand-mark span:nth-child(1){height:13px}.brand-mark span:nth-child(2){height:20px}.brand-mark span:nth-child(3){height:16px}
.site-nav { display:flex; align-items:center; gap:clamp(18px,3vw,42px); font-size:.88rem; font-weight:500; } .site-nav a { opacity:.78; transition:opacity .2s ease,color .2s ease; } .site-nav a:hover,.site-nav a:focus-visible { color:var(--secondary); opacity:1; } .nav-cta { display:inline-flex; align-items:center; gap:10px; padding:11px 16px; color:var(--navy)!important; background:var(--secondary); border-radius:5px; opacity:1!important; } .menu-toggle { display:none; width:48px; height:48px; padding:12px; color:#fff; background:transparent; border:1px solid rgba(255,255,255,.3); border-radius:5px; cursor:pointer; } .menu-toggle span { display:block; height:2px; margin:5px 0; background:currentColor; }
.hero { position:relative; min-height:740px; overflow:hidden; padding:150px 0 80px; background:radial-gradient(circle at 78% 35%,#123b5c 0,#071b35 42%,#06162c 100%); } .hero-grid-glow { position:absolute; inset:0; opacity:.3; background-image:linear-gradient(rgba(34,211,238,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(34,211,238,.08) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(90deg,transparent,#000 45%,#000); } .hero-layout { position:relative; display:grid; align-items:center; grid-template-columns:minmax(0,1fr) minmax(330px, .92fr); gap:28px; } .hero-copy { position:relative; z-index:1; } .eyebrow { display:flex; align-items:center; gap:10px; margin-bottom:22px; color:var(--secondary); font-size:.72rem; font-weight:600; letter-spacing:.17em; text-transform:uppercase; } .eyebrow-dot { width:7px; height:7px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 5px rgba(22,163,74,.14); } .hero-lead { max-width:500px; margin-top:30px; color:#c2d6e5; font-size:1.1rem; line-height:1.7; } .hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:38px; } .button { display:inline-flex; min-height:48px; align-items:center; justify-content:center; gap:18px; padding:12px 20px; border:1px solid transparent; border-radius:5px; font-family:'Outfit',sans-serif; font-weight:600; cursor:pointer; transition:background .2s ease,transform .2s ease,box-shadow .2s ease; } .button:hover,.button:focus-visible { transform:translateY(-2px); box-shadow:0 8px 20px rgba(0,0,0,.16); } .button-primary { color:#032c32; background:var(--secondary); } .light-link,.dark-link,.text-link { display:inline-flex; align-items:center; gap:12px; font-family:'Outfit',sans-serif; font-weight:600; font-size:.92rem; } .light-link { color:#d6f9ff; } .dark-link { color:var(--primary); } .text-link span { transition:transform .2s ease; } .text-link:hover span,.text-link:focus-visible span { transform:translateX(4px); } .hero-proof { display:flex; gap:38px; margin-top:68px; } .hero-proof div { display:flex; flex-direction:column; gap:2px; } .hero-proof strong { color:var(--secondary); font-family:'Outfit',sans-serif; font-size:1.7rem; line-height:1; } .hero-proof span { color:#90adc1; font-size:.72rem; }
.hero-art { position:relative; min-height:500px; display:grid; place-items:center; } .hero-art img { width:min(100%,540px); filter:drop-shadow(0 20px 35px rgba(34,211,238,.12)); } .art-label { position:absolute; padding:7px 12px; color:var(--secondary); background:rgba(7,27,53,.7); border:1px solid rgba(34,211,238,.45); border-radius:3px; font-size:.67rem; letter-spacing:.13em; text-transform:uppercase; } .art-label-one{top:21%;left:7%}.art-label-two{right:2%;top:42%}.art-label-three{bottom:16%;left:17%}
.value-strip { background:#fff; border-bottom:1px solid var(--color-border); } .value-grid { display:grid; grid-template-columns:repeat(4,1fr); } .value-item { display:flex; gap:16px; min-height:142px; align-items:center; padding:24px 20px; border-right:1px solid #dbe9ef; } .value-item:first-child { padding-left:0; } .value-item:last-child { border:0; } .value-number,.card-index { color:var(--primary); font-family:'Outfit',sans-serif; font-size:.72rem; font-weight:600; letter-spacing:.1em; } .value-item h2 { margin:4px 0 5px; font-size:1.05rem; letter-spacing:-.02em; } .value-item p { color:var(--muted-foreground); font-size:.83rem; line-height:1.4; }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:58px; } .eyebrow.eyebrow-dark { color:var(--ink); } .section-heading h2 { color:var(--ink); } .section-intro { max-width:355px; color:var(--muted-foreground); font-size:1.02rem; }
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; } .service-card { position:relative; min-height:250px; padding:26px; background:#fff; border:1px solid #d7e9ef; border-radius:6px; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; } .service-card:hover,.service-card:focus-within { border-color:var(--secondary); box-shadow:var(--shadow-md); transform:translateY(-3px); } .service-featured { color:#fff; background:var(--navy); border-color:var(--navy); } .service-icon { display:inline-grid; width:39px; height:39px; place-items:center; margin-bottom:42px; color:var(--primary); background:#e1f7fa; border-radius:5px; font-size:1.3rem; } .service-featured .service-icon { color:var(--navy); background:var(--secondary); } .service-card h3 { margin:11px 0 10px; } .service-card > p:not(.card-index) { max-width:270px; color:var(--muted-foreground); font-size:.9rem; } .service-featured > p:not(.card-index) { color:#b4cad9; } .card-arrow { position:absolute; right:26px; bottom:25px; display:grid; width:30px; height:30px; place-items:center; color:var(--primary); border:1px solid #c9e4ea; border-radius:50%; transition:background .2s ease,color .2s ease; } .card-arrow:hover,.card-arrow:focus-visible { color:var(--navy); background:var(--secondary); }
.process-section { background:#fff; } .process-layout { display:grid; grid-template-columns:1.02fr .98fr; align-items:center; gap:clamp(42px,8vw,110px); } .process-visual { padding:18px; background:#d8eef2; border-radius:6px; } .process-visual img { display:block; width:100%; } .process-copy > p:not(.eyebrow) { max-width:480px; margin:28px 0 34px; color:var(--muted-foreground); font-size:1.05rem; } .check-list { display:grid; gap:24px; padding:0; margin:0 0 35px; list-style:none; } .check-list li { display:flex; gap:14px; } .check-list li > span { display:grid; flex:0 0 24px; width:24px; height:24px; place-items:center; color:#087b43; background:#d9f6e4; border-radius:50%; font-size:.8rem; font-weight:700; } .check-list strong,.check-list li div > span { display:block; } .check-list strong { font-family:'Outfit',sans-serif; font-size:.98rem; } .check-list li div > span { margin-top:3px; color:var(--muted-foreground); font-size:.84rem; }
.technology-band { position:relative; overflow:hidden; padding:105px 0; background:#082b49; } .technology-band:after { position:absolute; width:500px; height:500px; content:''; right:-170px; bottom:-300px; border:1px solid rgba(34,211,238,.25); border-radius:50%; box-shadow:0 0 0 55px rgba(34,211,238,.04),0 0 0 110px rgba(34,211,238,.03); } .tech-content { position:relative; z-index:1; } .technology-band h2 { max-width:660px; } .tech-logos { display:grid; grid-template-columns:repeat(6,1fr); align-items:center; gap:18px; margin-top:70px; padding-top:24px; border-top:1px solid rgba(190,231,240,.25); } .tech-logos span { color:#d3e3ed; font-family:'Outfit',sans-serif; font-size:1.08rem; font-weight:600; opacity:.9; }
.projects-heading { margin-bottom:42px; } .projects-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; } .project-card { overflow:hidden; background:#fff; border:1px solid #dbe9ef; border-radius:6px; transition:transform .2s ease,box-shadow .2s ease; } .project-card:hover { box-shadow:var(--shadow-md); transform:translateY(-4px); } .project-visual { position:relative; display:grid; min-height:265px; place-items:center; overflow:hidden; } .visual-lumen { background:#e5d7c1; } .project-sun { width:110px; height:110px; border-radius:50%; background:#ed8b40; box-shadow:0 0 0 24px rgba(237,139,64,.12),0 0 0 55px rgba(237,139,64,.08); } .project-word { position:absolute; bottom:27px; left:26px; color:#5c3d28; font-family:'Outfit',sans-serif; font-size:2.5rem; font-weight:600; letter-spacing:-.08em; } .visual-nexo { background:#0d6b91; } .nexo-mark { z-index:1; color:#86edff; font-family:'Outfit',sans-serif; font-size:10rem; font-weight:300; line-height:1; } .nexo-lines { position:absolute; inset:25% -10% 20%; border-top:1px solid rgba(134,237,255,.5); border-bottom:1px solid rgba(134,237,255,.5); transform:rotate(-17deg); } .visual-verde { align-content:center; color:#f2e6c9; background:#47745b; } .visual-verde span { font-family:'Outfit',sans-serif; font-size:3rem; letter-spacing:.08em; } .visual-verde small { font-size:.85rem; letter-spacing:.16em; } .visual-verde i { position:absolute; right:22px; bottom:15px; width:90px; height:90px; border:1px solid rgba(242,230,201,.7); border-radius:50% 0 50% 50%; transform:rotate(-35deg); } .project-meta { display:flex; justify-content:space-between; padding:22px 24px 0; color:var(--primary); font-size:.7rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; } .project-card h3,.project-card > p { padding-inline:24px; } .project-card h3 { margin-top:12px; } .project-card > p { padding-bottom:26px; margin-top:6px; color:var(--muted-foreground); font-size:.88rem; } .mobile-link { display:none; }
.cta-section { padding:92px 0; background:var(--navy); } .cta-layout { display:grid; grid-template-columns:1.25fr .75fr; align-items:end; gap:40px; } .cta-layout > div:last-child { padding-bottom:4px; } .cta-layout p:not(.eyebrow) { max-width:320px; margin-bottom:28px; color:#bed1dd; }
.site-footer { color:#bdd0dd; background:#06162c; } .footer-top { display:flex; justify-content:space-between; gap:40px; padding:62px 0 68px; } .footer-links { display:flex; gap:100px; } .footer-links div { display:flex; flex-direction:column; gap:8px; } .footer-links p { margin-bottom:10px; color:var(--secondary); font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; } .footer-links a { color:#bdd0dd; font-size:.86rem; transition:color .2s ease; } .footer-links a:hover,.footer-links a:focus-visible { color:var(--secondary); } .footer-bottom { display:flex; justify-content:space-between; padding:18px 0 25px; border-top:1px solid rgba(190,209,221,.16); color:#7995a9; font-size:.72rem; }
:focus-visible { outline:3px solid var(--secondary); outline-offset:4px; } @media (max-width:900px) { .hero-layout { grid-template-columns:1fr .85fr; } .hero { min-height:670px; } .hero-art { min-height:400px; } .value-item { flex-direction:column; align-items:flex-start; gap:8px; } .tech-logos { grid-template-columns:repeat(3,1fr); row-gap:28px; } }
@media (max-width:700px) { .container { width:min(100% - 32px,560px); } .site-header { position:absolute; } .nav-wrap { min-height:72px; } .menu-toggle { display:block; } .site-nav { position:absolute; top:68px; right:16px; left:16px; display:none; flex-direction:column; align-items:stretch; gap:0; padding:8px; background:#0b2d4d; border:1px solid rgba(34,211,238,.35); border-radius:6px; box-shadow:var(--shadow-xl); } .site-nav.is-open { display:flex; } .site-nav a { min-height:48px; display:flex; align-items:center; padding:12px 14px; } .nav-cta { justify-content:space-between; margin-top:4px; } .hero { min-height:auto; padding:126px 0 58px; } .hero-layout { display:flex; flex-direction:column; align-items:stretch; gap:10px; } h1 { font-size:clamp(3rem,15vw,4.7rem); } .hero-lead { margin-top:22px; font-size:1rem; } .hero-actions { align-items:stretch; flex-direction:column; gap:18px; margin-top:30px; } .hero-actions .button { width:max-content; } .hero-proof { justify-content:space-between; gap:10px; margin-top:48px; } .hero-proof strong { font-size:1.35rem; } .hero-proof span { font-size:.65rem; } .hero-art { min-height:310px; margin-top:15px; } .hero-art img { max-width:360px; } .art-label { font-size:.56rem; } .value-grid { grid-template-columns:repeat(2,1fr); } .value-item { min-height:125px; padding:20px 10px; border-bottom:1px solid #dbe9ef; } .value-item:first-child { padding-left:10px; } .value-item:nth-child(odd) { border-left:0; } .value-item:nth-child(2) { border-right:0; } .section { padding:72px 0; } .section-heading,.cta-layout { display:block; margin-bottom:38px; } .section-intro { margin-top:24px; } .services-grid,.projects-grid,.process-layout { grid-template-columns:1fr; } .service-card { min-height:225px; } .process-visual { order:2; margin-top:45px; } .process-copy { order:1; } .technology-band { padding:76px 0; } .tech-logos { margin-top:48px; } .projects-heading { margin-bottom:36px; } .desktop-link { display:none; } .mobile-link { display:inline-flex; margin-top:30px; } .cta-layout > div:last-child { margin-top:30px; } .footer-top { display:block; padding:50px 0; } .footer-links { gap:50px; margin-top:45px; } .footer-bottom { display:block; } .footer-bottom span { display:block; margin-top:8px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }

/* Brand package overrides. Keep these tokens aligned with assets/brand/tokens.css. */
:root { --brand-navy:#082B57; --brand-blue:#0878D1; --brand-cyan:#11C9E8; --brand-orange:#F6A21A; --brand-light:#D9F7FC; --text-primary:#132033; --text-secondary:#667085; --surface:#FFFFFF; --page:#F7FAFC; --success:#16A36A; --navy:var(--brand-navy); --ink:var(--text-primary); --primary:var(--brand-navy); --color-primary:var(--brand-blue); --color-secondary:var(--brand-cyan); --color-accent:var(--brand-orange); --color-background:var(--page); --color-foreground:var(--text-primary); --color-muted-foreground:var(--text-secondary); --color-border:#D0D5DD; --radius-sm:8px; --radius-md:12px; --radius-lg:16px; --radius-xl:24px; --shadow-md:0 6px 18px rgba(16,24,40,.12); --shadow-xl:0 16px 40px rgba(16,24,40,.16); }
body { background:var(--page); font-family:Manrope,Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; line-height:1.5; }
h1,h2,h3,.brand,.button,.text-link,.hero-proof strong,.value-number,.card-index,.tech-logos span,.project-word,.nexo-mark,.visual-verde span { font-family:Manrope,Inter,system-ui,sans-serif; }
h1 { font-size:clamp(2.8rem,6vw,4.5rem); line-height:1.14; font-weight:700; }
h2 { font-size:clamp(2rem,4vw,3rem); line-height:1.25; font-weight:700; }
h3 { font-size:1.35rem; line-height:1.33; font-weight:600; }
.container { width:min(1200px,calc(100% - 40px)); }
.brand img { display:block; width:clamp(140px,15vw,172px); height:auto; }
.nav-cta,.button { border-radius:var(--radius-md); }
.nav-cta,.button-primary { color:var(--brand-navy)!important; background:var(--brand-cyan); }
.site-nav a:hover,.site-nav a:focus-visible { color:var(--brand-cyan); }
.hero { background:radial-gradient(circle at 78% 35%,#164e86 0,#082B57 42%,#061c3b 100%); }
.hero-grid-glow { background-image:linear-gradient(rgba(17,201,232,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(17,201,232,.08) 1px,transparent 1px); }
.eyebrow { color:var(--brand-cyan); }
.eyebrow-dot { background:var(--brand-orange); box-shadow:0 0 0 5px rgba(246,162,26,.16); }
.button { transition:background .16s ease,transform .16s ease,box-shadow .16s ease; }
.light-link,.dark-link,.text-link { font-family:Manrope,Inter,system-ui,sans-serif; }
.dark-link { color:var(--brand-blue); }
.hero-proof strong { color:var(--brand-cyan); }
.art-label { color:var(--brand-cyan); border-radius:var(--radius-sm); }
.value-strip { border-color:#D0D5DD; }
.value-number,.card-index { color:var(--brand-blue); }
.section-light { background:var(--page); }
.service-card { border-radius:var(--radius-lg); border-color:#D0D5DD; transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease; }
.service-card:hover,.service-card:focus-within { border-color:var(--brand-cyan); }
.service-featured { background:var(--brand-navy); border-color:var(--brand-navy); }
.service-icon { width:44px; height:44px; margin-bottom:42px; border-radius:var(--radius-sm); }
.service-icon img { width:24px; height:24px; display:block; filter:invert(32%) sepia(82%) saturate(1300%) hue-rotate(177deg) brightness(88%); }
.service-featured .service-icon { background:var(--brand-cyan); }
.service-featured .service-icon img { filter:brightness(0) saturate(100%) invert(19%) sepia(30%) saturate(1916%) hue-rotate(179deg) brightness(83%); }
.card-arrow { width:40px; height:40px; border-radius:50%; border-color:#D0D5DD; }
.card-arrow img { width:20px; height:20px; display:block; filter:invert(32%) sepia(82%) saturate(1300%) hue-rotate(177deg) brightness(88%); }
.card-arrow:hover,.card-arrow:focus-visible { background:var(--brand-cyan); }
.service-featured .card-arrow img { filter:brightness(0) saturate(100%) invert(19%) sepia(30%) saturate(1916%) hue-rotate(179deg) brightness(83%); }
.process-section { background:var(--surface); }
.process-visual { border-radius:var(--radius-xl); }
.check-list li > span { color:var(--success); background:#dff7ec; }
.check-list li > span img { width:16px; height:16px; display:block; }
.check-list strong { font-family:Manrope,Inter,system-ui,sans-serif; }
.technology-band { background:var(--brand-navy); }
.tech-logos span { font-family:Manrope,Inter,system-ui,sans-serif; }
.project-card { border-radius:var(--radius-lg); }
.cta-section { background:var(--brand-navy); }
.site-footer { background:#061c3b; }
.footer-links p { color:var(--brand-cyan); }
.menu-toggle { border-radius:var(--radius-md); }
:focus-visible { outline:3px solid var(--brand-orange); outline-offset:4px; }

@media (max-width:700px) {
  .container { width:min(100% - 32px,560px); }
  h1 { font-size:clamp(2.8rem,13vw,4.2rem); }
}

/* The colored isotipo stays untouched while the wordmark is rendered as accessible text. */
.brand-mark { display:flex; width:auto; height:auto; align-items:center; gap:0; }
.brand-mark > img { width:32px; height:30px; object-fit:contain; filter:none; }
.brand-mark > span { display:block; width:auto; height:auto; border-radius:0; background:none; transform:none; }
.brand-copy { display:flex; flex-direction:column; gap:1px; color:#fff; }
.brand-name { display:block; color:#fff; font-family:Manrope,Inter,system-ui,sans-serif; font-size:1.23rem; font-weight:700; letter-spacing:-.055em; line-height:1; }
.brand-description { display:block; color:#c7d7e8; font-family:Manrope,Inter,system-ui,sans-serif; font-size:.43rem; font-weight:700; letter-spacing:.095em; line-height:1.2; white-space:nowrap; }
.brand:focus-visible { outline-offset:6px; }

/* Colored service icons and local technology marks. */
.service-icon { background:#eef6ff; }
.service-icon img { width:25px; height:25px; display:block; filter:none; }
.service-icon-orange { background:#fff2dc; }
.service-icon-blue { background:#e5f1ff; }
.service-icon-cyan { background:#ddf9fc; }
.service-icon-sky { background:#e5f5ff; }
.service-icon-green { background:#e1f7ec; }
.service-icon-navy { background:#e7eff9; }
.service-featured .service-icon { background:#fff2dc; }
.service-featured .service-icon img { filter:none; }
.tech-logos { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-top:48px; padding-top:28px; }
.tech-tile { display:flex; min-height:122px; align-items:center; justify-content:center; gap:13px; padding:22px 16px; color:#fff; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.18); border-radius:var(--radius-lg); transition:background .16s ease,border-color .16s ease,transform .16s ease; }
.tech-tile:hover,.tech-tile:focus-within { background:rgba(17,201,232,.12); border-color:var(--brand-cyan); transform:translateY(-2px); }
.tech-tile img { display:block; flex:0 0 44px; width:44px; height:44px; }
.tech-tile span { color:#fff; font-family:Manrope,Inter,system-ui,sans-serif; font-size:1rem; font-weight:700; letter-spacing:-.02em; }
@media (max-width:700px) {
  .tech-logos { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:36px; padding-top:24px; }
  .tech-tile { min-height:104px; flex-direction:column; gap:8px; padding:16px 8px; text-align:center; }
  .tech-tile img { flex-basis:40px; width:40px; height:40px; }
  .tech-tile span { font-size:.86rem; }
}

/* Hero treatment follows the supplied Lincesoft landing reference. */
.site-nav a { position:relative; }
.site-nav a.is-active { color:#fff; opacity:1; }
.site-nav a.is-active::after { position:absolute; right:0; bottom:-10px; left:0; height:2px; content:""; background:var(--brand-cyan); border-radius:999px; }
.site-nav .nav-cta::after { display:none; }
.hero { min-height:600px; padding:112px 0 0; background:#031a35; }
.hero-grid-glow { opacity:.2; }
.hero-layout { min-height:492px; grid-template-columns:minmax(0,.88fr) minmax(400px,1.12fr); align-items:start; gap:0; }
.hero-copy { z-index:2; padding-top:38px; }
.hero-copy .eyebrow { margin-bottom:18px; color:var(--brand-cyan); font-size:.65rem; letter-spacing:.18em; }
.hero-copy h1 { max-width:560px; font-size:clamp(3rem,5.3vw,4.65rem); line-height:1.04; letter-spacing:-.055em; }
.hero-copy h1 em { color:var(--brand-blue); }
.hero-lead { max-width:490px; margin-top:24px; color:#e2edf6; font-size:.98rem; line-height:1.55; }
.hero-actions { gap:14px; margin-top:28px; }
.button-secondary { color:#fff; background:transparent; border-color:var(--brand-cyan); }
.button-secondary:hover,.button-secondary:focus-visible { color:var(--brand-navy); background:var(--brand-cyan); }
.hero-art { position:relative; min-height:492px; align-items:start; justify-items:end; overflow:visible; }
.hero-art::before { position:absolute; top:21%; right:8%; width:62%; height:52%; content:""; background:radial-gradient(circle,rgba(17,201,232,.32),rgba(8,120,209,.14) 42%,transparent 74%); filter:blur(30px); pointer-events:none; }
.hero-art img { position:relative; z-index:1; width:min(100%,560px); height:auto; margin-top:4px; filter:none; object-fit:contain; }
.hero-art .art-label { display:none; }
.value-strip { color:#fff; background:var(--brand-navy); border:0; }
.value-grid { grid-template-columns:repeat(4,1fr); }
.value-item { min-height:116px; align-items:center; gap:14px; padding:20px 18px; border-right-color:rgba(126,190,226,.2); }
.value-item:first-child { padding-left:0; }
.value-item h2 { margin:0 0 4px; color:#fff; font-size:.92rem; letter-spacing:-.02em; }
.value-item p { color:#c5d5e4; font-size:.72rem; line-height:1.35; }
.value-icon { display:grid; flex:0 0 42px; width:42px; height:42px; place-items:center; border:1px solid var(--brand-blue); border-radius:var(--radius-md); background:rgba(8,120,209,.12); }
.value-icon img { width:22px; height:22px; display:block; filter:invert(72%) sepia(77%) saturate(1010%) hue-rotate(144deg) brightness(97%) contrast(92%); }
@media (max-width:1020px) {
  .site-nav { gap:18px; font-size:.76rem; }
  .hero-layout { grid-template-columns:minmax(0,.9fr) minmax(350px,1.1fr); }
  .hero-copy h1 { font-size:clamp(2.7rem,5.5vw,4rem); }
}
@media (max-width:700px) {
  .site-nav a.is-active::after { display:none; }
  .hero { min-height:auto; padding:104px 0 0; }
  .hero-layout { min-height:0; display:flex; flex-direction:column; gap:0; }
  .hero-copy { padding-top:20px; }
  .hero-copy .eyebrow { max-width:300px; margin-bottom:14px; font-size:.58rem; line-height:1.5; }
  .hero-copy h1 { font-size:clamp(2.65rem,12.8vw,4rem); line-height:1.02; }
  .hero-lead { max-width:520px; margin-top:20px; font-size:.92rem; }
  .hero-actions { align-items:stretch; flex-direction:column; gap:12px; margin-top:24px; }
  .hero-actions .button { width:100%; }
  .hero-art { min-height:270px; width:calc(100% + 16px); align-self:center; justify-items:center; }
  .hero-art img { width:min(100%,420px); margin-top:0; }
  .value-grid { grid-template-columns:repeat(2,1fr); }
  .value-item,.value-item:first-child { min-height:112px; align-items:flex-start; padding:18px 10px; border-bottom:1px solid rgba(126,190,226,.2); }
  .value-item:nth-child(2n) { border-right:0; }
  .value-item h2 { font-size:.8rem; }
  .value-item p { font-size:.68rem; }
  .value-icon { flex-basis:36px; width:36px; height:36px; }
  .value-icon img { width:19px; height:19px; }
}
