:root {
    --bg: #08090b;
    --bg-soft: #111419;
    --surface: #ffffff;
    --surface-muted: #f4f6f8;
    --text: #101318;
    --text-muted: #66717f;
    --text-light: rgba(255, 255, 255, 0.82);
    --line: rgba(16, 19, 24, 0.12);
    --line-light: rgba(255, 255, 255, 0.14);
    --gold: #d7a92e;
    --gold-bright: #f4cf63;
    --shadow: 0 24px 70px rgba(0, 0, 0, 0.18);
    --radius: 8px;
    --max: 1180px;
}

/* Nexo Sistemas visual identity */
:root { --gold:#27d8c1; --gold-bright:#73f2dd; --nexo-blue:#638cff; --bg:#080d16; --bg-soft:#0e1725; }
.site-header { background:rgba(8,13,22,.94); }
.brand { gap:11px; font-size:15px; letter-spacing:.08em; }
.brand b { color:#91a4bd; font-weight:600; }
.brand-mark { width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,var(--gold-bright),#5ca5ff);color:#07111c;font-size:22px;font-weight:900;letter-spacing:-.08em;box-shadow:0 0 28px rgba(39,216,193,.2); }
.brand span:not(.brand-mark) { color:#f4f8ff; }
.main-nav a::after { background:var(--gold); }
.header-cta { border-radius:8px; }
.corporate-hero { background:radial-gradient(ellipse at 78% 45%,rgba(57,92,168,.2),transparent 36%),radial-gradient(ellipse at 0 100%,rgba(39,216,193,.08),transparent 38%),#080d16; }
.gradient-text { background:linear-gradient(90deg,#77f0da,#81aaff);-webkit-background-clip:text;background-clip:text;color:transparent; }
.eyebrow { color:#4ee2ce; }
.eyebrow i,.status-dot { display:inline-block;width:8px;height:8px;border-radius:50%;background:#48e1cb;box-shadow:0 0 14px rgba(72,225,203,.8);vertical-align:middle;margin-right:7px; }
.hero-note { margin-top:25px;color:#95a4b8;font-size:13px; }
.tech-visual { min-height:470px;position:relative;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(144,171,211,.14);border-radius:22px;background:radial-gradient(circle at 50% 48%,rgba(72,127,218,.16),transparent 41%),linear-gradient(145deg,#111c2c,#0b111d 60%,#101a28); }
.tech-visual::before,.tech-visual::after { content:"";position:absolute;border:1px solid rgba(119,240,218,.12);border-radius:50%;width:420px;height:420px; }
.tech-visual::after { width:300px;height:300px;border-color:rgba(129,170,255,.16); }
.orbit { position:absolute;border:1px dashed rgba(116,157,218,.28);border-radius:50%;transform:rotate(-27deg); }
.orbit-one { width:360px;height:170px; }.orbit-two { width:460px;height:235px;transform:rotate(35deg); }
.core-chip { z-index:1;width:152px;height:152px;border:1px solid rgba(126,241,224,.45);border-radius:34px;display:grid;align-content:center;justify-items:center;background:linear-gradient(145deg,rgba(41,211,190,.16),rgba(90,129,255,.13));box-shadow:0 0 80px rgba(43,209,191,.15),inset 0 0 30px rgba(105,155,255,.12);transform:rotate(-8deg); }
.core-chip span { color:#eafffb;font-weight:800;font-size:52px;letter-spacing:-.1em; }.core-chip small { color:#6ee9d7;font-size:9px;letter-spacing:.22em; }
.float-card { position:absolute;z-index:2;display:flex;align-items:center;gap:12px;padding:13px 16px;border:1px solid rgba(165,185,218,.16);border-radius:12px;background:rgba(14,23,37,.88);box-shadow:0 14px 36px rgba(0,0,0,.28); }
.card-top { top:19%;right:7%; }.card-bottom { left:5%;bottom:22%; }.card-icon { width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:rgba(39,216,193,.13);color:#57e5d2;font-size:18px; }
.float-card b,.float-card small { display:block; }.float-card b { color:#f4f8ff;font-size:12px; }.float-card small { margin-top:4px;color:#8798af;font-size:10px; }
.tech-caption { position:absolute;left:24px;right:24px;bottom:20px;display:flex;justify-content:space-between;color:#8191a8;font-size:9px;letter-spacing:.16em; }.tech-caption span { color:#57e5d2; }
.metric-strip { background:#0c1421;border-color:rgba(139,162,197,.13); }.metric-strip strong { color:#55e2d0; }
.corporate-card,.detail-card,.article-card { border:1px solid rgba(126,153,194,.14);background:linear-gradient(145deg,#111b2a,#0c1420);border-radius:14px; }
.corporate-card:hover,.article-card:hover { border-color:rgba(79,226,207,.43);transform:translateY(-4px); }
.corporate-card > span:first-child { display:block; }.corporate-card .service-icon,.service-icon { display:grid;place-items:center;width:46px;height:46px;margin-bottom:24px;border-radius:12px;background:rgba(53,220,199,.1);color:#5be5d2;font-size:22px; }
.corporate-card small { color:#6e819b;font-size:9px;letter-spacing:.14em; }.corporate-card h3 { margin-top:14px; }.corporate-card a,.article-link,.article-cta { display:inline-flex;gap:8px;margin-top:12px;color:#58e1d0;font-size:13px;font-weight:700; }
.section-heading p,.corporate-card p { color:#9aa8ba; }.section-heading h2,.section h2,.cta-section h2 { letter-spacing:-.035em; }
.trust-feature { background:linear-gradient(120deg,#0c1421,#0a101a); }.code-visual { position:relative;min-height:330px;padding:32px;border:1px solid rgba(104,141,192,.2);border-radius:16px;background:radial-gradient(circle at 90% 5%,rgba(67,112,190,.2),transparent 45%),#0b1320;color:#dce8f7;overflow:hidden; }.code-label { display:block;margin-bottom:48px;color:#627891;font-size:10px;letter-spacing:.16em; }.code-visual code { line-height:2.25;font-size:clamp(14px,2vw,19px); }.code-visual code i { padding-right:18px;color:#50dfcb;font-style:normal; }.code-cursor { color:#50dfcb;animation:blink 1s steps(2,start) infinite; }.trust-image { min-height:300px; }
@keyframes blink { to { visibility:hidden; } }
.dark-feature-list span,.feature-list span { border-color:rgba(125,156,202,.2);color:#c5d1e2; }
.process-grid > div,.process-grid div { border-color:rgba(126,153,194,.16); }.process-grid > div > span:first-child,.process-grid div > span:first-child { color:#51dfcd; }.process-grid p { color:#99a8bd; }
.blog-preview { background:#0b121e; }.article-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:18px; }.article-card { min-height:245px;padding:25px;display:flex;flex-direction:column;transition:transform .2s,border-color .2s; }.article-tag,.article-meta { color:#56ddcb;font-size:10px;letter-spacing:.14em;font-weight:800; }.article-card h3 { color:#f2f6fd;font-size:20px;line-height:1.35; }.article-link { margin-top:auto; }.center-action { display:flex;justify-content:center;margin-top:30px; }
.cta-section { border:1px solid rgba(104,156,207,.17);border-radius:18px;background:radial-gradient(ellipse at 85% 0,rgba(50,192,177,.12),transparent 50%),#101a28; }.cta-section p { color:#a5b2c4; }.site-footer { background:#070b12;border-color:rgba(126,153,194,.14); }.site-footer p,.footer-copy { color:#8795a8; }.footer-brand { margin-bottom:8px; }.footer-nav { display:flex;gap:20px;color:#bac6d7;font-size:13px; }
.page-hero { background:radial-gradient(ellipse at 80% 45%,rgba(57,92,168,.2),transparent 40%),#080d16; }.page-hero p,.form-copy p { color:#a0aec1; }.detail-card { color:#f2f6fc; }.detail-card p,.detail-card li { color:#9baabe; }.highlight-card { background:linear-gradient(145deg,rgba(26,60,72,.75),#101a28);border-color:rgba(68,224,204,.28); }.service-illustration { min-height:340px;display:grid;place-items:center;border-radius:16px;background:radial-gradient(circle at 50% 40%,rgba(80,145,217,.2),transparent 48%),#0c1421;border:1px solid rgba(126,153,194,.14); }.monitor { width:min(78%,420px);padding:13px;border:1px solid #425875;border-radius:15px;background:linear-gradient(145deg,#203149,#0c1320);box-shadow:0 25px 60px #050a12; }.monitor-screen { min-height:210px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;border-radius:8px;background:radial-gradient(circle at 90% 10%,rgba(38,205,186,.24),transparent 48%),#0b1523;color:#eaf6ff; }.monitor-screen span { color:#59e4d2;font-size:22px;font-weight:800; }.monitor-screen i { color:#526b89;font-size:10px;font-style:normal; }.monitor-screen b { font-size:20px;line-height:1.35; }.monitor-screen small { color:#7388a2;font-size:8px;letter-spacing:.12em; }.monitor-stand { width:90px;height:18px;border-bottom:5px solid #354965;border-left:16px solid transparent;border-right:16px solid transparent; }
.form-page { background:radial-gradient(ellipse at 10% 20%,rgba(52,112,172,.17),transparent 36%),#090f19; }.form-copy h1,.page-hero h1 { color:#f4f7fd; }.contact-panel { border-color:rgba(126,153,194,.18);background:rgba(16,26,40,.8); }.contact-panel strong { color:#55dfce; }.contact-panel a,.contact-panel span { color:#bdcada; }.corporate-form { border:1px solid rgba(126,153,194,.2);border-radius:15px;background:#111b2a;color:#f2f6fd; }.corporate-form label { color:#e0e8f3; }.corporate-form input,.corporate-form textarea,.corporate-form select { border-color:#34465e;border-radius:8px;background:#0b1320;color:#f4f7fd; }.corporate-form input::placeholder,.corporate-form textarea::placeholder { color:#6f8096; }.corporate-form select option { background:#0b1320; }.quote-note { padding:12px 14px;border-radius:8px;background:rgba(255,190,80,.09);color:#ffd783;font-size:13px; }.form-privacy { display:block;margin-top:15px;color:#8291a5;line-height:1.5; }
.articles-list { max-width:920px; }.article-full { padding:34px 0 42px;border-bottom:1px solid rgba(126,153,194,.18);color:#c0cada;scroll-margin-top:110px; }.article-meta { display:flex;gap:14px; }.article-meta span+span { color:#788aa2; }.article-full h2 { margin:17px 0;color:#f1f5fc;font-size:clamp(26px,4vw,38px); }.article-full h3 { margin:24px 0 8px;color:#f1f5fc; }.article-full p,.article-full li { color:#a7b4c6;line-height:1.75; }.article-full li { margin:10px 0;padding-left:5px; }.article-full li b { color:#e1e9f4; }.article-cta { margin-top:8px; }
.about-intro { min-height:430px; }.values-section { background:#0b121e; }
@media(max-width:850px) { .tech-visual{min-height:380px}.article-grid{grid-template-columns:1fr}.footer-nav{flex-wrap:wrap} }
@media(max-width:560px) { .tech-visual{min-height:320px}.core-chip{width:120px;height:120px}.card-top{right:3%;top:12%}.card-bottom{left:3%;bottom:17%}.float-card{padding:10px}.tech-caption{font-size:7px;left:13px;right:13px}.corporate-form{padding:22px}.footer-nav{gap:12px} }

/* Final Nexo overrides for the inherited layout rules. */
:root { --bg:#080d16; --bg-soft:#0e1725; --text:#e7eef8; --text-muted:#9baabe; --surface:#111b2a; --surface-muted:#0c1421; --line:rgba(126,153,194,.18); --line-light:rgba(126,153,194,.18); --gold:#27d8c1; --gold-bright:#73f2dd; }
body { background:#080d16; color:#e7eef8; }
.site-header { background:rgba(8,13,22,.94); border-color:rgba(126,153,194,.18); }
.brand span:not(.brand-mark),.site-footer strong { color:#f4f8ff; }
.brand b { color:#91a4bd; }
.corporate-hero,.hero { background:radial-gradient(ellipse at 78% 45%,rgba(57,92,168,.2),transparent 36%),radial-gradient(ellipse at 0 100%,rgba(39,216,193,.08),transparent 38%),#080d16; }
.corporate-hero h1,.page-hero h1,.form-copy h1,.section-heading h2,.section h2,.split-section h2,.process-grid h3,.site-footer,.detail-card h2 { color:#f0f5fc; }
.corporate-hero p,.section-heading p,.split-section p,.process-grid p,.corporate-card p,.detail-card p,.detail-card li { color:#9baabe; }
.hero-media { min-height:420px; }
.photo-credits { margin:26px 0 0;color:#8190a4;font-size:11px;line-height:1.6; }
.photo-credits a,.service-illustration figcaption a { color:#bdd1e5;text-decoration:underline;text-underline-offset:2px; }
.photo-credits a:hover,.service-illustration figcaption a:hover { color:#73f2dd; }
.page-hero { background:radial-gradient(ellipse at 80% 45%,rgba(57,92,168,.2),transparent 40%),#080d16; }
.metric-strip { background:#0c1421; border-color:rgba(139,162,197,.13); }
.corporate-card,.detail-card,.process-grid div { border-color:rgba(126,153,194,.14); background:linear-gradient(145deg,#111b2a,#0c1420); }
.detail-card:hover,.corporate-card:hover,.process-grid div:hover { border-color:rgba(79,226,207,.43); }
.trust-feature,.blog-preview,.values-section { background:linear-gradient(120deg,#0c1421,#0a101a); }
.corporate-form { background:#111b2a; color:#f2f6fd; border:1px solid rgba(126,153,194,.2); }
.corporate-form label { color:#e0e8f3; }
.corporate-form input,.corporate-form textarea,.corporate-form select { border-color:#34465e; background:#0b1320; color:#f4f7fd; }
.contact-panel { background:rgba(16,26,40,.8); border-color:rgba(126,153,194,.18); }
.contact-panel a,.contact-panel span { color:#bdcada; }
.site-footer { background:#070b12; border-color:rgba(126,153,194,.14); }
.site-footer p,.footer-copy { color:#8795a8; }
.page-hero p,.form-copy p { color:#a0aec1; }
.service-grid-wide { grid-template-columns:repeat(4,minmax(0,1fr)); }
@media(max-width:900px) { .service-grid-wide { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:680px) { .service-grid-wide { grid-template-columns:1fr; } }
.tech-visual { isolation:isolate; }
.tech-visual .hero-photo { position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;opacity:.52;filter:saturate(.72); }
.tech-visual::before { z-index:1;background:linear-gradient(90deg,rgba(8,13,22,.16),rgba(8,13,22,.38)); }
.tech-visual::after { z-index:1; }
.orbit { z-index:1; }
.core-chip,.float-card,.tech-caption { z-index:2; }
.service-illustration { position:relative;display:block;min-height:340px;margin:0;overflow:hidden;border-radius:16px;background:#0c1421;border:1px solid rgba(126,153,194,.14); }
.service-illustration img { width:100%;height:100%;min-height:340px;display:block;object-fit:cover; }
.service-illustration figcaption { position:absolute;left:14px;right:14px;bottom:14px;padding:11px 13px;border-radius:8px;background:rgba(8,13,22,.88);color:#e7eef8;font-size:12px; }
.feature-list span { color:#d5e0ed;background:rgba(39,216,193,.07);border-color:rgba(79,226,207,.24); }
.article-card > img { width:calc(100% + 50px);height:148px;margin:-25px -25px 22px;object-fit:cover;border-radius:13px 13px 0 0; }
.form-page { background:radial-gradient(ellipse at 10% 20%,rgba(52,112,172,.17),transparent 36%),#090f19; }
.cta-section { background:radial-gradient(ellipse at 85% 0,rgba(50,192,177,.12),transparent 50%),#101a28; }
.page-hero,.about-intro { background:radial-gradient(ellipse at 80% 45%,rgba(57,92,168,.2),transparent 40%),#080d16; }
.hero-media { min-height:420px; }
@media(max-width:850px) { .hero-media { min-height:360px; } }
@media(max-width:560px) { .hero-media { min-height:310px; } }

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--bg);
    color: var(--text);
    font-family: Arial, Helvetica, sans-serif;
    animation: page-enter 480ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

body.is-leaving {
    pointer-events: none;
    animation: page-leave 260ms ease forwards;
}

img,
video {
    max-width: 100%;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
textarea,
select {
    font: inherit;
}

.site-header {
    min-height: 92px;
    position: sticky;
    top: 0;
    z-index: 50;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 28px;
    padding: 14px clamp(20px, 5vw, 64px);
    background: rgba(8, 9, 11, 0.92);
    color: #fff;
    border-bottom: 1px solid var(--line-light);
    backdrop-filter: blur(16px);
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    min-width: max-content;
}

.brand img {
    width: 54px;
    height: 60px;
    object-fit: cover;
}

.brand span,
.site-footer strong {
    color: #fff;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: 0;
}

.main-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(16px, 2.5vw, 30px);
    color: rgba(255, 255, 255, 0.8);
    font-size: 15px;
    font-weight: 700;
}

.main-nav a {
    position: relative;
    padding: 10px 0;
    transition: color 180ms ease, transform 180ms ease;
}

.main-nav a::after {
    content: "";
    width: 100%;
    height: 2px;
    position: absolute;
    left: 0;
    bottom: 0;
    background: var(--gold);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 220ms ease;
}

.main-nav a:hover,
.main-nav a:focus-visible,
.main-nav .active {
    color: #fff;
}

.main-nav a:hover,
.main-nav a:focus-visible {
    transform: translateY(-1px);
}

.main-nav a:hover::after,
.main-nav a:focus-visible::after,
.main-nav .active::after {
    transform: scaleX(1);
}

.header-cta {
    min-width: max-content;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 42px;
    padding: 0 18px;
    border: 1px solid rgba(244, 207, 99, 0.5);
    border-radius: 999px;
    color: #111;
    background: var(--gold-bright);
    font-size: 14px;
    font-weight: 800;
    transition: transform 200ms ease, box-shadow 200ms ease, background 200ms ease;
}

.header-cta:hover,
.header-cta:focus-visible {
    transform: translateY(-2px);
    background: #ffe08a;
    box-shadow: 0 14px 34px rgba(215, 169, 46, 0.28);
}

.hero {
    background:
        linear-gradient(115deg, rgba(8, 9, 11, 0.98) 0%, rgba(17, 20, 25, 0.94) 55%, rgba(46, 38, 19, 0.84) 100%);
    color: #fff;
}

.corporate-hero {
    min-height: calc(100vh - 92px);
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(360px, 1.05fr);
    align-items: center;
    gap: clamp(38px, 5vw, 72px);
    padding: clamp(58px, 8vw, 96px) clamp(20px, 5vw, 64px);
}

.hero-copy {
    max-width: 650px;
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--gold-bright);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.eyebrow::before {
    content: "";
    width: 28px;
    height: 2px;
    background: currentColor;
}

.hero h1,
.page-hero h1,
.form-copy h1 {
    margin: 18px 0 0;
    color: inherit;
    font-size: clamp(42px, 5.6vw, 76px);
    line-height: 1.02;
    font-weight: 800;
    letter-spacing: 0;
}

.hero p,
.page-hero p,
.form-copy p,
.section-heading p,
.split-section p {
    margin: 24px 0 0;
    color: var(--text-light);
    font-size: clamp(17px, 1.8vw, 20px);
    line-height: 1.55;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}

.btn {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 22px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
    transition: transform 200ms ease, box-shadow 200ms ease, background 200ms ease, color 200ms ease, border-color 200ms ease;
}

.btn-primary {
    background: var(--gold-bright);
    color: #111;
    box-shadow: 0 18px 40px rgba(215, 169, 46, 0.22);
}

.btn-secondary {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.26);
    background: rgba(255, 255, 255, 0.06);
}

.btn:hover,
.btn:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.22);
}

.btn-primary:hover,
.btn-primary:focus-visible {
    background: #ffe08a;
}

.btn-secondary:hover,
.btn-secondary:focus-visible {
    border-color: rgba(255, 255, 255, 0.54);
    background: rgba(255, 255, 255, 0.12);
}

.hero-media {
    position: relative;
}

.hero-media img,
.image-stack img {
    width: 100%;
    display: block;
    border-radius: var(--radius);
    object-fit: cover;
    box-shadow: var(--shadow);
}

.hero-media img {
    aspect-ratio: 16 / 9;
}

.media-badge {
    width: min(360px, calc(100% - 32px));
    position: absolute;
    right: 16px;
    bottom: 16px;
    padding: 18px;
    border-radius: var(--radius);
    background: rgba(8, 9, 11, 0.82);
    border: 1px solid rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(10px);
}

.media-badge strong,
.media-badge span {
    display: block;
}

.media-badge strong {
    color: #fff;
    font-size: 16px;
}

.media-badge span {
    margin-top: 6px;
    color: rgba(255, 255, 255, 0.72);
    font-size: 14px;
    line-height: 1.4;
}

.metric-strip {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: var(--surface);
    border-bottom: 1px solid var(--line);
}

.metric-strip div {
    min-height: 128px;
    display: grid;
    align-content: center;
    gap: 8px;
    padding: 28px clamp(18px, 4vw, 46px);
    border-right: 1px solid var(--line);
}

.metric-strip div:last-child {
    border-right: 0;
}

.metric-strip strong {
    color: var(--text);
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1;
}

.metric-strip span {
    color: var(--text-muted);
    font-size: 14px;
    line-height: 1.35;
    font-weight: 700;
}

.section {
    padding: clamp(72px, 9vw, 118px) clamp(20px, 5vw, 64px);
    background: var(--surface);
}

.section:nth-of-type(even) {
    background: var(--surface-muted);
}

.section-heading {
    max-width: 760px;
    margin: 0 auto 46px;
    text-align: center;
}

.section-heading h2,
.split-section h2,
.cta-section h2 {
    margin: 16px 0 0;
    color: var(--text);
    font-size: clamp(32px, 4vw, 52px);
    line-height: 1.08;
    font-weight: 800;
}

.section-heading p,
.split-section p,
.cta-section p {
    color: var(--text-muted);
}

.service-grid,
.service-detail-grid,
.process-grid,
.coverage-grid,
.media-grid {
    width: min(var(--max), 100%);
    margin: 0 auto;
    display: grid;
    gap: 18px;
}

.service-grid {
    grid-template-columns: repeat(4, 1fr);
}

.service-grid-wide {
    grid-template-columns: repeat(5, 1fr);
}

.corporate-card,
.detail-card,
.process-grid div,
.coverage-grid div,
.mission-panel,
.contact-panel,
.corporate-form {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    box-shadow: 0 14px 38px rgba(16, 19, 24, 0.06);
}

.corporate-card,
.detail-card,
.process-grid div,
.coverage-grid div {
    padding: 28px;
    transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.corporate-card:hover,
.detail-card:hover,
.process-grid div:hover,
.coverage-grid div:hover {
    transform: translateY(-6px);
    border-color: rgba(215, 169, 46, 0.44);
    box-shadow: 0 24px 60px rgba(16, 19, 24, 0.12);
}

.highlight-card {
    border-color: rgba(215, 169, 46, 0.5);
    background: linear-gradient(180deg, #fffdf5 0%, #fff 100%);
}

.corporate-card span,
.process-grid span {
    color: var(--gold);
    font-size: 13px;
    font-weight: 900;
}

.corporate-card h3,
.detail-card h2,
.process-grid h3,
.coverage-grid h3,
.mission-panel strong {
    margin: 16px 0 0;
    color: var(--text);
    font-size: 20px;
    line-height: 1.2;
    font-weight: 800;
}

.corporate-card p,
.detail-card p,
.process-grid p,
.coverage-grid p,
.mission-panel span,
.contact-panel a {
    margin: 12px 0 0;
    color: var(--text-muted);
    font-size: 15px;
    line-height: 1.5;
}

.media-section {
    background: #101318;
    color: #fff;
}

.construction-feature {
    background:
        linear-gradient(180deg, #f6f7f9 0%, #fff 100%);
}

.section.trust-feature {
    background: #fff;
    color: var(--text);
}

.trust-feature .split-section h2 {
    color: var(--text);
}

.trust-feature .split-section p {
    color: var(--text-muted);
}

.trust-split {
    grid-template-columns: minmax(320px, 0.92fr) minmax(0, 1.08fr);
}

.trust-image {
    justify-self: center;
    width: min(520px, 100%);
}

.trust-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: var(--radius);
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.42);
}

.media-section .section-heading h2 {
    color: #fff;
}

.media-section .section-heading p {
    color: rgba(255, 255, 255, 0.68);
}

.media-grid {
    grid-template-columns: repeat(2, 1fr);
}

.media-grid-expanded {
    grid-template-columns: repeat(3, 1fr);
}

.media-showcase {
    width: min(var(--max), 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 22px;
    align-items: start;
}

.featured-video,
.silent-video {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: var(--radius);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.24);
}

.featured-video video,
.silent-video video {
    width: 100%;
    display: block;
    object-fit: cover;
    background: #000;
}

.featured-video {
    background: #050608;
}

.featured-video video {
    height: auto;
    aspect-ratio: auto;
    object-fit: contain;
}

.clean-video {
    align-self: start;
}

.visual-board {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 14px;
}

.media-layout-clean {
    align-items: start;
}

.visual-strip {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    align-items: start;
}

.silent-video {
    position: relative;
    margin: 0;
}

.silent-video {
    min-height: 0;
    background: #050608;
    align-self: start;
}

.silent-video-wide {
    grid-column: auto;
    min-height: 0;
}

.silent-video video {
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    transition: transform 260ms ease, filter 260ms ease;
}

.silent-video:hover video {
    filter: contrast(1.05);
    transform: scale(1.04);
}

.contain-media {
    background: radial-gradient(circle at center, rgba(244, 207, 99, 0.12), rgba(5, 6, 8, 0.98) 62%);
}

.contain-media img,
.contain-media video {
    object-fit: contain;
}

.silent-video figcaption {
    position: absolute;
    left: 12px;
    bottom: 12px;
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(8, 9, 11, 0.78);
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.02em;
    backdrop-filter: blur(10px);
}

.process-grid {
    grid-template-columns: repeat(3, 1fr);
}

.cta-section {
    width: min(var(--max), calc(100% - 40px));
    margin: clamp(72px, 9vw, 118px) auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: clamp(34px, 5vw, 54px);
    border-radius: var(--radius);
    background: linear-gradient(135deg, #080d16, #111b2a);
    color: #fff;
    box-shadow: var(--shadow);
}

.cta-section h2,
.cta-section p {
    color: #fff;
}

.cta-section p {
    max-width: 620px;
    color: rgba(255, 255, 255, 0.74);
}

.page-hero {
    min-height: 430px;
    display: grid;
    align-items: center;
    padding: clamp(70px, 10vw, 120px) clamp(20px, 5vw, 64px);
    background: radial-gradient(ellipse at 80% 45%, rgba(57, 92, 168, .2), transparent 40%), #080d16;
    color: #fff;
}

.page-hero > div {
    width: min(880px, 100%);
}

.page-hero h1,
.form-copy h1 {
    font-size: clamp(38px, 5vw, 64px);
}

.service-detail-grid {
    grid-template-columns: repeat(3, 1fr);
}

.detail-card ul {
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 10px;
}

.detail-card li {
    color: var(--text-muted);
    font-size: 14px;
    line-height: 1.35;
}

.detail-card li::before {
    content: "";
    width: 7px;
    height: 7px;
    display: inline-block;
    margin-right: 10px;
    border-radius: 50%;
    background: var(--gold);
}

.split-section {
    width: min(var(--max), 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(330px, 1.05fr);
    align-items: center;
    gap: clamp(38px, 6vw, 84px);
}

.split-section .btn {
    margin-top: 28px;
}

.image-stack img {
    aspect-ratio: 16 / 10;
}

.poster-stack {
    justify-self: center;
    width: min(430px, 100%);
}

.poster-stack img {
    aspect-ratio: 5 / 7;
    object-position: center top;
}

.service-video-frame {
    justify-self: center;
    width: min(430px, 100%);
    overflow: hidden;
    border-radius: var(--radius);
    background: transparent;
    box-shadow: var(--shadow);
}

.service-video-frame video {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
    background: transparent;
}

.feature-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 26px;
}

.feature-list span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid rgba(215, 169, 46, 0.32);
    border-radius: 999px;
    background: rgba(215, 169, 46, 0.08);
    color: #6d5417;
    font-size: 13px;
    font-weight: 800;
}

.dark-feature-list span {
    border-color: rgba(244, 207, 99, 0.34);
    background: rgba(244, 207, 99, 0.16);
    color: var(--text);
}

.about-intro { background: radial-gradient(ellipse at 80% 45%, rgba(57, 92, 168, .2), transparent 40%), #080d16; }

.mission-panel {
    display: grid;
    gap: 0;
    overflow: hidden;
}

.mission-panel div {
    padding: 28px;
    border-bottom: 1px solid var(--line);
}

.mission-panel div:last-child {
    border-bottom: 0;
}

.mission-panel span,
.contact-panel a {
    display: block;
}

.coverage-section {
    background: var(--surface-muted);
}

.coverage-grid {
    grid-template-columns: repeat(3, 1fr);
}

.form-page {
    min-height: calc(100vh - 92px);
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(420px, 1fr);
    align-items: center;
    gap: clamp(38px, 6vw, 84px);
    padding: clamp(64px, 9vw, 110px) clamp(20px, 5vw, 64px);
    background: radial-gradient(ellipse at 10% 20%, rgba(52, 112, 172, .17), transparent 36%), #090f19;
    color: #fff;
}

.form-copy {
    max-width: 620px;
}

.contact-panel {
    margin-top: 34px;
    padding: 24px;
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.16);
    box-shadow: none;
}

.contact-panel strong {
    display: block;
    margin-bottom: 12px;
    color: #fff;
    font-size: 18px;
}

.contact-panel a {
    color: rgba(255, 255, 255, 0.76);
}

.corporate-form {
    display: grid;
    gap: 18px;
    padding: clamp(24px, 4vw, 42px);
}

.form-row {
    display: grid;
    gap: 8px;
}

.two-columns {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.corporate-form label {
    color: #2d333b;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 800;
}

.corporate-form input,
.corporate-form textarea,
.corporate-form select {
    width: 100%;
    border: 1px solid rgba(16, 19, 24, 0.14);
    border-radius: var(--radius);
    background: #f7f8fa;
    color: var(--text);
    outline: none;
    transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.corporate-form input,
.corporate-form select {
    height: 50px;
    padding: 0 14px;
}

.corporate-form textarea {
    min-height: 132px;
    padding: 14px;
    resize: vertical;
}

.corporate-form input:focus,
.corporate-form textarea:focus,
.corporate-form select:focus {
    border-color: rgba(215, 169, 46, 0.68);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(215, 169, 46, 0.16);
}

.corporate-form .btn {
    width: max-content;
    border: 0;
}

#quote-submit { gap: 10px; }
#quote-submit:disabled { opacity: .7; cursor: wait; transform: none; }
[hidden] { display: none !important; }

.site-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 34px clamp(20px, 5vw, 64px);
    background: #050608;
    color: #fff;
    border-top: 1px solid var(--line-light);
}

.site-footer p {
    max-width: 560px;
    margin: 8px 0 0;
    color: rgba(255, 255, 255, 0.62);
    font-size: 14px;
    line-height: 1.5;
}

.whatsapp-link {
    min-width: max-content;
    color: var(--gold-bright);
    font-size: 20px;
    font-weight: 900;
    transition: color 180ms ease, transform 180ms ease;
}

.whatsapp-link:hover,
.whatsapp-link:focus-visible {
    color: #fff;
    transform: translateY(-2px);
}

.js [data-reveal],
.js .reveal-item {
    opacity: 0;
    transform: translateY(28px);
    transition:
        opacity 680ms cubic-bezier(0.22, 1, 0.36, 1) var(--reveal-delay, 0ms),
        transform 680ms cubic-bezier(0.22, 1, 0.36, 1) var(--reveal-delay, 0ms);
}

.js [data-reveal].is-visible,
.js .reveal-item.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@keyframes page-enter {
    from {
        opacity: 0;
        transform: translateY(10px);
        filter: blur(4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0);
    }
}

@keyframes page-leave {
    to {
        opacity: 0;
        transform: translateY(-8px);
        filter: blur(3px);
    }
}

@media (max-width: 980px) {
    .site-header {
        grid-template-columns: 1fr;
        gap: 14px;
        position: static;
    }

    .brand,
    .main-nav {
        justify-content: center;
    }

    .main-nav {
        flex-wrap: wrap;
    }

    .header-cta {
        justify-self: center;
    }

    .corporate-hero,
    .split-section,
    .form-page,
    .media-showcase {
        grid-template-columns: 1fr;
    }

    .hero-copy,
    .form-copy {
        max-width: none;
    }

    .service-grid,
    .service-detail-grid,
    .process-grid,
    .coverage-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .metric-strip {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 680px) {
    .site-header {
        padding: 16px 18px;
    }

    .brand span {
        font-size: 16px;
    }

    .main-nav {
        gap: 10px 16px;
        font-size: 14px;
    }

    .corporate-hero,
    .page-hero,
    .form-page,
    .section {
        padding-left: 18px;
        padding-right: 18px;
    }

    .hero h1,
    .page-hero h1,
    .form-copy h1 {
        font-size: 38px;
    }

    .hero-actions,
    .cta-section,
    .site-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .btn,
    .corporate-form .btn,
    .header-cta {
        width: 100%;
    }

    .metric-strip,
    .service-grid,
    .service-detail-grid,
    .process-grid,
    .coverage-grid,
    .media-grid,
    .visual-board,
    .visual-strip,
    .two-columns {
        grid-template-columns: 1fr;
    }

    .silent-video-wide,
    .visual-strip {
        grid-column: auto;
    }

    .metric-strip div {
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .media-badge {
        position: static;
        width: 100%;
        margin-top: 12px;
    }

    .cta-section {
        width: calc(100% - 36px);
        margin: 64px auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
    }

    .js [data-reveal],
    .js .reveal-item {
        opacity: 1;
        transform: none;
    }
}

/* Nexo final theme overrides: keep inherited light-theme rules from reducing contrast. */
:root { --bg:#080d16; --bg-soft:#0e1725; --text:#e7eef8; --text-muted:#9baabe; --surface:#111b2a; --surface-muted:#0c1421; --line:rgba(126,153,194,.18); --line-light:rgba(126,153,194,.18); --gold:#27d8c1; --gold-bright:#73f2dd; }
body { background:#080d16; color:#e7eef8; }
.site-header { background:rgba(8,13,22,.96); border-color:rgba(126,153,194,.18); }
.brand span:not(.brand-mark),.site-footer strong { color:#f4f8ff; }
.brand b { color:#91a4bd; }
.corporate-hero,.hero { background:radial-gradient(ellipse at 78% 45%,rgba(57,92,168,.2),transparent 36%),radial-gradient(ellipse at 0 100%,rgba(39,216,193,.08),transparent 38%),#080d16; }
.hero h1,.page-hero h1,.form-copy h1,.section-heading h2,.section h2,.split-section h2,.process-grid h3,.site-footer,.detail-card h2 { color:#f0f5fc; }
.hero p,.page-hero p,.form-copy p,.section-heading p,.split-section p,.process-grid p,.corporate-card p,.detail-card p,.detail-card li { color:#a7b4c6; }
.section,.section:nth-of-type(even),.metric-strip { background:#0c1421; }
.corporate-card,.detail-card,.process-grid div { border-color:rgba(126,153,194,.16);background:linear-gradient(145deg,#111b2a,#0c1420); }
.highlight-card { background:linear-gradient(145deg,rgba(26,60,72,.75),#101a28);border-color:rgba(68,224,204,.28); }
.trust-feature,.blog-preview,.values-section { background:linear-gradient(120deg,#0c1421,#0a101a); }
.page-hero,.about-intro { background:radial-gradient(ellipse at 80% 45%,rgba(57,92,168,.2),transparent 40%),#080d16; }
.form-page { background:radial-gradient(ellipse at 10% 20%,rgba(52,112,172,.17),transparent 36%),#090f19; }
.cta-section { background:radial-gradient(ellipse at 85% 0,rgba(50,192,177,.12),transparent 50%),#101a28;color:#f4f8ff; }
.cta-section h2 { color:#f4f8ff; }.cta-section p { color:#a5b2c4; }
.corporate-form { background:#111b2a;color:#f2f6fd;border:1px solid rgba(126,153,194,.2); }
.corporate-form label { color:#e0e8f3; }
.corporate-form input,.corporate-form textarea,.corporate-form select { border-color:#34465e;background:#0b1320;color:#f4f7fd; }
.corporate-form input::placeholder,.corporate-form textarea::placeholder { color:#9baabe; }
.contact-panel { background:rgba(16,26,40,.8);border-color:rgba(126,153,194,.18); }
.mission-panel { background:#111b2a;border:1px solid rgba(126,153,194,.18); }
.mission-panel strong { color:#f0f5fc; }.mission-panel span { color:#a7b4c6; }
.contact-panel strong { color:#55dfce; }.contact-panel a,.contact-panel span { color:#bdcada; }
.feature-list span { color:#d5e0ed;background:rgba(39,216,193,.07);border-color:rgba(79,226,207,.24); }
.site-footer { background:#070b12;border-color:rgba(126,153,194,.14); }.site-footer p,.footer-copy { color:#8795a8; }
.tech-visual { isolation:isolate;min-height:420px; }
.tech-visual .hero-photo { position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;opacity:.52;filter:saturate(.72); }
.tech-visual::before { z-index:1;background:linear-gradient(90deg,rgba(8,13,22,.16),rgba(8,13,22,.38)); }.tech-visual::after { z-index:1; }
.orbit { z-index:1; }.core-chip,.float-card,.tech-caption { z-index:2; }
.service-illustration { position:relative;display:block;min-height:340px;margin:0;overflow:hidden;border-radius:16px;background:#0c1421;border:1px solid rgba(126,153,194,.14); }
.service-illustration img { width:100%;height:100%;min-height:340px;display:block;object-fit:cover; }
.service-illustration figcaption { position:absolute;left:14px;right:14px;bottom:14px;padding:11px 13px;border-radius:8px;background:rgba(8,13,22,.88);color:#e7eef8;font-size:12px; }
.service-illustration figcaption a,.photo-credits a { color:#bdd1e5;text-decoration:underline;text-underline-offset:2px; }
.article-card > img { width:calc(100% + 50px);height:148px;margin:-25px -25px 22px;object-fit:cover;border-radius:13px 13px 0 0; }
.photo-credits { margin:26px 0 0;color:#9baabe;font-size:11px;line-height:1.6; }
@media(max-width:850px) { .tech-visual { min-height:360px; } }
@media(max-width:560px) { .tech-visual { min-height:310px; } }

/* Refined Nexo visual system: quiet surfaces, restrained accent and purposeful motion. */
:root { --gold:#83aaa7; --gold-bright:#b1cfcb; }
.site-header { background:#0b111a;backdrop-filter:none;border-bottom:1px solid #202b38; }
.brand-mark { background:#83aaa7;color:#101a23;border-radius:7px;box-shadow:none; }
.brand b { color:#aab6c2; }
.header-cta { border:1px solid #789995;background:#a6c4c0;color:#101a23;box-shadow:none; }
.header-cta:hover,.header-cta:focus-visible { background:#c0d7d4;box-shadow:none; }
.corporate-hero,.hero { background:#0b111a;color:#f0f3f5; }
.gradient-text { color:#a6c5c1;background:none;-webkit-text-fill-color:currentColor; }
.eyebrow { color:#a6c5c1; }
.eyebrow i,.status-dot { background:#8eb2ad;box-shadow:none; }
.tech-visual { min-height:420px;border:1px solid #283542;border-radius:5px;background:#111a24;box-shadow:none; }
.tech-visual .hero-photo { opacity:.94;filter:saturate(.72);box-shadow:none;animation:nexo-photo-in 900ms ease-out both; }
.tech-visual::before { content:"";position:absolute;inset:0;z-index:1;width:auto;height:auto;border:0;border-radius:0;background:linear-gradient(0deg,rgba(7,12,18,.78),transparent 52%); }
.tech-visual::after { content:none; }
.tech-caption { position:absolute;left:22px;right:22px;bottom:18px;display:flex;justify-content:space-between;gap:12px;color:#f0f3f5;font-size:10px;letter-spacing:.11em; }
.tech-caption span { color:#b7cbc9; }
.section,.section:nth-of-type(even),.metric-strip { background:#0e151f; }
.trust-feature,.blog-preview,.values-section,.digital-services { background:#0b111a; }
.corporate-card,.detail-card,.process-grid div { background:#111a25;border:1px solid #26323f;border-radius:6px;box-shadow:none;transition:transform 220ms ease,border-color 220ms ease,background-color 220ms ease; }
.corporate-card:hover,.detail-card:hover,.process-grid div:hover { transform:translateY(-3px);border-color:#627c7b;box-shadow:none;background:#141e2a; }
.highlight-card { background:#121e27;border-color:#4a6766; }
.service-icon,.corporate-card .service-icon { border-radius:5px;background:#1a2a31;color:#a9c6c1;box-shadow:none; }
.corporate-card a,.article-link,.article-cta { color:#b1cfcb; }
.article-card { background:#111a25;border:1px solid #26323f;border-radius:6px;box-shadow:none; }
.article-card:hover { transform:translateY(-3px);border-color:#627c7b;box-shadow:none; }
.article-card > img { border-radius:5px 5px 0 0;filter:saturate(.72); }
.cta-section { background:#111a25;border:1px solid #293642;border-radius:6px;box-shadow:none; }
.btn { border-radius:5px;box-shadow:none;transition:transform 180ms ease,background-color 180ms ease,border-color 180ms ease,color 180ms ease; }
.btn:hover,.btn:focus-visible,.btn-primary:hover,.btn-primary:focus-visible,.header-cta:hover,.header-cta:focus-visible { box-shadow:none; }
.btn-primary { background:#a6c4c0;color:#101a23;box-shadow:none; }
.btn-primary:hover,.btn-primary:focus-visible { background:#c0d7d4;box-shadow:none; }
.btn-secondary { background:transparent;border-color:#536471;color:#e2e8ed; }
.btn-secondary:hover,.btn-secondary:focus-visible { background:#17232d;border-color:#91aaa8; }
.feature-list span { color:#c0cccf;border-radius:4px;border-color:#394b53;background:#131e27; }
.process-grid > div > span:first-child,.process-grid div > span:first-child { color:#a6c5c1; }
.digital-panel { display:grid;gap:0;min-height:280px;align-content:center;padding:30px;border:1px solid #2a3944;border-radius:6px;background:#111a25;color:#dce4e7; }
.digital-panel > span { margin-bottom:24px;color:#a6c5c1;font-size:11px;font-weight:700;letter-spacing:.12em; }
.digital-panel-line { padding:16px 0;border-top:1px solid #293642;color:#bdc8cf; }
.digital-panel-line b { display:inline-block;width:42px;color:#8da7a3;font-size:12px; }
.digital-panel-line:hover { padding-left:6px;color:#f0f3f5;transition:padding-left 180ms ease,color 180ms ease; }
.page-hero,.about-intro { background:#0b111a; }
.form-page { background:#0b111a; }
.corporate-form { background:#111a25;border:1px solid #293642;border-radius:6px;box-shadow:none; }
.corporate-form input,.corporate-form textarea,.corporate-form select { border-radius:4px; }
.contact-panel,.mission-panel,.corporate-form { background:#111a25;border:1px solid #293642;border-radius:6px;box-shadow:none; }
.corporate-form input:focus,.corporate-form textarea:focus,.corporate-form select:focus { background:#16222d;color:#f4f7fd;border-color:#91aaa8;box-shadow:0 0 0 2px rgba(131,170,167,.16); }
.service-illustration { border-radius:5px;box-shadow:none; }
.service-illustration img { filter:saturate(.76); }
.service-illustration figcaption { border-radius:3px; }
.site-footer { background:#080d14;border-top:1px solid #202b38;box-shadow:none; }
.js [data-reveal],.js .reveal-item { transform:translateY(16px);transition:opacity 520ms ease var(--reveal-delay,0ms),transform 520ms cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0ms); }
.js [data-reveal].is-visible,.js .reveal-item.is-visible { transform:translateY(0); }
@keyframes nexo-photo-in { from { transform:scale(1.035);opacity:.55; } to { transform:scale(1);opacity:.94; } }
@media(max-width:850px) { .tech-visual { min-height:360px; } }
@media(max-width:560px) { .tech-visual { min-height:310px; }.tech-caption { left:13px;right:13px;font-size:8px; } }
.brand img.brand-logo { width:220px;height:50px;display:block;object-fit:contain; }
.service-icon,.corporate-card > .service-icon { display:grid;place-items:center;flex:none; }
.service-icon img { width:23px;height:23px;display:block;object-fit:contain; }
.section.trust-feature { background:#0b111a;color:#edf1f2; }
.trust-feature .split-section h2 { color:#edf1f2; }
.trust-feature .split-section p { color:#b4bec5; }
.about-photo { position:relative;justify-self:center;width:min(520px,100%);margin:0;overflow:hidden;border:1px solid #293642;border-radius:6px;background:#111a25; }
.about-photo img { width:100%;height:360px;display:block;object-fit:cover;filter:saturate(.78); }
.about-photo figcaption { display:grid;gap:5px;padding:14px 16px;color:#c8d1d5;font-size:13px;line-height:1.5; }
.about-photo figcaption a { color:#a8c5c0;text-decoration:underline;text-underline-offset:2px; }
@media(max-width:560px) { .brand img.brand-logo { width:195px;height:45px; }.about-photo img { height:280px; } }

/* Service cards: clear hierarchy, crisp icon treatment and light interaction. */
.service-detail-grid {
    width: min(1180px, 100%);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    align-items: stretch;
}
.detail-card {
    position: relative;
    isolation: isolate;
    min-height: 274px;
    overflow: hidden;
    padding: 25px 24px 23px;
    display: flex;
    flex-direction: column;
    border-radius: 8px;
    background: #111a25;
    transition: transform 220ms ease, border-color 220ms ease, background-color 220ms ease;
}
.detail-card::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 24px;
    width: 34px;
    height: 2px;
    background: #83aaa7;
    opacity: .65;
    transition: width 220ms ease, opacity 220ms ease;
}
.detail-card:hover::before,
.detail-card:focus-within::before { width: 64px; opacity: 1; }
.detail-card:nth-child(4n + 2)::before { background: #a7bacd; }
.detail-card:nth-child(4n + 3)::before { background: #c3aa80; }
.detail-card .service-icon {
    width: 48px;
    height: 48px;
    margin: 0 0 22px;
    border: 1px solid #34454d;
    border-radius: 7px;
    background: #192831;
    transition: transform 220ms ease, background-color 220ms ease, border-color 220ms ease;
}
.detail-card .service-icon img { width: 24px; height: 24px; }
.detail-card:hover .service-icon,
.detail-card:focus-within .service-icon {
    transform: translateY(-2px);
    border-color: #6f928d;
    background: #20343a;
}
.detail-card h2 {
    margin: 0;
    max-width: 24ch;
    color: #edf2f5;
    font-size: clamp(17px, 1.35vw, 19px);
    line-height: 1.25;
    letter-spacing: -.018em;
}
.detail-card p {
    margin: 10px 0 0;
    color: #b7c2cc;
    font-size: 14px;
    line-height: 1.58;
}
.detail-card ul {
    margin: auto 0 0;
    padding-top: 19px;
    gap: 9px;
}
.detail-card li {
    color: #c1cbd3;
    font-size: 13px;
    line-height: 1.4;
}
.detail-card li::before {
    width: 5px;
    height: 5px;
    margin-right: 10px;
    vertical-align: 2px;
    background: #83aaa7;
}
.detail-card.highlight-card {
    background: #111a25;
    border-color: #26323f;
    box-shadow: none;
}
.detail-card.highlight-card:hover,
.detail-card.highlight-card:focus-within {
    background: #141e2a;
    border-color: #627c7b;
    box-shadow: none;
}
.detail-card.digital-card::before { background: #a6c0cb; }
@media (min-width: 1450px) {
    .service-detail-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
    .detail-card { min-height: 286px; }
}
@media (max-width: 850px) {
    .service-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .detail-card { min-height: 260px; }
}
@media (max-width: 560px) {
    .service-detail-grid { grid-template-columns: 1fr; gap: 12px; }
    .detail-card { min-height: 0; padding: 22px 20px; }
    .detail-card ul { margin-top: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .detail-card, .detail-card::before, .detail-card .service-icon { transition: none; }
    .detail-card:hover, .detail-card:focus-within { transform: none; }
}

/* Branded contact panel in the shared page footer. */
.site-footer {
    display: grid;
    grid-template-columns: minmax(210px, 1fr) minmax(300px, 1.25fr) auto auto;
    align-items: center;
    gap: 26px;
    padding: 30px clamp(20px, 5vw, 64px);
}
.footer-brand-block { min-width: 0; }
.footer-brand-block > p { margin: 8px 0 0; color: #96a5b5; font-size: 13px; }
.footer-contact {
    min-width: 0;
    display: grid;
    gap: 4px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}
.footer-contact-label {
    margin: 0 0 5px 3px;
    color: #9aa9b5;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.footer-contact-link {
    min-width: 0;
    display: grid;
    grid-template-columns: 31px minmax(0, 1fr) 14px;
    align-items: center;
    gap: 10px;
    padding: 6px 3px;
    color: #c4cdd5;
    text-decoration: none;
    border-radius: 4px;
    transition: background-color 180ms ease, color 180ms ease;
}
.footer-contact-link:hover,
.footer-contact-link:focus-visible { background: transparent; color: #f4f8f8; outline: none; }
.contact-icon {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #9eaaaF;
}
.contact-icon svg { width: 17px; height: 17px; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.footer-contact-link > span:nth-child(2) { min-width: 0; display: grid; gap: 2px; }
.footer-contact-link small { color: #8998a5; font-size: 10px; }
.footer-contact-link strong { overflow-wrap: anywhere; color: #d4dce2; font-size: 12px; font-weight: 600; }
.footer-contact-link:hover strong,.footer-contact-link:focus-visible strong { color: #fff; }
.contact-arrow { color: #8998a5; font-size: 13px; }
.footer-nav { justify-content: center; gap: 16px; }
.footer-nav a { color: #bbc7d0; text-decoration: none; transition: color 160ms ease; }
.footer-nav a:hover,.footer-nav a:focus-visible { color: #d5e5e2; }
.footer-copy { white-space: nowrap; }
@media (max-width: 1100px) {
    .site-footer { grid-template-columns: minmax(180px, 1fr) minmax(280px, 1.2fr); }
    .footer-nav { justify-content: flex-start; }
}
@media (max-width: 560px) {
    .site-footer { grid-template-columns: 1fr; gap: 18px; padding: 26px 20px; }
    .footer-contact { max-width: none; }
    .footer-nav { gap: 13px; }
    .footer-copy { white-space: normal; }
}

/* Nexo explains: editorial layout for the tips and guides page. */
.tips-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .88fr);
    align-items: center;
    gap: clamp(32px, 7vw, 90px);
    min-height: 430px;
    padding: clamp(58px, 8vw, 96px) clamp(20px, 5vw, 64px);
    background: #0b111a;
}
.tips-hero > .tips-hero-copy { width: min(700px, 100%); }
.tips-hero h1 { max-width: 13ch; margin: 16px 0 18px; font-size: clamp(38px, 5.3vw, 66px); line-height: 1.04; letter-spacing: -.045em; }
.tips-hero p { max-width: 52ch; color: #b3bec8; font-size: clamp(16px, 1.4vw, 19px); line-height: 1.65; }
.tips-browse { display: inline-flex; align-items: center; gap: 12px; margin-top: 17px; color: #c2d5d2; font-size: 13px; font-weight: 700; text-decoration: none; }
.tips-browse span { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid #455a5b; border-radius: 50%; transition: transform 180ms ease,border-color 180ms ease; }
.tips-browse:hover span,.tips-browse:focus-visible span { transform: translateY(3px); border-color: #a6c4c0; }
.tips-hero-photo { position: relative; width: 100%; height: clamp(260px, 30vw, 390px); margin: 0; overflow: hidden; border: 1px solid #33434c; border-radius: 7px; background: #111a25; }
.tips-hero-photo::after { content: ""; position: absolute; inset: 35% 0 0; background: linear-gradient(0deg,rgba(7,12,18,.72),transparent); pointer-events: none; }
.tips-hero-photo img { width: 100%; height: 100%; display: block; object-fit: cover; filter: saturate(.72); }
.tips-hero-photo figcaption { position: absolute; z-index: 1; left: 19px; bottom: 17px; color: #e1e9e9; font-size: 9px; font-weight: 700; letter-spacing: .14em; }
.articles-list { width: min(1180px, 100%); max-width: 1180px; display: grid; gap: 20px; }
.tips-section-heading { max-width: 680px; margin: 0 0 10px; }
.tips-section-heading h2 { max-width: 23ch; margin: 13px 0 10px; color: #edf2f5; font-size: clamp(25px, 3vw, 36px); line-height: 1.16; letter-spacing: -.03em; }
.tips-section-heading p { margin: 0; color: #aab7c2; font-size: 15px; line-height: 1.65; }
.article-full {
    display: grid;
    grid-template-columns: minmax(250px, .78fr) minmax(0, 1.4fr);
    gap: clamp(24px, 4vw, 52px);
    padding: 25px;
    border: 1px solid #263641;
    border-radius: 7px;
    background: #101821;
    color: #c2ccd3;
    scroll-margin-top: 110px;
    transition: border-color 200ms ease,background-color 200ms ease;
}
.article-full:hover { border-color: #405657; background: #111b24; }
.tip-cover { position: sticky; top: 100px; align-self: start; height: clamp(280px, 30vw, 390px); margin: 0; overflow: hidden; border: 1px solid #293943; border-radius: 5px; background: #0c131b; }
.tip-cover img { width: 100%; height: 100%; display: block; object-fit: cover; filter: saturate(.73); transition: transform 450ms cubic-bezier(.2,.65,.3,1); }
.article-full:hover .tip-cover img { transform: scale(1.025); }
.tip-cover figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 28px 12px 11px; background: linear-gradient(0deg,rgba(7,12,18,.88),transparent); color: #b9c5cb; font-size: 10px; }
.tip-cover figcaption a { color: #d5e0e1; text-underline-offset: 2px; }
.tip-copy { min-width: 0; padding: 8px 4px 7px 0; }
.article-meta { display: flex; flex-wrap: wrap; gap: 10px 15px; color: #a9c6c1; font-size: 10px; letter-spacing: .12em; }
.article-meta span + span { color: #8e9ca8; }
.article-full h2 { margin: 15px 0 12px; color: #edf2f5; font-size: clamp(24px, 3vw, 34px); line-height: 1.15; letter-spacing: -.03em; }
.article-full h3 { margin: 22px 0 7px; color: #e1e9ed; font-size: 17px; }
.article-full p,.article-full li { color: #b3bec8; font-size: 14px; line-height: 1.75; }
.article-full p { margin: 10px 0; }
.article-full ol { margin: 18px 0; padding-left: 22px; }
.article-full li { margin: 9px 0; padding-left: 5px; }
.article-full li::marker { color: #91b3ad; font-weight: 700; }
.article-full li b { color: #e0e7eb; }
.article-cta { display: inline-flex; margin-top: 13px; padding-bottom: 4px; border-bottom: 1px solid #536c6a; color: #c0d5d1; font-size: 13px; text-decoration: none; transition: color 160ms ease,border-color 160ms ease; }
.article-cta:hover,.article-cta:focus-visible { color: #fff; border-color: #a6c4c0; }
@media (max-width: 850px) {
    .tips-hero { grid-template-columns: minmax(0,1fr) minmax(260px,.8fr); gap: 30px; }
    .article-full { grid-template-columns: minmax(210px,.75fr) minmax(0,1.25fr); gap: 24px; padding: 20px; }
    .tip-cover { height: 300px; }
}
@media (max-width: 620px) {
    .tips-hero { grid-template-columns: 1fr; gap: 27px; padding-top: 58px; padding-bottom: 46px; }
    .tips-hero h1 { max-width: 14ch; }
    .tips-hero-photo { height: 250px; }
    .articles-list { gap: 15px; }
    .article-full { grid-template-columns: 1fr; gap: 17px; padding: 14px; }
    .tip-cover { position: relative; top: auto; height: 220px; }
    .tip-copy { padding: 4px 4px 8px; }
    .article-full h2 { font-size: 25px; }
}
@media (prefers-reduced-motion: reduce) {
    .tips-browse span,.tip-cover img,.article-cta { transition: none; }
}

/* Quote page: transparent circuit artwork with a slow, quiet drift. */
.quote-page { position: relative; isolation: isolate; overflow: hidden; background: #0b111a; }
.quote-page::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 1%;
    left: 0;
    width: min(48vw, 620px);
    height: 96%;
    pointer-events: none;
    background: url("assets/quote-circuit.svg") center / contain no-repeat;
    opacity: .29;
    transform-origin: 50% 50%;
    animation: quote-art-drift 12s ease-in-out infinite alternate;
}
.quote-page > * { position: relative; z-index: 1; }
.quote-page .contact-panel { background: rgba(17,26,37,.78); }
.form-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.quote-note.quote-success { border: 1px solid #3b695f; background: #132720; color: #c3e5d9; }
@keyframes quote-art-drift {
    0% { opacity: .22; transform: translate3d(-8px,8px,0) rotate(-5deg) scale(.97); }
    100% { opacity: .36; transform: translate3d(12px,-12px,0) rotate(5deg) scale(1.03); }
}
@media (max-width: 850px) {
    .quote-page::before { top: 0; left: 8%; width: 70vw; height: 50%; opacity: .22; }
}
@media (prefers-reduced-motion: reduce) {
    .quote-page::before { animation: none; }
}

/* Shared responsive navigation and small-screen layout refinements. */
img, svg { max-width: 100%; }
@media (max-width: 980px) {
    .site-header {
        position: sticky;
        top: 0;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas: "brand action" "navigation navigation";
        gap: 4px 18px;
        min-height: 0;
        padding: 10px clamp(18px, 4vw, 34px) 8px;
    }
    .site-header > .brand { grid-area: brand; justify-self: start; }
    .site-header > .main-nav {
        grid-area: navigation;
        grid-column: 1 / -1;
        justify-content: center;
        gap: 8px clamp(18px, 3vw, 28px);
        font-size: 13px;
    }
    .site-header > .header-cta { grid-area: action; justify-self: end; width: auto; }
}
@media (max-width: 680px) {
    .site-header {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 4px 10px;
        padding: 9px 14px 7px;
    }
    .site-header .brand { min-width: 0; }
    .site-header .brand img.brand-logo { width: clamp(140px, 44vw, 174px); height: auto; max-height: 40px; }
    .site-header > .main-nav {
        justify-content: space-between;
        flex-wrap: nowrap;
        gap: 8px;
        width: 100%;
        font-size: 12px;
    }
    .site-header > .main-nav a { padding: 7px 0; white-space: nowrap; }
    .site-header > .header-cta { width: auto; min-width: 0; height: 35px; padding: 0 11px; font-size: 11px; }
    .page-hero h1,.form-copy h1,.hero h1 { font-size: clamp(30px, 9vw, 38px); }
    .cta-section { gap: 18px; }
}
.brand img.brand-logo { width: 330px; height: auto; max-width: 100%; object-fit: contain; }
@media (max-width: 980px) {
    .site-header .brand img.brand-logo { width: min(280px, 36vw); height: auto; max-height: 54px; }
}
@media (max-width: 680px) {
    .site-header .brand img.brand-logo { width: min(220px, calc(100vw - 150px)); height: auto; max-height: 45px; }
}
@media (max-width: 560px) {
    .site-footer .brand img.brand-logo { width: min(250px, 100%); height: auto; max-height: 45px; }
}

/* Mobile header and consistent non-emoji action arrows. */
.header-cta { gap: 8px; }
.header-cta .arrow-icon { display: inline-flex; width: 14px; height: 14px; flex: 0 0 14px; }
.header-cta .arrow-icon svg { display: block; width: 100%; height: 100%; overflow: visible; }
.header-cta .arrow-icon path { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 680px) {
    .site-header { gap: 6px 8px; padding: 9px 14px 7px; }
    .site-header > .main-nav { gap: 6px; font-size: clamp(11px, 3.1vw, 13px); }
    .site-header > .header-cta { gap: 5px; padding: 0 10px; font-size: 11px; white-space: nowrap; }
}
@media (max-width: 370px) {
    .site-header { padding-right: 11px; padding-left: 11px; }
    .site-header .brand img.brand-logo { width: min(150px, calc(100vw - 175px)); }
    .site-header > .header-cta { height: 34px; padding: 0 8px; font-size: 10px; }
    .site-header > .main-nav { font-size: 11px; }
}
@media (max-width: 680px) {
    .page-hero { min-height: 0; padding-top: 64px; padding-bottom: 54px; }
}
.arrow-icon { display: inline-flex; width: 14px; height: 14px; flex: 0 0 14px; vertical-align: -2px; }
.arrow-icon svg { display: block; width: 100%; height: 100%; overflow: visible; }
.arrow-icon path { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }