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

:root{--bg:#06121d;--bg2:#091824;--panel:#0b1b28;--line:rgba(151,183,204,.13);--text:#f4f8fb;--muted:#9cb0bf;--cyan:#25d4e6;--cyan2:#8cf3ff;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%}.container{width:min(var(--max),calc(100% - 40px));margin:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:20px;top:20px;background:white;color:black;padding:10px;z-index:9999}.site-header{position:sticky;top:0;z-index:100;background:rgba(4,14,23,.88);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav-wrap{height:72px;display:flex;align-items:center;justify-content:space-between}.brand img{width:205px;display:block}.site-nav{display:flex;align-items:center;gap:28px;font-size:.78rem}.site-nav>a:not(.button){color:#c8d4dc}.site-nav>a:hover{color:var(--cyan2)}.menu-toggle{display:none;background:none;border:0}.menu-toggle span{display:block;width:24px;height:2px;background:white;margin:5px}.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 19px;border:1px solid var(--cyan);background:var(--cyan);color:#03202a;text-transform:uppercase;font-size:.72rem;font-weight:700;letter-spacing:.08em;transition:.2s}.button:hover{background:var(--cyan2);transform:translateY(-1px)}.button-small{padding:10px 15px}.button-ghost{background:transparent;color:var(--text);border-color:#526574}.section{padding:105px 0;border-top:1px solid var(--line)}.section-alt{background:var(--bg2)}.section-grid{background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:72px 72px}.hero{min-height:calc(100vh - 72px);padding:95px 0 0;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:70px}.eyebrow{color:var(--cyan);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.17em;margin:0 0 18px}.hero h1,.section-heading h2,blockquote{font-family:"Playfair Display",Georgia,serif;line-height:.98}.hero h1{font-size:clamp(3.5rem,7.6vw,7.4rem);max-width:900px;margin:0}.hero h1 span{color:var(--cyan)}.hero-text{max-width:670px;color:var(--muted);font-size:1rem;margin:30px 0}.hero-actions{display:flex;gap:12px}.hero-visual{height:520px;position:relative}.orb{position:absolute;border-radius:50%;filter:blur(3px)}.orb-a{width:270px;height:270px;right:10%;top:10%;border:1px solid rgba(37,212,230,.55);box-shadow:0 0 90px rgba(37,212,230,.18)}.orb-b{width:130px;height:130px;left:10%;bottom:14%;background:radial-gradient(circle at 35% 35%,rgba(140,243,255,.5),rgba(37,212,230,.04) 70%)}.wireframe{position:absolute;inset:18% 0 0 10%;transform:rotate(-12deg)}.wireframe span{position:absolute;border:1px solid rgba(112,180,195,.22);width:330px;height:160px;transform:skewY(-14deg)}.wireframe span:nth-child(2){transform:translate(35px,50px) skewY(-14deg)}.wireframe span:nth-child(3){transform:translate(70px,100px) skewY(-14deg)}.wireframe span:nth-child(4){transform:translate(105px,150px) skewY(-14deg)}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:50px}.stats div{padding:27px 20px;border-right:1px solid var(--line)}.stats strong{display:block;font-family:"Playfair Display",serif;font-size:1.75rem}.stats span{display:block;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.section-heading{max-width:720px;margin-bottom:45px}.section-heading.centered{text-align:center;margin-left:auto;margin-right:auto}.section-heading h2{font-size:clamp(2.5rem,5vw,4.8rem);margin:0 0 18px}.section-heading>p:last-child{color:var(--muted)}.cards{display:grid;gap:16px}.cards-3{grid-template-columns:repeat(3,1fr)}.card{background:rgba(9,25,37,.78);border:1px solid var(--line);padding:32px;min-height:275px;transition:.25s}.card:hover{border-color:rgba(37,212,230,.65);transform:translateY(-4px);box-shadow:0 18px 50px rgba(0,0,0,.2)}.icon{color:var(--cyan);font-size:.72rem;letter-spacing:.1em}.card h3,.capability h3,.case h3{font-family:"Playfair Display",serif;font-size:1.55rem;line-height:1.15}.card p,.capability p,.case p{color:var(--muted);font-size:.9rem}.split{display:grid;grid-template-columns:.78fr 1.22fr;gap:90px;align-items:start}.capability{display:grid;grid-template-columns:60px 1fr;gap:18px;padding:26px 0;border-top:1px solid var(--line)}.capability>span{color:var(--cyan);font-size:.72rem}.capability h3{margin:0 0 8px}.capability p{margin:0}.platforms{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.platforms span{padding:15px 20px;border:1px solid var(--line);background:var(--panel);font-size:.8rem;color:#c9d6de}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.case{padding:32px;border-left:2px solid var(--cyan);background:rgba(7,19,29,.65)}.case-tag{color:var(--cyan)!important;text-transform:uppercase;letter-spacing:.12em;font-size:.67rem!important}.statement{padding:130px 0;text-align:center}.statement blockquote{font-size:clamp(2.6rem,5vw,5.2rem);max-width:1000px;margin:0 auto}.contact-grid{display:grid;grid-template-columns:1fr .9fr;gap:80px}.contact-details{display:flex;flex-direction:column;gap:8px;margin-top:30px}.contact-details a{font-size:1.1rem}.contact-details span{color:var(--muted)}.contact-form{display:grid;gap:17px;background:var(--panel);border:1px solid var(--line);padding:30px}.contact-form label{display:grid;gap:7px;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#c8d4dc}.contact-form input,.contact-form textarea{width:100%;background:#06131e;border:1px solid #213442;color:white;padding:13px;font:inherit}.contact-form input:focus,.contact-form textarea:focus{outline:1px solid var(--cyan);border-color:var(--cyan)}.form-note{color:var(--muted);font-size:.72rem;margin:0}.site-footer{padding:38px 0;border-top:1px solid var(--line);background:#04101a}.footer-grid{display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:30px}.footer-grid img{width:190px}.footer-grid p{margin:0;color:var(--muted);font-size:.78rem}.reveal{opacity:0;transform:translateY(25px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-nav{position:absolute;top:72px;left:0;right:0;background:#06121d;display:none;flex-direction:column;align-items:stretch;padding:24px;border-bottom:1px solid var(--line)}.site-nav.open{display:flex}.menu-toggle{display:block}.hero-grid,.split,.contact-grid{grid-template-columns:1fr}.hero-visual{display:none}.hero h1{font-size:clamp(3.4rem,15vw,6rem)}.cards-3,.case-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.split{gap:35px}}
@media(max-width:600px){.container{width:min(100% - 26px,var(--max))}.section{padding:75px 0}.hero{padding-top:70px}.cards-3,.case-grid{grid-template-columns:1fr}.hero-actions{flex-direction:column;align-items:stretch}.stats div{padding:20px 10px}.brand img{width:175px}.statement{padding:90px 0}}

/* ===== Grumman International Version 3 refinements ===== */
:root{--glow:rgba(37,212,230,.25);--glass:rgba(10,29,43,.72)}
body{background:radial-gradient(circle at 70% 8%,rgba(37,212,230,.055),transparent 25%),var(--bg)}
.section-grid{background-image:none}
.site-header{box-shadow:0 10px 35px rgba(0,0,0,.18)}
.nav-wrap{height:84px}
.brand img{width:250px;transition:transform .25s ease,filter .25s ease}
.brand:hover img{transform:translateY(-1px);filter:drop-shadow(0 0 10px rgba(37,212,230,.2))}
.site-nav{gap:34px;font-size:.82rem}
.site-nav>a:not(.button){position:relative}
.site-nav>a:not(.button)::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--cyan);transition:right .25s ease}
.site-nav>a:not(.button):hover::after{right:0}
.button{box-shadow:0 0 0 rgba(37,212,230,0);transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.button:hover{box-shadow:0 12px 34px rgba(37,212,230,.16)}
.hero{min-height:calc(100vh - 84px);padding-top:82px;position:relative}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(37,212,230,.035),transparent 42%);pointer-events:none}
.hero-grid{grid-template-columns:1.08fr .92fr;gap:44px}
.hero-copy{position:relative;z-index:2}
.hero h1{font-size:clamp(3.6rem,7vw,7rem);line-height:.91;letter-spacing:-.035em;text-wrap:balance}
.hero h1 span{text-shadow:0 0 45px rgba(37,212,230,.08)}
.hero-text{font-size:1.05rem;line-height:1.75}
.hero-visual{height:555px;display:flex;align-items:center;justify-content:center}
.topology{width:100%;height:100%;position:relative;transition:transform .25s ease-out;will-change:transform}
.topology svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 20px 45px rgba(0,0,0,.28))}
.topology-lines path{fill:none;stroke:rgba(91,186,204,.34);stroke-width:1.5;stroke-dasharray:8 8;animation:flow 15s linear infinite}
.topology-lines path:nth-child(2){animation-duration:19s;animation-direction:reverse}
.topology-nodes circle{fill:#071723;stroke:var(--cyan);stroke-width:2;filter:drop-shadow(0 0 9px rgba(37,212,230,.55));animation:nodePulse 3.6s ease-in-out infinite}
.topology-nodes circle:nth-child(3n){animation-delay:.8s}.topology-nodes circle:nth-child(2n){animation-delay:1.6s}
.topology-pulses circle{fill:none;stroke:rgba(37,212,230,.45);stroke-width:1;transform-box:fill-box;transform-origin:center;animation:pulseRing 2.8s ease-out infinite}
.topology-pulses circle:last-child{animation-delay:1.4s}
.topology-ring{position:absolute;border-radius:50%;border:1px solid rgba(37,212,230,.13);box-shadow:inset 0 0 55px rgba(37,212,230,.035),0 0 55px rgba(37,212,230,.04)}
.ring-one{width:280px;height:280px;right:3%;top:12%;animation:float 7s ease-in-out infinite}
.ring-two{width:140px;height:140px;left:8%;bottom:7%;animation:float 5.5s ease-in-out infinite reverse}
.topology-label{position:absolute;padding:7px 10px;border:1px solid rgba(37,212,230,.22);background:rgba(4,16,26,.76);color:#a9eaf0;font-size:.58rem;font-weight:700;letter-spacing:.14em}
.label-one{right:6%;top:35%}.label-two{left:10%;bottom:22%}
@keyframes flow{to{stroke-dashoffset:-180}}
@keyframes nodePulse{0%,100%{opacity:.65}50%{opacity:1}}
@keyframes pulseRing{0%{transform:scale(.35);opacity:.8}100%{transform:scale(2.8);opacity:0}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}
.stats{background:rgba(5,18,29,.5);backdrop-filter:blur(8px)}
.stats div{position:relative;overflow:hidden}
.stats div::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--cyan);transition:right .35s ease}
.stats div:hover::after{right:0}
.stats strong{font-size:2rem;color:#fff}
.card{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(12,33,47,.86),rgba(6,19,30,.72));backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.card::before{content:"";position:absolute;inset:-1px;background:radial-gradient(circle at var(--x,50%) var(--y,0%),rgba(37,212,230,.17),transparent 34%);opacity:0;transition:opacity .3s ease;pointer-events:none}
.card:hover::before{opacity:1}
.card:hover{border-color:rgba(37,212,230,.72);box-shadow:0 24px 65px rgba(0,0,0,.3),0 0 35px rgba(37,212,230,.08)}
.service-icon{height:52px;display:flex;align-items:center;justify-content:space-between;color:var(--cyan);position:relative;z-index:1}
.service-icon svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.service-icon span{font-size:.66rem;letter-spacing:.15em;color:#79a0ad}
.card h3,.card p{position:relative;z-index:1}
.platforms span{transition:transform .2s,border-color .2s,background .2s}
.platforms span:hover{transform:translateY(-3px);border-color:rgba(37,212,230,.5);background:#0d2331}
.case{transition:transform .25s ease,background .25s ease,box-shadow .25s ease}
.case:hover{transform:translateY(-5px);background:rgba(10,30,44,.86);box-shadow:0 20px 45px rgba(0,0,0,.2)}
.reveal{transition-delay:var(--delay,0ms)}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
@media(max-width:900px){.nav-wrap{height:74px}.site-nav{top:74px}.brand img{width:215px}.hero{min-height:auto}.hero-grid{grid-template-columns:1fr}.hero-visual{height:390px;display:flex;opacity:.62;margin-top:-30px}.topology-label{display:none}}
@media(max-width:600px){.brand img{width:190px}.hero-visual{height:290px}.hero h1{line-height:.94}.stats strong{font-size:1.6rem}}

/* Explicit service icon rendering for hosting/browser compatibility */
.service-icon svg,.service-icon svg *{fill:none!important;stroke:#25d4e6!important;stroke-width:1.5!important;stroke-linecap:round!important;stroke-linejoin:round!important;}
.service-icon svg circle,.service-icon svg rect,.service-icon svg path{vector-effect:non-scaling-stroke;}

/* Version 4: production contact form and company-focused presentation */
.section-grid{background-image:none!important}
.website-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status{display:none;margin:0 0 1rem;padding:.95rem 1rem;border:1px solid rgba(37,212,230,.35);background:rgba(37,212,230,.08);color:#d9f6f8;line-height:1.5}
.form-status.is-visible{display:block}
.form-status.is-error{border-color:rgba(255,125,125,.48);background:rgba(255,95,95,.08);color:#ffe0e0}
.form-status.is-success{border-color:rgba(37,212,230,.45)}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid rgba(37,212,230,.42);outline-offset:2px;border-color:var(--cyan)}
.contact-form button[disabled]{opacity:.65;cursor:wait;transform:none}
