@font-face {
  font-family: Manrope;
  src: url('/assets/fonts/manrope-latin.woff2') format('woff2');
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}
@font-face {
  font-family: 'DM Sans';
  src: url('/assets/fonts/dm-sans-latin.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
}
:root {
  --navy: #081827;
  --navy-soft: #10283c;
  --cyan: #68e5e2;
  --cyan-dark: #68e5e2;
  --ink: #edf4fa;
  --muted: #b5c6d2;
  --paper: #0b1c2c;
  --line: #344c60;
  --light-muted: #b5c6d2;
  --radius: 16px;
  --heading: Manrope, Arial, sans-serif;
  --body: 'DM Sans', Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body { margin: 0; color: var(--ink); background: #07131f; font: 1rem/1.65 var(--body); color-scheme: dark; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
figure, p, h1, h2, h3 { margin: 0; }
h1, h2, h3 { font-family: var(--heading); line-height: 1.18; letter-spacing: -.045em; }
h2 { font-size: clamp(2rem, 3.4vw, 3rem); font-weight: 750; }
h3 { font-size: 1.25rem; letter-spacing: -.03em; }
ul, ol { padding: 0; margin: 0; }
section[id] { scroll-margin-top: 24px; }
:focus-visible { outline: 3px solid var(--cyan-dark); outline-offset: 5px; }
.site-header :focus-visible, .hero :focus-visible, .security :focus-visible, .contact :focus-visible, .site-footer :focus-visible { outline-color: var(--cyan); }
.proposal-featured :focus-visible { outline-color: var(--cyan); }
[hidden] { display: none !important; }
.container { width: min(1200px, calc(100% - 64px)); margin-inline: auto; }
.section { padding-block: 104px; }
.skip-link { position: fixed; top: 12px; left: 16px; z-index: 100; padding: 12px 20px; background: var(--cyan); color: var(--navy); transform: translateY(-160%); font-weight: 700; }
.skip-link:focus { transform: translateY(0); }
.site-header { position: sticky; top: 0; z-index: 20; background: var(--navy); color: #fff; border-bottom: 1px solid #ffffff14; }
.header-inner { display: flex; align-items: center; gap: 32px; min-height: 88px; }
.brand { display: inline-flex; align-items: center; gap: 12px; flex-shrink: 0; }
.brand-wordmark { color: #fff; font: 800 1.75rem/1 var(--heading); letter-spacing: -.055em; white-space: nowrap; }
.brand-wordmark .accent { color: var(--cyan); }
.brand-descriptor { border-left: 1px solid #ffffff40; padding-left: 12px; color: var(--light-muted); font: 600 .55rem/1.5 var(--heading); letter-spacing: .12em; }
.main-nav { display: flex; gap: 26px; margin-left: auto; font-size: .875rem; }
.main-nav a { padding-block: 16px; color: #d8e3eb; }
.main-nav a:hover, .header-email:hover, .footer-nav a:hover { color: var(--cyan); }
.header-email { white-space: nowrap; font-size: .8rem; font-weight: 600; }
.header-email > span { color: var(--cyan); margin-right: 5px; }
.menu-toggle { color: #fff; background: transparent; border: 1px solid #67808d; border-radius: 8px; padding: 9px 12px; min-height: 44px; cursor: pointer; }
.hero { color: #fff; background: radial-gradient(ellipse at 85% 35%, #123b4d 0, transparent 52%), var(--navy); overflow: clip; }
.hero-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 50px; align-items: center; padding-block: 95px 65px; }
.eyebrow { display: flex; align-items: center; gap: 9px; font-size: .72rem; font-weight: 750; letter-spacing: .16em; color: var(--cyan-dark); margin-bottom: 22px; }
.hero .eyebrow, .security .eyebrow, .contact .eyebrow { color: var(--cyan); }
.status-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); flex-shrink: 0; }
h1 { font-size: clamp(2.5rem, 4.05vw, 3.65rem); font-weight: 750; line-height: 1.13; }
h1 span { color: var(--cyan); }
.hero-description { margin-top: 25px; color: var(--light-muted); max-width: 500px; font-size: 1.05rem; }
.actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 32px; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 18px; min-height: 52px; padding: 14px 21px; border: 1px solid transparent; border-radius: 8px; font-size: .9rem; font-weight: 700; line-height: 1.4; transition: background .18s ease, border-color .18s ease; }
.button span { font-size: 1.15rem; }
.button-primary { color: var(--navy); background: var(--cyan); }
.button-primary:hover { background: #a0f5f0; }
.button-secondary { background: #edf5f5; color: var(--ink); border-color: #c8dbdd; }
.button-secondary:hover { background: #d7eded; border-color: var(--cyan-dark); }
.button-outline { border-color: #647c8b; color: #fff; }
.button-outline:hover { border-color: var(--cyan); background: #ffffff08; }
.text-link { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; color: var(--cyan-dark); font-weight: 700; font-size: .9rem; }
.text-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.light-link { color: #e3edf2; }
.cta-note { font-size: .78rem; color: var(--light-muted); margin-top: 15px; }
.hero-visual { position: relative; min-height: 425px; isolation: isolate; }
.visual-orbit { position: absolute; width: 440px; height: 440px; border: 1px solid #68e5e220; border-radius: 50%; top: -5px; left: 20px; z-index: -1; }
.visual-orbit::before, .visual-orbit::after { content: ''; position: absolute; border: 1px dashed #68e5e21c; border-radius: 50%; inset: 25px; }
.visual-orbit::after { inset: 65px; }
.browser-model { position: relative; margin-top: 22px; border: 1px solid #7fa1b15e; border-radius: 12px; background: #edf5f5; box-shadow: 0 30px 65px #0004; transform: rotate(-3deg); overflow: hidden; }
.browser-bar, .mini-browser { display: flex; align-items: center; justify-content: space-between; height: 35px; padding-inline: 13px; background: #dbe7e9; color: #526974; font-size: .55rem; letter-spacing: .03em; }
.browser-dots { display: flex; gap: 4px; }
.browser-dots i { width: 5px; height: 5px; background: #6b858f; border-radius: 50%; }
.browser-address { background: #fff9; width: 60%; text-align: center; border-radius: 4px; padding: 2px; }
.model-site { padding: 23px 24px 20px; color: var(--navy); }
.model-nav { display: flex; align-items: center; justify-content: space-between; font-size: .6rem; }
.model-nav b { font-family: var(--heading); font-size: .75rem; letter-spacing: -.05em; }
.model-brand-dot { color: var(--cyan-dark); }
.model-site-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 16px; align-items: center; padding-block: 28px; }
.model-kicker { color: var(--cyan-dark); font-size: .5rem; letter-spacing: .12em; font-weight: 700; }
.model-site-grid p { font: 750 clamp(1.1rem, 2vw, 1.75rem)/1.2 var(--heading); letter-spacing: -.06em; margin-block: 10px 16px; }
.model-button { display: inline-block; border-radius: 4px; background: var(--navy); color: #fff; font-size: .55rem; padding: 8px 12px; }
.abstract-mark { display: flex; height: 125px; gap: 6px; align-items: center; transform: skewY(-16deg); }
.abstract-mark span { height: 85%; flex: 1; background: #33bdbd; border-radius: 30px 3px 30px 3px; }
.abstract-mark span:nth-child(2) { height: 100%; background: #107b83; }
.abstract-mark span:nth-child(3) { height: 65%; background: #152d3c; }
.model-bottom { display: flex; justify-content: space-between; gap: 7px; padding-top: 14px; border-top: 1px solid #bacdd1; font-size: .5rem; }
.app-model { position: relative; width: 68%; display: flex; margin: -35px 0 0 auto; background: #153047; border: 1px solid #557788; border-radius: 9px; box-shadow: 0 18px 40px #0004; transform: rotate(3deg); }
.app-sidebar { width: 44px; padding: 12px 10px; border-right: 1px solid #ffffff12; }
.app-sidebar b { color: var(--cyan); font: 800 1rem var(--heading); }
.app-sidebar i { display: block; height: 5px; border-radius: 2px; background: #608192; margin-top: 14px; }
.app-content { padding: 15px; flex: 1; min-width: 0; }
.app-heading { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: .65rem; }
.model-pill { color: var(--cyan); font-size: .45rem; border: 1px solid #68e5e245; border-radius: 4px; padding: 2px 5px; }
.chart { display: flex; gap: 10px; align-items: end; height: 70px; border-bottom: 1px solid #557788; margin: 15px 0 10px; }
.chart i { flex: 1; background: linear-gradient(0deg, #228c98, var(--cyan)); height: 35%; border-radius: 3px 3px 0 0; }
.chart i:nth-child(2) { height: 55%; }.chart i:nth-child(3) { height: 45%; }.chart i:nth-child(4) { height: 70%; }.chart i:nth-child(5) { height: 60%; }.chart i:nth-child(6) { height: 85%; }.chart i:nth-child(7) { height: 100%; }
.app-row { display: flex; align-items: center; gap: 6px; font-size: .5rem; color: #c9dde7; }
.app-row > span:last-child { margin-left: auto; }
.server-model { display: flex; align-items: center; gap: 12px; position: absolute; left: -8px; bottom: 47px; padding: 14px 18px; border: 1px solid #678493; background: #0d2233; border-radius: 9px; box-shadow: 0 15px 30px #0003; }
.server-icon { font-size: 1.7rem; color: var(--cyan); }
.server-model div span { font-size: .48rem; letter-spacing: .1em; color: var(--light-muted); display: block; }
.server-model b { font-size: .75rem; }
.server-lights { display: flex; flex-direction: column; gap: 5px; margin-left: 9px; }
.server-lights i { width: 4px; height: 4px; border-radius: 50%; background: var(--cyan); }
.hero-visual figcaption { margin-top: 25px; color: var(--cyan); font-size: .58rem; letter-spacing: .13em; display: flex; justify-content: space-between; gap: 12px; }
.hero-visual figcaption span { color: var(--light-muted); letter-spacing: .02em; }
.hero-foundation { display: flex; justify-content: space-between; align-items: center; gap: 25px; padding-block: 28px 33px; border-top: 1px solid #ffffff20; font-size: .85rem; }
.hero-foundation p { color: var(--light-muted); line-height: 1.5; }
.hero-foundation strong { color: #fff; font-weight: 500; }
.hero-foundation > span { color: #dbe7ed; }
.hero-foundation > span::before { content: '+'; color: var(--cyan); margin-right: 11px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 48px; margin-bottom: 44px; }
.section-heading > p { max-width: 355px; color: var(--muted); }
.services-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.service-card { position: relative; border: 1px solid var(--line); border-radius: var(--radius); padding: 30px; background: #fff; }
.service-icon { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; background: #e8f4f3; color: var(--cyan-dark); border-radius: 10px; font: 600 1.35rem var(--heading); margin-bottom: 30px; }
.card-index { position: absolute; top: 32px; right: 30px; color: #687e89; font-size: .72rem; }
.service-card h3 { margin-bottom: 14px; }
.service-card p { color: var(--muted); font-size: .94rem; }
.tags { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin-top: 24px; }
.tags li { font-size: .65rem; padding: 4px 9px; background: var(--paper); border-radius: 4px; color: #435c69; }
.security-service { background: #edf5f5; border-color: #c7dedf; }
.security-service .text-link { margin-top: 14px; }
.solutions { background: var(--paper); }
.solutions-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.solution-card { overflow: hidden; border-radius: var(--radius); border: 1px solid var(--line); background: #fff; }
.solution-preview { height: 245px; padding: 20px; overflow: hidden; }
.web-preview { background: #dbecea; }
.mini-browser { height: 25px; font-size: .42rem; border-radius: 7px 7px 0 0; background: #fff9; border: 1px solid #fff6; }
.mini-website { background: #fbfdfb; padding: 18px; min-height: 210px; }
.mini-wordmark { display: flex; justify-content: space-between; font: 700 .6rem var(--heading); }
.mini-wordmark span { color: var(--cyan-dark); }
.mini-website p { font: 750 1.45rem/1.15 var(--heading); letter-spacing: -.05em; margin-block: 23px 10px; }
.mini-line { width: 70%; height: 4px; background: #dbe5e3; border-radius: 4px; }
.mini-cta { display: inline-block; padding: 6px 9px; font-size: .5rem; color: #fff; background: var(--cyan-dark); margin-top: 14px; border-radius: 3px; }
.mini-tile-row { display: flex; gap: 8px; margin-top: 20px; }.mini-tile-row i { background: #e4edeb; height: 40px; flex: 1; border-radius: 5px; }
.dashboard-preview { background: #dce5f1; }
.mini-dashboard { display: flex; background: #f7f9fd; min-height: 210px; }
.mini-dashboard-side { width: 37px; padding: 12px 8px; background: #193348; color: var(--cyan); font-size: .8rem; }
.mini-dashboard-side i { display: block; height: 4px; background: #7392a1; margin-top: 19px; }
.mini-dashboard-body { padding: 15px 12px; flex: 1; min-width: 0; }
.mini-dashboard-body > b { font-size: .65rem; }
.workflow { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin-top: 20px; }
.workflow span { font-size: .42rem; }.workflow i { height: 45px; border: 1px solid #d5e1e9; border-radius: 4px; background: linear-gradient(#dae6ee 0 0) 6px 10px / 55% 3px no-repeat, #fff; }
.dashboard-foot { font-size: .42rem; margin-top: 20px; color: #4b6677; }
.infra-preview { background: #102d3f; }
.infra-preview .mini-browser { background: #203f50; color: #bad0dc; border-color: #527382; }
.infra-diagram { padding: 18px 9px; text-align: center; color: #d8edf3; }
.infra-node, .infra-nodes span { display: inline-block; border: 1px solid #4e7685; border-radius: 5px; padding: 8px 18px; font-size: .6rem; background: #1c3b4b; }
.infra-node { color: var(--cyan); border-color: #68e5e270; }
.connector { height: 20px; width: 1px; background: #68e5e280; margin-inline: auto; }
.infra-nodes { display: flex; gap: 9px; justify-content: center; }
.infra-nodes span { padding: 7px 12px; }
.infra-terminal { text-align: left; padding: 12px; border-radius: 6px; background: var(--navy); margin-top: 16px; font: .5rem/1.8 monospace; color: var(--cyan); }
.infra-terminal p { color: #c0d0da; }
.solution-copy { padding: 25px; }.small-label { display: block; font-size: .65rem; font-weight: 700; letter-spacing: .1em; color: var(--cyan-dark); }
.solution-copy h3 { margin-block: 12px; }.solution-copy p { font-size: .9rem; color: var(--muted); }
.own-project { display: grid; grid-template-columns: 1.15fr 1fr; align-items: center; gap: 55px; margin-top: 64px; padding: 28px; border-radius: var(--radius); background: #fff; border: 1px solid var(--line); }
.project-image { display: block; border-radius: 9px; overflow: hidden; background: #10283c; }
.project-image img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.project-copy { padding-right: 16px; }.project-copy .eyebrow { font-size: .65rem; margin-bottom: 14px; }.project-copy h3 { font-size: 1.8rem; }.project-copy p:not(.eyebrow) { margin-block: 15px; color: var(--muted); }
.process-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; gap: 40px 48px; }
.process-grid li { border-top: 1px solid var(--line); padding-top: 23px; }
.step-number { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background: #e8f4f3; color: var(--cyan-dark); font-size: .8rem; font-weight: 700; margin-bottom: 18px; }
.process-grid h3 { margin-bottom: 12px; }.process-grid p { font-size: .94rem; color: var(--muted); }
.security { background: var(--navy); color: #fff; }
.security-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 90px; align-items: center; }
.security h2 span, .contact h2 span { color: var(--cyan); }.security-description { margin-block: 25px; color: var(--light-muted); max-width: 530px; }.security-description strong { color: #fff; font-weight: 600; }
.security-scope { margin-top: 22px; max-width: 510px; font-size: .78rem; color: var(--light-muted); }
.security-panel { min-width: 0; overflow: hidden; border: 1px solid #4b697b; border-radius: var(--radius); background: linear-gradient(135deg, #19384b, #102638); }
.security-identity { width: 100%; aspect-ratio: 16 / 9; object-fit: contain; background: var(--navy); }
.security-panel-content { padding: 32px; }
.security-panel-content > p { font: 650 1.45rem/1.4 var(--heading); letter-spacing: -.04em; margin-bottom: 30px; }
.security-paths a { display: flex; align-items: center; justify-content: space-between; border-top: 1px solid #ffffff20; padding-block: 16px; }.security-paths b { font-size: .95rem; }.security-paths small { display: block; color: var(--light-muted); font-size: .75rem; }.security-paths a > span:last-child { color: var(--cyan); }.security-paths a:hover b { color: var(--cyan); }
.security-panel-note { display: block; margin-top: 16px; font-size: .65rem; color: #a7c2cf; }
.proposals-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.proposal-card { display: flex; flex-direction: column; padding: 30px; border: 1px solid var(--line); border-radius: var(--radius); }.proposal-card h3 { font-size: 1.5rem; margin-block: 20px 15px; }.proposal-card > p:not(.proposal-price) { color: var(--muted); font-size: .93rem; }
.proposal-featured { background: var(--navy); color: #fff; border-color: var(--navy); }.proposal-featured .small-label { color: var(--cyan); }.proposal-featured > p:not(.proposal-price) { color: var(--light-muted); }
.check-list { list-style: none; margin-block: 28px; font-size: .84rem; }.check-list li { position: relative; padding-left: 21px; margin-block: 10px; }.check-list li::before { content: '✓'; position: absolute; left: 0; color: var(--cyan-dark); }.proposal-featured .check-list li::before { color: var(--cyan); }
.proposal-price { margin-top: auto; padding-top: 22px; border-top: 1px solid var(--line); font: 750 1.4rem var(--heading); }.proposal-price span { display: block; font: .75rem/1.5 var(--body); color: var(--muted); margin-top: 8px; }.proposal-featured .proposal-price { border-color: #ffffff25; }.proposal-featured .proposal-price span { color: var(--light-muted); }.proposal-card .button { margin-top: 24px; font-size: .8rem; padding-inline: 13px; gap: 9px; }
.proposal-note { text-align: center; font-size: .78rem; color: var(--muted); margin: 26px auto 0; max-width: 820px; }
.faq { background: var(--paper); }.faq-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; }.faq-grid > div > p:not(.eyebrow) { margin-top: 25px; color: var(--muted); }
.faq-list { border-top: 1px solid #c6d6dc; }.faq-list details { border-bottom: 1px solid #c6d6dc; }.faq-list summary { position: relative; padding: 22px 35px 22px 0; font: 650 1rem/1.5 var(--heading); cursor: pointer; list-style: none; letter-spacing: -.015em; }.faq-list summary::-webkit-details-marker { display: none; }.faq-list summary::after { content: '+'; position: absolute; right: 3px; top: 21px; color: var(--cyan-dark); font-size: 1.35rem; font-weight: 400; }.faq-list details[open] summary::after { content: '−'; }.faq-list details p { color: var(--muted); font-size: .94rem; padding: 0 25px 24px 0; }.faq-list summary:hover { color: var(--cyan-dark); }
.contact { color: #fff; background: radial-gradient(ellipse at 0% 100%, #154453, transparent 60%), var(--navy); }.contact-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 100px; align-items: center; }.contact h2 { font-size: clamp(2.3rem, 4vw, 3.6rem); }.contact-grid > div > p:not(.eyebrow):not(.cta-note) { color: var(--light-muted); margin-block: 24px; max-width: 470px; }
.contact-methods { min-width: 0; font-style: normal; border: 1px solid #ffffff25; border-radius: var(--radius); background: #ffffff04; }.contact-methods a { display: grid; padding: 32px; gap: 12px; }.contact-methods a > span { color: var(--cyan); font-size: .65rem; font-weight: 700; letter-spacing: .12em; }.contact-methods strong { font: 600 clamp(.9rem, 1.6vw, 1.3rem)/1.5 var(--heading); overflow-wrap: anywhere; }.contact-methods a:hover strong { text-decoration: underline; text-underline-offset: 5px; }
.site-footer { padding-top: 55px; background: #06121d; color: #fff; }.footer-top { display: grid; grid-template-columns: .9fr .7fr 1.3fr; gap: 55px; padding-bottom: 40px; }.footer-top > div > p { margin-top: 18px; color: var(--light-muted); font-size: .8rem; }.footer-nav { display: flex; flex-direction: column; align-items: start; font-size: .8rem; gap: 8px; color: #c5d5df; }.footer-nav a { min-height: 32px; }
.audit-badge { display: flex; align-items: center; gap: 15px; border: 1px solid #314a5b; padding: 15px; border-radius: 10px; background: #0c1d2b; }.audit-badge img { width: 65px; height: 65px; object-fit: contain; flex-shrink: 0; }.audit-badge strong { display: block; color: #e1f7f6; font-size: .82rem; line-height: 1.5; }.audit-badge > span > span { display: block; font-size: .68rem; color: var(--light-muted); margin-top: 4px; }.trust-block > p { font-size: .68rem !important; line-height: 1.6; margin-top: 10px !important; }.audit-badge:hover { border-color: var(--cyan); }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid #ffffff14; padding-block: 23px; font-size: .72rem; color: var(--light-muted); }.footer-bottom a { min-height: 32px; display: inline-flex; align-items: center; }.footer-bottom a:hover { color: var(--cyan); }
@media (max-width: 1100px) {
  .header-inner { gap: 22px; }.main-nav { gap: 18px; }.header-email, .brand-descriptor { display: none; }
  .hero-grid { gap: 32px; }.hero-visual { min-height: 420px; }.server-model { bottom: 65px; }
  .service-card, .proposal-card { padding: 24px; }.security-grid, .contact-grid, .faq-grid { gap: 50px; }.solution-preview { padding: 14px; }.solution-copy { padding: 22px; }.own-project { gap: 35px; }.footer-top { gap: 30px; }
}
@media (max-width: 850px) {
  .container { width: calc(100% - 48px); }.section { padding-block: 76px; }
  .hero-grid { grid-template-columns: 1fr; padding-block: 64px 35px; }.hero-copy { max-width: 650px; }h1 { font-size: clamp(2.7rem, 6.5vw, 3.8rem); }.hero-description { max-width: 570px; }
  .hero-visual { width: min(520px, 100%); margin: 15px auto 0; min-height: 435px; }.server-model { bottom: 46px; }.model-site-grid p { font-size: 1.75rem; }
  .hero-foundation { flex-wrap: wrap; justify-content: start; gap: 18px 30px; }.hero-foundation p { width: 100%; }
  .section-heading { gap: 30px; align-items: start; }.section-heading > p { max-width: 290px; }
  .services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.solutions-grid { grid-template-columns: 1fr; }.solution-card { display: grid; grid-template-columns: 1fr 1fr; }.solution-preview { height: 245px; padding: 20px; }.solution-copy { align-self: center; }
  .own-project { grid-template-columns: 1fr 1fr; padding: 22px; gap: 25px; }.project-copy { padding-right: 0; }.project-copy h3 { font-size: 1.5rem; }
  .security-grid { grid-template-columns: 1fr 1fr; gap: 32px; }.security-panel-content { padding: 24px; }.security-panel-content > p { font-size: 1.2rem; }
  .proposals-grid { grid-template-columns: 1fr; }.proposal-card { display: grid; grid-template-columns: 1fr 1fr; gap: 0 35px; padding: 30px; }.proposal-card .small-label, .proposal-card h3, .proposal-card > p:not(.proposal-price) { grid-column: 1; }.proposal-card .check-list { grid-column: 2; grid-row: 1 / 4; align-self: center; margin: 0; }.proposal-price { grid-column: 1; margin-top: 25px; }.proposal-card .button { grid-column: 2; align-self: end; }
  .faq-grid { grid-template-columns: 1fr; gap: 30px; }.contact-grid { grid-template-columns: 1fr 1fr; gap: 35px; }.contact-methods strong { font-size: 1rem; }.footer-top { grid-template-columns: 1fr 1fr; }.trust-block { grid-column: 1 / -1; max-width: 550px; }
}
@media (max-width: 700px) {
  .brand-descriptor { display: none; }.brand-wordmark { font-size: 1.65rem; }
  html { scroll-padding-top: 85px; }.header-inner { min-height: 74px; flex-wrap: wrap; gap: 0; padding-block: 15px; }.menu-toggle { margin-left: auto; display: inline-flex; align-items: center; gap: 9px; font-size: .8rem; }
  .menu-lines, .menu-lines::before, .menu-lines::after { width: 16px; height: 1px; background: #fff; display: block; position: relative; }.menu-lines::before, .menu-lines::after { content: ''; position: absolute; top: -5px; }.menu-lines::after { top: 5px; }
  .main-nav { width: 100%; margin: 15px 0 0; flex-wrap: wrap; gap: 0; border-top: 1px solid #ffffff25; }.main-nav a { padding: 12px 16px 12px 0; min-height: 44px; }
  .menu-enhanced .main-nav { display: none; }.menu-enhanced .main-nav.is-open { display: flex; flex-direction: column; gap: 0; }.menu-enhanced .main-nav a { padding: 10px 4px; }
  .section-heading { flex-direction: column; gap: 20px; margin-bottom: 32px; }.section-heading > p { max-width: 520px; }
  .process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }.security-grid, .contact-grid { grid-template-columns: 1fr; gap: 40px; }.security-panel { max-width: 520px; }
  .own-project { grid-template-columns: 1fr; gap: 28px; padding: 24px; }.project-copy p:not(.eyebrow) { max-width: 500px; }
  .footer-bottom { flex-wrap: wrap; gap: 8px 25px; }.footer-bottom p { width: 100%; }
}
@media (max-width: 480px) {
  .container { width: calc(100% - 36px); }.section { padding-block: 62px; }.hero-grid { padding-top: 45px; gap: 25px; }h1 { font-size: clamp(2.15rem, 9vw, 2.7rem); }h2 { font-size: 2rem; }.eyebrow { font-size: .63rem; letter-spacing: .12em; margin-bottom: 18px; }
  .hero-description { font-size: 1rem; }.actions { gap: 13px; margin-top: 25px; }.actions .button { width: 100%; }.button { font-size: .82rem; padding-inline: 16px; }.cta-note { font-size: .72rem; }
  .hero-visual { min-height: 345px; }.visual-orbit { width: 290px; height: 290px; left: 0; }.model-site { padding: 16px; }.model-nav { font-size: .45rem; }.model-nav b { font-size: .6rem; }.model-site-grid { padding-block: 20px; gap: 10px; }.model-site-grid p { font-size: 1.2rem; }.model-button { font-size: .45rem; padding: 7px; }.abstract-mark { height: 93px; gap: 4px; }.model-bottom { font-size: .38rem; }.app-model { width: 74%; margin-top: -15px; }.app-content { padding: 10px; }.app-heading { font-size: .5rem; }.chart { height: 50px; gap: 7px; margin-block: 10px 7px; }.app-sidebar { width: 35px; padding: 10px 7px; }.server-model { left: -3px; bottom: 48px; padding: 10px; gap: 8px; }.server-icon { font-size: 1.3rem; }.server-model b { font-size: .6rem; }.server-model div span { font-size: .4rem; }.server-lights { margin-left: 0; }.hero-visual figcaption { font-size: .45rem; margin-top: 23px; }.hero-foundation { flex-direction: column; align-items: start; gap: 12px; font-size: .8rem; }
  .services-grid { grid-template-columns: 1fr; }.service-card { padding: 25px; }.service-icon { margin-bottom: 22px; }.solution-card { display: block; }.solution-preview { padding: 20px; }.solution-copy { padding: 25px; }.own-project { margin-top: 40px; padding: 18px; }
  .process-grid { gap: 26px 20px; }.process-grid h3 { font-size: 1.07rem; }.process-grid p { font-size: .86rem; }.security-panel-content { padding: 25px; }.security-panel-content > p { font-size: 1.35rem; }.contact-methods a { padding: 24px; }
  .proposal-card { display: flex; padding: 27px; }.proposal-card .check-list { margin-block: 22px; }.proposal-price { margin-top: auto; }.proposal-card .button { align-self: stretch; }.faq-list summary { font-size: .92rem; }.contact h2 { font-size: 2.4rem; }.contact-grid .button { width: 100%; }.contact-methods strong { font-size: 1.05rem; }
  .footer-top { grid-template-columns: 1fr; gap: 30px; }.trust-block { grid-column: auto; }.audit-badge { padding: 12px; gap: 12px; }.audit-badge img { width: 48px; height: 48px; }.audit-badge strong { font-size: .76rem; }.footer-nav { gap: 4px; }
}
/* EWTECH visual system: immersive navy, luminous frames and editorial scale. */
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.container { width: min(1280px, calc(100% - 80px)); }
.section { padding-block: clamp(76px, 8vw, 128px); }
.site-header { top: 16px; margin: 16px auto 0; width: min(1360px, calc(100% - 40px)); border: 1px solid #415365; border-radius: 100px; background: #091725f2; box-shadow: 0 12px 40px #0003; }
.header-inner { width: 100%; min-height: 76px; padding: 12px 24px; gap: 24px; }
.brand-descriptor { color: #d0dde7; }
.main-nav { gap: 22px; }
.main-nav a { font-size: .875rem; font-weight: 600; }
.header-email { display: inline-flex; align-items: center; justify-content: center; gap: 16px; padding: 12px 19px; min-height: 44px; border-radius: 100px; background: var(--cyan); color: var(--navy); font-size: .875rem; }
.header-email > span { margin: 0; color: inherit; }
.header-email:hover { color: var(--navy); background: #a0f5f0; }
.hero { margin-top: -94px; padding-top: 94px; background: radial-gradient(ellipse at 78% 38%, #15546766, transparent 42%), radial-gradient(ellipse at 12% 15%, #12365480, transparent 48%), radial-gradient(ellipse at 55% 85%, #163b632e, transparent 50%), #07131f; }
.hero-grid { grid-template-columns: 1fr 1.05fr; padding-block: 104px 80px; gap: 64px; }
h1 { font-size: clamp(2.5rem, 4.1vw, 4rem); font-weight: 800; line-height: 1.06; text-transform: uppercase; letter-spacing: -.055em; }
h1 span { color: #8feeea; }
h2 { font-size: clamp(2rem, 3.7vw, 3.4rem); line-height: 1.12; }
.hero-description { font-size: 1rem; line-height: 1.8; margin-top: 28px; }
.eyebrow { font-size: .75rem; color: var(--cyan); }
.button { border-radius: 100px; min-height: 54px; }
.button-primary { box-shadow: 0 5px 24px #68e5e214; }
.button-secondary { background: #142e42; color: #edf4fa; border-color: #58778c; }
.button-secondary:hover { background: #1c3d52; border-color: var(--cyan); }
.hero-visual { min-height: 520px; padding: 26px; border: 1px solid #5a9cad; border-radius: 28px; background: linear-gradient(145deg, #183c4f85, #0a192dd9 55%, #10283c); box-shadow: 0 0 0 8px #68e5e204, 0 0 80px #48caca12, 0 35px 80px #0005; }
.visual-heading { display: flex; justify-content: space-between; gap: 16px; color: #c0d8e3; font: 600 .6rem/1.5 var(--heading); letter-spacing: .1em; margin-bottom: 30px; }
.visual-heading > span:last-child { color: var(--cyan); }
.visual-orbit { inset: 15% 5%; width: auto; height: auto; background: radial-gradient(ellipse, #68e5e212, transparent 65%); }
.browser-model { transform: rotate(-2deg); margin-top: 0; border-color: #91bcc8; border-radius: 12px; }
.browser-bar { background: #142c3c; color: #d5e5ed; height: 38px; }
.browser-address { background: #ffffff0d; border: 1px solid #ffffff14; }
.browser-dots i { background: #84a8b9; }
.model-site { background: #eef6f5; }
.model-brand-dot, .model-kicker { color: #086867; }
.app-model { width: 72%; margin-top: -24px; background: linear-gradient(135deg, #17364e, #0c2132); border-color: #7798ab; }
.app-content { padding: 18px; }
.chart { height: 82px; }
.server-model { left: 18px; bottom: 64px; border-color: #7798ab; border-radius: 14px; padding: 16px; }
.hero-visual figcaption { margin-top: 32px; font-size: .6rem; }
.hero-foundation { padding-block: 32px 40px; }
.services { background: linear-gradient(180deg, #0b1c2c, #07131f); border-top: 1px solid #263b4b; }
.section-heading { margin-bottom: 52px; }
.section-heading > p { max-width: 380px; line-height: 1.8; }
.service-card, .proposal-card { background: linear-gradient(145deg, #112638, #0b1c2b); border-color: var(--line); border-radius: 20px; padding: 32px; }
.service-card { transition: border-color .18s ease, background .18s ease; }
.service-card:hover { border-color: #668e9e; background: #122b3d; }
.service-icon { background: #68e5e20c; color: var(--cyan); border: 1px solid #4a7888; border-radius: 14px; width: 52px; height: 52px; }
.card-index { color: #a7bdcb; }
.service-card p, .solution-copy p, .process-grid p, .proposal-card > p:not(.proposal-price), .faq-list details p { font-size: 1rem; }
.tags li { background: #0b1c2c; color: #c1d5df; border: 1px solid #344c60; font-size: .75rem; border-radius: 100px; padding: 4px 10px; }
.security-service { background: linear-gradient(135deg, #143a44, #0b202f); border-color: #4c7d88; }
.solutions { background: radial-gradient(ellipse at 90% 25%, #14435840, transparent 45%), #081724; border-block: 1px solid #263b4b; }
.gallery-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-top: 28px; border-top: 1px solid var(--line); }
.gallery-toolbar h3 { font-size: 1rem; letter-spacing: 0; }
.gallery-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.gallery-filters button { min-height: 44px; border-radius: 100px; border: 1px solid #678092; padding: 9px 20px; background: #102638; color: #dce7ef; cursor: pointer; font-size: .875rem; font-weight: 600; transition: background .18s ease, border-color .18s ease; }
.gallery-filters button:hover { background: #1d3e50; border-color: var(--cyan); }
.gallery-filters button[aria-pressed="true"] { background: var(--cyan); border-color: var(--cyan); color: #081827; }
.gallery-status { color: var(--muted); font-size: .875rem; margin-block: 18px 28px; }
.solutions-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.solution-card { display: block; background: #102335; border-color: #3e596b; border-radius: 22px; }
.solution-preview { height: 350px; padding: 32px 32px 0; border-bottom: 1px solid #3e596b; }
.web-preview { background: radial-gradient(ellipse at 80% 5%, #7bf1dc55, transparent 60%), #1a444b; }
.dashboard-preview { background: radial-gradient(ellipse at 10% 10%, #6cb4e94a, transparent 60%), #1a324d; }
.mini-browser { height: 34px; background: #152e40; color: #d5e5ed; border-color: #7691a0; font-size: .55rem; padding-inline: 16px; }
.mini-website { padding: 25px; min-height: 290px; color: #081827; border-radius: 0 0 8px 8px; }
.mini-wordmark { font-size: .85rem; }
.mini-wordmark span { color: #086867; }
.mini-website p { font-size: clamp(1.65rem, 2.7vw, 2.4rem); margin-top: 30px; }
.mini-cta { background: #086867; font-size: .65rem; padding: 8px 13px; }
.mini-tile-row i { height: 60px; }
.mini-dashboard { min-height: 290px; color: #152d3c; }
.mini-dashboard-side { width: 54px; padding: 20px 12px; }
.mini-dashboard-body { padding: 24px 20px; }
.mini-dashboard-body > b { font-size: 1rem; }
.workflow { gap: 10px; margin-top: 24px; }
.workflow span { font-size: .6rem; }
.workflow i { height: 65px; }
.dashboard-foot { font-size: .65rem; }
.solution-copy { padding: 30px 32px 32px; }
.solution-copy h3 { font-size: 1.55rem; max-width: 26ch; }
.small-label { color: var(--cyan); font-size: .7rem; }
.solution-wide { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; }
.solution-wide .solution-preview { border-bottom: 0; border-right: 1px solid #3e596b; padding-bottom: 28px; }
.solution-wide .solution-copy { align-self: center; padding: 40px; }
.infra-preview { background: radial-gradient(ellipse at 50% 40%, #205a6c70, transparent 70%), #102d3f; }
.infra-diagram { padding: 26px 8px; }
.infra-node, .infra-nodes span { font-size: .8rem; padding: 10px 22px; }
.connector { height: 28px; }
.infra-terminal { font-size: .7rem; padding: 16px; margin-top: 24px; }
.own-project { grid-template-columns: 1.55fr 1fr; gap: 40px; padding: 20px; margin-top: 60px; background: linear-gradient(130deg, #153345, #0b1b2c); border-color: #648b9a; border-radius: 24px; box-shadow: 0 20px 60px #0002; }
.project-image { border: 1px solid #486779; border-radius: 14px; }
.project-image:focus-visible { outline-offset: 3px; }
.project-image img { object-fit: contain; transition: transform .25s ease; }
.project-image:hover img { transform: scale(1.015); }
.project-copy { padding: 20px 16px 20px 0; }
.project-copy h3 { font-size: clamp(1.7rem, 2.6vw, 2.5rem); }
.process { background: #07131f; }
.process-grid { gap: 28px; }
.process-grid li { padding: 28px; border: 1px solid var(--line); border-radius: 18px; background: #0c1e2d; }
.step-number { color: var(--cyan); background: #163b48; border: 1px solid #50808e; border-radius: 12px; width: 44px; height: 44px; }
.security { background: radial-gradient(ellipse at 85% 50%, #19475a60, transparent 55%), #0a1d2c; border-block: 1px solid #344c60; }
.security-grid { gap: 64px; }
.security-panel { box-shadow: 0 25px 60px #0003; border-color: #648b9a; border-radius: 22px; }
.proposals { background: #07131f; }
.proposal-featured { background: radial-gradient(ellipse at 100% 0%, #20607070, transparent 65%), #112d3e; border-color: #75b6c0; box-shadow: 0 0 40px #68e5e208; }
.check-list { font-size: 1rem; }
.proposal-price span, .proposal-note { font-size: .875rem; }
.proposal-card .button { font-size: .875rem; }
.faq { background: linear-gradient(135deg, #0c2130, #091725); border-block: 1px solid #344c60; }
.faq-list, .faq-list details { border-color: #506a7b; }
.faq-list summary { padding-block: 25px; }
.faq-list details[open] { background: #ffffff03; }
.contact { background: radial-gradient(ellipse at 15% 100%, #1b59626b, transparent 60%), #0a1b2c; }
.contact-grid { gap: 64px; }
.contact-methods { background: #132d3d; border-color: #648b9a; }
.footer-nav a { min-height: 44px; }
@media (max-width: 1100px) {
  .header-inner { gap: 18px; }
  .main-nav { gap: 16px; }
  .brand-descriptor { display: block; }
  .hero-grid { gap: 32px; }
  .hero-visual { padding: 20px; min-height: 495px; }
  .visual-heading { font-size: .5rem; }
  .solution-preview { padding: 24px 24px 0; }
  .solution-copy { padding: 26px; }
  .own-project { gap: 28px; }
}
@media (max-width: 850px) {
  .container { width: calc(100% - 48px); }
  .site-header { border-radius: 28px; }
  .header-inner { flex-wrap: wrap; }
  .brand-descriptor { display: none; }
  .main-nav { gap: 12px; }
  .main-nav a { font-size: .8rem; }
  .header-email { margin-left: auto; padding-inline: 14px; font-size: .8rem; }
  .hero-grid { grid-template-columns: 1fr; padding-block: 76px 48px; gap: 44px; }
  h1 { font-size: clamp(2.7rem, 6.7vw, 4rem); }
  .hero-visual { width: min(600px, 100%); min-height: 520px; margin: 0 auto; padding: 28px; }
  .visual-heading { font-size: .6rem; }
  .server-model { bottom: 64px; }
  .gallery-toolbar { flex-direction: column; align-items: start; gap: 18px; }
  .solution-preview { height: 300px; padding: 20px 20px 0; }
  .mini-website { padding: 20px; }
  .mini-website p { font-size: 1.75rem; }
  .mini-dashboard-body { padding: 20px 12px; }
  .workflow span { font-size: .5rem; }
  .solution-copy h3 { font-size: 1.35rem; }
  .solution-wide .solution-copy { padding: 28px; }
  .infra-node, .infra-nodes span { padding: 8px 12px; }
  .own-project { grid-template-columns: 1fr; gap: 12px; }
  .project-copy { padding: 20px; }
  .security-grid { grid-template-columns: 1fr; gap: 40px; }
  .security-panel { max-width: 620px; }
  .contact-grid { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 700px) {
  .site-header { top: 10px; width: calc(100% - 24px); margin-top: 10px; }
  .header-inner { padding: 12px 16px; gap: 0; min-height: 72px; }
  .header-email { margin: 0 0 0 12px; padding: 9px 12px; font-size: .75rem; gap: 8px; }
  .main-nav { order: 4; }
  .hero { margin-top: -94px; }
  .hero-grid { padding-top: 64px; }
  .solutions-grid { grid-template-columns: 1fr; }
  .solution-card, .solution-wide { display: block; }
  .solution-preview { height: 350px; padding: 28px 28px 0; }
  .solution-wide .solution-preview { border-right: 0; border-bottom: 1px solid #3e596b; }
  .mini-website p { font-size: clamp(1.75rem, 6vw, 2.4rem); }
  .mini-dashboard-body { padding: 24px 20px; }
  .workflow span { font-size: .6rem; }
  .process-grid li { padding: 22px; }
}
@media (max-width: 480px) {
  .container { width: calc(100% - 32px); }
  .header-inner { padding-inline: 12px; }
  .brand-wordmark { font-size: 1.4rem; }
  .header-email { font-size: .7rem; padding-inline: 10px; margin-left: 8px; gap: 5px; }
  .menu-toggle { padding: 8px; min-width: 44px; justify-content: center; }
  .menu-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  h1 { font-size: clamp(2.1rem, 8.8vw, 2.7rem); }
  .hero-visual { padding: 18px 14px; min-height: 385px; border-radius: 20px; }
  .visual-heading { font-size: .5rem; margin-bottom: 24px; }
  .visual-heading > span:last-child { display: none; }
  .app-model { width: 75%; margin-top: -14px; }
  .app-content { padding: 10px; }
  .chart { height: 54px; }
  .server-model { left: 10px; bottom: 57px; padding: 10px; }
  .hero-visual figcaption { font-size: .48rem; gap: 8px; margin-top: 25px; }
  .service-card, .proposal-card { padding: 26px; }
  .gallery-filters { gap: 8px; }
  .gallery-filters button { padding-inline: 15px; font-size: .8rem; }
  .solution-preview { height: 300px; padding: 20px 16px 0; }
  .mini-browser { font-size: .45rem; padding-inline: 10px; }
  .mini-website { padding: 18px; }
  .mini-website p { font-size: 1.75rem; }
  .mini-dashboard-side { width: 38px; padding-inline: 8px; }
  .mini-dashboard-body { padding: 22px 10px; }
  .mini-dashboard-body > b { font-size: .875rem; }
  .workflow { gap: 6px; }
  .workflow span { font-size: .5rem; }
  .dashboard-foot { font-size: .55rem; }
  .solution-copy, .solution-wide .solution-copy { padding: 26px; }
  .solution-copy h3 { font-size: 1.5rem; }
  .infra-diagram { padding-inline: 0; }
  .infra-node, .infra-nodes span { font-size: .7rem; padding-inline: 12px; }
  .infra-terminal { font-size: .6rem; padding: 12px; }
  .own-project { padding: 14px; margin-top: 40px; }
  .project-copy { padding: 16px 8px; }
  .process-grid { grid-template-columns: 1fr; gap: 16px; }
  .process-grid h3 { font-size: 1.25rem; }
  .process-grid p { font-size: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
@media (forced-colors: active) {
  .button, .service-card, .solution-card, .proposal-card, .security-panel, .audit-badge { border: 1px solid CanvasText; }
  .gallery-filters button { border-color: ButtonText; }
  .gallery-filters button[aria-pressed="true"] { background: Highlight; color: HighlightText; border-color: Highlight; }
}
