:root{--radius-button:12px;--foreground:#fbfcf8;--muted:#8e918a;--accent:#c0ff6b;--line:#2b2d28;--radius:24px;--font-sans:"Manrope", Arial, sans-serif;--font-serif:"Clash Display", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:30px}body{background:var(--background);color:var(--foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:var(--ink)}h1,h2,h3,h4,p{margin:0}em{font-family:var(--font-serif);font-weight:500}h2{letter-spacing:-.055em;font-size:clamp(2.6rem,4.3vw,4.6rem);font-weight:450;line-height:1.08}.skip-link{background:var(--accent);z-index:100;padding:15px;position:fixed;top:-80px;left:24px}.skip-link:focus{top:12px}.hero{isolation:isolate;background:var(--background);height:100svh;min-height:100svh;max-height:none;color:var(--foreground);border-radius:0;margin:0;position:relative;overflow:visible}.hero-arc,.hero-dither,.hero-shade{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hero-dither{z-index:0;pointer-events:none}.hero-shade{z-index:0}.hero-copy{z-index:1;position:relative}.hero-plate>.hero-arc,.hero>.hero-dither{position:absolute}.hero-shade{inset:var(--hero-top,0px) var(--hero-pad,0px) var(--hero-pad,0px);background: linear-gradient(to top, #0000008c 0%, #0000002e 10%, transparent 26%), var(--field-shade);width:auto;height:auto}.hero-copy,.hero-collaboration{pointer-events:none}.hero-copy>*,.hero-collaboration>*{pointer-events:auto}.header{justify-content:space-between;align-items:center;height:105px;padding:0 42px;display:flex;position:relative}.brand{align-items:center;gap:10px;font-size:23px;font-weight:600;line-height:.95;display:flex}.brand-element{width:36px;height:36px;display:block}.brand-name{letter-spacing:.01em;display:block}.brand-sub{letter-spacing:1.6px;text-transform:uppercase;margin-top:5px;font-size:9px;font-weight:400;display:block}.nav-cutout{height:57px;color:var(--ink);isolation:isolate;white-space:nowrap;background:0 0;border-radius:0;align-items:center;gap:32px;padding:0 35px;font-size:14px;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%)}.nav-cutout:before{content:"";inset:-1px calc((var(--nav-width) - var(--nav-silhouette)) / 2) 0;z-index:-1;background:var(--paper);-webkit-mask:url(/curves/nav-cutout.svg) 0 0 / var(--nav-silhouette) 58px no-repeat;mask:url(/curves/nav-cutout.svg) 0 0 / var(--nav-silhouette) 58px no-repeat;pointer-events:none;display:none;position:absolute}.contact-cutout{height:57px;color:var(--foreground);isolation:isolate;background:0 0;border-radius:0;align-items:center;gap:28px;padding:0 30px 0 27px;font-size:14px;display:flex;position:absolute;top:0;right:0}.contact-cutout:before{content:"";z-index:-1;pointer-events:none;background:var(--background);width:calc(100% + 29px);height:calc(100% + 29px);position:absolute;top:-1px;left:-29px;-webkit-mask:url(/curves/portal-cutout.svg) 0 0/173px 86px no-repeat;mask:url(/curves/portal-cutout.svg) 0 0/173px 86px no-repeat}.contact-cutout span{font-size:22px}.mobile-menu-toggle{cursor:pointer;z-index:43;display:none}.mobile-menu-panel:focus,.mobile-menu-panel:focus-visible{outline:none}.mobile-menu-panel{width:100%;max-width:none;height:100dvh;max-height:none;padding:max(24px, env(safe-area-inset-top)) var(--menu-pad-r,clamp(24px, 6vw, 56px)) max(32px, env(safe-area-inset-bottom)) var(--menu-pad-l,clamp(24px, 6vw, 56px));color:var(--foreground);background:var(--background);clip-path:circle(0 at var(--menu-x,100%) var(--menu-y,0px));border:0;border-radius:0;flex-direction:column;margin:0;transition:clip-path 1.1s cubic-bezier(.45,0,.2,1);display:none;position:fixed;inset:0;overflow-y:auto}.mobile-menu-panel::backdrop{background:0 0}.mobile-menu-panel[data-wide]{clip-path:circle(var(--menu-r,150vmax) at var(--menu-x,100%) var(--menu-y,0px))}.mobile-menu-panel[open]{display:flex}.mobile-menu-rings{z-index:-1;left:var(--menu-x,calc(100% - 48px));top:var(--menu-y,48px);pointer-events:none;--ring-lime:var(--accent);--ring-grey:color-mix(in srgb, var(--foreground) 24%, var(--background));background:radial-gradient(closest-side, transparent calc(100% - 170px), var(--ring-grey) calc(100% - 170px), var(--ring-grey) calc(100% - 60px), var(--ring-lime) calc(100% - 60px));border-radius:50%;width:0;height:0;transition:width 1.1s cubic-bezier(.45,0,.2,1),height 1.1s cubic-bezier(.45,0,.2,1);position:fixed;translate:-50% -50%}.mobile-menu-panel[data-wide] .mobile-menu-rings{width:calc(2 * var(--menu-r,150vmax));height:calc(2 * var(--menu-r,150vmax))}@media (prefers-reduced-motion:reduce){.mobile-menu-rings{display:none}}.mobile-menu-heading{min-height:48px;margin-top:calc(var(--menu-y,48px) - 24px - max(24px, env(safe-area-inset-top)));flex-shrink:0;justify-content:space-between;align-items:center;gap:24px;display:flex}.mobile-menu-close{left:var(--menu-x,calc(100% - 48px));top:var(--menu-y,48px);border:1px solid var(--line);background:var(--background);z-index:2;width:48px;height:48px;color:var(--foreground);cursor:pointer;border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:grid;position:fixed;translate:-50% -50%}.mobile-menu-nav{flex-direction:column;margin-block:auto;padding-block:48px;display:flex}.mobile-menu-nav a{letter-spacing:-.04em;padding:18px 0;font-size:clamp(2rem,5.6vw,3rem);line-height:1.1}.mobile-menu-nav a+a{border-top:1px solid var(--line)}.mobile-menu-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.mobile-menu-actions .mobile-menu-portal{flex:1}.mobile-menu-account{width:54px;height:54px}.mobile-menu-portal{min-height:54px;color:var(--ink);border-radius:var(--radius-button);background:var(--accent);flex-shrink:0;justify-content:space-between;align-items:center;gap:24px;padding:0 20px;font-size:15px;font-weight:500;display:flex}@media (prefers-reduced-motion:reduce){.mobile-menu-panel{clip-path:none;transition:none}}@media (hover:hover) and (pointer:fine){.nav-cutout a:hover,.footer a:hover{opacity:.6}}.hero-copy{max-width:1100px;padding:55px 5% 190px;position:relative}.eyebrow,.section-label{letter-spacing:.12em;align-items:center;gap:10px;font-size:12px;font-weight:500;display:flex}.eyebrow{color:#c2c6ba;margin-bottom:30px}.status-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.hero h1{letter-spacing:-.067em;font-size:clamp(4rem,7.6vw,8rem);font-weight:450;line-height:.99}.hero h1 em{letter-spacing:-.035em;color:var(--accent)}.hero-description{color:#b6bcb1;margin-top:28px;font-size:17px;line-height:1.65}.hero-actions{align-items:center;gap:30px;margin-top:32px;display:flex}.button{cursor:pointer;border-radius:var(--radius-button);border:0;justify-content:space-between;align-items:center;gap:40px;padding:17px 24px;font-size:14px;font-weight:500;transition:background .2s,transform .2s;display:inline-flex}.button-light{background:var(--paper);color:var(--ink)}@media (hover:hover) and (pointer:fine){.button:hover{background:var(--accent);color:var(--ink);transform:translateY(-2px)}}.button span{font-size:22px;line-height:1}.text-link{align-items:center;gap:20px;font-size:14px;display:flex}@media (hover:hover) and (pointer:fine){.text-link:hover{color:var(--accent)}}.section-wrap{--section-pad:110px;max-width:1440px;padding-block:var(--section-pad);padding-inline:calc(var(--sheet-inset) * var(--sheet) + var(--content-pad));margin:auto}.intro{grid-template-columns:1fr 2fr;gap:50px;display:grid}.small-cross{font-size:22px;line-height:1}.intro h2 em{color:var(--muted)}.section-heading{--heading-gap:55px;margin-bottom:var(--heading-gap);justify-content:space-between;align-items:flex-end;gap:40px;display:flex}.section-heading .section-label{color:var(--muted);margin-bottom:28px}.section-heading>p{width:min(30rem,100%);color:var(--muted);padding-bottom:6px;font-size:16px;line-height:1.7}.section-heading>.heading-aside{flex-direction:column;align-items:flex-start;gap:22px;width:min(30rem,100%);display:flex}.section-heading>.heading-aside>p{width:100%;color:var(--muted);font-size:16px;line-height:1.7}.heading-action{border:1px solid var(--line);border-radius:var(--radius-button);background:var(--background);color:var(--foreground);align-items:center;gap:10px;padding:11px 18px;font-size:14px;font-weight:500;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.heading-action[aria-pressed=true],.heading-action[aria-selected=true]{background:var(--foreground);border-color:var(--foreground);color:var(--ink)}.heading-action:disabled{opacity:.45}@media (hover:hover) and (pointer:fine){.heading-action:not(:disabled,[aria-pressed=true],[aria-selected=true]):hover{background:var(--foreground);border-color:var(--foreground);color:var(--ink)}.heading-action:not(:disabled):hover svg{color:var(--ink)}}.heading-action svg{transition:color .2s}.heading-actions{flex-wrap:wrap;gap:8px;display:flex}@media (min-width:901px){.section-heading>p,.section-heading>.heading-aside{width:min(30rem,50% - 20px)}}.tags{flex-wrap:wrap;gap:7px;margin-top:18px;display:flex}.tags span{border:1px solid var(--line);color:#5e6458;border-radius:30px;padding:6px 10px;font-size:12px}.principles{border-radius:var(--radius);background:#dce7cd;margin:0 20px;padding:65px 5%}.principles h2{font-size:clamp(2.8rem,4.5vw,4.8rem)}.contact{color:var(--foreground);border-radius:var(--radius);background:#171c15;margin:0 20px;padding:65px 5% 100px;display:block}.contact .section-label{color:#b8c1ac}.contact h2{margin:26px 0 0;font-size:clamp(3rem,5.6vw,5.6rem);line-height:.98}.contact h2 em{color:var(--accent)}.contact p:not(.section-label){color:#b2bcaa;font-size:16px}.footer{padding-block:35px;padding-inline:calc(var(--edge-l-pct) + var(--content-pad));color:var(--muted);justify-content:space-between;align-items:center;gap:25px;font-size:14px;display:flex}.footer-brand{color:var(--foreground)}@media (min-width:1500px){.hero-copy{padding-top:90px}.hero{min-height:840px}}@media (max-width:1000px){.hero{height:auto;min-height:770px}.header{padding:0 28px}.nav-cutout{gap:20px;padding:0 22px;left:53%}.contact-cutout{gap:14px;padding:0 18px}.hero-copy{padding-top:65px}.hero h1{font-size:clamp(4.2rem,8.6vw,6.3rem)}.section-wrap{--section-pad:80px}}@media (max-width:640px){.hero{border-radius:0;min-height:100svh;margin:0}.header{align-items:center;height:100px;padding:0 22px}.brand{font-size:20px}.brand-element{width:30px;height:30px}.nav-cutout{color:#c7cebf;background:0 0;border-radius:0;gap:25px;height:auto;padding:0;font-size:14px;top:98px;left:22px;transform:none}.nav-cutout:before,.nav-cutout:after{display:none}.contact-cutout{border-bottom-left-radius:0;height:51px;padding:0 16px;font-size:14px}.hero-copy{padding:76px 23px 175px}.eyebrow{letter-spacing:.03em;gap:8px;max-width:260px;margin-bottom:26px;font-size:12px;line-height:1.5}.hero h1{letter-spacing:-.055em;font-size:clamp(3.4rem,10.8vw,4.7rem);line-height:1.06}.hero-description{margin-top:25px;font-size:16px}.hero-actions{flex-direction:column;align-items:flex-start;gap:23px;margin-top:28px}.button{padding:16px 22px}.text-link{padding-left:3px}.section-wrap{--section-pad:65px}.intro{gap:28px}.intro h2{font-size:2.6rem}.section-label{letter-spacing:.06em;font-size:12px}.section-heading{--heading-gap:35px;display:block}.section-heading>p,.section-heading>.heading-aside{margin-top:24px}.section-heading .section-label{margin-bottom:24px}.tags{gap:5px;margin-top:12px}.tags span{padding:5px 8px;font-size:12px}.principles{border-radius:20px;margin:0 10px;padding:37px 7%}.principles h2{font-size:2.7rem}.contact{border-radius:20px;grid-template-columns:1fr;gap:30px;margin:0 10px;padding:40px 7% 96px}.contact h2{margin:27px 0;font-size:4.2rem}.footer{flex-direction:column;align-items:flex-start;gap:22px;padding-block:30px}.footer>span{font-size:12px}}.hero{flex-direction:column;height:auto;min-height:max(760px,100svh - 40px);max-height:none;display:flex}.header{flex-shrink:0}.hero-copy{flex:1;padding-bottom:65px}@media (max-width:640px){.hero{min-height:850px}.hero-copy{padding-bottom:60px}.hero h1{overflow-wrap:normal}}.hero{border-top-right-radius:0}.hero-copy{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:none;padding:clamp(35px,5vh,70px) 28px 65px;display:flex}.hero h1{text-wrap:balance;max-width:1000px;font-size:clamp(3.7rem,7vw,7rem)}.hero-description{text-wrap:wrap;color:#d0d3ca;max-width:580px}@media (min-width:641px){.hero h1 em{font-size:.85em}}.hero-actions{justify-content:center}@media (max-width:640px){.hero-copy{padding:75px 22px 55px}.hero h1{font-size:clamp(1.7rem,9vw,3.6rem)}.hero .eyebrow{justify-content:center;max-width:280px}.hero-actions{align-items:center}}.nav-cutout{--nav-width:326px;--nav-silhouette:382px;width:var(--nav-width);justify-content:center;padding-inline:0}.contact-cutout{justify-content:center;gap:18px;width:144px;height:57px;padding:0}.hero-copy{padding-bottom:105px}@media (max-width:900px){.nav-cutout{height:auto;width:min(var(--nav-width,326px), calc(100% - 40px));color:var(--foreground);gap:24px;top:112px;left:50%;transform:translate(-50%)}.nav-cutout:before{display:none}.hero-copy{padding-top:85px}}@media (max-width:640px){.hero{min-height:max(720px,100svh - 20px)}.header{align-items:flex-end;padding-bottom:12px}.hero-copy{padding-bottom:85px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@supports (corner-shape:squircle){.hero{corner-shape:squircle}}.hero{border-radius:32px 0 32px 32px}@media (max-width:640px){.hero{border-radius:28px 0 28px 28px}}.menu-mark path{transform-box:fill-box;transform-origin:50%;transition:transform .55s cubic-bezier(.45,0,.2,1),opacity .3s}.menu-mark[data-open] .menu-mark-top{transform:translateY(5px)rotate(45deg)}.menu-mark[data-open] .menu-mark-low{transform:translateY(-5px)rotate(-45deg)}.menu-mark[data-open] .menu-mark-mid{opacity:0;transform:scaleX(.2)}@media (prefers-reduced-motion:reduce){.menu-mark path{transition:none}}
:root{--background:#080808;--foreground:#fbfcf8;--ink:#080808;--paper:#fbfcf8;--accent:#c0ff6b;--muted:#8f928a;--line:#2d2f29;--on-dark-muted:color-mix(in srgb, var(--foreground) 72%, var(--background));--surface-muted:color-mix(in srgb, var(--background) 92%, var(--foreground));--guide:color-mix(in srgb, var(--line) 75%, transparent);--sheet:min(1440px, 100cqw);--sheet-inset:.04;--sheet-inset-pct:4%;--content-pad:calc(.02 * var(--sheet) + 20px);--edge-l:calc((100cqw - var(--sheet)) / 2 + var(--sheet-inset) * var(--sheet));--edge-r:calc(100cqw - var(--edge-l));--bleed:calc(50% - 50cqw);--rail-left:linear-gradient(90deg, transparent calc(var(--sheet-inset-pct) - .5px), var(--guide) calc(var(--sheet-inset-pct) - .5px), var(--guide) calc(var(--sheet-inset-pct) + .5px), transparent calc(var(--sheet-inset-pct) + .5px));--rail-right:linear-gradient(90deg, transparent calc(100% - var(--sheet-inset-pct) - .5px), var(--guide) calc(100% - var(--sheet-inset-pct) - .5px), var(--guide) calc(100% - var(--sheet-inset-pct) + .5px), transparent calc(100% - var(--sheet-inset-pct) + .5px));--rail-axis:linear-gradient(90deg, transparent calc(50% - .5px), var(--guide-axis) calc(50% - .5px), var(--guide-axis) calc(50% + .5px), transparent calc(50% + .5px));--page-rails:var(--rail-left), var(--rail-axis), var(--rail-right);--joint-reach:5px;--joint-weight:2px;--layer-pulse:-3;--layer-joint:3;--joint-half:calc(var(--joint-weight) / 2);--joint-lift:calc((var(--joint-weight) - 1px) / 2);--joint:color-mix(in srgb, var(--foreground) 38%, var(--background));--joint-axis-on:1;--joint-square:11px;--joint-stroke:1px;--joint-paper:var(--background);--joint-half-square:calc(var(--joint-square) / 2)}:where(.section-wrap,.principles-band,.contact-band,.case-band,.case-still,.footer,.service-item,.post-item,.brief-item,.project-grid,.project-card,.tech-group,.process-stepper,.system-view,.stat-row):before,:where(.section-wrap,.principles-band,.contact-band,.case-band,.footer,.service-item,.post-item,.brief-item,.stat-row):after{--joint-left:var(--edge-l-pct);--joint-right:calc(100% - var(--edge-l-pct));--joint-axis:color-mix(in srgb, var(--joint) calc(var(--joint-axis-on,1) * 100%), transparent);--joint-axis-paper:color-mix(in srgb, var(--joint-paper) calc(var(--joint-axis-on,1) * 100%), transparent);--joint-rule-full:linear-gradient(var(--guide), var(--guide));--joint-rule-bounded:linear-gradient(90deg, transparent var(--joint-left), var(--guide) var(--joint-left), var(--guide) var(--joint-right), transparent var(--joint-right));--joint-rail-left:linear-gradient(90deg, transparent calc(var(--joint-left) - var(--joint-half)), var(--joint) calc(var(--joint-left) - var(--joint-half)), var(--joint) calc(var(--joint-left) + var(--joint-half)), transparent calc(var(--joint-left) + var(--joint-half)));--joint-rail-right:linear-gradient(90deg, transparent calc(var(--joint-right) - var(--joint-half)), var(--joint) calc(var(--joint-right) - var(--joint-half)), var(--joint) calc(var(--joint-right) + var(--joint-half)), transparent calc(var(--joint-right) + var(--joint-half)));--joint-rail-axis:linear-gradient(90deg, transparent calc(50% - var(--joint-half)), var(--joint-axis) calc(50% - var(--joint-half)), var(--joint-axis) calc(50% + var(--joint-half)), transparent calc(50% + var(--joint-half)));--joint-arm-left:linear-gradient(90deg, transparent calc(var(--joint-left) - var(--joint-reach)), var(--joint) calc(var(--joint-left) - var(--joint-reach)), var(--joint) calc(var(--joint-left) + var(--joint-reach)), transparent calc(var(--joint-left) + var(--joint-reach)));--joint-arm-right:linear-gradient(90deg, transparent calc(var(--joint-right) - var(--joint-reach)), var(--joint) calc(var(--joint-right) - var(--joint-reach)), var(--joint) calc(var(--joint-right) + var(--joint-reach)), transparent calc(var(--joint-right) + var(--joint-reach)));--joint-arm-axis:linear-gradient(90deg, transparent calc(50% - var(--joint-reach)), var(--joint-axis) calc(50% - var(--joint-reach)), var(--joint-axis) calc(50% + var(--joint-reach)), transparent calc(50% + var(--joint-reach)));--joint-sq-left:linear-gradient(90deg, transparent calc(var(--joint-left) - var(--joint-half-square)), var(--joint) calc(var(--joint-left) - var(--joint-half-square)), var(--joint) calc(var(--joint-left) - var(--joint-half-square) + var(--joint-stroke)), var(--joint-paper) calc(var(--joint-left) - var(--joint-half-square) + var(--joint-stroke)), var(--joint-paper) calc(var(--joint-left) + var(--joint-half-square) - var(--joint-stroke)), var(--joint) calc(var(--joint-left) + var(--joint-half-square) - var(--joint-stroke)), var(--joint) calc(var(--joint-left) + var(--joint-half-square)), transparent calc(var(--joint-left) + var(--joint-half-square)));--joint-sq-right:linear-gradient(90deg, transparent calc(var(--joint-right) - var(--joint-half-square)), var(--joint) calc(var(--joint-right) - var(--joint-half-square)), var(--joint) calc(var(--joint-right) - var(--joint-half-square) + var(--joint-stroke)), var(--joint-paper) calc(var(--joint-right) - var(--joint-half-square) + var(--joint-stroke)), var(--joint-paper) calc(var(--joint-right) + var(--joint-half-square) - var(--joint-stroke)), var(--joint) calc(var(--joint-right) + var(--joint-half-square) - var(--joint-stroke)), var(--joint) calc(var(--joint-right) + var(--joint-half-square)), transparent calc(var(--joint-right) + var(--joint-half-square)));--joint-sq-axis:linear-gradient(90deg, transparent calc(50% - var(--joint-half-square)), var(--joint-axis) calc(50% - var(--joint-half-square)), var(--joint-axis) calc(50% - var(--joint-half-square) + var(--joint-stroke)), var(--joint-axis-paper) calc(50% - var(--joint-half-square) + var(--joint-stroke)), var(--joint-axis-paper) calc(50% + var(--joint-half-square) - var(--joint-stroke)), var(--joint-axis) calc(50% + var(--joint-half-square) - var(--joint-stroke)), var(--joint-axis) calc(50% + var(--joint-half-square)), transparent calc(50% + var(--joint-half-square)));--joint-sqh-left:linear-gradient(90deg, transparent calc(var(--joint-left) - var(--joint-half-square)), var(--joint) calc(var(--joint-left) - var(--joint-half-square)), var(--joint) calc(var(--joint-left) + var(--joint-half-square)), transparent calc(var(--joint-left) + var(--joint-half-square)));--joint-sqh-right:linear-gradient(90deg, transparent calc(var(--joint-right) - var(--joint-half-square)), var(--joint) calc(var(--joint-right) - var(--joint-half-square)), var(--joint) calc(var(--joint-right) + var(--joint-half-square)), transparent calc(var(--joint-right) + var(--joint-half-square)));--joint-sqh-axis:linear-gradient(90deg, transparent calc(50% - var(--joint-half-square)), var(--joint-axis) calc(50% - var(--joint-half-square)), var(--joint-axis) calc(50% + var(--joint-half-square)), transparent calc(50% + var(--joint-half-square)));--joint-col-ink:transparent;--joint-col2-ink:var(--joint-col-ink);--joint-col-in:88px;--joint-col1:calc(var(--joint-left) + var(--joint-col-in));--joint-col2:calc(var(--joint-right) - var(--joint-col-in));--joint-rail-col1:linear-gradient(90deg, transparent calc(var(--joint-col1) - var(--joint-half)), var(--joint-col-ink) calc(var(--joint-col1) - var(--joint-half)), var(--joint-col-ink) calc(var(--joint-col1) + var(--joint-half)), transparent calc(var(--joint-col1) + var(--joint-half)));--joint-rail-col2:linear-gradient(90deg, transparent calc(var(--joint-col2) - var(--joint-half)), var(--joint-col2-ink) calc(var(--joint-col2) - var(--joint-half)), var(--joint-col2-ink) calc(var(--joint-col2) + var(--joint-half)), transparent calc(var(--joint-col2) + var(--joint-half)));--joint-arm-col1:linear-gradient(90deg, transparent calc(var(--joint-col1) - var(--joint-reach)), var(--joint-col-ink) calc(var(--joint-col1) - var(--joint-reach)), var(--joint-col-ink) calc(var(--joint-col1) + var(--joint-reach)), transparent calc(var(--joint-col1) + var(--joint-reach)));--joint-arm-col2:linear-gradient(90deg, transparent calc(var(--joint-col2) - var(--joint-reach)), var(--joint-col2-ink) calc(var(--joint-col2) - var(--joint-reach)), var(--joint-col2-ink) calc(var(--joint-col2) + var(--joint-reach)), transparent calc(var(--joint-col2) + var(--joint-reach)));--joint-col-paper:transparent;--joint-col2-paper:var(--joint-col-paper);--joint-sq-col1:linear-gradient(90deg, transparent calc(var(--joint-col1) - var(--joint-half-square)), var(--joint-col-ink) calc(var(--joint-col1) - var(--joint-half-square)), var(--joint-col-ink) calc(var(--joint-col1) - var(--joint-half-square) + var(--joint-stroke)), var(--joint-col-paper) calc(var(--joint-col1) - var(--joint-half-square) + var(--joint-stroke)), var(--joint-col-paper) calc(var(--joint-col1) + var(--joint-half-square) - var(--joint-stroke)), var(--joint-col-ink) calc(var(--joint-col1) + var(--joint-half-square) - var(--joint-stroke)), var(--joint-col-ink) calc(var(--joint-col1) + var(--joint-half-square)), transparent calc(var(--joint-col1) + var(--joint-half-square)));--joint-sq-col2:linear-gradient(90deg, transparent calc(var(--joint-col2) - var(--joint-half-square)), var(--joint-col2-ink) calc(var(--joint-col2) - var(--joint-half-square)), var(--joint-col2-ink) calc(var(--joint-col2) - var(--joint-half-square) + var(--joint-stroke)), var(--joint-col2-paper) calc(var(--joint-col2) - var(--joint-half-square) + var(--joint-stroke)), var(--joint-col2-paper) calc(var(--joint-col2) + var(--joint-half-square) - var(--joint-stroke)), var(--joint-col2-ink) calc(var(--joint-col2) + var(--joint-half-square) - var(--joint-stroke)), var(--joint-col2-ink) calc(var(--joint-col2) + var(--joint-half-square)), transparent calc(var(--joint-col2) + var(--joint-half-square)));--joint-sqh-col1:linear-gradient(90deg, transparent calc(var(--joint-col1) - var(--joint-half-square)), var(--joint-col-ink) calc(var(--joint-col1) - var(--joint-half-square)), var(--joint-col-ink) calc(var(--joint-col1) + var(--joint-half-square)), transparent calc(var(--joint-col1) + var(--joint-half-square)));--joint-sqh-col2:linear-gradient(90deg, transparent calc(var(--joint-col2) - var(--joint-half-square)), var(--joint-col2-ink) calc(var(--joint-col2) - var(--joint-half-square)), var(--joint-col2-ink) calc(var(--joint-col2) + var(--joint-half-square)), transparent calc(var(--joint-col2) + var(--joint-half-square)))}:root{--page-rails-edges:var(--rail-left), var(--rail-right);--sheet-pct:min(1440px, 100%);--edge-l-pct:calc((100% - var(--sheet-pct)) / 2 + var(--sheet-inset) * var(--sheet-pct));--guide-axis:var(--guide);--guide-on-accent:color-mix(in srgb, var(--background) 17%, transparent);--guide-on-ink:color-mix(in srgb, var(--foreground) 19%, transparent);--field-shade:radial-gradient(ellipse at 50% 44%, #00000012 0%, #0000000a 40%, transparent 78%);--hero-min:840px;--dot-gap:16px;--dot-size:.75px;--dot-ink:color-mix(in srgb, var(--foreground) 20%, transparent);--radius:32px;--radius-mobile:28px;--page-gutter:20px;--header-height:105px;--hero-pad:max(var(--page-gutter), 3vw);--header-top:var(--page-gutter);--header-box:var(--header-height)}html{scroll-padding-top:150px}.hero{min-height:max(var(--hero-min), 100svh);background-color:var(--background);--hero-top:calc(var(--header-top) + var(--header-box));height:auto;max-height:none;padding-top:var(--hero-top);border-radius:0;margin:0}.hero-plate{z-index:0;background-color:var(--ink);pointer-events:none;clip-path:inset(var(--hero-top,0px) var(--hero-pad,0px) var(--hero-pad,0px) round var(--radius));position:absolute;inset:0;overflow:clip;container-type:size}.hero-plate:after{content:"";inset:var(--hero-top,0px) var(--hero-pad,0px) var(--hero-pad,0px);border:1px solid var(--guide);border-radius:var(--radius);pointer-events:none;position:absolute}.hero-copy{padding:clamp(64px, 11vh, 150px) calc(var(--hero-pad,0px) + 28px) 85px;flex:1 0 auto;justify-content:center}.hero-description{color:var(--on-dark-muted)}.header{z-index:30;top:var(--header-top);left:var(--page-gutter);right:var(--page-gutter);height:var(--header-box);color:var(--foreground);border-radius:var(--radius);padding-inline:0;transition:background-color .2s,color .2s,box-shadow .2s;position:absolute}body:has(#main>.hero){--header-top:0px;--header-box:89px}body:has(#main>.hero) .header{left:var(--hero-pad);right:var(--hero-pad)}.nav-cutout,.header-scrolled .nav-cutout{top:calc(var(--header-top) + (var(--header-box) - 52px) / 2);z-index:31;border-radius:16px;height:52px;transition:background-color .2s,color .2s,box-shadow .2s;position:fixed;left:50%}.nav-cutout{color:var(--foreground);box-shadow:none;background:0 0}.nav-cutout .nav-marker{display:none}.header-scrolled .nav-cutout{background:var(--paper);color:var(--ink);box-shadow:0 6px 24px #0000001a}.header-scrolled .nav-cutout .nav-marker{display:block}.nav-cutout a,.contact-cutout{min-height:44px}.nav-cutout a{align-items:center;display:inline-flex}.principles,.contact{border-radius:var(--radius)}.principles{background:var(--accent)}.principles :is(p,h2,h3,span){color:var(--ink)}.contact{background:var(--ink)}.contact :is(.section-label,p:not(.section-label)){color:var(--on-dark-muted)}.intro h2 em,.section-heading .section-label,.service-number,.tags span{color:var(--muted)}a:focus-visible,button:focus-visible{outline-color:var(--accent)}@supports (corner-shape:superellipse(1.5)){.header,.principles,.contact,.project-frame,.project-clip,.project-edge,.studio-panel{corner-shape:superellipse(1.5)}}@media (max-width:900px){:root{--header-height:105px;--guide-axis:transparent;--joint-axis-on:0}.header{align-items:center;padding-top:0}.nav-cutout,.header .header-actions{display:none}.mobile-menu-toggle{top:calc(var(--header-top) + var(--header-box) / 2 - 24px);right:calc(var(--header-edge,var(--page-gutter)) + 12px);border:1px solid var(--line);background:0 0;border-radius:50%;justify-content:center;align-items:center;gap:0;width:48px;height:48px;padding:0;transition:background-color .2s,border-color .2s,box-shadow .2s;display:flex;position:fixed;translate:none}body:has(#main>.hero){--header-edge:var(--hero-pad)}.mobile-menu-toggle:before{display:none}.header-scrolled .mobile-menu-toggle{background:var(--background);box-shadow:0 6px 24px #0000001a}.header-scrolled .mobile-menu-toggle:before{display:none}.hero-copy{padding-top:30px}html{scroll-padding-top:96px}}@media (max-width:640px){:root{--sheet-inset:.05;--sheet-inset-pct:5%;--content-pad:calc(.02 * var(--sheet) + 12px);--page-gutter:10px;--radius:var(--radius-mobile);--header-height:100px;--hero-min:760px}.header{padding-top:0;padding-bottom:0;align-items:center;padding-inline:12px}.hero-copy{padding:28px 22px 85px}html{scroll-padding-top:82px}}@media (max-height:760px) and (min-width:901px){.hero-copy{padding-top:16px;padding-bottom:32px}.hero h1{font-size:clamp(3.5rem,6.2vw,5.75rem)}.eyebrow{margin-bottom:18px}.hero-description{margin-top:18px;line-height:1.5}.hero-actions{margin-top:22px}}@media (prefers-reduced-motion:reduce){.header{transition:none}}@media (max-width:768px){:root{--dot-gap:11px}}
