:root{--ink:#102732;--body:#4d606a;--muted:#677882;--line:#dbe2e5;--blue:#237ca7;--cyan:#24a4d6;--paper:#fff;--wash:#f3f6f6;--lime:#dcebb2;--font:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;-webkit-font-smoothing:antialiased}
body.dialog-open{overflow:hidden}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
button{color:inherit}
img,svg{display:block;max-width:100%}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
h1,h2,h3,p{margin:0}
p{line-height:1.65}
h2{font-weight:500;font-size:clamp(36px,3.55vw,53px);line-height:1.12;letter-spacing:-2.1px}
h3{font-weight:500;letter-spacing:-.6px}
button:disabled{cursor:default}
[hidden]{display:none!important}
.wrap{width:calc(100% - 112px);max-width:1344px;margin:0 auto}
.section{padding-top:110px;padding-bottom:110px}
.eyebrow{display:flex;align-items:center;gap:10px;font-size:10px;line-height:1.5;font-weight:700;letter-spacing:1.6px}
.blue-dot{width:7px;height:7px;border-radius:50%;background:var(--cyan)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:34px;min-height:51px;padding:15px 22px;border:1px solid transparent;border-radius:3px;font-size:13px;line-height:1.3;font-weight:600;transition:background .2s,transform .2s}
.button span{font-size:20px;font-weight:400;line-height:1}
.button:hover{transform:translateY(-2px)}
.button-dark{background:var(--ink);color:white}
.button-dark:hover{background:#254859}
.button-light{background:var(--lime);color:var(--ink)}
.button-light:hover{background:#edf5d7}
.button-outline{border-color:var(--line);background:transparent}
.text-link{padding:0;background:none;border:0;display:inline-flex;gap:25px;align-items:center;font-size:13px;font-weight:600;min-height:44px}
.text-link span{font-size:20px;font-weight:400}
.text-link:hover{color:var(--blue)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:100;top:10px;left:12px;transform:translateY(-150%);background:var(--ink);color:white;padding:15px}
.skip-link:focus{transform:none}
.site-header{height:94px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);z-index:20}
.header-inner{height:100%;display:flex;align-items:center;gap:40px}
.brand{display:block;flex:none}
.brand img{width:88px;height:auto;filter:brightness(0)}
#main-nav{display:flex;gap:32px;align-items:center;margin-left:auto}
#main-nav a{font-size:12px;font-weight:500;white-space:nowrap;min-height:44px;display:flex;align-items:center;border-bottom:1px solid transparent}
#main-nav a:hover{border-color:var(--cyan);color:var(--blue)}
.header-contact{min-height:45px;padding:12px 18px;gap:20px;font-size:12px}
.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:1fr 1.05fr;gap:68px;align-items:center;padding-top:73px;padding-bottom:78px}
.hero-copy{padding-bottom:3px}
.hero h1{font-size:clamp(59px,5.8vw,86px);font-weight:500;line-height:1.015;letter-spacing:-5px;margin-top:27px}
.hero h1 span{color:var(--blue)}
.hero-intro{max-width:440px;font-size:17px;line-height:1.65;color:var(--body);margin-top:29px}
.hero-actions{display:flex;gap:25px;align-items:center;margin-top:32px;flex-wrap:wrap}
.hero-fit{display:flex;align-items:flex-start;gap:8px;font-size:11px;color:var(--muted);margin-top:34px;line-height:1.5}
.hero-fit>span{font-size:19px;color:var(--blue);line-height:15px}
.system-visual{background:var(--ink);color:#f9fbfc;border-radius:4px;overflow:hidden;box-shadow:0 12px 40px -25px #132c35;align-self:center}
.visual-toolbar{height:66px;padding:0 23px;display:flex;align-items:center;border-bottom:1px solid #304b57;gap:13px;font-size:9px;font-weight:500;letter-spacing:1.35px}
.mini-mark{font-size:26px;line-height:1;color:var(--cyan)}
.visual-version{margin-left:auto;color:#9ab6c1;font-size:10px;letter-spacing:.5px}
.visual-map{width:100%;aspect-ratio:600/380;position:relative}
.map-lines{position:absolute;width:100%;height:100%}
.connector{fill:none;stroke:#7798a6;stroke-width:1.1}
.signal{fill:none;stroke:#b9db87;stroke-width:2;stroke-dasharray:6 190;animation:signal 10s linear infinite}
@keyframes signal{to{stroke-dashoffset:-400}}
.node{position:absolute;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid #52717f;border-radius:3px;background:#183845;width:23.33%;height:22.1%;gap:5px;padding:5px;text-align:center}
.node-input{left:4.17%}
.node.first{top:15.79%}
.node.second{top:61.84%}
.node-output{left:73.33%;width:22.67%;background:#18343e}
.node-icon{font-size:21px;color:#a4cbdc;line-height:1}
.node-label{font-size:12px;font-weight:500;line-height:1.15}
.node small{font-size:8px;color:#a8bcc5;line-height:1.3;max-width:95%}
.node-core{left:39.5%;top:37.63%;width:23%;height:30.26%;border-color:var(--lime);color:var(--ink);background:var(--lime);gap:8px}
.node-core small{color:#526548}
.core-symbol{display:grid;grid-template-columns:9px 9px;gap:3px}
.core-symbol i{width:9px;height:9px;border:1px solid #597d3a;background:#dcebb2}
.core-symbol i:nth-child(2){background:#91af62}
.core-symbol i:nth-child(3){background:#91af62}
.map-selector{display:flex;gap:0;margin:0 23px;border-top:1px solid #304b57;padding-top:18px;padding-bottom:20px}
.map-selector button{flex:1;font-size:10px;min-height:35px;color:#b4c8d0;padding:8px 4px;background:none;border:1px solid #304b57}
.map-selector button:first-child{border-radius:3px 0 0 3px}
.map-selector button:last-child{border-radius:0 3px 3px 0}
.map-selector button+button{border-left:0}
.map-selector button.active{background:#294957;color:white;box-shadow:inset 0 -2px var(--cyan)}
.map-selector button:hover{background:#294957}
.visual-caption{background:#0d212b;padding:17px 23px;display:flex;align-items:center;gap:8px;font-size:8px;color:#b4c8d0}
.status-dot{width:5px;height:5px;border-radius:50%;background:var(--lime)}
.visual-caption>span:last-child{margin-left:auto;color:#92acb7;letter-spacing:.25px}
.scope-strip{background:var(--wash);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.scope-strip>.wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:25px;padding-bottom:25px;font-size:12px}
.scope-strip strong{font-weight:600}
.scope-strip p{font-size:11px;color:var(--body)}
.scope-strip i{font-style:normal;color:#a7b6bd;padding:0 15px}
.section-heading{display:grid;grid-template-columns:1.15fr .85fr;column-gap:100px;align-items:end;margin-bottom:52px}
.section-heading>.eyebrow{grid-column:1/-1;margin-bottom:22px}
.section-heading>p:not(.eyebrow){font-size:15px;color:var(--body);max-width:425px}
.capability-layout{display:grid;grid-template-columns:.92fr 1.08fr;gap:68px}
.capability-tabs{padding-top:6px}
.capability-tabs button{display:flex;align-items:center;gap:20px;text-align:left;width:100%;padding:27px 3px;border:0;border-bottom:1px solid var(--line);background:none;min-height:88px}
.capability-tabs button:first-child{border-top:1px solid var(--line)}
.capability-tabs button>span:first-child{font-size:10px;color:var(--muted);align-self:center}
.capability-tabs button strong{font-size:21px;font-weight:400;letter-spacing:-.4px}
.cap-arrow{margin-left:auto;font-size:25px;color:#8fa3ab}
.capability-tabs button[aria-selected=true] strong{color:var(--blue)}
.capability-tabs button[aria-selected=true]{border-bottom-color:var(--blue)}
.capability-tabs button[aria-selected=true] .cap-arrow{color:var(--blue)}
.capability-tabs button:hover strong{color:var(--blue)}
.capability-panel{padding:38px;background:#f3f7f8;min-height:368px;border:1px solid #e1e9ec;border-radius:3px}
.cap-diagram{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:30px}
.cap-diagram>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;width:29%;height:90px;border:1px solid #bfced5;background:#fff;border-radius:3px}
.cap-diagram small{font-size:7px;font-weight:600;letter-spacing:.6px;text-align:center}
.diagram-icon{font-size:30px;color:var(--blue)}
.cap-diagram .cap-centre{background:#e0eaf0;border-color:#8fabbb}
.diagram-arrow{font-size:17px;color:#879fa9}
.capability-panel h3{font-size:24px;line-height:1.3;margin-bottom:13px}
.capability-panel>p{color:var(--body);font-size:14px;line-height:1.7;min-height:70px}
.cap-evidence{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #d5e1e6;padding-top:24px;margin-top:25px}
.cap-evidence>span{font-size:8px;letter-spacing:1px;color:var(--muted)}
.cap-evidence>div{display:flex;flex-wrap:wrap;gap:7px}
.project-chip{background:none;border:1px solid #c2d3db;border-radius:2px;padding:10px 11px;font-size:9px;letter-spacing:.4px;min-height:34px}
.project-chip:hover{background:#dae8ee;color:var(--blue)}
.project-section{background:#f6f7f5;border-top:1px solid #e8ebe6}
.project-heading{align-items:end}
.project-heading .eyebrow{margin-bottom:22px}
.project-heading>p{padding-bottom:5px}
.featured-projects{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.featured-card{min-width:0}
.project-art{display:block;position:relative;width:100%;aspect-ratio:1.5;border:0;overflow:hidden;border-radius:3px;text-align:left;color:var(--ink)}
.energy-art{background:#e2edf1}
.product-art{background:#e4eacb}
.art-meta{position:absolute;top:25px;left:27px;right:27px;font-size:14px;font-weight:600;letter-spacing:.4px;display:flex;justify-content:space-between}
.art-meta>span{font-size:25px;font-weight:400}
.art-label{position:absolute;left:27px;top:62px;font-size:8px;letter-spacing:1px;color:#536b75}
.art-bottom{position:absolute;bottom:25px;left:27px;right:27px;display:flex;justify-content:space-between;align-items:center;font-size:8px;font-weight:600;letter-spacing:.5px}
.art-bottom i{font-style:normal;font-size:13px;color:#698a98}
.file-motif{position:absolute;top:33%;left:8%;width:31%;background:white;border:1px solid #b7d0dc;border-radius:3px;padding:15px 13px;transform:rotate(-3deg);box-shadow:0 10px 20px -12px #729eb0;transition:transform .3s}
.file-top{display:flex;align-items:center;gap:9px;font-size:11px;margin-bottom:17px}
.file-top i{font-style:normal;font-size:18px;color:var(--blue)}
.file-line{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:9px;padding:9px 0;border-top:1px solid #e6eef2}
.file-line i{height:3px;background:#c8d8e1;border-radius:2px}
.file-line:nth-child(3) i:nth-child(2){background:#529bbd}
.chart-motif{position:absolute;top:38%;left:52%;width:40%;padding:13px 12px;border:1px solid #b7d0dc;background:white;border-radius:3px;transform:rotate(2deg);transition:transform .3s}
.chart-motif>span{font-size:10px;display:block;margin-bottom:17px}
.chart-motif small{display:block;font-size:6px;line-height:1.4;color:#70858d;margin-top:10px}
.art-link{position:absolute;top:51%;left:43%;font-size:26px;color:#5f8494}
.project-art:hover .file-motif,.project-art:hover .chart-motif{transform:rotate(0)}
.recipe-motif{position:absolute;top:31%;left:8%;width:34%;padding:16px;background:#fcfcf8;border:1px solid #b8c6a1;border-radius:3px;display:flex;flex-direction:column;gap:10px;transform:rotate(-3deg);transition:transform .3s;box-shadow:0 10px 20px -12px #7d9865}
.recipe-symbol{font-size:32px;color:#708644;line-height:1}
.recipe-motif strong{font-size:12px;font-weight:500;line-height:1.3}
.recipe-motif>span:nth-child(3){font-size:8px}
.recipe-motif i{font-style:normal;color:#879573}
.recipe-bars{display:flex;gap:4px}
.recipe-bars i{height:3px;width:29px;background:#b4c297}
.recipe-bars i:nth-child(2){width:17px;background:#728d47}
.hub-motif{position:absolute;top:36%;left:55%;width:35%;padding:16px 10px;background:#f7f9ee;border:1px solid #b8c6a1;border-radius:3px;display:flex;flex-direction:column;align-items:center;gap:11px;transform:rotate(3deg);transition:transform .3s}
.hub-symbol{font-size:28px;color:#73864d;line-height:1}
.hub-motif strong{font-size:13px;font-weight:500}
.hub-motif>span:last-child{font-size:6px;text-align:center}
.product-art .art-link{left:45%;color:#7a8d57}
.project-art:hover .recipe-motif,.project-art:hover .hub-motif{transform:rotate(0)}
.featured-copy{padding-top:27px;padding-right:35px}
.project-category{font-size:8px;font-weight:600;letter-spacing:1.2px;color:var(--muted);margin-bottom:14px}
.featured-copy h3{font-size:30px;line-height:1.17;letter-spacing:-.95px;margin-bottom:16px}
.featured-copy>p:not(.project-category){font-size:14px;color:var(--body);max-width:390px}
.featured-copy .text-link{margin-top:19px}
.portfolio{margin-top:62px;border-top:1px solid #cfd7ce;border-bottom:1px solid #cfd7ce}
.portfolio summary{padding:22px 2px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none}
.portfolio summary::-webkit-details-marker{display:none}
.portfolio summary>span:first-child{display:flex;align-items:center;gap:20px;font-size:17px;font-weight:500}
.portfolio-count{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;border:1px solid #b9c9b5;font-size:11px}
.portfolio-toggle{font-size:27px;transition:transform .2s}
.portfolio[open] .portfolio-toggle{transform:rotate(45deg)}
.portfolio-content{padding-bottom:28px}
.portfolio-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.portfolio-filters button{padding:11px 16px;min-height:40px;font-size:11px;border-radius:2px;border:1px solid #ccd7c9;background:none}
.portfolio-filters button.active{background:var(--ink);color:white;border-color:var(--ink)}
.portfolio-filters button:hover:not(.active){background:#e4ebe1}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.portfolio-item{display:flex;flex-direction:column;text-align:left;padding:24px;min-height:182px;background:white;border:1px solid #d9e1d6;border-radius:3px}
.portfolio-item .portfolio-item-head{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;font-size:15px;font-weight:600;margin-bottom:12px}
.portfolio-item-head>span{font-size:21px;font-weight:400}
.portfolio-item>p{font-size:12px;line-height:1.6;color:var(--body);margin-bottom:20px}
.portfolio-item>small{margin-top:auto;font-size:8px;letter-spacing:.8px;color:var(--muted)}
.research-section{background:var(--ink);color:white}
.research-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:120px;align-items:center}
.research-copy .eyebrow{color:#a3c4d2;margin-bottom:26px}
.research-copy h2{font-size:clamp(36px,3.5vw,53px);line-height:1.15}
.research-copy>p:not(.eyebrow){color:#bdd0d8;font-size:14px;max-width:410px;margin-top:22px;line-height:1.75}
.research-copy .button{margin-top:32px}
.research-workflow{border:1px solid #406171;border-radius:3px;background:#183642}
.workflow-head{display:flex;justify-content:space-between;padding:20px 25px;font-size:9px;letter-spacing:1.1px;color:#bbd2dd;border-bottom:1px solid #406171}
.workflow-head>span:last-child{font-size:17px;line-height:1}
.workflow-stage{display:flex;align-items:center;gap:23px;padding:23px 25px;border-bottom:1px solid #355768}
.workflow-stage>span:first-child{width:31px;height:31px;border:1px solid #70909d;display:flex;align-items:center;justify-content:center;font-size:9px;color:#c2d7df;border-radius:50%}
.workflow-stage h3{font-size:21px;letter-spacing:-.3px;line-height:1.2}
.workflow-stage p{font-size:11px;color:#acc6d2;margin-top:4px}
.workflow-stage>span:last-child{margin-left:auto;color:var(--lime);font-size:18px}
.workflow-note{font-size:10px;color:#c0d2a6;padding:19px 25px;line-height:1.5}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:58px}
.process-grid article{border-top:1px solid var(--line);padding-top:21px}
.process-number{display:block;font-size:10px;color:var(--blue);margin-bottom:28px}
.process-grid h3{font-size:20px;letter-spacing:-.45px;line-height:1.3;margin-bottom:15px}
.process-grid p{font-size:13px;line-height:1.7;color:var(--body)}
.contact-section{background:#edf2e8;padding:83px 0 86px;border-top:1px solid #dae1d5}
.contact-layout{display:grid;grid-template-columns:1.12fr .88fr;gap:100px;align-items:center}
.contact-layout .eyebrow{margin-bottom:23px}
.contact-layout h2{font-size:clamp(36px,3.4vw,51px)}
.contact-copy>p{color:#4d6151;font-size:14px;line-height:1.7}
.contact-copy .button{margin-top:26px;display:flex;max-width:225px;justify-content:space-between}
.email-link{display:flex;align-items:center;gap:20px;margin-top:16px;font-size:12px;max-width:max-content;min-height:36px}
.email-link:hover{text-decoration:underline}
.site-footer{padding:60px 0 24px;background:#0e242f;color:white}
.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr 1.3fr;gap:50px;align-items:start;padding-bottom:46px}
.footer-top img{width:111px;height:auto}
.footer-top>p{font-size:15px;line-height:1.65;letter-spacing:-.2px}
.footer-nav{display:flex;flex-direction:column;gap:14px;font-size:11px;color:#c5d7df}
.footer-nav a:hover{color:white;text-decoration:underline}
.footer-location{display:flex;flex-direction:column;gap:19px}
.footer-location>span{font-size:8px;letter-spacing:1px;color:#c5d7df}
.footer-location>a{font-size:12px}
.footer-bottom{display:flex;justify-content:space-between;gap:25px;align-items:center;padding-top:23px;border-top:1px solid #2d4654;color:#a8c0cb;font-size:9px}
.footer-bottom button{border:0;background:none;color:#a8c0cb;font-size:9px;padding:12px;min-height:44px}
.footer-bottom button:hover,.footer-bottom a:hover{color:white}
.footer-bottom>a{min-height:44px;display:flex;align-items:center}
dialog{border:0;border-radius:5px;padding:0;color:var(--ink);background:white;max-height:calc(100dvh - 48px);overflow:auto;width:calc(100% - 48px);max-width:680px;box-shadow:0 20px 100px #051c3060}
dialog::backdrop{background:#071f35a3;backdrop-filter:blur(5px)}
.dialog-top{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:12px 25px;background:white;border-bottom:1px solid var(--line)}
.dialog-top>span{font-size:9px;font-weight:600;letter-spacing:1.1px}
.close-button{width:40px;height:40px;border:0;background:#f1f5f6;border-radius:3px;font-size:27px;line-height:1}
.close-button:hover{background:#deebf0}
.project-dialog-body,.brief-body{padding:35px 40px 40px}
.project-dialog-body>.eyebrow{color:var(--blue);margin-bottom:18px}
.project-dialog-body h2{font-size:40px;line-height:1.1;letter-spacing:-1.8px;margin-bottom:25px;overflow-wrap:break-word}
.dialog-lead{font-size:16px;color:var(--body);line-height:1.7}
.project-data-flow{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:30px;margin-bottom:30px}
.project-data-flow>div{padding:17px 15px;border:1px solid #d1dfe5;background:#f2f7f9;border-radius:3px;position:relative}
.project-data-flow>div:not(:last-child):after{position:absolute;content:'→';right:-13px;top:47%;z-index:1;font-size:14px;color:#6590a5}
.project-data-flow small{display:block;font-size:8px;letter-spacing:1px;color:var(--blue);margin-bottom:10px}
.project-data-flow p{font-size:12px;line-height:1.6}
.project-role{border-top:1px solid var(--line);padding-top:24px;margin-bottom:25px}
.project-role h3{font-size:17px;margin-bottom:10px}
.project-role p{font-size:14px;line-height:1.7;color:var(--body)}
.brief-body>.eyebrow{color:var(--blue);margin-bottom:18px}
.brief-body h2{font-size:39px;margin-bottom:17px;line-height:1.12;letter-spacing:-1.7px}
.brief-intro,.brief-body>p{font-size:14px;color:var(--body);line-height:1.7;margin-bottom:23px}
.brief-body label{display:flex;flex-direction:column;gap:8px;font-size:11px;font-weight:600;margin-bottom:16px;min-width:0}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
input,select,textarea{padding:13px 12px;border:1px solid #cbd7dc;background:#fbfcfc;border-radius:3px;color:var(--ink);font-size:13px;font-weight:400;min-height:45px;max-width:100%;width:100%}
textarea{resize:vertical;min-height:96px}
input::placeholder,textarea::placeholder{color:#768891;opacity:1}
.form-privacy{font-size:10px;color:var(--muted);line-height:1.6;margin:5px 0 20px}
.privacy-dialog{max-width:550px}
.privacy-dialog .brief-body>a{display:block;font-size:13px;color:var(--blue);margin-top:23px}
.ready-mark{display:flex;align-items:center;justify-content:center;width:45px;height:45px;background:var(--lime);font-size:25px;border-radius:50%;margin-bottom:20px}
#brief-ready h3{font-size:27px;margin-bottom:12px}
#brief-ready>p{font-size:13px;color:var(--body);margin-bottom:20px}
#brief-preview{white-space:pre-wrap;overflow-wrap:anywhere;background:#f1f6f7;border:1px solid #dae5e9;padding:20px;font:11px/1.7 var(--font);max-height:350px;overflow:auto}
.ready-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:23px}
#copy-status{font-size:11px;color:var(--blue);min-height:20px;margin-top:10px}
@media(min-width:1600px){.hero{gap:95px}
.hero h1{font-size:91px}
}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}
.header-inner{gap:27px}
#main-nav{gap:22px}
.hero{gap:35px;padding-top:60px;padding-bottom:65px}
.hero h1{font-size:69px;letter-spacing:-4px}
.hero-intro{font-size:15px}
.hero-actions{gap:15px}
.hero-actions .button{gap:20px}
.hero-fit{font-size:10px}
.eyebrow{font-size:8px}
.visual-toolbar{padding:0 16px;gap:10px;font-size:7px;height:55px}
.visual-version{font-size:8px}
.node-label{font-size:10px}
.node small{font-size:6px}
.map-selector{margin:0 16px}
.map-selector button{font-size:8px}
.visual-caption{padding:15px 16px;font-size:7px}
.scope-strip>.wrap{gap:25px}
.scope-strip p{font-size:9px}
.scope-strip i{padding:0 8px}
.section-heading{column-gap:65px}
.capability-layout{gap:40px}
.capability-tabs button strong{font-size:18px}
.capability-panel{padding:27px}
.cap-evidence{flex-direction:column;align-items:flex-start;gap:12px}
.project-art{aspect-ratio:1.35}
.art-meta{left:21px;right:21px;top:21px}
.art-label{left:21px;top:56px;font-size:7px}
.art-bottom{left:21px;right:21px;bottom:22px;font-size:7px}
.file-motif{padding:12px 10px}
.file-top{font-size:9px}
.chart-motif>span{font-size:8px}
.recipe-motif{padding:13px 11px}
.recipe-motif strong{font-size:10px}
.recipe-motif>span:nth-child(3){font-size:7px}
.hub-motif{padding:16px 6px}
.hub-motif strong{font-size:12px}
.hub-motif>span:last-child{font-size:5px}
.featured-copy h3{font-size:26px}
.research-layout{gap:65px}
.process-grid{gap:23px}
.process-grid h3{font-size:18px}
.contact-layout{gap:60px}
.footer-top{gap:25px}
}
@media(max-width:900px){html{scroll-padding-top:87px}
.wrap{width:calc(100% - 44px)}
.section{padding-top:65px;padding-bottom:65px}
.site-header{height:76px}
.header-inner{gap:16px}
.brand img{width:71px}
.header-contact{margin-left:auto;font-size:10px;gap:12px;padding:11px 12px;min-height:42px}
.header-contact span{font-size:16px}
.menu-toggle{display:flex;width:35px;height:42px;padding:10px 4px;border:0;background:none;flex-direction:column;justify-content:center;gap:6px;flex:none}
.menu-toggle span{width:25px;height:1px;background:var(--ink);transition:transform .2s}
.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)}
#main-nav{display:none;position:absolute;left:0;top:75px;width:100%;padding:15px 22px 24px;background:white;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}
#main-nav[data-open=true]{display:flex}
#main-nav a{font-size:16px;padding:12px 0;min-height:50px;border-bottom:1px solid var(--line)}
.hero{grid-template-columns:1fr;gap:39px;padding-top:40px;padding-bottom:45px}
.hero .eyebrow{font-size:8px;letter-spacing:1.05px}
.hero h1{font-size:clamp(55px,10.5vw,75px);letter-spacing:-3.5px;line-height:1.02;margin-top:23px}
.desktop-break{display:none}
.hero-intro{font-size:15px;margin-top:22px;max-width:470px}
.hero-actions{gap:19px;margin-top:25px}
.hero-actions .button{padding:14px 16px;min-height:48px;font-size:12px;gap:18px}
.hero-actions .text-link{font-size:12px;gap:13px}
.hero-fit{margin-top:25px;font-size:10px}
.system-visual{max-width:620px;width:100%;margin:0 auto}
.visual-toolbar{height:53px;font-size:8px}
.node-label{font-size:clamp(9px,2vw,12px)}
.node small{font-size:clamp(6px,1.4vw,8px)}
.node-icon{font-size:18px}
.node{gap:4px}
.node-core{gap:6px}
.core-symbol{grid-template-columns:7px 7px;gap:2px}
.core-symbol i{width:7px;height:7px}
.map-selector{padding-top:14px;padding-bottom:14px}
.map-selector button{font-size:9px}
.visual-caption{font-size:7px;padding:14px 16px}
.scope-strip>.wrap{flex-direction:column;align-items:flex-start;gap:8px;padding:20px 0;font-size:12px}
.scope-strip p{font-size:9px;line-height:1.9}
.scope-strip i{padding:0 7px}
h2{font-size:36px;letter-spacing:-1.6px}
.eyebrow{font-size:8px;letter-spacing:1.4px}
.section-heading{grid-template-columns:1fr;gap:20px;margin-bottom:34px}
.section-heading>.eyebrow{margin-bottom:0}
.section-heading>p:not(.eyebrow){font-size:14px;max-width:100%}
.capability-layout{grid-template-columns:1fr;gap:25px}
.capability-tabs{padding:0}
.capability-tabs button{padding:20px 2px;min-height:67px;gap:16px}
.capability-tabs button strong{font-size:19px}
.capability-panel{padding:25px;min-height:0}
.cap-diagram{margin-bottom:24px}
.cap-diagram>div{height:77px}
.cap-diagram small{font-size:6px}
.diagram-icon{font-size:25px}
.capability-panel h3{font-size:23px;line-height:1.25}
.capability-panel>p{font-size:13px;min-height:0}
.cap-evidence{flex-direction:row;align-items:center;flex-wrap:wrap;margin-top:21px;padding-top:20px;gap:13px}
.project-heading{gap:20px}
.project-heading .eyebrow{margin-bottom:20px}
.featured-projects{grid-template-columns:1fr;gap:40px}
.project-art{aspect-ratio:1.4}
.art-meta{top:24px;font-size:13px}
.art-label{top:57px}
.file-motif{top:32%;padding:14px 10px}
.file-line{padding:8px 0}
.file-top{font-size:10px}
.chart-motif{top:38%}
.chart-motif>span{font-size:9px;margin-bottom:12px}
.chart-motif small{font-size:5px}
.recipe-motif{padding:14px;gap:9px;top:30%}
.recipe-motif strong{font-size:11px}
.recipe-motif>span:nth-child(3){font-size:7px}
.hub-motif{top:35%;padding:15px 8px}
.hub-motif>span:last-child{font-size:6px}
.art-bottom{font-size:7px}
.featured-copy{padding-top:22px;padding-right:10px}
.featured-copy h3{font-size:28px}
.featured-copy>p:not(.project-category){font-size:13px}
.featured-copy .text-link{margin-top:13px}
.portfolio{margin-top:37px}
.portfolio summary>span:first-child{font-size:15px;gap:13px}
.portfolio-grid{grid-template-columns:1fr 1fr}
.portfolio-item{padding:18px;min-height:180px}
.portfolio-item .portfolio-item-head{font-size:11px}
.portfolio-item-head>span{font-size:16px}
.portfolio-item>p{font-size:11px}
.portfolio-item>small{font-size:7px}
.portfolio-filters{gap:6px}
.portfolio-filters button{font-size:9px;padding:10px 12px;min-height:37px}
.research-layout{grid-template-columns:1fr;gap:36px}
.research-copy .eyebrow{margin-bottom:23px}
.research-copy h2{font-size:38px;line-height:1.14}
.research-copy>p:not(.eyebrow){font-size:13px;max-width:100%;margin-top:19px}
.research-copy .button{margin-top:24px}
.research-workflow{max-width:100%}
.workflow-stage{padding:20px}
.workflow-head{padding:18px 20px}
.workflow-note{padding:18px 20px}
.process-grid{grid-template-columns:1fr 1fr;gap:30px 22px;margin-top:33px}
.process-number{margin-bottom:20px}
.process-grid h3{font-size:18px}
.process-grid p{font-size:12px}
.contact-section{padding:60px 0}
.contact-layout{grid-template-columns:1fr;gap:25px}
.contact-layout .eyebrow{margin-bottom:20px}
.contact-layout h2{font-size:36px}
.contact-copy>p{font-size:13px}
.contact-copy .button{margin-top:23px}
.site-footer{padding-top:42px}
.footer-top{grid-template-columns:1fr 1fr;gap:35px;padding-bottom:35px}
.footer-top>p{font-size:14px}
.footer-nav{gap:14px}
.footer-location>a{font-size:10px;overflow-wrap:anywhere}
.footer-bottom{gap:12px;font-size:8px;padding-top:15px}
.footer-bottom button{font-size:8px;padding:8px 0}
dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:4px}
.dialog-top{padding:9px 18px}
.project-dialog-body,.brief-body{padding:27px 22px 30px}
.project-dialog-body h2,.brief-body h2{font-size:33px}
.dialog-lead{font-size:14px}
.project-data-flow{gap:9px;margin-top:25px}
.project-data-flow>div{padding:13px 9px}
.project-data-flow small{font-size:7px}
.project-data-flow p{font-size:10px}
.project-role p{font-size:13px}
.form-row{gap:12px}
.brief-body label{font-size:10px}
input,select,textarea{font-size:13px}
.ready-actions{gap:8px}
.ready-actions .button{padding:13px 16px;font-size:12px}
}
@media(max-width:360px){.wrap{width:calc(100% - 36px)}
.hero h1{font-size:53px}
.hero-actions{gap:10px}
.hero-actions .text-link{font-size:11px}
.hero-actions .button{font-size:11px}
.header-inner{gap:9px}
.node-icon{font-size:15px}
.node-core{gap:4px}
.node-label{font-size:8px}
.node small{font-size:5px}
.visual-toolbar{font-size:6px;gap:8px}
.portfolio-grid{grid-template-columns:1fr}
.form-row{grid-template-columns:1fr;gap:0}
.footer-location>a{font-size:9px}
.recipe-motif{padding:11px}
.recipe-motif strong{font-size:10px}
.art-bottom{font-size:6px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{animation:none!important;transition:none!important}
}
