*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{color-scheme:light dark;--bg-primary: #F4F5F2;--bg-secondary: #EBEDE8;--bg-tertiary: #DFE2DC;--bg-elevated: #FFFFFF;--bg-inverse: #17191C;--bg-header: rgba(244, 245, 242, .84);--text-primary: #17191C;--text-secondary: #42464C;--text-muted: #5B6067;--text-dim: #666B72;--text-disabled: #9DA1A6;--text-inverse: #F4F5F2;--accent: #0B6E60;--accent-hover: #075246;--accent-ink: #FFFFFF;--accent-subtle: rgba(11, 110, 96, .09);--border-accent: rgba(11, 110, 96, .4);--band-bg: #0B5D53;--band-text: #F2FBF8;--band-muted: rgba(242, 251, 248, .78);--band-accent: #9FEBD8;--band-border: rgba(242, 251, 248, .2);--ink-bg: #17191C;--ink-text: #F4F5F2;--ink-muted: rgba(244, 245, 242, .7);--ink-border: rgba(244, 245, 242, .16);--border-subtle: rgba(23, 25, 28, .08);--border-light: rgba(23, 25, 28, .14);--border-strong: rgba(23, 25, 28, .5);--border-ink: #17191C;--success: #13703F;--success-subtle: rgba(19, 112, 63, .1);--error: #B4231A;--error-subtle: rgba(180, 35, 26, .08);--focus-ring: 0 0 0 2px var(--bg-primary), 0 0 0 4px var(--accent);--font-display: "Schibsted Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-body: "Schibsted Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--fs-display: clamp(3rem, 1.75rem + 5.556vw, 6.75rem);--fs-h1: clamp(2.5rem, 1.917rem + 2.593vw, 4.25rem);--fs-h2: clamp(1.875rem, 1.5rem + 1.667vw, 3rem);--fs-h3: clamp(1.25rem, 1.167rem + .37vw, 1.5rem);--fs-h4: clamp(1.0625rem, 1.021rem + .185vw, 1.1875rem);--fs-lead: clamp(1.1875rem, 1.083rem + .463vw, 1.5rem);--fs-body: clamp(1rem, .979rem + .093vw, 1.0625rem);--fs-small: .875rem;--fs-label: .8125rem;--lh-display: .95;--lh-heading: 1.05;--lh-snug: 1.35;--lh-body: 1.6;--lh-label: 1.35;--ls-display: -.045em;--ls-h1: -.035em;--ls-h2: -.03em;--ls-h3: -.015em;--ls-body: 0;--ls-label: 0;--wdth-display: 100;--wdth-heading: 100;--fw-display: 700;--fw-heading: 650;--fw-body: 400;--fw-strong: 600;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--space-9: 6rem;--space-10: 8rem;--section-y: clamp(4rem, 2.833rem + 5.185vw, 7.5rem);--container-max: 75rem;--container-wide: 90rem;--container-prose: 42.5rem;--gutter: clamp(1rem, .333rem + 2.963vw, 3rem);--grid-gap: clamp(1rem, .667rem + 1.481vw, 2rem);--grid-cols: 4;--tap-min: 44px;--nav-height: 4rem;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--radius-0: 0;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--radius-app-icon: 22.37%;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(23, 25, 28, .06);--shadow-md: 0 24px 48px -28px rgba(23, 25, 28, .28);--z-nav: 1000;--z-menu: 1001;--z-curtain: 1100;--z-cursor: 1150;--z-skip: 1200;--z-loader: 1300;--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-expo: cubic-bezier(.16, 1, .3, 1);--duration-instant: .12s;--duration-tap: .22s;--duration-slow: .6s}@media(prefers-color-scheme:dark){:root{--bg-primary: #131517;--bg-secondary: #1A1D20;--bg-tertiary: #24282C;--bg-elevated: #1C1F22;--bg-inverse: #ECEEEA;--bg-header: rgba(19, 21, 23, .84);--text-primary: #ECEEEA;--text-secondary: #BCC1C5;--text-muted: #9AA0A6;--text-dim: #8D9399;--text-disabled: #5D6267;--text-inverse: #131517;--accent: #4CC9B0;--accent-hover: #7ADBC7;--accent-ink: #0C2A25;--accent-subtle: rgba(76, 201, 176, .12);--border-accent: rgba(76, 201, 176, .45);--band-bg: #0E433C;--band-text: #EAF8F4;--band-muted: rgba(234, 248, 244, .75);--band-accent: #7FE0C9;--band-border: rgba(234, 248, 244, .16);--ink-bg: #22292E;--ink-text: #ECEEEA;--ink-muted: rgba(236, 238, 234, .7);--ink-border: rgba(236, 238, 234, .14);--border-subtle: rgba(236, 238, 234, .08);--border-light: rgba(236, 238, 234, .15);--border-strong: rgba(236, 238, 234, .45);--border-ink: #ECEEEA;--success: #4FC283;--success-subtle: rgba(79, 194, 131, .12);--error: #F2776C;--error-subtle: rgba(242, 119, 108, .12);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 24px 48px -28px rgba(0, 0, 0, .7)}}@media(min-width:768px){:root{--nav-height: 4.5rem;--grid-cols: 12}}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;font-size:clamp(100%,calc(100% + (100vw - 1600px)*.0059),150%);scroll-padding-top:calc(var(--nav-height) + var(--safe-top) + var(--space-4));background:var(--bg-primary)}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{font-family:var(--font-body);font-size:var(--fs-body);font-weight:var(--fw-body);line-height:var(--lh-body);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;min-height:100svh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent}#root{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;position:relative}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--fw-heading);line-height:var(--lh-heading);letter-spacing:var(--ls-h3);color:var(--text-primary);overflow-wrap:break-word}p,li,dd,dt,td,th,summary,figcaption,blockquote,label{overflow-wrap:break-word}img,video,svg{max-width:100%}img,video{height:auto}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font:inherit;color:inherit}strong,b{font-weight:var(--fw-strong);color:var(--text-primary)}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--accent);color:var(--accent-ink)}html{scrollbar-color:var(--text-primary) var(--bg-primary);scrollbar-width:thin}.mono{font-family:var(--font-mono);font-feature-settings:"zero" 1;font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.site-header{position:fixed;inset:0 0 auto;z-index:var(--z-nav);padding-top:var(--safe-top);color:var(--text-primary);border-bottom:1px solid transparent;pointer-events:none;transition:background-color var(--duration-tap) var(--ease-out),border-color var(--duration-tap) var(--ease-out)}.site-header.is-scrolled{background:var(--bg-header);border-bottom-color:var(--border-subtle);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);pointer-events:auto}.site-header a,.site-header button,.site-header .menu-sheet{pointer-events:auto}.site-header.is-open{background:transparent;border-bottom-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.site-header__bar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);height:var(--nav-height)}.site-header__wordmark{display:inline-flex;align-items:center;min-height:var(--tap-min);min-width:0;font-weight:650;font-size:1rem;letter-spacing:-.015em;line-height:1;white-space:nowrap}.site-nav{display:none}.site-nav__list{display:flex;align-items:center;gap:var(--space-5);list-style:none}.site-nav__link{position:relative;display:inline-flex;align-items:center;min-height:var(--tap-min);font-size:.9375rem;font-weight:500;padding-left:.9rem;overflow:hidden}.site-nav__clone{position:absolute;left:.9rem;top:50%;transform:translateY(150%);transition:transform var(--duration-slow) var(--ease-expo)}.site-nav__text{display:inline-block;transition:transform var(--duration-slow) var(--ease-expo)}@media(hover:hover){.site-nav__link:hover .site-nav__text{transform:translateY(-150%)}.site-nav__link:hover .site-nav__clone{transform:translateY(-50%)}}.site-nav__link:focus-visible{outline:2px solid currentColor;outline-offset:2px}.site-nav__indicator{position:absolute;left:0;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--accent)}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:76px;min-height:var(--tap-min);padding:0 var(--space-4);margin-right:-4px;font-size:var(--fs-small);font-weight:600;color:inherit;border:1px solid currentColor;border-radius:var(--radius-full)}.menu-toggle:focus-visible{outline:2px solid currentColor;outline-offset:2px}@media(min-width:768px){.site-header__wordmark{font-size:1.0625rem}.site-nav{display:block}.menu-toggle{display:none}}.menu-sheet{position:fixed;inset:0;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;gap:var(--space-8);height:100vh;height:100dvh;padding:calc(var(--nav-height) + var(--safe-top) + var(--space-5)) max(var(--gutter),var(--safe-right)) calc(var(--space-6) + var(--safe-bottom)) max(var(--gutter),var(--safe-left));background:var(--bg-primary);color:var(--text-primary);overflow-y:auto;overscroll-behavior:contain}.menu-sheet__list{list-style:none}.menu-sheet__list li{overflow:hidden}.menu-sheet__link{display:flex;align-items:center;gap:var(--space-4);min-height:64px;color:var(--text-muted)}.menu-sheet__label{font-weight:650;font-size:clamp(2.5rem,1.5rem + 6vw,3.5rem);letter-spacing:-.035em;line-height:1}.menu-sheet__link[aria-current=page]{color:var(--text-primary)}.menu-sheet__link[aria-current=page]:after{content:"";width:10px;height:10px;border-radius:50%;background:var(--accent)}.menu-sheet__footer{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-4);padding-top:var(--space-5);border-top:1px solid var(--border-light)}.menu-sheet .menu-sheet__email{display:inline-flex;align-items:center;min-height:var(--tap-min);margin-right:auto;color:var(--text-primary)}.menu-sheet__socials{display:flex;gap:var(--space-2);list-style:none}.menu-sheet__location{width:100%;font-size:var(--fs-small);color:var(--text-muted);font-variant-numeric:tabular-nums}@media(max-height:480px){.menu-sheet{justify-content:flex-start;gap:var(--space-5)}.menu-sheet__link{min-height:48px}.menu-sheet__label{font-size:var(--fs-h3)}}.site-footer{position:relative;padding-top:var(--space-8);padding-bottom:calc(var(--space-5) + var(--safe-bottom));background:var(--bg-secondary);color:var(--text-primary);border-top:1px solid var(--border-subtle)}.site-footer__top{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-7)}@media(min-width:1024px){.site-footer__top{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start}}.site-footer__name{font-size:var(--fs-h3);font-weight:650;letter-spacing:var(--ls-h3);line-height:1.2}.site-footer__intro{max-width:24rem;margin-top:var(--space-3);font-size:var(--fs-small);line-height:1.55;color:var(--text-muted);text-wrap:pretty}.site-footer__groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}.site-footer__label{margin-bottom:var(--space-3);font-size:var(--fs-label);font-weight:600;line-height:var(--lh-label);letter-spacing:0;color:var(--text-muted)}.site-footer__list{list-style:none}.site-footer__link{display:inline-flex;align-items:center;gap:.35em;min-height:40px;font-size:var(--fs-body);font-weight:500;color:var(--text-primary);transition:color var(--duration-instant) var(--ease-out)}.site-footer__link:hover,.site-footer__signoff:hover,.site-footer__top-btn:hover{color:var(--accent)}.site-footer__link:focus-visible,.site-footer__top-btn:focus-visible,.site-footer__signoff:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.site-footer__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-5);margin-top:var(--space-8);padding-top:var(--space-4);border-top:1px solid var(--border-light);font-size:var(--fs-small);color:var(--text-muted)}.site-footer__signoff{color:var(--text-primary);font-weight:600}.site-footer__top-btn{display:inline-flex;align-items:center;min-height:var(--tap-min);font-weight:600;color:var(--text-primary)}.hero{padding-top:clamp(2.5rem,1rem + 5vw,5.5rem);padding-bottom:var(--space-8)}.hero__name{font-weight:800;line-height:.84;letter-spacing:-.065em;color:var(--text-primary);font-size:clamp(3.5rem,1rem + 15vw,13rem)}.hero__line{display:block;overflow:hidden;padding-block:.06em .2em;margin-block:-.06em -.2em}.hero__word{display:inline-block;white-space:nowrap;padding-right:.04em}.hero__dot{display:inline-block;width:.17em;height:.17em;margin-left:.04em;border-radius:50%;background:var(--accent);vertical-align:baseline}.hero__foot{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-7);margin-top:var(--space-7);padding-top:var(--space-6);border-top:2px solid var(--text-primary)}@media(min-width:900px){.hero__foot{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--space-9);margin-top:var(--space-8)}}.hero__intro{max-width:32rem;font-size:clamp(1.375rem,1.125rem + 1.11vw,2.125rem);font-weight:500;line-height:1.22;letter-spacing:-.025em;color:var(--text-primary);text-wrap:pretty}.hero__side{display:flex;flex-direction:column;gap:var(--space-6)}.hero__facts{display:grid;gap:var(--space-3);font-size:var(--fs-small)}.hero__facts>div{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:var(--space-3);align-items:baseline}.hero__facts dt{color:var(--text-muted)}.hero__facts dd{color:var(--text-primary);font-weight:500}.hero__links{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4)}.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.band-lead{margin-bottom:var(--space-9)}.band-lead__text{max-width:54rem;font-size:clamp(1.5rem,1.167rem + 1.48vw,2.5rem);font-weight:500;line-height:1.2;letter-spacing:-.03em;color:var(--band-text);text-wrap:pretty}.band-lead__link{margin-top:var(--space-5)}.lanes{display:grid;grid-template-columns:minmax(0,1fr);list-style:none}@media(min-width:900px){.lanes{grid-template-columns:repeat(3,minmax(0,1fr))}}.lane{display:flex;flex-direction:column;gap:var(--space-3);padding-block:var(--space-6);border-top:1px solid var(--band-border)}.lane:first-child{border-top:0;padding-top:0}@media(min-width:900px){.lane{padding:0 var(--space-6);border-top:0;border-left:1px solid var(--band-border)}.lane:first-child{padding-left:0;border-left:0}.lane:last-child{padding-right:0}}.lane__area{font-size:var(--fs-small);font-weight:600;color:var(--band-accent)}.lane__title{font-size:clamp(1.5rem,1.25rem + 1.1vw,2.25rem);font-weight:700;line-height:1.08;letter-spacing:-.035em;color:var(--band-text);text-wrap:balance}.lane__body{color:var(--band-muted);text-wrap:pretty;margin-bottom:var(--space-2)}.lane .tag-list{margin-top:auto}.lane__link{font-size:var(--fs-small)}.home-subhead{font-size:var(--fs-h4);font-weight:650;letter-spacing:-.015em;line-height:1.3;color:var(--text-primary);margin-bottom:var(--space-4)}.home-subhead-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-2) var(--space-5);margin-top:var(--space-9)}.home-subhead-link{font-size:var(--fs-small);margin-bottom:var(--space-4)}.proj-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4);list-style:none}@media(min-width:900px){.proj-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.proj-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6) var(--space-5) var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-top:3px solid var(--text-primary);border-radius:var(--radius-sm) var(--radius-sm) var(--radius-lg) var(--radius-lg);transition:border-color var(--duration-tap) var(--ease-out),transform var(--duration-slow) var(--ease-expo)}@media(hover:hover){.proj-card:hover{border-top-color:var(--accent);transform:translateY(-4px)}}.proj-card__head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-3)}.proj-card__title{font-size:var(--fs-h3);font-weight:700;letter-spacing:-.03em;line-height:1.15}.proj-card__desc{font-size:var(--fs-small);line-height:1.55;color:var(--text-secondary);text-wrap:pretty}.proj-card .tag-list{margin-top:auto}.proj-card__links{display:flex;flex-wrap:wrap;gap:var(--space-4);list-style:none;font-size:var(--fs-small)}.proj-card__links a{display:inline-flex;align-items:center;min-height:var(--tap-min)}.home-exp{list-style:none}.home-exp li{border-bottom:1px solid var(--border-light)}.home-exp__row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"company arrow" "role    arrow" "period  arrow";align-items:center;column-gap:var(--space-4);row-gap:var(--space-1);padding:var(--space-5) var(--space-2);margin-inline:calc(-1 * var(--space-2));border-radius:var(--radius-md);transition:background-color var(--duration-tap) var(--ease-out)}@media(min-width:768px){.home-exp__row{grid-template-columns:11rem minmax(0,1.3fr) minmax(0,1fr) auto;grid-template-areas:"period company role arrow";padding:var(--space-6) var(--space-4);margin-inline:calc(-1 * var(--space-4))}}@media(hover:hover){.home-exp__row:hover{background:var(--bg-elevated)}.home-exp__row:hover .home-exp__arrow{color:var(--accent);transform:translate(3px,-3px)}}.home-exp__row:focus-visible{outline:none;box-shadow:var(--focus-ring)}.home-exp__period{grid-area:period;display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-small);color:var(--text-muted);font-variant-numeric:tabular-nums}.home-exp__now{padding:2px 8px;font-size:.75rem;font-weight:600;color:var(--accent-ink);background:var(--accent);border-radius:var(--radius-full)}.home-exp__company{grid-area:company;font-size:clamp(1.375rem,1.167rem + .926vw,2rem);font-weight:700;letter-spacing:-.035em;line-height:1.1}.home-exp__role{grid-area:role;color:var(--text-secondary)}.home-exp__arrow{grid-area:arrow;font-size:1.25rem;color:var(--text-muted);transition:color var(--duration-tap) var(--ease-out),transform var(--duration-tap) var(--ease-out)}.app{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;position:relative;overflow-x:clip}.app>main{flex:1 0 auto}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;top:calc(var(--safe-top) + var(--space-2));left:calc(var(--safe-left) + var(--space-2));z-index:var(--z-skip);display:inline-flex;align-items:center;min-height:var(--tap-min);padding:0 var(--space-5);background:var(--bg-inverse);color:var(--text-inverse);font-size:var(--fs-small);font-weight:600;border-radius:var(--radius-full);transform:translateY(calc(-100% - var(--space-6)));transition:transform var(--duration-tap) var(--ease-out)}.skip-link:focus,.skip-link:focus-visible{transform:translateY(0)}.page{min-height:100vh;min-height:100svh;padding-top:calc(var(--nav-height) + var(--safe-top));position:relative}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-left:max(var(--gutter),var(--safe-left));padding-right:max(var(--gutter),var(--safe-right))}.section{width:100%;max-width:var(--container-max);margin-inline:auto;padding-top:var(--section-y);padding-bottom:var(--section-y);padding-left:max(var(--gutter),var(--safe-left));padding-right:max(var(--gutter),var(--safe-right));position:relative}.section+.section{padding-top:0}.page>.section:first-child{padding-top:var(--space-8)}@media(min-width:768px){.page>.section:first-child{padding-top:var(--space-10)}}.section--flush-top,.page>.section--flush-top:first-child{padding-top:0}.grid{display:grid;grid-template-columns:repeat(var(--grid-cols),minmax(0,1fr));column-gap:var(--grid-gap);row-gap:var(--space-6)}.grid>*{min-width:0}.rule{display:block;width:100%;height:0;border:0;border-top:1px solid var(--border-light)}.section-header{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4);margin-bottom:var(--space-7)}@media(min-width:768px){.section-header{grid-template-columns:minmax(0,1fr) auto;align-items:end;margin-bottom:var(--space-8)}.section-header>.section-subtitle{grid-column:1 / -1}}.section-header__row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4)}.section-header__row:not(:has(.section-label)){order:3}@media(min-width:768px){.section-header__row{grid-column:2;grid-row:1;justify-content:flex-end;padding-bottom:.4em}.section-header__row:has(.section-label){grid-column:1 / -1;grid-row:auto;justify-content:flex-start;padding-bottom:0}}.section-header__aside{font-size:var(--fs-small)}.section-header__aside a{display:inline-flex;align-items:center;min-height:var(--tap-min)}.section-label{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-small);font-weight:500;line-height:var(--lh-label);color:var(--text-muted);font-variant-numeric:tabular-nums}.section-label:before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--accent)}.section-title{font-family:var(--font-display);font-size:clamp(2.25rem,1.5rem + 3.3vw,4.25rem);font-weight:750;line-height:1;letter-spacing:-.045em;color:var(--text-primary);max-width:20ch;text-wrap:balance}.section-title--page{font-size:clamp(3rem,1.5rem + 6.7vw,7rem);font-weight:800;line-height:.95;letter-spacing:-.06em;max-width:14ch}.section-subtitle{font-size:var(--fs-lead);line-height:var(--lh-snug);color:var(--text-secondary);max-width:36rem;margin-top:var(--space-2);text-wrap:pretty}.btn{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-5);font-family:var(--font-body);font-size:.9375rem;font-weight:600;line-height:1.2;text-align:center;white-space:nowrap;border:1px solid transparent;border-radius:var(--radius-full);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--duration-slow) var(--ease-expo),border-color var(--duration-tap) var(--ease-out),background-color var(--duration-tap) var(--ease-out)}.btn:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;transform:translateY(101%);transition:transform var(--duration-slow) var(--ease-expo)}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn__icon{display:inline-flex;flex-shrink:0;transition:transform var(--duration-tap) var(--ease-out)}.btn__icon svg{width:16px;height:16px}.btn--block,.btn--block-mobile{width:100%}@media(min-width:480px){.btn--block-mobile{width:auto}}.btn--primary{background:var(--bg-inverse);color:var(--text-inverse);border-color:var(--bg-inverse)}.btn--primary:before{background:var(--accent)}.btn--primary:hover{color:var(--accent-ink)}.btn--secondary{background:transparent;color:var(--text-primary);border-color:var(--border-strong)}.btn--secondary:before{background:var(--bg-tertiary)}@media(hover:hover){.btn:hover:before{transform:translateY(0)}.btn--primary:hover{border-color:var(--accent)}.btn--secondary:hover{border-color:var(--text-primary)}.btn:hover .btn__icon{transform:translate(3px)}}.btn--primary:active{background:var(--accent-hover)}.btn--accent{background:var(--band-accent);color:#0c2a25;border-color:var(--band-accent)}.btn--accent:before{background:var(--ink-text)}.btn--ghost{background:transparent;color:var(--ink-text);border-color:var(--ink-border)}.btn--ghost:before{background:var(--ink-text)}@media(hover:hover){.btn--ghost:hover{color:var(--ink-bg);border-color:var(--ink-text)}}.btn--primary:disabled,.btn--primary[aria-disabled=true]{background:var(--bg-tertiary);border-color:var(--bg-tertiary);color:var(--text-dim);cursor:not-allowed}.btn--secondary:disabled,.btn--secondary[aria-disabled=true]{border-color:var(--border-light);color:var(--text-disabled);cursor:not-allowed}.btn:disabled:before,.btn[aria-disabled=true]:before{display:none}.btn:disabled .btn__icon,.btn[aria-disabled=true] .btn__icon{transform:none}.text-link{color:var(--text-primary);font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:var(--border-strong);text-underline-offset:.25em;transition:color var(--duration-instant) var(--ease-out),text-decoration-color var(--duration-instant) var(--ease-out)}.btn--text{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--tap-min);padding:0;border:0;border-radius:0;color:var(--text-primary);font-weight:500;font-size:inherit;text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:.25em;white-space:normal;text-align:left;overflow:visible;background:none}.btn--text:before{display:none}@media(hover:hover){.text-link:hover,.btn--text:hover{color:var(--accent);text-decoration-color:currentColor}}.text-link:focus-visible,.btn--text:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:2px}.btn--text:disabled,.btn--text[aria-disabled=true]{color:var(--text-disabled);background:none;cursor:not-allowed}.text-link--quiet{color:var(--text-secondary);text-decoration-color:var(--border-light)}.break-anywhere{overflow-wrap:anywhere}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--tap-min);height:var(--tap-min);flex-shrink:0;color:var(--text-primary);background:transparent;border:1px solid var(--border-light);border-radius:50%;transition:color var(--duration-tap) var(--ease-out),border-color var(--duration-tap) var(--ease-out),background-color var(--duration-tap) var(--ease-out)}.icon-btn svg{width:18px;height:18px}.icon-btn:hover{color:var(--text-inverse);background:var(--text-primary);border-color:var(--text-primary)}.icon-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.tag-list{display:flex;flex-wrap:wrap;gap:var(--space-1);list-style:none;padding:0}.tag{display:inline-flex;align-items:center;height:26px;padding:0 var(--space-3);font-size:var(--fs-label);font-weight:500;line-height:1;color:var(--text-secondary);border:1px solid var(--border-light);border-radius:var(--radius-full);white-space:nowrap}.chip{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--tap-min);padding:0 var(--space-4);font-size:var(--fs-small);font-weight:500;color:var(--text-secondary);background:transparent;border:1px solid var(--border-light);border-radius:var(--radius-full);white-space:nowrap;flex-shrink:0;cursor:pointer;transition:background-color var(--duration-tap) var(--ease-out),border-color var(--duration-tap) var(--ease-out),color var(--duration-tap) var(--ease-out)}.chip:hover{border-color:var(--text-primary);color:var(--text-primary)}.chip[aria-pressed=true]{background:var(--bg-inverse);border-color:var(--bg-inverse);color:var(--text-inverse)}.chip:focus-visible{outline:none;box-shadow:var(--focus-ring)}.chip:disabled{color:var(--text-disabled);border-color:var(--border-subtle);cursor:not-allowed}.chip__count{font-size:var(--fs-label);font-variant-numeric:tabular-nums;opacity:.6}.chip-rail{display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);list-style:none}.chip-rail::-webkit-scrollbar{display:none}.chip-rail>*{scroll-snap-align:start}@media(min-width:768px){.chip-rail{flex-wrap:wrap;overflow-x:visible;margin-inline:0;padding-inline:0}}.status{display:inline-flex;align-items:center;gap:.5em;font-size:var(--fs-label);font-weight:600;line-height:1;white-space:nowrap;color:var(--text-secondary)}.status:before{content:"";width:7px;height:7px;flex-shrink:0;border-radius:50%;background:currentColor}.status--live{color:var(--success)}.status--live:before{animation:status-pulse 2.4s var(--ease-out) 3}.status--oss{color:var(--text-secondary)}.status--soon{color:var(--text-muted)}.status--soon:before{background:transparent;border:1.5px solid currentColor}@keyframes status-pulse{0%,to{box-shadow:0 0 #13703f73}60%{box-shadow:0 0 0 6px #13703f00}}.app-icon{display:block;width:56px;height:56px;flex-shrink:0;object-fit:cover;border-radius:var(--radius-app-icon);outline:1px solid var(--border-subtle);outline-offset:-1px}.form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-6)}@media(min-width:768px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid>.field--full{grid-column:1 / -1}}.field{display:flex;flex-direction:column;min-width:0}.field-label{font-size:var(--fs-small);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-1)}.field-required{color:var(--accent)}.field-input{display:block;width:100%;min-height:52px;padding:0;font-size:18px;line-height:1.4;color:var(--text-primary);background:transparent;border:0;border-bottom:1px solid var(--border-strong);border-radius:0;appearance:none;transition:border-color var(--duration-instant) var(--ease-out),box-shadow var(--duration-instant) var(--ease-out);scroll-margin-top:calc(var(--nav-height) + var(--space-6))}textarea.field-input{min-height:9rem;padding:var(--space-3) 0;resize:vertical}.field-input::placeholder{color:var(--text-dim);opacity:1}.field-input:hover{border-bottom-color:var(--text-primary)}.field-input:focus,.field-input:focus-visible{outline:none;border-bottom-color:var(--accent);box-shadow:0 1px 0 0 var(--accent)}.field-input[aria-invalid=true]{border-bottom-color:var(--error);box-shadow:0 1px 0 0 var(--error)}.field-input:disabled{border-bottom-color:var(--border-subtle);color:var(--text-disabled);cursor:not-allowed}.field-help{font-size:var(--fs-small);color:var(--text-muted);margin-top:var(--space-2)}.field-error{display:flex;align-items:flex-start;gap:var(--space-1);font-size:var(--fs-small);color:var(--error);margin-top:var(--space-2)}.field-error svg{width:16px;height:16px;flex-shrink:0;margin-top:.15em}.form-feedback{padding:var(--space-4) var(--space-5);font-size:var(--fs-small);border-left:3px solid currentColor}.form-feedback--success{color:var(--success);background:var(--success-subtle)}.form-feedback--error{color:var(--error);background:var(--error-subtle)}#main:focus{outline:none}.spec-table{display:grid;grid-template-columns:minmax(0,1fr);border-top:1px solid var(--text-primary)}.spec-table__row{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-1);padding-block:var(--space-4);border-bottom:1px solid var(--border-light)}.spec-table__label{font-size:var(--fs-small);font-weight:600;line-height:var(--lh-label);color:var(--text-primary)}.spec-table__value{font-size:var(--fs-body);line-height:var(--lh-snug);color:var(--text-secondary)}@media(min-width:640px){.spec-table__row{grid-template-columns:12rem minmax(0,1fr);gap:var(--space-5);align-items:baseline}}.band{position:relative}.band--teal{background:var(--band-bg);color:var(--band-text)}.band--soft{background:var(--bg-secondary)}.band--ink{background:var(--ink-bg);color:var(--ink-text)}.band>.section.section{padding-top:var(--section-y);padding-bottom:var(--section-y)}.band--teal .tag{color:var(--band-text);border-color:var(--band-border)}.band--teal .text-link,.band--ink .text-link{color:inherit;text-decoration-color:currentColor}.band--teal .text-link:hover,.band--ink .text-link:hover{color:var(--band-accent)}.band--teal :focus-visible,.band--ink :focus-visible{outline-color:var(--band-accent)}.chapter-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:var(--space-5);row-gap:var(--space-2);margin-bottom:var(--space-8);padding-bottom:var(--space-5);border-bottom:2px solid var(--text-primary)}.chapter-head__index{grid-column:1 / -1;font-size:clamp(3.5rem,2rem + 6vw,7.5rem);font-weight:300;line-height:.85;letter-spacing:-.05em;font-variant-numeric:tabular-nums;color:var(--accent)}.chapter-head__title{font-size:clamp(2.25rem,1.5rem + 3.3vw,4.5rem);font-weight:750;line-height:1;letter-spacing:-.045em}.chapter-head__aside{font-size:var(--fs-small);padding-bottom:.4em}.chapter-head__aside a{display:inline-flex;align-items:center;min-height:var(--tap-min)}.chapter-head--band{border-bottom-color:var(--band-border)}.chapter-head--band .chapter-head__index{color:var(--band-accent)}.chapter-head--band .chapter-head__title{color:var(--band-text)}.app-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4)}@media(min-width:640px){.app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.app-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.app-grid>*{grid-column:span 2}.app-grid>:nth-child(-n+2){grid-column:span 3}.app-grid>:nth-child(-n+2) .app-icon.app-card__icon{width:112px;height:112px}}.app-card{--app-wash: color-mix(in srgb, var(--app-color, var(--accent)) 16%, var(--bg-elevated));display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:transform var(--duration-slow) var(--ease-expo),box-shadow var(--duration-slow) var(--ease-expo),border-color var(--duration-tap) var(--ease-out)}.app-card__field{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3);padding:var(--space-6) var(--space-5) var(--space-5);background:radial-gradient(120% 90% at 0% 0%,color-mix(in srgb,var(--app-color, var(--accent)) 28%,transparent),transparent 70%),var(--app-wash)}.app-icon.app-card__icon{width:88px;height:88px;box-shadow:0 18px 36px -16px color-mix(in srgb,var(--app-color, #000) 70%,transparent);transition:transform var(--duration-slow) var(--ease-expo)}.app-card__status{padding:5px 10px;background:var(--bg-elevated);border-radius:var(--radius-full)}.app-card__body{display:flex;flex-direction:column;gap:var(--space-3);flex:1;padding:var(--space-5)}.app-card__name{font-size:var(--fs-h3);font-weight:700;line-height:1.15;letter-spacing:-.03em}.app-card__desc{font-size:var(--fs-small);line-height:1.55;color:var(--text-secondary);text-wrap:pretty}.app-card__actions{margin-top:auto;padding-top:var(--space-2)}.app-card__soon{display:inline-flex;align-items:center;min-height:40px;font-size:var(--fs-small);font-weight:500;color:var(--text-muted)}.app-card__legal{display:flex;flex-wrap:wrap;gap:0 var(--space-5);list-style:none;font-size:var(--fs-small)}.app-card__legal a{display:inline-flex;align-items:center;min-height:var(--tap-min)}@media(hover:hover){.app-card:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--app-color, var(--accent)) 45%,transparent);box-shadow:0 30px 50px -30px color-mix(in srgb,var(--app-color, #000) 60%,transparent)}.app-card:hover .app-card__icon{transform:rotate(-6deg) scale(1.06)}}.store-btn{display:inline-flex;align-items:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-4);font-size:var(--fs-small);font-weight:600;color:var(--text-inverse);background:var(--bg-inverse);border-radius:var(--radius-full);transition:background-color var(--duration-tap) var(--ease-out),color var(--duration-tap) var(--ease-out)}.store-btn svg{transition:transform var(--duration-tap) var(--ease-out)}.store-btn--source{color:var(--text-primary);background:transparent;box-shadow:inset 0 0 0 1px var(--border-strong)}@media(hover:hover){.store-btn:hover{background:var(--accent);color:var(--accent-ink)}.store-btn--source:hover{box-shadow:none}.store-btn:hover svg{transform:translate(2px,-2px)}}.store-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.closing-cta__index{display:block;margin-bottom:var(--space-4);font-size:clamp(3.5rem,2rem + 6vw,7.5rem);font-weight:300;line-height:.85;letter-spacing:-.05em;font-variant-numeric:tabular-nums;color:var(--band-accent)}.closing-cta__title{font-size:clamp(3.5rem,1rem + 11vw,11rem);font-weight:800;line-height:.88;letter-spacing:-.06em;color:var(--ink-text)}.closing-cta__row{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-6);margin-top:var(--space-7);padding-top:var(--space-6);border-top:1px solid var(--ink-border)}@media(min-width:900px){.closing-cta__row{grid-template-columns:minmax(0,1fr) auto;align-items:end}}.closing-cta__lede{max-width:34rem;font-size:var(--fs-lead);line-height:var(--lh-snug);color:var(--ink-text);text-wrap:pretty}.closing-cta__reply{display:block;margin-top:var(--space-2);font-size:var(--fs-body);color:var(--ink-muted)}.closing-cta__actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}#main h1[tabindex="-1"]:focus{outline:none}.magnetic{display:inline-flex;will-change:transform}.cursor{position:fixed;top:0;left:0;z-index:var(--z-cursor);pointer-events:none;display:flex;align-items:center;justify-content:center;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#fff;mix-blend-mode:difference;opacity:0;transition:width var(--duration-slow) var(--ease-expo),height var(--duration-slow) var(--ease-expo),margin var(--duration-slow) var(--ease-expo),opacity var(--duration-tap) var(--ease-out),background-color var(--duration-tap) var(--ease-out);will-change:transform}.cursor.is-visible{opacity:1}.cursor.is-link{width:48px;height:48px;margin:-24px 0 0 -24px}.cursor.is-label{width:96px;height:96px;margin:-48px 0 0 -48px;background:var(--accent);mix-blend-mode:normal}.cursor.is-text{opacity:0}.cursor__label{font-size:var(--fs-small);font-weight:700;font-variation-settings:"wdth" 112;color:#fff;opacity:0;transform:scale(.6);transition:opacity var(--duration-tap) var(--ease-out),transform var(--duration-slow) var(--ease-expo)}.cursor.is-label .cursor__label{opacity:1;transform:none}.curtain{position:fixed;inset:0;z-index:var(--z-curtain);pointer-events:none;background:var(--bg-inverse);transform-origin:50% 0%}.preloader{position:fixed;inset:0;z-index:var(--z-loader);display:flex;flex-direction:column;justify-content:space-between;padding:calc(var(--safe-top) + var(--space-5)) max(var(--gutter),var(--safe-right)) calc(var(--safe-bottom) + var(--space-5)) max(var(--gutter),var(--safe-left));background:var(--bg-inverse);color:var(--text-inverse)}.preloader__top{display:flex;justify-content:space-between;gap:var(--space-4);font-size:var(--fs-small);font-weight:500;opacity:.7}.preloader__count{font-size:clamp(6rem,3rem + 18vw,18rem);font-weight:800;font-variation-settings:"wdth" 125;font-variant-numeric:tabular-nums;line-height:.8;letter-spacing:-.04em;text-align:right}.preloader__bar{height:2px;margin-top:var(--space-5);background:var(--accent);transform-origin:0 50%}.marquee{display:flex;overflow:hidden;-webkit-user-select:none;user-select:none}.marquee__track{display:flex;flex-shrink:0;align-items:center;gap:var(--marquee-gap, 2rem);padding-right:var(--marquee-gap, 2rem);list-style:none;animation:marquee var(--marquee-duration, 40s) linear infinite}.marquee--reverse .marquee__track{animation-direction:reverse}@keyframes marquee{to{transform:translate(-100%)}}@media(prefers-reduced-motion:reduce){.marquee__track{animation:none;flex-wrap:wrap}.marquee__track[aria-hidden=true]{display:none}}.scroll-words__word{display:inline-block;text-indent:0}
