:root{
  --pink:#ef3f91;--magenta:#c92b99;--purple:#7328da;--cyan:#08aae8;--blue:#2737a6;
  --ink:#11131d;--muted:#626777;--line:#e8e9f3;--soft:#f8f8fd;--white:#fff;
  --radius:26px;--shadow:0 20px 60px rgba(40,29,91,.12)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff;overflow-x:hidden}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
.container{width:min(1180px,calc(100% - 40px));margin:auto}
.section{padding:108px 0;position:relative}
.skip-link{position:fixed;top:10px;left:10px;z-index:9999;padding:10px 14px;background:#111126;color:#fff;border-radius:8px;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.page-glow{position:fixed;pointer-events:none;z-index:-1;opacity:.48}
.glow-one{width:520px;height:520px;background:radial-gradient(circle,rgba(238,63,145,.24),transparent 67%);top:-180px;left:-140px}
.glow-two{width:620px;height:620px;background:radial-gradient(circle,rgba(8,170,232,.18),transparent 67%);right:-230px;top:150px}

.site-header{height:88px;position:sticky;top:0;z-index:100;background:rgba(255,255,255,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(225,225,240,.8)}
.nav-wrap{height:100%;display:flex;align-items:center;gap:30px}
.brand{width:220px;flex:0 0 auto}.brand img{width:100%;height:58px;object-fit:contain}
.main-nav{display:flex;gap:30px;margin-left:auto;align-items:center}
.main-nav a{font-weight:600;font-size:14px;color:#343747;position:relative}
.main-nav a::after{content:"";position:absolute;left:0;bottom:-10px;width:0;height:2px;background:linear-gradient(90deg,var(--pink),var(--cyan));transition:.25s}
.main-nav a:hover::after,.main-nav a:focus-visible::after{width:100%}
.nav-toggle{display:none;background:none;border:0;padding:5px;cursor:pointer}.nav-toggle span{display:block;width:27px;height:2px;background:#151623;margin:6px;transition:.25s}

.btn{min-height:50px;padding:0 25px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;border:0;cursor:pointer;transition:.25s}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(103,42,212,.2)}
.btn-gradient{color:#fff;background:linear-gradient(100deg,var(--pink),var(--purple) 55%,var(--cyan))}
.btn-outline{border:1px solid #cfd0e4;background:#fff}.btn-small{min-height:44px;padding:0 20px;font-size:14px}

.hero{padding-top:72px;background:linear-gradient(180deg,#fff 0,#fbfaff 76%,#fff 100%)}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:48px;min-height:580px}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:1.8px;color:var(--purple);display:inline-block;margin-bottom:16px}
.hero h1,.section-heading h2,.contact h2{font-family:"Space Grotesk",sans-serif;margin:0}
.hero h1{font-size:clamp(52px,6vw,78px);line-height:.98;letter-spacing:-3.5px}
.hero h1 span{background:linear-gradient(90deg,var(--pink),var(--purple),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-copy>p{font-size:18px;line-height:1.75;color:var(--muted);max-width:620px;margin:25px 0 30px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.hero-points{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px}
.hero-points span{font-size:13px;font-weight:700;color:#595d6d}.hero-points span::before{content:"•";color:var(--pink);margin-right:7px}
.hero-visual{height:560px;position:relative;display:grid;place-items:center;overflow:visible}

.planet-stage{position:relative;width:min(100%,590px);aspect-ratio:1.06/1;isolation:isolate}
.planet-shadow{position:absolute;left:50%;bottom:8%;width:58%;height:10%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(54,60,161,.25),rgba(54,60,161,.07) 55%,transparent 75%);filter:blur(2px);z-index:1;animation:shadowPulse 5.8s ease-in-out infinite}
.core-planet{position:absolute;left:50%;top:50%;width:58%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);overflow:hidden;z-index:4;background:radial-gradient(circle at 28% 22%,#ff9ee4 0 7%,#f84eba 21%,#9c42ef 46%,#3566ee 72%,#101d73 100%);box-shadow:inset -58px -38px 88px rgba(3,8,57,.62),inset 28px 18px 42px rgba(255,255,255,.22),0 0 0 2px rgba(151,227,255,.38),0 0 34px rgba(32,184,255,.42),0 0 82px rgba(186,64,231,.28);animation:planetFloat 5.8s ease-in-out infinite}
.core-planet::before{content:"";position:absolute;inset:-12%;border-radius:50%;background:conic-gradient(from 0deg,rgba(255,255,255,.03),rgba(255,255,255,.18),rgba(0,212,255,.04),rgba(239,64,150,.18),rgba(255,255,255,.03));animation:planetSpin 17s linear infinite;mix-blend-mode:screen;z-index:1}
.core-planet::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 28% 22%,rgba(255,255,255,.34),transparent 29%),linear-gradient(112deg,rgba(255,255,255,.18),transparent 31% 68%,rgba(1,8,61,.24));z-index:12;pointer-events:none}
.planet-energy{position:absolute;border-radius:50%;mix-blend-mode:screen;z-index:2}.energy-one{inset:9%;background:radial-gradient(circle at 72% 28%,rgba(41,216,255,.26),transparent 29%),radial-gradient(circle at 29% 72%,rgba(255,73,174,.26),transparent 32%)}.energy-two{inset:17%;border:1px solid rgba(255,255,255,.22);box-shadow:0 0 28px rgba(66,220,255,.14) inset}
.planet-grid{position:absolute;inset:0;border-radius:50%;z-index:3;opacity:.32;background:repeating-radial-gradient(circle at center,transparent 0 27px,rgba(255,255,255,.18) 28px 29px),repeating-linear-gradient(0deg,transparent 0 24px,rgba(255,255,255,.1) 25px 26px),repeating-linear-gradient(90deg,transparent 0 24px,rgba(255,255,255,.1) 25px 26px);mix-blend-mode:screen;animation:gridPulse 4.3s ease-in-out infinite}
.planet-circuit{position:absolute;border:2px solid rgba(255,255,255,.25);border-radius:50%;z-index:5;animation:circuitTurn 15s linear infinite}.circuit-one{inset:12% 18%;transform:rotate(18deg)}.circuit-two{inset:20% 10%;transform:rotate(-42deg);animation-direction:reverse;animation-duration:19s}.circuit-three{inset:29% 16%;transform:rotate(62deg);animation-duration:12s}
.planet-inner-ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;z-index:6;border:1px solid rgba(255,255,255,.32);box-shadow:0 0 20px rgba(72,215,255,.16),inset 0 0 18px rgba(242,86,188,.12)}.inner-one{width:70%;height:70%;animation:ringSpin 12s linear infinite}.inner-two{width:48%;height:48%;animation:ringSpin 9s linear reverse infinite}
.planet-emblem{position:absolute;left:50%;top:50%;width:43%;height:43%;transform:translate(-50%,-50%);object-fit:contain;z-index:9;filter:drop-shadow(0 0 16px rgba(255,255,255,.36)) drop-shadow(0 0 28px rgba(49,193,255,.24));animation:emblemPulse 3.8s ease-in-out infinite;user-select:none;pointer-events:none}
.planet-highlight{position:absolute;left:10%;top:4%;width:42%;height:83%;z-index:10;border-radius:50%;background:linear-gradient(108deg,rgba(255,255,255,.25),rgba(255,255,255,.02) 46%,transparent 65%);transform:rotate(10deg);pointer-events:none}
.orbit-line{position:absolute;left:50%;top:50%;transform-origin:center;border-radius:50%;z-index:2;border:1.5px solid rgba(131,207,255,.3);box-shadow:0 0 16px rgba(86,206,255,.09)}
.orbit-line::after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 14px rgba(145,242,255,.9);top:50%;left:-3px}
.orbit-line-one{width:88%;height:34%;transform:translate(-50%,-50%) rotate(-10deg);border-color:rgba(239,78,171,.34)}
.orbit-line-two{width:92%;height:58%;transform:translate(-50%,-50%) rotate(28deg);border-color:rgba(82,212,255,.32)}
.orbit-line-three{width:82%;height:48%;transform:translate(-50%,-50%) rotate(-37deg);border-color:rgba(174,92,244,.3)}
.satellite{position:absolute;left:0;top:0;z-index:8;will-change:transform;pointer-events:none}
.satellite-card{display:flex;flex-direction:column;align-items:center;gap:4px;transform-origin:center;transition:transform .15s linear}
.satellite-card svg{width:27px;height:27px;fill:currentColor;display:block}.satellite-card svg .screen{fill:#fff;opacity:.82}
.satellite-card span{font-size:9px;font-weight:800;color:#27243c;background:rgba(255,255,255,.91);border:1px solid rgba(235,236,246,.95);border-radius:999px;padding:5px 9px;box-shadow:0 6px 18px rgba(43,38,103,.11);white-space:nowrap}
.satellite-trip{color:var(--pink)}.satellite-med{color:#d438a7}.satellite-edu{color:#8146e7}.satellite-it{color:#0a9ee8}.satellite-design{color:#ec3f9f}

.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 15px 45px rgba(38,31,78,.08);overflow:hidden}
.stat-strip div{padding:24px 28px;border-right:1px solid var(--line)}.stat-strip div:last-child{border:0}.stat-strip strong{font-family:"Space Grotesk";font-size:30px;display:block;color:var(--purple)}.stat-strip span{font-size:13px;color:var(--muted)}
.two-col{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}.section-heading h2,.contact h2{font-size:clamp(38px,4vw,56px);line-height:1.08;letter-spacing:-2px}.section-heading p{color:var(--muted);font-size:17px}.section-heading.center{text-align:center;max-width:760px;margin:0 auto 55px}.about-copy p{font-size:18px;line-height:1.8;color:var(--muted);margin:0 0 18px}

.divisions{background:var(--soft)}.division-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.division-card{background:#fff;border-radius:var(--radius);padding:38px;box-shadow:0 14px 40px rgba(43,35,85,.08);border:1px solid var(--line);position:relative;overflow:hidden}.division-card::before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--pink),var(--purple),var(--cyan))}.division-logo-frame{height:170px;display:grid;place-items:center;position:relative;overflow:hidden;border-radius:18px;background:#fcfcff;margin-bottom:20px}.division-logo-frame>img{width:82%;height:120px;object-fit:contain;position:relative;z-index:2}.division-card p{color:var(--muted);line-height:1.7;min-height:58px}.service-tags{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 27px}.service-tags span{font-size:12px;font-weight:700;background:#f6f4ff;border:1px solid #e9e4ff;padding:8px 11px;border-radius:999px}.text-link{font-weight:800;color:var(--purple)}.text-link span{transition:.2s;display:inline-block}.text-link:hover span{transform:translateX(4px)}
.division-animation{position:absolute;inset:0;z-index:3;opacity:0;transition:.3s;pointer-events:none}.division-card:hover .division-animation,.division-card:focus-within .division-animation{opacity:1}.travel-animation svg{width:42px;height:42px;fill:var(--pink);position:absolute;left:-50px;top:68%;animation:divisionFlight 2.3s ease-in-out infinite}.tech-animation i{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--cyan);box-shadow:0 0 14px rgba(8,170,232,.5);animation:techNode 2.5s ease-in-out infinite}.tech-animation i:nth-child(1){left:14%;top:28%}.tech-animation i:nth-child(2){right:18%;top:25%;animation-delay:.4s}.tech-animation i:nth-child(3){left:28%;bottom:21%;animation-delay:.8s}.tech-animation i:nth-child(4){right:26%;bottom:24%;animation-delay:1.2s}

.brands{background:#fff}.brand-group{margin-top:70px}.group-title{margin-bottom:25px}.group-title span{font-size:12px;font-weight:800;color:var(--pink);text-transform:uppercase;letter-spacing:1.5px}.group-title h3{font-family:"Space Grotesk";font-size:30px;margin:8px 0}.brand-grid{display:grid;gap:24px}.brand-grid.three{grid-template-columns:repeat(3,1fr)}.brand-grid.two{grid-template-columns:repeat(2,1fr)}.brand-card{display:block;border:1px solid var(--line);border-radius:24px;padding:28px;background:#fff;transition:.28s;position:relative;overflow:hidden}.brand-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--pink),var(--purple),var(--cyan));transform:scaleX(0);transform-origin:left;transition:.28s}.brand-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.brand-card:hover::after{transform:scaleX(1)}
.brand-logo-frame{height:145px;display:grid;place-items:center;background:#fbfbfe;border-radius:16px;padding:18px;margin-bottom:21px;position:relative;overflow:hidden}.brand-logo-frame>img{width:82%;height:96px;object-fit:contain;position:relative;z-index:2;transition:.35s}.brand-card:hover .brand-logo-frame>img{transform:scale(.96)}.brand-card h4{font-size:22px;margin:0 0 10px}.brand-card p{color:var(--muted);line-height:1.65;min-height:78px;margin-bottom:20px}.visit{font-size:13px;font-weight:800;color:var(--purple)}
.brand-effect{position:absolute;inset:0;z-index:3;opacity:0;transition:.25s;pointer-events:none}.brand-card:hover .brand-effect{opacity:1}.effect-travel svg{position:absolute;width:35px;height:35px;fill:var(--pink);left:-40px;top:68%;animation:brandFlight 1.8s ease-in-out infinite}.effect-medical span{position:absolute;left:8%;right:8%;top:52%;height:2px;background:linear-gradient(90deg,transparent,var(--pink),var(--purple),transparent);animation:pulseLine 1.3s linear infinite}.effect-education svg{width:38px;height:38px;fill:var(--purple);position:absolute;right:14px;top:16px;animation:capBounce 1.4s ease-in-out infinite}.effect-it i{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--cyan);animation:techNode 1.8s ease-in-out infinite}.effect-it i:nth-child(1){left:18%;top:28%}.effect-it i:nth-child(2){right:18%;top:37%;animation-delay:.45s}.effect-it i:nth-child(3){left:48%;bottom:20%;animation-delay:.9s}.effect-design{background:linear-gradient(110deg,transparent 35%,rgba(239,63,145,.12) 45%,rgba(115,40,218,.16) 54%,rgba(8,170,232,.11) 65%,transparent 72%);transform:translateX(-100%);animation:brushSweep 1.8s ease-in-out infinite}

.why{background:linear-gradient(135deg,#15142b,#26205c);color:#fff}.why .eyebrow{color:#73d8ff}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feature{padding:30px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.06);border-radius:20px}.feature b{font-family:"Space Grotesk";font-size:15px;color:#72d8ff}.feature h3{font-size:18px;margin:32px 0 9px}.feature p{font-size:14px;line-height:1.65;color:#c8c8dc;margin:0}

.contact{background:#faf9ff}.contact-shell{display:grid;grid-template-columns:1fr .9fr;gap:65px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:32px;padding:54px;box-shadow:var(--shadow)}.contact-copy>p{font-size:17px;color:var(--muted);line-height:1.7}.contact-list{display:grid;gap:10px;margin:27px 0}.contact-list a{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:13px 0}.contact-list span{color:var(--muted);font-size:13px}.contact-list strong{font-size:14px}.address-card{font-style:normal;color:var(--muted);line-height:1.65;font-size:14px;display:flex;gap:12px;align-items:flex-start}.address-card svg{width:22px;height:22px;flex:0 0 auto;fill:var(--pink)}.map-wrap{margin-top:22px;border-radius:18px;overflow:hidden;border:1px solid var(--line);height:220px}.map-wrap iframe{border:0;width:100%;height:100%}
.contact-form{display:grid;gap:15px}.contact-form label{font-size:13px;font-weight:700}.contact-form input,.contact-form select,.contact-form textarea{width:100%;margin-top:7px;border:1px solid #dbdcea;background:#fbfbfe;border-radius:12px;padding:14px 15px;outline:none}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(115,40,218,.1)}.contact-form small{color:var(--muted);text-align:center}.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}.form-status{min-height:22px;text-align:center;font-size:14px;font-weight:700}.form-status.success{color:#11834b}.form-status.error{color:#c3294e}.contact-form.is-loading{opacity:.78;pointer-events:none}

.footer{background:#111126;color:#fff;padding:65px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:45px}.footer-logo{background:#fff;border-radius:13px;padding:9px 14px;width:215px}.footer-logo img{width:100%}.footer p{color:#b9b9cc;line-height:1.6}.footer h4{margin:5px 0 18px}.footer a{display:block;color:#b9b9cc;margin:10px 0;font-size:14px}.footer a:hover{color:#fff}.footer-bottom{margin-top:45px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:space-between;color:#9292aa;font-size:13px}.back-to-top{width:46px;height:46px;border-radius:50%;display:grid!important;place-items:center;background:linear-gradient(135deg,var(--pink),var(--purple),var(--cyan));box-shadow:0 10px 28px rgba(83,57,188,.3);color:#fff!important;margin:0!important;transition:.25s}.back-to-top:hover{transform:translateY(-3px) scale(1.04)}.back-to-top svg{width:21px;height:21px;fill:currentColor}
.social-float{position:fixed;right:20px;top:45%;z-index:90;display:grid;gap:10px}.social-float a{width:47px;height:47px;border-radius:50%;display:grid;place-items:center;overflow:hidden;color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.18)}.social-float img{width:100%;height:100%;object-fit:cover}.social-float .phone{background:linear-gradient(135deg,var(--pink),var(--purple));padding:12px}.social-float .phone svg{width:100%;height:100%;fill:#fff}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.24s}.delay-3{transition-delay:.36s}
@keyframes planetSpin{to{transform:rotate(-360deg)}}@keyframes planetFloat{50%{transform:translate(-50%,-52%) rotate(-1deg)}}@keyframes shadowPulse{50%{transform:translateX(-50%) scale(.92);opacity:.72}}@keyframes gridPulse{50%{opacity:.5}}@keyframes circuitTurn{to{transform:rotate(360deg)}}@keyframes ringSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes emblemPulse{50%{transform:translate(-50%,-50%) scale(1.055);filter:drop-shadow(0 0 22px rgba(255,255,255,.48)) drop-shadow(0 0 34px rgba(49,193,255,.34))}}
@keyframes divisionFlight{0%{left:-50px;top:72%;transform:rotate(-12deg)}55%{left:52%;top:24%;transform:rotate(-20deg)}100%{left:112%;top:48%;transform:rotate(8deg)}}@keyframes techNode{50%{transform:scale(1.8);opacity:.45}}@keyframes brandFlight{0%{left:-40px;top:70%;transform:rotate(-12deg)}55%{left:53%;top:24%;transform:rotate(-20deg)}100%{left:112%;top:48%;transform:rotate(8deg)}}@keyframes pulseLine{to{transform:translateX(100%)}}@keyframes capBounce{50%{transform:translateY(-9px) rotate(-5deg)}}@keyframes brushSweep{50%{transform:translateX(100%)}}

@media(max-width:980px){
  .main-nav{gap:18px}.desktop-cta{display:none}.hero-grid{grid-template-columns:1fr}.hero-copy{text-align:center}.hero-copy>p{margin-left:auto;margin-right:auto}.hero-actions,.hero-points{justify-content:center}.hero-visual{height:530px}.planet-stage{max-width:590px}.two-col,.contact-shell{grid-template-columns:1fr}.division-logo-frame>img,.brand-logo-frame>img{width:78%}.feature-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .site-header{height:76px}.brand{width:180px}.brand img{height:50px}.nav-toggle{display:block;margin-left:auto}.main-nav{position:absolute;left:20px;right:20px;top:76px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow);display:grid;gap:4px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:.25s}.main-nav.open{opacity:1;visibility:visible;transform:none}.main-nav a{padding:12px}.main-nav a::after{display:none}.section{padding:80px 0}.hero{padding-top:46px}.hero h1{letter-spacing:-2.5px}.hero-visual{height:430px}.stat-strip,.division-grid,.brand-grid.three,.brand-grid.two,.footer-grid{grid-template-columns:1fr}.stat-strip div{border-right:0;border-bottom:1px solid var(--line)}.stat-strip div:last-child{border-bottom:0}.contact-shell{padding:30px 22px}.social-float{right:10px;top:auto;bottom:16px;display:flex}.social-float a{width:44px;height:44px}.footer-bottom{gap:20px}.planet-stage{width:460px;max-width:124%}.satellite-card span{font-size:8px;padding:4px 7px}.satellite-card svg{width:23px;height:23px}
}
@media(max-width:520px){
  .container{width:min(100% - 28px,1180px)}.hero h1{font-size:46px}.hero-copy>p{font-size:16px}.hero-actions .btn{width:100%}.hero-visual{height:370px}.planet-stage{width:400px;max-width:130%}.feature-grid{grid-template-columns:1fr}.division-card,.brand-card{padding:24px}.division-logo-frame{height:145px}.division-logo-frame>img{height:100px}.brand-logo-frame{height:130px}.brand-logo-frame>img{height:82px}.contact-list a{display:block}.contact-list strong{display:block;margin-top:5px}.footer-bottom{align-items:flex-start}.back-to-top{align-self:flex-end}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.core-planet,.core-planet::before,.planet-grid,.planet-circuit,.planet-inner-ring,.planet-emblem,.planet-shadow,.division-animation,.brand-effect{animation:none!important}.reveal{opacity:1;transform:none;transition:none}}

/* =========================================================
   Graphycore Core Planet V2 — pure CSS, no JavaScript required
   ========================================================= */
.hero-visual{height:590px!important;display:grid!important;place-items:center!important;overflow:visible!important}
.core-orbit-system-v2{position:relative;width:min(100%,590px);aspect-ratio:1/1;isolation:isolate;transform:translateZ(0)}
.core-orbit-glow{position:absolute;inset:12%;border-radius:50%;background:radial-gradient(circle,rgba(74,181,255,.18),rgba(171,68,235,.12) 45%,transparent 72%);filter:blur(28px);z-index:0;animation:coreGlowPulse 4.8s ease-in-out infinite}
.core-planet-v2{position:absolute;left:50%;top:50%;width:58%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);overflow:hidden;z-index:5;background:radial-gradient(circle at 29% 22%,#ffb1ec 0 6%,#f752bd 20%,#9a43ee 48%,#3568ef 72%,#121d70 100%);box-shadow:inset -62px -42px 90px rgba(4,8,57,.62),inset 30px 18px 45px rgba(255,255,255,.2),0 0 0 2px rgba(149,227,255,.42),0 0 32px rgba(36,191,255,.45),0 0 88px rgba(187,65,235,.28);animation:corePlanetFloatV2 5.5s ease-in-out infinite}
.core-planet-v2::before{content:"";position:absolute;inset:-18%;border-radius:50%;background:conic-gradient(from 0deg,transparent,rgba(255,255,255,.18),rgba(33,222,255,.04),rgba(242,69,174,.17),transparent);mix-blend-mode:screen;animation:corePlanetTurnV2 16s linear infinite;z-index:1}
.core-planet-mesh{position:absolute;inset:0;border-radius:50%;z-index:2;opacity:.30;background:repeating-radial-gradient(circle at center,transparent 0 29px,rgba(255,255,255,.18) 30px 31px),repeating-linear-gradient(0deg,transparent 0 24px,rgba(255,255,255,.10) 25px 26px),repeating-linear-gradient(90deg,transparent 0 24px,rgba(255,255,255,.09) 25px 26px);mix-blend-mode:screen;animation:coreMeshPulseV2 4.2s ease-in-out infinite}
.core-planet-energy{position:absolute;border-radius:50%;z-index:3;mix-blend-mode:screen}.core-energy-a{inset:7%;background:radial-gradient(circle at 73% 26%,rgba(39,225,255,.28),transparent 31%),radial-gradient(circle at 26% 74%,rgba(255,70,174,.27),transparent 34%)}.core-energy-b{inset:16%;border:1px solid rgba(255,255,255,.26);box-shadow:0 0 26px rgba(71,219,255,.16) inset}.core-energy-c{inset:28%;border:1px dashed rgba(255,255,255,.25);animation:coreEnergySpinV2 11s linear infinite}
.core-planet-rings{position:absolute;left:50%;top:50%;width:72%;height:72%;border-radius:50%;transform:translate(-50%,-50%);z-index:4;border:1px solid rgba(255,255,255,.34);box-shadow:0 0 20px rgba(74,215,255,.16),inset 0 0 18px rgba(241,85,188,.14);animation:coreEnergySpinV2 13s linear reverse infinite}
.core-planet-logo{position:absolute;left:50%;top:50%;width:46%;height:46%;transform:translate(-50%,-50%);object-fit:contain;z-index:8;filter:drop-shadow(0 0 18px rgba(255,255,255,.34)) drop-shadow(0 0 30px rgba(47,191,255,.26));animation:coreLogoPulseV2 3.6s ease-in-out infinite;user-select:none;pointer-events:none}
.core-planet-glass{position:absolute;inset:0;border-radius:50%;z-index:9;background:radial-gradient(circle at 26% 20%,rgba(255,255,255,.34),transparent 28%),linear-gradient(112deg,rgba(255,255,255,.15),transparent 31% 70%,rgba(2,8,62,.25));pointer-events:none}
.core-planet-shadow-v2{position:absolute;left:50%;bottom:7%;width:58%;height:10%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(57,61,162,.25),rgba(57,61,162,.07) 55%,transparent 76%);filter:blur(3px);z-index:1;animation:coreShadowPulseV2 5.5s ease-in-out infinite}
.core-orbit-path{position:absolute;left:50%;top:50%;border-radius:50%;z-index:2;pointer-events:none;box-shadow:0 0 14px rgba(74,201,255,.08)}
.core-path-a{width:91%;height:35%;transform:translate(-50%,-50%) rotate(-10deg);border:1.6px solid rgba(239,76,171,.36)}
.core-path-b{width:92%;height:57%;transform:translate(-50%,-50%) rotate(28deg);border:1.6px solid rgba(82,213,255,.34)}
.core-path-c{width:82%;height:50%;transform:translate(-50%,-50%) rotate(-37deg);border:1.6px solid rgba(174,91,245,.31)}
.core-path-d{width:72%;height:86%;transform:translate(-50%,-50%) rotate(12deg);border:1.3px solid rgba(227,91,193,.22)}
.core-orbit-path::after{content:"";position:absolute;top:50%;left:-4px;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 12px rgba(150,242,255,.95),0 0 18px rgba(89,211,255,.6)}
.brand-orbit{position:absolute;left:50%;top:50%;width:1px;height:1px;z-index:8;transform-origin:center;will-change:transform}
.brand-satellite-v2{position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:center;gap:5px;will-change:transform}
.brand-satellite-v2 svg{width:27px;height:27px;fill:currentColor;display:block;filter:drop-shadow(0 4px 7px rgba(44,39,124,.14))}.brand-satellite-v2 svg .screen{fill:#fff;opacity:.88}
.brand-satellite-v2 span{font-size:9px;font-weight:800;color:#27243c;background:rgba(255,255,255,.94);border:1px solid rgba(234,235,246,.98);border-radius:999px;padding:5px 9px;box-shadow:0 7px 20px rgba(43,38,103,.12);white-space:nowrap}
.brand-orbit-trip{animation:orbitTripV2 15s linear infinite}.brand-orbit-trip .brand-satellite-v2{transform:translateX(265px) rotate(0deg)}.trip-satellite{color:#ef3f91}
.brand-orbit-med{animation:orbitMedV2 18s linear infinite}.brand-orbit-med .brand-satellite-v2{transform:translateX(252px) rotate(0deg)}.med-satellite{color:#d438a7}
.brand-orbit-edu{animation:orbitEduV2 21s linear infinite}.brand-orbit-edu .brand-satellite-v2{transform:translateX(248px) rotate(0deg)}.edu-satellite{color:#8146e7}
.brand-orbit-it{animation:orbitItV2 24s linear infinite}.brand-orbit-it .brand-satellite-v2{transform:translateX(242px) rotate(0deg)}.it-satellite{color:#0a9ee8}
.brand-orbit-design{animation:orbitDesignV2 27s linear infinite}.brand-orbit-design .brand-satellite-v2{transform:translateX(257px) rotate(0deg)}.design-satellite{color:#ec3f9f}
@keyframes corePlanetTurnV2{to{transform:rotate(-360deg)}}
@keyframes corePlanetFloatV2{50%{transform:translate(-50%,-52%) rotate(-1deg)}}
@keyframes coreMeshPulseV2{50%{opacity:.48}}
@keyframes coreEnergySpinV2{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes coreLogoPulseV2{50%{transform:translate(-50%,-50%) scale(1.055);filter:drop-shadow(0 0 24px rgba(255,255,255,.48)) drop-shadow(0 0 36px rgba(49,193,255,.35))}}
@keyframes coreShadowPulseV2{50%{transform:translateX(-50%) scale(.92);opacity:.72}}
@keyframes coreGlowPulse{50%{transform:scale(1.08);opacity:.78}}
@keyframes orbitTripV2{from{transform:rotate(-14deg)}to{transform:rotate(346deg)}}
@keyframes orbitMedV2{from{transform:rotate(72deg) scaleY(.64)}to{transform:rotate(432deg) scaleY(.64)}}
@keyframes orbitEduV2{from{transform:rotate(145deg) scaleY(.78)}to{transform:rotate(505deg) scaleY(.78)}}
@keyframes orbitItV2{from{transform:rotate(218deg) scaleY(.58)}to{transform:rotate(578deg) scaleY(.58)}}
@keyframes orbitDesignV2{from{transform:rotate(292deg) scaleY(.84)}to{transform:rotate(652deg) scaleY(.84)}}
@media(max-width:980px){.core-orbit-system-v2{width:560px;max-width:100%}.hero-visual{height:540px!important}}
@media(max-width:760px){.core-orbit-system-v2{width:455px;max-width:124%;transform:scale(.88)}.hero-visual{height:430px!important}}
@media(max-width:520px){.core-orbit-system-v2{width:390px;max-width:132%;transform:scale(.82)}.hero-visual{height:360px!important}.brand-satellite-v2 svg{width:23px;height:23px}.brand-satellite-v2 span{font-size:8px;padding:4px 7px}}
@media(prefers-reduced-motion:reduce){.core-planet-v2,.core-planet-v2::before,.core-planet-mesh,.core-energy-c,.core-planet-rings,.core-planet-logo,.core-planet-shadow-v2,.core-orbit-glow,.brand-orbit{animation-play-state:paused!important}}

/* Explicitly keep the requested Core Planet animation active on all devices. */
.core-planet-v2,.core-planet-v2::before,.core-planet-mesh,.core-energy-c,.core-planet-rings,.core-planet-logo,.core-planet-shadow-v2,.core-orbit-glow,.brand-orbit{animation-play-state:running!important}

/* =========================================================
   Orbit path correction + travel activity animations
   ========================================================= */
.brand-orbit{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  transform:none!important;
  transform-origin:initial!important;
  offset-rotate:0deg;
  animation:moveOnOrbit linear infinite!important;
  will-change:offset-distance;
}
.brand-satellite-v2{
  position:absolute!important;
  left:0!important;
  top:0!important;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  transform:translate(-50%,-50%)!important;
}
.brand-orbit-trip{offset-path:path('M 84 146 C 161 81, 420 80, 504 150 C 572 207, 551 299, 455 347 C 351 400, 196 399, 96 349 C 16 307, 16 210, 84 146');animation-duration:18s!important;animation-delay:-2s!important}
.brand-orbit-med{offset-path:path('M 116 122 C 198 88, 357 118, 455 214 C 529 286, 523 386, 440 441 C 334 510, 177 474, 94 384 C 26 309, 33 176, 116 122');animation-duration:21s!important;animation-delay:-7s!important}
.brand-orbit-edu{offset-path:path('M 432 122 C 492 158, 505 232, 472 300 C 442 364, 390 398, 330 405 C 394 367, 433 311, 453 241 C 463 203, 459 162, 432 122');animation-duration:16s!important;animation-delay:-4s!important}
.brand-orbit-it{offset-path:path('M 98 334 C 144 380, 215 409, 295 414 C 224 415, 147 392, 98 334 C 75 306, 66 270, 74 234 C 80 282, 85 310, 98 334');animation-duration:19s!important;animation-delay:-10s!important}
.brand-orbit-design{offset-path:path('M 327 404 C 399 403, 468 373, 519 320 C 493 369, 451 413, 385 438 C 351 452, 313 454, 278 446 C 293 438, 309 423, 327 404');animation-duration:17s!important;animation-delay:-8s!important}
@keyframes moveOnOrbit{from{offset-distance:0%}to{offset-distance:100%}}
/* visually align visible orbit lines closer to the requested artwork */
.core-path-a{width:88%!important;height:36%!important;transform:translate(-50%,-50%) rotate(8deg)!important;border-color:rgba(239,76,171,.34)!important}
.core-path-b{width:92%!important;height:58%!important;transform:translate(-50%,-50%) rotate(-18deg)!important;border-color:rgba(82,213,255,.34)!important}
.core-path-c{width:80%!important;height:52%!important;transform:translate(-50%,-50%) rotate(24deg)!important;border-color:rgba(174,91,245,.28)!important}
.core-path-d{width:70%!important;height:88%!important;transform:translate(-50%,-50%) rotate(14deg)!important;border-color:rgba(227,91,193,.18)!important}

/* Graphycore Travels division activity animation */
.travel-animation,.effect-travel{position:absolute;inset:0;z-index:3;opacity:0;transition:.3s;pointer-events:none}
.division-card:hover .travel-animation,.division-card:focus-within .travel-animation,.brand-card:hover .effect-travel{opacity:1}
.travel-animation .route,.effect-travel .route{
  position:absolute; border:2px dashed rgba(239,63,145,.38); border-radius:999px; 
}
.travel-animation .route-one{left:10%;top:24%;width:64%;height:42%;border-right-color:transparent;border-bottom-color:transparent;transform:rotate(-8deg)}
.travel-animation .route-two{left:28%;top:40%;width:46%;height:28%;border-left-color:transparent;border-top-color:transparent;transform:rotate(14deg)}
.effect-travel .route-one{left:12%;top:30%;width:58%;height:34%;border-right-color:transparent;border-bottom-color:transparent;transform:rotate(-10deg)}
.effect-travel .route-two{left:32%;top:46%;width:38%;height:22%;border-left-color:transparent;border-top-color:transparent;transform:rotate(14deg)}
.travel-animation .pin,.effect-travel .pin{position:absolute;width:11px;height:11px;border-radius:50%;background:linear-gradient(135deg,var(--pink),var(--cyan));box-shadow:0 0 0 4px rgba(255,255,255,.8),0 6px 14px rgba(74,51,167,.18)}
.travel-animation .pin::after,.effect-travel .pin::after{content:'';position:absolute;left:50%;top:100%;width:2px;height:7px;background:linear-gradient(180deg,var(--pink),transparent);transform:translateX(-50%)}
.travel-animation .pin-one{left:14%;top:54%}.travel-animation .pin-two{left:43%;top:22%}.travel-animation .pin-three{right:18%;top:48%}
.effect-travel .pin-one{left:17%;top:57%}.effect-travel .pin-two{right:22%;top:34%}
.travel-animation .travel-plane,.effect-travel .travel-plane{position:absolute;width:34px;height:34px;fill:currentColor;color:var(--pink);filter:drop-shadow(0 4px 10px rgba(92,38,170,.24));offset-rotate:auto;offset-distance:0%;animation:travelRouteMove 4.4s linear infinite}
.travel-animation .travel-plane{offset-path:path('M 40 108 C 78 84, 121 52, 174 44 C 226 37, 295 60, 332 92 C 349 106, 360 121, 378 132')}
.effect-travel .travel-plane{width:28px;height:28px;offset-path:path('M 34 92 C 69 72, 104 50, 148 48 C 193 46, 238 71, 270 98')}
.travel-animation .travel-ticket,.effect-travel .travel-badge{position:absolute;right:10%;bottom:20%;width:58px;height:28px;border-radius:10px;background:linear-gradient(135deg,rgba(239,63,145,.16),rgba(8,170,232,.12));border:1px solid rgba(147,103,241,.24);box-shadow:0 10px 18px rgba(72,51,167,.08);animation:ticketPulse 2.4s ease-in-out infinite}
.travel-animation .travel-ticket::before,.effect-travel .travel-badge::before{content:'';position:absolute;left:12px;top:8px;width:22px;height:2px;background:linear-gradient(90deg,var(--pink),var(--cyan));box-shadow:0 6px 0 rgba(115,40,218,.48)}
.travel-animation .travel-ticket::after,.effect-travel .travel-badge::after{content:'';position:absolute;right:10px;top:6px;width:8px;height:8px;border-radius:50%;background:rgba(239,63,145,.7);box-shadow:0 0 0 3px rgba(8,170,232,.14)}
.effect-travel .travel-badge{right:10%;bottom:18%;width:48px;height:24px}
@keyframes travelRouteMove{0%{offset-distance:0%;opacity:0}10%{opacity:1}90%{opacity:1}100%{offset-distance:100%;opacity:0}}
@keyframes ticketPulse{50%{transform:translateY(-4px);box-shadow:0 14px 22px rgba(72,51,167,.12)}}

/* keep old generic airplane hidden where not needed */
.travel-animation > svg:not(.travel-plane),.effect-travel > svg:not(.travel-plane){display:none!important}

@media(max-width:760px){
  .brand-satellite-v2 span{font-size:8px;padding:4px 7px}
  .brand-satellite-v2 svg{width:22px;height:22px}
  .brand-orbit-trip,.brand-orbit-med,.brand-orbit-edu,.brand-orbit-it,.brand-orbit-design{animation-duration:18s!important}
}
@supports not (offset-path:path('M0 0 L1 1')){
  .brand-orbit-trip{animation:orbitTripV2 15s linear infinite!important}
  .brand-orbit-trip .brand-satellite-v2{transform:translateX(265px)!important}
  .brand-orbit-med{animation:orbitMedV2 18s linear infinite!important}
  .brand-orbit-med .brand-satellite-v2{transform:translateX(252px)!important}
  .brand-orbit-edu{animation:orbitEduV2 21s linear infinite!important}
  .brand-orbit-edu .brand-satellite-v2{transform:translateX(248px)!important}
  .brand-orbit-it{animation:orbitItV2 24s linear infinite!important}
  .brand-orbit-it .brand-satellite-v2{transform:translateX(242px)!important}
  .brand-orbit-design{animation:orbitDesignV2 27s linear infinite!important}
  .brand-orbit-design .brand-satellite-v2{transform:translateX(257px)!important}
}

/* =========================================================
   Production mobile-responsive layout — 2026-07-31
   Keeps the 590px animation coordinate system and scales it
   as one unit so every satellite remains on its orbit path.
   ========================================================= */
html,body{max-width:100%;overflow-x:hidden}
.hero-grid,.two-col,.division-grid,.brand-grid,.feature-grid,.contact-shell,.footer-grid{min-width:0}
.hero-copy,.hero-visual,.division-card,.brand-card,.contact-copy,.contact-form{min-width:0}

/* Large tablet / small laptop */
@media (max-width:1100px){
  .container{width:min(100% - 48px,980px)}
  .main-nav{gap:20px}
  .nav-wrap{gap:20px}
  .hero-grid{grid-template-columns:minmax(0,1fr) minmax(430px,.92fr);gap:18px}
  .hero h1{font-size:clamp(50px,6.4vw,70px)}
  .contact-shell{gap:38px;padding:44px}
}

/* Tablet: stack the hero and all major two-column layouts */
@media (max-width:920px){
  html{scroll-padding-top:78px}
  .container{width:min(100% - 40px,760px)}
  .site-header{height:78px}
  .brand{width:190px}.brand img{height:52px}
  .desktop-cta{display:none}
  .nav-toggle{display:block;margin-left:auto;position:relative;z-index:103}
  .main-nav{
    position:absolute;left:20px;right:20px;top:78px;z-index:102;
    display:grid;gap:4px;margin:0;padding:16px;
    background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:18px;
    box-shadow:0 20px 55px rgba(40,29,91,.16);
    opacity:0;visibility:hidden;transform:translateY(-10px);pointer-events:none;transition:.24s ease
  }
  .main-nav.open{opacity:1;visibility:visible;transform:none;pointer-events:auto}
  .main-nav a{padding:13px 14px;border-radius:10px}.main-nav a:hover{background:#f6f4ff}.main-nav a::after{display:none}
  .nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

  .section{padding:86px 0}
  .hero{padding-top:48px}
  .hero-grid{grid-template-columns:1fr;gap:20px;min-height:0}
  .hero-copy{text-align:center;max-width:720px;margin:0 auto}
  .hero-copy>p{max-width:650px;margin:22px auto 28px}
  .hero-actions,.hero-points{justify-content:center}
  .hero-visual{height:510px;width:100%;overflow:hidden}
  .core-orbit-system-v2{
    --mobile-planet-scale:.82;
    width:590px!important;max-width:none!important;flex:0 0 590px;
    transform:scale(var(--mobile-planet-scale))!important;transform-origin:center center
  }
  .stat-strip{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:-12px}
  .stat-strip div{border-bottom:1px solid var(--line)}
  .stat-strip div:nth-child(2){border-right:0}.stat-strip div:nth-child(3),.stat-strip div:nth-child(4){border-bottom:0}

  .two-col,.division-grid,.contact-shell{grid-template-columns:1fr}
  .two-col{gap:28px}.section-heading{text-align:center}.about-copy{text-align:center;max-width:700px;margin:auto}
  .division-grid{max-width:700px;margin:auto}
  .brand-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}
  .brand-grid.three .brand-card:last-child{grid-column:1/-1;max-width:calc(50% - 12px);width:100%;justify-self:center}
  .brand-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-shell{gap:42px;padding:42px}
  .contact-copy{text-align:center}.contact-list,.address-card{text-align:left}.address-card{justify-content:center}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Phones */
@media (max-width:640px){
  .container{width:min(100% - 28px,560px)}
  .section{padding:68px 0}
  .site-header{height:72px}.brand{width:164px}.brand img{height:46px}
  .main-nav{left:14px;right:14px;top:72px}
  .hero{padding-top:38px}
  .eyebrow{font-size:10px;line-height:1.5;letter-spacing:1.15px;margin-bottom:12px}
  .hero h1{font-size:clamp(40px,12vw,54px);line-height:1.01;letter-spacing:-2.1px}
  .hero-copy>p{font-size:16px;line-height:1.65;margin:20px auto 24px}
  .hero-actions{display:grid;grid-template-columns:1fr;width:100%;gap:11px}.hero-actions .btn{width:100%}
  .hero-points{gap:8px 13px;margin-top:20px}.hero-points span{font-size:11px}
  .hero-visual{height:390px;margin-top:2px;overflow:hidden}
  .core-orbit-system-v2{
    --mobile-planet-scale:.60;
    width:590px!important;height:590px!important;max-width:none!important;flex-basis:590px;
    transform:scale(var(--mobile-planet-scale))!important
  }
  .brand-satellite-v2 span{font-size:9px!important;padding:5px 9px!important}
  .brand-satellite-v2 svg{width:27px!important;height:27px!important}

  .stat-strip{grid-template-columns:1fr;margin-top:-8px;border-radius:18px}
  .stat-strip div{padding:18px 20px;border-right:0!important;border-bottom:1px solid var(--line)!important;text-align:center}
  .stat-strip div:last-child{border-bottom:0!important}.stat-strip strong{font-size:27px}

  .section-heading.center{margin-bottom:36px}.section-heading h2,.contact h2{font-size:clamp(32px,9vw,42px);letter-spacing:-1.4px}
  .about-copy p{font-size:16px;line-height:1.7}
  .division-card,.brand-card{padding:22px;border-radius:20px}
  .division-logo-frame{height:145px}.division-logo-frame>img{width:92%;height:100px}
  .division-card p,.brand-card p{min-height:0}
  .service-tags{gap:6px;margin:16px 0 22px}.service-tags span{font-size:10px;padding:7px 9px}

  .brand-group{margin-top:50px}.group-title{text-align:center}.group-title h3{font-size:25px}
  .brand-grid.three,.brand-grid.two{grid-template-columns:1fr}
  .brand-grid.three .brand-card:last-child{grid-column:auto;max-width:none}
  .brand-logo-frame{height:132px;padding:14px}.brand-logo-frame>img{width:92%;height:88px}
  .brand-card h4{font-size:20px}.brand-card p{font-size:14px}
  .feature-grid{grid-template-columns:1fr}.feature{padding:25px}.feature h3{margin-top:22px}
  .contact-shell{padding:25px 18px;border-radius:22px;gap:32px}
  .contact-list a{display:block;text-align:left}.contact-list strong{display:block;margin-top:5px;overflow-wrap:anywhere}
  .address-card{font-size:13px;text-align:left}.map-wrap{height:200px}
  .contact-form input,.contact-form select,.contact-form textarea{font-size:16px} /* prevents iOS zoom */
  .footer{padding:52px 0 22px}.footer-grid{grid-template-columns:1fr;gap:28px;text-align:center}
  .footer-logo{margin:auto}.footer-bottom{flex-direction:column;gap:18px;text-align:center}.back-to-top{align-self:center!important}
  .social-float{right:10px;top:auto;bottom:12px;display:flex;gap:8px}.social-float a{width:43px;height:43px}
}

/* Very small phones */
@media (max-width:380px){
  .container{width:min(100% - 22px,360px)}
  .hero h1{font-size:39px}
  .hero-visual{height:350px}
  .core-orbit-system-v2{--mobile-planet-scale:.53}
  .division-card,.brand-card{padding:18px}
  .contact-shell{padding:22px 14px}
}

/* Landscape phones: prevent an excessively tall hero */
@media (max-height:520px) and (orientation:landscape) and (max-width:920px){
  .hero-grid{grid-template-columns:1fr 1fr;text-align:left;align-items:center}
  .hero-copy{text-align:left}.hero-copy>p{margin-left:0}.hero-actions,.hero-points{justify-content:flex-start}
  .hero-visual{height:350px}.core-orbit-system-v2{--mobile-planet-scale:.57}
}

@media (max-width:640px) and (hover:none){
  .travel-animation,.tech-animation,.brand-effect{opacity:.52}
  .division-card:active .division-animation,.brand-card:active .brand-effect{opacity:1}
}


/* =========================================================
   Orbit alignment + centered mobile core planet fix
   ========================================================= */
.hero-grid{align-items:center}
.hero-visual{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  width:100%!important;
  overflow:visible!important;
}
.core-orbit-system-v2{
  position:relative!important;
  margin-inline:auto!important;
  left:auto!important;
  right:auto!important;
}

/* Keep every satellite locked to the visible orbit path */
.brand-orbit{
  position:absolute!important;
  left:0!important;
  top:0!important;
  width:0!important;
  height:0!important;
  inset:auto!important;
  offset-anchor:0 0;
  transform:none!important;
  transform-origin:0 0!important;
  will-change:offset-distance;
}
.brand-satellite-v2{
  position:absolute!important;
  left:0!important;
  top:0!important;
  transform:translate(-50%,-50%)!important;
}
/* Orbit paths tuned to the drawn orbit rings on desktop */
.brand-orbit-trip{offset-path:path('M 88 158 C 168 90, 426 88, 508 154 C 565 201, 562 289, 478 343 C 379 407, 202 409, 100 355 C 19 312, 15 218, 88 158')!important;animation-duration:18s!important;animation-delay:-2s!important}
.brand-orbit-med{offset-path:path('M 118 125 C 197 92, 361 120, 460 212 C 537 284, 532 390, 444 444 C 340 508, 176 480, 92 387 C 29 319, 33 180, 118 125')!important;animation-duration:21s!important;animation-delay:-7s!important}
.brand-orbit-edu{offset-path:path('M 438 128 C 492 165, 504 233, 474 296 C 445 358, 392 398, 331 405 C 394 369, 433 314, 452 245 C 462 207, 459 166, 438 128')!important;animation-duration:16s!important;animation-delay:-4s!important}
.brand-orbit-it{offset-path:path('M 100 336 C 146 381, 217 408, 295 411 C 222 412, 145 392, 100 336 C 75 306, 66 269, 75 230 C 80 280, 86 310, 100 336')!important;animation-duration:19s!important;animation-delay:-10s!important}
.brand-orbit-design{offset-path:path('M 328 405 C 400 403, 471 371, 520 319 C 493 370, 451 416, 386 439 C 352 452, 313 454, 278 445 C 293 438, 309 423, 328 405')!important;animation-duration:17s!important;animation-delay:-8s!important}

/* Orbit lines aligned with the same drawing space */
.core-path-a{width:88%!important;height:36%!important;transform:translate(-50%,-50%) rotate(9deg)!important}
.core-path-b{width:92%!important;height:58%!important;transform:translate(-50%,-50%) rotate(-18deg)!important}
.core-path-c{width:80%!important;height:52%!important;transform:translate(-50%,-50%) rotate(24deg)!important}
.core-path-d{width:70%!important;height:88%!important;transform:translate(-50%,-50%) rotate(14deg)!important}

/* Mobile centering and keeping whole orbit system visible */
@media (max-width:920px){
  .hero-visual{overflow:visible!important}
  .core-orbit-system-v2{
    width:560px!important;
    height:560px!important;
    max-width:none!important;
    transform:scale(.84)!important;
    transform-origin:center center!important;
    margin-inline:auto!important;
  }
}
@media (max-width:640px){
  .hero-grid{gap:10px!important}
  .hero-visual{
    height:430px!important;
    margin-top:6px!important;
    padding:0!important;
    overflow:visible!important;
  }
  .core-orbit-system-v2{
    width:540px!important;
    height:540px!important;
    transform:scale(.64)!important;
    transform-origin:center center!important;
    margin-inline:auto!important;
  }
  .brand-satellite-v2 svg{width:24px!important;height:24px!important}
  .brand-satellite-v2 span{font-size:8px!important;padding:4px 7px!important}
}
@media (max-width:480px){
  .hero-visual{height:390px!important}
  .core-orbit-system-v2{
    width:520px!important;
    height:520px!important;
    transform:scale(.58)!important;
  }
}
@media (max-width:380px){
  .hero-visual{height:360px!important}
  .core-orbit-system-v2{
    width:500px!important;
    height:500px!important;
    transform:scale(.52)!important;
  }
}
@supports not (offset-path:path('M0 0 L1 1')){
  .brand-orbit{width:100%!important;height:100%!important;left:50%!important;top:50%!important}
}

/* =========================================================
   Activity-based animations for divisions and brands
   ========================================================= */
.division-animation.activity-scene,.brand-effect.brand-activity{
  position:absolute;inset:0;pointer-events:none;overflow:hidden;
  opacity:.32!important;transition:opacity .28s ease,filter .28s ease;
}
.division-card:hover .activity-scene,.division-card:focus-within .activity-scene,
.brand-card:hover .brand-activity,.brand-card:focus-visible .brand-activity{
  opacity:1!important;filter:saturate(1.08)
}

/* ---------- Graphycore Travels: ticketing + tours + medical + education ---------- */
.activity-travels .activity-route{position:absolute;border:2px dashed rgba(232,59,147,.42);border-radius:50%;z-index:1}
.activity-travels .route-main{left:7%;top:23%;width:68%;height:48%;transform:rotate(-7deg);border-right-color:transparent;border-bottom-color:transparent}
.activity-travels .route-return{left:34%;top:40%;width:47%;height:31%;transform:rotate(15deg);border-left-color:transparent;border-top-color:transparent;border-color:rgba(8,170,232,.36);border-left-color:transparent;border-top-color:transparent}
.activity-travels .activity-pin{position:absolute;width:11px;height:11px;border-radius:50%;z-index:2;background:linear-gradient(135deg,var(--pink),var(--cyan));box-shadow:0 0 0 4px rgba(255,255,255,.82),0 0 18px rgba(115,40,218,.25);animation:activityPinPulse 1.9s ease-in-out infinite}
.activity-travels .pin-a{left:12%;top:57%}.activity-travels .pin-b{left:43%;top:22%;animation-delay:.45s}.activity-travels .pin-c{right:18%;top:50%;animation-delay:.9s}
.activity-travels .activity-plane{position:absolute;z-index:4;width:34px;height:34px;fill:var(--pink);filter:drop-shadow(0 5px 9px rgba(83,47,164,.25));offset-path:path('M 35 119 C 88 85, 140 46, 209 42 C 269 39, 326 66, 375 112');offset-rotate:auto;animation:divisionTravelPlane 4.8s linear infinite}
.activity-travels .activity-ticket{position:absolute;right:8%;bottom:12%;width:58px;height:31px;border-radius:9px;z-index:3;background:linear-gradient(135deg,rgba(239,63,145,.17),rgba(8,170,232,.13));border:1px solid rgba(115,40,218,.24);box-shadow:0 9px 20px rgba(52,38,122,.10);animation:activityFloat 2.8s ease-in-out infinite}
.activity-travels .activity-ticket i{position:absolute;left:10px;top:8px;width:25px;height:2px;background:linear-gradient(90deg,var(--pink),var(--cyan));box-shadow:0 7px 0 rgba(115,40,218,.42)}
.activity-travels .activity-ticket b{position:absolute;right:8px;top:7px;width:8px;height:8px;border-radius:50%;background:var(--pink);box-shadow:0 0 0 3px rgba(8,170,232,.14)}
.activity-travels .activity-medical{position:absolute;left:8%;top:16%;z-index:3;width:29px;height:29px;border-radius:10px;display:grid;place-items:center;color:#fff;font-size:22px;font-weight:600;background:linear-gradient(135deg,var(--pink),var(--purple));box-shadow:0 7px 18px rgba(192,45,151,.18);animation:medicalActivityPulse 2.2s ease-in-out infinite}
.activity-travels .activity-cap{position:absolute;right:10%;top:12%;z-index:3;width:31px;height:31px;fill:var(--purple);filter:drop-shadow(0 5px 8px rgba(94,48,170,.18));animation:capActivityFloat 2.9s ease-in-out infinite}

/* ---------- Graphycore Consultancy: IT + cloud + cybersecurity + design ---------- */
.activity-consultancy .activity-monitor{position:absolute;left:15%;top:25%;width:92px;height:57px;border:2px solid rgba(59,81,203,.55);border-radius:10px;background:linear-gradient(135deg,rgba(36,54,158,.08),rgba(8,170,232,.08));box-shadow:0 10px 25px rgba(42,48,143,.10);z-index:2;overflow:hidden}
.activity-consultancy .activity-monitor::after{content:"";position:absolute;left:32px;bottom:-10px;width:28px;height:10px;border-top:2px solid rgba(59,81,203,.5);border-left:2px solid transparent;border-right:2px solid transparent}
.activity-consultancy .activity-monitor i{position:absolute;left:12px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--purple),var(--cyan));animation:codeLineFlow 2.2s ease-in-out infinite}
.activity-consultancy .activity-monitor i:nth-child(1){top:13px;width:54px}.activity-consultancy .activity-monitor i:nth-child(2){top:24px;width:35px;animation-delay:.35s}.activity-consultancy .activity-monitor i:nth-child(3){top:35px;width:63px;animation-delay:.7s}
.activity-consultancy .activity-monitor b{position:absolute;right:8px;top:10px;width:6px;height:6px;border-radius:50%;background:var(--pink);box-shadow:0 0 0 4px rgba(239,63,145,.1)}
.activity-consultancy .activity-scan{position:absolute;left:15%;top:25%;width:92px;height:3px;z-index:3;background:linear-gradient(90deg,transparent,#fff,var(--cyan),transparent);box-shadow:0 0 12px rgba(8,170,232,.55);animation:consultancyScan 2.7s linear infinite}
.activity-consultancy .activity-node{position:absolute;width:10px;height:10px;border-radius:50%;z-index:3;background:linear-gradient(135deg,var(--pink),var(--cyan));box-shadow:0 0 0 4px rgba(255,255,255,.75),0 0 15px rgba(8,170,232,.35);animation:techNodePulse 2s ease-in-out infinite}
.activity-consultancy .node-a{right:18%;top:25%}.activity-consultancy .node-b{right:9%;top:57%;animation-delay:.4s}.activity-consultancy .node-c{left:42%;bottom:16%;animation-delay:.8s}.activity-consultancy .node-d{left:9%;bottom:20%;animation-delay:1.2s}
.activity-consultancy .activity-link{position:absolute;height:1px;z-index:1;background:linear-gradient(90deg,rgba(115,40,218,.08),rgba(8,170,232,.55),rgba(239,63,145,.08));transform-origin:left center;animation:linkDataFlow 2.4s linear infinite}
.activity-consultancy .link-a{left:38%;top:36%;width:42%;transform:rotate(-10deg)}.activity-consultancy .link-b{left:35%;top:57%;width:52%;transform:rotate(12deg);animation-delay:.5s}.activity-consultancy .link-c{left:20%;top:70%;width:40%;transform:rotate(-5deg);animation-delay:1s}
.activity-consultancy .activity-shield{position:absolute;right:13%;top:15%;width:30px;height:30px;z-index:4;fill:var(--cyan);filter:drop-shadow(0 5px 9px rgba(28,139,210,.2));animation:shieldActivityPulse 2.5s ease-in-out infinite}
.activity-consultancy .activity-pen{position:absolute;right:11%;bottom:11%;width:31px;height:31px;z-index:4;fill:var(--pink);filter:drop-shadow(0 5px 9px rgba(202,48,151,.18));animation:penActivityDraw 3.2s ease-in-out infinite}

/* ---------- Triptcore: flight route + ticket ---------- */
.activity-triptcore .trip-route{position:absolute;left:10%;top:31%;width:70%;height:43%;border:2px dashed rgba(239,63,145,.42);border-radius:50%;border-right-color:transparent;border-bottom-color:transparent;transform:rotate(-8deg)}
.activity-triptcore .trip-pin{position:absolute;width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,var(--pink),var(--cyan));box-shadow:0 0 0 4px rgba(255,255,255,.8);animation:activityPinPulse 1.8s ease-in-out infinite}
.activity-triptcore .trip-pin-a{left:16%;top:59%}.activity-triptcore .trip-pin-b{right:20%;top:33%;animation-delay:.7s}
.activity-triptcore .trip-plane{position:absolute;width:29px;height:29px;fill:var(--pink);filter:drop-shadow(0 5px 8px rgba(82,46,157,.22));offset-path:path('M 35 91 C 79 70, 126 45, 181 46 C 225 46, 258 64, 292 92');offset-rotate:auto;animation:brandTravelPlane 4s linear infinite}
.activity-triptcore .trip-ticket{position:absolute;right:8%;bottom:12%;width:47px;height:25px;border-radius:8px;background:linear-gradient(135deg,rgba(239,63,145,.18),rgba(8,170,232,.13));border:1px solid rgba(115,40,218,.22);animation:activityFloat 2.6s ease-in-out infinite}
.activity-triptcore .trip-ticket i{position:absolute;left:8px;top:7px;width:19px;height:2px;background:linear-gradient(90deg,var(--pink),var(--cyan));box-shadow:0 6px 0 rgba(115,40,218,.42)}
.activity-triptcore .trip-ticket b{position:absolute;right:7px;top:6px;width:7px;height:7px;border-radius:50%;background:var(--pink)}

/* ---------- Medicore: heartbeat + medical support ---------- */
.activity-medicore .medical-cross{position:absolute;right:12%;top:16%;width:31px;height:31px;border-radius:10px;display:grid;place-items:center;font-size:23px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--pink),var(--purple));box-shadow:0 7px 18px rgba(196,45,155,.2);animation:medicalActivityPulse 2s ease-in-out infinite}
.activity-medicore .medical-ecg{position:absolute;left:7%;right:7%;top:55%;height:32px;overflow:hidden}
.activity-medicore .medical-ecg::before{content:"";position:absolute;left:0;right:0;top:15px;height:2px;background:rgba(219,57,160,.14)}
.activity-medicore .medical-ecg i{position:absolute;left:-15%;top:2px;width:125%;height:27px;background:linear-gradient(90deg,transparent 0 5%,var(--pink) 5% 12%,transparent 12% 17%,var(--pink) 17% 18%,transparent 18% 24%,var(--pink) 24% 25%,transparent 25% 31%,var(--purple) 31% 35%,transparent 35% 45%,var(--cyan) 45% 48%,transparent 48%);clip-path:polygon(0 48%,13% 48%,18% 48%,22% 12%,26% 85%,30% 44%,40% 48%,100% 48%);animation:ecgMove 2.2s linear infinite}
.activity-medicore .medical-dot{position:absolute;left:15%;bottom:16%;width:14px;height:14px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 5px rgba(8,170,232,.12);animation:medicalDotPulse 1.6s ease-in-out infinite}

/* ---------- Educore: graduation + learning ---------- */
.activity-educore .edu-book{position:absolute;left:12%;bottom:14%;width:72px;height:38px;perspective:100px}
.activity-educore .edu-book::before,.activity-educore .edu-book::after{content:"";position:absolute;top:4px;width:35px;height:30px;background:linear-gradient(135deg,rgba(115,40,218,.14),rgba(8,170,232,.08));border:1px solid rgba(115,40,218,.28)}
.activity-educore .edu-book::before{left:0;border-radius:8px 2px 2px 8px;transform-origin:right center;animation:bookPageLeft 2.8s ease-in-out infinite}
.activity-educore .edu-book::after{right:0;border-radius:2px 8px 8px 2px;transform-origin:left center;animation:bookPageRight 2.8s ease-in-out infinite}
.activity-educore .edu-book i,.activity-educore .edu-book b{position:absolute;z-index:2;top:13px;width:22px;height:2px;background:rgba(115,40,218,.35);box-shadow:0 7px 0 rgba(8,170,232,.22)}
.activity-educore .edu-book i{left:7px}.activity-educore .edu-book b{right:7px}
.activity-educore .edu-cap{position:absolute;right:14%;top:17%;width:39px;height:39px;fill:var(--purple);filter:drop-shadow(0 6px 9px rgba(90,49,174,.2));animation:capActivityFloat 2.3s ease-in-out infinite}
.activity-educore .edu-star{position:absolute;color:var(--pink);font-size:16px;animation:eduStarBlink 1.8s ease-in-out infinite}.activity-educore .star-a{right:9%;top:10%}.activity-educore .star-b{left:24%;top:19%;animation-delay:.7s}

/* ---------- iCore: computer + network + data ---------- */
.activity-icore .it-monitor{position:absolute;left:16%;top:22%;width:86px;height:56px;border:2px solid rgba(44,74,195,.55);border-radius:9px;background:linear-gradient(135deg,rgba(30,49,147,.07),rgba(8,170,232,.09));overflow:hidden;box-shadow:0 9px 20px rgba(44,51,152,.1)}
.activity-icore .it-monitor::after{content:"";position:absolute;left:31px;bottom:-9px;width:24px;height:9px;border-top:2px solid rgba(44,74,195,.5)}
.activity-icore .it-monitor i{position:absolute;left:10px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--purple),var(--cyan));animation:codeLineFlow 2s ease-in-out infinite}.activity-icore .it-monitor i:nth-child(1){top:13px;width:50px}.activity-icore .it-monitor i:nth-child(2){top:24px;width:32px;animation-delay:.4s}.activity-icore .it-monitor i:nth-child(3){top:35px;width:58px;animation-delay:.8s}
.activity-icore .it-monitor b{position:absolute;right:7px;top:8px;width:6px;height:6px;border-radius:50%;background:var(--pink)}
.activity-icore .it-scan{position:absolute;left:16%;top:23%;width:86px;height:3px;background:linear-gradient(90deg,transparent,#fff,var(--cyan),transparent);box-shadow:0 0 10px rgba(8,170,232,.55);animation:itScan 2.5s linear infinite}
.activity-icore .it-node{position:absolute;width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,var(--purple),var(--cyan));box-shadow:0 0 0 4px rgba(255,255,255,.75),0 0 15px rgba(8,170,232,.3);animation:techNodePulse 1.8s ease-in-out infinite}.activity-icore .node-a{right:16%;top:25%}.activity-icore .node-b{right:11%;bottom:18%;animation-delay:.5s}.activity-icore .node-c{left:38%;bottom:12%;animation-delay:1s}
.activity-icore .it-packet{position:absolute;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 9px var(--cyan)}.activity-icore .packet-a{left:44%;top:43%;animation:dataPacketA 2.2s linear infinite}.activity-icore .packet-b{right:19%;top:51%;animation:dataPacketB 2.7s linear infinite}

/* ---------- dCore: drawing + branding + color ---------- */
.activity-dcore .design-pen{position:absolute;left:13%;top:18%;width:36px;height:36px;fill:var(--pink);filter:drop-shadow(0 5px 9px rgba(198,48,151,.2));animation:designPenMove 3.4s ease-in-out infinite}
.activity-dcore .design-stroke{position:absolute;left:19%;top:57%;width:0;height:10px;border-radius:999px;background:linear-gradient(90deg,var(--pink),var(--purple),var(--cyan));box-shadow:0 5px 14px rgba(111,53,183,.15);animation:designStrokeDraw 3.4s ease-in-out infinite}
.activity-dcore .design-frame{position:absolute;right:13%;top:18%;width:65px;height:54px;border:2px solid rgba(115,40,218,.3);border-radius:12px;animation:designFramePulse 2.6s ease-in-out infinite}
.activity-dcore .design-frame::before,.activity-dcore .design-frame::after{content:"";position:absolute;width:12px;height:12px;border-style:solid;border-color:var(--cyan)}
.activity-dcore .design-frame::before{left:-2px;top:-2px;border-width:3px 0 0 3px;border-radius:6px 0 0 0}.activity-dcore .design-frame::after{right:-2px;bottom:-2px;border-width:0 3px 3px 0;border-radius:0 0 6px 0}
.activity-dcore .design-dot{position:absolute;width:13px;height:13px;border-radius:50%;box-shadow:0 5px 12px rgba(65,42,140,.13);animation:colorDotFloat 2.3s ease-in-out infinite}.activity-dcore .dot-a{right:12%;bottom:13%;background:var(--pink)}.activity-dcore .dot-b{right:24%;bottom:10%;background:var(--purple);animation-delay:.4s}.activity-dcore .dot-c{right:36%;bottom:14%;background:var(--cyan);animation-delay:.8s}

/* ---------- Shared activity keyframes ---------- */
@keyframes divisionTravelPlane{0%{offset-distance:0%;opacity:0}10%{opacity:1}88%{opacity:1}100%{offset-distance:100%;opacity:0}}
@keyframes brandTravelPlane{0%{offset-distance:0%;opacity:0}12%{opacity:1}88%{opacity:1}100%{offset-distance:100%;opacity:0}}
@keyframes activityPinPulse{50%{transform:scale(1.25);box-shadow:0 0 0 7px rgba(239,63,145,.08),0 0 18px rgba(8,170,232,.32)}}
@keyframes activityFloat{50%{transform:translateY(-5px) rotate(1deg)}}
@keyframes medicalActivityPulse{50%{transform:scale(1.12);box-shadow:0 0 0 8px rgba(239,63,145,.08),0 9px 20px rgba(192,45,151,.2)}}
@keyframes capActivityFloat{50%{transform:translateY(-8px) rotate(-5deg)}}
@keyframes codeLineFlow{0%,100%{transform:scaleX(.65);transform-origin:left;opacity:.55}50%{transform:scaleX(1);opacity:1}}
@keyframes consultancyScan{0%{transform:translateY(0);opacity:0}12%{opacity:1}88%{opacity:1}100%{transform:translateY(51px);opacity:0}}
@keyframes techNodePulse{50%{transform:scale(1.45);opacity:.55}}
@keyframes linkDataFlow{50%{filter:brightness(1.8);transform-origin:left center}}
@keyframes shieldActivityPulse{50%{transform:scale(1.1);filter:drop-shadow(0 0 12px rgba(8,170,232,.4))}}
@keyframes penActivityDraw{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(-12px,8px) rotate(-8deg)}}
@keyframes ecgMove{to{transform:translateX(52%)}}
@keyframes medicalDotPulse{50%{transform:scale(1.35);opacity:.55}}
@keyframes bookPageLeft{50%{transform:rotateY(-18deg)}}
@keyframes bookPageRight{50%{transform:rotateY(18deg)}}
@keyframes eduStarBlink{50%{transform:scale(1.35) rotate(15deg);opacity:.45}}
@keyframes itScan{0%{transform:translateY(0);opacity:0}12%{opacity:1}88%{opacity:1}100%{transform:translateY(50px);opacity:0}}
@keyframes dataPacketA{0%{transform:translate(0,0);opacity:0}20%{opacity:1}100%{transform:translate(88px,-18px);opacity:0}}
@keyframes dataPacketB{0%{transform:translate(0,0);opacity:0}20%{opacity:1}100%{transform:translate(-60px,46px);opacity:0}}
@keyframes designPenMove{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(54px,37px) rotate(-9deg)}}
@keyframes designStrokeDraw{0%,15%{width:0;opacity:0}40%,75%{width:118px;opacity:1}100%{width:118px;opacity:0}}
@keyframes designFramePulse{50%{transform:scale(1.05);border-color:rgba(8,170,232,.45)}}
@keyframes colorDotFloat{50%{transform:translateY(-7px)}}

/* Touch devices: keep activity visible without needing hover */
@media (hover:none){
  .division-animation.activity-scene,.brand-effect.brand-activity{opacity:.72!important}
}
@media(max-width:640px){
  .division-animation.activity-scene{transform:scale(.9);transform-origin:center}
  .brand-effect.brand-activity{transform:scale(.92);transform-origin:center}
}
@media(prefers-reduced-motion:reduce){
  .activity-scene *, .brand-activity *{animation-duration:10s!important}
}

/* =========================================================
   FINAL: show activity animations only on hover/focus
   Plain division/brand logos remain visible at all other times
   ========================================================= */
.division-animation.activity-scene,
.brand-effect.brand-activity{
  opacity:0!important;
  visibility:hidden!important;
  filter:none!important;
  transition:opacity .28s ease,visibility 0s linear .28s!important;
}
.division-animation.activity-scene *,
.division-animation.activity-scene *::before,
.division-animation.activity-scene *::after,
.brand-effect.brand-activity *,
.brand-effect.brand-activity *::before,
.brand-effect.brand-activity *::after{
  animation-play-state:paused!important;
}

/* Keep the normal logos fully visible before hover */
.division-logo-frame>img,
.brand-logo-frame>img{
  opacity:1!important;
  visibility:visible!important;
  transition:opacity .28s ease,transform .35s ease!important;
}

/* Desktop mouse/keyboard interaction */
@media (any-hover:hover){
  .division-card:hover .division-animation.activity-scene,
  .division-card:focus-within .division-animation.activity-scene,
  .brand-card:hover .brand-effect.brand-activity,
  .brand-card:focus-visible .brand-effect.brand-activity{
    opacity:1!important;
    visibility:visible!important;
    transition-delay:0s!important;
  }
  .division-card:hover .division-animation.activity-scene *,
  .division-card:hover .division-animation.activity-scene *::before,
  .division-card:hover .division-animation.activity-scene *::after,
  .division-card:focus-within .division-animation.activity-scene *,
  .division-card:focus-within .division-animation.activity-scene *::before,
  .division-card:focus-within .division-animation.activity-scene *::after,
  .brand-card:hover .brand-effect.brand-activity *,
  .brand-card:hover .brand-effect.brand-activity *::before,
  .brand-card:hover .brand-effect.brand-activity *::after,
  .brand-card:focus-visible .brand-effect.brand-activity *,
  .brand-card:focus-visible .brand-effect.brand-activity *::before,
  .brand-card:focus-visible .brand-effect.brand-activity *::after{
    animation-play-state:running!important;
  }
  .division-card:hover .division-logo-frame>img,
  .division-card:focus-within .division-logo-frame>img,
  .brand-card:hover .brand-logo-frame>img,
  .brand-card:focus-visible .brand-logo-frame>img{
    opacity:.20!important;
    transform:scale(.96)!important;
  }
}

/* Touch screens: show the plain logo; do not keep animations permanently visible */
@media (any-hover:none){
  .division-animation.activity-scene,
  .brand-effect.brand-activity{
    opacity:0!important;
    visibility:hidden!important;
  }
  .division-logo-frame>img,
  .brand-logo-frame>img{
    opacity:1!important;
    transform:none!important;
  }
}


/* =========================================================
   PRODUCTION V7 — reliable hover-only activity overlays
   New filename prevents old immutable CSS from being reused.
   ========================================================= */
.division-animation.activity-scene,
.brand-effect.brand-activity{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  pointer-events:none!important;
  opacity:0!important;
  visibility:hidden!important;
  z-index:3!important;
  transform:none!important;
  filter:none!important;
  transition:opacity .24s ease,visibility 0s linear .24s!important;
}
.division-animation.activity-scene svg,
.brand-effect.brand-activity svg{
  max-width:none;
  display:block;
}
.division-animation.activity-scene *,
.division-animation.activity-scene *::before,
.division-animation.activity-scene *::after,
.brand-effect.brand-activity *,
.brand-effect.brand-activity *::before,
.brand-effect.brand-activity *::after{
  animation-play-state:paused!important;
}
.division-logo-frame>img,
.brand-logo-frame>img{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}
@media (any-hover:hover){
  .division-card:hover .division-animation.activity-scene,
  .division-card:focus-within .division-animation.activity-scene,
  .brand-card:hover .brand-effect.brand-activity,
  .brand-card:focus-visible .brand-effect.brand-activity{
    opacity:1!important;
    visibility:visible!important;
    transition-delay:0s!important;
  }
  .division-card:hover .division-animation.activity-scene *,
  .division-card:hover .division-animation.activity-scene *::before,
  .division-card:hover .division-animation.activity-scene *::after,
  .division-card:focus-within .division-animation.activity-scene *,
  .division-card:focus-within .division-animation.activity-scene *::before,
  .division-card:focus-within .division-animation.activity-scene *::after,
  .brand-card:hover .brand-effect.brand-activity *,
  .brand-card:hover .brand-effect.brand-activity *::before,
  .brand-card:hover .brand-effect.brand-activity *::after,
  .brand-card:focus-visible .brand-effect.brand-activity *,
  .brand-card:focus-visible .brand-effect.brand-activity *::before,
  .brand-card:focus-visible .brand-effect.brand-activity *::after{
    animation-play-state:running!important;
  }
  .division-card:hover .division-logo-frame>img,
  .division-card:focus-within .division-logo-frame>img,
  .brand-card:hover .brand-logo-frame>img,
  .brand-card:focus-visible .brand-logo-frame>img{
    opacity:.24!important;
    transform:scale(.97)!important;
  }
}
@media (any-hover:none){
  .division-animation.activity-scene,
  .brand-effect.brand-activity{
    display:none!important;
    opacity:0!important;
    visibility:hidden!important;
  }
  .division-logo-frame>img,
  .brand-logo-frame>img{
    opacity:1!important;
    transform:none!important;
  }
}


/* =========================================================
   PRODUCTION V8 — tap-to-preview activity animation on mobile
   Desktop keeps normal mouse-hover behavior.
   ========================================================= */
@media (any-hover:none), (pointer:coarse){
  .division-animation.activity-scene,
  .brand-effect.brand-activity{
    display:block!important;
    opacity:0!important;
    visibility:hidden!important;
    transform:none!important;
    pointer-events:none!important;
    transition:opacity .24s ease,visibility 0s linear .24s!important;
  }

  .division-card.is-touch-active .division-animation.activity-scene,
  .brand-card.is-touch-active .brand-effect.brand-activity{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    transition-delay:0s!important;
  }

  .division-card.is-touch-active .division-animation.activity-scene *,
  .division-card.is-touch-active .division-animation.activity-scene *::before,
  .division-card.is-touch-active .division-animation.activity-scene *::after,
  .brand-card.is-touch-active .brand-effect.brand-activity *,
  .brand-card.is-touch-active .brand-effect.brand-activity *::before,
  .brand-card.is-touch-active .brand-effect.brand-activity *::after{
    animation-play-state:running!important;
  }

  .division-card.is-touch-active .division-logo-frame>img,
  .brand-card.is-touch-active .brand-logo-frame>img{
    opacity:.24!important;
    transform:scale(.97)!important;
  }

  .division-card,
  .brand-card{
    -webkit-tap-highlight-color:transparent;
  }
}

/* =========================================================
   PRODUCTION V9 — mobile orbit cleanup and logo touch actions
   Desktop hover presentation remains unchanged.
   ========================================================= */
@media (max-width:920px){
  /* Mobile Safari can render the blurred glow's compositor box as a square. */
  .core-orbit-system-v2{
    background:transparent!important;
    box-shadow:none!important;
    filter:none!important;
    isolation:auto!important;
  }
  .core-orbit-glow{
    display:none!important;
    opacity:0!important;
    filter:none!important;
    background:none!important;
    box-shadow:none!important;
  }
}

@media (any-hover:none), (pointer:coarse){
  .division-logo-frame,
  .brand-logo-frame{
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
    cursor:pointer;
  }

  /* Activity appears only after a logo-frame tap. */
  .division-card:not(.is-touch-active) .division-animation.activity-scene,
  .brand-card:not(.is-touch-active) .brand-effect.brand-activity{
    opacity:0!important;
    visibility:hidden!important;
  }

  .division-card.is-touch-active .division-animation.activity-scene,
  .brand-card.is-touch-active .brand-effect.brand-activity{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
  }
}

/* =========================================================
   PRODUCTION V10 — equal division and brand logo sizing
   Mobile/tablet only. Desktop remains unchanged.
   ========================================================= */
@media (max-width:920px){
  .division-logo-frame,
  .brand-logo-frame{
    width:100%!important;
    height:150px!important;
    min-height:150px!important;
    padding:16px!important;
    display:grid!important;
    place-items:center!important;
  }

  .division-logo-frame>img,
  .brand-logo-frame>img{
    display:block!important;
    width:min(78%,240px)!important;
    max-width:240px!important;
    height:100px!important;
    max-height:100px!important;
    object-fit:contain!important;
    object-position:center!important;
    margin:auto!important;
  }
}

@media (max-width:640px){
  .division-logo-frame,
  .brand-logo-frame{
    height:142px!important;
    min-height:142px!important;
    padding:14px!important;
  }

  .division-logo-frame>img,
  .brand-logo-frame>img{
    width:min(82%,225px)!important;
    max-width:225px!important;
    height:94px!important;
    max-height:94px!important;
  }
}

@media (max-width:380px){
  .division-logo-frame,
  .brand-logo-frame{
    height:134px!important;
    min-height:134px!important;
  }

  .division-logo-frame>img,
  .brand-logo-frame>img{
    width:min(84%,205px)!important;
    max-width:205px!important;
    height:88px!important;
    max-height:88px!important;
  }
}


/* =========================================================
   PRODUCTION V11 — reliable mobile tap activity state
   Fixes the equal-logo mobile rules overriding activity overlays.
   Desktop hover behavior remains unchanged.
   ========================================================= */
.division-card.is-touch-active .division-animation.activity-scene,
.brand-card.is-touch-active .brand-effect.brand-activity{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  z-index:5!important;
  transform:none!important;
  transition:opacity .22s ease!important;
}
.division-card.is-touch-active .division-animation.activity-scene *,
.division-card.is-touch-active .division-animation.activity-scene *::before,
.division-card.is-touch-active .division-animation.activity-scene *::after,
.brand-card.is-touch-active .brand-effect.brand-activity *,
.brand-card.is-touch-active .brand-effect.brand-activity *::before,
.brand-card.is-touch-active .brand-effect.brand-activity *::after{
  animation-play-state:running!important;
}
.division-card.is-touch-active .division-logo-frame>img,
.brand-card.is-touch-active .brand-logo-frame>img{
  opacity:.18!important;
  visibility:visible!important;
  transform:scale(.96)!important;
}
html.touch-activity-enabled .division-logo-frame,
html.touch-activity-enabled .brand-logo-frame{
  position:relative!important;
  overflow:hidden!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
  cursor:pointer!important;
}
html.touch-activity-enabled .division-card:not(.is-touch-active) .division-animation.activity-scene,
html.touch-activity-enabled .brand-card:not(.is-touch-active) .brand-effect.brand-activity{
  display:block!important;
  opacity:0!important;
  visibility:hidden!important;
}
@media (any-hover:hover) and (pointer:fine){
  html:not(.touch-activity-enabled) .division-card:hover .division-animation.activity-scene,
  html:not(.touch-activity-enabled) .division-card:focus-within .division-animation.activity-scene,
  html:not(.touch-activity-enabled) .brand-card:hover .brand-effect.brand-activity,
  html:not(.touch-activity-enabled) .brand-card:focus-visible .brand-effect.brand-activity{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
  }
}

/* Desktop sticky navigation — mobile/tablet behaviour remains unchanged */
@media (min-width: 921px){
  body{padding-top:88px}
  .site-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    z-index:1000!important;
  }
}
