.hero-pointer-glow{position:absolute;width:420px;height:420px;left:0;top:0;background:radial-gradient(closest-side,#42df7b18,transparent);transform:translate3d(calc(var(--pointer-x,0px) - 210px),calc(var(--pointer-y,0px) - 210px),0);opacity:0;transition:opacity .35s,transform .08s linear;pointer-events:none}
.cursor-active .hero-pointer-glow{opacity:1}.motion-paused .hero-pointer-glow{opacity:0!important}
.hero{height:auto;min-height:max(1060px,100svh);max-height:none}.hero-summary h2{font-size:clamp(32px,3.1vw,46px);line-height:1.12;max-width:620px}
.decrypt-word{display:inline-block;vertical-align:baseline}
.contact h2>.decrypt-word{color:inherit}
.experience{padding-block:105px;border-block:1px solid #294c35;position:relative}
.experience-heading{display:grid;grid-template-columns:180px 1fr;gap:25px;align-items:start;margin-bottom:55px}
.experience-heading>.section-number{padding-top:7px}.experience-heading h2{max-width:870px}
.experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.experience-card{padding:28px;border:1px solid #31573d;background:linear-gradient(145deg,#0b1a11,#060f09);position:relative;transition:border-color .3s,transform .3s}
.experience-card:hover{border-color:#73c68b;transform:translateY(-5px)}
.js .experience-card.reveal.visible:hover{transform:translateY(-5px)}
.motion-paused .experience-card.reveal.visible:hover{transform:none}
.experience-card>.mono{display:flex;justify-content:space-between;color:#79ac88;font-size:12px}.experience-card>.mono b{font-weight:400;color:#b5e8c3}
.experience-card h3{font-size:clamp(23px,2.1vw,33px);line-height:1.12;letter-spacing:-.045em;margin:37px 0 20px;font-weight:500}
.experience-card p{font-size:16px;line-height:1.7;color:#a4bfae;margin:0 0 25px}
.experience-tags{display:flex;gap:8px;flex-wrap:wrap;font:400 12px/1.5 var(--mono);color:#8abb99}.experience-tags span{border:1px solid #31513b;padding:5px 8px}
.contact-signal{height:285px;position:relative;margin:0 0 42px;overflow:hidden}.contact-signal canvas{width:100%;height:100%;display:block}
.contact-signal-label{position:absolute;top:0;left:0;right:0;text-align:center;color:#70937b;font-size:12px;pointer-events:none}
.contact-signal-link{position:absolute;left:50%;bottom:9px;transform:translateX(-50%);display:flex;align-items:center;gap:15px;justify-content:center;min-height:58px;padding:15px 27px;background:#0c2415;border:1px solid #4e895d;color:#b4f8c7;font:500 14px/1.4 var(--mono);white-space:nowrap;transition:background .3s,border-color .3s,box-shadow .3s}
.contact-signal-link svg{width:20px;height:20px;fill:currentColor}.is-connected .contact-signal-link{border-color:#9effbd;box-shadow:0 0 38px #75ff9a16;background:#12311d}.contact-signal-link:hover{background:#8bffb0;color:#051509}
.mobile-contact-dock{display:none}
.motion-paused .mobile-contact-dock{animation:none;opacity:1;transform:none}
.faq{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,1.45fr);gap:90px;padding-block:105px;border-bottom:1px solid #294c35}
.faq-heading>.section-number{display:block;margin-bottom:35px}.faq-heading h2{font-size:clamp(38px,4.4vw,64px);font-weight:500;line-height:1.08;letter-spacing:-.055em}.faq-heading>p{font-size:16px;line-height:1.7;color:#a4bfae;margin:25px 0 23px}
.faq-brief-link{display:inline-block;min-height:44px;padding-block:11px;border-bottom:1px solid #56896a;font-size:16px;color:#b5e8c3}.faq-brief-link:hover{color:#8bffb0}
.faq-item{border-top:1px solid #35563e;transition:background .25s}.faq-item:last-child{border-bottom:1px solid #35563e}.faq-item[open]{background:#0a1b10}
.faq-item summary{list-style:none;display:grid;grid-template-columns:30px 1fr 18px;gap:16px;align-items:center;padding:25px 15px 25px 0;cursor:pointer;font-size:18px;line-height:1.45;color:#d1eedb}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:hover{color:#a6ffc2}.faq-index{font-size:13px;color:#88b69a}
.faq-item summary i{width:18px;height:18px;position:relative}.faq-item summary i:before,.faq-item summary i:after{content:'';position:absolute;background:#9bdfb0}.faq-item summary i:before{width:14px;height:1px;left:2px;top:8px}.faq-item summary i:after{width:1px;height:14px;left:8px;top:2px;transition:transform .25s}.faq-item[open] summary i:after{transform:scaleY(0)}
.faq-answer{padding:0 49px 27px 46px}.faq-answer p{margin:0;color:#a4bfae;font-size:16px;line-height:1.75}.faq-item[open] .faq-answer{animation:faq-answer-enter .28s ease-out}.motion-paused .faq-answer{animation:none!important}
.project-choices{margin:30px 0 29px}.project-choices>p{font-size:16px;color:#c1dfca;margin:0 0 14px}.project-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.project-choice{display:flex;align-items:center;justify-content:space-between;gap:9px;text-align:left;min-height:52px;padding:13px 15px;border:1px solid #365b41;background:#07160c;color:#b5d1be;font-size:14px;line-height:1.45;transition:background .25s,border-color .25s,color .25s}.project-choice:hover{border-color:#82d19a;background:#102a18;color:#d4f9df}.project-choice.selected{background:#173922;border-color:#8ce7a6;color:#c1ffd3}.choice-mark{flex:0 0 12px;font:400 18px/1 var(--mono)}.choice-mark:after{content:'+'}.selected .choice-mark:after{content:'✓'}.brief{scroll-margin-block:45px}
@keyframes faq-answer-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:1150px){.faq{gap:45px;grid-template-columns:minmax(230px,1fr) minmax(0,1.5fr)}.project-choice-grid{grid-template-columns:1fr}}
@media(max-width:760px){.faq{grid-template-columns:1fr;gap:38px;padding-block:65px}.faq-heading>.section-number{margin-bottom:25px}.faq-heading h2{font-size:38px}.faq-heading>p{margin-top:20px}.faq-item summary{grid-template-columns:24px 1fr 18px;gap:11px;padding-block:22px;font-size:16px}.faq-answer{padding:0 25px 24px 35px}.project-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-choice{padding:12px;min-height:56px}.project-choices{margin-block:28px}.contact-grid{gap:40px}}
@media(max-width:370px){.project-choice-grid{grid-template-columns:1fr}.faq-heading h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){.faq-answer{animation:none!important}.faq-item,.faq-item summary i:after,.project-choice{transition:none}}
@media(max-width:1150px){.experience-grid{gap:16px}.experience-card{padding:23px}.experience-heading{grid-template-columns:150px 1fr}.hero{min-height:1060px}}
@media(max-width:760px){.hero{min-height:1270px}.hero-summary h2{font-size:36px;max-width:100%}.experience{padding-block:65px}.experience-heading{display:block;margin-bottom:32px}.experience-heading>.section-number{margin-bottom:24px}.experience-heading h2{font-size:36px}.experience-grid{grid-template-columns:1fr;gap:18px}.experience-card{padding:25px}.experience-card h3{font-size:29px;margin-top:30px}.experience-card p{margin-bottom:21px}.contact-signal{height:230px;margin-bottom:30px}.contact-signal-label{font-size:11px}.contact-signal-link{padding:13px 20px;min-height:52px;font-size:13px}.mobile-contact-dock{position:fixed;z-index:95;bottom:max(12px,env(safe-area-inset-bottom));left:14px;right:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;background:#07180ff2;backdrop-filter:blur(14px);border:1px solid #518663;box-shadow:0 8px 35px #0008;animation:dock-enter .25s ease-out}.mobile-contact-dock[hidden]{display:none}.mobile-contact-dock>span{font-size:14px;color:#d1eedb;line-height:1.35}.mobile-contact-dock small{display:block;color:#84ac91;font:400 12px/1.5 var(--mono);margin-top:2px}.mobile-contact-dock>a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 14px;background:#8bffb0;color:#06170c;font-size:14px;white-space:nowrap}.mobile-contact-dock svg{width:17px;height:17px;fill:currentColor}.footer{padding-bottom:85px}}
@media(max-width:370px){.hero-summary h2{font-size:32px}.hero{min-height:1240px}.experience-heading h2{font-size:32px}.experience-card{padding:22px}.mobile-contact-dock>span{font-size:13px}.mobile-contact-dock>a{font-size:13px;padding-inline:12px}}
@keyframes dock-enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.hero-pointer-glow{display:none}.experience-card{transition:none}.experience-card:hover,.js .experience-card.reveal.visible:hover{transform:none}.mobile-contact-dock{animation:none}}
