/* Shared shapes and colors follow the four segments of Tectika's supplied mark. */
:root {
  color-scheme:dark;
  --bg:#101114; --surface:#1a1b20; --ink:#f8f9fc; --dim:#c0c3cd;
  --paper:#f6f7fa; --paper-ink:#17191f; --paper-dim:#505562;
  --line:#ffffff30; --paper-line:#17191f29;
  --cyan:#00cbbb; --violet:#7c40ff; --pink:#ff1688; --amber:#ffc400;
  --cyan-ink:#006c64; --violet-ink:#5921c5; --pink-ink:#b60859; --amber-ink:#785600;
  --pad:clamp(24px,4.4vw,88px); --body:clamp(18px,1.3vw,20px);
  --journey-height:88px; --chapter-accent:var(--cyan); --circle-turn:0deg;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--journey-height) + 24px)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:var(--body);line-height:1.65;-webkit-font-smoothing:antialiased}
body[data-chapter="1"]{--chapter-accent:#b596ff;--circle-turn:-90deg}
body[data-chapter="2"]{--chapter-accent:#ff5eaa;--circle-turn:-180deg}
body[data-chapter="3"]{--chapter-accent:var(--amber);--circle-turn:-270deg}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:550;line-height:1.12;letter-spacing:-.045em}
h2{font-size:clamp(42px,4.6vw,76px)}
h3{font-size:28px}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
button,a,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--accent,var(--cyan));outline-offset:5px}
p{line-height:1.65}
em{font-style:normal;color:var(--accent,var(--cyan))}
svg{display:block;width:100%;height:100%;overflow:visible}
.brand-definitions{position:absolute;overflow:hidden;pointer-events:none}
.brand-fragment{width:100%;height:100%}
.muted{color:var(--dim)}
.section-padding{padding:100px var(--pad)}
.section-label{display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:14px;font-weight:600;letter-spacing:.06em;line-height:1.6;color:var(--dim);margin-bottom:52px}
.section-label>span:first-child{display:flex;align-items:center;gap:14px;white-space:nowrap}
.chapter-fragment{width:30px;height:30px;flex:0 0 30px}
.section-label>span:last-child{text-align:right}
.eyebrow{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;letter-spacing:.06em;line-height:1.6}
.status-dot{width:12px;height:12px;flex:0 0 12px;border:3px solid var(--accent,var(--cyan));border-radius:50%}
.skip-link{position:fixed;left:16px;top:-100px;padding:12px 18px;background:var(--paper);color:var(--paper-ink);z-index:99;font-size:18px}
.skip-link:focus{top:16px}
.site-header{position:absolute;inset:0 0 auto;height:112px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;gap:32px;z-index:45}
.wordmark{display:inline-flex;align-items:center;gap:12px;font-size:36px;font-weight:650;letter-spacing:-.05em;line-height:1;flex-shrink:0}
.wordmark img{width:40px;height:40px;object-fit:contain;flex-shrink:0}
.brand-period,.layer-core strong span{color:var(--cyan)}
.site-header nav{display:flex;align-items:center;gap:30px}
.site-header nav a{font-size:18px;font-weight:500;color:#e7e7ee;padding:12px 0;white-space:nowrap}
.site-header nav a:hover{color:var(--cyan)}
.nav-contact{display:flex;align-items:center;gap:22px;font-size:18px;font-weight:600;min-height:48px;white-space:nowrap}
.nav-contact span{font-size:24px}
.menu-toggle{display:none}
.hero{--accent:var(--cyan);position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;min-height:max(830px,100svh);padding:180px var(--pad) 145px}
.hero-art{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.hero-photo,.hero-video{display:block;width:100%;height:100%;object-fit:cover;object-position:58% 52%}
.hero-video{position:absolute;inset:0;opacity:0;transition:opacity .6s ease}
.hero-video.is-playing{opacity:1}
.art-shade{position:absolute;inset:0;background:linear-gradient(90deg,#101114e8 0%,#101114ad 38%,#10111419 76%),linear-gradient(180deg,#10111480,transparent 30%,transparent 60%,#101114e8)}
.hero-copy{width:min(880px,76%);position:relative}
h1{font-size:clamp(68px,7.8vw,138px);line-height:1.02;letter-spacing:-.055em;margin-top:27px}
.work-word{color:var(--cyan);font:inherit;letter-spacing:inherit}
.hero-description{font-size:20px;max-width:630px;color:#edeef3;margin-top:30px;line-height:1.7}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:28px 36px;margin-top:38px}
/* Text-first capsules keep the same shape, size, and label on every screen. */
.cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:58px;max-width:100%;padding:15px 28px;border:1px solid transparent;border-radius:999px;background:var(--cta-bg,var(--cyan));color:var(--cta-ink,var(--bg));font-size:18px;font-weight:600;line-height:1.4;text-align:center;cursor:pointer;transition:background .25s,border-color .25s,transform .25s;white-space:normal}
.cta:hover{transform:translateY(-2px);filter:brightness(1.07)}
.cta-secondary{background:transparent;border-color:currentColor;color:inherit}
.cta-secondary:hover{background:#ffffff0c;filter:none}
.intro .cta,.capabilities .cta{--cta-bg:var(--accent);--cta-ink:#fff}
.intro-text>.cta{margin-top:28px}
.work .cta{--cta-bg:#ff71b2;--cta-ink:var(--bg)}
.work .cta-secondary{color:#ffc1dc;border-color:#ff71b260}
.work .cta-secondary:hover{background:#ff71b212;border-color:#ff71b2}
.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}
.hero-bottom{position:absolute;left:var(--pad);right:var(--pad);bottom:0;min-height:90px;border-top:1px solid #ffffff4d;display:flex;align-items:center;gap:28px;font-size:14px;color:#e3e4eb}
.hero-bottom>a{margin-left:auto;display:flex;align-items:center;gap:18px;min-height:48px}
.hero-bottom>a span{font-size:24px}
.motion-toggle{display:flex;align-items:center;gap:9px;border:0;background:transparent;min-height:48px;padding:10px 0;font-size:16px;color:var(--ink)}
/* The same four chapter links remain in the same order at every width. */
.journey-nav{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:22px;height:var(--journey-height);padding:0 var(--pad);background:#101114f5;border-bottom:1px solid var(--line);backdrop-filter:blur(16px);color:var(--ink)}
.journey-home{width:58px;height:58px;flex:0 0 58px;display:grid;place-items:center;border-radius:50%}
.journey-ring,.orbit-mark{transform:rotate(var(--circle-turn));transition:transform 1.15s cubic-bezier(.22,1,.36,1)}
.journey-ring .ring-part{opacity:.22;transition:opacity .8s}
[data-chapter="0"] .journey-ring .ring-teal,[data-chapter="1"] .journey-ring .ring-violet,[data-chapter="2"] .journey-ring .ring-pink,[data-chapter="3"] .journey-ring .ring-amber{opacity:1}
.journey-caption{font-size:18px;color:var(--dim)}
.journey-links{display:flex;align-items:stretch;gap:38px;margin-left:auto;height:100%}
.journey-links a{display:flex;align-items:center;gap:10px;position:relative;font-size:18px;font-weight:500;min-height:48px;color:var(--dim);transition:color .4s}
.journey-links a>span{font-size:14px;opacity:.8}
.journey-links a:after{content:'';position:absolute;bottom:14px;left:0;width:100%;height:2px;transform:scaleX(0);transform-origin:left;background:var(--chapter-accent);transition:transform .5s,background .5s}
.journey-links [aria-current]{color:var(--chapter-accent)}
.journey-links [aria-current]:after{transform:scaleX(1)}
.journey-motion{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border:1px solid var(--line);border-radius:50%;font-size:18px;background:transparent;color:var(--dim)}
/* Color is assigned to a chapter, and shapes are always arcs or complete circles. */
.intro,.capabilities,.trust{background:var(--paper);color:var(--paper-ink);color-scheme:light}
.intro{--accent:var(--cyan-ink);--accent-bright:var(--cyan)}
.layer-scroll{--accent:var(--cyan);position:relative;background:var(--bg)}
.capabilities{--accent:var(--violet-ink);--accent-bright:var(--violet)}
.work{--accent:#ff71b2;--accent-bright:var(--pink);background:var(--surface)}
.trust{--accent:var(--amber-ink);--accent-bright:var(--amber)}
.intro .section-label,.capabilities .section-label,.trust .section-label{color:var(--paper-dim)}
.intro .muted,.capabilities .muted,.trust em{color:var(--accent)}
.intro-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:7vw;align-items:center}
.intro-text>p:first-child{font-size:28px;line-height:1.45;font-weight:500;letter-spacing:-.025em}
.intro-text>p:nth-child(2){font-size:20px;color:var(--paper-dim);max-width:600px;margin-top:24px}
.connection-emblem{position:relative;width:280px;height:280px;margin:42px 0 0;display:grid;place-items:center}
.connection-emblem .orbit-mark{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.connection-emblem>span{font-size:27px;line-height:1.15;letter-spacing:-.035em;text-align:center;position:relative}
.connection-emblem strong{font-weight:600;color:var(--accent)}

.principles{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin:64px 0 0;border-top:1px solid var(--paper-line);padding:36px 0 0}
.principles>li{display:flex;align-items:center;gap:18px;min-width:0}
.principle-symbol{width:48px;height:48px;flex:0 0 48px}
.principle-arc{animation:principle-orbit 14s linear infinite;transform-origin:center}
.principle-track{fill:none;stroke:var(--paper-ink);stroke-width:1.2;opacity:.12}
.principles p{font-size:18px;line-height:1.55;color:var(--paper-dim)}
.principles strong{display:block;font-weight:600;color:var(--paper-ink)}
.layer-sticky{padding-top:90px;padding-bottom:90px}
.layer-heading{display:flex;justify-content:space-between;align-items:end;gap:45px}
.layer-heading h2{font-size:clamp(42px,4.3vw,66px)}
.layer-heading>p{font-size:20px;line-height:1.65;color:var(--dim);max-width:410px}
.layer-diagram{display:grid;grid-template-columns:1fr .3fr 1.3fr .3fr 1fr;align-items:center;max-width:1450px;margin:58px auto;min-height:330px;position:relative}
.diagram-label{display:block;font-size:14px;font-weight:600;letter-spacing:.045em;color:var(--dim);margin-bottom:18px;line-height:1.5}
.diagram-input>div,.diagram-output>div{font-size:20px;padding:10px 0}
.layer-core{position:relative;display:grid;place-items:center;justify-self:center;width:290px;aspect-ratio:1}
.core-mark{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:rotate(var(--step-turn,0deg));transition:transform 1.1s cubic-bezier(.22,1,.36,1)}
.core-copy{position:relative;text-align:center}
.layer-core strong{display:block;font-size:42px;font-weight:650;line-height:1.2;letter-spacing:-.05em}
.layer-core small{display:block;font-size:18px;color:var(--dim);font-weight:500;margin-top:10px}
.connector{position:relative;height:1px;background:var(--line)}
.connector i{display:none}.connector i:nth-child(2){display:block;position:absolute;inset:0}
.connector i:after{content:'';position:absolute;left:0;top:-3px;width:7px;height:7px;background:var(--cyan);border-radius:50%;animation:flow 3s linear infinite}
.layer-scroll[data-active="1"]{--step-turn:-90deg}.layer-scroll[data-active="2"]{--step-turn:-180deg}
.layer-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;max-width:1450px;margin:auto}
.layer-step{display:grid;grid-template-columns:58px 1fr;align-items:center;align-content:start;gap:10px 18px;text-align:left;border:0;background:transparent;padding:16px 0;min-width:0}
.step-circle{grid-column:1;grid-row:1 / 3;position:relative;display:grid;place-items:center;width:58px;height:58px;font-size:16px;color:var(--dim);align-self:start}
.step-circle svg{position:absolute;inset:0;opacity:.25;transform:rotate(-30deg);transition:transform .7s,opacity .5s}
.step-circle>span{position:relative;font-size:14px;font-weight:600}
.layer-step strong{font-size:29px;font-weight:550;letter-spacing:-.035em;line-height:1.25;color:var(--dim)}
.layer-step small{grid-column:2;font-size:18px;font-weight:400;line-height:1.6;color:var(--dim)}
.layer-step>i{display:none}.layer-step.active strong{color:var(--ink)}.layer-step.active .step-circle svg{opacity:1;transform:rotate(0deg)}
.capabilities-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw}
.capabilities-heading p{font-size:20px;max-width:440px;color:var(--paper-dim);margin-top:28px}
.build-visual{margin:36px 0 0;max-width:560px}
.build-photo{position:relative;height:320px;overflow:hidden;border-radius:100px 12px 12px 12px;background:#172328}
.build-photo>img{width:100%;height:100%;object-fit:cover;object-position:center 54%;display:block}
.build-arc{position:absolute;right:-25px;bottom:-25px;width:150px;height:150px;transform:rotate(0deg);pointer-events:none}
.build-visual figcaption{padding:20px 0 0;border-bottom:1px solid var(--paper-line)}
.build-visual figcaption>span{display:block;color:var(--accent);font-size:14px;font-weight:600;letter-spacing:.045em}
.build-visual figcaption>p{font-size:20px;color:var(--paper-ink);line-height:1.5;margin:8px 0 20px;max-width:440px}
.capability-list details{border-top:1px solid var(--paper-line)}.capability-list details:last-child{border-bottom:1px solid var(--paper-line)}
.capability-list summary{list-style:none;display:flex;align-items:center;gap:22px;min-height:96px;padding:23px 0;cursor:pointer}
.capability-list summary::-webkit-details-marker{display:none}
.cap-num{font-size:16px;font-weight:600;color:var(--accent);width:28px;flex:0 0 28px}
.capability-list h3{font-size:28px;line-height:1.25;min-width:0;letter-spacing:-.025em}
.expand{position:relative;font-size:26px;margin-left:auto;flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--paper-line);color:var(--accent);line-height:1;transition:transform .45s,border-color .45s}
.capability-list details[open] .expand{transform:rotate(45deg);border-color:var(--accent)}
.capability-list details[open] h3{color:var(--accent)}
.detail-content{padding:0 12px 28px 50px}
.detail-content p{font-size:20px;line-height:1.65;color:var(--paper-dim);max-width:620px}
.detail-content>span{display:block;font-size:16px;color:var(--paper-dim);margin-top:18px;line-height:1.65}
.work-heading{margin-bottom:48px}
.work-heading p{font-size:20px;max-width:650px;color:var(--dim);margin-top:26px}
.work .muted{color:var(--accent)}
.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:30px}
.work-card{min-width:0}
.case-art{position:relative;height:300px;overflow:hidden;border-radius:110px 12px 12px 12px;background:var(--bg)}
.case-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s}
.case-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,#101114d9)}
.case-index{position:absolute;left:22px;right:22px;bottom:22px;font-size:14px;font-weight:600;letter-spacing:.035em;line-height:1.6;z-index:1;color:var(--ink)}
.customer-photo img{object-position:50% 49%}.municipal-photo img{object-position:50% 54%}.knowledge-photo img{object-position:50% 50%}
.work-card:hover .case-photo img{transform:scale(1.035)}
.case-copy{padding:28px 0 0}
.case-copy h3{font-size:32px;line-height:1.2;letter-spacing:-.035em;min-height:115px}
.case-copy>p{font-size:18px;color:var(--dim);line-height:1.65;min-height:125px;margin-top:18px}
.case-story{margin-top:25px}
.case-story summary{list-style:none;width:auto;font-size:18px}
.case-story summary::-webkit-details-marker{display:none}
.case-story .when-open{display:none}.case-story[open] .when-open{display:inline}.case-story[open] .when-closed{display:none}
.case-story-content{padding:27px 0 6px;animation:content-reveal .35s ease}
.case-story-content h4{font-size:18px;line-height:1.5;font-weight:600;margin:0 0 14px;color:var(--ink)}
.case-story-content ol{list-style:none;counter-reset:case-step;margin:0 0 24px;padding:0}
.case-story-content li{counter-increment:case-step;display:grid;grid-template-columns:25px 1fr;gap:10px;margin-top:13px;font-size:18px;color:var(--dim);line-height:1.6}
.case-story-content li:before{content:counter(case-step,decimal-leading-zero);color:var(--accent);font-size:14px;line-height:2.05}
.case-story-content p{font-size:18px;color:var(--dim);line-height:1.65}
.case-tools{display:block;font-size:14px;color:var(--accent);margin-top:24px;border-top:1px solid var(--line);padding-top:18px;line-height:1.8}
.work-next{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:65px;padding-top:38px;border-top:1px solid var(--line)}
.work-next .eyebrow{color:var(--accent)}.work-next h3{font-size:30px;line-height:1.25;margin-top:14px}.work-next .cta{flex-shrink:0}
.trust{background:#f8f7f2}
.trust-heading{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:end;margin-bottom:48px}
.trust-heading>p{font-size:24px;line-height:1.55;letter-spacing:-.02em;max-width:560px;color:var(--paper-dim)}
.trust-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;align-items:stretch}
.trust-visual{position:relative;margin:0;min-height:570px;overflow:hidden;border-radius:150px 16px 16px 16px;background:#14272f;isolation:isolate;color:var(--ink)}
.trust-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:35% center;z-index:-2}
.trust-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#10111400,#1011140d 25%,#101114f0 95%);z-index:-1}
.trust-arc{position:absolute;right:-32px;top:-32px;width:220px;height:220px;transform:rotate(180deg);opacity:.9}
.trust-visual figcaption{position:absolute;left:36px;right:28px;bottom:34px}
.trust-visual figcaption>span{font-size:14px;font-weight:600;letter-spacing:.04em;color:#ffdc70;line-height:1.6}
.trust-visual figcaption>p{font-size:46px;line-height:1.1;font-weight:500;letter-spacing:-.04em;margin-top:18px}
.environment-labels{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;font-size:14px;color:#f2e9ce}
.environment-labels span{padding:6px 12px;border:1px solid #ffe09b66;border-radius:999px}
.trust-principles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 30px}
.trust-principles article{border-top:1px solid #a17e372f;padding-top:22px}
.trust-number{display:grid;place-items:center;width:40px;height:40px;border:1px solid #b38d35;border-radius:50%;font-size:14px;color:var(--accent);font-weight:500}
.trust-principles h3{font-size:26px;line-height:1.25;letter-spacing:-.03em;margin-top:20px}
.trust-principles p{font-size:18px;line-height:1.65;color:var(--paper-dim);margin-top:16px}
.trust-operation{display:grid;grid-template-columns:.85fr 1.5fr;gap:48px;align-items:center;background:#eeeade;border-radius:28px;margin-top:42px;padding:36px}
.trust-operation .eyebrow{color:var(--accent)}
.trust-operation h3{font-size:28px;line-height:1.25;margin-top:14px}
.trust-operation>div>p{font-size:18px;line-height:1.6;color:var(--paper-dim);margin-top:12px}
.trust-operation ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;padding:0;margin:0}
.trust-operation li>span{display:block;font-size:14px;color:var(--accent);margin-bottom:16px;font-weight:600}
.trust-operation strong{font-size:18px;font-weight:600;line-height:1.4;display:block}
.trust-operation li p{font-size:16px;color:var(--paper-dim);margin-top:9px;line-height:1.6}
.platforms{margin-top:48px}
.platforms>span{font-size:14px;letter-spacing:.045em;font-weight:600;color:var(--paper-dim)}
.platforms ul{display:flex;flex-wrap:wrap;column-gap:32px;row-gap:16px;list-style:none;padding:22px 0 0;margin:0;font-size:20px;font-weight:500;letter-spacing:-.025em}
@keyframes content-reveal{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.contact{--accent:var(--cyan);position:relative;padding-top:100px;padding-bottom:70px}
.contact .eyebrow{color:var(--dim)}
.contact-row{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:40px}
.contact h2{font-size:clamp(76px,10vw,156px);line-height:1;letter-spacing:-.055em}
.contact h2>span{color:var(--cyan)}
.contact-cta{flex-shrink:0}

.contact-bottom{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-top:48px;font-size:20px}
.contact-bottom p{color:var(--dim)}
.contact-bottom>a{border-bottom:1px solid var(--line);padding:10px 0;font-size:20px;white-space:nowrap}
.site-footer{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin:0 var(--pad);padding:35px 0;min-height:115px;color:var(--dim);font-size:16px;border-top:1px solid var(--line)}
.site-footer .wordmark{color:var(--ink);font-size:30px;gap:10px}
.site-footer .wordmark img{width:34px;height:34px}
.site-footer>a:nth-of-type(2){margin-left:auto;min-height:44px;display:flex;align-items:center}
.site-footer small,.concept-label{font-size:14px;color:var(--dim)}
@keyframes principle-orbit{to{transform:rotate(360deg)}}
@keyframes flow{from{left:0;opacity:0}20%{opacity:1}80%{opacity:1}to{left:100%;opacity:0}}
.motion-paused .case-story-content{animation:none!important}
.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important;transition:none!important}
html:has(.motion-paused){scroll-behavior:auto}
@media(max-width:1200px){
 .site-header{gap:25px}.site-header nav{gap:23px}.site-header nav a{font-size:16px}
 .hero-copy{width:82%}.layer-heading{display:block}.layer-heading>p{max-width:none;margin-top:25px}
 .principles{grid-template-columns:1fr 1fr;gap:28px 40px}
 .journey-caption{display:none}.journey-links{margin-left:auto;gap:clamp(26px,5vw,64px)}
 .layer-core{width:250px}.layer-steps{gap:24px}.layer-step{grid-template-columns:50px 1fr;gap:10px 14px}.step-circle{width:50px;height:50px}.layer-step strong{font-size:27px}
 .capabilities-grid{gap:5vw;grid-template-columns:.75fr 1.25fr}.capability-list h3{font-size:25px}
 .work-heading{display:block}
 .trust-grid{grid-template-columns:1fr 1fr;gap:5vw}.trust h2{font-size:54px}
}
@media(max-width:1000px){
 .site-header nav{display:none;position:absolute;left:var(--pad);right:var(--pad);top:96px;flex-direction:column;align-items:stretch;gap:0;background:var(--bg);padding:22px 30px;border-radius:0 0 42px 42px;box-shadow:0 16px 30px #0005}
 .site-header nav.open{display:flex}.site-header nav a{font-size:22px;min-height:56px}
 .menu-toggle{display:block;min-height:48px;min-width:48px;flex-shrink:0;border:0;background:transparent;padding:0;font-size:16px;font-weight:500}
 .menu-toggle[aria-expanded="true"]{color:var(--cyan)}
 .nav-contact{margin-left:auto;gap:16px}.site-header{gap:25px}
 .hero-copy{width:90%}.hero h1{font-size:clamp(66px,8.7vw,95px)}
 .intro-grid{gap:5vw}.intro-text>p:first-child{font-size:25px}.connection-emblem{width:240px;height:240px}
 .layer-diagram{grid-template-columns:1fr .12fr 1.1fr .12fr 1fr}.layer-core{width:220px}.layer-core strong{font-size:34px}.diagram-input>div,.diagram-output>div{font-size:18px}
 .capabilities-grid{grid-template-columns:1fr;gap:40px}.capabilities-heading h2 br:nth-child(2){display:none}.capabilities-heading h2 .muted{display:block}.capabilities-heading p{max-width:620px}.capability-list h3{font-size:30px}
 .trust-grid{grid-template-columns:1fr;gap:40px}.trust h2{font-size:clamp(46px,6vw,66px)}
 .contact-bottom{align-items:start;flex-direction:column;gap:20px}
}
@media(max-width:760px){
 :root{--body:18px;--pad:24px;--journey-height:76px}
 h2{font-size:clamp(39px,7vw,56px);line-height:1.13}
 .section-padding{padding:65px var(--pad)}
 .section-label{font-size:14px;letter-spacing:.035em;align-items:start;margin-bottom:36px;gap:16px}.section-label>span:last-child{max-width:48%;font-weight:500}
 .site-header{height:96px;gap:18px}.wordmark{font-size:30px;gap:9px}.wordmark img{width:34px;height:34px}
 .nav-contact{font-size:16px;gap:12px}.nav-contact span{display:none}.site-header nav{top:86px}
 .hero{min-height:max(810px,100svh);padding:146px var(--pad) 133px;align-items:center}
 .hero-copy{width:100%}.hero .eyebrow{letter-spacing:.025em}
 .hero h1{font-size:clamp(48px,12.6vw,80px);line-height:1.05;margin-top:26px}
 .hero-description{font-size:18px;max-width:570px;margin-top:27px;line-height:1.7}
 .hero-actions{align-items:start;flex-direction:column;gap:22px;margin-top:30px}
 .hero-photo,.hero-video{object-position:56% 50%}.art-shade{background:linear-gradient(90deg,#101114c4,#10111459),linear-gradient(180deg,#10111460,#10111426 15%,#101114b3 65%,#101114ee)}
 .hero-bottom{min-height:82px;gap:16px;font-size:14px}.hero-bottom>span{display:none}.hero-bottom>a{margin-left:0;gap:12px}.motion-toggle{font-size:14px;margin-left:auto;gap:8px}
 .journey-nav{gap:14px;padding:0 18px}.journey-home{width:44px;height:44px;flex-basis:44px}.journey-links{justify-content:space-between;flex:1;gap:14px;margin:0}.journey-links a{font-size:16px;justify-content:center}.journey-links a>span{display:none}.journey-links a:after{bottom:15px}.journey-motion{width:40px;height:40px;flex-basis:40px;font-size:16px}
 .intro-grid{grid-template-columns:1fr;gap:36px}.intro-heading{display:flex;flex-direction:column;align-items:start}.connection-emblem{width:240px;height:240px;margin:36px auto 0}.connection-emblem>span{font-size:25px}.intro-text>p:first-child{font-size:25px}.intro-text>p:nth-child(2){font-size:18px;margin-top:22px}

 .principles{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:42px;padding-top:36px;gap:34px 20px}.principles>li{flex-direction:column;align-items:center;gap:16px;text-align:center}.principle-symbol{width:68px;height:68px;flex-basis:68px}.principles p{font-size:18px;line-height:1.5;max-width:230px}.principles strong{margin-top:4px}
 .layer-heading h2{font-size:clamp(38px,7vw,56px)}.layer-heading>p{font-size:18px;margin-top:25px}
 .layer-diagram{display:flex;flex-direction:column;align-items:center;gap:22px;min-height:0;margin:38px 0}
 .diagram-input,.diagram-output{text-align:center;width:100%}.diagram-label{font-size:14px;margin-bottom:12px}.diagram-input>div,.diagram-output>div{display:inline;font-size:18px;padding:0}.diagram-input>div+div:before,.diagram-output>div+div:before{content:' · ';color:var(--cyan);padding:0 5px}
 .layer-core{width:250px}.layer-core strong{font-size:38px}.layer-core small{font-size:18px}
 .connector{width:1px;height:28px}.connector i:after{animation:flow-down 3s linear infinite;top:0;left:-3px}
 .layer-steps{grid-template-columns:1fr;gap:12px}.layer-step{grid-template-columns:62px 1fr;gap:8px 20px;padding:14px 0}.step-circle{width:62px;height:62px}.layer-step strong{font-size:28px}.layer-step small{font-size:18px}
 .capabilities-heading p{font-size:18px;margin-top:24px}
 .capability-list summary{gap:14px;padding:22px 0;min-height:88px}.cap-num{flex-basis:25px;width:25px;font-size:15px}.capability-list h3{font-size:25px}.expand{flex-basis:40px;width:40px;height:40px;font-size:24px}
 .detail-content{padding:0 0 27px 39px}.detail-content p{font-size:18px}.detail-content>span{font-size:16px}
 .work-heading{margin-bottom:38px}.work-grid{grid-template-columns:1fr;gap:35px}.case-art{height:320px;border-radius:140px 140px 0 0}
 .case-photo .art-tag{font-size:14px;letter-spacing:.025em;left:20px;right:20px;bottom:20px}.case-copy{padding-top:22px;padding-bottom:18px}.case-copy h3{font-size:34px}.case-copy p{font-size:18px;margin-top:19px}

 .trust h2{font-size:clamp(42px,7vw,58px)}.trust-grid{gap:30px}
 .contact .eyebrow{font-size:14px;letter-spacing:.035em}.contact-row{gap:24px;align-items:center;margin-top:30px}.contact h2{font-size:clamp(49px,10.5vw,78px)}.contact-bottom{margin-top:32px;font-size:18px;gap:18px}.contact-bottom>a{font-size:18px}
 .site-footer{font-size:16px;gap:20px 24px;padding:30px 0}.site-footer .wordmark{font-size:30px}.site-footer .wordmark img{width:34px;height:34px}.site-footer>span:nth-child(2){flex-basis:100%}.site-footer>a:nth-of-type(2){margin-left:0}
}
@media(max-width:480px){
 .journey-motion{display:none}.journey-nav{gap:14px}.journey-links{gap:12px}
 .principles{gap:32px 18px}.principle-symbol{width:64px;height:64px;flex-basis:64px}
 .section-label{display:block}.section-label>span:last-child{display:block;max-width:none;text-align:left;margin-top:12px;padding-left:44px}
 .contact-row{align-items:start;flex-direction:column;gap:30px}.contact h2{font-size:clamp(57px,14vw,70px)}
}
@media(max-width:360px){
 :root{--pad:20px}.site-header{gap:8px}.wordmark{font-size:28px;gap:7px}.wordmark img{width:31px;height:31px}.nav-contact{font-size:16px}.menu-toggle{font-size:16px}
 .hero{padding-top:140px;min-height:880px}.hero h1{font-size:43px}.hero .eyebrow{font-size:14px;letter-spacing:0}
 .journey-nav{padding:0 12px;gap:10px}.journey-home{width:38px;height:38px;flex-basis:38px}.journey-links{gap:10px}
 .capability-list summary{gap:10px}.capability-list h3{font-size:23px}.cap-num{flex-basis:22px}.detail-content{padding-left:0}
 .layer-step{grid-template-columns:54px 1fr;gap:8px 16px}.step-circle{width:54px;height:54px}
}
@media(max-width:1200px){
 .work-grid{gap:24px}.case-art{height:270px}.case-copy h3{font-size:29px;min-height:108px}.case-copy>p{min-height:150px}
 .trust-grid{gap:35px}.trust-principles{gap:28px 24px}.trust-principles h3{font-size:24px}.trust-operation{grid-template-columns:1fr;gap:28px}
}
@media(max-width:1000px){
 .capabilities-grid{grid-template-columns:1fr;gap:38px}.capabilities-heading{display:grid;grid-template-columns:1fr 1fr;gap:24px 40px;align-items:start}.capabilities-heading>h2{grid-column:1}.capabilities-heading>p{grid-column:1;margin-top:0}.build-visual{grid-column:2;grid-row:1 / 3;margin:0;max-width:none}.build-photo{height:275px}.build-visual figcaption>p{font-size:18px}
 .work-grid{grid-template-columns:1fr}.work-card{display:grid;grid-template-columns:1fr 1fr;gap:32px}.case-art{height:360px;border-radius:110px 12px 12px 12px}.case-copy{padding:0}.case-copy h3{min-height:0;font-size:31px}.case-copy>p{min-height:0}.case-story summary{width:auto}.work-grid{gap:48px}.work-next{align-items:start;flex-direction:column;gap:26px}
 .trust-heading{gap:32px}.trust-heading>p{font-size:22px}.trust-grid{grid-template-columns:.85fr 1.15fr;gap:30px}.trust-principles{grid-template-columns:1fr;gap:22px}.trust-principles article{display:grid;grid-template-columns:40px 1fr;gap:10px 18px;padding-top:20px}.trust-number{grid-row:1 / 3}.trust-principles h3{margin:0;font-size:25px}.trust-principles h3 br{display:none}.trust-principles p{grid-column:2;margin:0}.trust-visual{min-height:620px}.trust-visual figcaption{left:26px;right:22px}.trust-visual figcaption>p{font-size:38px}
}
@media(max-width:760px){
 .hero-actions{flex-direction:row;align-items:center;gap:16px}.cta{font-size:18px;min-height:58px;padding:15px 25px}.hero-actions .cta{width:auto}.hero-bottom{font-size:14px}
 .capabilities-heading{display:block}.capabilities-heading>p{margin-top:24px}.build-visual{margin-top:30px}.build-photo{height:280px;border-radius:95px 12px 12px 12px}.build-visual figcaption>p{font-size:20px}.build-arc{width:130px;height:130px;right:-22px;bottom:-22px}
 .work-heading p{font-size:18px;margin-top:24px}.work-card{display:block}.case-art{height:320px;border-radius:110px 12px 12px 12px}.case-index{font-size:14px;left:22px;right:22px;bottom:22px}.case-copy{padding:25px 0 0}.case-copy h3{font-size:33px;min-height:0}.case-copy>p{font-size:18px;min-height:0}.case-story{margin-top:24px}.case-story summary{width:auto}.work-grid{gap:44px}.work-card+.work-card{padding-top:38px;border-top:1px solid var(--line)}.work-next{margin-top:42px;padding-top:32px}.work-next h3{font-size:28px}
 .trust-heading{grid-template-columns:1fr;gap:24px;margin-bottom:32px}.trust-heading>p{font-size:22px}.trust-grid{grid-template-columns:1fr;gap:32px}.trust-visual{min-height:410px;border-radius:110px 16px 16px 16px}.trust-visual>img{object-position:center}.trust-visual figcaption{left:28px;bottom:28px}.trust-visual figcaption>p{font-size:42px}.trust-arc{width:190px;height:190px;right:-28px;top:-28px}.trust-principles{grid-template-columns:1fr}.trust-principles h3{font-size:25px}.trust-operation{padding:28px 24px;gap:28px;border-radius:24px;margin-top:32px}.trust-operation ol{grid-template-columns:1fr;gap:0}.trust-operation li{display:grid;grid-template-columns:28px 1fr;gap:6px 16px;padding:18px 0;border-top:1px solid #17191f29}.trust-operation li>span{grid-column:1;grid-row:1 / 3;margin:3px 0 0}.trust-operation li>strong,.trust-operation li>p{grid-column:2;margin:0}.trust-operation li p{font-size:18px}.platforms{margin-top:36px}.platforms ul{font-size:18px;gap:16px 24px}
 .contact-row{align-items:start;flex-direction:column;gap:30px}.contact-cta{font-size:18px;min-height:58px}.contact-bottom{margin-top:28px}
}
@media(max-width:360px){.cta{padding:15px 21px}.case-copy h3{font-size:30px}.case-art{height:280px}.trust-visual{min-height:380px}.trust-principles article{gap:10px 14px}.build-photo{height:255px}}
@keyframes flow-down{from{top:0;opacity:0}20%{opacity:1}80%{opacity:1}to{top:100%;opacity:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-photo{transform:none;will-change:auto}.work-card:hover .case-photo img{transform:none}}
