:root{--background:#090c09;--foreground:#f2f6f0;--card:#151a14;--bg-primary:#090c09;--bg-secondary:#11170f;--surface-primary:#161d14;--surface-elevated:#20291d;--accent-primary:#78e854;--accent-cyan:#78e854;--accent-secondary:#c8ffb6;--text-primary:#f2f6f0;--text-secondary:#bec8b9;--text-muted:#9da997;--line:#303c2b;--line-soft:#253020;--line-bright:#83b469;--blue:#8aeb6a;--green:#88e966;--ring:#86ed64;--primary:#78e854;--space-section:66px}body{background:#090c09;color:var(--text-primary)}::selection{background:#5d993f;color:#fff}.nav-wrap{background:#090c09e8;border-color:#9abe8719;backdrop-filter:blur(18px)}.monogram span,.nav-links a[aria-current]{color:#a6fa89}.nav-links a[aria-current]:after{background:#a6fa89}.brand-sub{color:#a3b19d}.monogram{border-color:#45553c}.button{background:#171e14;border-color:#506643;color:#e0edd8;border-radius:100px}.button:hover{background:#24331d;border-color:#96e477}.button.primary{background:linear-gradient(105deg,#79e654,#c4ffac);border-color:#b6fc9b;color:#14220e;box-shadow:0 5px 25px #71eb4c1a}.button.primary:hover{background:linear-gradient(105deg,#94ef73,#d4ffc4);border-color:#d3ffc4;box-shadow:0 6px 34px #81ef5547}.text-link:hover{color:#b5fa9c}.eyebrow,.section-number{color:#91bd7b}.mobile-menu{background:#11190f;border-color:#405037}.mobile-menu a:hover{color:#aff293}.hero.hero-signal{min-height:690px;padding:75px 0 90px;grid-template-columns:1.08fr 1fr;gap:40px;isolation:isolate;border-bottom:1px solid #97b28220}.hero.hero-signal:before{inset:0;opacity:1;background:radial-gradient(ellipse at 79% 40%,#4b8b2620,transparent 55%);mask-image:none}.signal-copy{min-width:0;position:relative;z-index:2}.signal-identity{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 27px;color:#a9b8a2;font-size:.75rem;letter-spacing:.015em}.signal-identity>span{width:6px;height:6px;border-radius:50%;background:#97ef70;box-shadow:0 0 14px #8eeb6480}.signal-identity i{width:17px;height:1px;background:#5f7752;margin-inline:4px}.hero-signal h1{font-size:clamp(3.65rem,5.7vw,5.3rem);letter-spacing:-.067em;line-height:1.06;font-weight:600}.hero-signal h1 span{background:linear-gradient(110deg,#78e854 10%,#ceffba 90%);-webkit-background-clip:text;background-clip:text;color:transparent}.signal-description{max-width:440px;font-size:1rem;line-height:1.85;color:#aab6a3;margin:27px 0 31px}.hero-signal .actions{gap:25px}.hero-signal .button{padding:14px 24px;min-height:51px}.signal-availability{display:flex;align-items:center;gap:8px;font-size:.75rem;color:#8e9f87;margin-top:30px}.signal-availability i{width:5px;height:5px;background:#90d36d;border-radius:50%}.hero-scroll{position:absolute;bottom:29px;left:0;display:flex;align-items:center;gap:14px;min-height:32px;color:#91a385;font:.625rem var(--font-mono);letter-spacing:.14em}.hero-scroll svg{color:#a7e78a}.soc-scene{--scene-x:0deg;--scene-y:0deg;margin:0;aspect-ratio:1;max-width:590px;justify-self:end;perspective:1000px}.soc-scene,.soc-stage{position:relative;width:100%}.soc-stage{height:100%}.soc-aura{position:absolute;inset:10%;background:radial-gradient(ellipse,#72d74420,transparent 68%);border-radius:50%}.soc-world{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(var(--scene-x)) rotateY(var(--scene-y));transition:transform .65s cubic-bezier(.2,.7,.2,1)}.soc-floor{position:absolute;width:82%;height:82%;left:9%;top:27%;border-radius:50%;transform:rotateX(70deg) rotate(-23deg);transform-style:preserve-3d;background:radial-gradient(circle,#9ce36715 1px,transparent 0);background-size:18px 18px;border:1px solid #9ae47723;box-shadow:0 0 70px #79df5910}.soc-floor i{position:absolute;inset:12%;border:1px solid #86ce6838;border-radius:50%}.soc-floor i:nth-child(2){inset:26%;border-style:dashed;border-color:#b4fa8730}.soc-floor i:nth-child(3){inset:39%;box-shadow:0 0 35px #89ed5b24}.soc-sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 74%,#81ef4c30 99%,#caff9c80 100%);animation:scan-orbit 12s linear infinite}.soc-orbit{position:absolute;border:1px solid #9adf752b;width:75%;height:75%;left:12.5%;top:6%;border-radius:50%;transform-style:preserve-3d}.orbit-one{transform:rotateX(66deg) rotate(-24deg);border-color:#abe88858}.orbit-two{transform:rotateX(62deg) rotateY(63deg) rotate(24deg)}.orbit-three{width:62%;height:62%;left:19%;top:12%;transform:rotateX(-35deg) rotateY(64deg) rotate(10deg);border-style:dashed;border-color:#71bb5526}.soc-orbit>span{position:absolute;inset:0;border-radius:50%;animation:scan-orbit 16s linear infinite;transform-style:preserve-3d}.orbit-two>span{animation-duration:22s;animation-direction:reverse}.orbit-three>span{animation-duration:27s}.soc-orbit i{position:absolute;width:9px;height:9px;top:50%;left:-4px;border-radius:50%;background:#d0ffae;box-shadow:0 0 11px #bcff84,0 0 24px #8ae749}.soc-core{position:absolute;left:30%;top:19%;width:40%;height:47%;transform-style:preserve-3d;animation:shield-hover 7s ease-in-out infinite}.soc-shield{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 22px #93ec4630) drop-shadow(12px 20px 15px #0006);transform:translateZ(50px) rotateY(-13deg)}.core-shadow{position:absolute;left:15%;bottom:-15%;width:75%;height:16%;border-radius:50%;background:#8de45e29;filter:blur(16px);transform:rotateX(70deg)}.soc-node{position:absolute;display:flex;align-items:center;gap:9px;padding:13px 16px;background:linear-gradient(125deg,#263723ed,#101a11f0);border:1px solid #a0d47a5c;border-radius:13px;color:#c5f3b1;box-shadow:5px 10px 0 #0a100ad9,5px 10px 0 1px #5f8a3d26,0 16px 27px #0005;transform-style:preserve-3d;animation:node-hover 6s ease-in-out infinite}.soc-node span{font:.625rem var(--font-mono);letter-spacing:.1em}.soc-node i{width:4px;height:4px;background:#9cf576;border-radius:50%;margin-left:5px;box-shadow:0 0 8px #a6ff73}.node-siem{top:18%;left:1%;transform:rotateY(14deg) rotate(-8deg)}.node-edr{top:40%;right:-1%;animation-delay:-2s;transform:rotateY(-16deg) rotate(8deg)}.node-network{bottom:18%;left:13%;animation-delay:-4s;transform:rotateX(8deg) rotate(-5deg)}.soc-spark{position:absolute;width:4px;height:4px;border-radius:50%;background:#cbffa0;box-shadow:0 0 15px #a1ff6a;animation:spark-breathe 4s ease-in-out infinite}.spark-one{left:72%;top:13%}.spark-two{left:19%;top:57%;animation-delay:-2s}.spark-three{right:15%;bottom:20%;animation-delay:-1s}.soc-axis{position:absolute;bottom:7%;left:0;width:100%;display:flex;align-items:center;justify-content:center;gap:9px;color:#8dab7a;font:.5625rem var(--font-mono);letter-spacing:.12em}.soc-scene figcaption{text-align:center;font-size:.6875rem;color:#84947c;margin-top:-8px}.scene-motion{position:absolute;right:0;bottom:-2px;width:36px;height:36px;display:grid;place-items:center;color:#afcc9c;background:#151e1080;border:1px solid #50623c60;border-radius:50%}.scene-motion:hover{border-color:#a4e67c;background:#21301b}.scene-motion:disabled{opacity:.5;cursor:default}.soc-scene[data-paused=true] *{animation-play-state:paused!important}@keyframes scan-orbit{to{transform:rotate(1turn)}}@keyframes shield-hover{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-17px) rotate(3deg)}}@keyframes node-hover{0%,to{translate:0 0}50%{translate:0 -9px}}@keyframes spark-breathe{0%,to{opacity:.3}50%{opacity:1}}.projects-section{--accent-primary:#98ef73;--text-muted:#9da997;--line:#33432b;--surface-primary:#171f14;background:radial-gradient(ellipse at 94% 34%,#44712619,transparent 55%),#0c110b;padding-block:57px 55px}.project-heading{align-items:center;justify-content:space-between;gap:25px}.projects-section .project-heading .section-heading{margin-bottom:24px}.project-heading h2{font-size:clamp(1.75rem,3vw,2.6rem)}.slider-arrows{display:flex;gap:10px;margin-bottom:22px}.slider-arrows button{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid #637653;background:#1a2416;color:#c8f1b5;transition:background .3s,box-shadow .3s,border-color .3s}.slider-arrows button:hover:not(:disabled){background:#90e969;color:#11200a;border-color:#abf48a;box-shadow:0 0 22px #83ef523a}.slider-arrows button:disabled{opacity:.3;cursor:default}.project-carousel{min-width:0;outline-offset:7px}.project-viewport{overflow:hidden;padding-block:15px;margin-block:-15px}.project-track{display:flex;gap:24px;touch-action:pan-y pinch-zoom;align-items:stretch}.project-slide{flex:0 0 calc((100% - 24px)/2);min-width:0;display:flex}.project-card.signal-project{display:flex;flex-direction:column;width:100%;grid-column:auto;background:linear-gradient(138deg,#1c2518,#11180f);border-color:#405136;border-radius:24px;isolation:isolate;box-shadow:0 7px 25px #0003;--glow-x:50%;--glow-y:30%}.signal-project>.project-image{width:100%;height:244px;border:0;border-bottom:1px solid #8cb86926;background:#0d150c;border-radius:23px 23px 0 0;overflow:hidden;position:relative;z-index:1}.signal-project .project-screenshot{min-height:0;height:100%;padding:18px 22px;gap:9px;justify-content:center}.signal-project .screenshot-frame{width:100%;height:173px;overflow:hidden;padding:5px;background:#07100a;border-color:#87b8614d;border-radius:10px}.signal-project .project-photo{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:5px}.signal-project .visual-meta{font-size:.625rem;color:#91b37c}.signal-project .screenshot-caption{font-size:.625rem;color:#a0b291}.signal-project .project-content{padding:24px 27px 21px;display:flex;flex-direction:column;flex:1;position:relative;z-index:1}.signal-project .project-status{color:#9bc184;font-size:.625rem;letter-spacing:.08em}.signal-project .project-title{font-size:1.6rem;line-height:1.3;margin-top:12px}.signal-project .project-title-button{color:#eff5ea}.signal-project .project-title-button svg{color:#b2f98e}.signal-project .project-subtitle{color:#a2bd91;font-size:.8125rem;margin-top:6px}.signal-project .project-description{color:#a9b6a0;font-size:.875rem;line-height:1.75;margin:15px 0 17px;max-width:none}.signal-project .tags{gap:7px;margin-bottom:22px}.signal-project .tags>span{font-size:.625rem;color:#afc3a2;border-color:#60794a59;background:#7eb54709;padding:4px 8px}.signal-project .project-links{margin-top:auto;border-color:#9fbc7f29;padding-top:13px;gap:17px}.signal-project .project-links .text-link{font-size:.8125rem;color:#d2e2c8}.signal-project .project-expand{width:40px;height:40px;min-width:40px;border-radius:50%;background:#79a34e0a;border-color:#6e935055;color:#c0ef9f}.signal-project .project-expand:hover{background:#6bb93c20;box-shadow:0 0 25px #93eb633a}.signal-project .project-expanded{padding:18px;grid-template-columns:1fr;gap:10px;border-color:#71924b38;background:#0d170beb;position:relative;z-index:1}.signal-project .project-expanded>div{padding:12px 15px;background:#92ba6107}.signal-project .project-expanded .tiny-label{color:#add088}.signal-project .project-expanded li,.signal-project .project-expanded p{color:#c0ccaf}.signal-project .project-expanded small{color:#99ab87}.signal-project .case-art{height:100%;min-height:0;padding:19px 25px}.signal-project .incident-art{background:radial-gradient(ellipse at 90% 100%,#527b2d2e,transparent 75%),#101a0d}.signal-project .packet-art{background:radial-gradient(ellipse at 70% 35%,#5891402e,transparent 80%),#101b0d}.signal-project .art-label{color:#9cae88;font-size:.625rem}.signal-project .art-label>span:last-child{color:#9bc27e}.signal-project .incident-chain{margin-top:13px}.signal-project .incident-chain li{min-height:35px}.signal-project .incident-chain strong{font-size:.8125rem;color:#d2dfc4}.signal-project .incident-chain small{color:#90a77c}.signal-project .chain-icon{width:27px;height:27px;border-color:#77985552;color:#b6e797;background:#8fc2670a}.signal-project .incident-chain li:after{border-color:#88a75c50;top:28px}.signal-project .art-caption{color:#92a87d;margin-top:9px;font-size:.625rem}.signal-project .packet-flow{padding-top:25px}.signal-project .packet-flow>div>svg{color:#b2e58a;border-color:#84a8534f;background:#9aca700a}.signal-project .packet-flow strong{color:#d0e3be}.signal-project .packet-flow small,.signal-project .packet-flow>svg{color:#95b17c}.signal-project .protocol-strip{margin-top:18px}.signal-project .protocol-strip span{color:#a5bc8c;border-color:#70894949}.signal-project .recon-art{display:flex;align-items:center;justify-content:center;gap:27px;background:radial-gradient(ellipse,#4b733132,transparent 80%),#101a0d}.signal-project .recon-radar{width:95px;height:95px;color:#a5dd86;border-color:#8ba96349;box-shadow:0 0 0 14px #88bf6f07,0 0 0 28px #88bf6f04}.signal-project .recon-art strong{color:#c8e3b5}.signal-project .recon-art p{color:#99b083}.slider-footer{display:flex;justify-content:space-between;align-items:center;min-height:53px;gap:12px;margin-top:11px}.slider-count,.slider-hint{font:.625rem var(--font-mono);letter-spacing:.1em;color:#90a17f}.slider-count{color:#bcdfa3}.slider-count i{font-style:normal;margin:0 8px;color:#516644}.slider-dots{display:flex;gap:1px}.slider-dots button{width:28px;min-height:36px;display:grid;place-items:center;border:0;background:none;padding:0}.slider-dots span{width:5px;height:5px;background:#526448;border-radius:50%;transition:background .3s,width .3s,box-shadow .3s}.slider-dots [aria-current=true] span{width:19px;border-radius:6px;background:#9aeb73;box-shadow:0 0 14px #94f55f6b}.more-projects{margin-top:10px}.more-projects>h3{font-size:.75rem;color:#95a989;margin-bottom:13px}.small-project{min-height:98px;padding:18px 22px;border-color:#35452b;background:#141d10;border-radius:18px}.small-project-icon{color:#aed58c;background:#92b9630d}.small-project .tiny-label{color:#95ac7d}.small-project h4{color:#e1edd7}.small-project p{color:#9eaf91}.small-project>svg{color:#a9cb8e}.about-section{background:#0c100b;border-color:#97b67c1a}.about-note>p{color:#afbea4}.education-compact svg{color:#a3d881}.education-compact strong{color:#dcebd2}.education-compact small,.education-compact span{color:#9cae8e}.skills-section{--accent-primary:#a2ea7b;--text-muted:#9bae8c;--line:#384b2b;--surface-primary:#182212;background:radial-gradient(ellipse at 85% 10%,#40752620,transparent 70%),#10180e;border-color:#7f9b6326}.capability{position:relative;isolation:isolate;overflow:hidden;--glow-x:50%;--glow-y:50%;background:linear-gradient(130deg,#1a2615,#141d11);border-color:#3a4f2d;border-radius:18px}.capability summary,.capability ul{position:relative;z-index:1}.capability summary{padding:23px}.capability-icon,.capability:nth-child(n) .capability-icon{color:#b3e195;border-color:#789c5650;background:#a3ca7809;transition:color .4s,box-shadow .4s,background .4s,transform .4s}.capability-label strong{color:#e1ecd9}.capability-label small{color:#98af88}.capability .disclosure-chevron{color:#9db586}.capability ul{border-color:#466234}.capability li{color:#c0d4b0}.capability li:before{color:#a4df75}.toolkit-details{border-color:#435833;background:#0f180c}.skills-section .tool-group{background:#15200f;border-color:#394f2a}.skills-section .tool-group h4{color:#b7d39f}.skills-section .tool-row{color:#d3e1c7}.skills-section .exposure{color:#a3b88f}.skills-section .exposure.hands-on{color:#b0e08d}.skills-section .exposure.learning{color:#b3c887}.experience-section{--accent-primary:#c1dc9e;--text-muted:#a9b797;--line:#485736;--surface-primary:#20281a;background:radial-gradient(ellipse at 10% 100%,#667a3920,transparent 60%),#151c10;border-color:#acc37c1a}.experience-card,.experience-rail{border-color:#73845155}.experience-card:before{border-color:#b2d28d;background:#1f2b17;box-shadow:0 0 14px #a8db6325}.experience-order{color:#c8e59b0a}.experience-top{color:#a9bc91}.experience-duration{background:#a9c87508;border-color:#95ad5c40;color:#caddac}.experience-card h3{color:#edf3e4}.experience-role{color:#bddb9c}.experience-highlight{color:#b4c4a2}.experience-more{border-color:#9aac6930}.experience-more ul{color:#bdcda8}.experience-more .tags>span{border-color:#94ad623d;color:#c2d4a9}.training-drawer{background:#1d271266;border-color:#809c4844}.training-mini-grid article{border-color:#9db56a}.training-mini-grid .tiny-label{color:#bbd491}.training-mini-grid h4{color:#e2efcc}.training-drawer .training-note,.training-mini-grid p,.training-mini-grid small{color:#a7ba90}.method-section{--accent-primary:#b0d894;--text-muted:#a1b891;--surface-primary:#1b2914;--line:#3e552d;background:radial-gradient(ellipse at 80% 10%,#4a73222a,transparent 65%),#0e170b}.method-phases b{color:#b3de90}.method-phases>span{color:#d3e8c4}.method-phases>svg{color:#8ba374}.method-drawer{background:#17231180;border-color:#66834d55}.workflow-accordion,.workflow-detail,.workflow-steps{background:#15210f;border-color:#526e3866}.workflow-step{color:#a8bf92}.workflow-step>span{color:#99be77}.workflow-step.active,.workflow-step:hover{background:#a4d17c14;color:#e0f4d2}.workflow-step.active>span{color:#c1ee9d}.workflow-detail-top{color:#acd48b}.workflow-accordion blockquote,.workflow-accordion>div p,.workflow-detail p{color:#b4c9a2}.workflow-detail blockquote{background:#a6bb820b;border-color:#afce8c;color:#deedcf}.workflow-accordion h3 button,.workflow-detail h3{color:#deecd3}.workflow-artifact{color:#bbd99d}.workflow-accordion.active{border-color:#9ab87c}.investigation-section{background:#10180e}.demo-details{background:linear-gradient(115deg,#1c2a14,#162110)}.resume-section{background:linear-gradient(110deg,#1b2913,#101a0d);border-color:#506d384f}.resume-emblem{color:#b7e794;background:#83b6590b;border-color:#91bd5945}.resume-copy p{color:#a3b492}.contact-section{background:radial-gradient(ellipse at 90% 30%,#3e6a2a30,transparent 65%),#10190d}.contact-compose{background:#192711;border-color:#476634}.contact-links svg{color:#acd18d}.contact-location{color:#9faf8d}.footer{border-color:#6d8c4b33}.footer p,.footer-end{color:#91a77e}.case-modal[data-slot=dialog-content]{background:#111b0e;border-color:#537139}.case-close{background:#25351d;border-color:#6a894a;color:#d8efc2}.case-intro [data-slot=dialog-description]{color:#a9be94}.case-modal h3{color:#d1e9bd}.case-modal li,.case-modal p{color:#b6c5a8}.case-modal .section-details{border-color:#506e3855;background:#172310}.case-modal .case-columns,.case-modal .case-section{border-color:#49653360}.case-modal .source-note{color:#97ad84}.case-modal .architecture-list li{background:#1c2b13;border-color:#506c35}.case-modal .architecture-list span{color:#b7df8c}.case-modal .tags>span{border-color:#6f8d4266;color:#c3d7a4}.evidence-image,.evidence-resources{border-color:#5e7c4166}.capability:before,.project-card.signal-project:before{padding:1px;z-index:2;background:radial-gradient(420px circle at var(--glow-x) var(--glow-y),#c3ff94,transparent 70%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude}.capability:after,.capability:before,.project-card.signal-project:after,.project-card.signal-project:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .45s}.capability:after,.project-card.signal-project:after{z-index:0;background:radial-gradient(450px circle at var(--glow-x) var(--glow-y),#89ec472b,transparent 70%)}.capability,.project-card.signal-project{transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s,border-color .45s,background .45s}.capability:focus-within,.project-card.signal-project:focus-within{border-color:#a3d979;box-shadow:0 0 26px #87d64b24}@media(hover:hover) and (pointer:fine){.project-card.signal-project.will-reveal.revealed:hover,.project-card.signal-project:hover{transform:translateY(-6px);border-color:#9ee96c;box-shadow:0 13px 32px #0006,0 0 30px #84df4c38}.capability:hover:after,.capability:hover:before,.project-card.signal-project:hover:after,.project-card.signal-project:hover:before{opacity:1}.capability.will-reveal.revealed:hover,.capability:hover{transform:translateY(-5px);border-color:#9ad371;background:#203417;box-shadow:0 12px 26px #0004,0 0 32px #84df4c38}.capability:hover .capability-icon{transform:rotate(-6deg) scale(1.05);color:#d5ffb8;border-color:#a0da72;background:#97e75817;box-shadow:0 0 22px #9aed5f3d}.small-project:hover{border-color:#9bcd71;background:#1e2b15;box-shadow:0 0 28px #8adc4e2c}.small-project:hover>svg{color:#c1f592}.signal-project:hover .project-photo{transform:scale(1.035)}}@media(min-width:1600px){.hero.hero-signal{min-height:780px;gap:80px}.soc-scene{max-width:640px}.hero-signal h1{font-size:6rem}.signal-description{font-size:1.0625rem;max-width:480px}}@media(max-width:1100px){.hero.hero-signal{min-height:640px;gap:24px;padding-block:70px 85px}.hero-signal h1{font-size:clamp(3.1rem,6vw,4.3rem)}.signal-description{font-size:.9375rem}.signal-identity{font-size:.6875rem;gap:8px}.soc-node{padding:11px 12px;gap:7px}.soc-node svg{width:19px}.soc-node span{font-size:.5625rem}.signal-project .project-content{padding:22px}.signal-project .project-title{font-size:1.4rem}.signal-project .case-art{padding-inline:20px}.capability summary{padding:20px}}@media(max-width:800px){.hero.hero-signal{min-height:570px;grid-template-columns:1.1fr 1fr;gap:15px;padding-block:54px 75px}.hero-signal h1{font-size:clamp(2.8rem,6vw,3.5rem)}.signal-description{font-size:.875rem;margin-block:22px 25px}.signal-availability{font-size:.625rem;margin-top:24px}.hero-signal .button{padding:11px 18px;min-height:47px}.hero-signal .actions{gap:19px}.signal-identity i{width:11px;margin:0}.soc-node{padding:9px 10px;border-radius:10px}.soc-node svg{width:17px}.soc-node i{display:none}.soc-scene figcaption{font-size:.625rem}.soc-axis{font-size:.45rem;letter-spacing:.07em;gap:5px}.soc-axis svg{width:12px}.scene-motion{width:30px;height:30px;bottom:-7px}.project-track{gap:18px}.project-slide{flex-basis:calc((100% - 18px)/2)}.signal-project>.project-image{height:224px}.signal-project .project-screenshot{padding:16px;gap:8px}.signal-project .screenshot-frame{height:158px}.signal-project .case-art{padding:16px}.signal-project .project-title{font-size:1.28rem}.signal-project .project-content{padding:22px 19px 17px}.signal-project .project-links{gap:10px;flex-wrap:wrap}.signal-project .project-links .text-link{font-size:.75rem}.signal-project .project-expand{width:36px;min-width:36px;height:38px}.signal-project .project-description{font-size:.8125rem}.signal-project .incident-chain li{gap:8px}.signal-project .incident-chain strong{font-size:.6875rem}.signal-project .art-label,.signal-project .incident-chain small{font-size:.5625rem}.signal-project .recon-art{gap:18px}.signal-project .recon-radar{width:68px;height:68px}.signal-project .recon-art strong{font-size:1rem}.signal-project .recon-art p{font-size:.6875rem}.slider-hint{font-size:.5625rem}}@media(max-width:650px){:root{--space-section:48px}.hero.hero-signal{grid-template-columns:1fr;min-height:0;gap:17px;padding:39px 0 63px}.signal-copy{max-width:480px}.signal-identity{font-size:.6875rem;margin-bottom:24px;gap:8px}.hero-signal h1{font-size:clamp(2.9rem,11.7vw,4.15rem);line-height:1.06}.signal-description{font-size:.9375rem;max-width:370px;margin:22px 0 26px}.signal-availability{font-size:.6875rem;margin-top:22px}.hero-signal .button{padding:12px 21px}.hero-signal .actions{gap:25px}.soc-scene{width:min(100%,410px);justify-self:center;margin-top:1px}.soc-node{padding:12px 14px}.soc-node svg{width:21px}.soc-node span{font-size:.625rem}.soc-axis{font-size:.5rem;letter-spacing:.08em}.soc-scene figcaption{font-size:.625rem}.scene-motion{bottom:-4px;right:6px}.hero-scroll{bottom:13px;font-size:.5625rem}.projects-section{padding-block:41px 38px}.project-heading{flex-wrap:nowrap;gap:12px;align-items:flex-end}.project-heading .section-heading{min-width:0}.project-heading h2{font-size:1.75rem;max-width:240px}.slider-arrows{gap:7px;margin-bottom:23px}.slider-arrows button{width:37px;height:39px}.slider-arrows svg{width:18px}.project-track{gap:15px}.project-slide{flex-basis:91%}.signal-project>.project-image{height:234px}.signal-project .project-content{padding:23px 20px 19px}.signal-project .project-title{font-size:1.45rem}.signal-project .project-description{font-size:.875rem}.signal-project .project-links{gap:13px}.signal-project .project-links .text-link{font-size:.8125rem}.signal-project .tags{margin-bottom:21px}.signal-project .project-screenshot{padding:17px}.signal-project .screenshot-frame{height:166px}.signal-project .visual-meta{font-size:.5625rem}.signal-project .case-art{padding:19px}.signal-project .art-label{font-size:.625rem}.signal-project .incident-chain strong{font-size:.75rem}.signal-project .incident-chain small{font-size:.5625rem}.signal-project .recon-art{gap:22px}.signal-project .recon-radar{width:75px;height:75px}.slider-hint{font-size:.5625rem;letter-spacing:.06em}.slider-count{font-size:.625rem}.slider-dots button{width:25px}.more-projects,.slider-footer{margin-top:9px}.small-project{min-height:100px;padding:18px}.small-project-grid{gap:12px}}@media(prefers-reduced-motion:reduce){.soc-world{transform:none}.soc-scene *{animation:none!important}.capability.will-reveal.revealed:hover,.capability:hover,.capability:hover .capability-icon,.project-card.signal-project.will-reveal.revealed:hover,.project-card.signal-project:hover{transform:none!important}}.shell{width:min(1920px,calc(100% - clamp(40px,6vw,112px)))}.hero.hero-signal{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,72px)}.hero-signal .signal-copy{max-width:720px}.hero-signal .soc-scene{justify-self:center;width:100%;max-width:680px;min-width:0}.project-carousel,.project-track,.project-viewport{min-width:0;max-width:100%}.project-viewport{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#7eb956 #182014;overscroll-behavior-x:contain;cursor:grab}.project-viewport::-webkit-scrollbar{height:5px}.project-viewport::-webkit-scrollbar-track{background:#182014}.project-viewport::-webkit-scrollbar-thumb{background:#7eb956;border-radius:8px}.project-track{position:relative;touch-action:auto}.project-slide{scroll-snap-align:none;scroll-margin:0}.project-slide:nth-child(odd){scroll-snap-align:start}.project-viewport[data-dragging=true]{cursor:grabbing;user-select:none}.project-viewport[data-dragging=true] .project-card{transform:none}.project-viewport img{-webkit-user-drag:none;user-select:none}.project-slide a,.project-slide button{cursor:pointer}.slider-dots button{width:36px;min-height:44px}@media(min-width:1600px){.hero.hero-signal{min-height:740px;padding-block:65px 85px}.hero-signal h1{font-size:clamp(5.3rem,5.2vw,6.4rem)}}@media(max-width:800px){.hero.hero-signal{gap:20px}}@media(max-width:650px){.shell{width:calc(100% - 36px)}.hero.hero-signal{grid-template-columns:minmax(0,1fr);gap:17px}.hero-signal .soc-scene{max-width:410px}.slider-count{white-space:nowrap}}@media(prefers-reduced-motion:reduce){.project-viewport{scroll-behavior:auto}}@media(max-width:650px){.project-slide{scroll-snap-align:start}}
/* HERO_FULLSCREEN_TEXT_MOTION_2026_09_22 */
.hero.hero-signal{
  --hero-gutter:max(48px,calc((100vw - 1240px)/2));
  width:100%;
  max-width:none;
  margin-inline:0;
  padding-left:var(--hero-gutter);
  padding-right:var(--hero-gutter);
  background:linear-gradient(90deg,#0b110a 0%,#090c09 16%,#090c09 84%,#0b110a 100%);
}
.hero.hero-signal .hero-scroll{left:var(--hero-gutter)}
.signal-identity,.hero-signal h1,.signal-description,.hero-signal .actions,.signal-availability{
  opacity:0;
  transform:translateY(14px);
  animation:signal-copy-in .72s cubic-bezier(.2,.72,.2,1) forwards;
}
.signal-identity{animation-delay:.08s}
.hero-signal h1{animation-delay:.18s}
.signal-description{animation-delay:.30s}
.hero-signal .actions{animation-delay:.41s}
.signal-availability{animation-delay:.52s}
.hero-signal h1 span{
  background:linear-gradient(110deg,#78e854 10%,#b8ff98 48%,#ceffba 90%);
  background-size:180% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  animation:signal-text-glow 5.5s ease-in-out 1.1s infinite alternate;
}
@keyframes signal-copy-in{to{opacity:1;transform:translateY(0)}}
@keyframes signal-text-glow{0%{background-position:0% 50%}100%{background-position:100% 50%}}
@media(min-width:1600px){.hero.hero-signal{--hero-gutter:max(80px,calc((100vw - 1400px)/2))}}
@media(max-width:1100px){.hero.hero-signal{--hero-gutter:32px}}
@media(max-width:650px){.hero.hero-signal{--hero-gutter:20px}}
@media(max-width:430px){.hero.hero-signal{--hero-gutter:18px}}
@media(prefers-reduced-motion:reduce){
  .signal-identity,.hero-signal h1,.signal-description,.hero-signal .actions,.signal-availability{
    opacity:1;transform:none;animation:none!important
  }
  .hero-signal h1 span{animation:none!important}
}
