/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-font-weight:initial}}}@layer theme{:root,:host{--font-sans:"Schibsted Grotesk", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:1.55;--font-weight-semibold:600;--animate-spin:spin 1s linear infinite;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:"Bricolage Grotesque", system-ui, sans-serif;--font-body:"Schibsted Grotesk", system-ui, sans-serif;--color-ink:#111;--color-ink-2:#26282b;--color-ink-3:#5a5e64;--color-ink-4:#6e7177;--color-line:#e7e8ea;--color-line-2:#d9dbde;--color-paper:#fcfcfd;--color-surface:#fff;--color-panel:#eef0f2;--color-brand:#2caadf;--color-brand-ink:#0e6c93;--color-brand-wash:#eaf6fc;--color-highlight:#17da5b;--text-display-xl:clamp(2.75rem, 1.1rem + 6vw, 5.5rem);--text-display-xl--line-height:.98;--text-display-xl--letter-spacing:-.03em;--text-display-xl--font-weight:600;--text-display-l:clamp(2.25rem, 1.3rem + 3.4vw, 3.5rem);--text-display-l--line-height:1.02;--text-display-l--letter-spacing:-.025em;--text-display-l--font-weight:600;--text-display-m:clamp(1.6rem, 1.1rem + 1.7vw, 2.125rem);--text-display-m--line-height:1.08;--text-display-m--letter-spacing:-.02em;--text-display-m--font-weight:500;--text-lead:clamp(1.0625rem, 1rem + .5vw, 1.25rem);--text-lead--line-height:1.5;--text-lead--font-weight:400;--text-sm--font-weight:450;--color-error:#e80000}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}body{letter-spacing:.2px;color:#777;font-family:Open Sans,Helvetica Neue,Helvetica,sans-serif;font-size:14px;font-weight:300;line-height:1.8em}h1,h2,h3,h4,h5,h6{color:#111;text-transform:uppercase;font-family:Montserrat,Open Sans,Helvetica Neue,Helvetica,sans-serif}h1{letter-spacing:5px;font-size:1.7em}h2{letter-spacing:4px;font-size:1.5em}h3{letter-spacing:3.5px;font-size:1.3em}h4{letter-spacing:3px;font-size:1.07em}h5{letter-spacing:2px;font-size:1em}h6{letter-spacing:2px;font-size:.85em}a{transition:all .5s}a:hover{text-decoration:none}::selection{color:#fff;background:#17da5b}mark{background:#cafe48}h1,h2,h3,h4,h5,h6{margin:0 0 .5rem}p{margin:0 0 1rem}blockquote{letter-spacing:.5px;border:none;padding:0;font-size:1.3em}blockquote footer{padding-top:25px}blockquote footer:before{content:"-"}cite{text-transform:uppercase;color:#999;letter-spacing:2px;font-size:.85em;font-style:normal}hr{border:0;border-top:1px solid #ccc;margin:0}ul,ol{margin:0 0 1rem;padding-left:1.75rem}}@layer components;.absolute{position:absolute}.fixed{position:fixed}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.top-2{top:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.bottom-0{bottom:calc(var(--spacing) * 0)}.z-\[1000\]{z-index:1000}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.h-4{height:calc(var(--spacing) * 4)}.w-4{width:calc(var(--spacing) * 4)}.max-w-\[640px\]{max-width:640px}.max-w-\[680px\]{max-width:680px}.max-w-\[920px\]{max-width:920px}.flex-1{flex:1}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.scroll-mt-28{scroll-margin-top:calc(var(--spacing) * 28)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.gap-3{gap:calc(var(--spacing) * 3)}.gap-x-10{column-gap:calc(var(--spacing) * 10)}.rounded-full{border-radius:3.40282e38px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-current{border-color:currentColor}.border-line{border-color:var(--color-line)}.border-t-transparent{border-top-color:#0000}.bg-\[\#ffffe0\]{background-color:#ffffe0}.bg-surface{background-color:var(--color-surface)}.px-5{padding-inline:calc(var(--spacing) * 5)}.pt-\[0\.6rem\]{padding-top:.6rem}.pb-\[0\.7rem\]{padding-bottom:.7rem}.font-mono{font-family:var(--font-mono)}.text-lead{font-size:var(--text-lead);line-height:var(--tw-leading,var(--text-lead--line-height));font-weight:var(--tw-font-weight,var(--text-lead--font-weight))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));font-weight:var(--tw-font-weight,var(--text-sm--font-weight))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-ink-2{color:var(--color-ink-2)}.text-ink-3{color:var(--color-ink-3)}.text-ink-4{color:var(--color-ink-4)}.underline{text-decoration-line:underline}.shadow-\[0_-1px_2px_rgba\(0\,0\,0\,0\.2\)\]{--tw-shadow:0 -1px 2px var(--tw-shadow-color,#0003);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media (hover:hover){.hover\:text-brand-ink:hover{color:var(--color-brand-ink)}}@media (prefers-reduced-motion:reduce){.motion-reduce\:animate-none{animation:none}}@media (min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}:root{--container:1200px;--gutter:clamp(20px, 5vw, 72px);--section-y:clamp(64px, 8.5vw, 128px)}.reveal-armed{opacity:0;will-change:opacity, transform;transform:translateY(20px)}.reveal-armed.is-visible{opacity:1;transition:opacity .55s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--i,0) * 80ms);transform:none}@media (prefers-reduced-motion:reduce){.reveal-armed,.reveal-armed.is-visible{opacity:1;transition:none;transform:none}}.site-nav{z-index:50;transition:background-color .3s,box-shadow .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s;position:fixed;inset:0 0 auto}.site-nav.is-scrolled{background-color:#fcfcfde0}@supports (color:color-mix(in lab, red, red)){.site-nav.is-scrolled{background-color:color-mix(in srgb, var(--color-paper) 88%, transparent)}}.site-nav.is-scrolled{-webkit-backdrop-filter:saturate(1.4)blur(10px);backdrop-filter:saturate(1.4)blur(10px);box-shadow:0 1px 0 var(--color-line), 0 12px 30px -24px #11111180}.site-nav-bar{max-width:var(--container);padding-inline:var(--gutter);justify-content:space-between;align-items:center;margin-inline:auto;padding-block:22px;transition:padding-block .3s;display:flex}.site-nav.is-scrolled .site-nav-bar{padding-block:13px}.site-nav-brand{font-family:var(--font-display);color:var(--color-ink);letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.3rem;font-weight:700;display:inline-flex}.site-nav-brand .dot{background-color:var(--color-brand);border-radius:50%;width:10px;height:10px;display:inline-block}.site-nav-links{align-items:center;gap:30px;display:flex}.site-nav-links a:not(.btn){font-family:var(--font-body);color:var(--color-ink-3);font-size:.9rem;transition:color .2s}.site-nav-links a:not(.btn):hover{color:var(--color-ink)}.site-nav-links a:not(.btn).active{color:var(--color-brand-ink)}.site-nav-toggle{cursor:pointer;background:0 0;border:0;flex-direction:column;gap:5px;padding:6px;display:none}.site-nav-toggle span{background-color:var(--color-ink);width:24px;height:2px;display:block}@media (max-width:767.98px){.site-nav-toggle{display:inline-flex}.site-nav-links{background-color:var(--color-paper);border-bottom:1px solid var(--color-line);padding:8px var(--gutter) 20px;opacity:0;visibility:hidden;flex-direction:column;align-items:flex-start;gap:4px;max-height:0;transition:max-height .3s,opacity .3s,visibility .3s;position:absolute;top:100%;left:0;right:0;overflow:hidden}.site-nav.is-open .site-nav-links{opacity:1;visibility:visible;max-height:80vh}.site-nav-links a:not(.btn){padding:10px 0;font-size:1rem}.site-nav-links .btn{margin-top:8px}}@media (prefers-reduced-motion:reduce){.site-nav,.site-nav-bar,.site-nav-links,.site-nav-toggle span{transition:none}}.skill-ring__bar{fill:none;stroke:#f8f8f8;stroke-width:2px;stroke-dasharray:464.96;stroke-dashoffset:116.24px}[data-reveal].reveal-armed .skill-ring__bar{stroke-dashoffset:464.96px}[data-reveal].reveal-armed.is-visible .skill-ring__bar{stroke-dashoffset:116.24px;transition:stroke-dashoffset 1.6s ease-out}.site{background-color:var(--color-paper);font-family:var(--font-body);color:var(--color-ink);font-size:1rem;line-height:1.6}.site ::selection{background:var(--color-highlight);color:#0a0a0a}.wrap{max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.kicker{font-family:var(--font-body);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-brand-ink);text-transform:uppercase;letter-spacing:.16em;align-items:center;gap:10px;font-size:.75rem;display:inline-flex}.kicker:before{content:"";background-color:var(--color-brand);width:24px;height:1.5px;display:inline-block}.meta-row{font-family:var(--font-mono);color:var(--color-ink-4);text-transform:uppercase;border-bottom:1px solid var(--color-line);letter-spacing:.04em;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;font-size:11.5px;display:flex}.meta-row .r{gap:18px;display:flex}.btn{font-family:var(--font-body);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:9px;padding:11px 20px;font-size:.9rem;transition:transform .25s cubic-bezier(.22,1,.36,1),background .2s,color .2s,border-color .2s;display:inline-flex}.btn .arw{transition:transform .3s cubic-bezier(.22,1,.36,1)}.btn:hover .arw{transform:translate(4px)}.btn-ink{background-color:var(--color-ink);color:#fff}.btn-ink:hover{background:#000}.btn-line{color:var(--color-ink);border:1px solid var(--color-ink-4);background:0 0}.btn-line:hover{border-color:var(--color-ink)}.link-arw{font-family:var(--font-body);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-ink);border-bottom:1.5px solid #0000;align-items:center;gap:8px;padding-bottom:2px;font-size:.95rem;transition:border-color .2s;display:inline-flex}.link-arw .arw{color:var(--color-brand);transition:transform .3s cubic-bezier(.22,1,.36,1)}.link-arw:hover{border-color:var(--color-ink)}.link-arw:hover .arw{transform:translate(4px)}.sec-head{grid-template-columns:repeat(12,1fr);align-items:end;gap:24px;display:grid}.sec-head .st{grid-column:1/span 8}.sec-head .sa{grid-column:10/span 3;place-self:end;padding-bottom:6px}.sec-title{font-family:var(--font-display);font-size:var(--text-display-l);line-height:var(--tw-leading,var(--text-display-l--line-height));letter-spacing:var(--tw-tracking,var(--text-display-l--letter-spacing));font-weight:var(--tw-font-weight,var(--text-display-l--font-weight));color:var(--color-ink);text-transform:none;margin:24px 0 0}@media (max-width:860px){.sec-head .st{grid-column:1/-1}.sec-head .sa{grid-column:1/-1;justify-self:start}}.hero{padding-block:clamp(96px, 12vw, 160px) var(--section-y);position:relative;overflow:hidden}.hero .wrap{z-index:1;position:relative}.hero .lead-grid{grid-template-columns:repeat(12,1fr);gap:24px;margin-top:clamp(40px,6vw,72px);display:grid}.hero .h-main{grid-column:1/span 11}.hero-title{font-family:var(--font-display);font-size:var(--text-display-xl);line-height:var(--tw-leading,var(--text-display-xl--line-height));letter-spacing:var(--tw-tracking,var(--text-display-xl--letter-spacing));font-weight:var(--tw-font-weight,var(--text-display-xl--font-weight));color:var(--color-ink);text-transform:none;max-width:16ch;margin:28px 0 0}.hero-title:focus,.sec-title:focus{outline:none}.hero-title .u{white-space:nowrap;position:relative}.hero-title .u:after{content:"";background-color:var(--color-brand);height:.09em;transform:scaleX(var(--ul,1));transform-origin:0;position:absolute;bottom:.08em;left:0;right:0}.hero .sub{color:var(--color-ink-3);max-width:48ch}.hero .cta{flex-wrap:wrap;align-items:center;gap:20px;margin-top:34px;display:flex}.hero .caps{border-top:1px solid var(--color-line);flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:clamp(48px,6vw,80px);padding-top:22px;display:flex}.hero .caps .c{font-family:var(--font-body);color:var(--color-ink-2);align-items:center;gap:11px;font-size:.95rem;font-weight:500;display:inline-flex}.hero .caps .c:before{content:"";background-color:var(--color-brand);border-radius:50%;width:6px;height:6px}.hero .caps .sep{flex:1}.hero .caps .note{font-family:var(--font-mono);color:var(--color-ink-4);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.reveal-armed .hero-title .u:after{--ul:0}.reveal-armed.is-visible .hero-title .u:after{--ul:1;transition:transform .6s cubic-bezier(.22,1,.36,1) .45s}.line-field{z-index:0;pointer-events:none;opacity:.9;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:radial-gradient(125% 115% at 84% -8%,#000 40%,#0000 80%);mask-image:radial-gradient(125% 115% at 84% -8%,#000 40%,#0000 80%)}.hero-mark{z-index:0;opacity:.035;filter:brightness(0);pointer-events:none;-webkit-user-select:none;user-select:none;width:760px;height:auto;position:absolute;top:-120px;right:-150px;transform:rotate(-3deg)}.site-footer{position:relative;overflow:hidden}.site-footer>.wrap{z-index:1;position:relative}.footer-mark{z-index:0;opacity:.1;filter:brightness(0)invert();pointer-events:none;-webkit-user-select:none;user-select:none;width:600px;height:auto;position:absolute;bottom:-120px;right:-90px}@media (prefers-reduced-motion:no-preference){@keyframes hero-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.hero [data-reveal]{animation:.7s cubic-bezier(.22,1,.36,1) both hero-rise;animation-delay:calc(var(--i,0) * 80ms)}@keyframes hero-underline{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.hero-title .u:after{animation:.6s cubic-bezier(.22,1,.36,1) .5s both hero-underline}}.work{padding-block:var(--section-y)}.work .intro{color:var(--color-ink-3);max-width:46ch;margin-top:18px}.cover-ph{background-color:var(--color-panel);border:1px solid var(--color-line-2);border-radius:12px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.cover-ph.r16x9{aspect-ratio:16/9}.cover-ph.r4x3{aspect-ratio:4/3}.cover-ph img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.22,1,.36,1)}.cover-ph:hover img{transform:scale(1.03)}.ph-hatch{background:repeating-linear-gradient(135deg,#11111106 0 2px,#0000 2px 22px);position:absolute;inset:0}.ph-ring{border:1px dashed var(--color-line-2);border-radius:6px;position:absolute;inset:16px}.ph-label{text-align:center;font-family:var(--font-mono);color:var(--color-ink-4);letter-spacing:.04em;font-size:12px;position:relative}.ph-label .big{color:var(--color-ink-3);margin-bottom:6px;font-size:13px;display:block}.ph-tag{z-index:2;background-color:var(--color-brand-wash);font-family:var(--font-mono);color:var(--color-brand-ink);text-transform:uppercase;letter-spacing:.12em;border:1px solid #cfe9f6;border-radius:999px;padding:5px 11px;font-size:10px;position:absolute;top:14px;left:14px}.tags{flex-wrap:wrap;gap:8px;display:flex}.tag-chip{font-family:var(--font-body);color:var(--color-ink-3);border:1px solid var(--color-line-2);border-radius:999px;padding:5px 12px;font-size:.78rem;font-weight:500}.placeholder-note{font-family:var(--font-mono);color:var(--color-ink-4);align-items:center;gap:8px;font-size:11px;display:inline-flex}.placeholder-note .d{border:1.5px solid var(--color-brand);width:9px;height:9px;display:inline-block;transform:rotate(45deg)}.case .c-body{grid-template-columns:repeat(12,1fr);align-items:start;gap:clamp(24px,3vw,48px);margin-top:32px;display:grid}.case .c-left{grid-column:1/span 6}.case .c-right{grid-column:8/span 5}.case-title{font-family:var(--font-display);font-size:var(--text-display-m);line-height:var(--tw-leading,var(--text-display-m--line-height));letter-spacing:var(--tw-tracking,var(--text-display-m--letter-spacing));font-weight:var(--tw-font-weight,var(--text-display-m--font-weight));color:var(--color-ink);text-transform:none;margin:0}.case .c-desc{color:var(--color-ink-3);margin:0 0 26px}.scope dt{font-family:var(--font-mono);color:var(--color-ink-4);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:11px}.scope dd{color:var(--color-ink-3);margin:0 0 18px;font-size:.92rem;line-height:1.7}@media (max-width:860px){.case .c-left,.case .c-right{grid-column:1/-1}}.cards-grid{grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.5vw,40px);margin-top:clamp(28px,3.2vw,44px);display:grid}.card{flex-direction:column;display:flex}.card .c-meta{font-family:var(--font-mono);color:var(--color-ink-4);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;align-items:baseline;margin:18px 0 10px;font-size:11px;display:flex}.card-title{font-family:var(--font-display);color:var(--color-ink);text-transform:none;letter-spacing:-.02em;margin:0 0 10px;font-size:1.35rem;font-weight:500;line-height:1.12}.card p{color:var(--color-ink-3);flex:1;margin:0 0 16px;font-size:.95rem}@media (max-width:900px){.cards-grid{grid-template-columns:1fr 1fr}}@media (max-width:620px){.cards-grid{grid-template-columns:1fr}}.also{flex-wrap:wrap;gap:10px 14px;margin-top:26px;display:flex}.also .a-item{background-color:var(--color-surface);font-family:var(--font-body);color:var(--color-ink-2);border:1px solid var(--color-line);border-radius:999px;padding:8px 16px;font-size:.9rem;font-weight:500}.svc-index{padding-block:var(--section-y);background-color:var(--color-surface);border-block:1px solid var(--color-line)}.svc-row{border-top:1px solid var(--color-line);grid-template-columns:64px 1fr auto;align-items:baseline;gap:clamp(16px,3vw,48px);padding:clamp(24px,3vw,40px) 0;display:grid}.svc-row:last-child{border-bottom:1px solid var(--color-line)}.svc-row .n{font-family:var(--font-mono);color:var(--color-brand-ink);font-size:13px}.svc-title{font-family:var(--font-display);color:var(--color-ink);text-transform:none;letter-spacing:-.02em;margin:0;font-size:clamp(1.4rem,2.2vw,1.875rem);font-weight:500}.svc-row p{color:var(--color-ink-3);max-width:52ch;margin:10px 0 0}@media (max-width:720px){.svc-row{grid-template-columns:40px 1fr}.svc-row .link-arw{grid-column:2;margin-top:12px}}.approach{padding-block:var(--section-y)}.steps{grid-template-columns:repeat(4,1fr);gap:clamp(20px,2.5vw,40px);margin-top:clamp(28px,3.5vw,48px);display:grid}.step .num{font-family:var(--font-mono);color:var(--color-brand-ink);letter-spacing:.1em;font-size:13px;font-weight:700}.step .bar{background:linear-gradient(90deg, var(--color-brand), transparent);border-radius:2px;height:3px;margin:10px 0 16px}.step h3{font-family:var(--font-display);color:var(--color-ink);text-transform:none;letter-spacing:-.015em;margin:0 0 8px;font-size:1.2rem;font-weight:500}.step p{color:var(--color-ink-3);margin:0;font-size:.95rem}@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}}@media (max-width:560px){.steps{grid-template-columns:1fr}}.cta-band{padding-block:var(--section-y);text-align:center;border-top:1px solid var(--color-line)}.cta-title{font-family:var(--font-display);font-size:var(--text-display-l);line-height:var(--tw-leading,var(--text-display-l--line-height));letter-spacing:var(--tw-tracking,var(--text-display-l--letter-spacing));font-weight:var(--tw-font-weight,var(--text-display-l--font-weight));color:var(--color-ink);text-transform:none;margin:0}.cta-band .cta-sub{color:var(--color-ink-3);max-width:48ch;margin:14px auto 26px}.cta-actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.util-page{min-height:70vh;padding-block:clamp(96px, 12vw, 160px) var(--section-y)}.site-footer{background-color:var(--color-ink);color:#cfd2d6;font-family:var(--font-body);padding-block:clamp(56px,7vw,88px) 28px}.foot-top{grid-template-columns:1.6fr 1fr 1fr 1fr;gap:clamp(24px,3vw,48px);display:grid}.site-footer .f-brand{font-family:var(--font-display);color:#fff;letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.3rem;font-weight:700;display:inline-flex}.site-footer .f-brand .dot{background-color:var(--color-brand);border-radius:50%;width:10px;height:10px;display:inline-block}.site-footer .f-tag{color:#9aa0a6;max-width:34ch;margin:16px 0 0;font-size:.95rem}.site-footer h4{font-family:var(--font-mono);text-transform:uppercase;color:#fff;letter-spacing:.12em;margin:0 0 16px;font-size:11px}.site-footer .f-links{flex-direction:column;gap:10px;display:flex}.site-footer .f-links a{color:#cfd2d6;font-size:.95rem;transition:color .2s}.site-footer .f-links a:hover{color:#fff}.site-footer address{color:#9aa0a6;font-size:.95rem;font-style:normal;line-height:1.9}.site-footer address a{color:#cfd2d6;transition:color .2s}.site-footer address a:hover{color:#fff}.site-footer .f-links span{color:#9aa0a6;font-size:.95rem}.site-footer .f-bottom{font-family:var(--font-mono);color:#9aa0a6;border-top:1px solid #ffffff1f;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:clamp(40px,5vw,64px);padding-top:22px;font-size:11.5px;display:flex}@media (max-width:860px){.foot-top{grid-template-columns:1fr 1fr}}@media (max-width:520px){.foot-top{grid-template-columns:1fr}}.site-nav-logo{align-items:center;gap:11px;padding:2px 0;display:inline-flex}.site-nav-logo img{width:auto;height:36px;display:block}.site-nav-logo span{font-family:var(--font-display);color:var(--color-ink);letter-spacing:-.02em;font-size:1.3rem;font-weight:700}.site-nav.is-scrolled .site-nav-logo img{height:31px}@media (prefers-reduced-motion:no-preference){.site-nav-logo img{transition:height .3s}}.site-footer .f-logo{align-items:center;gap:12px;margin-bottom:4px;display:inline-flex}.site-footer .f-logo img{filter:brightness(0)invert();width:auto;height:44px;display:block}.site-footer .f-logo span{font-family:var(--font-display);color:#fff;letter-spacing:-.02em;font-size:1.4rem;font-weight:700}.field{margin-bottom:22px}.field-label{font-family:var(--font-mono);color:var(--color-ink-4);text-transform:uppercase;letter-spacing:.12em;margin-bottom:9px;font-size:11px;display:block}.field-input{background-color:var(--color-surface);font-family:var(--font-body);color:var(--color-ink);border:1px solid var(--color-line-2);appearance:none;border-radius:10px;outline:none;width:100%;padding:12px 15px;font-size:.95rem;line-height:1.5;transition:border-color .18s,box-shadow .18s,background-color .18s;display:block}.field-input::placeholder{color:var(--color-ink-4);opacity:1}.field-input:hover{border-color:var(--color-ink-4)}.field-input:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px #2caadf38}@supports (color:color-mix(in lab, red, red)){.field-input:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-brand) 22%, transparent)}}textarea.field-input{resize:vertical;min-height:156px}.field-input.invalid{border-color:var(--color-error);background-color:#fef5f5}@supports (color:color-mix(in lab, red, red)){.field-input.invalid{background-color:color-mix(in srgb, var(--color-error) 4%, var(--color-surface))}}.field-input.invalid:focus{border-color:var(--color-error);box-shadow:0 0 0 3px #e8000033}@supports (color:color-mix(in lab, red, red)){.field-input.invalid:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-error) 20%, transparent)}}.field-error{font-family:var(--font-body);color:var(--color-error);align-items:center;gap:7px;margin-top:8px;font-size:.8rem;font-weight:500;display:flex}.field-error:before{content:"";background:linear-gradient(currentColor,currentColor) 50% 3px/1.5px 5px no-repeat,linear-gradient(currentColor,currentColor) 50% 10px/1.5px 1.5px no-repeat;border:1.5px solid;border-radius:50%;flex:none;width:14px;height:14px}@media (prefers-reduced-motion:reduce){.field-input{transition:none}}.contact-meta{border-top:1px solid var(--color-line);flex-wrap:wrap;gap:18px 64px;margin-top:clamp(40px,6vw,72px);padding-top:24px;display:flex}.contact-meta p{margin:7px 0 0;font-size:.98rem}.scope-list{grid-template-columns:1fr 1fr;gap:11px 28px;margin:0;padding:0;list-style:none;display:grid}.scope-list li{color:var(--color-ink-3);padding-left:18px;font-size:.92rem;line-height:1.45;position:relative}.scope-list li:before{content:"";background-color:var(--color-brand);border-radius:50%;width:6px;height:6px;position:absolute;top:.55em;left:0}@media (max-width:560px){.scope-list{grid-template-columns:1fr}}.project-row{grid-template-columns:repeat(12,1fr);align-items:center;gap:clamp(28px,4vw,64px);margin-top:clamp(56px,7vw,96px);display:grid}.project-row .pr-cover{grid-column:1/span 6}.project-row .pr-body{grid-column:8/span 5}.project-row.flip .pr-cover{order:2;grid-column:7/span 6}.project-row.flip .pr-body{order:1;grid-column:1/span 5}.pr-domain{font-family:var(--font-mono);color:var(--color-brand-ink);text-transform:uppercase;letter-spacing:.1em;margin-bottom:14px;font-size:11px;display:block}.pr-body .case-title{margin:0 0 16px}.pr-body .tags,.pr-body .scope-list{margin-bottom:18px}@media (max-width:860px){.project-row{grid-template-columns:1fr;gap:24px}.project-row .pr-cover,.project-row .pr-body,.project-row.flip .pr-cover,.project-row.flip .pr-body{order:initial;grid-column:1/-1}}.ad-grid{border-top:1px solid var(--color-line);grid-template-columns:1fr 1fr;margin-top:clamp(28px,3.5vw,44px);display:grid}.ad-item{border-bottom:1px solid var(--color-line);align-items:baseline;gap:18px;padding:clamp(20px,2.5vw,30px) 0;display:flex}.ad-item:nth-child(odd){border-right:1px solid var(--color-line);padding-right:clamp(20px,3vw,48px)}.ad-item:nth-child(2n){padding-left:clamp(20px,3vw,48px)}.ad-item .n{font-family:var(--font-mono);color:var(--color-brand-ink);flex:none;font-size:13px}.ad-title{font-family:var(--font-display);color:var(--color-ink);text-transform:none;letter-spacing:-.015em;margin:0;font-size:1.2rem;font-weight:500}.ad-sector{font-family:var(--font-mono);color:var(--color-ink-4);text-transform:uppercase;letter-spacing:.08em;margin-top:7px;font-size:11px;display:block}@media (max-width:620px){.ad-grid{grid-template-columns:1fr}.ad-item:nth-child(odd){border-right:0;padding-right:0}.ad-item:nth-child(2n){padding-left:0}}.svc-incl{font-family:var(--font-mono);color:var(--color-ink-4);text-transform:uppercase;letter-spacing:.1em;margin:22px 0 12px;font-size:11px;display:block}.svc-row .scope-list{max-width:620px}.statement{padding-block:var(--section-y);background-color:var(--color-surface);border-block:1px solid var(--color-line)}.statement-grid{grid-template-columns:1fr;gap:clamp(24px,4vw,64px);display:grid}.statement-lead{font-family:var(--font-display);color:var(--color-ink);text-transform:none;letter-spacing:-.02em;max-width:20ch;margin:18px 0 0;font-size:clamp(1.6rem,1rem + 2.6vw,2.5rem);font-weight:500;line-height:1.16}.statement-body p{color:var(--color-ink-3);max-width:56ch;margin:0 0 16px}.statement-body p:last-child{margin-bottom:0}@media (min-width:900px){.statement-grid{grid-template-columns:1.1fr 1fr;align-items:start}}.principles-grid{border-top:1px solid var(--color-line);grid-template-columns:1fr 1fr;margin-top:clamp(28px,3.5vw,44px);display:grid}.principle{border-bottom:1px solid var(--color-line);padding:clamp(28px,3.5vw,44px) 0}.principle:nth-child(odd){border-right:1px solid var(--color-line);padding-right:clamp(24px,3.5vw,56px)}.principle:nth-child(2n){padding-left:clamp(24px,3.5vw,56px)}.principle .n{font-family:var(--font-mono);color:var(--color-brand-ink);margin-bottom:14px;font-size:13px;display:block}.principle h3{font-family:var(--font-display);color:var(--color-ink);text-transform:none;letter-spacing:-.015em;margin:0 0 10px;font-size:clamp(1.3rem,1.8vw,1.6rem);font-weight:500}.principle p{color:var(--color-ink-3);max-width:44ch;margin:0;font-size:.98rem;line-height:1.55}@media (max-width:620px){.principles-grid{grid-template-columns:1fr}.principle:nth-child(odd){border-right:0;padding-right:0}.principle:nth-child(2n){padding-left:0}}.studio-statement{border-top:1px solid var(--color-line);padding-block:clamp(72px,9vw,140px)}.studio-statement p{font-family:var(--font-display);color:var(--color-ink);text-transform:none;letter-spacing:-.025em;max-width:22ch;margin:0;font-size:clamp(1.85rem,1rem + 3.6vw,3.25rem);font-weight:500;line-height:1.12}@media (prefers-reduced-motion:no-preference){.svc-row>.n,.svc-row>div{transition:transform .3s cubic-bezier(.22,1,.36,1)}.svc-row:hover>.n{transform:translate(3px)}.svc-row:hover>div{transform:translate(7px)}.project-row .cover-ph{transition:transform .45s cubic-bezier(.22,1,.36,1)}.project-row:hover .cover-ph{transform:translateY(-4px)}.project-row:hover .cover-ph img{transform:scale(1.04)}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-font-weight{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}