:root{
  --bg:#030706;
  --bg2:#07110f;
  --panel:rgba(8,18,16,.78);
  --panel2:rgba(17,34,29,.68);
  --line:rgba(118,255,176,.18);
  --line2:rgba(255,255,255,.12);
  --text:#f4f7f2;
  --muted:#b2bbb5;
  --soft:#dce7da;
  --green:#6dffa9;
  --green2:#25c972;
  --green3:#102d21;
  --danger:#ff6b6b;
  --warn:#ffd26a;
  --shadow:0 30px 120px rgba(0,0,0,.68);
  --max:1770px;
  --mono:"Rajdhani","Orbitron",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --body:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;min-height:100vh;color:var(--text);font-family:var(--body);background:radial-gradient(circle at 50% 8%,rgba(34,255,157,.12),transparent 28%),linear-gradient(180deg,#020505,#060b0a 58%,#020504);overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-3;background-image:linear-gradient(rgba(109,255,169,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(109,255,169,.035) 1px,transparent 1px);background-size:62px 62px;mask-image:radial-gradient(circle at center,black,transparent 78%)}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:99;background:linear-gradient(rgba(255,255,255,.018) 50%,rgba(0,0,0,.055) 50%);background-size:100% 4px;mix-blend-mode:screen;opacity:.25}
a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}button,input,textarea,select{font:inherit}.skip{position:absolute;left:-999px}.skip:focus{left:14px;top:14px;z-index:9999;background:#fff;color:#000;padding:12px;border-radius:8px}.shell{width:min(var(--max),calc(100vw - 18px));margin:9px auto 18px;min-height:calc(100vh - 22px);border:1px solid rgba(109,255,169,.20);border-radius:0 0 22px 22px;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 34%,rgba(109,255,169,.11),transparent 28%),linear-gradient(180deg,rgba(1,7,6,.95),rgba(2,8,7,.94));box-shadow:var(--shadow)}
.shell::before{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.04);pointer-events:none}.shell-corners span{position:absolute;width:120px;height:68px;border-color:rgba(109,255,169,.24);pointer-events:none}.shell-corners span:nth-child(1){left:-2px;top:-2px;border-left:1px solid;border-top:1px solid;clip-path:polygon(0 0,100% 0,74% 100%,0 100%)}.shell-corners span:nth-child(2){right:-2px;top:-2px;border-right:1px solid;border-top:1px solid;clip-path:polygon(0 0,100% 0,100% 100%,26% 100%)}.cursor-glow{position:fixed;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(109,255,169,.16),transparent 62%);pointer-events:none;z-index:4;transform:translate(-50%,-50%);mix-blend-mode:screen;opacity:.62}.hud-canvas{position:absolute;inset:0;z-index:0;opacity:.55}.topbar{position:relative;z-index:12;height:112px;padding:20px 72px 0;display:grid;grid-template-columns:310px 1fr 230px;align-items:start;gap:24px;border-bottom:1px solid rgba(109,255,169,.09)}
.topbar::after{content:"";position:absolute;left:28px;right:28px;bottom:-1px;height:45px;border:1px solid rgba(109,255,169,.18);border-top:0;clip-path:polygon(0 0,20% 0,21.5% 35%,78.5% 35%,80% 0,100% 0,100% 100%,0 100%);opacity:.8;pointer-events:none}.brand-lock{display:flex;flex-direction:column;gap:2px;line-height:1}.brand-main{font-family:var(--mono);font-size:54px;letter-spacing:.06em;font-weight:700;color:#e7f1df;text-shadow:0 0 24px rgba(109,255,169,.22)}.brand-sub{font-family:var(--mono);font-size:17px;letter-spacing:.04em;color:#dbe5d7;text-transform:uppercase}.nav{justify-self:center;display:flex;align-items:center;gap:47px;font-family:var(--mono);font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:17px;padding-top:16px}.nav a{color:#e6eae6;opacity:.93;position:relative;transition:.22s}.nav a::after{content:"";position:absolute;left:0;right:0;bottom:-20px;height:3px;background:var(--green);box-shadow:0 0 17px rgba(109,255,169,.7);opacity:0;transform:scaleX(.25);transition:.22s}.nav a:hover,.nav a.active{color:var(--green)}.nav a:hover::after,.nav a.active::after{opacity:1;transform:scaleX(1)}.top-cta{justify-self:end;margin-top:10px;display:inline-flex;align-items:center;gap:14px;border:1px solid rgba(109,255,169,.54);border-radius:999px;padding:14px 21px 14px 25px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;background:rgba(109,255,169,.08);box-shadow:0 0 30px rgba(109,255,169,.12);transition:.25s}.top-cta span{width:31px;height:31px;display:grid;place-items:center;border:1px solid rgba(109,255,169,.6);border-radius:50%;font-size:22px}.top-cta:hover{transform:translateY(-2px);box-shadow:0 0 46px rgba(109,255,169,.25)}.mobile-toggle{display:none}.hero{position:relative;z-index:2;min-height:505px;padding:40px 72px 24px;display:grid;grid-template-columns:370px 1fr 110px;gap:20px}.hero-copy{padding-top:38px;position:relative;z-index:2}.hero-title{font-family:var(--mono);font-size:68px;line-height:.93;letter-spacing:.015em;margin:0 0 16px;font-weight:900;text-transform:uppercase}.hero-title span{display:block;text-shadow:0 0 24px rgba(255,255,255,.16)}.dot{color:var(--green);text-shadow:0 0 24px rgba(109,255,169,.85)}.hero-services{font-family:var(--mono);font-size:22px;letter-spacing:.21em;text-transform:uppercase;color:#f4f7f2;margin:0 0 16px}.hero-services b{color:var(--green);font-weight:900}.hero-copy p{margin:0 0 24px;color:#e1e6e0;font-size:17px;line-height:1.45}.button-row{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.cmd-btn{display:inline-flex;align-items:center;gap:16px;border:1px solid rgba(109,255,169,.58);border-radius:999px;padding:13px 20px 13px 24px;background:linear-gradient(90deg,rgba(109,255,169,.16),rgba(109,255,169,.04));color:#eaffee;font-weight:850;text-transform:uppercase;letter-spacing:.04em;box-shadow:0 0 26px rgba(109,255,169,.13);transition:.25s}.cmd-btn .circle{width:32px;height:32px;display:grid;place-items:center;border:1px solid rgba(109,255,169,.45);border-radius:50%;font-size:22px}.cmd-btn:hover{transform:translateY(-2px);box-shadow:0 0 46px rgba(109,255,169,.22)}.play-link{display:inline-flex;align-items:center;gap:12px;color:var(--green);font-weight:800;text-transform:uppercase;letter-spacing:.04em}.play-link .play{width:35px;height:35px;border:2px solid rgba(109,255,169,.75);border-radius:50%;display:grid;place-items:center;box-shadow:0 0 20px rgba(109,255,169,.18)}.brand-stage{position:relative;display:grid;place-items:center;min-width:0}.orbit{position:absolute;width:min(850px,76vw);height:330px;left:50%;top:41%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse at center,rgba(109,255,169,.15),transparent 52%);opacity:.92}.orbit::before,.orbit::after{content:"";position:absolute;inset:44px 10px;border-radius:50%;border:1px solid rgba(109,255,169,.16);transform:rotate(-7deg)}.orbit::after{inset:88px 80px;border-color:rgba(109,255,169,.25);box-shadow:0 0 35px rgba(109,255,169,.16);animation:pulse 3.6s ease-in-out infinite}.light-trail{position:absolute;width:750px;height:200px;border-radius:50%;border-top:3px solid rgba(109,255,169,.55);filter:drop-shadow(0 0 18px rgba(109,255,169,.5));transform:rotate(-8deg);right:70px;top:146px;opacity:.65}.drone{position:absolute;left:8%;top:34px;width:360px;filter:drop-shadow(0 16px 35px rgba(0,0,0,.75)) drop-shadow(0 0 15px rgba(109,255,169,.2));animation:floatDrone 6s ease-in-out infinite}.camera{position:absolute;right:10%;top:42px;width:285px;filter:drop-shadow(0 20px 35px rgba(0,0,0,.72));animation:floatCam 6.5s ease-in-out infinite}.stage-brand{position:relative;z-index:3;text-align:center;margin-top:65px}.stage-brand .fm{font-family:var(--mono);font-weight:800;font-size:clamp(86px,10vw,146px);line-height:.86;color:#e5efdc;letter-spacing:.08em;text-shadow:0 0 55px rgba(109,255,169,.18)}.stage-brand .name{font-family:var(--mono);font-size:42px;letter-spacing:.03em;color:#ecf2e9;text-transform:uppercase;margin-top:15px}.holo-pad{position:absolute;left:50%;bottom:2px;transform:translateX(-50%);width:650px;height:132px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(109,255,169,.65),rgba(109,255,169,.16) 16%,transparent 54%);filter:blur(.2px);opacity:.95}.holo-pad::before{content:"";position:absolute;inset:20px;border:1px solid rgba(109,255,169,.65);border-radius:50%;box-shadow:0 0 28px rgba(109,255,169,.4), inset 0 0 24px rgba(109,255,169,.18)}.side-dots{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;padding-top:45px}.pause{font-family:var(--mono);color:rgba(109,255,169,.62);font-size:26px;margin-bottom:8px}.side-dot{width:8px;height:8px;border:1px solid rgba(255,255,255,.38);border-radius:50%;opacity:.6}.side-dot.active{width:13px;height:13px;background:var(--green);border-color:var(--green);box-shadow:0 0 30px var(--green);opacity:1}.dashboard{position:relative;z-index:2;display:grid;grid-template-columns:1.03fr .62fr .72fr;gap:18px;padding:0 28px 18px}.dash-panel{border:1px solid rgba(109,255,169,.18);border-radius:4px 4px 18px 18px;background:linear-gradient(180deg,rgba(8,18,16,.74),rgba(4,9,8,.82));box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);padding:20px;position:relative;overflow:hidden}.dash-panel::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(109,255,169,.38),transparent)}.panel-label{font-family:var(--mono);font-size:18px;font-weight:800;text-transform:uppercase;letter-spacing:.18em;color:#edf6eb;margin-bottom:19px;display:flex;gap:10px;align-items:center}.panel-label::before{content:"";display:block;width:3px;height:16px;background:var(--green);box-shadow:0 0 15px var(--green)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service-card,.mini-card,.blog-feature{position:relative;border:1px solid rgba(109,255,169,.20);border-radius:15px;background:radial-gradient(circle at 50% 0,rgba(109,255,169,.13),rgba(5,10,9,.74) 46%,rgba(2,6,5,.82));min-height:286px;padding:24px 18px;text-align:center;overflow:hidden;transition:transform .22s,border-color .22s,box-shadow .22s}.service-card:hover,.mini-card:hover,.blog-feature:hover{transform:translateY(-5px);border-color:rgba(109,255,169,.48);box-shadow:0 0 36px rgba(109,255,169,.12)}.icon-line{width:80px;height:80px;margin:0 auto 22px;display:grid;place-items:center;color:var(--green);filter:drop-shadow(0 0 11px rgba(109,255,169,.45))}.icon-line svg{width:75px;height:75px;stroke:currentColor;fill:none;stroke-width:1.65}.service-card h3{font-family:var(--mono);font-size:24px;letter-spacing:.04em;text-transform:uppercase;line-height:1.04;margin:0 0 17px}.service-card p,.mini-card p,.blog-feature p{color:#c3cbc5;font-size:14px;line-height:1.38;margin:0}.arrow{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:var(--green);font-size:29px}.blog-feature{min-height:286px;text-align:left;padding:0;display:flex;align-items:end;background:linear-gradient(180deg,rgba(5,11,9,.1),rgba(0,0,0,.78)),url('/assets/hooked-on-the-shot.png') center/cover no-repeat}.blog-feature::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.1),rgba(0,0,0,.22));mix-blend-mode:multiply}.blog-content{position:relative;z-index:2;padding:22px;width:100%;text-shadow:0 2px 18px #000}.blog-content img{width:300px;max-width:78%;margin:0 auto 10px;filter:drop-shadow(0 14px 20px rgba(0,0,0,.6))}.blog-content p{max-width:330px}.green-link{margin-top:11px;display:inline-flex;gap:16px;align-items:center;color:var(--green);font-family:var(--mono);font-weight:900;letter-spacing:.06em;text-transform:uppercase;font-size:17px}.right-stack{display:grid;gap:15px}.mini-card{min-height:135px;text-align:left;padding:26px 28px;display:grid;grid-template-columns:72px 1fr;gap:22px;align-items:center;background-size:cover;background-position:center}.mini-card.live{background-image:linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.55)),radial-gradient(circle at 80% 0,rgba(109,255,169,.22),transparent 48%)}.mini-card .live-badge{position:absolute;right:22px;top:15px;border:1px solid rgba(109,255,169,.42);border-radius:6px;color:var(--green);padding:4px 8px;font-family:var(--mono);font-weight:800}.mini-icon{width:68px;height:68px;display:grid;place-items:center;border:1px solid rgba(109,255,169,.34);border-radius:50%;color:var(--green);box-shadow:0 0 26px rgba(109,255,169,.16)}.mini-icon svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.7}.mini-card h3{font-family:var(--mono);font-size:24px;letter-spacing:.04em;text-transform:uppercase;margin:0 0 8px;color:#edf6eb}.sentra h3{color:var(--green)}.bottom-strip{display:flex;justify-content:space-between;align-items:center;gap:18px;height:55px;border-top:1px solid rgba(109,255,169,.15);padding:0 60px;font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:rgba(157,255,190,.76);font-weight:700}.radar-dot{width:38px;height:38px;border-radius:50%;border:1px solid rgba(109,255,169,.33);box-shadow:0 0 20px rgba(109,255,169,.18);position:relative}.radar-dot::before{content:"";position:absolute;inset:10px;background:var(--green);border-radius:50%;box-shadow:0 0 15px var(--green)}.page-main{position:relative;z-index:2;padding:58px 72px 80px}.page-hero{max-width:1050px;padding:35px 0 44px}.eyebrow{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--green);font-weight:900;margin-bottom:14px}.page-hero h1{font-family:var(--mono);font-size:clamp(52px,7vw,100px);line-height:.94;margin:0 0 16px;text-transform:uppercase}.page-hero p{font-size:20px;max-width:760px;color:#d8e0da;line-height:1.55}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.glass{border:1px solid rgba(109,255,169,.18);border-radius:18px;background:linear-gradient(180deg,rgba(9,18,16,.78),rgba(4,8,7,.82));padding:28px;position:relative;overflow:hidden}.glass::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 0,rgba(109,255,169,.10),transparent 36%);pointer-events:none}.glass h2,.glass h3{font-family:var(--mono);text-transform:uppercase;margin-top:0}.glass p,.glass li{color:#c9d2cc;line-height:1.62}.metric{font-family:var(--mono);color:var(--green);font-size:45px;font-weight:900}.post-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.post-card{border:1px solid rgba(109,255,169,.18);border-radius:18px;background:rgba(7,14,12,.8);overflow:hidden}.post-card img,.post-card .thumb{height:210px;width:100%;object-fit:cover;background:linear-gradient(160deg,#102319,#050908);display:grid;place-items:center;font-family:var(--mono);font-size:26px;color:#e9f0dc;text-align:center}.post-card .body{padding:20px}.meta{font-family:var(--mono);color:var(--green);letter-spacing:.07em;text-transform:uppercase;font-size:13px}.post-card h3{font-family:var(--mono);font-size:26px;text-transform:uppercase;margin:8px 0}.post-article{max-width:900px}.post-article img,.post-article video{border-radius:18px;border:1px solid rgba(109,255,169,.18);margin:25px 0;width:100%}.contact-form{display:grid;gap:14px}.input{width:100%;border:1px solid rgba(109,255,169,.22);border-radius:14px;background:rgba(0,0,0,.34);color:#fff;padding:15px 16px;outline:none}.input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(109,255,169,.12)}textarea.input{min-height:160px;resize:vertical}.notice{border:1px solid rgba(109,255,169,.22);border-radius:16px;padding:20px;background:rgba(109,255,169,.07);color:#dce5de}.footer{position:relative;z-index:2;border-top:1px solid rgba(109,255,169,.14);padding:30px 72px;color:#acb8b2;display:flex;justify-content:space-between;gap:20px;font-size:14px}.modal{position:fixed;inset:0;background:rgba(0,0,0,.78);display:none;place-items:center;z-index:1000;padding:20px}.modal.open{display:grid}.modal-card{max-width:760px;width:min(100%,760px);border:1px solid rgba(109,255,169,.28);border-radius:22px;background:#07100e;padding:28px;box-shadow:0 0 80px rgba(0,0,0,.65)}.close-btn{float:right;background:none;border:1px solid rgba(109,255,169,.28);color:#fff;border-radius:50%;width:36px;height:36px;cursor:pointer}@keyframes pulse{0%,100%{opacity:.58;transform:rotate(-7deg) scale(1)}50%{opacity:1;transform:rotate(-7deg) scale(1.05)}}@keyframes floatDrone{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-14px) rotate(1deg)}}@keyframes floatCam{0%,100%{transform:translateY(0) rotate(1deg)}50%{transform:translateY(-10px) rotate(-2deg)}}.reveal{opacity:0;transform:translateY(24px);transition:.7s ease}.reveal.in{opacity:1;transform:none}
@media (max-width:1250px){.topbar{grid-template-columns:240px 1fr 190px;padding-left:36px;padding-right:36px}.brand-main{font-size:40px}.brand-sub{font-size:13px}.nav{gap:23px;font-size:14px}.hero{grid-template-columns:320px 1fr 70px;padding-left:36px;padding-right:36px}.drone{width:290px}.camera{width:230px}.stage-brand .fm{font-size:95px}.stage-brand .name{font-size:27px}.dashboard{grid-template-columns:1fr}.post-list,.grid-3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:820px){.shell{width:100%;margin:0;border-radius:0;border-left:0;border-right:0}.cursor-glow,.side-dots,.camera,.drone,.light-trail{display:none}.topbar{height:auto;grid-template-columns:1fr auto;padding:18px 20px}.nav{display:none;position:absolute;left:12px;right:12px;top:80px;background:rgba(5,10,9,.98);border:1px solid rgba(109,255,169,.24);border-radius:18px;padding:18px;flex-direction:column;z-index:30}.nav.open{display:flex}.mobile-toggle{display:block;background:rgba(109,255,169,.08);border:1px solid rgba(109,255,169,.3);color:#fff;border-radius:14px;padding:10px}.top-cta{display:none}.hero{display:block;min-height:auto;padding:28px 20px}.hero-title{font-size:58px}.stage-brand{margin:56px 0 42px}.stage-brand .fm{font-size:72px}.stage-brand .name{font-size:21px}.holo-pad{width:100%;height:110px}.dashboard{padding:0 14px 14px}.service-grid{grid-template-columns:1fr 1fr}.bottom-strip{height:auto;align-items:flex-start;flex-direction:column;padding:22px;font-size:12px;letter-spacing:.14em}.page-main{padding:42px 20px}.post-list,.grid-3,.grid-2{grid-template-columns:1fr}.footer{padding:24px 20px;flex-direction:column}.mini-card{grid-template-columns:1fr;text-align:center}.mini-icon{margin:auto}}
@media (max-width:520px){.service-grid{grid-template-columns:1fr}.hero-title{font-size:46px}.hero-services{font-size:15px}.brand-main{font-size:34px}.brand-sub{font-size:12px}.page-hero h1{font-size:46px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.cursor-glow{display:none}}

/* --- Fitzmedia mockup alignment patch --- */
.dashboard{align-items:stretch;}
.service-grid{gap:12px;}
.service-card{
  min-height:286px;
  padding:22px 14px 52px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
}
.service-card h3{
  font-size:clamp(20px,1.45vw,27px);
  line-height:.98;
  letter-spacing:.015em;
  word-break:normal;
  hyphens:none;
  white-space:normal;
  max-width:100%;
}
.service-card p{
  font-size:14px;
  line-height:1.32;
  max-width:145px;
  margin-inline:auto;
}
.icon-line{
  width:76px;
  height:76px;
  margin-bottom:18px;
}
.blog-feature{
  background:
    radial-gradient(circle at 48% 18%,rgba(109,255,169,.16),transparent 34%),
    linear-gradient(180deg,rgba(60,84,70,.62),rgba(10,17,14,.82)),
    linear-gradient(135deg,#18241d,#050807)!important;
  display:flex;
  align-items:center;
  justify-content:center;
}
.blog-feature::after{
  background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.18));
}
.blog-content{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:286px;
  text-align:center;
  padding:18px;
}
.blog-content img{
  width:min(280px,88%);
  max-height:185px;
  object-fit:contain;
  margin:0 auto 12px;
  filter:drop-shadow(0 15px 24px rgba(0,0,0,.72));
}
.blog-content p{max-width:340px;}
.right-stack{grid-template-rows:1fr 1fr;}
.bottom-strip + .page-main{display:none;}

@media (min-width:1251px){
  .dashboard{grid-template-columns:1.08fr .62fr .72fr}
  .shell{width:min(1770px,calc(100vw - 18px));}
}
@media (max-width:1250px){
  .service-card h3{font-size:25px}
  .blog-content img{max-height:210px}
}

/* --- service card text fix --- */
.service-card {
  overflow: hidden;
}

.service-card h3 {
  font-size: clamp(17px, 1.05vw, 22px) !important;
  line-height: 1.05 !important;
  letter-spacing: 0.02em !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  max-width: 100% !important;
  width: 100% !important;
  text-align: center !important;
  word-break: normal !important;
}

.service-card p {
  font-size: 14px !important;
  line-height: 1.35 !important;
  max-width: 150px !important;
}

@media (min-width: 1200px) {
  .service-card h3 {
    font-size: 20px !important;
  }
}

@media (min-width: 1500px) {
  .service-card h3 {
    font-size: 22px !important;
  }
}

/* --- service card text fix --- */
.service-card {
  overflow: hidden;
}

.service-card h3 {
  font-size: clamp(17px, 1.05vw, 22px) !important;
  line-height: 1.05 !important;
  letter-spacing: 0.02em !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  max-width: 100% !important;
  width: 100% !important;
  text-align: center !important;
  word-break: normal !important;
}

.service-card p {
  font-size: 14px !important;
  line-height: 1.35 !important;
  max-width: 150px !important;
}

@media (min-width: 1200px) {
  .service-card h3 {
    font-size: 20px !important;
  }
}

@media (min-width: 1500px) {
  .service-card h3 {
    font-size: 22px !important;
  }
}

/* --- HARD FIX: service card title size --- */
.service-card h3,
.service-card h3 span {
  font-size: 13px !important;
  line-height: 1.05 !important;
  letter-spacing: 0.01em !important;
  white-space: nowrap !important;
  text-align: center !important;
  max-width: 100% !important;
  overflow: visible !important;
}

.service-card h3 {
  display: block !important;
  width: 100% !important;
  margin-top: 14px !important;
  margin-bottom: 16px !important;
}

.service-card h3 span {
  display: block !important;
  transform: scaleX(0.78) !important;
  transform-origin: center center !important;
}

.service-card {
  padding-left: 8px !important;
  padding-right: 8px !important;
}

@media (min-width: 1400px) {
  .service-card h3,
  .service-card h3 span {
    font-size: 14px !important;
  }
}

@media (min-width: 1700px) {
  .service-card h3,
  .service-card h3 span {
    font-size: 15px !important;
  }
}

/* --- blog inline media --- */
.post-media {
  margin: 28px 0;
  border: 1px solid rgba(109,255,169,.22);
  border-radius: 22px;
  overflow: hidden;
  background: rgba(0,0,0,.24);
  box-shadow: 0 18px 55px rgba(0,0,0,.35);
}
.post-media img,
.post-media video {
  width: 100%;
  display: block;
  max-height: 720px;
  object-fit: contain;
  background: #020504;
}
.post-media figcaption {
  padding: 10px 14px;
  color: var(--muted);
  font-size: 14px;
  border-top: 1px solid rgba(109,255,169,.16);
}

/* --- functioning portfolio/work page --- */
.portfolio-hero {
  max-width: 980px;
}

.portfolio-filter-bar {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 0 0 22px;
}

.filter-pill {
  border: 1px solid rgba(109,255,169,.28);
  background: rgba(0,0,0,.28);
  color: #dfffe9;
  border-radius: 999px;
  padding: 10px 16px;
  font-family: var(--mono);
  text-transform: uppercase;
  letter-spacing: .08em;
  cursor: pointer;
  text-decoration: none;
}

.filter-pill.active,
.filter-pill:hover {
  color: #06110b;
  background: var(--green);
  box-shadow: 0 0 28px rgba(109,255,169,.22);
}

.link-pill {
  margin-left: auto;
}

.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: 18px;
}

.portfolio-card {
  border: 1px solid rgba(109,255,169,.2);
  border-radius: 24px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(109,255,169,.08), rgba(0,0,0,.18)),
    rgba(1,8,6,.72);
  box-shadow: 0 24px 80px rgba(0,0,0,.35);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.portfolio-card:hover {
  transform: translateY(-4px);
  border-color: rgba(109,255,169,.46);
  box-shadow: 0 28px 90px rgba(109,255,169,.12);
}

.portfolio-media {
  position: relative;
  aspect-ratio: 16 / 10;
  background: #010504;
  overflow: hidden;
}

.portfolio-media img,
.portfolio-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.portfolio-type {
  position: absolute;
  top: 12px;
  right: 12px;
  border: 1px solid rgba(109,255,169,.45);
  background: rgba(0,0,0,.62);
  color: var(--green);
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  font-family: var(--mono);
  text-transform: uppercase;
  letter-spacing: .08em;
}

.portfolio-body {
  padding: 18px;
}

.portfolio-body h2 {
  margin: 0 0 8px;
  font-family: var(--mono);
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: 24px;
}

.portfolio-body p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.portfolio-empty {
  grid-column: 1 / -1;
  min-height: 330px;
  border: 1px solid rgba(109,255,169,.24);
  border-radius: 26px;
  display: grid;
  align-content: center;
  gap: 12px;
  padding: 34px;
  background: rgba(0,0,0,.28);
}

.portfolio-empty h2 {
  margin: 0;
  font-family: var(--mono);
  text-transform: uppercase;
  font-size: clamp(34px, 5vw, 70px);
}

@media (max-width: 700px) {
  .link-pill {
    margin-left: 0;
  }
}

/* --- selectable portfolio/work page --- */
.portfolio-hero { max-width: 980px; }

.portfolio-filter-bar {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 0 0 22px;
}

.filter-pill {
  border: 1px solid rgba(109,255,169,.28);
  background: rgba(0,0,0,.28);
  color: #dfffe9;
  border-radius: 999px;
  padding: 10px 16px;
  font-family: var(--mono);
  text-transform: uppercase;
  letter-spacing: .08em;
  cursor: pointer;
  text-decoration: none;
}

.filter-pill.active,
.filter-pill:hover {
  color: #06110b;
  background: var(--green);
  box-shadow: 0 0 28px rgba(109,255,169,.22);
}

.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: 18px;
}

.portfolio-card {
  border: 1px solid rgba(109,255,169,.2);
  border-radius: 24px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(109,255,169,.08), rgba(0,0,0,.18)), rgba(1,8,6,.72);
  box-shadow: 0 24px 80px rgba(0,0,0,.35);
}

.portfolio-media {
  position: relative;
  aspect-ratio: 16 / 10;
  background: #010504;
  overflow: hidden;
}

.portfolio-media img,
.portfolio-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.portfolio-type {
  position: absolute;
  top: 12px;
  right: 12px;
  border: 1px solid rgba(109,255,169,.45);
  background: rgba(0,0,0,.62);
  color: var(--green);
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  font-family: var(--mono);
  text-transform: uppercase;
}

.portfolio-body { padding: 18px; }
.portfolio-body h2 {
  margin: 0 0 8px;
  font-family: var(--mono);
  text-transform: uppercase;
  font-size: 24px;
}
.portfolio-body p { margin: 0; color: var(--muted); line-height: 1.5; }

.portfolio-empty {
  grid-column: 1 / -1;
  min-height: 330px;
  border: 1px solid rgba(109,255,169,.24);
  border-radius: 26px;
  display: grid;
  align-content: center;
  gap: 12px;
  padding: 34px;
  background: rgba(0,0,0,.28);
}
.portfolio-empty h2 {
  margin: 0;
  font-family: var(--mono);
  text-transform: uppercase;
  font-size: clamp(34px, 5vw, 70px);
}

/* --- portfolio lightbox preview --- */
.portfolio-card {
  cursor: pointer;
}

.portfolio-card:focus {
  outline: 2px solid var(--green);
  outline-offset: 4px;
}

.portfolio-open {
  position: absolute;
  left: 12px;
  bottom: 12px;
  border: 1px solid rgba(109,255,169,.42);
  background: rgba(0,0,0,.64);
  color: var(--green);
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  font-family: var(--mono);
  text-transform: uppercase;
  letter-spacing: .08em;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .2s ease, transform .2s ease;
}

.portfolio-card:hover .portfolio-open,
.portfolio-card:focus .portfolio-open {
  opacity: 1;
  transform: translateY(0);
}

body.lightbox-open {
  overflow: hidden;
}

.portfolio-lightbox {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  padding: 28px;
  background:
    radial-gradient(circle at 50% 20%, rgba(109,255,169,.16), transparent 34%),
    rgba(0,0,0,.86);
  backdrop-filter: blur(16px);
}

.portfolio-lightbox::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(109,255,169,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(109,255,169,.025) 1px, transparent 1px);
  background-size: 34px 34px;
  pointer-events: none;
  opacity: .45;
}

.portfolio-lightbox-panel {
  position: relative;
  width: min(1180px, 96vw);
  max-height: 92vh;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  border: 1px solid rgba(109,255,169,.34);
  border-radius: 28px;
  overflow: hidden;
  background: rgba(1,8,6,.92);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.04) inset,
    0 40px 120px rgba(0,0,0,.72),
    0 0 70px rgba(109,255,169,.14);
}

.portfolio-lightbox-media {
  min-height: 0;
  background: #000;
  display: grid;
  place-items: center;
}

.portfolio-lightbox-media img,
.portfolio-lightbox-media video {
  width: 100%;
  height: 100%;
  max-height: 72vh;
  object-fit: contain;
  display: block;
  background: #000;
}

.portfolio-lightbox-info {
  padding: 18px 22px 22px;
  border-top: 1px solid rgba(109,255,169,.22);
  background: linear-gradient(180deg, rgba(109,255,169,.07), rgba(0,0,0,.2));
}

.portfolio-lightbox-info span {
  color: var(--green);
  font-family: var(--mono);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 13px;
}

.portfolio-lightbox-info h2 {
  margin: 6px 0 8px;
  font-family: var(--mono);
  text-transform: uppercase;
  font-size: clamp(24px, 3vw, 46px);
}

.portfolio-lightbox-info p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.portfolio-lightbox-close {
  position: fixed;
  top: 22px;
  right: 24px;
  z-index: 100000;
  width: 48px;
  height: 48px;
  border-radius: 999px;
  border: 1px solid rgba(109,255,169,.4);
  background: rgba(0,0,0,.72);
  color: var(--green);
  font-size: 32px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 0 36px rgba(109,255,169,.18);
}

.portfolio-lightbox-close:hover {
  background: var(--green);
  color: #031008;
}

@media (max-width: 700px) {
  .portfolio-lightbox {
    padding: 12px;
  }

  .portfolio-lightbox-close {
    top: 12px;
    right: 12px;
  }

  .portfolio-lightbox-panel {
    width: 100%;
    max-height: 90vh;
    border-radius: 20px;
  }

  .portfolio-lightbox-media img,
  .portfolio-lightbox-media video {
    max-height: 62vh;
  }
}

/* --- portfolio content-aware display fix --- */
/* Stop portfolio thumbnails from cutting off heads/faces/important parts. */
.portfolio-media {
  background:
    radial-gradient(circle at center, rgba(109,255,169,.08), transparent 45%),
    linear-gradient(135deg, rgba(109,255,169,.08), rgba(0,0,0,.72)),
    #020705 !important;
  display: grid !important;
  place-items: center !important;
}

.portfolio-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 8px !important;
  background: rgba(0,0,0,.18) !important;
}

.portfolio-media video {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #000 !important;
}

/* Give portrait photos more room so they don't feel cramped. */
.portfolio-card .portfolio-media {
  aspect-ratio: 16 / 11 !important;
}

/* On mobile, make the preview area taller for vertical photos. */
@media (max-width: 700px) {
  .portfolio-card .portfolio-media {
    aspect-ratio: 4 / 3 !important;
  }
}

/* --- blog display image content-aware fix --- */
/* Prevent blog post cover/display images from cropping faces, fish, logos, or important details. */

.blog-feature img,
.blog-card img,
.post-card img,
.blog-post-card img,
.article-card img,
.featured-post img,
.post-cover img,
.blog-cover img,
[data-post-card] img,
[data-blog-card] img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 8px !important;
  background:
    radial-gradient(circle at center, rgba(109,255,169,.08), transparent 45%),
    linear-gradient(135deg, rgba(109,255,169,.08), rgba(0,0,0,.72)),
    #020705 !important;
}

/* Make blog image containers tall enough so vertical pictures breathe. */
.blog-feature,
.blog-card .media,
.blog-card .image,
.blog-card .thumb,
.post-card .media,
.post-card .image,
.post-card .thumb,
.blog-post-card .media,
.blog-post-card .image,
.blog-post-card .thumb,
.article-card .media,
.article-card .image,
.article-card .thumb,
.featured-post .media,
.post-cover,
.blog-cover,
[data-post-card] .media,
[data-blog-card] .media {
  aspect-ratio: 16 / 11 !important;
  background:
    radial-gradient(circle at center, rgba(109,255,169,.08), transparent 45%),
    linear-gradient(135deg, rgba(109,255,169,.08), rgba(0,0,0,.72)),
    #020705 !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
}

/* If any blog cover is rendered as a CSS background instead of an image, stop background cropping too. */
.blog-card [style*="background-image"],
.post-card [style*="background-image"],
.blog-post-card [style*="background-image"],
.article-card [style*="background-image"],
.featured-post [style*="background-image"],
[data-post-card] [style*="background-image"],
[data-blog-card] [style*="background-image"] {
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-color: #020705 !important;
}

/* On mobile, give vertical blog photos even more room. */
@media (max-width: 700px) {
  .blog-feature,
  .blog-card .media,
  .blog-card .image,
  .blog-card .thumb,
  .post-card .media,
  .post-card .image,
  .post-card .thumb,
  .blog-post-card .media,
  .blog-post-card .image,
  .blog-post-card .thumb,
  .article-card .media,
  .article-card .image,
  .article-card .thumb,
  .featured-post .media,
  .post-cover,
  .blog-cover,
  [data-post-card] .media,
  [data-blog-card] .media {
    aspect-ratio: 4 / 3 !important;
  }
}

/* --- blog card display + clickable link fix --- */
/* Keep blog cards clickable while making cover images fit the display box cleanly. */

.blog-grid a,
.blog-list a,
.blog-card,
.post-card,
.blog-post-card,
.article-card,
[data-post-card],
[data-blog-card] {
  position: relative !important;
  display: block !important;
  text-decoration: none !important;
  color: inherit !important;
  overflow: hidden !important;
}

/* Image frame: consistent shape, no broken link area. */
.blog-card .media,
.blog-card .image,
.blog-card .thumb,
.post-card .media,
.post-card .image,
.post-card .thumb,
.blog-post-card .media,
.blog-post-card .image,
.blog-post-card .thumb,
.article-card .media,
.article-card .image,
.article-card .thumb,
[data-post-card] .media,
[data-blog-card] .media,
.blog-card > img,
.post-card > img,
.blog-post-card > img,
.article-card > img {
  width: 100% !important;
  aspect-ratio: 16 / 10 !important;
  min-height: 220px !important;
  max-height: 360px !important;
  background:
    radial-gradient(circle at center, rgba(109,255,169,.08), transparent 45%),
    linear-gradient(135deg, rgba(109,255,169,.08), rgba(0,0,0,.76)),
    #020705 !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
}

/* Actual image: show whole image, do not crop heads/fish/logos. */
.blog-card img,
.post-card img,
.blog-post-card img,
.article-card img,
[data-post-card] img,
[data-blog-card] img {
  width: 100% !important;
  height: 100% !important;
  max-height: 360px !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 8px !important;
  display: block !important;
  background: transparent !important;
  pointer-events: none !important;
  user-select: none !important;
}

/* Keep text/content above the image layer and clickable through the parent link. */
.blog-card .body,
.blog-card .content,
.post-card .body,
.post-card .content,
.blog-post-card .body,
.blog-post-card .content,
.article-card .body,
.article-card .content,
[data-post-card] .body,
[data-post-card] .content,
[data-blog-card] .body,
[data-blog-card] .content {
  position: relative !important;
  z-index: 2 !important;
}

/* Make sure buttons/read labels do not break the card link visually. */
.blog-card .green-link,
.post-card .green-link,
.blog-post-card .green-link,
.article-card .green-link,
[data-post-card] .green-link,
[data-blog-card] .green-link {
  pointer-events: none !important;
}

/* Mobile: taller frame for vertical images. */
@media (max-width: 700px) {
  .blog-card .media,
  .blog-card .image,
  .blog-card .thumb,
  .post-card .media,
  .post-card .image,
  .post-card .thumb,
  .blog-post-card .media,
  .blog-post-card .image,
  .blog-post-card .thumb,
  .article-card .media,
  .article-card .image,
  .article-card .thumb,
  [data-post-card] .media,
  [data-blog-card] .media,
  .blog-card > img,
  .post-card > img,
  .blog-post-card > img,
  .article-card > img {
    aspect-ratio: 4 / 3 !important;
    min-height: 240px !important;
  }
}

/* --- restore visible Read More on blog cards --- */
.blog-read-more,
.blog-card .green-link,
.post-card .green-link,
.blog-post-card .green-link,
.article-card .green-link,
[data-post-card] .green-link,
[data-blog-card] .green-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: fit-content !important;
  margin-top: 16px !important;
  padding: 10px 14px !important;
  border: 1px solid rgba(109,255,169,.42) !important;
  border-radius: 999px !important;
  background: rgba(109,255,169,.08) !important;
  color: var(--green) !important;
  font-family: var(--mono) !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  line-height: 1 !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: relative !important;
  z-index: 5 !important;
  pointer-events: none !important;
}

.blog-read-more span,
.blog-card .green-link span,
.post-card .green-link span,
.blog-post-card .green-link span,
.article-card .green-link span,
[data-post-card] .green-link span,
[data-blog-card] .green-link span {
  font-size: 16px !important;
  line-height: 1 !important;
}

.blog-card:hover .blog-read-more,
.post-card:hover .blog-read-more,
.blog-post-card:hover .blog-read-more,
.article-card:hover .blog-read-more,
[data-post-card]:hover .blog-read-more,
[data-blog-card]:hover .blog-read-more {
  background: var(--green) !important;
  color: #031008 !important;
  box-shadow: 0 0 26px rgba(109,255,169,.22) !important;
}

/* =========================================================
   BLOG CARD TOTAL RESIZE FIX
   Makes image, text, and Read More fit inside each post card.
   ========================================================= */

.blog-grid,
.blog-list,
[data-posts],
[data-blog-posts] {
  align-items: stretch !important;
}

/* Card shell */
.blog-grid > a,
.blog-list > a,
.blog-card,
.post-card,
.blog-post-card,
.article-card,
[data-post-card],
[data-blog-card] {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden !important;
  border-radius: 24px !important;
  text-decoration: none !important;
  color: inherit !important;
}

/* Image area: smaller, controlled, no crop */
.blog-card .media,
.blog-card .image,
.blog-card .thumb,
.post-card .media,
.post-card .image,
.post-card .thumb,
.blog-post-card .media,
.blog-post-card .image,
.blog-post-card .thumb,
.article-card .media,
.article-card .image,
.article-card .thumb,
[data-post-card] .media,
[data-blog-card] .media,
.blog-card > img:first-child,
.post-card > img:first-child,
.blog-post-card > img:first-child,
.article-card > img:first-child,
[data-post-card] > img:first-child,
[data-blog-card] > img:first-child {
  flex: 0 0 auto !important;
  width: 100% !important;
  height: 210px !important;
  min-height: 210px !important;
  max-height: 210px !important;
  aspect-ratio: auto !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at center, rgba(109,255,169,.08), transparent 46%),
    linear-gradient(135deg, rgba(109,255,169,.08), rgba(0,0,0,.78)),
    #020705 !important;
}

/* Actual cover image */
.blog-card img,
.post-card img,
.blog-post-card img,
.article-card img,
[data-post-card] img,
[data-blog-card] img {
  width: 100% !important;
  height: 210px !important;
  max-height: 210px !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 8px !important;
  display: block !important;
  background: transparent !important;
  pointer-events: none !important;
}

/* Text/body area */
.blog-card .body,
.blog-card .content,
.blog-card .post-body,
.blog-card .blog-body,
.post-card .body,
.post-card .content,
.post-card .post-body,
.post-card .blog-body,
.blog-post-card .body,
.blog-post-card .content,
.blog-post-card .post-body,
.blog-post-card .blog-body,
.article-card .body,
.article-card .content,
.article-card .post-body,
.article-card .blog-body,
[data-post-card] .body,
[data-post-card] .content,
[data-blog-card] .body,
[data-blog-card] .content {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 18px !important;
}

/* Titles fit better */
.blog-card h1,
.blog-card h2,
.blog-card h3,
.post-card h1,
.post-card h2,
.post-card h3,
.blog-post-card h1,
.blog-post-card h2,
.blog-post-card h3,
.article-card h1,
.article-card h2,
.article-card h3,
[data-post-card] h1,
[data-post-card] h2,
[data-post-card] h3,
[data-blog-card] h1,
[data-blog-card] h2,
[data-blog-card] h3 {
  font-size: clamp(20px, 2.2vw, 28px) !important;
  line-height: 1.05 !important;
  margin: 0 0 10px !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}

/* Excerpt fits without pushing Read More out */
.blog-card p,
.post-card p,
.blog-post-card p,
.article-card p,
[data-post-card] p,
[data-blog-card] p {
  font-size: 15px !important;
  line-height: 1.42 !important;
  margin: 0 0 12px !important;
  color: var(--muted) !important;
}

/* Clamp only the preview/excerpt text so the card stays clean */
.blog-card .body p,
.blog-card .content p,
.post-card .body p,
.post-card .content p,
.blog-post-card .body p,
.blog-post-card .content p,
.article-card .body p,
.article-card .content p,
[data-post-card] .body p,
[data-post-card] .content p,
[data-blog-card] .body p,
[data-blog-card] .content p {
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Read More stays visible at the bottom */
.blog-read-more,
.blog-card .green-link,
.post-card .green-link,
.blog-post-card .green-link,
.article-card .green-link,
[data-post-card] .green-link,
[data-blog-card] .green-link {
  margin-top: auto !important;
  align-self: flex-start !important;
  flex: 0 0 auto !important;
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 10 !important;
}

/* Mobile: slightly taller image, still fitted */
@media (max-width: 700px) {
  .blog-card .media,
  .blog-card .image,
  .blog-card .thumb,
  .post-card .media,
  .post-card .image,
  .post-card .thumb,
  .blog-post-card .media,
  .blog-post-card .image,
  .blog-post-card .thumb,
  .article-card .media,
  .article-card .image,
  .article-card .thumb,
  [data-post-card] .media,
  [data-blog-card] .media,
  .blog-card > img:first-child,
  .post-card > img:first-child,
  .blog-post-card > img:first-child,
  .article-card > img:first-child,
  [data-post-card] > img:first-child,
  [data-blog-card] > img:first-child {
    height: 235px !important;
    min-height: 235px !important;
    max-height: 235px !important;
  }

  .blog-card img,
  .post-card img,
  .blog-post-card img,
  .article-card img,
  [data-post-card] img,
  [data-blog-card] img {
    height: 235px !important;
    max-height: 235px !important;
  }
}

/* =========================================================
   READ MORE REAL BUTTON FIX
   Keeps blog card size perfect, restores actual button styling.
   ========================================================= */

.blog-read-more,
.blog-card .green-link,
.post-card .green-link,
.blog-post-card .green-link,
.article-card .green-link,
[data-post-card] .green-link,
[data-blog-card] .green-link {
  margin-top: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;

  width: fit-content !important;
  min-width: 142px !important;
  min-height: 44px !important;

  padding: 12px 18px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(109,255,169,.72) !important;

  background:
    linear-gradient(135deg, rgba(109,255,169,.95), rgba(109,255,169,.68)) !important;

  color: #031008 !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.12) inset,
    0 0 24px rgba(109,255,169,.22),
    0 10px 24px rgba(0,0,0,.32) !important;

  font-family: var(--mono) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  text-decoration: none !important;

  opacity: 1 !important;
  visibility: visible !important;
  position: relative !important;
  z-index: 20 !important;

  cursor: pointer !important;
  pointer-events: auto !important;

  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background .18s ease,
    color .18s ease !important;
}

.blog-read-more span,
.blog-card .green-link span,
.post-card .green-link span,
.blog-post-card .green-link span,
.article-card .green-link span,
[data-post-card] .green-link span,
[data-blog-card] .green-link span {
  display: inline-block !important;
  font-size: 17px !important;
  line-height: 1 !important;
  transform: translateY(-1px) !important;
}

.blog-card:hover .blog-read-more,
.post-card:hover .blog-read-more,
.blog-post-card:hover .blog-read-more,
.article-card:hover .blog-read-more,
[data-post-card]:hover .blog-read-more,
[data-blog-card]:hover .blog-read-more,
.blog-card .green-link:hover,
.post-card .green-link:hover,
.blog-post-card .green-link:hover,
.article-card .green-link:hover,
[data-post-card] .green-link:hover,
[data-blog-card] .green-link:hover {
  transform: translateY(-2px) !important;
  background:
    linear-gradient(135deg, #ffffff, rgba(109,255,169,.92)) !important;
  color: #031008 !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.28) inset,
    0 0 34px rgba(109,255,169,.34),
    0 14px 32px rgba(0,0,0,.42) !important;
}

.blog-card:active .blog-read-more,
.post-card:active .blog-read-more,
.blog-post-card:active .blog-read-more,
.article-card:active .blog-read-more,
[data-post-card]:active .blog-read-more,
[data-blog-card]:active .blog-read-more {
  transform: translateY(0) scale(.98) !important;
}

/* =========================================================
   MOBILE CLEANUP PASS
   Cleaner phone layout without changing desktop.
   ========================================================= */

@media (max-width: 820px) {

  html,
  body {
    overflow-x: hidden !important;
  }

  body {
    font-size: 15px !important;
  }

  .shell {
    width: 100% !important;
    max-width: 100vw !important;
    padding: 10px !important;
    overflow-x: hidden !important;
  }

  .shell-corners {
    display: none !important;
  }

  /* Header / nav */
  .topbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
    min-height: 64px !important;
    padding: 10px 12px !important;
    border-radius: 18px !important;
    background: rgba(1, 8, 6, .88) !important;
    backdrop-filter: blur(16px) !important;
    gap: 10px !important;
  }

  .brand-lock {
    min-width: 0 !important;
    gap: 8px !important;
  }

  .brand-main {
    font-size: 20px !important;
    line-height: 1 !important;
  }

  .brand-sub {
    font-size: 10px !important;
    line-height: 1.05 !important;
    max-width: 145px !important;
    white-space: normal !important;
  }

  .mobile-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: auto !important;
    min-width: 74px !important;
    min-height: 38px !important;
    padding: 9px 12px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(109,255,169,.42) !important;
    background: rgba(109,255,169,.09) !important;
    color: var(--green) !important;
    font-family: var(--mono) !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
  }

  .top-cta {
    display: none !important;
  }

  .nav {
    position: absolute !important;
    left: 10px !important;
    right: 10px !important;
    top: calc(100% + 8px) !important;
    display: none !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 12px !important;
    border: 1px solid rgba(109,255,169,.24) !important;
    border-radius: 18px !important;
    background: rgba(1, 8, 6, .96) !important;
    box-shadow: 0 24px 70px rgba(0,0,0,.55) !important;
  }

  .nav.open,
  .nav.is-open,
  body.menu-open .nav,
  .topbar.menu-open .nav {
    display: grid !important;
  }

  .nav a {
    width: 100% !important;
    padding: 13px 14px !important;
    border-radius: 14px !important;
    border: 1px solid rgba(109,255,169,.12) !important;
    background: rgba(255,255,255,.035) !important;
    text-align: left !important;
  }

  .nav a.active,
  .nav a:hover {
    background: rgba(109,255,169,.12) !important;
    color: var(--green) !important;
  }

  /* Main spacing */
  main,
  .page-main {
    padding-top: 20px !important;
  }

  section {
    max-width: 100% !important;
  }

  .page-hero {
    padding: 28px 4px 18px !important;
    text-align: left !important;
  }

  .page-hero h1,
  .hero-title {
    font-size: clamp(46px, 15vw, 72px) !important;
    line-height: .86 !important;
    letter-spacing: -.05em !important;
    max-width: 100% !important;
  }

  .page-hero p,
  .hero-copy p {
    font-size: 16px !important;
    line-height: 1.45 !important;
    max-width: 100% !important;
  }

  .hero {
    min-height: auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    padding: 26px 4px 20px !important;
  }

  .hero-copy {
    order: 1 !important;
    max-width: 100% !important;
  }

  .brand-stage {
    order: 2 !important;
    min-height: 310px !important;
    transform: scale(.92) !important;
    transform-origin: center top !important;
  }

  .side-dots {
    display: none !important;
  }

  .hero-services {
    font-size: 14px !important;
    letter-spacing: .1em !important;
    margin: 10px 0 12px !important;
  }

  .button-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .cmd-btn,
  .play-link {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
    min-height: 48px !important;
  }

  /* Cards / grids */
  .dashboard,
  .grid-2,
  .grid-3,
  .service-grid,
  .portfolio-grid,
  .blog-grid,
  .blog-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .dash-panel,
  .glass,
  .service-card,
  .mini-card,
  .portfolio-card,
  .blog-card,
  .post-card,
  .blog-post-card,
  .article-card,
  [data-post-card],
  [data-blog-card] {
    border-radius: 20px !important;
    padding: 16px !important;
    max-width: 100% !important;
  }

  .service-card {
    min-height: auto !important;
    display: grid !important;
    grid-template-columns: 58px 1fr auto !important;
    align-items: center !important;
    gap: 12px !important;
    text-align: left !important;
  }

  .service-card .icon-line {
    width: 54px !important;
    height: 54px !important;
    margin: 0 !important;
  }

  .service-card h3,
  .service-card h3 span {
    text-align: left !important;
    white-space: normal !important;
    transform: none !important;
    font-size: 18px !important;
    line-height: 1.05 !important;
    margin: 0 !important;
  }

  .service-card p {
    grid-column: 2 / 3 !important;
    margin: 2px 0 0 !important;
    font-size: 13px !important;
  }

  .service-card .arrow {
    grid-column: 3 !important;
    grid-row: 1 / span 2 !important;
  }

  .right-stack {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .mini-card {
    display: grid !important;
    grid-template-columns: 58px 1fr !important;
    gap: 12px !important;
  }

  .mini-card h3 {
    font-size: 22px !important;
    line-height: 1.05 !important;
  }

  .bottom-strip {
    display: grid !important;
    gap: 10px !important;
    text-align: center !important;
    padding: 14px !important;
    border-radius: 18px !important;
  }

  /* Blog mobile cards */
  .blog-card,
  .post-card,
  .blog-post-card,
  .article-card,
  [data-post-card],
  [data-blog-card] {
    padding: 0 !important;
  }

  .blog-card .body,
  .blog-card .content,
  .post-card .body,
  .post-card .content,
  .blog-post-card .body,
  .blog-post-card .content,
  .article-card .body,
  .article-card .content,
  [data-post-card] .body,
  [data-post-card] .content,
  [data-blog-card] .body,
  [data-blog-card] .content {
    padding: 16px !important;
  }

  .blog-card h2,
  .blog-card h3,
  .post-card h2,
  .post-card h3,
  .blog-post-card h2,
  .blog-post-card h3,
  .article-card h2,
  .article-card h3,
  [data-post-card] h2,
  [data-post-card] h3,
  [data-blog-card] h2,
  [data-blog-card] h3 {
    font-size: 23px !important;
    line-height: 1.08 !important;
  }

  .blog-read-more,
  .blog-card .green-link,
  .post-card .green-link,
  .blog-post-card .green-link,
  .article-card .green-link,
  [data-post-card] .green-link,
  [data-blog-card] .green-link {
    width: 100% !important;
    min-width: 0 !important;
    margin-top: 14px !important;
  }

  /* Portfolio mobile */
  .portfolio-filter-bar {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  .filter-pill {
    text-align: center !important;
    padding: 11px 10px !important;
    font-size: 12px !important;
  }

  .portfolio-body {
    padding: 15px !important;
  }

  .portfolio-body h2 {
    font-size: 22px !important;
    line-height: 1.08 !important;
  }

  /* Forms */
  .contact-form,
  form.glass {
    display: grid !important;
    gap: 10px !important;
  }

  .input,
  input,
  textarea,
  select {
    width: 100% !important;
    min-height: 46px !important;
    font-size: 16px !important;
  }

  textarea {
    min-height: 130px !important;
  }

  /* Footer */
  .footer {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    text-align: center !important;
    padding: 18px 10px 24px !important;
    font-size: 12px !important;
  }

  .footer a {
    justify-self: center !important;
  }
}

/* Extra-small phone cleanup */
@media (max-width: 430px) {
  .shell {
    padding: 8px !important;
  }

  .brand-sub {
    max-width: 124px !important;
    font-size: 9px !important;
  }

  .mobile-toggle {
    min-width: 66px !important;
    font-size: 11px !important;
  }

  .hero-title,
  .page-hero h1 {
    font-size: clamp(40px, 15vw, 60px) !important;
  }

  .brand-stage {
    min-height: 270px !important;
    transform: scale(.84) !important;
  }

  .dash-panel,
  .glass,
  .mini-card {
    padding: 14px !important;
  }
}

/* =========================================================
   SENTRA PUBLIC PAGE
   ========================================================= */

.sentra-page {
  display: grid;
  gap: 24px;
}

.sentra-hero {
  max-width: 1050px;
}

.sentra-status-card {
  display: grid;
  grid-template-columns: 1.4fr 260px;
  gap: 24px;
  align-items: center;
  overflow: hidden;
}

.sentra-status-card h2,
.sentra-safe-note h2 {
  margin: 8px 0 10px;
  font-family: var(--mono);
  text-transform: uppercase;
  font-size: clamp(30px, 4vw, 58px);
  line-height: .95;
}

.sentra-orb {
  position: relative;
  width: 220px;
  height: 220px;
  justify-self: center;
  border-radius: 999px;
  border: 1px solid rgba(109,255,169,.35);
  background:
    radial-gradient(circle at center, rgba(109,255,169,.42), rgba(109,255,169,.06) 38%, transparent 62%),
    linear-gradient(135deg, rgba(109,255,169,.12), rgba(0,0,0,.5));
  box-shadow:
    0 0 70px rgba(109,255,169,.2),
    inset 0 0 40px rgba(109,255,169,.12);
}

.sentra-orb::before,
.sentra-orb::after,
.sentra-orb span {
  content: "";
  position: absolute;
  inset: 22px;
  border-radius: 999px;
  border: 1px solid rgba(109,255,169,.3);
}

.sentra-orb::after {
  inset: 52px;
  border-color: rgba(109,255,169,.5);
}

.sentra-orb span {
  inset: 84px;
  background: var(--green);
  box-shadow: 0 0 38px rgba(109,255,169,.75);
}

.sentra-grid .glass h3 {
  font-family: var(--mono);
  text-transform: uppercase;
  font-size: 26px;
}

.public-sentra-card {
  border-color: rgba(109,255,169,.32) !important;
}

@media (max-width: 820px) {
  .sentra-status-card {
    grid-template-columns: 1fr;
  }

  .sentra-orb {
    width: 180px;
    height: 180px;
  }
}

/* =========================================================
   SENTRA ANIMATED CORE
   Public-safe visual core for Sentra page.
   ========================================================= */

.sentra-core {
  position: relative;
  width: min(360px, 82vw);
  aspect-ratio: 1;
  justify-self: center;
  display: grid;
  place-items: center;
  isolation: isolate;
  border-radius: 999px;
  overflow: hidden;
  background:
    radial-gradient(circle at center, rgba(109,255,169,.28), rgba(109,255,169,.055) 35%, transparent 62%),
    radial-gradient(circle at center, rgba(255,255,255,.08), transparent 18%),
    rgba(0,0,0,.22);
  box-shadow:
    0 0 90px rgba(109,255,169,.22),
    inset 0 0 60px rgba(109,255,169,.1);
}

.sentra-core::before {
  content: "";
  position: absolute;
  inset: 11%;
  border-radius: inherit;
  border: 1px solid rgba(109,255,169,.28);
  box-shadow:
    inset 0 0 40px rgba(109,255,169,.14),
    0 0 40px rgba(109,255,169,.12);
  animation: sentraPulse 2.8s ease-in-out infinite;
}

.sentra-core::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    linear-gradient(transparent 0 48%, rgba(109,255,169,.32) 50%, transparent 52%),
    linear-gradient(90deg, transparent 0 48%, rgba(109,255,169,.22) 50%, transparent 52%);
  opacity: .42;
  animation: sentraCrosshair 5s ease-in-out infinite;
}

.core-grid {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    linear-gradient(rgba(109,255,169,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(109,255,169,.04) 1px, transparent 1px);
  background-size: 26px 26px;
  mask-image: radial-gradient(circle at center, #000 0 58%, transparent 72%);
  opacity: .75;
  animation: sentraGridDrift 12s linear infinite;
}

.core-ring {
  position: absolute;
  border-radius: inherit;
  border: 1px solid rgba(109,255,169,.32);
  box-shadow: 0 0 30px rgba(109,255,169,.08);
}

.ring-one {
  inset: 9%;
  border-top-color: rgba(255,255,255,.68);
  border-right-color: rgba(109,255,169,.72);
  animation: sentraRotate 10s linear infinite;
}

.ring-two {
  inset: 20%;
  border-left-color: rgba(255,255,255,.58);
  border-bottom-color: rgba(109,255,169,.7);
  animation: sentraRotateReverse 7s linear infinite;
}

.ring-three {
  inset: 32%;
  border-top-color: rgba(109,255,169,.84);
  border-right-color: transparent;
  animation: sentraRotate 4.8s linear infinite;
}

.core-orbit {
  position: absolute;
  inset: 6%;
  border-radius: inherit;
  border: 1px dashed rgba(109,255,169,.18);
  animation: sentraRotate 8s linear infinite;
}

.core-orbit i {
  position: absolute;
  top: 50%;
  right: -4px;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: var(--green);
  box-shadow: 0 0 18px rgba(109,255,169,.95);
}

.orbit-b {
  inset: 17%;
  transform: rotate(64deg);
  animation-duration: 11s;
  animation-direction: reverse;
}

.orbit-b i {
  width: 7px;
  height: 7px;
}

.orbit-c {
  inset: 27%;
  transform: rotate(-34deg);
  animation-duration: 5.5s;
}

.orbit-c i {
  width: 6px;
  height: 6px;
}

.core-scan {
  position: absolute;
  width: 120%;
  height: 18%;
  left: -10%;
  top: -22%;
  background: linear-gradient(
    180deg,
    transparent,
    rgba(109,255,169,.18),
    rgba(255,255,255,.12),
    transparent
  );
  filter: blur(.5px);
  opacity: .72;
  animation: sentraScan 3.4s ease-in-out infinite;
}

.core-eye {
  position: relative;
  z-index: 4;
  width: 31%;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background:
    radial-gradient(circle at center, rgba(255,255,255,.92), rgba(109,255,169,.85) 18%, rgba(109,255,169,.14) 52%, rgba(0,0,0,.44) 72%);
  box-shadow:
    0 0 34px rgba(109,255,169,.75),
    0 0 80px rgba(109,255,169,.28),
    inset 0 0 24px rgba(255,255,255,.24);
  animation: sentraEye 2.2s ease-in-out infinite;
}

.core-eye span {
  width: 36%;
  aspect-ratio: 1;
  border-radius: inherit;
  background: #001a0c;
  border: 1px solid rgba(255,255,255,.45);
  box-shadow:
    inset 0 0 10px rgba(109,255,169,.8),
    0 0 18px rgba(0,0,0,.8);
}

.core-status {
  position: absolute;
  z-index: 5;
  left: 50%;
  bottom: 9%;
  transform: translateX(-50%);
  width: max-content;
  max-width: 82%;
  display: grid;
  gap: 2px;
  text-align: center;
  padding: 9px 13px;
  border: 1px solid rgba(109,255,169,.38);
  border-radius: 999px;
  background: rgba(0,0,0,.62);
  box-shadow: 0 0 28px rgba(109,255,169,.14);
  backdrop-filter: blur(10px);
}

.core-status b {
  color: var(--green);
  font-family: var(--mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .12em;
  line-height: 1;
}

.core-status span {
  color: rgba(230,255,239,.82);
  font-size: 11px;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: .06em;
}

@keyframes sentraRotate {
  to { transform: rotate(360deg); }
}

@keyframes sentraRotateReverse {
  to { transform: rotate(-360deg); }
}

@keyframes sentraPulse {
  0%, 100% {
    transform: scale(.98);
    opacity: .72;
  }
  50% {
    transform: scale(1.035);
    opacity: 1;
  }
}

@keyframes sentraCrosshair {
  0%, 100% {
    opacity: .24;
    transform: scale(.96);
  }
  50% {
    opacity: .52;
    transform: scale(1.02);
  }
}

@keyframes sentraGridDrift {
  to { background-position: 52px 52px; }
}

@keyframes sentraScan {
  0% { transform: translateY(0) rotate(-12deg); opacity: 0; }
  18% { opacity: .75; }
  55% { opacity: .55; }
  100% { transform: translateY(680%) rotate(-12deg); opacity: 0; }
}

@keyframes sentraEye {
  0%, 100% {
    transform: scale(.96);
    filter: brightness(.95);
  }
  50% {
    transform: scale(1.04);
    filter: brightness(1.24);
  }
}

@media (max-width: 820px) {
  .sentra-core {
    width: min(300px, 86vw);
  }

  .core-status {
    bottom: 7%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sentra-core *,
  .sentra-core::before,
  .sentra-core::after {
    animation: none !important;
  }
}

/* =========================================================
   SENTRA CORE V2 — match private Sentra visual style
   Dark teal panel, wing lines, oval core, glowing center.
   ========================================================= */

.sentra-core-showcase {
  grid-template-columns: .9fr 1.25fr !important;
  gap: 28px !important;
  align-items: center !important;
}

.sentra-core-copy {
  position: relative;
  z-index: 3;
}

.sentra-core-copy h2 {
  margin: 8px 0 10px;
  font-family: var(--mono);
  text-transform: uppercase;
  font-size: clamp(32px, 4vw, 62px);
  line-height: .95;
}

.sentra-visual-core {
  position: relative;
  width: min(560px, 92vw);
  aspect-ratio: 0.82;
  justify-self: center;
  overflow: hidden;
  border-radius: 28px;
  border: 1px solid rgba(30, 255, 216, .27);
  background:
    radial-gradient(circle at 50% 62%, rgba(122,255,235,.24), transparent 22%),
    radial-gradient(circle at 50% 55%, rgba(24, 255, 221, .16), transparent 42%),
    linear-gradient(180deg, rgba(1,12,12,.96), rgba(0,5,6,.98));
  box-shadow:
    0 0 0 1px rgba(255,255,255,.025) inset,
    0 0 80px rgba(30,255,216,.12),
    0 32px 100px rgba(0,0,0,.58);
  isolation: isolate;
}

.sentra-visual-core::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(125,255,236,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(125,255,236,.025) 1px, transparent 1px);
  background-size: 4px 4px;
  opacity: .45;
  pointer-events: none;
}

.sentra-visual-core::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  border: 1px solid rgba(58,255,218,.18);
  box-shadow: inset 0 0 50px rgba(30,255,216,.08);
  pointer-events: none;
}

.sentra-v2-grid {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 58%, rgba(148,255,240,.22), transparent 16%),
    radial-gradient(circle at 50% 56%, rgba(148,255,240,.13), transparent 31%),
    radial-gradient(circle at 50% 56%, rgba(0,0,0,.55), transparent 52%);
  opacity: .98;
}

.sentra-wing {
  position: absolute;
  top: 30%;
  width: 44%;
  height: 34%;
  z-index: 1;
  opacity: .78;
}

.sentra-wing-left {
  left: -2%;
  transform: skewY(9deg);
}

.sentra-wing-right {
  right: -2%;
  transform: skewY(-9deg);
}

.sentra-wing span {
  position: absolute;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(70, 238, 255, .58), transparent);
  box-shadow: 0 0 13px rgba(70,238,255,.3);
  animation: sentraWingPulse 3.8s ease-in-out infinite;
}

.sentra-wing-left span {
  right: 0;
}

.sentra-wing-right span {
  left: 0;
}

.sentra-wing span:nth-child(1) { top: 0%; width: 74%; animation-delay: 0s; }
.sentra-wing span:nth-child(2) { top: 18%; width: 92%; animation-delay: .25s; }
.sentra-wing span:nth-child(3) { top: 36%; width: 100%; animation-delay: .5s; }
.sentra-wing span:nth-child(4) { top: 54%; width: 86%; animation-delay: .75s; }
.sentra-wing span:nth-child(5) { top: 72%; width: 62%; animation-delay: 1s; }

.sentra-dot {
  position: absolute;
  z-index: 4;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(224,255,255,.94);
  box-shadow: 0 0 14px rgba(132,255,245,.72);
  animation: sentraDotBlink 3.4s ease-in-out infinite;
}

.sentra-dot.d1 { left: 16%; top: 37%; animation-delay: .1s; }
.sentra-dot.d2 { left: 28%; top: 42%; width: 6px; height: 6px; animation-delay: .6s; }
.sentra-dot.d3 { left: 39%; top: 50%; width: 11px; height: 11px; animation-delay: 1.1s; }
.sentra-dot.d4 { right: 39%; top: 50%; width: 11px; height: 11px; animation-delay: 1.35s; }
.sentra-dot.d5 { right: 28%; top: 42%; width: 6px; height: 6px; animation-delay: .8s; }
.sentra-dot.d6 { right: 16%; top: 37%; animation-delay: .25s; }

.sentra-platform {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 18%;
  width: 58%;
  height: 12%;
  transform: translateX(-50%);
  border-radius: 50%;
  border: 1px solid rgba(54,255,226,.28);
  background:
    radial-gradient(ellipse at center, rgba(30,255,216,.08), rgba(0,0,0,.4) 62%, transparent 68%);
  box-shadow:
    0 0 34px rgba(30,255,216,.12),
    inset 0 0 28px rgba(30,255,216,.08);
}

.sentra-v2-ring {
  position: absolute;
  z-index: 5;
  left: 50%;
  top: 54%;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.sentra-v2-ring.outer {
  width: 34%;
  height: 58%;
  border: 3px solid rgba(28,255,217,.76);
  box-shadow:
    0 0 18px rgba(28,255,217,.58),
    0 0 54px rgba(28,255,217,.26),
    inset 0 0 24px rgba(28,255,217,.12);
  animation: sentraOvalGlow 2.8s ease-in-out infinite;
}

.sentra-v2-ring.middle {
  width: 25%;
  height: 50%;
  border: 3px solid rgba(129,255,247,.38);
  box-shadow:
    0 0 40px rgba(129,255,247,.14),
    inset 0 0 28px rgba(129,255,247,.1);
  animation: sentraOvalFloat 4.5s ease-in-out infinite;
}

.sentra-v2-ring.inner {
  width: 15%;
  height: 34%;
  border: 2px solid rgba(206,255,255,.24);
  box-shadow: 0 0 28px rgba(206,255,255,.12);
  animation: sentraOvalFloat 3.8s ease-in-out infinite reverse;
}

.sentra-core-body {
  position: absolute;
  z-index: 4;
  left: 50%;
  top: 57%;
  width: 29%;
  height: 31%;
  transform: translate(-50%, -50%);
  border-radius: 48% 48% 43% 43%;
  background:
    radial-gradient(circle at 50% 55%, rgba(151,255,239,.34), transparent 28%),
    linear-gradient(180deg, rgba(4,28,27,.97), rgba(0,4,5,.98));
  box-shadow:
    inset 0 0 26px rgba(126,255,239,.16),
    0 0 44px rgba(0,0,0,.84);
  overflow: hidden;
}

.sentra-core-body::before {
  content: "";
  position: absolute;
  inset: -4% 10% 8%;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 18%, rgba(255,255,255,.18), transparent 24%);
  opacity: .7;
}

.sentra-core-glass {
  position: absolute;
  inset: -14% 18% 8%;
  border-radius: 50%;
  border: 1px solid rgba(160,255,247,.16);
  background: linear-gradient(90deg, rgba(255,255,255,.02), rgba(160,255,247,.12), rgba(255,255,255,.02));
  opacity: .8;
}

.sentra-core-light {
  position: absolute;
  z-index: 6;
  left: 50%;
  bottom: 23%;
  width: 42%;
  aspect-ratio: 1;
  transform: translateX(-50%);
  display: grid;
  place-items: center;
  border-radius: 999px;
  background:
    radial-gradient(circle, #f4ffff 0 10%, rgba(182,255,247,.95) 26%, rgba(105,255,235,.35) 58%, transparent 72%);
  box-shadow:
    0 0 20px rgba(214,255,252,.92),
    0 0 58px rgba(91,255,232,.6),
    0 0 100px rgba(91,255,232,.28);
  animation: sentraCoreBreath 2.6s ease-in-out infinite;
}

.sentra-core-light span {
  width: 54%;
  height: 2px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 0 10px rgba(255,255,255,.8);
  position: relative;
}

.sentra-core-light span::before,
.sentra-core-light span::after {
  content: "";
  position: absolute;
  top: 0;
  width: 44%;
  height: 2px;
  background: rgba(255,255,255,.88);
  transform-origin: center;
}

.sentra-core-light span::before {
  left: -5%;
  transform: rotate(32deg);
}

.sentra-core-light span::after {
  right: -5%;
  transform: rotate(-32deg);
}

.sentra-v2-scan {
  position: absolute;
  z-index: 7;
  left: 50%;
  top: 18%;
  width: 2px;
  height: 12%;
  background: linear-gradient(transparent, rgba(151,255,247,.82), transparent);
  box-shadow: 0 0 18px rgba(151,255,247,.6);
  animation: sentraVerticalScan 3.2s ease-in-out infinite;
}

@keyframes sentraWingPulse {
  0%, 100% { opacity: .42; transform: translateX(0); }
  50% { opacity: .95; transform: translateX(5px); }
}

@keyframes sentraDotBlink {
  0%, 100% { opacity: .38; transform: scale(.82); }
  50% { opacity: 1; transform: scale(1.2); }
}

@keyframes sentraOvalGlow {
  0%, 100% {
    filter: brightness(.9);
    transform: translate(-50%, -50%) scale(.985);
  }
  50% {
    filter: brightness(1.26);
    transform: translate(-50%, -50%) scale(1.025);
  }
}

@keyframes sentraOvalFloat {
  0%, 100% { transform: translate(-50%, -50%) scale(.98); opacity: .72; }
  50% { transform: translate(-50%, -50%) scale(1.04); opacity: 1; }
}

@keyframes sentraCoreBreath {
  0%, 100% {
    transform: translateX(-50%) scale(.94);
    filter: brightness(.92);
  }
  50% {
    transform: translateX(-50%) scale(1.08);
    filter: brightness(1.25);
  }
}

@keyframes sentraVerticalScan {
  0%, 100% {
    opacity: .25;
    transform: translateX(-50%) translateY(-14px);
  }
  50% {
    opacity: 1;
    transform: translateX(-50%) translateY(22px);
  }
}

@media (max-width: 900px) {
  .sentra-core-showcase {
    grid-template-columns: 1fr !important;
  }

  .sentra-visual-core {
    width: min(520px, 94vw);
  }
}

@media (max-width: 520px) {
  .sentra-visual-core {
    width: 100%;
    border-radius: 22px;
  }

  .sentra-wing {
    top: 31%;
    width: 48%;
  }

  .sentra-v2-ring.outer {
    width: 39%;
    height: 55%;
  }

  .sentra-core-body {
    width: 33%;
    height: 30%;
  }
}

/* =========================================================
   SENTRA CORE V2 — match private Sentra visual style
   Dark teal panel, wing lines, oval core, glowing center.
   ========================================================= */

.sentra-core-showcase {
  grid-template-columns: .9fr 1.25fr !important;
  gap: 28px !important;
  align-items: center !important;
}

.sentra-core-copy {
  position: relative;
  z-index: 3;
}

.sentra-core-copy h2 {
  margin: 8px 0 10px;
  font-family: var(--mono);
  text-transform: uppercase;
  font-size: clamp(32px, 4vw, 62px);
  line-height: .95;
}

.sentra-visual-core {
  position: relative;
  width: min(560px, 92vw);
  aspect-ratio: 0.82;
  justify-self: center;
  overflow: hidden;
  border-radius: 28px;
  border: 1px solid rgba(30, 255, 216, .27);
  background:
    radial-gradient(circle at 50% 62%, rgba(122,255,235,.24), transparent 22%),
    radial-gradient(circle at 50% 55%, rgba(24, 255, 221, .16), transparent 42%),
    linear-gradient(180deg, rgba(1,12,12,.96), rgba(0,5,6,.98));
  box-shadow:
    0 0 0 1px rgba(255,255,255,.025) inset,
    0 0 80px rgba(30,255,216,.12),
    0 32px 100px rgba(0,0,0,.58);
  isolation: isolate;
}

.sentra-visual-core::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(125,255,236,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(125,255,236,.025) 1px, transparent 1px);
  background-size: 4px 4px;
  opacity: .45;
  pointer-events: none;
}

.sentra-visual-core::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  border: 1px solid rgba(58,255,218,.18);
  box-shadow: inset 0 0 50px rgba(30,255,216,.08);
  pointer-events: none;
}

.sentra-v2-grid {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 58%, rgba(148,255,240,.22), transparent 16%),
    radial-gradient(circle at 50% 56%, rgba(148,255,240,.13), transparent 31%),
    radial-gradient(circle at 50% 56%, rgba(0,0,0,.55), transparent 52%);
  opacity: .98;
}

.sentra-wing {
  position: absolute;
  top: 30%;
  width: 44%;
  height: 34%;
  z-index: 1;
  opacity: .78;
}

.sentra-wing-left {
  left: -2%;
  transform: skewY(9deg);
}

.sentra-wing-right {
  right: -2%;
  transform: skewY(-9deg);
}

.sentra-wing span {
  position: absolute;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(70, 238, 255, .58), transparent);
  box-shadow: 0 0 13px rgba(70,238,255,.3);
  animation: sentraWingPulse 3.8s ease-in-out infinite;
}

.sentra-wing-left span {
  right: 0;
}

.sentra-wing-right span {
  left: 0;
}

.sentra-wing span:nth-child(1) { top: 0%; width: 74%; animation-delay: 0s; }
.sentra-wing span:nth-child(2) { top: 18%; width: 92%; animation-delay: .25s; }
.sentra-wing span:nth-child(3) { top: 36%; width: 100%; animation-delay: .5s; }
.sentra-wing span:nth-child(4) { top: 54%; width: 86%; animation-delay: .75s; }
.sentra-wing span:nth-child(5) { top: 72%; width: 62%; animation-delay: 1s; }

.sentra-dot {
  position: absolute;
  z-index: 4;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(224,255,255,.94);
  box-shadow: 0 0 14px rgba(132,255,245,.72);
  animation: sentraDotBlink 3.4s ease-in-out infinite;
}

.sentra-dot.d1 { left: 16%; top: 37%; animation-delay: .1s; }
.sentra-dot.d2 { left: 28%; top: 42%; width: 6px; height: 6px; animation-delay: .6s; }
.sentra-dot.d3 { left: 39%; top: 50%; width: 11px; height: 11px; animation-delay: 1.1s; }
.sentra-dot.d4 { right: 39%; top: 50%; width: 11px; height: 11px; animation-delay: 1.35s; }
.sentra-dot.d5 { right: 28%; top: 42%; width: 6px; height: 6px; animation-delay: .8s; }
.sentra-dot.d6 { right: 16%; top: 37%; animation-delay: .25s; }

.sentra-platform {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 18%;
  width: 58%;
  height: 12%;
  transform: translateX(-50%);
  border-radius: 50%;
  border: 1px solid rgba(54,255,226,.28);
  background:
    radial-gradient(ellipse at center, rgba(30,255,216,.08), rgba(0,0,0,.4) 62%, transparent 68%);
  box-shadow:
    0 0 34px rgba(30,255,216,.12),
    inset 0 0 28px rgba(30,255,216,.08);
}

.sentra-v2-ring {
  position: absolute;
  z-index: 5;
  left: 50%;
  top: 54%;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.sentra-v2-ring.outer {
  width: 34%;
  height: 58%;
  border: 3px solid rgba(28,255,217,.76);
  box-shadow:
    0 0 18px rgba(28,255,217,.58),
    0 0 54px rgba(28,255,217,.26),
    inset 0 0 24px rgba(28,255,217,.12);
  animation: sentraOvalGlow 2.8s ease-in-out infinite;
}

.sentra-v2-ring.middle {
  width: 25%;
  height: 50%;
  border: 3px solid rgba(129,255,247,.38);
  box-shadow:
    0 0 40px rgba(129,255,247,.14),
    inset 0 0 28px rgba(129,255,247,.1);
  animation: sentraOvalFloat 4.5s ease-in-out infinite;
}

.sentra-v2-ring.inner {
  width: 15%;
  height: 34%;
  border: 2px solid rgba(206,255,255,.24);
  box-shadow: 0 0 28px rgba(206,255,255,.12);
  animation: sentraOvalFloat 3.8s ease-in-out infinite reverse;
}

.sentra-core-body {
  position: absolute;
  z-index: 4;
  left: 50%;
  top: 57%;
  width: 29%;
  height: 31%;
  transform: translate(-50%, -50%);
  border-radius: 48% 48% 43% 43%;
  background:
    radial-gradient(circle at 50% 55%, rgba(151,255,239,.34), transparent 28%),
    linear-gradient(180deg, rgba(4,28,27,.97), rgba(0,4,5,.98));
  box-shadow:
    inset 0 0 26px rgba(126,255,239,.16),
    0 0 44px rgba(0,0,0,.84);
  overflow: hidden;
}

.sentra-core-body::before {
  content: "";
  position: absolute;
  inset: -4% 10% 8%;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 18%, rgba(255,255,255,.18), transparent 24%);
  opacity: .7;
}

.sentra-core-glass {
  position: absolute;
  inset: -14% 18% 8%;
  border-radius: 50%;
  border: 1px solid rgba(160,255,247,.16);
  background: linear-gradient(90deg, rgba(255,255,255,.02), rgba(160,255,247,.12), rgba(255,255,255,.02));
  opacity: .8;
}

.sentra-core-light {
  position: absolute;
  z-index: 6;
  left: 50%;
  bottom: 23%;
  width: 42%;
  aspect-ratio: 1;
  transform: translateX(-50%);
  display: grid;
  place-items: center;
  border-radius: 999px;
  background:
    radial-gradient(circle, #f4ffff 0 10%, rgba(182,255,247,.95) 26%, rgba(105,255,235,.35) 58%, transparent 72%);
  box-shadow:
    0 0 20px rgba(214,255,252,.92),
    0 0 58px rgba(91,255,232,.6),
    0 0 100px rgba(91,255,232,.28);
  animation: sentraCoreBreath 2.6s ease-in-out infinite;
}

.sentra-core-light span {
  width: 54%;
  height: 2px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 0 10px rgba(255,255,255,.8);
  position: relative;
}

.sentra-core-light span::before,
.sentra-core-light span::after {
  content: "";
  position: absolute;
  top: 0;
  width: 44%;
  height: 2px;
  background: rgba(255,255,255,.88);
  transform-origin: center;
}

.sentra-core-light span::before {
  left: -5%;
  transform: rotate(32deg);
}

.sentra-core-light span::after {
  right: -5%;
  transform: rotate(-32deg);
}

.sentra-v2-scan {
  position: absolute;
  z-index: 7;
  left: 50%;
  top: 18%;
  width: 2px;
  height: 12%;
  background: linear-gradient(transparent, rgba(151,255,247,.82), transparent);
  box-shadow: 0 0 18px rgba(151,255,247,.6);
  animation: sentraVerticalScan 3.2s ease-in-out infinite;
}

@keyframes sentraWingPulse {
  0%, 100% { opacity: .42; transform: translateX(0); }
  50% { opacity: .95; transform: translateX(5px); }
}

@keyframes sentraDotBlink {
  0%, 100% { opacity: .38; transform: scale(.82); }
  50% { opacity: 1; transform: scale(1.2); }
}

@keyframes sentraOvalGlow {
  0%, 100% {
    filter: brightness(.9);
    transform: translate(-50%, -50%) scale(.985);
  }
  50% {
    filter: brightness(1.26);
    transform: translate(-50%, -50%) scale(1.025);
  }
}

@keyframes sentraOvalFloat {
  0%, 100% { transform: translate(-50%, -50%) scale(.98); opacity: .72; }
  50% { transform: translate(-50%, -50%) scale(1.04); opacity: 1; }
}

@keyframes sentraCoreBreath {
  0%, 100% {
    transform: translateX(-50%) scale(.94);
    filter: brightness(.92);
  }
  50% {
    transform: translateX(-50%) scale(1.08);
    filter: brightness(1.25);
  }
}

@keyframes sentraVerticalScan {
  0%, 100% {
    opacity: .25;
    transform: translateX(-50%) translateY(-14px);
  }
  50% {
    opacity: 1;
    transform: translateX(-50%) translateY(22px);
  }
}

@media (max-width: 900px) {
  .sentra-core-showcase {
    grid-template-columns: 1fr !important;
  }

  .sentra-visual-core {
    width: min(520px, 94vw);
  }
}

@media (max-width: 520px) {
  .sentra-visual-core {
    width: 100%;
    border-radius: 22px;
  }

  .sentra-wing {
    top: 31%;
    width: 48%;
  }

  .sentra-v2-ring.outer {
    width: 39%;
    height: 55%;
  }

  .sentra-core-body {
    width: 33%;
    height: 30%;
  }
}

/* =========================================================
   SENTRA V3 — smaller, cleaner, more animated, site-matched
   ========================================================= */

.core-v3-showcase {
  grid-template-columns: 1fr 430px !important;
  gap: 26px !important;
  align-items: center !important;
}

.core-v3-showcase .sentra-core-copy h2 {
  margin: 8px 0 10px !important;
  font-family: var(--mono) !important;
  text-transform: uppercase !important;
  font-size: clamp(30px, 4vw, 58px) !important;
  line-height: .95 !important;
}

.sentra-core-v3 {
  position: relative !important;
  width: min(390px, 88vw) !important;
  aspect-ratio: 0.88 !important;
  justify-self: center !important;
  overflow: hidden !important;
  border-radius: 28px !important;
  border: 1px solid rgba(36,255,216,.34) !important;
  background:
    radial-gradient(circle at 50% 64%, rgba(174,255,245,.24), transparent 17%),
    radial-gradient(circle at 50% 58%, rgba(36,255,216,.18), transparent 38%),
    linear-gradient(180deg, rgba(2,18,18,.98), rgba(0,5,6,.98)) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.035) inset,
    0 0 65px rgba(36,255,216,.14),
    0 28px 80px rgba(0,0,0,.58) !important;
  isolation: isolate !important;
}

.sentra-core-v3::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(rgba(130,255,242,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(130,255,242,.028) 1px, transparent 1px) !important;
  background-size: 5px 5px !important;
  opacity: .65 !important;
  animation: sentraV3GridDrift 12s linear infinite !important;
}

.sentra-core-v3::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: inherit !important;
  box-shadow:
    inset 0 0 60px rgba(36,255,216,.09),
    inset 0 -60px 90px rgba(0,0,0,.45) !important;
  pointer-events: none !important;
}

.v3-panel-grid {
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(circle at 50% 58%, rgba(184,255,247,.20), transparent 15%),
    radial-gradient(circle at 50% 58%, rgba(36,255,216,.15), transparent 34%),
    radial-gradient(circle at 50% 58%, rgba(0,0,0,.65), transparent 55%) !important;
}

.v3-radar-sweep {
  position: absolute !important;
  z-index: 2 !important;
  left: 50% !important;
  top: 50% !important;
  width: 120% !important;
  height: 120% !important;
  transform-origin: center !important;
  background: conic-gradient(from 0deg, transparent 0 78%, rgba(36,255,216,.2) 84%, rgba(255,255,255,.09) 87%, transparent 93% 100%) !important;
  opacity: .46 !important;
  animation: sentraV3Radar 5.8s linear infinite !important;
  mask-image: radial-gradient(circle at center, transparent 0 11%, #000 18%, #000 58%, transparent 70%) !important;
}

.v3-wing {
  position: absolute !important;
  top: 32% !important;
  width: 47% !important;
  height: 30% !important;
  z-index: 3 !important;
}

.v3-wing.left {
  left: -3% !important;
  transform: skewY(8deg) !important;
}

.v3-wing.right {
  right: -3% !important;
  transform: skewY(-8deg) !important;
}

.v3-wing span {
  position: absolute !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, transparent, rgba(52,235,255,.72), transparent) !important;
  box-shadow: 0 0 16px rgba(52,235,255,.38) !important;
  animation: sentraV3WingFlow 2.6s ease-in-out infinite !important;
}

.v3-wing.left span { right: 0 !important; }
.v3-wing.right span { left: 0 !important; }

.v3-wing span:nth-child(1) { top: 0%; width: 62%; animation-delay: 0s !important; }
.v3-wing span:nth-child(2) { top: 16%; width: 82%; animation-delay: .12s !important; }
.v3-wing span:nth-child(3) { top: 32%; width: 100%; animation-delay: .24s !important; }
.v3-wing span:nth-child(4) { top: 48%; width: 94%; animation-delay: .36s !important; }
.v3-wing span:nth-child(5) { top: 64%; width: 78%; animation-delay: .48s !important; }
.v3-wing span:nth-child(6) { top: 80%; width: 52%; animation-delay: .60s !important; }

.v3-particle {
  position: absolute !important;
  z-index: 7 !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 999px !important;
  background: rgba(230,255,255,.95) !important;
  box-shadow: 0 0 16px rgba(113,255,244,.8) !important;
  animation: sentraV3Particle 2.8s ease-in-out infinite !important;
}

.v3-particle.p1 { left: 9%; top: 39%; animation-delay: 0s !important; }
.v3-particle.p2 { left: 18%; top: 45%; width: 5px !important; height: 5px !important; animation-delay: .35s !important; }
.v3-particle.p3 { left: 30%; top: 50%; width: 10px !important; height: 10px !important; animation-delay: .7s !important; }
.v3-particle.p4 { left: 42%; top: 56%; width: 6px !important; height: 6px !important; animation-delay: 1.05s !important; }
.v3-particle.p5 { right: 42%; top: 56%; width: 6px !important; height: 6px !important; animation-delay: 1.2s !important; }
.v3-particle.p6 { right: 30%; top: 50%; width: 10px !important; height: 10px !important; animation-delay: .85s !important; }
.v3-particle.p7 { right: 18%; top: 45%; width: 5px !important; height: 5px !important; animation-delay: .5s !important; }
.v3-particle.p8 { right: 9%; top: 39%; animation-delay: .15s !important; }

.v3-platform {
  position: absolute !important;
  z-index: 4 !important;
  left: 50% !important;
  bottom: 18% !important;
  width: 54% !important;
  height: 11% !important;
  transform: translateX(-50%) !important;
  border-radius: 50% !important;
  border: 1px solid rgba(36,255,216,.32) !important;
  background: radial-gradient(ellipse at center, rgba(36,255,216,.1), rgba(0,0,0,.46) 62%, transparent 69%) !important;
  box-shadow:
    0 0 36px rgba(36,255,216,.15),
    inset 0 0 26px rgba(36,255,216,.1) !important;
  animation: sentraV3Platform 3.4s ease-in-out infinite !important;
}

.v3-oval {
  position: absolute !important;
  z-index: 8 !important;
  left: 50% !important;
  top: 55% !important;
  border-radius: 50% !important;
  transform: translate(-50%, -50%) !important;
  pointer-events: none !important;
}

.v3-oval.oval-a {
  width: 36% !important;
  height: 61% !important;
  border: 3px solid rgba(32,255,215,.86) !important;
  box-shadow:
    0 0 18px rgba(32,255,215,.65),
    0 0 56px rgba(32,255,215,.3),
    inset 0 0 24px rgba(32,255,215,.14) !important;
  animation: sentraV3OvalA 2.1s ease-in-out infinite !important;
}

.v3-oval.oval-b {
  width: 26% !important;
  height: 52% !important;
  border: 3px solid rgba(155,255,247,.42) !important;
  box-shadow: 0 0 42px rgba(155,255,247,.16) !important;
  animation: sentraV3OvalB 3.2s ease-in-out infinite !important;
}

.v3-oval.oval-c {
  width: 16% !important;
  height: 35% !important;
  border: 2px solid rgba(228,255,255,.25) !important;
  box-shadow: 0 0 28px rgba(228,255,255,.12) !important;
  animation: sentraV3OvalC 2.7s ease-in-out infinite !important;
}

.v3-core-shell {
  position: absolute !important;
  z-index: 6 !important;
  left: 50% !important;
  top: 58% !important;
  width: 30% !important;
  height: 31% !important;
  transform: translate(-50%, -50%) !important;
  border-radius: 48% 48% 43% 43% !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 50% 58%, rgba(151,255,239,.32), transparent 28%),
    linear-gradient(180deg, rgba(5,34,32,.98), rgba(0,5,6,.99)) !important;
  box-shadow:
    inset 0 0 28px rgba(126,255,239,.18),
    0 0 48px rgba(0,0,0,.86) !important;
  animation: sentraV3CoreBody 3.1s ease-in-out infinite !important;
}

.v3-core-reflection {
  position: absolute !important;
  inset: -16% 16% 8% !important;
  border-radius: 50% !important;
  border: 1px solid rgba(190,255,247,.16) !important;
  background: linear-gradient(90deg, rgba(255,255,255,.02), rgba(190,255,247,.13), rgba(255,255,255,.02)) !important;
}

.v3-core-center {
  position: absolute !important;
  z-index: 9 !important;
  left: 50% !important;
  bottom: 23% !important;
  width: 42% !important;
  aspect-ratio: 1 !important;
  transform: translateX(-50%) !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  background:
    radial-gradient(circle, #ffffff 0 10%, rgba(208,255,252,.98) 24%, rgba(94,255,232,.44) 60%, transparent 74%) !important;
  box-shadow:
    0 0 24px rgba(235,255,253,.95),
    0 0 60px rgba(91,255,232,.68),
    0 0 110px rgba(91,255,232,.32) !important;
  animation: sentraV3Light 1.55s ease-in-out infinite !important;
}

.v3-core-center i {
  width: 54% !important;
  height: 2px !important;
  display: block !important;
  position: relative !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: 0 0 10px rgba(255,255,255,.9) !important;
}

.v3-core-center i::before,
.v3-core-center i::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  width: 44% !important;
  height: 2px !important;
  background: rgba(255,255,255,.92) !important;
}

.v3-core-center i::before {
  left: -5% !important;
  transform: rotate(32deg) !important;
}

.v3-core-center i::after {
  right: -5% !important;
  transform: rotate(-32deg) !important;
}

.v3-data-line {
  position: absolute !important;
  z-index: 10 !important;
  left: 50% !important;
  width: 2px !important;
  height: 32px !important;
  background: linear-gradient(transparent, rgba(156,255,247,.92), transparent) !important;
  box-shadow: 0 0 18px rgba(156,255,247,.68) !important;
}

.v3-data-line.top {
  top: 18% !important;
  animation: sentraV3DataTop 2.2s ease-in-out infinite !important;
}

.v3-data-line.bottom {
  bottom: 28% !important;
  height: 24px !important;
  animation: sentraV3DataBottom 2.6s ease-in-out infinite !important;
}

@keyframes sentraV3GridDrift {
  to { background-position: 40px 40px; }
}

@keyframes sentraV3Radar {
  to { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes sentraV3WingFlow {
  0%, 100% { opacity: .34; filter: brightness(.85); transform: translateX(0) scaleX(.94); }
  45% { opacity: 1; filter: brightness(1.35); transform: translateX(6px) scaleX(1.04); }
}

@keyframes sentraV3Particle {
  0%, 100% { opacity: .36; transform: scale(.78) translateY(0); }
  50% { opacity: 1; transform: scale(1.2) translateY(-4px); }
}

@keyframes sentraV3Platform {
  0%, 100% { opacity: .62; transform: translateX(-50%) scale(.96); }
  50% { opacity: 1; transform: translateX(-50%) scale(1.04); }
}

@keyframes sentraV3OvalA {
  0%, 100% { transform: translate(-50%, -50%) scale(.98); filter: brightness(.95); }
  50% { transform: translate(-50%, -50%) scale(1.035); filter: brightness(1.4); }
}

@keyframes sentraV3OvalB {
  0%, 100% { transform: translate(-50%, -50%) scale(1.02); opacity: .7; }
  50% { transform: translate(-50%, -50%) scale(.95); opacity: 1; }
}

@keyframes sentraV3OvalC {
  0%, 100% { transform: translate(-50%, -50%) scale(.92); opacity: .42; }
  50% { transform: translate(-50%, -50%) scale(1.12); opacity: .95; }
}

@keyframes sentraV3CoreBody {
  0%, 100% { transform: translate(-50%, -50%) scale(.98); }
  50% { transform: translate(-50%, -50%) scale(1.025); }
}

@keyframes sentraV3Light {
  0%, 100% { transform: translateX(-50%) scale(.9); filter: brightness(.92); }
  50% { transform: translateX(-50%) scale(1.18); filter: brightness(1.35); }
}

@keyframes sentraV3DataTop {
  0%, 100% { opacity: .2; transform: translateX(-50%) translateY(-12px); }
  50% { opacity: 1; transform: translateX(-50%) translateY(18px); }
}

@keyframes sentraV3DataBottom {
  0%, 100% { opacity: .2; transform: translateX(-50%) translateY(12px); }
  50% { opacity: .9; transform: translateX(-50%) translateY(-16px); }
}

.home-sentra-card {
  border-color: rgba(109,255,169,.34) !important;
}

@media (max-width: 920px) {
  .core-v3-showcase {
    grid-template-columns: 1fr !important;
  }

  .sentra-core-v3 {
    width: min(360px, 90vw) !important;
  }
}

@media (max-width: 520px) {
  .sentra-core-v3 {
    width: min(320px, 92vw) !important;
    border-radius: 22px !important;
  }

  .v3-wing {
    top: 33% !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sentra-core-v3,
  .sentra-core-v3 *,
  .sentra-core-v3::before,
  .sentra-core-v3::after {
    animation: none !important;
  }
}

/* =========================================================
   SENTRA V3 — smaller, cleaner, more animated, site-matched
   ========================================================= */

.core-v3-showcase {
  grid-template-columns: 1fr 430px !important;
  gap: 26px !important;
  align-items: center !important;
}

.core-v3-showcase .sentra-core-copy h2 {
  margin: 8px 0 10px !important;
  font-family: var(--mono) !important;
  text-transform: uppercase !important;
  font-size: clamp(30px, 4vw, 58px) !important;
  line-height: .95 !important;
}

.sentra-core-v3 {
  position: relative !important;
  width: min(390px, 88vw) !important;
  aspect-ratio: 0.88 !important;
  justify-self: center !important;
  overflow: hidden !important;
  border-radius: 28px !important;
  border: 1px solid rgba(36,255,216,.34) !important;
  background:
    radial-gradient(circle at 50% 64%, rgba(174,255,245,.24), transparent 17%),
    radial-gradient(circle at 50% 58%, rgba(36,255,216,.18), transparent 38%),
    linear-gradient(180deg, rgba(2,18,18,.98), rgba(0,5,6,.98)) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.035) inset,
    0 0 65px rgba(36,255,216,.14),
    0 28px 80px rgba(0,0,0,.58) !important;
  isolation: isolate !important;
}

.sentra-core-v3::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(rgba(130,255,242,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(130,255,242,.028) 1px, transparent 1px) !important;
  background-size: 5px 5px !important;
  opacity: .65 !important;
  animation: sentraV3GridDrift 12s linear infinite !important;
}

.sentra-core-v3::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: inherit !important;
  box-shadow:
    inset 0 0 60px rgba(36,255,216,.09),
    inset 0 -60px 90px rgba(0,0,0,.45) !important;
  pointer-events: none !important;
}

.v3-panel-grid {
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(circle at 50% 58%, rgba(184,255,247,.20), transparent 15%),
    radial-gradient(circle at 50% 58%, rgba(36,255,216,.15), transparent 34%),
    radial-gradient(circle at 50% 58%, rgba(0,0,0,.65), transparent 55%) !important;
}

.v3-radar-sweep {
  position: absolute !important;
  z-index: 2 !important;
  left: 50% !important;
  top: 50% !important;
  width: 120% !important;
  height: 120% !important;
  transform-origin: center !important;
  background: conic-gradient(from 0deg, transparent 0 78%, rgba(36,255,216,.2) 84%, rgba(255,255,255,.09) 87%, transparent 93% 100%) !important;
  opacity: .46 !important;
  animation: sentraV3Radar 5.8s linear infinite !important;
  mask-image: radial-gradient(circle at center, transparent 0 11%, #000 18%, #000 58%, transparent 70%) !important;
}

.v3-wing {
  position: absolute !important;
  top: 32% !important;
  width: 47% !important;
  height: 30% !important;
  z-index: 3 !important;
}

.v3-wing.left {
  left: -3% !important;
  transform: skewY(8deg) !important;
}

.v3-wing.right {
  right: -3% !important;
  transform: skewY(-8deg) !important;
}

.v3-wing span {
  position: absolute !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, transparent, rgba(52,235,255,.72), transparent) !important;
  box-shadow: 0 0 16px rgba(52,235,255,.38) !important;
  animation: sentraV3WingFlow 2.6s ease-in-out infinite !important;
}

.v3-wing.left span { right: 0 !important; }
.v3-wing.right span { left: 0 !important; }

.v3-wing span:nth-child(1) { top: 0%; width: 62%; animation-delay: 0s !important; }
.v3-wing span:nth-child(2) { top: 16%; width: 82%; animation-delay: .12s !important; }
.v3-wing span:nth-child(3) { top: 32%; width: 100%; animation-delay: .24s !important; }
.v3-wing span:nth-child(4) { top: 48%; width: 94%; animation-delay: .36s !important; }
.v3-wing span:nth-child(5) { top: 64%; width: 78%; animation-delay: .48s !important; }
.v3-wing span:nth-child(6) { top: 80%; width: 52%; animation-delay: .60s !important; }

.v3-particle {
  position: absolute !important;
  z-index: 7 !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 999px !important;
  background: rgba(230,255,255,.95) !important;
  box-shadow: 0 0 16px rgba(113,255,244,.8) !important;
  animation: sentraV3Particle 2.8s ease-in-out infinite !important;
}

.v3-particle.p1 { left: 9%; top: 39%; animation-delay: 0s !important; }
.v3-particle.p2 { left: 18%; top: 45%; width: 5px !important; height: 5px !important; animation-delay: .35s !important; }
.v3-particle.p3 { left: 30%; top: 50%; width: 10px !important; height: 10px !important; animation-delay: .7s !important; }
.v3-particle.p4 { left: 42%; top: 56%; width: 6px !important; height: 6px !important; animation-delay: 1.05s !important; }
.v3-particle.p5 { right: 42%; top: 56%; width: 6px !important; height: 6px !important; animation-delay: 1.2s !important; }
.v3-particle.p6 { right: 30%; top: 50%; width: 10px !important; height: 10px !important; animation-delay: .85s !important; }
.v3-particle.p7 { right: 18%; top: 45%; width: 5px !important; height: 5px !important; animation-delay: .5s !important; }
.v3-particle.p8 { right: 9%; top: 39%; animation-delay: .15s !important; }

.v3-platform {
  position: absolute !important;
  z-index: 4 !important;
  left: 50% !important;
  bottom: 18% !important;
  width: 54% !important;
  height: 11% !important;
  transform: translateX(-50%) !important;
  border-radius: 50% !important;
  border: 1px solid rgba(36,255,216,.32) !important;
  background: radial-gradient(ellipse at center, rgba(36,255,216,.1), rgba(0,0,0,.46) 62%, transparent 69%) !important;
  box-shadow:
    0 0 36px rgba(36,255,216,.15),
    inset 0 0 26px rgba(36,255,216,.1) !important;
  animation: sentraV3Platform 3.4s ease-in-out infinite !important;
}

.v3-oval {
  position: absolute !important;
  z-index: 8 !important;
  left: 50% !important;
  top: 55% !important;
  border-radius: 50% !important;
  transform: translate(-50%, -50%) !important;
  pointer-events: none !important;
}

.v3-oval.oval-a {
  width: 36% !important;
  height: 61% !important;
  border: 3px solid rgba(32,255,215,.86) !important;
  box-shadow:
    0 0 18px rgba(32,255,215,.65),
    0 0 56px rgba(32,255,215,.3),
    inset 0 0 24px rgba(32,255,215,.14) !important;
  animation: sentraV3OvalA 2.1s ease-in-out infinite !important;
}

.v3-oval.oval-b {
  width: 26% !important;
  height: 52% !important;
  border: 3px solid rgba(155,255,247,.42) !important;
  box-shadow: 0 0 42px rgba(155,255,247,.16) !important;
  animation: sentraV3OvalB 3.2s ease-in-out infinite !important;
}

.v3-oval.oval-c {
  width: 16% !important;
  height: 35% !important;
  border: 2px solid rgba(228,255,255,.25) !important;
  box-shadow: 0 0 28px rgba(228,255,255,.12) !important;
  animation: sentraV3OvalC 2.7s ease-in-out infinite !important;
}

.v3-core-shell {
  position: absolute !important;
  z-index: 6 !important;
  left: 50% !important;
  top: 58% !important;
  width: 30% !important;
  height: 31% !important;
  transform: translate(-50%, -50%) !important;
  border-radius: 48% 48% 43% 43% !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 50% 58%, rgba(151,255,239,.32), transparent 28%),
    linear-gradient(180deg, rgba(5,34,32,.98), rgba(0,5,6,.99)) !important;
  box-shadow:
    inset 0 0 28px rgba(126,255,239,.18),
    0 0 48px rgba(0,0,0,.86) !important;
  animation: sentraV3CoreBody 3.1s ease-in-out infinite !important;
}

.v3-core-reflection {
  position: absolute !important;
  inset: -16% 16% 8% !important;
  border-radius: 50% !important;
  border: 1px solid rgba(190,255,247,.16) !important;
  background: linear-gradient(90deg, rgba(255,255,255,.02), rgba(190,255,247,.13), rgba(255,255,255,.02)) !important;
}

.v3-core-center {
  position: absolute !important;
  z-index: 9 !important;
  left: 50% !important;
  bottom: 23% !important;
  width: 42% !important;
  aspect-ratio: 1 !important;
  transform: translateX(-50%) !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  background:
    radial-gradient(circle, #ffffff 0 10%, rgba(208,255,252,.98) 24%, rgba(94,255,232,.44) 60%, transparent 74%) !important;
  box-shadow:
    0 0 24px rgba(235,255,253,.95),
    0 0 60px rgba(91,255,232,.68),
    0 0 110px rgba(91,255,232,.32) !important;
  animation: sentraV3Light 1.55s ease-in-out infinite !important;
}

.v3-core-center i {
  width: 54% !important;
  height: 2px !important;
  display: block !important;
  position: relative !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: 0 0 10px rgba(255,255,255,.9) !important;
}

.v3-core-center i::before,
.v3-core-center i::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  width: 44% !important;
  height: 2px !important;
  background: rgba(255,255,255,.92) !important;
}

.v3-core-center i::before {
  left: -5% !important;
  transform: rotate(32deg) !important;
}

.v3-core-center i::after {
  right: -5% !important;
  transform: rotate(-32deg) !important;
}

.v3-data-line {
  position: absolute !important;
  z-index: 10 !important;
  left: 50% !important;
  width: 2px !important;
  height: 32px !important;
  background: linear-gradient(transparent, rgba(156,255,247,.92), transparent) !important;
  box-shadow: 0 0 18px rgba(156,255,247,.68) !important;
}

.v3-data-line.top {
  top: 18% !important;
  animation: sentraV3DataTop 2.2s ease-in-out infinite !important;
}

.v3-data-line.bottom {
  bottom: 28% !important;
  height: 24px !important;
  animation: sentraV3DataBottom 2.6s ease-in-out infinite !important;
}

@keyframes sentraV3GridDrift {
  to { background-position: 40px 40px; }
}

@keyframes sentraV3Radar {
  to { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes sentraV3WingFlow {
  0%, 100% { opacity: .34; filter: brightness(.85); transform: translateX(0) scaleX(.94); }
  45% { opacity: 1; filter: brightness(1.35); transform: translateX(6px) scaleX(1.04); }
}

@keyframes sentraV3Particle {
  0%, 100% { opacity: .36; transform: scale(.78) translateY(0); }
  50% { opacity: 1; transform: scale(1.2) translateY(-4px); }
}

@keyframes sentraV3Platform {
  0%, 100% { opacity: .62; transform: translateX(-50%) scale(.96); }
  50% { opacity: 1; transform: translateX(-50%) scale(1.04); }
}

@keyframes sentraV3OvalA {
  0%, 100% { transform: translate(-50%, -50%) scale(.98); filter: brightness(.95); }
  50% { transform: translate(-50%, -50%) scale(1.035); filter: brightness(1.4); }
}

@keyframes sentraV3OvalB {
  0%, 100% { transform: translate(-50%, -50%) scale(1.02); opacity: .7; }
  50% { transform: translate(-50%, -50%) scale(.95); opacity: 1; }
}

@keyframes sentraV3OvalC {
  0%, 100% { transform: translate(-50%, -50%) scale(.92); opacity: .42; }
  50% { transform: translate(-50%, -50%) scale(1.12); opacity: .95; }
}

@keyframes sentraV3CoreBody {
  0%, 100% { transform: translate(-50%, -50%) scale(.98); }
  50% { transform: translate(-50%, -50%) scale(1.025); }
}

@keyframes sentraV3Light {
  0%, 100% { transform: translateX(-50%) scale(.9); filter: brightness(.92); }
  50% { transform: translateX(-50%) scale(1.18); filter: brightness(1.35); }
}

@keyframes sentraV3DataTop {
  0%, 100% { opacity: .2; transform: translateX(-50%) translateY(-12px); }
  50% { opacity: 1; transform: translateX(-50%) translateY(18px); }
}

@keyframes sentraV3DataBottom {
  0%, 100% { opacity: .2; transform: translateX(-50%) translateY(12px); }
  50% { opacity: .9; transform: translateX(-50%) translateY(-16px); }
}

.home-sentra-card {
  border-color: rgba(109,255,169,.34) !important;
}

@media (max-width: 920px) {
  .core-v3-showcase {
    grid-template-columns: 1fr !important;
  }

  .sentra-core-v3 {
    width: min(360px, 90vw) !important;
  }
}

@media (max-width: 520px) {
  .sentra-core-v3 {
    width: min(320px, 92vw) !important;
    border-radius: 22px !important;
  }

  .v3-wing {
    top: 33% !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sentra-core-v3,
  .sentra-core-v3 *,
  .sentra-core-v3::before,
  .sentra-core-v3::after {
    animation: none !important;
  }
}

/* =========================================================
   PUBLIC SENTRA THEATER CORE
   Taken from the Sentra core concept only:
   theater stage, neuron storm, scan, pulse, nodes, floor rings.
   No private dashboard/log/control content.
   ========================================================= */

.public-theater-showcase {
  grid-template-columns: 1fr 390px !important;
  align-items: center !important;
  gap: 26px !important;
}

.public-theater-core {
  position: relative !important;
  width: min(360px, 88vw) !important;
  aspect-ratio: .82 !important;
  justify-self: center !important;
  overflow: hidden !important;
  isolation: isolate !important;
  border-radius: 28px !important;
  border: 1px solid rgba(32,255,210,.34) !important;
  background: #000 !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.035) inset,
    0 0 70px rgba(32,255,210,.18),
    0 30px 90px rgba(0,0,0,.62) !important;
}

.public-theater-core::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 20 !important;
  pointer-events: none !important;
  background:
    repeating-linear-gradient(to bottom, rgba(255,255,255,.045), rgba(255,255,255,.045) 1px, transparent 1px, transparent 5px),
    linear-gradient(90deg, rgba(0,0,0,.54), transparent 23%, transparent 77%, rgba(0,0,0,.54)) !important;
  opacity: .22 !important;
}

.public-theater-core::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 21 !important;
  pointer-events: none !important;
  border-radius: inherit !important;
  box-shadow:
    inset 0 0 60px rgba(32,255,210,.10),
    inset 0 0 120px rgba(0,0,0,.74) !important;
}

.pt-photo {
  position: absolute !important;
  inset: -4% !important;
  z-index: 1 !important;
  background:
    radial-gradient(circle at 50% 60.5%, rgba(255,255,255,.24), transparent 7%),
    radial-gradient(circle at 50% 59%, rgba(78,234,255,.25), transparent 18%),
    radial-gradient(circle at 50% 40%, rgba(78,234,255,.16), transparent 25%),
    radial-gradient(ellipse at 50% 58%, rgba(32,255,210,.10), transparent 38%),
    linear-gradient(180deg, #02090d, #000305 65%, #020806) !important;
  filter: saturate(1.2) contrast(1.13) brightness(.97) !important;
  transform: scale(1.035) !important;
  animation: ptPhotoBreathe 7s ease-in-out infinite !important;
}

.pt-photo::before {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 52% !important;
  width: 33% !important;
  height: 36% !important;
  transform: translate(-50%, -50%) !important;
  border-radius: 48% 48% 43% 43% !important;
  background:
    radial-gradient(circle at 50% 56%, rgba(151,255,239,.23), transparent 25%),
    linear-gradient(180deg, rgba(5,32,31,.96), rgba(0,3,4,.99)) !important;
  box-shadow:
    inset 0 0 34px rgba(126,255,239,.18),
    0 0 58px rgba(0,0,0,.88) !important;
}

.pt-photo::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 56% !important;
  width: 43% !important;
  height: 66% !important;
  transform: translate(-50%, -50%) !important;
  border-radius: 50% !important;
  border: 3px solid rgba(32,255,210,.76) !important;
  box-shadow:
    0 0 19px rgba(32,255,210,.66),
    0 0 62px rgba(32,255,210,.30),
    inset 0 0 32px rgba(32,255,210,.12) !important;
  animation: ptOvalPulse 2.4s ease-in-out infinite !important;
}

.pt-depth-glow {
  position: absolute !important;
  inset: -10% !important;
  z-index: 8 !important;
  background:
    radial-gradient(circle at 50% 60%, rgba(255,255,255,.38), transparent 7%),
    radial-gradient(circle at 50% 58%, rgba(32,255,210,.22), transparent 21%),
    radial-gradient(circle at 50% 32%, rgba(78,234,255,.17), transparent 26%) !important;
  mix-blend-mode: screen !important;
  pointer-events: none !important;
  animation: ptGlowPulse 1.85s ease-in-out infinite !important;
}

.pt-scan {
  position: absolute !important;
  inset: 0 !important;
  z-index: 9 !important;
  background:
    repeating-linear-gradient(to bottom, rgba(255,255,255,.055), rgba(255,255,255,.055) 1px, transparent 1px, transparent 5px),
    linear-gradient(to bottom, transparent, rgba(78,234,255,.12), transparent) !important;
  opacity: .18 !important;
  pointer-events: none !important;
  animation: ptScanMove 5.5s linear infinite !important;
}

.pt-neural {
  position: absolute !important;
  top: 25% !important;
  width: 42% !important;
  height: 34% !important;
  z-index: 10 !important;
  opacity: .72 !important;
  background:
    radial-gradient(circle at 10% 40%, rgba(255,255,255,.9) 0 2px, transparent 4px),
    radial-gradient(circle at 32% 18%, rgba(78,234,255,.95) 0 2px, transparent 4px),
    radial-gradient(circle at 58% 55%, rgba(78,234,255,.95) 0 2px, transparent 4px),
    radial-gradient(circle at 80% 34%, rgba(255,255,255,.8) 0 2px, transparent 4px),
    repeating-linear-gradient(18deg, transparent 0 18px, rgba(78,234,255,.42) 19px, transparent 21px) !important;
  filter: drop-shadow(0 0 9px rgba(78,234,255,.8)) !important;
  mix-blend-mode: screen !important;
  animation: ptNeuralFlow 3.2s ease-in-out infinite !important;
}

.pt-neural.left {
  left: -2% !important;
  transform: rotate(-10deg) !important;
}

.pt-neural.right {
  right: -2% !important;
  transform: scaleX(-1) rotate(-10deg) !important;
}

.pt-figure {
  position: absolute !important;
  inset: 0 !important;
  z-index: 12 !important;
  pointer-events: none !important;
}

.pt-head {
  position: absolute !important;
  left: 50% !important;
  top: 26% !important;
  width: 22% !important;
  height: 21% !important;
  transform: translateX(-50%) !important;
  border-radius: 50% 50% 46% 46% !important;
  background:
    radial-gradient(ellipse at 50% 18%, rgba(255,255,255,.25), transparent 10%),
    radial-gradient(ellipse at 50% 55%, rgba(78,234,255,.22), rgba(14,60,95,.12) 55%, transparent 73%) !important;
  border: 1px solid rgba(78,234,255,.22) !important;
  filter: drop-shadow(0 0 26px rgba(78,234,255,.34)) !important;
  animation: ptPresence 4s ease-in-out infinite !important;
}

.pt-body {
  position: absolute !important;
  left: 50% !important;
  top: 52% !important;
  width: 33% !important;
  height: 35% !important;
  transform: translate(-50%, -50%) !important;
  border-radius: 48% 48% 43% 43% !important;
  background:
    radial-gradient(circle at 50% 56%, rgba(151,255,239,.30), transparent 28%),
    linear-gradient(180deg, rgba(5,34,32,.98), rgba(0,5,6,.99)) !important;
  box-shadow:
    inset 0 0 28px rgba(126,255,239,.20),
    0 0 48px rgba(0,0,0,.86) !important;
}

.pt-core-pulse {
  position: absolute !important;
  left: 50% !important;
  top: 60.5% !important;
  width: 34% !important;
  aspect-ratio: 1 !important;
  transform: translate(-50%, -50%) !important;
  z-index: 14 !important;
  border-radius: 50% !important;
  border: 1px solid rgba(220,255,255,.75) !important;
  background:
    radial-gradient(circle, rgba(255,255,255,.95) 0%, rgba(102,245,255,.72) 13%, rgba(32,255,210,.28) 32%, rgba(32,255,210,0) 68%) !important;
  box-shadow:
    0 0 28px rgba(255,255,255,.75),
    0 0 80px rgba(78,234,255,.65),
    0 0 135px rgba(32,255,210,.38) !important;
  mix-blend-mode: screen !important;
  animation: ptCore 1.35s ease-in-out infinite !important;
}

.pt-core-inner {
  position: absolute !important;
  left: 50% !important;
  top: 60.5% !important;
  width: 11% !important;
  aspect-ratio: 1 !important;
  transform: translate(-50%, -50%) !important;
  z-index: 15 !important;
  border-radius: 50% !important;
  background: rgba(245,255,255,.88) !important;
  box-shadow: 0 0 18px white, 0 0 55px #4eeaff !important;
  mix-blend-mode: screen !important;
  animation: ptCoreInner .85s ease-in-out infinite !important;
}

.pt-floor-ring {
  position: absolute !important;
  left: 50% !important;
  top: 80% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 13 !important;
  border-radius: 50% !important;
  border: 1px solid rgba(78,234,255,.5) !important;
  mix-blend-mode: screen !important;
  pointer-events: none !important;
}

.pt-floor-ring.rA {
  width: 56% !important;
  height: 12% !important;
  animation: ptRing 4s ease-in-out infinite !important;
}

.pt-floor-ring.rB {
  width: 42% !important;
  height: 8% !important;
  animation: ptRing 5.2s ease-in-out infinite .4s !important;
}

.pt-floor-ring.rC {
  width: 26% !important;
  height: 5% !important;
  animation: ptRing 6.2s ease-in-out infinite .8s !important;
}

.pt-node {
  position: absolute !important;
  z-index: 16 !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: #dfffff !important;
  box-shadow: 0 0 12px #fff, 0 0 28px #4eeaff !important;
  mix-blend-mode: screen !important;
  animation: ptNodePulse 3.2s ease-in-out infinite !important;
}

.pt-node.n1 { left: 16% !important; top: 36% !important; animation-delay: .1s !important; }
.pt-node.n2 { left: 28% !important; top: 43% !important; animation-delay: .6s !important; }
.pt-node.n3 { left: 39% !important; top: 50% !important; animation-delay: 1s !important; }
.pt-node.n4 { right: 16% !important; top: 36% !important; animation-delay: .3s !important; }
.pt-node.n5 { right: 28% !important; top: 43% !important; animation-delay: .8s !important; }
.pt-node.n6 { right: 39% !important; top: 50% !important; animation-delay: 1.2s !important; }

.pt-neuron-storm {
  position: absolute !important;
  inset: -1% !important;
  width: 102% !important;
  height: 102% !important;
  z-index: 18 !important;
  pointer-events: none !important;
  mix-blend-mode: screen !important;
  opacity: 1 !important;
}

.pt-fire {
  fill: none !important;
  stroke: #7effff !important;
  stroke-width: 2.6 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  filter: url(#ptNeuronGlow) !important;
  stroke-dasharray: 18 280 !important;
  stroke-dashoffset: 0 !important;
  opacity: .88 !important;
  animation: ptNeuronFire 2.15s linear infinite !important;
}

.pt-b,.pt-g { animation-delay: .18s !important; stroke-width: 2.1 !important; }
.pt-c,.pt-h { animation-delay: .36s !important; stroke: #42c7ff !important; }
.pt-d,.pt-i { animation-delay: .54s !important; stroke-width: 2.3 !important; }
.pt-e,.pt-j { animation-delay: .72s !important; stroke: #20ffd2 !important; }
.pt-f { animation-delay: .10s !important; }
.pt-center-a { animation-delay: .2s !important; stroke: #ffffff !important; stroke-width: 2.8 !important; }
.pt-center-b { animation-delay: .45s !important; stroke: #7effff !important; }
.pt-center-c { animation-delay: .65s !important; stroke: #7effff !important; }

.pt-fnode {
  fill: url(#ptNodeGlow) !important;
  filter: url(#ptNeuronGlow) !important;
  opacity: .85 !important;
  transform-origin: center !important;
  animation: ptNodeIgnite 2.4s ease-in-out infinite !important;
}

.pt-p2,.pt-p6 { animation-delay: .18s !important; }
.pt-p3,.pt-p7 { animation-delay: .36s !important; }
.pt-p4,.pt-p8 { animation-delay: .54s !important; }
.pt-p5 { animation-delay: .08s !important; }
.pt-p9 { animation-delay: .28s !important; }
.pt-p10 { animation-delay: .48s !important; }

.pt-shock {
  fill: none !important;
  stroke: #eaffff !important;
  stroke-width: 2 !important;
  filter: url(#ptNeuronGlow) !important;
  opacity: 0 !important;
  transform-origin: 500px 392px !important;
  animation: ptShockwave 2.8s ease-out infinite !important;
}

.pt-sB { animation-delay: .55s !important; stroke: #7effff !important; }
.pt-sC { animation-delay: 1.1s !important; stroke: #20ffd2 !important; }

@keyframes ptPhotoBreathe {
  0%,100% { transform: scale(1.035); filter: saturate(1.08) contrast(1.08) brightness(.94); }
  50% { transform: scale(1.075); filter: saturate(1.26) contrast(1.18) brightness(1.08); }
}

@keyframes ptGlowPulse {
  0%,100% { opacity: .62; }
  50% { opacity: 1; }
}

@keyframes ptScanMove {
  0% { background-position: 0 -120px, 0 -240px; }
  100% { background-position: 0 240px, 0 260px; }
}

@keyframes ptCore {
  0%,100% { transform: translate(-50%,-50%) scale(.92); opacity: .58; }
  50% { transform: translate(-50%,-50%) scale(1.15); opacity: 1; }
}

@keyframes ptCoreInner {
  0%,100% { opacity: .7; transform: translate(-50%,-50%) scale(.9); }
  50% { opacity: 1; transform: translate(-50%,-50%) scale(1.15); }
}

@keyframes ptRing {
  0%,100% { opacity: .34; box-shadow: 0 0 14px rgba(78,234,255,.35); }
  50% { opacity: 1; box-shadow: 0 0 34px rgba(78,234,255,.75); }
}

@keyframes ptNeuralFlow {
  0%,100% { opacity: .48; filter: drop-shadow(0 0 7px rgba(78,234,255,.55)); }
  50% { opacity: .92; filter: drop-shadow(0 0 18px rgba(78,234,255,.95)); }
}

@keyframes ptNodePulse {
  0%,100% { opacity: .35; transform: scale(.7); }
  50% { opacity: 1; transform: scale(1.55); }
}

@keyframes ptPresence {
  0%,100% { filter: brightness(.92) drop-shadow(0 0 26px rgba(78,234,255,.34)); transform: translateX(-50%) scale(.99); }
  50% { filter: brightness(1.25) drop-shadow(0 0 42px rgba(78,234,255,.58)); transform: translateX(-50%) scale(1.025); }
}

@keyframes ptOvalPulse {
  0%,100% { opacity: .72; transform: translate(-50%, -50%) scale(.98); }
  50% { opacity: 1; transform: translate(-50%, -50%) scale(1.04); }
}

@keyframes ptNeuronFire {
  0% {
    stroke-dashoffset: 320;
    opacity: .06;
    filter: drop-shadow(0 0 2px rgba(78,234,255,.15));
  }
  10% { opacity: .35; }
  42% {
    opacity: 1;
    stroke-width: 3.8;
    filter: drop-shadow(0 0 10px #7effff) drop-shadow(0 0 22px #20ffd2);
  }
  70% { opacity: .82; }
  100% {
    stroke-dashoffset: -360;
    opacity: .08;
    filter: drop-shadow(0 0 2px rgba(78,234,255,.15));
  }
}

@keyframes ptNodeIgnite {
  0%,100% { opacity: .28; transform: scale(.62); }
  38% { opacity: 1; transform: scale(1.65); }
  52% { opacity: .95; transform: scale(1.1); }
}

@keyframes ptShockwave {
  0% { opacity: 0; transform: scale(.58); }
  18% { opacity: .95; }
  100% { opacity: 0; transform: scale(2.6); }
}

@media (max-width: 920px) {
  .public-theater-showcase {
    grid-template-columns: 1fr !important;
  }

  .public-theater-core {
    width: min(340px, 92vw) !important;
  }
}

@media (max-width: 520px) {
  .public-theater-core {
    width: min(300px, 92vw) !important;
    border-radius: 22px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .public-theater-core,
  .public-theater-core *,
  .public-theater-core::before,
  .public-theater-core::after {
    animation: none !important;
  }
}

/* =========================================================
   SENTRA THEATER CORE — ACTIVE RESIZE PASS
   Smaller box, core fits inside, stronger movement.
   ========================================================= */

.public-theater-showcase {
  max-width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 18px !important;
  grid-template-columns: minmax(0, 1fr) 315px !important;
  gap: 20px !important;
  align-items: center !important;
}

.public-theater-showcase .sentra-core-copy h2 {
  font-size: clamp(28px, 3.4vw, 48px) !important;
}

.public-theater-showcase .sentra-core-copy p {
  font-size: 15px !important;
  line-height: 1.45 !important;
}

.public-theater-core {
  width: 285px !important;
  max-width: 285px !important;
  height: 348px !important;
  max-height: 348px !important;
  aspect-ratio: auto !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  transform: translateZ(0) !important;
}

/* Keep the whole core inside the smaller frame */
.pt-neuron-storm {
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

.pt-photo {
  inset: -2% !important;
}

.pt-photo::after {
  width: 40% !important;
  height: 63% !important;
}

.pt-figure {
  transform: scale(.94) !important;
  transform-origin: 50% 58% !important;
}

.pt-core-pulse {
  width: 31% !important;
}

.pt-core-inner {
  width: 10% !important;
}

/* More active energy field */
.pt-energy-field {
  position: absolute !important;
  inset: -18% !important;
  z-index: 6 !important;
  pointer-events: none !important;
  opacity: .68 !important;
  background:
    conic-gradient(
      from 0deg,
      transparent 0deg,
      rgba(78,234,255,.12) 38deg,
      transparent 74deg,
      rgba(32,255,210,.16) 138deg,
      transparent 188deg,
      rgba(255,255,255,.08) 232deg,
      transparent 360deg
    ) !important;
  mix-blend-mode: screen !important;
  animation: ptEnergyRotate 4.2s linear infinite !important;
  mask-image: radial-gradient(circle at center, transparent 0 15%, #000 26%, #000 58%, transparent 72%) !important;
}

.pt-energy-column {
  position: absolute !important;
  z-index: 17 !important;
  left: 50% !important;
  top: 14% !important;
  width: 2px !important;
  height: 62% !important;
  transform: translateX(-50%) !important;
  background: linear-gradient(to bottom, transparent, rgba(126,255,255,.95), rgba(32,255,210,.72), transparent) !important;
  box-shadow:
    0 0 12px rgba(126,255,255,.9),
    0 0 28px rgba(32,255,210,.58) !important;
  mix-blend-mode: screen !important;
  animation: ptEnergyColumn 1.55s ease-in-out infinite !important;
}

.pt-pulse-ring {
  position: absolute !important;
  z-index: 12 !important;
  left: 50% !important;
  top: 60.5% !important;
  border-radius: 50% !important;
  border: 1px solid rgba(158,255,247,.72) !important;
  transform: translate(-50%, -50%) scale(.45) !important;
  opacity: 0 !important;
  box-shadow: 0 0 24px rgba(78,234,255,.54) !important;
  mix-blend-mode: screen !important;
  animation: ptCoreRipple 1.65s ease-out infinite !important;
}

.pt-pulse-ring.pr1 {
  width: 32% !important;
  aspect-ratio: 1 !important;
  animation-delay: 0s !important;
}

.pt-pulse-ring.pr2 {
  width: 43% !important;
  aspect-ratio: 1 !important;
  animation-delay: .42s !important;
}

.pt-pulse-ring.pr3 {
  width: 54% !important;
  aspect-ratio: 1 !important;
  animation-delay: .84s !important;
}

/* Faster/more energetic original layers */
.pt-fire {
  animation-duration: 1.12s !important;
  stroke-dasharray: 26 210 !important;
  stroke-width: 2.9 !important;
}

.pt-center-a,
.pt-center-b,
.pt-center-c {
  animation-duration: .95s !important;
}

.pt-fnode {
  animation-duration: 1.15s !important;
}

.pt-shock {
  animation-duration: 1.55s !important;
}

.pt-depth-glow {
  animation-duration: 1.15s !important;
}

.pt-scan {
  opacity: .25 !important;
  animation-duration: 2.2s !important;
}

.pt-neural {
  animation-duration: 1.65s !important;
  opacity: .9 !important;
}

.pt-node {
  animation-duration: 1.55s !important;
}

.pt-core-pulse {
  animation-duration: .95s !important;
}

.pt-core-inner {
  animation-duration: .62s !important;
}

.pt-floor-ring.rA {
  animation-duration: 2.2s !important;
}

.pt-floor-ring.rB {
  animation-duration: 2.9s !important;
}

.pt-floor-ring.rC {
  animation-duration: 3.4s !important;
}

.pt-photo {
  animation-duration: 3.2s !important;
}

/* Extra sparks */
.pt-micro-spark {
  position: absolute !important;
  z-index: 19 !important;
  width: 4px !important;
  height: 4px !important;
  border-radius: 999px !important;
  background: #dfffff !important;
  box-shadow:
    0 0 9px #fff,
    0 0 22px #4eeaff,
    0 0 36px #20ffd2 !important;
  mix-blend-mode: screen !important;
  opacity: 0 !important;
  animation: ptMicroSpark 1.8s ease-in-out infinite !important;
}

.pt-micro-spark.ms1 { left: 18% !important; top: 28% !important; animation-delay: .05s !important; }
.pt-micro-spark.ms2 { left: 31% !important; top: 37% !important; animation-delay: .25s !important; }
.pt-micro-spark.ms3 { left: 41% !important; top: 24% !important; animation-delay: .45s !important; }
.pt-micro-spark.ms4 { left: 56% !important; top: 30% !important; animation-delay: .65s !important; }
.pt-micro-spark.ms5 { right: 24% !important; top: 42% !important; animation-delay: .85s !important; }
.pt-micro-spark.ms6 { left: 26% !important; bottom: 25% !important; animation-delay: 1.05s !important; }
.pt-micro-spark.ms7 { right: 30% !important; bottom: 27% !important; animation-delay: 1.25s !important; }
.pt-micro-spark.ms8 { right: 18% !important; top: 28% !important; animation-delay: 1.45s !important; }

@keyframes ptEnergyRotate {
  to {
    transform: rotate(360deg);
  }
}

@keyframes ptEnergyColumn {
  0%, 100% {
    opacity: .28;
    height: 48%;
    filter: brightness(.9);
  }
  45% {
    opacity: 1;
    height: 68%;
    filter: brightness(1.45);
  }
}

@keyframes ptCoreRipple {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(.34);
  }
  18% {
    opacity: .92;
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1.55);
  }
}

@keyframes ptMicroSpark {
  0%, 100% {
    opacity: 0;
    transform: translate(0, 0) scale(.55);
  }
  18% {
    opacity: .95;
  }
  55% {
    opacity: 1;
    transform: translate(9px, -14px) scale(1.6);
  }
  80% {
    opacity: .35;
  }
}

/* Mobile: keep the box compact and contained */
@media (max-width: 920px) {
  .public-theater-showcase {
    grid-template-columns: 1fr !important;
    max-width: 520px !important;
  }

  .public-theater-core {
    width: 280px !important;
    max-width: 86vw !important;
    height: 342px !important;
    max-height: 342px !important;
  }
}

@media (max-width: 520px) {
  .public-theater-showcase {
    padding: 14px !important;
  }

  .public-theater-core {
    width: 250px !important;
    max-width: 84vw !important;
    height: 305px !important;
    max-height: 305px !important;
    border-radius: 20px !important;
  }

  .pt-fire {
    stroke-width: 2.2 !important;
  }

  .pt-node,
  .pt-micro-spark {
    transform: scale(.85) !important;
  }
}
