:root{color-scheme:dark;--teal:#168486;--teal-light:#73d8d5;--ink:#252525;--white:#fff;--bg:#191b1c;--surface:#272a2c;--line:rgba(226,237,237,.13);--text:#f1f4f4;--muted:#b1bbbe;--font:'Space Grotesk','Noto Sans JP',sans-serif;--ease:cubic-bezier(.2,.7,.2,1);--page-progress:0;--hero-shift:0px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}body::before{content:'';position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 90% 22%,rgba(22,132,134,.075),transparent 48%);z-index:-1}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{line-height:1.35}h2{font-size:clamp(28px,3.35vw,43px);font-weight:600;letter-spacing:-.035em}h3{font-weight:600;font-size:22px;letter-spacing:-.025em}p{overflow-wrap:anywhere}ul{padding:0;list-style:none;margin:0}svg{display:block}.icon{width:24px;height:24px;flex:none}::selection{background:#168486;color:#fff}:focus-visible{outline:2px solid var(--teal-light);outline-offset:7px;border-radius:3px}.container{width:min(1240px,calc(100% - 112px));margin-inline:auto}.section{padding:112px 0;position:relative}.accent{color:var(--teal-light)}.eyebrow{display:flex;align-items:center;gap:16px;font-size:12px;font-weight:500;line-height:1.6;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.section-index{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid rgba(115,216,213,.28);border-radius:50%;font-size:12px;letter-spacing:0;color:var(--teal-light)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:48px;margin-bottom:44px}.section-heading h2{margin-top:15px}.section-heading h2 .accent{display:inline-block;font-size:.6em;margin-left:.25em;font-weight:400;letter-spacing:-.025em}.section-intro{max-width:370px;color:var(--muted);font-size:16px}.skip-link{position:fixed;top:-100px;left:20px;z-index:1000;padding:12px 20px;background:#fff;color:#252525}.skip-link:focus{top:10px}
/* A floating navigation layer, independent of the background. */
.site-header{position:fixed;top:20px;left:28px;right:28px;z-index:100;transition:top .3s var(--ease)}.nav-shell{position:relative;max-width:1360px;margin:auto;min-height:80px;padding:10px 28px 10px 13px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:rgba(37,40,42,.82);border:1px solid rgba(241,245,245,.14);border-top-color:rgba(255,255,255,.24);border-radius:14px;box-shadow:0 12px 48px #0003,inset 0 1px 0 #ffffff06;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.nav-shell::after{content:'';position:absolute;left:14px;right:14px;bottom:-1px;height:1px;background:linear-gradient(90deg,var(--teal-light),#168486);transform:scaleX(var(--page-progress));transform-origin:left;opacity:.7}.brand{display:inline-flex;flex:none;align-items:center}.brand-images{position:relative;display:block;width:224px}.brand-images img{width:100%}.brand-color{position:absolute;inset:0;clip-path:inset(0 73% 0 0)}.nav-links{display:flex;align-items:center;gap:36px;font-size:14px;font-weight:500}.nav-links a{position:relative;padding:9px 0;color:#c4ccce;transition:color .25s}.nav-links a:hover,.nav-links a[aria-current=page]{color:#fff}.nav-links a::after{content:'';position:absolute;bottom:2px;left:0;right:0;height:2px;background:var(--teal-light);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}.nav-links a:hover::after,.nav-links a[aria-current=page]::after{transform:scaleX(1)}.nav-links a:last-child{border:1px solid #ffffff28;border-radius:7px;padding:10px 18px}.nav-links a:last-child::after{left:18px;right:18px}.menu-toggle{display:none}.site-header.scrolled{top:10px}.site-header.scrolled .nav-shell{background:rgba(33,36,37,.94)}
/* The grey wave field sits beneath the copy and three floating brand planes. */
.home-hero{position:relative;isolation:isolate;min-height:840px;min-height:min(940px,100svh);overflow:hidden;background:radial-gradient(ellipse at 72% 50%,#393f40 0,transparent 55%),linear-gradient(125deg,#1d2021,#303335 60%,#202426);border-bottom:1px solid var(--line)}
#vanta-bg{position:absolute!important;inset:0;z-index:-3;opacity:.8;background:linear-gradient(130deg,#232628,#373c3d 55%,#25292a)}#vanta-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,25,26,.93),rgba(22,25,26,.55) 47%,rgba(22,25,26,.17)),linear-gradient(0deg,#191b1c,transparent 25%);pointer-events:none;z-index:2}.hero-grain{position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(#e0ffff04 1px,transparent 1px),linear-gradient(90deg,#e0ffff04 1px,transparent 1px);background-size:88px 88px;mask-image:linear-gradient(0deg,transparent,#000 35%)}.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;align-items:center;gap:10px;position:relative;padding-top:174px;padding-bottom:126px;min-height:840px;min-height:min(940px,100svh)}.hero-copy{position:relative;z-index:3;max-width:640px}.hero-eyebrow{color:#c5ced0;letter-spacing:.18em;margin-bottom:28px}.hero-eyebrow::before{content:'';display:block;width:30px;height:2px;background:var(--teal-light)}.hero-copy h1{font-size:clamp(80px,7.3vw,110px);line-height:.98;letter-spacing:-.075em;font-weight:600;margin-left:-.055em;margin-bottom:28px}.work-word{color:var(--teal-light);background:linear-gradient(110deg,#9ce8df,#5cc2c6 45%,#b6ede8);background-size:180% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:word-light 9s ease-in-out infinite alternate}.hero-lead{max-width:550px;font-size:clamp(20px,2vw,24px);line-height:1.9;font-weight:500;letter-spacing:.025em}.hero-description{color:#c0c7c9;font-size:16px;line-height:2;max-width:540px;margin-top:18px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:14px 23px;min-height:54px;font-size:15px;font-weight:500;line-height:1.4;border:1px solid transparent;border-radius:8px;isolation:isolate;transition:transform .3s var(--ease),background .3s,box-shadow .3s;overflow:hidden}.button .icon{width:18px;height:18px;transition:transform .3s}.button:hover .icon{transform:translateX(4px)}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--teal);color:#fff;border-top-color:#ffffff38;box-shadow:0 5px 20px #0002,inset 0 1px 0 #ffffff16}.button-primary::before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,#ffffff24 45%,transparent 70%);transform:translateX(-110%);transition:transform .65s;pointer-events:none}.button-primary:hover::before{transform:translateX(110%)}.button-primary:hover{background:#147d7f;box-shadow:0 7px 26px #16848640}.button-secondary{background:#ffffff05;border-color:#ffffff33;color:#f0f4f5}.button-secondary:hover{background:#ffffff0e}.hero-bottom{position:absolute;bottom:33px;left:0;right:0;display:flex;align-items:center;gap:18px;color:#b0babc;font-size:11px;letter-spacing:.15em}.hero-coordinate{margin-left:auto}.scroll-stroke{height:40px;width:1px;background:#ffffff30;overflow:hidden}.scroll-stroke::after{content:'';display:block;background:var(--teal-light);height:18px;animation:scroll-line 2.5s ease-in-out infinite}
.hero-art{height:520px;position:relative;perspective:1200px;--pointer-x:0;--pointer-y:0;transform:translateY(calc(var(--hero-shift)*.32));will-change:transform}.art-stage{position:absolute;inset:20px 0 40px;transform-style:preserve-3d;transform:rotateX(calc(var(--pointer-y)*-5deg)) rotateY(calc(var(--pointer-x)*7deg));transition:transform .4s var(--ease)}.art-plate{position:absolute;left:14%;top:14%;width:76%;height:76%;border-radius:18px;border:1px solid #e9ffff35;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);transform-style:preserve-3d;box-shadow:0 45px 65px #0004,inset 0 1px 0 #ffffff16;overflow:hidden}.plate-back{transform:translate3d(32px,-34px,-80px) rotate(-15deg);background:linear-gradient(125deg,#5e666961,#24282965);animation:float-back 13s ease-in-out infinite}.plate-middle{transform:translate3d(-22px,9px,-35px) rotate(11deg);background:linear-gradient(135deg,#343a3c99,#111819b3);border-color:#73d8d560;animation:float-middle 11s ease-in-out infinite}.plate-front{transform:translate3d(0,18px,35px) rotate(-4deg);background:linear-gradient(135deg,rgba(91,99,100,.63),rgba(39,44,46,.87) 56%,rgba(23,28,30,.92));display:flex;flex-direction:column;align-items:center;animation:float-front 9s ease-in-out infinite}.plate-front::before{content:'';position:absolute;top:0;left:12%;width:58%;height:1px;background:linear-gradient(90deg,transparent,#a3f0e4,transparent)}.plate-grid{position:absolute;inset:0;background-image:linear-gradient(#fff1 1px,transparent 1px),linear-gradient(90deg,#fff1 1px,transparent 1px);background-size:35px 35px}.plate-head,.plate-foot{display:flex;justify-content:space-between;width:100%;padding:19px 21px;font-size:10px;line-height:1.5;letter-spacing:.12em;color:#c7d6d7}.plate-foot{margin-top:auto;gap:10px;font-size:9px;border-top:1px solid #ffffff13}.hero-monogram{position:absolute;top:50%;left:50%;width:77%;transform:translate(-50%,-50%);filter:drop-shadow(0 15px 20px #0003)}.plate-sheen{position:absolute;inset:-70%;pointer-events:none;background:linear-gradient(115deg,transparent 43%,#ffffff09 47%,#ffffff12 50%,transparent 54%);animation:plate-sheen 12s ease-in-out infinite}.art-orbit{position:absolute;width:440px;height:440px;top:0;left:1%;border:1px solid #ffffff09;border-radius:50%;transform:rotateX(60deg) rotateZ(-35deg)}.orbit-two{width:540px;height:540px;left:-9%;top:-40px;border-color:#73d8d512;transform:rotateX(65deg) rotateZ(35deg)}.art-caption{position:absolute;bottom:0;left:15%;right:5%;display:flex;gap:13px;align-items:center;justify-content:center;color:#bdc8cb;font-size:10px;letter-spacing:.12em}.art-caption i{height:1px;background:#73d8d55a;width:22px}
/* Surfaces change depth and rhythm as the visitor moves down the page. */
.services-section{padding-top:96px;background:linear-gradient(180deg,#191b1c,#202325)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start;padding-bottom:36px}.service-card{position:relative;padding:32px 28px 38px;min-height:315px;border-radius:12px;border:1px solid var(--line);background:linear-gradient(135deg,#35393b,#292c2e 80%);box-shadow:0 12px 28px #0002,inset 0 1px 0 #ffffff09;overflow:hidden;transition:transform .45s var(--ease),border-color .4s,box-shadow .4s}.service-card:nth-child(2){margin-top:24px;background:linear-gradient(135deg,#3b4042,#2d3233)}.service-card:nth-child(3){margin-top:48px}.service-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px}.icon-frame{display:grid;place-items:center;width:50px;height:50px;border:1px solid #73d8d538;border-radius:9px;background:linear-gradient(135deg,#16848630,#1684860c);color:var(--teal-light)}.icon-frame .icon{width:25px;height:25px}.card-number{font-size:13px;color:#98a5a8;font-variant-numeric:tabular-nums;letter-spacing:.1em}.service-card h3{margin-bottom:17px}.service-card p{color:var(--muted);line-height:1.95}.card-baseline{position:absolute;bottom:0;left:28px;right:28px;height:2px;background:linear-gradient(90deg,var(--teal),transparent);opacity:.7}.service-card:hover{transform:translateY(-8px);border-color:#73d8d555;box-shadow:0 25px 38px #0003}.service-card::after,.project-card::after,.scope-tile::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(350px circle at var(--hover-x,50%) var(--hover-y,-30%),#73d8d50b,transparent 70%);opacity:0;transition:opacity .4s}.service-card:hover::after,.project-card:hover::after,.scope-tile:hover::after{opacity:1}.approach-section{background:linear-gradient(115deg,#34393b,#2e3335 65%,#262c2e);border-block:1px solid #ffffff10;isolation:isolate}.approach-section::before{content:'';position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(120deg,transparent,transparent 130px,#ffffff05 131px,transparent 132px);opacity:.14}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:center}.principle-card{position:relative;border:1px solid #ffffff29;border-top-color:#ffffff3b;border-radius:14px;background:linear-gradient(140deg,#454c4e99,#252c2ed9);padding:33px 34px 43px;box-shadow:18px 20px 0 -2px #1c24255a,18px 20px 0 -1px #a0d7d514,0 25px 60px #0003}.principle-card>.eyebrow{margin-bottom:24px}.principle-step{display:grid;grid-template-columns:30px 1fr 20px;gap:17px;align-items:start;padding:23px 0;border-top:1px solid #ffffff16}.step-number{color:var(--teal-light);font-size:13px;padding-top:4px}.principle-step h3{font-size:24px;font-weight:500;letter-spacing:.02em;margin-bottom:7px}.principle-step p{color:#b7c3c6;font-size:14px}.principle-step>.icon{width:18px;height:18px;color:#95b4b5;margin-top:7px}.principle-track{position:absolute;left:34px;right:34px;bottom:21px;height:1px;background:#73d8d526;overflow:hidden}.principle-track span{position:absolute;height:1px;width:30%;background:linear-gradient(90deg,transparent,var(--teal-light),transparent);animation:signal-travel 6s linear infinite}.approach-copy>.eyebrow{margin-bottom:19px}.approach-copy h2{line-height:1.6;margin-bottom:26px}.approach-copy>p:not(.eyebrow){color:#c0c9cc;line-height:2;margin-bottom:19px}.text-link{display:inline-flex;gap:18px;align-items:center;color:var(--teal-light);font-size:15px;font-weight:500;padding:10px 0;border-bottom:1px solid #73d8d544;margin-top:10px}.text-link .icon{width:18px;height:18px;transition:transform .3s}.text-link:hover .icon{transform:translateX(5px)}.projects-section{background:radial-gradient(ellipse at 5% 0,#2d363766,transparent 40%),#202325}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.project-card{position:relative;display:flex;flex-direction:column;min-height:285px;padding:31px 32px 39px;border:1px solid #ffffff1c;border-radius:12px;background:linear-gradient(140deg,#313739,#272b2d);box-shadow:0 12px 26px #0002;overflow:hidden;transition:transform .4s var(--ease),border-color .4s,background .4s}.project-card:nth-child(4n+2){background:linear-gradient(140deg,#3b4042,#2c3133)}.project-card:nth-child(4n+3){background:linear-gradient(140deg,#33373c,#272b2f)}.project-card:nth-child(4n+4){background:linear-gradient(140deg,#353c3c,#262c2d)}.project-meta{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:28px}.project-meta .eyebrow{font-size:11px}.project-index{color:#869699;font-size:12px;letter-spacing:.1em}.project-title{display:flex;justify-content:space-between;align-items:start;gap:22px;margin-bottom:20px}.project-title h3{font-size:clamp(22px,2.5vw,32px);letter-spacing:-.04em;overflow-wrap:anywhere}.project-arrow{width:38px;height:38px;border:1px solid #ffffff26;border-radius:50%;display:grid;place-items:center;flex:none;color:#b3d9d9;transition:background .3s,transform .4s}.project-arrow .icon{width:19px;height:19px}.project-description{font-size:15px;line-height:1.95;color:#b7c2c5;max-width:95%}.project-rule{position:absolute;left:32px;right:32px;bottom:0;height:2px;background:linear-gradient(90deg,#168486,#73d8d584,transparent);transform:scaleX(.4);transform-origin:left;transition:transform .5s}.project-card:hover{transform:translateY(-5px);border-color:#73d8d550}.project-card:hover .project-rule{transform:scaleX(1)}.project-card:hover .project-arrow{background:#168486;transform:rotate(5deg);color:#fff}.project-card.compact{min-height:196px}.project-card.compact .project-title{margin-bottom:5px}.contact-cta{background:linear-gradient(180deg,#202325,#191b1c);padding-top:48px}.cta-shell{position:relative;display:flex;align-items:center;justify-content:space-between;gap:50px;isolation:isolate;padding:55px 44px;border:1px solid #73d8d53b;border-radius:16px;overflow:hidden;background:linear-gradient(110deg,#364043,#293438 85%);box-shadow:0 25px 60px #0002,inset 0 1px 0 #ffffff15}.cta-copy{max-width:750px}.cta-copy .eyebrow{margin-bottom:17px}.cta-copy h2{font-size:clamp(26px,2.75vw,36px);line-height:1.5;margin-bottom:19px}.cta-copy>p:not(.eyebrow){color:#c3cecf;font-size:16px;max-width:600px}.cta-shell>.button{flex:none}.cta-watermark{position:absolute;width:430px;right:0;top:50%;transform:translate(10%,-50%) rotate(-12deg);opacity:.09;z-index:-1}.footer{position:relative;padding:64px 0 25px;background:#16191a;border-top:1px solid #ffffff10}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr .6fr;gap:65px}.footer-brand{margin-left:-15px;margin-top:-18px}.footer-brand .brand-images{width:230px}.company-name{font-size:14px;color:#d0d7d9;margin-top:0}.footer-description{color:#9eabad;font-size:12px;margin-top:10px}.footer h4{font-size:14px;margin-bottom:17px;font-weight:500}.footer-info{font-size:14px;color:#a7b3b6;line-height:2}.footer ul{display:grid;gap:8px;font-size:14px;color:#a7b3b6}.footer a:hover{color:#85d9d6}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff10;margin-top:40px;padding-top:23px;color:#92a1a5;font-size:12px}
/* Interior pages share the same material palette and restrained depth. */
.sub-hero{position:relative;isolation:isolate;overflow:hidden;padding:185px 0 88px;background:radial-gradient(ellipse at 86% 10%,#3c494b,#303537 40%,#24292b 85%);border-bottom:1px solid #ffffff17}.sub-hero .container{position:relative;z-index:2}.sub-hero .eyebrow{margin-bottom:25px;color:#bad1d2}.sub-hero h1{font-size:clamp(36px,5.2vw,68px);letter-spacing:-.04em;line-height:1.5;margin-bottom:24px}.sub-hero h1 .accent{font-size:.82em;font-weight:400;margin-left:.15em}.sub-lead{color:#c4ced0;font-size:19px;max-width:780px;line-height:1.9}.sub-hero-grid{position:absolute;inset:0;background-image:linear-gradient(#dbffff07 1px,transparent 1px),linear-gradient(90deg,#dbffff07 1px,transparent 1px);background-size:75px 75px;mask-image:linear-gradient(90deg,transparent,#000);animation:grid-drift 40s linear infinite}.sub-monogram{position:absolute;right:2%;top:110px;width:340px;opacity:.13;transform:rotate(-12deg);animation:sub-float 13s ease-in-out infinite;z-index:0}.scope-card{position:relative;padding:34px;border:1px solid #ffffff21;border-radius:14px;background:linear-gradient(125deg,#383f41,#292e30);box-shadow:15px 17px 0 -1px #ffffff05,0 18px 45px #0003}.scope-card>.eyebrow{margin-bottom:26px}.scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.scope-tile{position:relative;padding:23px 20px;min-height:138px;border:1px solid #ffffff16;background:linear-gradient(135deg,#ffffff06,#16848606);border-radius:8px;transition:transform .35s,border-color .35s;overflow:hidden}.scope-tile:nth-child(2),.scope-tile:nth-child(4){transform:translateY(9px)}.scope-tile>span{color:var(--teal-light);font-size:12px}.scope-tile h3{font-size:18px;margin-top:15px;line-height:1.55}.scope-tile:hover{border-color:#73d8d549;transform:translateY(-3px)}.focus-section{border-block:1px solid #ffffff0b;background:linear-gradient(110deg,#2b3032,#24292b)}.focus-list{display:grid;gap:16px}.focus-card{display:grid;grid-template-columns:76px 1fr 52px;gap:24px;align-items:center;padding:34px 38px;border:1px solid #ffffff17;border-radius:11px;background:linear-gradient(135deg,#3a4244,#2d3436);box-shadow:0 8px 20px #0002}.focus-number{font-size:39px;color:#6baead;font-weight:400;letter-spacing:-.06em}.focus-card h3{font-size:23px;margin-bottom:10px}.focus-card p{color:#b9c5c8;font-size:16px}.focus-card>.icon{color:#78c8c7;width:29px;height:29px;margin-left:auto}.company-table{max-width:1010px;margin:0 auto;border:1px solid #ffffff20;border-radius:12px;overflow:hidden;background:linear-gradient(115deg,#333a3d,#292f32)}.company-row{display:grid;grid-template-columns:190px 1fr;gap:30px;padding:25px 35px;border-bottom:1px solid #ffffff15;font-size:16px}.company-row:last-child{border-bottom:0}.company-row dt{color:#a4babe}.company-row dd{margin:0;color:#e0e6e7;overflow-wrap:anywhere}.company-row a{border-bottom:1px solid #73d8d560}.contact-section{padding-bottom:64px}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:stretch}.contact-card{position:relative;padding:40px 35px;border-radius:13px;border:1px solid #ffffff25;background:linear-gradient(125deg,#3e484a,#2e3739);box-shadow:0 20px 50px #0003}.contact-primary{border-top-color:#73d8d575}.contact-secondary{background:linear-gradient(135deg,#30383b,#252d30)}.contact-card>.eyebrow{margin-bottom:21px}.contact-card h2{font-size:30px;margin-bottom:26px;line-height:1.5}.contact-lead{font-size:16px;line-height:2;color:#c5ced0}.email-block{padding:25px 0 30px;margin:26px 0;border-block:1px solid #ffffff21}.email-block .eyebrow{margin-bottom:8px;color:#96bdbd}.email-address{font-size:clamp(18px,2.1vw,27px);letter-spacing:-.03em;display:flex;align-items:center;gap:12px;overflow-wrap:anywhere}.email-address .icon{width:21px;height:21px;color:var(--teal-light)}.contact-details{display:grid;gap:25px}.contact-row{display:flex;gap:17px}.contact-icon{color:#79cbc9;margin-top:5px}.contact-icon .icon{width:21px;height:21px}.contact-row h3{font-size:16px;margin-bottom:4px}.contact-row p{font-size:15px;color:#b9c7ca;line-height:1.9}.contact-row a{border-bottom:1px solid #73d8d547}.scope-section{padding-top:30px}.scope-note{position:relative;border-left:2px solid #168486;padding:7px 0 8px 31px;max-width:940px}.scope-note>.eyebrow{margin-bottom:20px}.scope-note h2{font-size:31px;margin-bottom:21px}.scope-note>p:last-child{color:#b4c2c5;line-height:2;font-size:17px}.motion-toggle{position:fixed;right:18px;bottom:16px;z-index:90;border:1px solid #ffffff26;border-radius:7px;background:#252a2ce8;backdrop-filter:blur(14px);color:#c2cdcf;font-size:12px;line-height:1;padding:12px 14px;display:flex;gap:9px;align-items:center;box-shadow:0 4px 18px #0003}.motion-toggle svg{width:12px;height:12px}.motion-toggle:hover{color:#fff;border-color:#73d8d56b}.motion-paused *,.motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important}.motion-paused .hero-art,.motion-paused .art-stage{transform:none!important}
@keyframes float-front{0%,100%{transform:translate3d(0,18px,35px) rotate(-4deg)}50%{transform:translate3d(0,2px,35px) rotate(-1.5deg)}}@keyframes float-middle{0%,100%{transform:translate3d(-22px,9px,-35px) rotate(11deg)}50%{transform:translate3d(-30px,-7px,-35px) rotate(8deg)}}@keyframes float-back{0%,100%{transform:translate3d(32px,-34px,-80px) rotate(-15deg)}50%{transform:translate3d(43px,-19px,-80px) rotate(-10deg)}}@keyframes plate-sheen{0%,20%{transform:translateX(-32%)}70%,100%{transform:translateX(32%)}}@keyframes scroll-line{0%{transform:translateY(-20px)}100%{transform:translateY(46px)}}@keyframes signal-travel{from{left:-30%}to{left:100%}}@keyframes word-light{from{background-position:0 50%}to{background-position:100% 50%}}@keyframes sub-float{0%,100%{transform:translateY(0) rotate(-12deg)}50%{transform:translateY(-17px) rotate(-8deg)}}@keyframes grid-drift{from{background-position:0 0}to{background-position:75px 75px}}
@media(min-width:1600px){.container{width:min(1320px,calc(100% - 140px))}.hero-copy h1{font-size:124px}.hero-grid{gap:45px}}
@media(max-width:1100px){.container{width:calc(100% - 72px)}.hero-grid{gap:0;grid-template-columns:1.07fr .93fr;padding-top:170px;min-height:830px}.home-hero{min-height:830px}.hero-copy h1{font-size:82px}.hero-art{height:440px}.art-plate{left:9%;width:87%;height:70%;top:20%}.hero-lead{font-size:21px}.hero-description{font-size:15px}.plate-head{font-size:8px;padding:15px}.plate-foot{font-size:8px;padding:14px;gap:7px}.art-caption{font-size:8px;gap:8px;left:9%}.art-orbit{width:370px;height:370px;top:35px}.orbit-two{width:440px;height:440px;top:5px}.approach-grid{gap:48px}.service-card{padding:27px 23px;min-height:350px}.service-card h3{font-size:20px}.service-card p{font-size:15px}.cta-shell{display:block}.cta-shell>.button{margin-top:27px}.cta-copy{max-width:700px}.footer-grid{gap:35px}.contact-grid{gap:20px}.contact-card{padding:32px 25px}.contact-card h2{font-size:25px}}
@media(max-width:800px){.container{width:calc(100% - 40px)}.section{padding:76px 0}.site-header{top:12px;left:12px;right:12px}.nav-shell{min-height:68px;padding:0 16px 0 4px;border-radius:11px}.brand-images{width:188px}.nav-links{gap:20px;font-size:13px}.nav-links a:last-child{padding:8px 11px}.hero-grid{padding-top:151px;padding-bottom:95px;grid-template-columns:1fr .78fr;min-height:795px}.home-hero{min-height:795px}.hero-copy h1{font-size:71px}.hero-eyebrow{font-size:10px;letter-spacing:.14em}.hero-lead{font-size:19px}.hero-description{font-size:15px;max-width:420px}.hero-art{height:375px;margin-right:-20px}.art-plate{left:6%;top:24%;height:66%;width:94%;border-radius:12px}.plate-head{font-size:7px;padding:12px}.plate-foot{font-size:6px;padding:12px 8px;letter-spacing:.06em}.art-caption{display:none}.art-orbit{width:310px;height:310px}.orbit-two{width:370px;height:370px}.hero-bottom{font-size:9px;bottom:23px}.hero-coordinate{display:none}.button{gap:18px;padding:13px 18px;font-size:14px}.section-heading{gap:25px;display:block}.section-intro{margin-top:20px;max-width:550px}.service-grid{gap:14px}.service-card{padding:23px 18px;min-height:367px}.service-card h3{font-size:18px}.service-card p{font-size:14px}.service-top{margin-bottom:27px}.icon-frame{width:43px;height:43px}.approach-grid{gap:35px}.principle-card{padding:27px 24px 36px}.principle-step{grid-template-columns:24px 1fr;gap:11px}.principle-step>.icon{display:none}.principle-step p{font-size:13px}.principle-step h3{font-size:22px}.approach-copy h2{font-size:28px}.approach-copy>p:not(.eyebrow){font-size:15px}.project-card{padding:25px 24px 33px}.project-title h3{font-size:23px}.project-description{font-size:14px}.project-title{gap:10px}.project-arrow{width:31px;height:31px}.project-meta .eyebrow{font-size:10px;letter-spacing:.12em}.project-grid{gap:16px}.cta-shell{padding:36px 29px}.footer-grid{grid-template-columns:1.15fr 1fr;gap:35px}.footer-grid>div:last-child{grid-column:1/-1}.footer ul{display:flex;gap:28px}.footer-bottom{font-size:11px;flex-wrap:wrap;padding-bottom:26px}.sub-hero{padding:145px 0 63px}.sub-lead{font-size:17px;max-width:660px}.sub-monogram{width:280px;top:100px;right:-50px;opacity:.09}.scope-card{padding:26px}.scope-grid{gap:10px}.scope-tile{padding:20px 14px;min-height:130px}.scope-tile h3{font-size:16px}.focus-card{grid-template-columns:50px 1fr 30px;padding:28px;gap:20px}.focus-card h3{font-size:21px}.company-row{grid-template-columns:145px 1fr;padding:23px 27px;gap:20px}.contact-grid{grid-template-columns:1fr}.contact-card{padding:35px}.contact-card h2{font-size:29px}.email-address{font-size:28px}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:27px}.scope-section{padding-top:0}}
@media(max-width:600px){.nav-shell{flex-wrap:wrap;gap:0}.menu-toggle{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;height:44px;border:1px solid #ffffff24;border-radius:7px;background:#ffffff05;color:#fff}.menu-toggle span{width:17px;height:1px;background:currentColor;transition:transform .3s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.nav-links{display:flex;width:100%;flex-direction:column;align-items:stretch;gap:0;padding:6px 14px 15px}.nav-links a,.nav-links a:last-child{padding:14px 8px;border:0;border-top:1px solid #ffffff13;border-radius:0;font-size:15px}.nav-links a::after{right:auto;width:30px;bottom:9px}.nav-links a:last-child::after{left:8px}.js .nav-links:not(.is-open){display:none}.site-header:not(:has(.menu-toggle[aria-expanded=true])) .nav-shell{min-height:66px}.hero-grid{display:flex;flex-direction:column;align-items:stretch;padding-top:144px;padding-bottom:85px;min-height:auto}.home-hero{min-height:auto}.hero-copy{max-width:none}.hero-copy h1{font-size:clamp(76px,18vw,108px);line-height:.96;margin-bottom:25px}.hero-eyebrow{font-size:10px;margin-bottom:25px}.hero-lead{font-size:20px;max-width:490px}.hero-description{font-size:15px;line-height:1.95;max-width:490px}.hero-actions{margin-top:26px;gap:10px}.hero-actions .button{min-width:140px;justify-content:space-between}.hero-art{width:min(390px,92%);height:365px;align-self:center;margin:26px 0 0;transform:none!important}.art-stage{inset:0 0 20px}.art-plate{left:15%;top:13%;width:70%;height:77%}.plate-head{font-size:8px;padding:16px}.plate-foot{font-size:7px;padding:14px}.art-caption{display:flex;bottom:0;left:10%;right:7%;font-size:8px}.art-orbit{width:340px;height:340px;top:0}.orbit-two{width:390px;height:390px;left:-5%;top:-20px}.hero-bottom{bottom:20px;font-size:8px;letter-spacing:.1em}.scroll-stroke{height:25px}.section{padding:65px 0}.section-heading{margin-bottom:31px}.section-heading h2{font-size:28px;line-height:1.65;letter-spacing:-.04em}.section-heading h2 .accent{font-size:.62em}.section-intro{font-size:15px;line-height:1.95}.service-grid{grid-template-columns:1fr;padding-bottom:0;gap:15px}.service-card,.service-card:nth-child(2),.service-card:nth-child(3){min-height:auto;margin:0;padding:26px}.service-top{margin-bottom:25px}.service-card h3{font-size:22px}.service-card p{font-size:16px}.service-card:nth-child(2){margin-left:12px}.service-card:nth-child(3){margin-right:12px}.approach-grid{grid-template-columns:1fr;gap:48px}.principle-card{padding:28px 26px 37px;margin-right:13px}.principle-step{grid-template-columns:27px 1fr 20px;gap:14px;padding:23px 0}.principle-step>.icon{display:block}.principle-step p{font-size:14px}.principle-step h3{font-size:24px}.approach-copy h2{font-size:29px}.approach-copy>p:not(.eyebrow){font-size:16px}.project-grid{grid-template-columns:1fr;gap:17px}.project-card{min-height:255px;padding:27px}.project-title h3{font-size:27px}.project-description{font-size:15px}.project-meta .eyebrow{font-size:11px}.project-card.compact{min-height:180px}.contact-cta{padding-top:20px}.cta-shell{padding:33px 25px;border-radius:12px}.cta-copy h2{font-size:27px}.cta-copy>p:not(.eyebrow){font-size:15px}.cta-watermark{right:-95px;opacity:.07}.footer{padding-top:51px}.footer-grid{grid-template-columns:1fr;gap:31px}.footer-grid>div:last-child{grid-column:auto}.footer-brand .brand-images{width:224px}.footer-info{font-size:14px}.footer-bottom{margin-top:31px;gap:7px}.footer-description{font-size:12px}.sub-hero{padding:145px 0 53px}.sub-hero h1{font-size:36px;margin-bottom:18px;line-height:1.65}.sub-hero h1 .accent{font-size:.72em}.sub-lead{font-size:16px;line-height:2}.sub-monogram{top:123px;right:-72px;width:280px}.scope-card{margin-right:10px;padding:27px}.scope-tile{min-height:129px}.scope-tile h3{font-size:17px}.focus-card{grid-template-columns:35px 1fr;gap:16px;padding:26px 22px}.focus-card>.icon{display:none}.focus-number{font-size:29px;align-self:start}.focus-card h3{font-size:20px;line-height:1.6}.focus-card p{font-size:15px;line-height:1.95}.company-row{grid-template-columns:1fr;gap:7px;padding:22px 24px;font-size:15px}.company-row dt{font-size:13px}.company-row dd{line-height:1.95}.contact-section{padding-top:42px;padding-bottom:46px}.contact-card{padding:29px 24px}.contact-card h2{font-size:27px}.contact-lead{font-size:15px}.email-address{font-size:clamp(20px,5.6vw,28px);gap:9px}.email-address .icon{width:18px;height:18px}.contact-details{grid-template-columns:1fr}.contact-row h3{font-size:16px}.contact-row p{font-size:15px}.scope-section{padding-top:0}.scope-note{padding-left:22px}.scope-note h2{font-size:27px}.scope-note>p:last-child{font-size:16px}.motion-toggle{font-size:12px;padding:11px 12px;bottom:12px;right:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition-duration:.01ms!important}.hero-art,.art-stage{transform:none!important}}
@media print{.site-header{position:static}.motion-toggle,.menu-toggle,.hero-art,#vanta-bg,.sub-monogram,.cta-watermark,.hero-bottom{display:none!important}.section{padding:25px 0}.home-hero,.hero-grid{min-height:0;padding:25px 0}.hero-grid{display:block}.container{width:100%}.site-header{margin:0}.service-grid{display:block}.service-card{margin:12px 0!important;break-inside:avoid}.project-card,.company-row,.contact-card{break-inside:avoid}.footer{padding-top:25px}}

/* Compact logo placement; preserve artwork proportions and the teal monogram. */
.site-header .brand-images{height:58px}.site-header .brand-images img{position:absolute;top:50%;left:0;transform:translateY(-50%)}.site-header .brand-color{inset:auto;top:50%;left:0}.project-description,.service-card p{font-size:16px}.motion-toggle:disabled{cursor:default}
/* Slightly deeper teal on small-text buttons maintains readable white labels. */
.button-primary{background:#147f81}.button-primary:hover{background:#116f72}


/* BLOOD CAPABILITIES 20260921 */

.capabilities-block {
  margin-top: clamp(48px, 7vw, 84px);
}

.capabilities-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: 28px;
}

.capabilities-heading h3 {
  margin: 8px 0 0;
  font-size: clamp(1.7rem, 3vw, 2.6rem);
}

.capabilities-intro {
  max-width: 560px;
  margin: 0;
  line-height: 1.9;
  opacity: .72;
}

.capabilities-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.capability-card {
  position: relative;
  min-width: 0;
  padding: clamp(24px, 3vw, 34px);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.025);
}

.capability-card h3 {
  margin: 10px 0 20px;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
}

.capability-card ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.capability-card li {
  position: relative;
  margin: 0;
  padding: 9px 0 9px 18px;
  line-height: 1.55;
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.capability-card li:last-child {
  border-bottom: 0;
}

.capability-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1.05em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  opacity: .55;
}

@media (max-width: 900px) {
  .capabilities-grid {
    grid-template-columns: 1fr;
  }

  .capabilities-intro {
    max-width: none;
  }
}

/* END BLOOD CAPABILITIES 20260921 */
