:root{--ink:#102422;--ink2:#263937;--muted:#6f7d77;--off:#f4f5ef;--pale:#eaf0e7;--line:#d5dbd2;--green:#b8f6a3;--green2:#8ed98e;--dark:#0a1a1b;--navy:#0d2525;--white:#fff;--container:1250px;--radius:5px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--off);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px;-webkit-font-smoothing:antialiased;overflow-x:hidden}body.dialog-open{overflow:hidden}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}::selection{background:#b8f6a3;color:#14231a}.wrap{max-width:calc(var(--container) + 88px);width:100%;padding-inline:44px;margin-inline:auto}.section-pad{padding-block:138px}.skip-link{position:fixed;z-index:100;left:20px;top:-100px;color:black;background:var(--green);padding:12px 20px}.skip-link:focus{top:10px}.reading-line{position:fixed;top:0;left:0;z-index:90;height:3px;width:0;background:var(--green);pointer-events:none;transition:width .1s linear}
/* Navigation */
.header{height:92px;position:absolute;top:0;left:0;right:0;z-index:30;color:#ecf5ef;border-bottom:1px solid rgba(255,255,255,.13);transition:background .25s,height .25s,box-shadow .25s}.header.sticky{position:fixed;height:76px;background:rgba(9,29,30,.94);box-shadow:0 10px 38px rgba(0,0,0,.16);backdrop-filter:blur(20px)}.nav{height:100%;display:flex;align-items:center;gap:50px}.brand{display:inline-flex;align-items:center;gap:13px;flex-shrink:0}.brand-symbol{display:flex;position:relative;align-items:center;justify-content:center;width:41px;height:41px;background:var(--green);color:#132724;transform:rotate(-7deg);border-radius:3px}.brand-t{font:800 32px/1 'Manrope',Arial,sans-serif;transform:rotate(7deg) translateY(-1px);letter-spacing:-5px;margin-right:5px}.brand-line{position:absolute;background:#183129;width:6px;height:17px;right:7px;bottom:8px;transform:rotate(7deg)}.brand-text{display:flex;flex-direction:column;line-height:1.1}.brand-text b{font:800 18px/1 'Manrope',Arial,sans-serif;letter-spacing:.095em}.brand-text small{margin-top:7px;font-size:9px;letter-spacing:.2em;font-weight:600;color:#a4bcb6;white-space:nowrap}.brand-text small i{width:3px;height:3px;display:inline-block;border-radius:50%;margin:0 3px 2px;background:var(--green)}.primary-nav{display:flex;align-items:center;gap:33px;margin-left:auto;font-size:13px;font-weight:600}.primary-nav a{transition:color .2s;white-space:nowrap}.primary-nav a:hover,.primary-nav a.active{color:var(--green)}.nav-contact{padding:12px 19px;border:1px solid rgba(255,255,255,.33);border-radius:2px;font-size:13px;font-weight:700;white-space:nowrap;transition:background .2s,color .2s}.nav-contact span{margin-left:18px}.nav-contact:hover{background:var(--green);color:var(--dark);border-color:var(--green)}.nav-toggle,.mobile-contact{display:none}
/* Hero */
.hero{background:radial-gradient(circle at 75% 32%,#16443c 0%,#0b2626 32%,#091c1e 64%,#081719 100%);color:white;position:relative;min-height:810px;overflow:hidden;padding-top:91px}.hero-noise{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 79px,rgba(159,247,179,.025) 80px),repeating-linear-gradient(90deg,transparent,transparent 79px,rgba(159,247,179,.025) 80px);pointer-events:none}.hero-orb{position:absolute;width:550px;height:550px;right:-175px;top:20px;border:1px solid rgba(178,239,179,.10);border-radius:50%;box-shadow:0 0 0 120px rgba(178,239,179,.025),0 0 0 250px rgba(178,239,179,.014);pointer-events:none}.hero-grid{display:grid;grid-template-columns:48% 52%;min-height:645px;position:relative;align-items:center}.hero-content{position:relative;z-index:2;padding:70px 0 85px}.eyebrow{font-size:10px;line-height:1.5;letter-spacing:.195em;font-weight:800;display:flex;align-items:center;gap:13px;text-transform:uppercase}.hero-eyebrow{color:#b4d3c6}.signal{width:7px;height:7px;border-radius:100%;background:var(--green);box-shadow:0 0 0 5px rgba(184,246,163,.11);flex-shrink:0;animation:pulse 3.1s ease-in-out infinite}.eyebrow-sep{height:1px;width:22px;background:rgba(210,246,216,.38)}.hero h1{font-family:'Manrope',Arial,sans-serif;font-size:clamp(56px,5.2vw,88px);line-height:1.09;letter-spacing:-.078em;font-weight:700;margin:34px 0 27px;white-space:nowrap}.hero h1 em,.contact-section h2 em{font-style:normal;color:var(--green);font-weight:700}.hero-intro{color:#aec7be;max-width:470px;line-height:1.95;font-size:16px;margin:0}.hero-actions{display:flex;align-items:center;gap:33px;flex-wrap:wrap;margin-top:37px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:29px;min-height:57px;padding:0 22px;border:0;border-radius:3px;font-weight:700;font-size:13px;transition:transform .22s,background .22s,color .22s}.btn:hover{transform:translateY(-3px)}.btn-accent{background:var(--green);color:#123024}.btn-accent:hover{background:#dbffcd}.btn svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;fill:none}.text-link{display:inline-flex;align-items:center;gap:27px;font-weight:700;font-size:13px;border-bottom:1px solid currentColor;padding:0 0 9px;transition:gap .2s,color .2s}.text-link:hover{gap:37px}.text-link.light{color:#e3f1ea}.hero-proof{display:flex;align-items:center;gap:19px;margin-top:70px;color:#b8cac2;font-size:12px;line-height:1.7}.hero-proof b{color:#fff;font-weight:600}.proof-divider{height:37px;width:2px;background:var(--green)}.hero-proof-icon{color:#b7f3a1;font-size:43px;font-weight:300;line-height:1;margin-left:20px;animation:slowSpin 16s linear infinite}.hero-visual{position:absolute;left:43%;right:-13%;top:50px;height:640px;pointer-events:none}.hero-visual-frame{width:100%;height:100%;opacity:.96;filter:drop-shadow(0 40px 70px rgba(0,0,0,.12));animation:floatArt 9s ease-in-out infinite}.hero-visual-frame img{width:100%;height:100%;object-fit:contain}.visual-label{position:absolute;display:flex;align-items:center;font-size:11px;color:#bce0ca;letter-spacing:.05em;background:rgba(13,35,36,.72);border:1px solid rgba(189,245,193,.18);backdrop-filter:blur(12px);padding:15px 19px;box-shadow:0 12px 40px rgba(0,0,0,.1)}.visual-label-one{top:115px;left:36%}.visual-label-two{bottom:92px;right:14%}.visual-label-two span{font-weight:800;color:white;margin-right:16px;font-size:15px}.visual-label-two i{font-style:normal;color:var(--green);padding:0 5px}.status-dot{height:7px;width:7px;background:var(--green);border-radius:50%;margin-right:10px}.visual-cross{position:absolute;right:6%;top:24%;font-size:34px;color:var(--green);font-weight:300}.hero-footer{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:2;padding-bottom:32px;color:#84a29b;font-size:11px;letter-spacing:.09em}.tiny-plus{color:var(--green);margin-right:10px;font-size:18px}.scroll-cue{display:flex;align-items:center;gap:17px;font-size:10px;letter-spacing:.17em}.scroll-cue-line{width:65px;height:1px;background:var(--green);position:relative}.scroll-cue-line:after{content:'';position:absolute;right:0;top:-3px;width:7px;height:7px;border-right:1px solid var(--green);border-top:1px solid var(--green);transform:rotate(45deg)}
/* Ticker */
.ticker{background:var(--green);color:#183c2e;height:54px;overflow:hidden;display:flex;align-items:center}.ticker-track{display:flex;width:max-content;animation:tickerMove 44s linear infinite}.ticker-track>span{white-space:nowrap;font-family:'Manrope',sans-serif;font-size:11px;font-weight:800;letter-spacing:.21em}.ticker-track b{margin:0 28px;font-size:16px;font-weight:400}
/* General headings */
.section-heading{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(250px,.6fr);align-items:end;gap:65px;margin-bottom:58px}.eyebrow.dark{color:#346b4e}.eyebrow-dot{background:#67bc71;width:6px;height:6px;border-radius:50%;flex-shrink:0}.section-heading h2{font:700 clamp(38px,4.4vw,62px)/1.14 'Manrope',Arial,sans-serif;letter-spacing:-.065em;margin:24px 0 0}.soft{color:#8d9c91}.section-heading-copy{margin:0 0 5px;color:#697b72;font-size:14px;line-height:1.95;max-width:375px}
/* About */
.about-section{background:var(--off)}.stat-strip{border-top:1px solid #c8d0c5;border-bottom:1px solid #c8d0c5;display:grid;grid-template-columns:repeat(4,1fr);padding:27px 0;margin-bottom:65px}.stat{padding:10px 23px;border-right:1px solid #cbd5cc;display:flex;flex-direction:column;gap:5px}.stat:first-child{padding-left:0}.stat:last-child{border:0}.stat strong{font:700 clamp(33px,3.7vw,53px)/1.15 'Manrope',sans-serif;letter-spacing:-.06em}.stat-plus{font-size:25px;color:#5d9f65;vertical-align:top;margin-left:3px}.stat>span{font-size:12px;color:#65756b}.about-panel{min-height:430px;display:grid;grid-template-columns:1fr 1fr;background:#e6eae2;overflow:hidden}.about-panel-art{position:relative;min-height:390px;background:radial-gradient(circle at 35% 38%,#4c766b 0,#1d4947 34%,#122d31 75%);overflow:hidden}.art-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(196,250,197,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(196,250,197,.075) 1px,transparent 1px);background-size:35px 35px;transform:perspective(250px) rotateX(18deg) scale(1.3)}.panel-corner-tag{position:absolute;left:34px;top:32px;border-top:1px solid rgba(184,246,163,.55);padding-top:14px;font-size:10px;color:#b9d0bc;letter-spacing:.11em}.panel-corner-tag b{display:block;margin-top:5px;color:var(--green)}.about-graphic{position:absolute;left:31px;right:35px;bottom:35px;display:flex;align-items:center;gap:12px;color:var(--green);font-size:10px;letter-spacing:.14em}.about-graphic-line{height:1px;flex:1;background:#a0caa3}.art-overlay-text{position:absolute;left:11%;top:39%;color:#f0f7f0;font:800 clamp(43px,4vw,64px)/1.02 'Manrope',sans-serif;letter-spacing:-.085em}.art-overlay-text i{font-style:normal;color:var(--green)}.about-panel-copy{padding:57px min(6vw,76px);align-self:center}.mini-kicker{color:#337e52;font-size:10px;letter-spacing:.18em;font-weight:800}.about-panel-copy h3{font:700 clamp(24px,2.45vw,34px)/1.32 'Manrope',sans-serif;letter-spacing:-.053em;margin:17px 0 21px}.about-panel-copy p{color:#617168;font-size:13px;line-height:1.92}.dark-link{margin-top:19px;color:#214b38}
/* Expertise */
.expertise-section{background:#edf0e9}.expertise-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.expertise-card{position:relative;background:#f9fbf7;border:1px solid #dce3d8;min-height:440px;padding:29px 27px 25px;display:flex;flex-direction:column;transition:background .25s,transform .3s,box-shadow .25s}.expertise-card:hover{background:#e0efdc;transform:translateY(-7px);box-shadow:0 19px 35px #233e2d14}.expertise-top{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:9px;letter-spacing:.11em;font-weight:800;color:#5f826d}.small-arrow{font-size:20px;font-weight:400;color:#2f603e}.expertise-icon{margin-top:35px;width:69px;height:69px;border:1px solid #c2d2bf;display:grid;place-items:center;border-radius:50%;color:#426d52}.expertise-icon svg{width:40px;height:40px;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linejoin:round;stroke-linecap:round}.expertise-card h3{font:700 24px/1.2 'Manrope',Arial,sans-serif;letter-spacing:-.04em;margin:27px 0 13px}.expertise-card p{color:#718075;font-size:12px;line-height:1.86;margin:0 0 25px}.card-link{border-top:1px solid #d5dfd3;padding-top:19px;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:space-between;color:#2f5637;margin-top:auto}.card-link span{font-size:18px}
/* Vision */
.vision-band{background:#baf5a5;padding:70px 0}.vision-content{display:grid;grid-template-columns:85px minmax(0,1fr) 160px;align-items:center;gap:40px}.vision-mark{font-size:72px;line-height:1;color:#285b3a;animation:slowSpin 20s linear infinite}.vision-content p{margin:0;font:600 clamp(25px,3vw,42px)/1.35 'Manrope',Arial,sans-serif;letter-spacing:-.056em;max-width:900px}.vision-content strong{font-weight:800}.vision-content>span{justify-self:end;align-self:end;font-size:10px;letter-spacing:.1em;font-weight:800}.vision-content>span i{font-size:23px;display:block;font-style:normal;text-align:right;margin-top:10px}
/* Projects */
.projects-section{background:#f7f8f3}.project-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:35px}.project-filters{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.filter-btn{background:none;border:1px solid transparent;color:#67756d;font-size:12px;padding:11px 18px;border-radius:2px;transition:background .2s,color .2s;font-weight:600}.filter-btn:hover{border-color:#b4c5b6}.filter-btn.active{background:#173e33;color:#f5fff6}.filter-btn span{margin-left:12px;color:var(--green)}.project-total{font-size:10px;letter-spacing:.12em;color:#8a978b;font-weight:800}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:25px;row-gap:50px}.project-card{min-width:0}.project-card.hidden{display:none}.project-open{display:block;text-align:left;padding:0;border:0;background:none;width:100%;color:inherit}.project-image{position:relative;height:247px;overflow:hidden;background:#12312c}.project-image img{height:100%;width:100%;object-fit:cover;transition:transform .65s ease,filter .65s ease}.project-open:hover .project-image img{transform:scale(1.07);filter:brightness(1.12)}.project-view{position:absolute;right:16px;bottom:16px;background:var(--green);padding:10px 13px;font-size:11px;font-weight:800;color:#16362c;opacity:0;transform:translateY(10px);transition:all .25s}.project-open:hover .project-view,.project-open:focus-visible .project-view{opacity:1;transform:translateY(0)}.project-card-meta{display:flex;align-items:center;justify-content:space-between;color:#538064;font-size:10px;letter-spacing:.09em;font-weight:800;margin:22px 0 10px;gap:10px}.project-card-meta span:last-child{color:#919e94}.project-card h3{font:700 clamp(18px,2vw,23px)/1.35 'Manrope',Arial,sans-serif;letter-spacing:-.045em;margin:0 0 6px}.project-card p{font-size:12px;color:#77867a;margin:0}.project-disclaimer{display:flex;align-items:flex-start;gap:13px;border-top:1px solid var(--line);margin-top:65px;padding-top:22px;color:#7f8c80;max-width:900px}.project-disclaimer span{font-size:19px;line-height:1}.project-disclaimer p{font-size:11px;line-height:1.8;margin:0}
/* Process */
.process-section{background:#e9eee7}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:75px}.process-number{font:700 44px/1 'Manrope',Arial,sans-serif;letter-spacing:-.08em;color:#71917a}.process-line{display:block;border-top:1px solid #aebbb0;margin:23px 0 23px;position:relative}.process-line:before{content:'';width:7px;height:7px;background:#5a9e67;position:absolute;right:0;top:-4px;border-radius:50%}.process-step h3{font:700 22px 'Manrope',sans-serif;letter-spacing:-.05em;margin:0 0 12px}.process-step p{font-size:12px;line-height:1.85;color:#738174;margin:0;max-width:230px}
/* Team */
.team-section{background:#f4f5ef}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.team-card{background:#fefefa;overflow:hidden;border:1px solid #e2e5db;transition:transform .3s}.team-card:hover{transform:translateY(-5px)}.portrait{height:220px;background:#183c3b;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.portrait:after{content:'';position:absolute;width:230px;height:230px;border:1px solid rgba(185,244,175,.19);border-radius:50%;top:30px;left:50%;transform:translateX(-50%);box-shadow:0 0 0 32px rgba(193,250,178,.04),0 0 0 64px rgba(193,250,178,.025)}.portrait>span{color:#d4f4da;opacity:.68;font:800 72px/1 'Manrope',sans-serif;letter-spacing:-.09em;z-index:1}.portrait small{position:absolute;left:21px;bottom:18px;font-size:8px;color:#bee7c5;letter-spacing:.14em;font-weight:800;z-index:1}.portrait-two{background:#234b3a}.portrait-three{background:#304741}.portrait-four{background:#243e4d}.team-card-body{padding:25px 22px 30px}.team-role{font-size:9px;color:#559265;font-weight:800;letter-spacing:.08em}.team-card h3{font:700 19px/1.3 'Manrope',sans-serif;letter-spacing:-.04em;margin:12px 0 15px}.team-card p{font-size:12px;line-height:1.85;color:#718072;margin:0}.team-note{font-size:11px;line-height:1.8;color:#94a097;margin:25px 0 0}
/* Contact */
.contact-section{background:radial-gradient(circle at 95% 0%,#22443b 0,#0c2927 28%,#071c20 70%);color:#f0fff6;position:relative;overflow:hidden;padding:122px 0}.contact-topography{position:absolute;inset:0;opacity:.25;background-image:repeating-radial-gradient(ellipse at 25% 50%,transparent 0,transparent 34px,rgba(185,255,182,.11) 35px,transparent 36px);pointer-events:none}.contact-wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(65px,11vw,150px);position:relative}.contact-copy h2{font:700 clamp(47px,5vw,76px)/1.12 'Manrope',sans-serif;letter-spacing:-.07em;margin:25px 0 27px}.contact-copy>p{color:#a9c0b7;line-height:1.9;max-width:385px;font-size:15px}.contact-details{margin-top:68px}.contact-detail{display:grid;grid-template-columns:85px 1fr;align-items:center;gap:18px;padding:20px 0;border-top:1px solid rgba(255,255,255,.14)}.contact-detail span{font-size:9px;color:#85a69a;letter-spacing:.16em;font-weight:800}.contact-detail a{font-size:13px;color:#e2f5e9;transition:color .2s}.contact-detail a:hover{color:var(--green)}.contact-form-card{background:#f6f8f1;padding:40px 39px;color:#16362b;box-shadow:0 25px 80px #0002}.form-heading{display:flex;justify-content:space-between;align-items:center;color:#50875b;font-size:10px;letter-spacing:.16em;font-weight:800}.form-asterisk{font-size:30px;color:#5eaf68}.contact-form-card h3{font:700 25px/1.3 'Manrope',sans-serif;letter-spacing:-.05em;margin:15px 0 29px}.contact-form-card label{display:block;font-size:11px;font-weight:800;color:#476257;margin-bottom:19px}.contact-form-card label span{color:#4e9756}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form-card input,.contact-form-card select,.contact-form-card textarea{display:block;width:100%;border:1px solid #d3ddd1;background:#fff;color:#1a362a;border-radius:1px;padding:13px 13px;margin-top:8px;outline:none;font-size:13px;font-weight:400;transition:border .2s,box-shadow .2s;resize:vertical}.contact-form-card input:focus,.contact-form-card select:focus,.contact-form-card textarea:focus{border-color:#6cab73;box-shadow:0 0 0 3px #90c99a2e}.contact-form-card ::placeholder{color:#9daaa1}.btn-submit{color:#eafee9;background:#1e4936;width:100%;margin-top:4px;text-align:left}.btn-submit:hover{background:#2f654b}.btn-submit span{font-size:20px}.form-footnote{font-size:10px;color:#8a998c;line-height:1.8;margin:12px 0 0}.form-message{font-size:11px;color:#356e40;margin:8px 0 0;min-height:5px}
/* Footer */
.footer{background:#061517;color:#e8f4ed;padding:47px 0 27px}.footer-top{display:flex;align-items:center;gap:30px;justify-content:space-between;padding-bottom:45px}.footer-top p{font-size:12px;color:#94aea3;line-height:1.9;margin:0}.back-top{width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(189,247,188,.3);color:var(--green);font-size:25px;transition:background .2s,color .2s}.back-top:hover{background:var(--green);color:#0d2921}.footer-bottom{display:flex;gap:30px;justify-content:space-between;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.13);padding-top:23px;color:#66857b;font-size:10px;letter-spacing:.02em}.footer-bottom b{color:var(--green);margin-left:5px}
/* Dialog */
.project-dialog{border:none;padding:0;background:#f3f7f0;color:#16332c;max-width:730px;width:calc(100% - 40px);max-height:90dvh;box-shadow:0 30px 100px #0007;overflow-y:auto}.project-dialog::backdrop{background:rgba(4,18,19,.79);backdrop-filter:blur(5px)}.dialog-close{position:absolute;top:15px;right:15px;z-index:4;width:40px;height:40px;border:1px solid #e1eada;background:#f6faf4;font-size:30px;line-height:1;color:#18382a;transition:background .2s}.dialog-close:hover{background:var(--green)}.dialog-image{height:235px;background:#173834;overflow:hidden}.dialog-image img{width:100%;height:100%;object-fit:cover}.dialog-body{padding:34px 40px 40px}.dialog-kicker{font-size:10px;color:#50845d;letter-spacing:.12em;font-weight:800}.dialog-body h2{font:700 35px/1.25 'Manrope',sans-serif;letter-spacing:-.055em;margin:12px 0}.dialog-body>p{color:#6e7e73;font-size:14px;line-height:1.8}.dialog-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px 25px;margin-top:28px;border-top:1px solid #d1dfd0;padding-top:25px}.dialog-facts div:last-child{grid-column:1/-1}.dialog-facts dt{color:#5a9267;font-size:9px;letter-spacing:.1em;font-weight:800;margin-bottom:6px}.dialog-facts dd{margin:0;font-size:13px;color:#214032}.dialog-body .dialog-disclaimer{font-size:10px;color:#829185;margin-top:23px}
/* Animation */
.reveal{opacity:1;transform:none}.reveal.visible{animation:revealUp .72s cubic-bezier(.2,.8,.2,1) both}@keyframes revealUp{from{opacity:.1;transform:translateY(23px)}to{opacity:1;transform:translateY(0)}}.expertise-card:nth-child(2),.project-card:nth-child(2),.team-card:nth-child(2),.process-step:nth-child(2){transition-delay:.075s}.expertise-card:nth-child(3),.project-card:nth-child(3),.team-card:nth-child(3),.process-step:nth-child(3){transition-delay:.14s}.expertise-card:nth-child(4),.team-card:nth-child(4),.process-step:nth-child(4){transition-delay:.21s}@keyframes pulse{0%,100%{box-shadow:0 0 0 5px rgba(184,246,163,.11)}50%{box-shadow:0 0 0 9px rgba(184,246,163,.015)}}@keyframes floatArt{0%,100%{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes tickerMove{to{transform:translateX(-50%)}}@keyframes slowSpin{to{transform:rotate(360deg)}}
@media(max-width:1140px){.hero h1{font-size:clamp(51px,5.5vw,72px)}.hero-visual{left:41%;right:-20%}.primary-nav{gap:21px}.nav{gap:24px}.expertise-grid{grid-template-columns:repeat(2,1fr)}.expertise-card{min-height:385px}.expertise-icon{margin-top:28px}.team-grid{grid-template-columns:repeat(2,1fr)}.team-card{display:grid;grid-template-columns:43% 57%}.portrait{height:100%;min-height:230px}.team-card-body{padding:24px}.project-image{height:210px}}
@media(max-width:850px){.wrap{padding-inline:26px}.header{height:76px}.header.sticky{height:68px}.nav-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:42px;height:42px;margin-left:auto;background:none;border:1px solid #607b6e;border-radius:2px}.nav-toggle span{display:block;width:19px;height:1.5px;background:#edf7eb;transition:transform .2s}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(3.75px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}.primary-nav{position:absolute;top:100%;left:0;right:0;padding:20px 26px 32px;background:#0a2524;display:none;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 15px 24px #0002}.primary-nav.open{display:flex}.primary-nav a{padding:15px 0;font-size:16px;border-bottom:1px solid #ffffff18}.mobile-contact{display:block}.nav-contact{display:none}.hero{padding-top:76px}.hero-grid{display:flex;flex-direction:column;align-items:stretch;min-height:0}.hero-content{padding:96px 0 16px}.hero h1{font-size:clamp(49px,8.6vw,72px)}.hero-visual{position:relative;height:450px;top:auto;left:-8%;right:auto;width:116%;margin-top:-38px}.hero-footer{margin-top:-20px}.section-pad{padding-block:95px}.section-heading{grid-template-columns:1fr;gap:15px}.section-heading-copy{max-width:650px}.stat-strip{grid-template-columns:repeat(2,1fr);row-gap:25px}.stat:nth-child(2){border:0}.stat:nth-child(3){padding-left:0}.about-panel{grid-template-columns:1fr}.about-panel-art{min-height:335px}.about-panel-copy{padding:45px}.project-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(2,1fr);row-gap:50px}.vision-content{grid-template-columns:55px 1fr}.vision-mark{font-size:52px}.vision-content>span{grid-column:2;justify-self:start}.contact-wrap{grid-template-columns:1fr;gap:50px}.contact-details{margin-top:45px}.contact-section{padding-block:90px}.contact-form-card{max-width:650px}.footer-top{align-items:flex-start}}
@media(max-width:560px){.wrap{padding-inline:19px}.header{height:70px}.header.sticky{height:66px}.brand-symbol{width:36px;height:36px}.brand-text b{font-size:15px}.brand-text small{font-size:7px}.hero{padding-top:70px}.hero-content{padding-top:84px}.hero-eyebrow{font-size:8.1px;letter-spacing:.14em;gap:8px}.eyebrow-sep{width:10px}.hero h1{font-size:clamp(45px,11.4vw,61px);white-space:normal;margin-top:26px}.hero-intro{font-size:14px;line-height:1.8}.hero-actions{align-items:stretch;gap:24px}.hero-actions .btn{font-size:12px}.hero-proof{margin-top:45px}.hero-visual{height:300px;width:134%;left:-18%;margin-top:-15px}.visual-label-one{top:24px;left:24%;padding:10px;font-size:9px}.visual-label-two{bottom:24px;right:15%;font-size:9px;padding:10px}.visual-cross{display:none}.hero-footer{margin-top:0}.hero-footer>span{font-size:9px}.scroll-cue{display:none}.ticker{height:45px}.ticker-track>span{font-size:9px}.ticker-track b{margin-inline:18px}.section-pad{padding-block:76px}.section-heading{margin-bottom:35px}.section-heading h2{font-size:clamp(34px,9vw,48px)}.section-heading-copy{font-size:13px}.stat{padding:8px 15px}.stat strong{font-size:38px}.stat>span{font-size:10px}.stat-strip{margin-bottom:43px}.about-panel-art{min-height:285px}.about-panel-copy{padding:32px 25px}.about-panel-copy h3{font-size:26px}.expertise-grid,.project-grid,.team-grid,.process-grid{grid-template-columns:1fr}.expertise-card{min-height:340px;padding:26px}.expertise-card h3{font-size:24px}.expertise-icon{margin-top:23px}.vision-band{padding:50px 0}.vision-content{grid-template-columns:37px 1fr;gap:15px}.vision-mark{font-size:38px}.vision-content p{font-size:25px}.project-toolbar{align-items:flex-start}.project-filters{gap:2px}.filter-btn{padding:10px 12px;font-size:10px}.project-image{height:245px}.project-grid{row-gap:40px}.project-card h3{font-size:22px}.project-disclaimer{margin-top:45px}.process-grid{gap:34px;margin-top:45px}.process-step{display:grid;grid-template-columns:63px 1fr;gap:6px 17px}.process-number{grid-row:1/3;font-size:42px}.process-line{display:none}.process-step h3{margin:0}.process-step p{grid-column:2}.team-card{grid-template-columns:34% 66%}.portrait{min-height:235px}.portrait>span{font-size:49px}.portrait small{font-size:7px;left:10px;right:7px;line-height:1.4}.team-card-body{padding:18px}.team-card h3{font-size:16px}.team-card p{font-size:11px}.contact-section{padding:77px 0}.contact-copy h2{font-size:clamp(45px,12vw,64px)}.contact-form-card{padding:28px 22px}.contact-detail{grid-template-columns:70px 1fr}.contact-detail a{font-size:12px}.field-pair{grid-template-columns:1fr;gap:0}.footer-top{flex-wrap:wrap;gap:25px;padding-bottom:36px}.footer-top p{order:3;width:100%}.back-top{margin-left:auto}.footer-bottom{flex-direction:column;gap:9px}.dialog-image{height:180px}.dialog-body{padding:25px 23px}.dialog-body h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}


/* === TJSB BRAND REFRESH: blue/red corporate gradient system === */
:root{
  --ink:#0f2147;
  --ink2:#2b3e6b;
  --muted:#67728e;
  --off:#f5f7fb;
  --pale:#edf2fb;
  --line:#d8e0f0;
  --green:#0b63e6;
  --green2:#ff2447;
  --dark:#091a40;
  --navy:#0d2f74;
  --white:#fff;
  --brand-blue:#0d66f2;
  --brand-blue-deep:#1145b9;
  --brand-red:#ff173d;
  --brand-red-deep:#d80f34;
  --brand-grad:linear-gradient(90deg,var(--brand-blue) 0%,var(--brand-blue-deep) 45%,var(--brand-red) 100%);
  --brand-grad-soft:linear-gradient(135deg,rgba(13,102,242,.14),rgba(255,23,61,.10));
  --brand-grad-strong:linear-gradient(135deg,var(--brand-blue-deep) 0%,var(--brand-blue) 52%,var(--brand-red) 100%);
}
body{background:linear-gradient(180deg,#fbfcff 0%,#f5f7fb 100%);color:var(--ink)}
::selection{background:#0d66f2;color:#fff}
.reading-line{height:4px;background:var(--brand-grad)}
.skip-link{background:var(--brand-blue);color:#fff}

.header{border-bottom:1px solid rgba(255,255,255,.18)}
.header.sticky{background:rgba(255,255,255,.92);color:var(--ink);box-shadow:0 14px 34px rgba(11,40,110,.12);backdrop-filter:blur(18px)}
.header.sticky .brand-text small{color:#7a85a1}
.header.sticky .brand-text small i{background:var(--brand-red)}
.header.sticky .primary-nav a{color:var(--ink)}
.header.sticky .primary-nav a:hover,.header.sticky .primary-nav a.active{color:var(--brand-blue)}
.header.sticky .nav-contact{border-color:#ced8ed;color:var(--ink);background:#fff}
.header.sticky .nav-contact:hover{background:var(--brand-grad-strong);border-color:transparent;color:#fff}
.header.sticky .nav-toggle{border-color:#b9c8ea}
.header.sticky .nav-toggle span{background:var(--ink)}
.brand-symbol{background:var(--brand-grad-strong);color:#fff;box-shadow:0 10px 24px rgba(13,102,242,.24)}
.brand-line{background:#fff}
.brand-text small i{background:var(--brand-red)}
.primary-nav a:hover,.primary-nav a.active{color:#8cc8ff}
.nav-contact{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.08)}
.nav-contact:hover{background:var(--brand-grad-strong);color:#fff;border-color:transparent}

.hero{background:
  radial-gradient(circle at 15% 18%, rgba(13,102,242,.12), transparent 28%),
  radial-gradient(circle at 84% 16%, rgba(255,23,61,.14), transparent 24%),
  linear-gradient(180deg,#ffffff 0%,#f4f7fc 50%,#eef3fb 100%);
  color:var(--ink);
}
.hero::before,.hero::after{content:"";position:absolute;left:0;right:0;height:16px;z-index:1;pointer-events:none}
.hero::before{top:18px;background:linear-gradient(90deg,var(--brand-blue) 0 53%,transparent 53% 55%,#fff 55% 57%,var(--brand-red) 57% 100%)}
.hero::after{bottom:16px;background:linear-gradient(90deg,var(--brand-blue) 0 53%,transparent 53% 55%,#fff 55% 57%,var(--brand-red) 57% 100%);opacity:.95}
.hero-noise{background:repeating-linear-gradient(0deg,transparent,transparent 79px,rgba(13,102,242,.035) 80px),repeating-linear-gradient(90deg,transparent,transparent 79px,rgba(255,23,61,.03) 80px)}
.hero-orb{border:1px solid rgba(13,102,242,.10);box-shadow:0 0 0 120px rgba(13,102,242,.03),0 0 0 250px rgba(255,23,61,.02)}
.hero-eyebrow{color:#3b5ea0}
.signal{background:var(--brand-red);box-shadow:0 0 0 5px rgba(255,23,61,.12)}
.eyebrow-sep{background:rgba(13,102,242,.24)}
.hero h1,.contact-section h2,.section-heading h2,.dialog-body h2,.about-panel-copy h3,.contact-form-card h3{color:var(--ink)}
.hero h1 em,.contact-section h2 em{background:var(--brand-grad-strong);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-intro{color:#5c6f97}
.btn-accent,.btn-submit{background:var(--brand-grad-strong);color:#fff;box-shadow:0 16px 35px rgba(17,69,185,.18)}
.btn-accent:hover,.btn-submit:hover{background:linear-gradient(135deg,var(--brand-red) 0%,var(--brand-blue) 100%);color:#fff}
.text-link.light{color:var(--brand-blue-deep)}
.text-link.dark-link,.card-link,.contact-detail a:hover,.footer-bottom b{color:var(--brand-blue)}
.hero-proof{color:#6c7a99}
.hero-proof b{color:var(--ink)}
.proof-divider,.scroll-cue-line,.scroll-cue-line:after{background:var(--brand-red);border-color:var(--brand-red)}
.hero-proof-icon,.tiny-plus,.visual-cross{color:var(--brand-red)}
.hero-visual-frame{background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.7);border-radius:24px;padding:18px;box-shadow:0 35px 70px rgba(17,69,185,.10),0 10px 30px rgba(255,23,61,.06)}
.visual-label{background:rgba(255,255,255,.92);border:1px solid rgba(13,102,242,.10);box-shadow:0 16px 34px rgba(17,69,185,.10);color:#3f5789}
.visual-label-two span{color:var(--ink)}
.visual-label-two i,.project-card-meta span:first-child,.team-role,.dialog-kicker,.form-heading,.mini-kicker{color:var(--brand-blue)}
.status-dot{background:var(--brand-red)}
.hero-footer{color:#617392}

.ticker{background:var(--brand-grad);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.26)}

.eyebrow.dark,.section-heading-copy,.stat>span,.about-panel-copy p,.process-step p,.project-disclaimer p,.team-note,.dialog-body>p,.form-footnote{color:#687694}
.eyebrow-dot{background:var(--brand-red)}
.soft{color:#8b99b7}

.stat-strip{border-top:1px solid #d7e0f1;border-bottom:1px solid #d7e0f1;background:rgba(255,255,255,.7);backdrop-filter:blur(8px);border-radius:18px;padding-inline:16px;box-shadow:0 12px 32px rgba(17,69,185,.05)}
.stat{border-right:1px solid #dee5f4}
.stat-plus{color:var(--brand-red)}
.about-panel{background:#fff;border:1px solid #e0e6f2;border-radius:28px;box-shadow:0 22px 70px rgba(17,69,185,.08)}
.about-panel-art{background:linear-gradient(135deg,#1a55ce 0%,#0d66f2 38%,#1145b9 62%,#ff173d 100%)}
.art-grid{background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px)}
.panel-corner-tag{border-top:1px solid rgba(255,255,255,.55);color:#eaf0ff}
.panel-corner-tag b,.about-graphic,.art-overlay-text i{color:#fff}
.about-graphic-line{background:rgba(255,255,255,.7)}
.about-panel-copy{background:linear-gradient(180deg,#ffffff 0%,#f7f9fe 100%)}

.expertise-card,.project-card,.team-card,.contact-form-card,.dialog-body,.project-dialog{background:#fff}
.expertise-card,.project-card,.team-card{border:1px solid #dce5f4;box-shadow:0 14px 42px rgba(17,69,185,.07)}
.expertise-card:hover,.project-card:hover,.team-card:hover{box-shadow:0 20px 60px rgba(17,69,185,.12);border-color:#c8d7f2}
.expertise-top span:first-child{color:#5d719a}
.small-arrow,.project-view,.contact-detail span{color:var(--brand-red)}
.expertise-icon{background:var(--brand-grad-soft);border:1px solid rgba(13,102,242,.08)}
.expertise-icon svg{stroke:var(--brand-blue-deep)}
.card-link:hover{color:var(--brand-red)}

.vision-band{background:var(--brand-grad-strong);position:relative;overflow:hidden}
.vision-band::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.08),transparent 30%,transparent 70%,rgba(255,255,255,.08))}
.vision-mark,.vision-content>span{color:#fff}
.vision-content p{color:#fff}

.project-toolbar{border-bottom:1px solid #d8e1f1}
.filter-btn{border:1px solid #d4def0;background:#fff;color:#44587f}
.filter-btn.active,.filter-btn:hover{background:var(--brand-grad-strong);color:#fff;border-color:transparent}
.project-image{background:linear-gradient(180deg,#f4f7fd 0%,#e8eef9 100%)}
.project-card-meta span:last-child{color:#8594b4}
.project-disclaimer{border-left:3px solid var(--brand-red);background:#fff;border-radius:12px;padding:16px 18px;box-shadow:0 8px 24px rgba(17,69,185,.05)}
.project-disclaimer span{color:var(--brand-red)}

.process-number{background:var(--brand-grad-strong);-webkit-background-clip:text;background-clip:text;color:transparent}
.process-line{background:linear-gradient(90deg,var(--brand-blue),rgba(13,102,242,.15))}
.process-step h3{color:var(--ink)}

.portrait{background:var(--brand-grad-strong)}
.team-card-body p{color:#687694}

.contact-section{background:linear-gradient(180deg,#f7f9ff 0%,#edf3fd 100%);color:var(--ink)}
.contact-topography{background:radial-gradient(circle at 14% 18%,rgba(13,102,242,.16),transparent 23%),radial-gradient(circle at 85% 22%,rgba(255,23,61,.12),transparent 19%)}
.contact-copy p{color:#637496}
.contact-form-card{border:1px solid #dce5f2;box-shadow:0 20px 60px rgba(17,69,185,.10)}
.form-asterisk{color:var(--brand-red)}
.contact-form-card label{color:#4c618d}
.contact-form-card label span{color:var(--brand-red)}
.contact-form-card input,.contact-form-card select,.contact-form-card textarea{border:1px solid #d6e1f3;background:#fbfcff;color:#18305f;border-radius:10px}
.contact-form-card input:focus,.contact-form-card select:focus,.contact-form-card textarea:focus{border-color:#7ba8f0;box-shadow:0 0 0 3px rgba(13,102,242,.12)}
.form-message{color:var(--brand-blue-deep)}

.footer{background:linear-gradient(135deg,#0a2e78 0%,#102d63 55%,#c91438 100%)}
.footer-top p,.footer-bottom{color:rgba(255,255,255,.8)}
.back-top{border-color:rgba(255,255,255,.35);color:#fff}
.back-top:hover{background:#fff;color:var(--brand-blue-deep)}

.dialog-close:hover{background:var(--brand-grad-strong);color:#fff}
.dialog-image{background:linear-gradient(135deg,#f4f7fd 0%,#e9eef8 100%)}
.dialog-facts{border-top:1px solid #dbe3f2}
.dialog-facts dt{color:var(--brand-red)}
.dialog-facts dd{color:#18305f}

@keyframes pulse{0%,100%{box-shadow:0 0 0 5px rgba(255,23,61,.12)}50%{box-shadow:0 0 0 9px rgba(255,23,61,.03)}}

@media(max-width:850px){
  .primary-nav{background:#fff;border-top:1px solid #dbe3f1}
  .primary-nav a{border-bottom:1px solid #edf1f8;color:var(--ink)}
  .primary-nav a:hover,.primary-nav a.active{color:var(--brand-blue)}
  .nav-toggle{background:rgba(255,255,255,.06)}
  .nav-toggle span{background:#edf7eb}
  .header.sticky .primary-nav{background:#fff}
}
