:root{--ink:#111b23;--navy:#1d2b35;--lime:#d6f67a;--text:#18232b;--muted:#59646c;--line:#d9dfe1;--paper:#fff;--soft:#f1f4f4;--radius:6px;font-family:'DM Sans',Arial,sans-serif;color:var(--text);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #639817;outline-offset:6px}img{display:block;max-width:100%}p{font-size:1.0625rem;line-height:1.75;color:var(--muted);margin:0 0 1.2rem}h1,h2,h3{font-weight:500;letter-spacing:-.045em;margin:0;line-height:1.09}h1{font-size:clamp(3.1rem,6vw,5.65rem)}h2{font-size:clamp(2.3rem,4vw,3.7rem)}h3{font-size:1.5rem;letter-spacing:-.03em}em{font-family:'Instrument Serif',Georgia,serif;font-weight:400;letter-spacing:-.025em}ul,ol{padding:0;list-style:none;margin:0}.container{width:min(1280px,calc(100% - 112px));margin:0 auto}.section{padding-top:110px;padding-bottom:110px}.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.145em;line-height:1.5;text-transform:uppercase;color:inherit;margin:0 0 26px}.header{background:var(--ink);color:white;position:relative;z-index:20;border-bottom:1px solid #ffffff1c}.nav-wrap{width:min(1440px,calc(100% - 80px));height:96px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:40px}.brand{display:inline-flex;align-items:center;gap:13px;line-height:1.1;font-size:1.02rem;font-weight:450;flex-shrink:0;letter-spacing:-.025em}.brand strong{font-weight:600}.brand-symbol{font-size:3rem;font-weight:400;letter-spacing:-.18em;color:var(--lime);width:51px;line-height:1}.brand-symbol b{font-size:2.5rem;font-weight:600;display:inline-block;margin:0 .1em .08em .04em}.header nav{display:flex;gap:32px;align-items:center}.header nav>a:not(.button){font-size:.9rem;color:#d5dce0;padding:8px 0;transition:color .2s}.header nav>a:not(.button):hover,.header nav>a[aria-current]{color:var(--lime)}.header nav>a[aria-current]{box-shadow:0 1px var(--lime)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:16px 24px;font-size:.9rem;font-weight:600;line-height:1.4;border:1px solid transparent;border-radius:4px;background:var(--lime);color:var(--ink);transition:background .18s,transform .18s,border-color .18s;max-width:100%;text-align:center}.button:hover{background:#e3ff9e;transform:translateY(-2px)}.button.small{min-height:44px;padding:12px 24px;margin-left:10px}.button.outline{border-color:#ffffff50;background:transparent;color:white}.button.outline:hover{border-color:var(--lime);background:#ffffff08}.button.dark-outline{border-color:#a7b0b5;color:var(--ink)}.button.dark-outline:hover{border-color:var(--ink);background:#e9edeb}.button.dark{background:var(--ink);color:white}.button.dark:hover{background:#2b3b46}.button.light{background:white;color:var(--ink)}.button.light:hover{background:var(--lime)}.button-row{display:flex;flex-wrap:wrap;gap:12px}.menu-toggle{display:none}.skip-link{position:absolute;left:20px;top:-100px;z-index:100;background:var(--lime);padding:14px}.skip-link:focus{top:10px}.hero{background:var(--ink);color:white;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.04fr 1fr;gap:0;min-height:664px;align-items:center;position:relative}.hero-copy{padding:68px 0 70px;position:relative;z-index:2}.hero .eyebrow{color:var(--lime);margin-bottom:30px}.hero h1{font-size:clamp(3.75rem,5.5vw,5.55rem);letter-spacing:-.052em;white-space:nowrap;line-height:1.09}.hero h1 em{color:var(--lime)}.hero-copy>p:not(.eyebrow){color:#c0c9cf;font-size:1.14rem;max-width:465px;margin:29px 0 31px}.hero .button-row{gap:12px;max-width:570px}.hero .button{font-size:.86rem;padding:16px 21px}.hero-footnote{display:flex;align-items:center;gap:9px;color:#a1adb5;font-size:.78rem;margin-top:34px}.tiny-square{width:5px;height:5px;background:var(--lime)}.hero-art{position:relative;align-self:stretch;display:flex;align-items:center;min-width:0}.hero-art img{width:calc(100% + 80px);max-width:none;margin-left:-12px;mix-blend-mode:lighten;mask-image:linear-gradient(to right,transparent,#000 12%,#000 91%,transparent);animation:arrive 1.2s ease both}.art-caption{position:absolute;left:48px;right:16px;bottom:55px;display:flex;justify-content:space-between;font-size:.75rem;letter-spacing:.16em;color:#b8c4cc}.hero-bottom{border-top:1px solid #ffffff22;display:flex;justify-content:space-between;padding:24px 0;font-size:.75rem;letter-spacing:.13em;color:#a8b4bc}.hero-bottom span:last-child{letter-spacing:.02em;font-size:.75rem;color:#d2dbe0}.hero-bottom span:last-child span{margin-left:18px}.expertise-strip{background:#edf1ef;border-bottom:1px solid var(--line)}.expertise-strip .container{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:33px 0;flex-wrap:wrap}.expertise-strip span{font-size:.75rem;letter-spacing:.1em;line-height:1.7;color:#626d70}.expertise-strip b{font-size:1.3rem;font-weight:550;letter-spacing:-.04em;color:#4c5960}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:50px}.section-heading .eyebrow{color:#54636b;margin-bottom:22px}.section-heading>p{max-width:400px;font-size:1rem;margin:0 0 4px}.section-heading>.button{flex-shrink:0;margin-bottom:6px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:5px;overflow:hidden}.service-card{padding:32px 26px 26px;display:flex;flex-direction:column;min-height:355px;background:white;transition:background .2s}.service-card+.service-card{border-left:1px solid var(--line)}.service-card:hover{background:#f0f5e6}.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:43px}.service-top>.icon{width:31px;height:31px;stroke-width:1.2}.service-top>span{font-size:.75rem;color:#7c898f}.service-card h3{font-size:1.5rem;line-height:1.12;margin-bottom:17px;max-width:210px}.service-card p{font-size:.92rem;line-height:1.65;margin-bottom:35px}.service-bottom{font-size:.75rem;color:#68757b;display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:auto}.service-bottom>span{font-size:1.4rem;font-weight:400;color:var(--ink)}.projects-section{background:var(--soft)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.project-card{min-width:0}.project-visual{display:block;overflow:hidden;background:#e2e7e6;transition:box-shadow .2s;border:1px solid #d9e0dc;border-radius:5px;aspect-ratio:1.7;display:flex;align-items:center;justify-content:center;padding:30px}.project-visual:hover{box-shadow:0 14px 24px #18232b15}.project-grid .project-card:nth-child(4n+2) .project-visual{background:#e0e6ee}.project-grid .project-card:nth-child(4n+3) .project-visual{background:#eae8e2}.project-grid .project-card:nth-child(4n+4) .project-visual{background:#e1e6df}.project-card-copy{padding:29px 1px 16px}.project-card-copy .eyebrow{font-size:.75rem;margin-bottom:13px;color:#4e626b}.project-card h3{font-size:1.9rem;margin-bottom:16px}.project-card h3 a:hover{color:#4b6c1a}.project-card-copy>p{max-width:490px;font-size:.98rem;line-height:1.7;margin-bottom:22px}.text-link{display:inline-flex;align-items:center;gap:26px;font-size:.88rem;font-weight:600;padding-bottom:7px;border-bottom:1px solid var(--ink);width:fit-content}.text-link:hover{color:#54801b;border-color:#54801b}.link-plus{font-size:1.2rem;font-weight:400;line-height:1}.workflow-visual{background:var(--ink);padding:30px;color:#fff;border-radius:5px;width:100%}.diagram-top{display:flex;justify-content:space-between;font-size:.75rem;letter-spacing:.13em;color:#a7b4bf;padding-bottom:25px;border-bottom:1px solid #ffffff24}.flow-nodes{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;padding:36px 0}.flow-nodes li{background:#24343e;border:1px solid #4d5a5f;min-height:106px;border-radius:4px;display:flex;flex-direction:column;gap:17px;justify-content:center;padding:15px;position:relative;font-size:.9rem}.flow-nodes li:not(:last-child):after{content:'';position:absolute;left:100%;width:28px;height:1px;background:#798d75;top:50%}.flow-nodes li:last-child{background:var(--lime);color:var(--ink);border-color:var(--lime)}.node-num{font-size:.75rem;color:#bac7ce;letter-spacing:.1em}.flow-nodes li:last-child .node-num{color:#556732}.diagram-bottom{display:flex;align-items:center;gap:12px;font-size:.8rem;color:#d7dfe1;padding-top:22px;border-top:1px solid #ffffff24}.diagram-bottom .icon{height:19px;width:19px;color:var(--lime)}.diagram-tag{margin-left:auto;font-size:.75rem;letter-spacing:.08em;color:#a8b5bd}.mini{max-width:500px;padding:21px;box-shadow:0 17px 25px #15201c23;transform:rotate(-2deg);transition:transform .35s}.project-visual:hover .mini{transform:rotate(0) translateY(-3px)}.mini .diagram-top{font-size:.75rem;padding-bottom:17px}.mini .flow-nodes{gap:12px;padding:24px 0}.mini .flow-nodes li{font-size:.75rem;padding:10px 8px;min-height:88px;line-height:1.4;gap:10px}.mini .flow-nodes li:not(:last-child):after{width:14px}.mini .node-num{font-size:.75rem}.mini .diagram-bottom{font-size:.75rem;padding-top:16px;gap:8px}.mini .diagram-tag{font-size:.75rem}.project-index{margin-top:38px;border-top:1px solid #cbd4d5}.project-index a{display:grid;grid-template-columns:1fr 1fr 24px;gap:24px;align-items:center;border-bottom:1px solid #cbd4d5;padding:30px 0}.project-index strong{font-size:1.3rem;letter-spacing:-.025em;font-weight:500}.project-index a>span{font-size:.75rem;letter-spacing:.12em;color:#596970;justify-self:end}.project-index b{font-size:1.6rem;font-weight:400;justify-self:end}.project-index a:hover strong{color:#54801b}.approach{display:grid;grid-template-columns:1fr 1fr;gap:120px}.approach>div>p:not(.eyebrow){max-width:370px;margin-top:25px;margin-bottom:25px}.process-list li{display:flex;gap:30px;padding:31px 0;border-bottom:1px solid var(--line)}.process-list li:first-child{padding-top:5px}.process-list>li>span{font-size:.8rem;color:#74828a;padding-top:7px}.process-list h3{font-size:1.4rem;margin-bottom:12px}.process-list p{font-size:.99rem;margin:0}.cta{background:var(--lime);padding:78px 0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:60px}.cta .eyebrow{font-size:.75rem;margin-bottom:21px}.cta h2{font-size:clamp(3rem,4.4vw,4.7rem)}.cta p{margin:24px 0 0;max-width:450px;color:#364726;font-size:1rem}.cta .button{flex-shrink:0;background:var(--ink);color:white;padding:18px 30px}.cta .button:hover{background:#314130}.footer{background:var(--ink);color:#e2e7ea}.footer-main{padding:65px 0;display:grid;grid-template-columns:1.4fr 1.5fr .8fr .8fr;gap:50px}.footer-main p{color:#a7b4be;font-size:.95rem}.footer-main>div{display:flex;flex-direction:column;gap:17px;font-size:.85rem}.footer-main>div a:hover{color:var(--lime)}.footer-bottom{border-top:1px solid #ffffff21;padding:22px 0;display:flex;justify-content:space-between;color:#9caab5;font-size:.75rem;gap:20px}.page-intro{padding-top:100px;padding-bottom:25px}.page-intro .eyebrow{color:#5a6a71}.page-intro h1{max-width:1050px;margin-bottom:30px}.lead{font-size:1.22rem;line-height:1.65;max-width:710px}.page-intro .lead{margin:0;max-width:630px}.services-page{padding-top:55px}.services-page .service-grid{grid-template-columns:1fr 1fr;border:none;gap:24px}.services-page .service-card{border:1px solid var(--line);min-height:340px;padding:35px;border-radius:5px}.services-page .service-card h3{font-size:2rem;max-width:none}.services-page .service-card p{max-width:425px;font-size:1.05rem}.services-page .service-bottom{font-size:.8rem}.services-page .service-top{margin-bottom:34px}.scope-band{border-top:1px solid var(--line);padding:40px 0 90px;display:flex;align-items:center;gap:45px}.scope-band h2{font-size:1.85rem;max-width:260px}.scope-band p{margin:0;max-width:425px;font-size:1rem}.scope-band .button{margin-left:auto;flex-shrink:0}.all-projects{padding-top:50px;row-gap:50px}.back-link{display:inline-block;font-size:.8rem;border-bottom:1px solid #89969f;padding-bottom:5px;margin-bottom:45px;color:#6c7e88}.service-hero{background:var(--ink);color:white;padding:48px 0 88px}.service-hero .back-link{color:#acbac3}.service-hero-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:80px;align-items:center}.service-hero h1{font-size:clamp(3.4rem,5vw,4.7rem);line-height:1.1;margin:0 0 25px;max-width:770px}.service-hero .eyebrow{color:var(--lime)}.service-hero .lead{color:#bdc9d0;max-width:575px;font-size:1.12rem;margin-bottom:30px}.service-hero-symbol{border:1px solid #647773;background:#1e2c33;padding:45px;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;max-width:340px;width:100%;margin:0 auto;box-shadow:0 0 100px #b5df3410}.service-hero-symbol .icon{width:135px;height:135px;color:var(--lime);stroke-width:.6}.service-hero-symbol p{font-size:.75rem;color:#b2c0c9;margin:30px 0 0;text-align:center}.detail-split{display:grid;grid-template-columns:1fr 1.2fr;gap:100px}.detail-split h2{font-size:clamp(2.2rem,3.3vw,3.2rem)}.detail-split h3{font-size:1.15rem;margin-top:34px;margin-bottom:18px}.large-copy{font-size:1.24rem;color:#3c4b54;line-height:1.75}.check-list li{padding:15px 0 15px 25px;border-bottom:1px solid var(--line);font-size:1rem;line-height:1.6;position:relative}.check-list li:before{content:'+';position:absolute;left:0;color:#667e39}.soft-section{background:var(--soft)}.fit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.fit-grid>div{border-top:1px solid #adbabc;padding-top:22px}.fit-grid span{font-size:.75rem;color:#73838d}.fit-grid h3{font-size:1.4rem;margin-top:0;line-height:1.3}.number-list li{display:flex;gap:27px;font-size:1.1rem;line-height:1.6;border-bottom:1px solid var(--line);padding:22px 0}.number-list li:first-child{padding-top:0}.number-list li>span{font-size:.75rem;color:#798a93;margin-top:5px}.related{padding-top:0;max-width:850px}.related .project-card{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.related .project-visual{aspect-ratio:1.2;padding:18px}.related .mini{transform:none}.related .mini .diagram-top span:last-child,.related .diagram-tag{display:none}.related .mini .flow-nodes{grid-template-columns:1fr 1fr;gap:8px;padding:16px 0}.related .mini .flow-nodes li{min-height:63px}.related .mini .flow-nodes li:after{display:none}.project-hero{padding-top:45px;padding-bottom:45px}.project-title-row{display:flex;justify-content:space-between;gap:40px;align-items:center}.project-title-row h1{font-size:clamp(3.4rem,5.3vw,5.2rem);max-width:930px}.project-title-row .eyebrow{font-size:.75rem;color:#5c6f77;margin-bottom:20px}.project-title-row .lead{margin:18px 0 0;font-size:1.5rem}.giant-number{font-family:'Instrument Serif',Georgia,serif;font-size:8rem;color:#cbd3d5;line-height:1}.project-deck{max-width:780px;margin:23px 0 20px;font-size:1.05rem}.tags{display:flex;gap:9px;flex-wrap:wrap}.tags span{font-size:.75rem;background:#edf1ef;padding:7px 13px;border-radius:3px;color:#4e626b}.video-placeholder{aspect-ratio:16/9;background:#d8dcde;border:1px solid #c5cbce;border-radius:5px;display:flex;align-items:center;justify-content:center;position:relative;text-align:center;padding:60px 24px;color:#586269}.video-placeholder .icon{width:48px;height:48px;margin:0 auto 20px;stroke-width:1;display:block;color:#6f7a81}.video-placeholder h2{font-family:'DM Sans',Arial,sans-serif;font-size:1.15rem;font-weight:500;letter-spacing:-.015em}.video-placeholder p{font-size:.9rem;margin:9px 0 0;color:#68737b}.video-corner{position:absolute;left:26px;top:23px;font-size:.75rem;letter-spacing:.14em}.video-bottom{position:absolute;bottom:22px;left:20px;right:20px;font-size:.75rem;color:#657078}.project-meta{display:grid;grid-template-columns:1fr 1fr 1fr;border-bottom:1px solid var(--line);padding:27px 0}.project-meta>div{padding:0 30px;border-left:1px solid var(--line)}.project-meta>div:first-child{padding-left:0;border-left:0}.project-meta span{font-size:.75rem;letter-spacing:.13em;color:#6a7d87}.project-meta p{margin:7px 0 0;font-size:.93rem;color:#3e535e}.project-story{display:grid;grid-template-columns:1fr 1.4fr;gap:90px}.project-story .eyebrow{color:#71818a;font-size:.75rem}.project-story aside h2{font-size:3rem}.project-story article{display:flex;gap:25px;margin-bottom:34px}.project-story article:last-child{margin-bottom:0}.project-story article>span{font-size:.75rem;color:#809099;padding-top:5px}.project-story h3{font-size:1.6rem;margin-bottom:16px}.project-story p{font-size:1.04rem;margin:0}.flow-section>.eyebrow{margin-bottom:20px;color:#667c87}.project-next{display:flex;justify-content:space-between;gap:30px;align-items:center;border-top:1px solid var(--line);padding:38px 0 75px}.project-next .eyebrow{font-size:.75rem;margin-bottom:12px}.project-next h2{font-size:2rem}.about-image{margin-top:40px;background:var(--ink);height:480px;border-radius:5px;position:relative;overflow:hidden}.about-image img{height:100%;width:100%;object-fit:cover;object-position:center 50%}.about-image>div{position:absolute;bottom:25px;left:30px;right:30px;display:flex;justify-content:space-between;color:#d5e4e9;font-size:.75rem;letter-spacing:.12em}.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.principle-grid article{border-top:1px solid #bcc9cc;padding-top:22px}.principle-grid span{font-size:.75rem;color:#738993}.principle-grid h3{margin:0 0 20px;font-size:1.55rem}.principle-grid p{font-size:1rem;margin:0}.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px 80px;padding-top:70px}.audience-grid article{border-top:1px solid #bbc7cc;padding-top:26px}.audience-number{font-size:.8rem;color:#7b8e99}.audience-grid h2{font-size:2rem;margin:27px 0 18px}.audience-grid p{max-width:470px;font-size:1.05rem;margin-bottom:25px}.solution-list{padding-top:50px}.solution-list article{display:grid;grid-template-columns:1fr;gap:40px;padding:45px 0;border-top:1px solid var(--line)}.solution-list article>span{font-size:.8rem;color:#76909e;padding-top:9px}.solution-list h2{font-size:2.35rem;max-width:800px}.solution-list p{margin:20px 0 25px;max-width:660px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-top:105px;padding-bottom:100px}.contact-layout h1{margin-bottom:30px}.contact-layout>div>p{max-width:480px}.contact-panel{padding:42px;background:var(--soft);border:1px solid var(--line);border-radius:5px}.panel-label{font-size:.75rem;color:#657b87;letter-spacing:.13em}.contact-panel h2{font-size:2.5rem;margin-top:35px;margin-bottom:23px}.contact-panel p{font-size:1rem}.contact-panel ul{margin-bottom:30px}.contact-panel li{font-size:.95rem;border-bottom:1px solid #d5dedf;padding:12px 0 12px 22px;position:relative;line-height:1.5}.contact-panel li:before{content:'+';position:absolute;left:0}.contact-panel .button{width:100%}.contact-panel .contact-note{font-size:.76rem;line-height:1.5;margin:17px 0 0;color:#637982}.contact-explore{border-top:1px solid var(--line);padding:30px 0 70px;display:flex;gap:30px;align-items:center}.contact-explore p{margin:0;font-size:1rem}.error-actions{display:flex;gap:20px;padding:20px 0 100px}@keyframes arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.hero-grid{min-height:720px}.hero-art img{max-width:730px}.hero-copy{padding-top:90px;padding-bottom:90px}}
@media(max-width:1150px){.container{width:calc(100% - 72px)}.nav-wrap{width:calc(100% - 56px)}.header nav{gap:23px}.hero h1{font-size:4.6rem}.hero-grid{min-height:600px}.hero-copy>p:not(.eyebrow){max-width:420px}.hero-art img{width:calc(100% + 100px);margin-left:-15px}.hero .button{font-size:.81rem;padding:14px 16px;min-height:48px}.hero-copy .button-row{max-width:430px}.service-card{padding:25px 20px}.service-card h3{font-size:1.3rem}.service-card p{font-size:.87rem}.service-bottom{font-size:.75rem}.project-visual{padding:22px;aspect-ratio:1.5}.mini .flow-nodes li{font-size:.75rem}.approach{gap:70px}.section{padding-top:90px;padding-bottom:90px}.contact-layout{gap:55px}.detail-split{gap:60px}.footer-main{gap:30px}.service-hero-grid{gap:45px}.service-hero-symbol{max-width:290px}}
@media(max-width:900px){.header nav{gap:17px}.header nav>a:not(.button){font-size:.8rem}.brand{font-size:.93rem}.hero h1{font-size:3.8rem}.hero-grid{min-height:575px}.hero-copy>p:not(.eyebrow){font-size:1rem;max-width:360px}.hero-copy{padding-top:56px;padding-bottom:65px}.hero .button-row{max-width:350px}.hero-art img{width:calc(100% + 145px);margin-left:-38px}.art-caption{left:26px;font-size:.75rem;bottom:52px;right:0}.service-grid{grid-template-columns:1fr 1fr}.service-card{padding:30px;min-height:290px}.service-card:nth-child(3){border-left:0;border-top:1px solid var(--line)}.service-card:nth-child(4){border-top:1px solid var(--line)}.service-top{margin-bottom:25px}.service-card h3{font-size:1.6rem;max-width:none}.service-card p{font-size:1rem;margin-bottom:24px}.service-bottom{font-size:.75rem}.section-heading{gap:30px}.section-heading>p{max-width:310px;font-size:.95rem}.project-grid{gap:24px}.project-visual{padding:17px;aspect-ratio:1.25}.mini{padding:16px}.mini .diagram-top{font-size:.75rem}.mini .flow-nodes{grid-template-columns:1fr 1fr;gap:8px;padding:18px 0}.mini .flow-nodes li{min-height:70px;padding:10px 12px;font-size:.75rem}.mini .flow-nodes li:after{display:none}.mini .diagram-tag{display:none}.project-card h3{font-size:1.6rem}.project-card-copy>p{font-size:.93rem}.approach{gap:45px}.project-index a>span{font-size:.75rem}.expertise-strip b{font-size:1.1rem}.expertise-strip .container{gap:23px}.footer-main{grid-template-columns:1fr 1fr 1fr}.footer-main>p{display:none}.detail-split{gap:45px}.scope-band{flex-wrap:wrap;gap:30px}.scope-band .button{margin-left:0}.fit-grid{grid-template-columns:1fr 1fr;gap:35px}.project-story{gap:45px;grid-template-columns:.8fr 1.2fr}.project-story aside h2{font-size:2.65rem}.flow-nodes{gap:15px}.flow-nodes li{font-size:.8rem;padding:14px 10px}.flow-nodes li:not(:last-child):after{width:17px}.project-meta p{font-size:.84rem}.project-meta>div{padding:0 20px}.contact-layout{gap:40px}.contact-panel{padding:30px}.contact-layout h1{font-size:4rem}.contact-panel h2{font-size:2.2rem}.contact-layout .lead{font-size:1.1rem}.about-image{height:380px}.principle-grid{gap:30px}}
@media(max-width:720px){.container{width:calc(100% - 40px)}.nav-wrap{width:calc(100% - 40px);height:80px}.header .brand{font-size:.85rem;gap:9px}.brand-symbol{font-size:2.6rem;width:44px}.brand-symbol b{font-size:2.1rem}.menu-toggle{display:flex;align-items:center;gap:12px;color:white;background:transparent;border:1px solid #ffffff42;border-radius:3px;padding:10px 13px;font-size:.78rem;min-height:42px}.menu-lines{width:16px;height:10px;border-top:1px solid currentColor;border-bottom:1px solid currentColor}.header nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--ink);padding:12px 20px 25px;border-bottom:1px solid #62717b;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 15px 30px #0004}.header nav.is-open{display:flex}.header nav>a:not(.button){font-size:1rem;padding:15px 5px;border-bottom:1px solid #ffffff20}.header nav>a[aria-current]{box-shadow:none;color:var(--lime)}.header nav .button{margin:20px 0 0}.hero-grid{grid-template-columns:1fr;min-height:0}.hero-copy{padding:56px 0 0}.hero .eyebrow{font-size:.75rem;margin-bottom:25px}.hero h1{font-size:clamp(2.75rem,10.8vw,4.8rem);white-space:normal;line-height:1.08}.hero-copy>p:not(.eyebrow){max-width:500px;font-size:1.07rem;margin:23px 0 25px}.hero-copy .button-row{max-width:none}.hero .button{font-size:.83rem;min-height:50px;padding:14px 18px}.hero-footnote{margin-top:25px;font-size:.75rem}.hero-art{height:380px;margin-top:5px;justify-content:center;overflow:hidden}.hero-art img{width:440px;max-width:125%;margin:0;mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 87%,transparent)}.art-caption{left:12px;right:12px;bottom:25px;font-size:.75rem}.hero-bottom{padding:20px 0;font-size:.75rem;gap:25px}.hero-bottom span:last-child{font-size:.75rem;flex-shrink:0}.hero-bottom span:last-child span{margin-left:6px}.expertise-strip .container{justify-content:center;gap:20px 27px;padding:25px 0}.expertise-strip span{width:100%;text-align:center;font-size:.75rem}.expertise-strip span br{display:none}.expertise-strip b{font-size:1.1rem}.section{padding-top:65px;padding-bottom:65px}.section-heading{align-items:flex-start;flex-direction:column;gap:25px;margin-bottom:34px}.section-heading h2{font-size:2.8rem}.section-heading>p{max-width:none}.desktop-break{display:none}.eyebrow{font-size:.75rem;margin-bottom:20px}.service-grid{grid-template-columns:1fr}.service-card{min-height:0;padding:27px}.service-card+.service-card{border-left:0;border-top:1px solid var(--line)}.service-card h3{font-size:1.6rem}.service-card p{font-size:1rem;max-width:500px}.service-top{margin-bottom:28px}.service-bottom{font-size:.75rem}.project-grid{grid-template-columns:1fr;gap:34px}.project-visual{aspect-ratio:1.5;padding:25px}.mini{padding:22px;max-width:470px}.mini .diagram-top{font-size:.75rem}.mini .flow-nodes{grid-template-columns:repeat(4,1fr);gap:10px;padding:25px 0}.mini .flow-nodes li{font-size:.75rem;min-height:84px;padding:10px 7px}.mini .flow-nodes li:not(:last-child):after{display:block;width:12px}.mini .diagram-bottom{font-size:.75rem}.project-card-copy{padding-top:24px;padding-bottom:0}.project-card h3{font-size:1.85rem}.project-card-copy>p{font-size:1rem}.project-index{margin-top:37px}.project-index a{grid-template-columns:1fr 20px;gap:15px;padding:25px 0}.project-index strong{font-size:1.13rem}.project-index a>span{display:none}.approach{grid-template-columns:1fr;gap:43px}.approach h2{font-size:2.9rem}.approach h2 br:nth-child(2){display:none}.approach>div>p:not(.eyebrow){max-width:none}.process-list li{gap:24px;padding:26px 0}.process-list h3{font-size:1.4rem}.cta{padding:57px 0}.cta-inner{align-items:flex-start;flex-direction:column;gap:30px}.cta h2{font-size:3.15rem}.cta .eyebrow{font-size:.75rem}.cta .button{min-height:54px;padding:16px 25px}.footer-main{grid-template-columns:1fr 1fr;padding:43px 0;gap:37px}.footer-main>.brand{grid-column:1/-1;font-size:1rem}.footer-main>div{gap:15px}.footer-bottom{flex-direction:column;gap:10px;font-size:.75rem;line-height:1.5}.page-intro{padding-top:60px;padding-bottom:10px}.page-intro h1{font-size:clamp(2.8rem,10vw,4.2rem);margin-bottom:24px}.lead{font-size:1.1rem}.services-page{padding-top:35px}.services-page .service-grid{grid-template-columns:1fr;gap:17px}.services-page .service-card{min-height:0;padding:28px}.services-page .service-card h3{font-size:1.7rem}.services-page .service-bottom{font-size:.75rem}.scope-band{flex-direction:column;align-items:flex-start;padding-bottom:60px;gap:22px}.scope-band h2{max-width:none}.all-projects{padding-top:40px}.service-hero{padding:33px 0 55px}.back-link{margin-bottom:32px}.service-hero-grid{grid-template-columns:1fr;gap:35px}.service-hero h1{font-size:3.15rem}.service-hero .lead{font-size:1.07rem}.service-hero-symbol{max-width:none;border-radius:5px;aspect-ratio:auto;flex-direction:row;justify-content:flex-start;gap:25px;padding:23px}.service-hero-symbol .icon{width:55px;height:55px;stroke-width:1;flex-shrink:0}.service-hero-symbol p{margin:0;text-align:left;font-size:.76rem}.detail-split{grid-template-columns:1fr;gap:32px}.detail-split h2{font-size:2.55rem}.large-copy{font-size:1.14rem}.detail-split h3{margin-top:30px}.fit-grid{gap:32px 22px}.fit-grid h3{font-size:1.2rem;margin-top:0}.fit-grid>div{padding-top:18px}.number-list li{font-size:1rem;gap:22px}.related{padding-top:0}.related .project-card{grid-template-columns:1fr;gap:0}.related .project-visual{aspect-ratio:1.6;padding:24px}.related .mini .flow-nodes{grid-template-columns:repeat(4,1fr)}.related .mini .flow-nodes li{font-size:.75rem;padding:10px 7px;min-height:76px}.project-hero{padding-top:32px;padding-bottom:30px}.project-title-row h1{font-size:3.2rem}.project-title-row{gap:20px;align-items:flex-start}.giant-number{font-size:4rem}.project-title-row .lead{font-size:1.23rem}.project-title-row .eyebrow{font-size:.75rem;margin-bottom:15px}.project-deck{font-size:1rem;line-height:1.7}.tags{gap:7px}.tags span{font-size:.75rem;padding:6px 10px}.video-placeholder{aspect-ratio:16/10;min-height:235px}.video-placeholder .icon{height:31px;width:31px;margin-bottom:14px}.video-placeholder h2{font-size:1rem}.video-placeholder p{font-size:.77rem}.video-corner{left:15px;top:16px;font-size:.75rem}.video-bottom{font-size:.75rem;bottom:15px}.project-meta{grid-template-columns:1fr;padding:8px 0}.project-meta>div,.project-meta>div:first-child{border-left:0;border-bottom:1px solid #e3e8ea;padding:16px 0;display:grid;grid-template-columns:75px 1fr;gap:18px;align-items:center}.project-meta>div:last-child{border-bottom:0}.project-meta span{font-size:.75rem}.project-meta p{margin:0;font-size:.86rem}.project-story{grid-template-columns:1fr;gap:32px}.project-story aside h2{font-size:2.7rem}.project-story aside h2 br{display:none}.project-story aside h2 br:after{content:' '}.project-story article{gap:18px;margin-bottom:30px}.project-story h3{font-size:1.5rem;margin-bottom:13px}.project-story p{font-size:1rem}.flow-section .workflow-visual{padding:22px}.flow-section .flow-nodes{grid-template-columns:1fr 1fr;gap:15px}.flow-section .flow-nodes li:not(:last-child):after{display:none}.flow-section .flow-nodes li{min-height:98px;padding:16px;font-size:.88rem}.flow-section .diagram-top{font-size:.75rem}.flow-section .diagram-bottom{font-size:.75rem}.flow-section .diagram-tag{display:none}.project-next{align-items:flex-start;flex-direction:column;gap:22px;padding:32px 0 55px}.project-next h2{font-size:2rem}.about-image{height:290px;width:calc(100% - 40px);margin-top:30px}.about-image>div{font-size:.75rem;bottom:20px;left:20px;right:20px}.principle-grid{grid-template-columns:1fr;gap:35px}.principle-grid h3{margin:0 0 15px;font-size:1.55rem}.audience-grid{grid-template-columns:1fr;gap:40px;padding-top:45px}.audience-grid h2{font-size:1.8rem;margin:23px 0 17px}.audience-grid p{font-size:1rem}.solution-list{padding-top:40px}.solution-list article{grid-template-columns:1fr;gap:15px;padding:30px 0}.solution-list h2{font-size:1.9rem}.solution-list p{font-size:1rem}.solution-list .button{font-size:.81rem;padding:14px 17px;min-height:48px}.contact-layout{grid-template-columns:1fr;gap:38px;padding-top:60px;padding-bottom:55px}.contact-layout h1{font-size:4rem}.contact-panel{padding:30px 25px}.contact-panel h2{font-size:2.4rem;margin-top:25px}.contact-explore{flex-direction:column;align-items:flex-start;gap:18px;padding-bottom:55px}.error-actions{flex-direction:column;align-items:flex-start}}
@media(max-width:380px){.container{width:calc(100% - 32px)}.hero h1{font-size:2.75rem}.hero .button-row{flex-direction:column;align-items:stretch}.hero-art{height:300px}.hero-art img{width:365px}.mini .flow-nodes{gap:7px}.mini .flow-nodes li{font-size:.75rem;padding:8px 5px}.mini .diagram-top{font-size:.75rem}.project-visual{padding:17px}.mini{padding:16px}.project-title-row h1{font-size:2.65rem}.giant-number{font-size:3rem}.cta h2{font-size:2.8rem}.button{font-size:.85rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Small workflow diagrams remain readable across card widths. */
.mini .flow-nodes{grid-template-columns:1fr 1fr;gap:10px;padding:22px 0}.mini .flow-nodes li{font-size:.8rem;min-height:70px;gap:8px;padding:12px 14px}.mini .flow-nodes li:after{display:none!important}.mini .diagram-tag{display:none}.mini .diagram-top span:last-child{font-size:.75rem}.project-visual{aspect-ratio:1.48}.mini{padding:22px;max-width:450px}.mini .diagram-top{padding-bottom:15px}.mini .diagram-bottom{font-size:.78rem}.service-hero-symbol{background:linear-gradient(#111b23a8,#111b23c7),url('/assets/connected-systems.5dc12968470d248d.webp') center/cover}.service-hero-symbol .icon{filter:drop-shadow(0 2px 8px #000)}.service-hero-symbol p{color:#edf5f0}.hero .eyebrow,.page-intro .eyebrow,.section-heading .eyebrow,.project-card-copy .eyebrow{font-size:.75rem}.header nav>a:not(.button){font-size:.875rem}.hero-footnote{font-size:.875rem}.service-bottom{font-size:.75rem}.project-story aside h2 br{display:initial}@media(max-width:1150px){.mini .diagram-top span:last-child{display:none}}@media(max-width:720px){.project-visual{aspect-ratio:1.25;padding:23px}.mini{max-width:450px;padding:22px}.mini .flow-nodes li{min-height:72px;font-size:.8rem;padding:12px}.mini .diagram-top span:last-child{display:none}.related .mini .flow-nodes{grid-template-columns:1fr 1fr}.related .project-visual{aspect-ratio:1.25}.related .mini .flow-nodes li{font-size:.8rem;min-height:72px;padding:12px}.hero-bottom>span:first-child{max-width:200px;line-height:1.7}.hero-bottom{align-items:center}.art-caption{font-size:.75rem}.hero-art{height:390px}.project-title-row .eyebrow{line-height:1.7}.giant-number{font-size:3.4rem}.project-title-row h1{overflow-wrap:break-word}.project-story aside h2 br{display:none}.project-story aside h2{max-width:350px}.project-story aside h2 em{display:block}}@media(max-width:380px){.mini{padding:16px}.mini .flow-nodes li{font-size:.75rem;padding:10px}.project-visual{padding:18px;aspect-ratio:1.1}.hero-art{height:320px}.art-caption{font-size:.75rem}.hero-bottom>span:first-child{font-size:.75rem}.hero-footnote{font-size:.8rem}}
@media(max-width:720px){.project-story aside h2 br{display:initial}}

/* Consultation form. Delivery stays disconnected until the backend is ready. */
.contact-form-panel { min-width: 0; }
@media (min-width: 1151px) { .contact-form-panel { margin-right: -40px; } }
@media (min-width: 721px) and (max-width: 1150px) { .contact-form-panel { margin-right: -16px; } }
.contact-form-panel h2 { margin-top: 0; margin-bottom: 18px; }
.consultation-form { display: grid; gap: 20px; margin-top: 28px; }
.contact-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.contact-field { min-width: 0; }
.contact-field label { display: block; margin-bottom: 9px; font-size: .88rem; font-weight: 600; line-height: 1.5; }
.contact-field label span { font-size: .75rem; font-weight: 400; color: var(--muted); white-space: nowrap; }
.contact-field input, .contact-field textarea { display: block; width: 100%; min-height: 48px; border: 1px solid #70838c; border-radius: 4px; background: var(--paper); color: var(--text); padding: 12px 13px; font-size: 1rem; line-height: 1.5; }
.contact-field textarea { min-height: 145px; resize: vertical; }
.contact-field input::placeholder { color: var(--muted); font-size: .87rem; }
.contact-field input:focus-visible, .contact-field textarea:focus-visible { outline: 3px solid var(--interaction-blue, #8bc4ff); outline-offset: 3px; border-color: var(--interaction-blue, #8bc4ff); box-shadow: 0 0 20px #70b7ff26; }
.contact-panel .contact-field-hint { margin: -2px 0 10px; font-size: .81rem; line-height: 1.5; }
.contact-honeypot { display: none; }
.contact-panel .contact-availability { padding: 12px 14px; border-left: 3px solid var(--interaction-blue, #8bc4ff); background: #70b7ff14; color: #c4d9eb; font-size: .82rem; line-height: 1.6; margin: 0; }
.consultation-form .button { cursor: pointer; }
.consultation-form .button:disabled { opacity: .6; cursor: not-allowed; transform: none; }
.contact-panel .contact-form-status { margin: 0; font-size: .88rem; line-height: 1.6; color: var(--text); }
.contact-form-status:empty { display: none; }
.contact-form-status:focus { outline: 2px solid var(--interaction-blue, #8bc4ff); outline-offset: 5px; border-radius: 2px; }
@media (min-width: 721px) and (max-width: 1100px), (max-width: 420px) { .contact-field-row { grid-template-columns: 1fr; } }

/* Keep the consultation form in view on desktop and shorter laptop screens. */
@media (min-width: 721px) {
  .contact-layout { padding-top: 36px; padding-bottom: 48px; align-items: start; grid-template-rows: auto 1fr; row-gap: 24px; }
  .contact-form-panel { padding: 28px; grid-column: 2; grid-row: 1 / span 2; }
  .contact-explore { grid-column: 1; grid-row: 2; padding: 20px 0 0; gap: 12px 24px; flex-wrap: wrap; }
  .contact-form-panel h2 { font-size: 2.1rem; margin-bottom: 12px; }
  .contact-form-panel > p { margin-bottom: 0; }
  .consultation-form { gap: 14px; margin-top: 20px; }
  .contact-field label { margin-bottom: 6px; }
  .contact-field input, .contact-field textarea { min-height: 44px; padding: 9px 13px; }
  .contact-field textarea { height: 120px; min-height: 120px; }
}
@media (min-width: 1101px) and (max-height: 800px) {
  .contact-layout { padding-top: 16px; }
  .contact-form-panel { padding: 20px 28px; }
  .contact-form-panel h2 { font-size: 1.85rem; margin-bottom: 8px; }
  .contact-form-panel > p { font-size: .95rem; line-height: 1.5; }
  .consultation-form { gap: 12px; margin-top: 14px; }
  .contact-field textarea { height: 88px; min-height: 88px; }
  .consultation-form .button { min-height: 48px; padding: 12px 24px; }
}
@media (max-width: 720px) { .contact-layout { padding-top: 32px; } }

.services-intro { padding-bottom: 0; }
.services-intro h1 { max-width: none; font-size: clamp(2.7rem, 4.6vw, 4.65rem); margin-bottom: 0; }
.services-intro + .services-page { padding-top: 32px; }
@media (min-width: 721px) { .services-intro h1 { white-space: nowrap; } }
@media (max-width: 720px) {
  .services-intro h1 { font-size: clamp(2.5rem, 8vw, 3.3rem); }
  .services-intro + .services-page { padding-top: 24px; }
}

/* Keep page headings within their content column at every width. */
.page-intro h1,.service-hero h1,.project-title-row h1,.contact-layout h1{min-width:0;max-width:100%;overflow-wrap:break-word;text-wrap:balance}
.services-intro h1{white-space:normal;line-height:1.1}
