@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{
  --ink:#080808;
  --bone:#f2f2ee;
  --paper:#fbfbf8;
  --soft:#d7d7d1;
  --line:rgba(17,17,15,.16);
  --muted:#696964;
  --acid:#bdbdb7;
  --max:1740px;
  --pad:clamp(20px,4vw,76px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bone);color:var(--ink);font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.menu-open{overflow:hidden}
body.tour-open{padding-right:360px}
img{display:block;width:100%;height:100%;object-fit:cover}
a{text-decoration:none;color:inherit}
button,input,textarea{font:inherit;color:inherit}
button{cursor:pointer}
::selection{background:var(--acid);color:var(--ink)}
.page-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:150;background:transparent}.page-progress i{display:block;height:100%;width:0;background:var(--acid)}
.eyebrow{margin:0 0 16px;font-size:9px;letter-spacing:.22em;text-transform:uppercase;font-weight:800}
.light{color:#a6a69e}
.site-header{height:76px;position:sticky;top:0;z-index:100;padding:0 var(--pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);background:rgba(241,239,230,.94);backdrop-filter:blur(16px)}
.brand{width:154px}.brand img{height:auto;object-fit:contain}
.desktop-nav{display:flex;gap:30px;font-size:9px;letter-spacing:.14em;text-transform:uppercase;font-weight:700}.desktop-nav a{position:relative;padding:8px 0}.desktop-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:1px;background:var(--ink);transition:right .25s}.desktop-nav a:hover::after{right:0}
.header-actions{justify-self:end;display:flex;align-items:center;gap:8px}.tour-trigger,.header-cta{height:38px;border:1px solid var(--ink);padding:0 14px;display:inline-flex;align-items:center;gap:8px;background:transparent;text-transform:uppercase;font-size:8px;letter-spacing:.14em;font-weight:800}.tour-trigger span{width:7px;height:7px;background:var(--acid);border:1px solid var(--ink)}.header-cta{background:var(--ink);color:var(--bone)}.header-cta:hover{background:#2b2b26}.menu-toggle{display:none;border:0;background:none;width:28px;height:28px;position:relative}.menu-toggle i{position:absolute;left:2px;width:24px;height:1px;background:var(--ink);transition:.25s}.menu-toggle i:first-child{top:9px}.menu-toggle i:last-child{top:18px}.mobile-menu{display:none}
.intro-strip{max-width:var(--max);margin:0 auto;padding:11px var(--pad);min-height:44px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.03em}.intro-strip p{margin:0;color:#55544e}.intro-strip strong{color:var(--ink)}.intro-strip button{border:0;border-bottom:1px solid var(--ink);background:none;padding:0 0 4px;text-transform:uppercase;font-size:8px;letter-spacing:.13em;font-weight:800}
.hero{max-width:var(--max);margin:0 auto;min-height:540px;height:min(64vh,650px);padding:42px var(--pad) 50px;display:grid;grid-template-columns:minmax(380px,.82fr) minmax(520px,1.18fr);gap:clamp(38px,6vw,100px);align-items:center;position:relative;overflow:hidden}.hero-copy{position:relative;z-index:3}.hero h1,.section-heading h2,.work-top h2,.process-intro h2,.ecosystem-head h2,.quote-copy h2,.calculator-head h2,.closing-copy h2{margin:0;font-size:clamp(48px,4.8vw,82px);line-height:.9;letter-spacing:-.062em;font-weight:900}.hero h1 span{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-style:italic}.hero-lede{max-width:590px;margin:26px 0 0;font-size:16px;line-height:1.65;color:#585750}.hero-actions{display:flex;gap:9px;margin-top:31px}.button{min-height:48px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink);font-size:9px;text-transform:uppercase;letter-spacing:.13em;font-weight:800}.button-dark{background:var(--ink);color:var(--bone)}.button-dark:hover{background:#2a2a25}.button-line:hover{background:var(--paper)}.hero-footnote{display:flex;align-items:center;gap:15px;margin-top:30px}.hero-footnote span{font-size:8px;letter-spacing:.18em;font-weight:800;background:var(--acid);padding:8px 9px;border:1px solid var(--ink)}.hero-footnote p{margin:0;font-family:Georgia,"Times New Roman",serif;font-style:italic;color:#64635d;font-size:14px}.hero-art{position:relative;height:100%;min-height:500px}.hero-photo{position:absolute;inset:2% 17% 6% 5%;margin:0;overflow:hidden;clip-path:polygon(0 0,100% 0,92% 100%,0 100%)}.hero-photo-small{position:absolute;right:0;top:8%;width:28%;height:52%;margin:0;border:8px solid var(--bone);overflow:hidden}.hero-badge{position:absolute;right:2%;bottom:3%;width:160px;height:160px;object-fit:contain;background:var(--acid);padding:18px;border:1px solid var(--ink)}.hero-stamp{position:absolute;left:0;bottom:5%;width:220px;background:var(--ink);color:var(--bone);padding:16px 17px}.hero-stamp span{display:block;font-size:8px;letter-spacing:.2em;color:var(--acid);margin-bottom:8px}.hero-stamp strong{font-size:16px;line-height:1.15}
.motion-rail{background:var(--ink);color:var(--bone);height:58px;overflow:hidden;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.motion-track{height:100%;display:flex;align-items:center;gap:22px;width:max-content;animation:ticker 24s linear infinite}.motion-track span{font-size:10px;letter-spacing:.18em;font-weight:800}.motion-track i{width:34px;height:1px;background:var(--acid)}@keyframes ticker{to{transform:translateX(-50%)}}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.1,1)}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.08s}
.tracked-section{scroll-margin-top:92px}.tracked-section.tour-current{outline:2px solid var(--acid);outline-offset:-2px}
.services{max-width:var(--max);margin:0 auto;padding:clamp(90px,9vw,150px) var(--pad)}.section-heading{display:grid;grid-template-columns:170px minmax(0,1fr);gap:35px;align-items:start;margin-bottom:58px}.section-code{font-size:9px;letter-spacing:.18em;font-weight:800;padding-top:8px}.section-heading h2{font-size:clamp(48px,5vw,84px)}.section-heading h2 em,.work-top h2 em,.process-intro h2 em,.ecosystem-head h2 em,.quote-copy h2 em{font-family:Georgia,"Times New Roman",serif;font-weight:400}.section-heading>div:last-child>p{max-width:610px;margin:22px 0 0;font-size:15px;line-height:1.65;color:#5e5d56}
.service-console{border:1px solid var(--ink);background:var(--paper)}.service-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--ink)}.service-tab{height:76px;border:0;border-right:1px solid var(--ink);background:transparent;text-align:left;padding:0 18px;transition:.22s}.service-tab:last-child{border-right:0}.service-tab span{display:block;font-size:8px;letter-spacing:.15em;margin-bottom:5px;color:#77766f}.service-tab b{font-size:14px}.service-tab.active{background:var(--acid)}.service-content{display:grid;grid-template-columns:1.08fr .92fr;min-height:510px}.service-photo{position:relative;margin:0;overflow:hidden;border-right:1px solid var(--ink)}.service-photo img{transition:opacity .2s,transform .5s}.service-photo.switching img{opacity:.2;transform:scale(1.025)}.service-photo>span{position:absolute;left:18px;bottom:14px;font-family:Georgia,"Times New Roman",serif;font-size:52px;color:white;text-shadow:0 2px 16px rgba(0,0,0,.3)}.service-copy{padding:clamp(34px,5vw,72px);display:flex;flex-direction:column;justify-content:center}.service-copy h3{font-size:clamp(34px,3.3vw,56px);line-height:.98;letter-spacing:-.045em;margin:0 0 20px}.service-copy>p:not(.eyebrow){font-size:14px;line-height:1.65;color:#62615a;max-width:480px}.service-copy a{align-self:flex-start;margin-top:28px;border-bottom:1px solid var(--ink);padding-bottom:7px;font-size:9px;letter-spacing:.13em;text-transform:uppercase;font-weight:800}.logic-line{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);margin-top:48px}.logic-line div{padding:22px 24px 0 0;border-right:1px solid var(--line);min-height:100px}.logic-line div+div{padding-left:24px}.logic-line div:last-child{border-right:0}.logic-line span{display:block;font-size:8px;letter-spacing:.17em;font-weight:800;margin-bottom:10px;color:#75746d}.logic-line strong{font-size:16px;line-height:1.35}
.work{background:var(--ink);color:var(--bone);padding:clamp(90px,9vw,150px) max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)))}.work-top{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:end}.work-top h2{font-size:clamp(48px,5vw,84px)}.work-top>p{font-size:14px;line-height:1.65;color:#aaa9a2;max-width:500px;margin:0 0 6px}.project-reel{display:grid;grid-template-columns:1.25fr .75fr .75fr;gap:12px;margin-top:56px}.project-card{position:relative;height:540px;overflow:hidden;background:#222}.project-card img{transition:transform .85s cubic-bezier(.2,.7,.1,1),filter .4s}.project-card:hover img{transform:scale(1.045);filter:saturate(.85)}.project-caption{position:absolute;inset:auto 0 0;padding:90px 22px 22px;background:linear-gradient(transparent,rgba(0,0,0,.84));transform:translateY(72px);transition:.35s}.project-card:hover .project-caption{transform:none}.project-caption span{display:block;font-size:8px;letter-spacing:.18em;color:var(--acid);margin-bottom:10px}.project-caption strong{display:block;font-size:22px;line-height:1.15}.project-caption p{font-size:12px;color:#c3c2bc;line-height:1.5;margin:10px 0 0}.proof-band{display:grid;grid-template-columns:.7fr 1.3fr;border-top:1px solid rgba(255,255,255,.18);margin-top:44px}.proof-number,.proof-copy{padding:30px 30px 0 0}.proof-number{border-right:1px solid rgba(255,255,255,.18)}.proof-copy{padding-left:30px}.proof-number strong{font-size:58px;letter-spacing:-.055em}.proof-number p,.proof-copy p{color:#aaa9a2;font-size:13px;line-height:1.6;max-width:520px}.proof-copy span{font-size:8px;letter-spacing:.18em;color:var(--acid);font-weight:800}
.process{max-width:var(--max);margin:0 auto;padding:clamp(90px,9vw,150px) var(--pad)}.process-intro{display:grid;grid-template-columns:1fr .62fr;gap:60px;align-items:end;margin-bottom:58px}.process-intro .eyebrow{grid-column:1/-1;margin-bottom:-28px}.process-intro h2{font-size:clamp(48px,5vw,84px)}.process-intro>p:last-child{font-size:14px;line-height:1.65;color:#605f58;margin:0 0 6px}.process-board{display:grid;grid-template-columns:1.05fr .95fr;border:1px solid var(--ink);background:var(--paper)}.process-photo{position:relative;margin:0;min-height:560px;border-right:1px solid var(--ink);overflow:hidden}.process-photo img{transition:opacity .18s,transform .55s}.process-photo.switching img{opacity:.18;transform:scale(1.025)}.process-label{position:absolute;left:16px;bottom:16px;background:var(--acid);border:1px solid var(--ink);padding:11px 13px}.process-label span{display:block;font-size:8px;letter-spacing:.16em;margin-bottom:4px}.process-label strong{font-size:12px}.process-steps{display:flex;flex-direction:column}.process-step{flex:1;min-height:150px;border:0;border-bottom:1px solid var(--ink);background:transparent;display:grid;grid-template-columns:60px 1fr;gap:18px;text-align:left;padding:28px;align-items:start;transition:.25s}.process-step:last-child{border-bottom:0}.process-step>span{font-family:Georgia,"Times New Roman",serif;font-size:30px}.process-step strong{font-size:22px}.process-step p{font-size:13px;line-height:1.55;color:#62615a;margin:9px 0 0}.process-step.active{background:var(--acid)}.faq-zone{display:grid;grid-template-columns:.7fr 1.3fr;gap:50px;margin-top:70px;border-top:1px solid var(--ink);padding-top:32px}.faq-title span{display:block;font-size:8px;letter-spacing:.18em;margin-bottom:10px}.faq-title strong{font-size:25px;line-height:1.15;max-width:300px;display:block}.faqs{border-top:1px solid var(--line)}.faq{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;padding:21px 42px 21px 0;position:relative}.faq strong{font-size:18px}.faq p{display:none;font-size:13px;line-height:1.6;color:#63625b;margin:12px 0 0;max-width:680px}.faq.active p{display:block;animation:faqIn .25s ease}@keyframes faqIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.faq i{position:absolute;right:3px;top:22px;width:16px;height:16px}.faq i::before,.faq i::after{content:"";position:absolute;left:0;top:7px;width:16px;height:1px;background:var(--ink);transition:.2s}.faq i::after{transform:rotate(90deg)}.faq.active i::after{transform:rotate(0)}
.ecosystem{background:#d9d5c8;padding:clamp(90px,9vw,150px) max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)))}.ecosystem-head{display:grid;grid-template-columns:180px 1fr;gap:35px}.ecosystem-head .eyebrow{padding-top:9px}.ecosystem-head h2{font-size:clamp(48px,5vw,84px)}.ecosystem-map{height:620px;position:relative;margin-top:65px;border:1px solid var(--ink);background:linear-gradient(90deg,rgba(17,17,15,.03) 1px,transparent 1px),linear-gradient(rgba(17,17,15,.03) 1px,transparent 1px);background-size:32px 32px;overflow:hidden}.source,.ecosystem-core,.ecosystem-result{position:absolute;border:1px solid var(--ink);background:var(--bone);display:grid;place-items:center;font-size:9px;letter-spacing:.15em;font-weight:800}.source{width:132px;height:52px}.source-a{left:5%;top:11%}.source-b{left:8%;top:37%}.source-c{left:4%;top:67%}.source-d{left:28%;top:17%}.source-e{left:30%;top:70%}.ecosystem-core{width:260px;height:220px;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--ink);color:var(--bone);text-align:center;padding:20px}.ecosystem-core img{width:78px;height:78px;object-fit:contain;filter:invert(1)}.ecosystem-core span{font-size:7px;color:#aaa99f}.ecosystem-core strong{font-size:28px;letter-spacing:-.03em}.ecosystem-result{right:5%;top:50%;transform:translateY(-50%);width:175px;height:100px;background:var(--acid)}.ecosystem-result span{font-size:7px}.ecosystem-result strong{font-size:20px}.flow{position:absolute;height:2px;background:var(--ink);transform-origin:left center}.flow::after{content:"";position:absolute;width:8px;height:8px;background:var(--acid);border:1px solid var(--ink);top:50%;transform:translateY(-50%);animation:flowDot 2.8s linear infinite}.flow-a{left:17%;top:22%;width:31%;transform:rotate(17deg)}.flow-b{left:20%;top:43%;width:28%;transform:rotate(6deg)}.flow-c{left:17%;top:70%;width:31%;transform:rotate(-20deg)}.flow-d{left:39%;top:29%;width:15%;transform:rotate(31deg)}.flow-e{left:41%;top:72%;width:14%;transform:rotate(-38deg)}@keyframes flowDot{from{left:0}to{left:100%}}.ecosystem-core::after{content:"";position:absolute;left:100%;top:50%;width:37vw;max-width:430px;height:2px;background:var(--ink)}.ecosystem-caption{display:flex;gap:24px;margin-top:24px;align-items:flex-start}.ecosystem-caption span{font-size:8px;letter-spacing:.18em;font-weight:800;background:var(--acid);padding:8px 9px;border:1px solid var(--ink)}.ecosystem-caption p{max-width:700px;margin:0;font-size:13px;line-height:1.6;color:#55544e}
.quote{background:var(--ink);color:var(--bone);padding:clamp(90px,9vw,150px) max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(45px,7vw,110px)}.quote-copy h2{font-size:clamp(48px,5vw,84px)}.quote-copy>p:not(.eyebrow){font-size:15px;line-height:1.7;color:#aaa9a2;max-width:520px}.quote-photo{width:270px;height:180px;margin-top:38px;overflow:hidden}.quote-form{background:var(--bone);color:var(--ink);padding:28px clamp(22px,3vw,48px);min-height:610px}.form-top{height:48px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;font-size:8px;letter-spacing:.18em}.form-screen{display:none;padding-top:42px}.form-screen.active{display:block;animation:faqIn .3s ease}.form-screen>p{font-size:clamp(30px,3vw,48px);letter-spacing:-.04em;margin:0 0 28px}.form-choices{display:grid;grid-template-columns:1fr 1fr}.form-choices button{height:88px;border:0;border-top:1px solid var(--line);background:transparent;text-align:left;padding:0 14px}.form-choices button:nth-child(odd){border-right:1px solid var(--line)}.form-choices button:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.form-choices button:hover{background:var(--acid)}.form-screen label{display:block;margin-bottom:28px}.form-screen label span{display:block;font-size:8px;letter-spacing:.15em;text-transform:uppercase;font-weight:800;margin-bottom:9px}.form-screen input,.form-screen textarea{width:100%;border:0;border-bottom:1px solid #8c8b83;background:transparent;padding:12px 0;font-size:18px;outline:none;border-radius:0;resize:vertical}.form-next,.form-submit{width:100%;height:54px;border:0;background:var(--ink);color:var(--bone);font-size:9px;letter-spacing:.14em;text-transform:uppercase;font-weight:800}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-screen small{display:block;text-align:center;margin-top:11px;color:#77766f;font-size:9px}.form-success{display:none;padding-top:65px}.form-success.active{display:block}.form-success span{font-size:8px;letter-spacing:.18em;font-weight:800}.form-success h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:50px;line-height:1;margin:17px 0}.form-success p{font-size:14px;line-height:1.6;color:#5d5c55;max-width:520px}.form-success button{border:0;border-bottom:1px solid var(--ink);background:none;padding:0 0 7px;margin-top:20px;font-size:9px;letter-spacing:.13em;text-transform:uppercase}
.calculator{max-width:var(--max);margin:0 auto;padding:clamp(90px,9vw,150px) var(--pad)}.calculator-head{display:grid;grid-template-columns:1.05fr .95fr;gap:55px;align-items:end}.calculator-head h2{font-size:clamp(48px,5vw,84px)}.calculator-head>p:last-child{font-size:14px;line-height:1.65;color:#5f5e57;margin:0 0 5px}.calculator-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(38px,6vw,90px);margin-top:60px}.calculator-controls label{display:block;padding:21px 0;border-top:1px solid var(--line)}.calculator-controls label>span{display:flex;justify-content:space-between;font-size:9px;text-transform:uppercase;letter-spacing:.13em}.calculator-controls label strong{font-size:12px;background:var(--acid);padding:3px 5px}.calculator-controls input[type=range]{width:100%;margin-top:16px;accent-color:var(--ink)}.scenario-switch{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--ink);margin-top:18px}.scenario-switch button{height:46px;border:0;border-right:1px solid var(--ink);background:transparent;text-transform:uppercase;font-size:8px;letter-spacing:.12em}.scenario-switch button:last-child{border-right:0}.scenario-switch button.active{background:var(--ink);color:var(--bone)}.calculator-output{border:1px solid var(--ink);background:var(--paper);padding:clamp(26px,4vw,52px)}.metric{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:21px;margin-bottom:22px}.metric span{font-size:8px;letter-spacing:.16em;color:#77766f}.metric strong{font-size:clamp(36px,4vw,62px);letter-spacing:-.055em}.graph{margin-top:40px}.graph>div{display:grid;grid-template-columns:90px 1fr 60px;gap:12px;align-items:center;margin:16px 0}.graph span,.graph>div>strong{font-size:8px;letter-spacing:.12em;text-transform:uppercase}.graph>div>strong{text-align:right;color:#77766f}.graph i{display:block;height:24px;border:1px solid var(--line);position:relative}.graph b{display:block;height:100%;width:10%;background:var(--ink);transition:width .5s cubic-bezier(.2,.7,.1,1)}.graph>div:last-child b{background:var(--acid);border-right:1px solid var(--ink)}.calculator-output small{display:block;margin-top:30px;color:#77766f;font-size:9px;line-height:1.45}
.closing{max-width:var(--max);margin:0 auto;padding:clamp(90px,9vw,150px) var(--pad);display:grid;grid-template-columns:150px 1fr auto;gap:50px;align-items:end;border-top:1px solid var(--line)}.closing-badge{width:130px;height:130px;background:var(--acid);border:1px solid var(--ink);padding:17px}.closing-badge img{object-fit:contain}.closing-copy h2{font-size:clamp(48px,5vw,84px)}.closing-copy p:last-child{font-size:14px;line-height:1.65;color:#5d5c55;max-width:620px}.closing-cta{min-height:50px;background:var(--ink);color:var(--bone);padding:0 18px;display:inline-flex;align-items:center;text-transform:uppercase;font-size:9px;letter-spacing:.13em;font-weight:800}
footer{max-width:var(--max);margin:0 auto;padding:45px var(--pad) 60px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto auto;gap:50px;align-items:end}footer>div{display:grid;gap:6px}footer>div strong{font-size:20px}footer>div span,footer p,footer a{font-size:9px;letter-spacing:.11em;color:#6e6d65}footer p{margin:0}footer a{border-bottom:1px solid var(--ink);padding-bottom:5px;color:var(--ink);text-transform:uppercase}
.tour-panel{position:fixed;right:14px;top:90px;bottom:14px;width:332px;background:var(--ink);color:var(--bone);z-index:140;border:1px solid rgba(255,255,255,.14);box-shadow:0 28px 90px rgba(0,0,0,.25);transform:translateX(calc(100% + 24px));transition:.35s cubic-bezier(.2,.7,.1,1);display:grid;grid-template-rows:auto auto 1fr auto}.tour-panel.open{transform:none}.tour-panel-top{display:flex;justify-content:space-between;align-items:center;padding:14px 15px}.tour-panel-top span{font-size:8px;letter-spacing:.18em;color:#999890}.tour-panel-top button{border:0;background:none;color:#999890;text-transform:uppercase;font-size:8px;letter-spacing:.13em}.tour-meter{height:3px;background:#2b2b27}.tour-meter i{display:block;height:100%;width:16.6%;background:var(--acid);transition:.3s}.tour-panel-body{padding:22px 18px;overflow:auto}.tour-label{font-size:8px;letter-spacing:.18em;color:var(--acid);font-weight:800}.tour-panel h3{font-size:32px;line-height:1;letter-spacing:-.04em;margin:12px 0 32px}.tour-explain{padding:18px 0;border-top:1px solid rgba(255,255,255,.13)}.tour-explain span{display:block;font-size:8px;letter-spacing:.17em;color:#8f8e87;margin-bottom:8px}.tour-explain p{margin:0;font-size:12px;line-height:1.55;color:#d2d1ca}.tour-panel-actions{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.14)}.tour-panel-actions button{height:50px;border:0;border-right:1px solid rgba(255,255,255,.14);background:transparent;color:var(--bone);font-size:8px;text-transform:uppercase;letter-spacing:.13em}.tour-panel-actions button:last-child{border-right:0;background:var(--acid);color:var(--ink);font-weight:800}
.parallax{will-change:transform}
@media (max-width:1250px){body.tour-open{padding-right:0}.tour-panel{width:320px}.site-header{grid-template-columns:1fr auto}.desktop-nav{display:none}.hero{grid-template-columns:.9fr 1.1fr;gap:35px}.project-reel{grid-template-columns:1.15fr .85fr}.project-card:last-child{grid-column:1/-1;height:360px}.closing{grid-template-columns:120px 1fr}.closing-cta{grid-column:2;justify-self:start}}
@media (max-width:900px){.site-header{height:70px;padding:0 20px}.brand{width:135px}.header-cta,.tour-trigger{display:none}.menu-toggle{display:block}.mobile-menu{position:fixed;inset:70px 0 0;background:var(--bone);z-index:95;padding:38px 20px;flex-direction:column;gap:24px}.mobile-menu.open{display:flex}.mobile-menu a{font-size:28px;letter-spacing:-.03em;border-bottom:1px solid var(--line);padding-bottom:15px}.intro-strip{padding:10px 20px}.hero{height:auto;min-height:0;padding:38px 20px 50px;grid-template-columns:1fr;gap:34px}.hero h1{font-size:clamp(52px,11vw,78px)}.hero-art{height:560px;min-height:0}.hero-footnote{display:none}.service-content,.process-board,.quote,.calculator-grid{grid-template-columns:1fr}.service-photo{min-height:420px;border-right:0;border-bottom:1px solid var(--ink)}.project-reel{grid-template-columns:1fr 1fr}.project-wide{grid-column:1/-1}.project-card{height:430px}.process-intro,.work-top,.calculator-head{grid-template-columns:1fr}.process-intro .eyebrow{grid-column:auto;margin-bottom:0}.process-photo{min-height:430px;border-right:0;border-bottom:1px solid var(--ink)}.faq-zone{grid-template-columns:1fr;gap:28px}.ecosystem-head{grid-template-columns:1fr}.ecosystem-map{height:560px}.source{width:110px}.source-d,.source-e{display:none}.ecosystem-core{width:220px;height:190px}.quote{gap:35px}.quote-photo{display:none}.quote-form{min-height:560px}.closing{grid-template-columns:100px 1fr;gap:30px}.closing-cta{grid-column:2}.tour-panel{left:12px;right:12px;top:auto;bottom:12px;width:auto;height:auto;max-height:54vh;transform:translateY(calc(100% + 22px));grid-template-rows:auto auto 1fr auto}.tour-panel.open{transform:none}.tour-panel h3{font-size:24px;margin-bottom:18px}.tour-panel-body{padding:14px 16px}.tour-explain{padding:11px 0}.tour-explain:nth-of-type(3){display:none}}
@media (max-width:560px){.site-header{padding:0 16px}.intro-strip{padding:10px 16px;gap:15px}.intro-strip p{font-size:9px}.intro-strip button{font-size:7px;text-align:right}.hero{padding:30px 16px 38px}.hero h1{font-size:14vw}.hero-lede{font-size:14px;margin-top:20px}.hero-actions{display:grid}.button{width:100%}.hero-art{height:430px}.hero-photo{inset:0 12% 8% 0}.hero-photo-small{width:34%;height:42%;border-width:5px}.hero-badge{width:95px;height:95px;padding:11px}.hero-stamp{width:170px;padding:12px}.hero-stamp strong{font-size:13px}.motion-rail{height:50px}.services,.process,.calculator{padding:68px 16px}.section-heading{grid-template-columns:1fr;gap:12px;margin-bottom:38px}.section-heading h2,.work-top h2,.process-intro h2,.ecosystem-head h2,.quote-copy h2,.calculator-head h2,.closing-copy h2{font-size:12vw}.service-tabs{grid-template-columns:1fr 1fr}.service-tab:nth-child(2){border-right:0}.service-tab:nth-child(-n+2){border-bottom:1px solid var(--ink)}.service-tab{height:64px}.service-photo{min-height:300px}.service-copy{padding:28px 20px 34px}.service-copy h3{font-size:10vw}.logic-line{grid-template-columns:1fr}.logic-line div,.logic-line div+div{padding:18px 0;border-right:0;border-bottom:1px solid var(--line);min-height:0}.work,.ecosystem,.quote{padding:68px 16px}.project-reel{grid-template-columns:1fr;gap:9px}.project-wide,.project-card:last-child{grid-column:auto}.project-card{height:390px}.project-caption{transform:none;padding-top:70px}.proof-band{grid-template-columns:1fr}.proof-number{border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}.proof-number,.proof-copy{padding:24px 0}.process-board{border-left:0;border-right:0}.process-photo{min-height:330px}.process-step{padding:20px 16px;grid-template-columns:42px 1fr;min-height:125px}.process-step>span{font-size:25px}.process-step strong{font-size:19px}.faq-title strong{font-size:22px}.ecosystem-map{height:500px}.source{width:90px;height:46px;font-size:7px}.source-a{left:3%;top:8%}.source-b{left:3%;top:42%}.source-c{left:3%;top:76%}.ecosystem-core{width:175px;height:165px;left:58%}.ecosystem-core img{width:55px;height:55px}.ecosystem-core strong{font-size:22px}.ecosystem-result{width:120px;height:72px;right:4%;top:88%}.ecosystem-core::after{display:none}.flow-a,.flow-b,.flow-c{width:35%}.ecosystem-caption{display:block}.ecosystem-caption span{display:inline-block;margin-bottom:12px}.quote-form{padding:22px 16px;min-height:520px}.form-screen{padding-top:30px}.form-screen>p{font-size:10vw}.form-choices{grid-template-columns:1fr}.form-choices button{height:64px;border-right:0!important;border-bottom:0!important}.form-choices button:last-child{border-bottom:1px solid var(--line)!important}.two-col{grid-template-columns:1fr;gap:0}.calculator-grid{margin-top:40px}.scenario-switch{grid-template-columns:1fr}.scenario-switch button{border-right:0;border-bottom:1px solid var(--ink)}.metric{display:block}.metric strong{display:block;margin-top:9px;font-size:12vw}.graph>div{grid-template-columns:72px 1fr 42px;gap:8px}.graph span,.graph>div>strong{font-size:7px}.closing{padding:68px 16px;grid-template-columns:70px 1fr;gap:20px}.closing-badge{width:70px;height:70px;padding:9px}.closing-cta{grid-column:1/-1;width:100%;justify-content:center}.closing-copy p:last-child{font-size:13px}footer{padding:38px 16px 46px;grid-template-columns:1fr;gap:22px}.tour-panel{left:8px;right:8px;bottom:8px;max-height:60vh}.tour-panel-top{padding:10px 12px}.tour-panel-body{padding:11px 12px}.tour-panel h3{font-size:21px}.tour-explain p{font-size:11px}.tour-panel-actions button{height:44px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}


/* =========================================================
   BWB STUDIO MONOCHROME PASS
   ========================================================= */


:root{
  --ink:#080808;
  --bone:#f2f2ee;
  --paper:#fbfbf8;
  --soft:#d7d7d1;
  --muted:#696964;
  --acid:#bdbdb7;
  --line:rgba(8,8,8,.13);
}

body{
  font-family:"Manrope","Helvetica Neue",Helvetica,Arial,sans-serif;
  background:var(--bone);
  letter-spacing:-.006em;
}

::selection{background:var(--ink);color:var(--bone)}

.page-progress i{
  background:linear-gradient(90deg,#4b4b48,#f2f2ee);
}

.site-header{
  background:rgba(242,242,238,.94);
  border-bottom:1px solid rgba(8,8,8,.10);
  box-shadow:0 8px 28px rgba(0,0,0,.025);
}

.tour-trigger{
  background:rgba(255,255,255,.5);
  border-color:rgba(8,8,8,.22);
}

.tour-trigger span{
  background:var(--ink);
  border:0;
}

.intro-strip{background:var(--bone)}

.hero{
  max-width:none;
  height:min(61vh,620px);
  min-height:520px;
  color:var(--bone);
  background:
    radial-gradient(circle at 78% 16%,rgba(255,255,255,.055),transparent 28%),
    linear-gradient(145deg,#080808,#111 58%,#080808);
  padding-left:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));
  padding-right:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));
  border-bottom:1px solid #20201e;
}

.hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(90deg,transparent,black 40%);
}

.hero h1,
.section-heading h2,
.work-top h2,
.process-intro h2,
.ecosystem-head h2,
.quote-copy h2,
.calculator-head h2,
.closing-copy h2{
  font-family:"Manrope","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-weight:650;
  letter-spacing:-.068em;
}

.hero h1 span,
.section-heading h2 em,
.work-top h2 em,
.process-intro h2 em,
.ecosystem-head h2 em,
.quote-copy h2 em{
  font-family:"Instrument Serif",Georgia,serif;
  font-weight:400;
  font-style:italic;
  letter-spacing:-.035em;
}

.hero h1 span{color:#c7c7c1}
.hero .eyebrow{color:#92928c}
.hero-lede{color:#b6b6b0}
.hero-footnote p{color:#969690;font-family:"Instrument Serif",Georgia,serif}

.hero .button-dark{
  background:var(--bone);
  color:var(--ink);
  border-color:var(--bone);
}

.hero .button-dark:hover{background:#fff}

.hero .button-line{
  color:var(--bone);
  border-color:#62625e;
}

.hero .button-line:hover{background:rgba(255,255,255,.06)}

.hero-footnote span{
  background:transparent;
  color:#b7b7b1;
  border-color:#444440;
}

.hero-photo img,
.hero-photo-small img,
.service-photo img,
.project-card img,
.process-photo img,
.quote-photo img{
  filter:grayscale(1) contrast(1.08) brightness(.93);
}

.hero-photo-small{
  border-color:#111;
  box-shadow:0 24px 70px rgba(0,0,0,.28);
}

.hero-badge{
  background:#f2f2ee;
  border-color:#2c2c29;
  box-shadow:0 18px 60px rgba(0,0,0,.26);
}

.hero-stamp{
  background:rgba(8,8,8,.94);
  border:1px solid #3b3b38;
  box-shadow:0 18px 58px rgba(0,0,0,.25);
}

.hero-stamp span{color:#94948e}

.motion-rail{
  background:#f8f8f5;
  color:#111;
  border-color:var(--line);
}

.motion-track i{background:#81817b}

.section-heading h2 em,
.process-intro h2 em,
.ecosystem-head h2 em,
.quote-copy h2 em{color:#74746f}

.service-console,
.process-board,
.calculator-output,
.quote-form{
  background:#f9f9f6;
  box-shadow:0 18px 60px rgba(0,0,0,.045);
}

.service-tab.active{
  background:#0a0a0a;
  color:#f2f2ee;
}

.service-tab.active span{color:#a4a49e}

.work{
  background:
    radial-gradient(circle at 14% 12%,rgba(255,255,255,.035),transparent 22%),
    #090909;
}

.work-top h2 em{color:#aaa9a3}

.project-card{
  border:1px solid #282826;
}

.project-caption span,
.proof-copy span{
  color:#aaa9a3;
}

.project-card:hover img{
  filter:grayscale(1) contrast(1.12) brightness(.98);
}

.process-label{
  background:#0a0a0a;
  color:#f2f2ee;
  border-color:#0a0a0a;
}

.process-label span{color:#aaa9a4}

.process-step.active{
  background:#0a0a0a;
  color:#f2f2ee;
}

.process-step.active p,
.process-step.active span{color:#aaa9a3}

.ecosystem{
  background:#101010;
  color:#f2f2ee;
}

.ecosystem-map{
  background:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
    #0b0b0b;
  border-color:#343432;
}

.source{
  background:#171717;
  border-color:#4a4a46;
  color:#d4d4ce;
}

.source::after{background:#777771}

.ecosystem-core,
.ecosystem-result{
  background:#f2f2ee;
  color:#080808;
  border-color:#f2f2ee;
}

.ecosystem-core{box-shadow:0 20px 80px rgba(0,0,0,.34)}

.ecosystem-map .flow{border-top-color:#81817c}

.calculator-controls label strong{
  background:#0b0b0b;
  color:#f2f2ee;
}

.scenario-switch button.active{
  background:#0b0b0b;
  color:#f2f2ee;
}

.graph>div:last-child b{
  background:#777771;
  border-right:0;
}

.closing-badge{
  background:#0b0b0b;
  border-color:#0b0b0b;
}

.closing-badge img{filter:invert(1)}

.tracked-section.tour-current{
  outline:none;
  box-shadow:inset 0 0 0 1px rgba(100,100,95,.5);
}

.work.tour-current,
.ecosystem.tour-current{
  box-shadow:inset 0 0 0 1px rgba(242,242,238,.26);
}

.tour-panel{
  background:rgba(8,8,8,.975);
  border-color:#343431;
  box-shadow:0 32px 100px rgba(0,0,0,.36);
}

.tour-meter{background:#252523}
.tour-meter i{background:linear-gradient(90deg,#686863,#f2f2ee)}
.tour-label{color:#a2a29c}

.tour-panel-actions button:last-child{
  background:#f2f2ee;
  color:#080808;
}

.button,
.header-cta,
.tour-trigger,
.service-tab,
.process-step,
.scenario-switch button,
.closing-cta{
  transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .25s ease;
}

.button:hover,
.header-cta:hover,
.closing-cta:hover{transform:translateY(-1px)}

.service-console,
.process-board,
.calculator-output{
  transition:box-shadow .35s ease,transform .35s ease;
}

.service-console:hover,
.process-board:hover,
.calculator-output:hover{
  box-shadow:0 22px 72px rgba(0,0,0,.075);
}

@media (max-width:900px){
  .mobile-menu{
    background:rgba(242,242,238,.985);
    backdrop-filter:blur(16px);
  }

  .hero{
    background:
      radial-gradient(circle at 86% 8%,rgba(255,255,255,.05),transparent 30%),
      #090909;
  }

  .hero-art{height:500px}
}

@media (max-width:560px){
  .hero{padding-top:28px}
  .hero-art{height:410px}
  .project-card img,
  .process-photo img,
  .service-photo img{
    filter:grayscale(1) contrast(1.07) brightness(.95);
  }
}


/* =========================================================
   REBALANCED SECTIONS — services / process / ecosystem
   ========================================================= */

/* SERVICES: fixed premium placeholder, no image jumps */
.service-content{
  grid-template-columns:1.02fr .98fr;
  min-height:500px;
}

.service-placeholder{
  position:relative;
  min-height:500px;
  overflow:hidden;
  border-right:1px solid var(--ink);
  background:
    linear-gradient(135deg,rgba(8,8,8,.025),rgba(8,8,8,0) 48%),
    #ededE8;
  transition:opacity .18s ease,background-color .18s ease;
}

.service-placeholder.switching{
  opacity:.72;
}

.placeholder-grid{
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(8,8,8,.065) 1px,transparent 1px),
    linear-gradient(90deg,rgba(8,8,8,.065) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(135deg,black,rgba(0,0,0,.14));
}

.placeholder-index{
  position:absolute;
  top:22px;
  left:24px;
  font-family:"Instrument Serif",Georgia,serif;
  font-size:54px;
  color:#232320;
}

.placeholder-mark{
  position:absolute;
  width:144px;
  height:104px;
  left:50%;
  top:44%;
  transform:translate(-50%,-50%);
  border:1px solid rgba(8,8,8,.32);
}

.placeholder-mark::before{
  content:"";
  position:absolute;
  width:26px;height:26px;
  border:1px solid rgba(8,8,8,.32);
  border-radius:50%;
  top:20px;left:23px;
}

.placeholder-mark i{
  position:absolute;
  left:20px;right:20px;
  bottom:25px;
  height:1px;
  background:#44443f;
  transform-origin:left center;
}

.placeholder-mark i:first-child{transform:rotate(-18deg)}
.placeholder-mark i:last-child{left:61px;transform:rotate(22deg)}

.placeholder-copy{
  position:absolute;
  left:24px;
  right:24px;
  bottom:38px;
  max-width:430px;
}

.placeholder-copy span,
.service-placeholder>small{
  font-size:8px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:700;
  color:#777771;
}

.placeholder-copy strong{
  display:block;
  margin:9px 0 8px;
  font-size:clamp(25px,2.5vw,40px);
  line-height:1;
  letter-spacing:-.045em;
}

.placeholder-copy p{
  margin:0;
  font-size:12px;
  line-height:1.55;
  color:#65655f;
}

.service-placeholder>small{
  position:absolute;
  right:20px;
  top:23px;
}

.service-photo{display:none!important}


/* PROCESS: editorial split instead of giant floating heading */
.process-intro{
  display:grid;
  grid-template-columns:minmax(0,1.16fr) minmax(320px,.84fr);
  gap:clamp(48px,8vw,130px);
  align-items:end;
  margin-bottom:62px;
}

.process-heading-block .eyebrow{
  margin-bottom:20px;
}

.process-heading-block h2{
  max-width:900px;
}

.process-principle{
  padding:4px 0 8px 30px;
  border-left:1px solid #8a8a84;
  align-self:end;
}

.process-principle>span{
  display:block;
  margin-bottom:16px;
  font-size:8px;
  letter-spacing:.18em;
  font-weight:700;
  color:#777771;
}

.process-principle>strong{
  display:block;
  font-family:"Instrument Serif",Georgia,serif;
  font-weight:400;
  font-size:clamp(30px,3vw,48px);
  line-height:1.02;
  letter-spacing:-.035em;
}

.process-principle>p{
  max-width:500px;
  margin:20px 0 0;
  font-size:13px;
  line-height:1.65;
  color:#62625d;
}

.process-board{
  grid-template-columns:.98fr 1.02fr;
}

.process-photo{
  min-height:520px;
}

.process-step{
  padding:26px 30px;
}

.faq-zone{
  grid-template-columns:.82fr 1.18fr;
  gap:clamp(42px,7vw,100px);
  margin-top:58px;
}


/* ECOSYSTEM: clean monochrome system diagram */
.ecosystem{
  background:#0b0b0b;
  color:#f2f2ee;
}

.ecosystem-head{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:clamp(32px,5vw,74px);
  align-items:start;
}

.ecosystem-heading-copy{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);
  gap:clamp(34px,5vw,70px);
  align-items:end;
}

.ecosystem-heading-copy h2{
  color:#f2f2ee;
}

.ecosystem-heading-copy h2 em{
  color:#a3a39d;
}

.ecosystem-heading-copy>p{
  margin:0 0 6px;
  max-width:520px;
  font-size:14px;
  line-height:1.7;
  color:#aaa9a3;
}

.ecosystem-system{
  display:grid;
  grid-template-columns:minmax(220px,.72fr) 100px minmax(310px,1fr) 100px minmax(230px,.72fr);
  gap:20px;
  align-items:center;
  margin-top:64px;
  padding:34px;
  border:1px solid #383835;
  background:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
    #0e0e0e;
  background-size:40px 40px;
}

.system-label{
  display:block;
  margin-bottom:14px;
  font-size:8px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#83837d;
  font-weight:700;
}

.channel-column{
  display:grid;
  gap:8px;
}

.channel-card{
  min-height:64px;
  display:grid;
  grid-template-columns:36px 1fr;
  gap:12px;
  align-items:center;
  padding:10px 12px;
  border:1px solid #343431;
  background:#131313;
}

.channel-card>b{
  font-family:"Instrument Serif",Georgia,serif;
  font-size:19px;
  font-weight:400;
  color:#777771;
}

.channel-card strong{
  display:block;
  font-size:12px;
  color:#efefe9;
}

.channel-card span{
  display:block;
  margin-top:3px;
  font-size:9px;
  color:#777771;
}

.system-flow{
  position:relative;
  height:120px;
}

.system-flow::before{
  content:"";
  position:absolute;
  left:0;right:0;top:50%;
  height:1px;
  background:#5d5d58;
}

.system-flow i{
  position:absolute;
  top:50%;
  width:5px;height:5px;
  margin-top:-2px;
  background:#d0d0ca;
  animation:monoFlow 2.8s linear infinite;
}

.system-flow i:nth-child(2){animation-delay:.9s}
.system-flow i:nth-child(3){animation-delay:1.8s}

@keyframes monoFlow{
  from{left:0;opacity:0}
  14%{opacity:1}
  86%{opacity:1}
  to{left:calc(100% - 5px);opacity:0}
}

.website-hub,
.enquiry-result{
  align-self:stretch;
}

.hub-window{
  min-height:330px;
  height:100%;
  border:1px solid #f2f2ee;
  background:#f2f2ee;
  color:#080808;
  box-shadow:0 24px 90px rgba(0,0,0,.28);
}

.hub-bar{
  height:38px;
  display:flex;
  gap:6px;
  align-items:center;
  padding:0 12px;
  border-bottom:1px solid rgba(8,8,8,.12);
}

.hub-bar i{
  width:6px;height:6px;
  border:1px solid #080808;
  border-radius:50%;
}

.hub-content{
  min-height:290px;
  padding:34px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}

.hub-content img{
  width:180px;
  height:auto;
  object-fit:contain;
  margin-bottom:38px;
}

.hub-content>span{
  font-size:8px;
  letter-spacing:.18em;
  font-weight:700;
  color:#6d6d67;
}

.hub-content>strong{
  margin-top:8px;
  font-size:clamp(38px,3.5vw,56px);
  line-height:.9;
  letter-spacing:-.055em;
}

.hub-content>p{
  max-width:300px;
  margin:18px 0 0;
  color:#62625d;
  font-size:12px;
  line-height:1.55;
}

.result-card{
  min-height:240px;
  padding:26px;
  border:1px solid #565650;
  background:#171717;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.result-card>span{
  font-size:8px;
  letter-spacing:.18em;
  color:#8f8f89;
}

.result-card>strong{
  margin-top:12px;
  font-family:"Instrument Serif",Georgia,serif;
  font-weight:400;
  font-size:34px;
  line-height:1;
  color:#f2f2ee;
}

.result-lines{
  display:grid;
  gap:7px;
  margin:24px 0;
}

.result-lines i{
  height:1px;
  background:#4c4c48;
}

.result-lines i:nth-child(1){width:100%}
.result-lines i:nth-child(2){width:78%}
.result-lines i:nth-child(3){width:56%}

.result-card small{
  font-size:9px;
  color:#797973;
}

.ecosystem-caption{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  margin-top:28px;
  border-top:1px solid #454541;
  border-bottom:1px solid #454541;
  padding:0;
}

.ecosystem-caption div{
  min-height:100px;
  padding:24px 26px 24px 0;
  border-right:1px solid #373734;
}

.ecosystem-caption div+div{
  padding-left:26px;
}

.ecosystem-caption div:last-child{
  border-right:0;
}

.ecosystem-caption span{
  display:block;
  margin-bottom:9px;
  font-size:8px;
  letter-spacing:.17em;
  color:#85857f;
}

.ecosystem-caption strong{
  font-size:14px;
  line-height:1.4;
  color:#e2e2dc;
}


/* Responsive balance */
@media (max-width:1100px){
  .ecosystem-system{
    grid-template-columns:minmax(190px,.7fr) 56px minmax(280px,1fr) 56px minmax(190px,.7fr);
    padding:24px;
    gap:12px;
  }
}

@media (max-width:900px){
  .process-intro{
    grid-template-columns:1fr;
    gap:34px;
    margin-bottom:42px;
  }

  .process-principle{
    max-width:680px;
  }

  .service-content{
    grid-template-columns:1fr;
  }

  .service-placeholder{
    min-height:390px;
    border-right:0;
    border-bottom:1px solid var(--ink);
  }

  .ecosystem-head,
  .ecosystem-heading-copy{
    grid-template-columns:1fr;
  }

  .ecosystem-heading-copy{
    gap:24px;
  }

  .ecosystem-heading-copy>p{
    margin:0;
  }

  .ecosystem-system{
    grid-template-columns:1fr;
    gap:18px;
    padding:20px;
  }

  .system-flow{
    height:54px;
  }

  .system-flow::before{
    left:50%;
    right:auto;
    top:0;
    bottom:0;
    width:1px;
    height:auto;
  }

  .system-flow i{
    left:50%!important;
    margin-left:-2px;
    top:0;
    animation:monoFlowVertical 2.8s linear infinite;
  }

  @keyframes monoFlowVertical{
    from{top:0;opacity:0}
    14%{opacity:1}
    86%{opacity:1}
    to{top:calc(100% - 5px);opacity:0}
  }

  .ecosystem-caption{
    grid-template-columns:1fr;
  }

  .ecosystem-caption div,
  .ecosystem-caption div+div{
    padding:18px 0;
    border-right:0;
    border-bottom:1px solid #373734;
  }

  .ecosystem-caption div:last-child{
    border-bottom:0;
  }
}

@media (max-width:560px){
  .process-principle{
    padding-left:20px;
  }

  .process-principle>strong{
    font-size:31px;
  }

  .service-placeholder{
    min-height:330px;
  }

  .placeholder-mark{
    width:112px;
    height:82px;
  }

  .placeholder-copy strong{
    font-size:27px;
  }

  .ecosystem-system{
    margin-top:40px;
    padding:14px;
  }

  .channel-card{
    min-height:58px;
  }

  .hub-window{
    min-height:290px;
  }

  .hub-content{
    min-height:250px;
    padding:26px 22px;
  }

  .hub-content img{
    width:150px;
    margin-bottom:28px;
  }
}
