.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--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-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"Geist Mono", ui-monospace, "JetBrains Mono", SFMono-Regular, Menlo, monospace;--spacing:.25rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:#f2f2f2;--color-paper:#fbf9f3;--color-ink:#161616;--color-ink-2:#2a2a2a;--color-mute:#737373;--color-line:#cfcfcf;--color-line-2:#e0e0e0;--color-accent:#b7411e;--color-accent-hover:#8e2f11;--color-primary:#0000fe;--color-primary-hover:#3636ff;--color-primary-ink:#fff;--color-link-hover:#0000fe;--color-ok:#2f6b3f;--container-max:1920px}}@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;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}html{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{background-color:var(--color-bg);color:var(--color-ink);letter-spacing:-.005em;text-rendering:optimizelegibility;font-size:16px;font-weight:400;line-height:1.55}h1,h2,h3{letter-spacing:-.025em;font-weight:500}em,i,cite{color:var(--mute);font-style:normal;font-weight:400}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-6{height:calc(var(--spacing) * 6)}.w-auto{width:auto}.flex-shrink,.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.bg-paper{background-color:var(--color-paper)}.text-ink{color:var(--color-ink)}.italic{font-style:italic}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root[data-theme=dark]{--color-bg:#0a0a0a;--color-paper:#1c1c1c;--color-ink:#fff;--color-ink-2:#d6d6d6;--color-mute:#9b9b9b;--color-line:#525252;--color-line-2:#3c3c3c;--color-accent:#e26a3e;--color-accent-hover:#f08858;--color-primary:#5878ff;--color-primary-ink:#161616;--color-link-hover:#2ecc71}:root{--gutter:clamp(20px, 5vw, 56px);--section-gutter:clamp(44px, calc(1.4vw + 32px) , 52px);--section-pad-v:clamp(80px, 10vw, 140px);--section-space:clamp(96px, 12vw, 160px);--space-section:clamp(36px, 5.5vw, 84px);--space-row:clamp(28px, 3.4vw, 48px);--space-tight:clamp(16px, 1.6vw, 24px);--gd-tile-bg:#dce4ef;--marlowe-tile-bg:#ece4f4;--mh-tile-bg:#d8e4dc;--dyson-tile-bg:#e8e8e8;--itf-tile-bg:#d8e4d8;--sq-tile-bg:#e8e8e8}:root[data-theme=dark]{--gd-tile-bg:#080c1c;--marlowe-tile-bg:#1a1024;--mh-tile-bg:#0e1810;--dyson-tile-bg:#1e1e1e;--itf-tile-bg:#0e1810;--sq-tile-bg:#1e1e1e}:root{--bg:var(--color-bg);--paper:var(--color-paper);--ink:var(--color-ink);--ink-2:var(--color-ink-2);--mute:var(--color-mute);--line:var(--color-line);--line-2:var(--color-line-2);--accent:var(--color-accent);--accent-hover:var(--color-accent-hover);--primary:var(--color-primary);--primary-hover:var(--color-primary-hover);--primary-ink:var(--color-primary-ink);--link-hover:var(--color-link-hover);--ok:var(--color-ok);--sans:var(--font-sans);--mono:var(--font-mono);--max:1920px;--btn-h:60px;--nav-bg:#fff;--nav-border:#0000000f;--nav-shadow:0 6px 24px -12px #0f16321a;--icon-btn-bg:#ebebeb;--icon-btn-hover:#dcdcdc}:root[data-theme=dark]{--nav-bg:#000;--nav-border:#ffffff0f;--nav-shadow:0 6px 24px -12px #00000080;--icon-btn-bg:#ffffff0f;--icon-btn-hover:#ffffff1f}.dp-trend{vertical-align:super;letter-spacing:0;font-size:.48em;font-weight:400;line-height:1}.dp-trend--up{color:var(--ok)}.dp-trend--down{color:var(--accent)}.datapoint-rule{background:var(--datapoint-rule-color,var(--line-2));pointer-events:none;height:1px;position:absolute;top:0;left:0;right:0;overflow:hidden}.datapoint-rule:after{content:"";background:linear-gradient(90deg,transparent 0%,var(--datapoint-pulse-color,#1616168c) 50%,transparent 100%);width:32%;height:100%;animation:5s cubic-bezier(.45,.05,.55,.95) infinite datapoint-pulse;animation-delay:var(--datapoint-pulse-delay,0s);position:absolute;top:0;left:-32%}@keyframes datapoint-pulse{0%{left:-32%}55%{left:100%}to{left:100%}}@media(prefers-reduced-motion:reduce){.datapoint-rule:after{opacity:0;animation:none}}.csr-hero-stat:nth-of-type(2),.tile-data li:nth-of-type(2){--datapoint-pulse-delay:.6s}.csr-hero-stat:nth-of-type(3),.tile-data li:nth-of-type(3){--datapoint-pulse-delay:1.2s}.icon-sun,:root[data-theme=dark] .icon-moon{display:none}:root[data-theme=dark] .icon-sun{display:inline}.theme-transitioning,.theme-transitioning *,.theme-transitioning :before,.theme-transitioning :after{transition:background-color .45s,color .45s,border-color .45s,fill .45s,stroke .45s,box-shadow .45s,opacity .45s}.wrap{max-width:var(--max);padding-inline:var(--gutter);margin:0 auto}.csr-flow>*+*{margin-top:var(--space-section)}.stack>*+*{margin-top:var(--space-row)}.section-head{margin-bottom:clamp(48px,4vw,66px)}section[id],footer[id]{scroll-margin-top:clamp(140px,13vw,176px)}@keyframes pageFadeIn{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:no-preference){html.is-first-paint body.page-home{animation:2s cubic-bezier(.22,1,.36,1) both pageFadeIn}}@keyframes vt-fade-in{0%{opacity:0;transform:translateY(8px)}}@keyframes vt-fade-out{to{opacity:0;transform:translateY(-6px)}}::view-transition-old(root){animation:.16s cubic-bezier(.4,0,.2,1) both vt-fade-out}::view-transition-new(root){animation:.18s cubic-bezier(.4,0,.2,1) both vt-fade-in}@media(prefers-reduced-motion:reduce){::view-transition-old(root){animation:.2s both fade-vt-reduced}::view-transition-new(root){animation:.2s both fade-vt-reduced}@keyframes fade-vt-reduced{0%{opacity:0}}}::view-transition-group(site-nav){animation:none}::view-transition-group(site-menu){animation:none}::view-transition-old(site-nav){mix-blend-mode:normal;opacity:1;animation:none}::view-transition-new(site-nav){mix-blend-mode:normal;opacity:1;animation:none}::view-transition-old(site-menu){mix-blend-mode:normal;opacity:1;animation:none}::view-transition-new(site-menu){mix-blend-mode:normal;opacity:1;animation:none}html.theme-vt::view-transition-group(root){animation:none}html.theme-vt::view-transition-group(site-nav){animation:none}html.theme-vt::view-transition-group(site-menu){animation:none}html.theme-vt::view-transition-old(root){mix-blend-mode:plus-lighter;opacity:1;animation-duration:.45s;animation-timing-function:ease;animation-fill-mode:both}html.theme-vt::view-transition-new(root){mix-blend-mode:plus-lighter;opacity:1;animation-duration:.45s;animation-timing-function:ease;animation-fill-mode:both}html.theme-vt::view-transition-old(site-nav){mix-blend-mode:plus-lighter;opacity:1;animation-duration:.45s;animation-timing-function:ease;animation-fill-mode:both}html.theme-vt::view-transition-new(site-nav){mix-blend-mode:plus-lighter;opacity:1;animation-duration:.45s;animation-timing-function:ease;animation-fill-mode:both}html.theme-vt::view-transition-old(site-menu){mix-blend-mode:plus-lighter;opacity:1;animation-duration:.45s;animation-timing-function:ease;animation-fill-mode:both}html.theme-vt::view-transition-new(site-menu){mix-blend-mode:plus-lighter;opacity:1;animation-duration:.45s;animation-timing-function:ease;animation-fill-mode:both}html.theme-vt::view-transition-old(root){animation-name:theme-vt-out}html.theme-vt::view-transition-old(site-nav){animation-name:theme-vt-out}html.theme-vt::view-transition-old(site-menu){animation-name:theme-vt-out}html.theme-vt::view-transition-new(root){animation-name:theme-vt-in}html.theme-vt::view-transition-new(site-nav){animation-name:theme-vt-in}html.theme-vt::view-transition-new(site-menu){animation-name:theme-vt-in}@keyframes theme-vt-out{0%{opacity:1}to{opacity:0}}@keyframes theme-vt-in{0%{opacity:0}to{opacity:1}}html.theme-vt .hero .hero-layer-day,html.theme-vt .hero .hero-layer-night{transition:none}@media(prefers-reduced-motion:no-preference){.has-reveal-js .section-head{opacity:0;transition:opacity .72s cubic-bezier(.2,.7,.2,1),transform .82s cubic-bezier(.2,.7,.2,1);transform:translateY(16px)}.has-reveal-js .section-head.is-visible{opacity:1;transform:translate(0)}.has-reveal-js #work .work-list .tile .tile-body>:not(.tile-data){opacity:0;transition:opacity .68s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1),color .24s;transform:translateY(20px)}.has-reveal-js #work .work-list .tile .tile-data li{opacity:0;transition:opacity .68s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transform:translateY(18px)}.has-reveal-js #work .work-list .tile .tile-art-wrap .animation-tile{opacity:0;transition:opacity .68s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transform:translateY(20px)}.has-reveal-js #work .work-list .tile.is-visible .tile-body>:not(.tile-data),.has-reveal-js #work .work-list .tile.is-visible .tile-data li,.has-reveal-js #work .work-list .tile.is-visible .tile-art-wrap .animation-tile{opacity:1;transform:translate(0)}.has-reveal-js #work .work-list .tile.is-visible .tile-body>:first-child{transition-delay:80ms}.has-reveal-js #work .work-list .tile.is-visible .tile-body>:nth-child(2){transition-delay:.15s}.has-reveal-js #work .work-list .tile.is-visible .tile-body>:nth-child(4){transition-delay:.38s}.has-reveal-js #work .work-list .tile.is-visible .tile-body>:nth-child(5){transition-delay:.46s}.has-reveal-js #work .work-list .tile.is-visible .tile-data li:first-child{transition-delay:.22s}.has-reveal-js #work .work-list .tile.is-visible .tile-data li:nth-child(2){transition-delay:.29s}.has-reveal-js #work .work-list .tile.is-visible .tile-data li:nth-child(3){transition-delay:.36s}.has-reveal-js #work .work-list .tile.is-visible .tile-art-wrap .animation-tile{transition-delay:.12s}.has-reveal-js .reveal-rise,.has-reveal-js .reveal-stagger>*{opacity:0;transition:opacity .72s cubic-bezier(.2,.7,.2,1),transform .82s cubic-bezier(.2,.7,.2,1);transform:translateY(16px)}.has-reveal-js .reveal-fade{opacity:0;transition:opacity .9s cubic-bezier(.2,.7,.2,1)}.has-reveal-js .reveal-rise.is-visible,.has-reveal-js .reveal-fade.is-visible,.has-reveal-js .reveal-stagger.is-visible>*{opacity:1;transform:translate(0)}.has-reveal-js .reveal-stagger.is-visible>:first-child{transition-delay:0s}.has-reveal-js .reveal-stagger.is-visible>:nth-child(2){transition-delay:80ms}.has-reveal-js .reveal-stagger.is-visible>:nth-child(3){transition-delay:.16s}.has-reveal-js .reveal-stagger.is-visible>:nth-child(4){transition-delay:.24s}.has-reveal-js .reveal-stagger.is-visible>:nth-child(5){transition-delay:.32s}.has-reveal-js .reveal-stagger.is-visible>:nth-child(6){transition-delay:.4s}.has-reveal-js .reveal-stagger.is-visible>:nth-child(7){transition-delay:.48s}.has-reveal-js .reveal-stagger.is-visible>:nth-child(8){transition-delay:.56s}.has-reveal-js .reveal-stagger--slow>*{transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}.has-reveal-js .reveal-stagger--slow.is-visible>:first-child{transition-delay:0s}.has-reveal-js .reveal-stagger--slow.is-visible>:nth-child(2){transition-delay:.14s}.has-reveal-js .reveal-stagger--slow.is-visible>:nth-child(3){transition-delay:.28s}.has-reveal-js .reveal-stagger--slow.is-visible>:nth-child(4){transition-delay:.42s}.has-reveal-js .reveal-stagger--slow.is-visible>:nth-child(5){transition-delay:.56s}.has-reveal-js .reveal-stagger--slow.is-visible>:nth-child(6){transition-delay:.7s}}.eyebrow{letter-spacing:.08em;color:var(--mute);font-size:11px;font-weight:500}.h-display{letter-spacing:-.035em;font-size:clamp(44px,7vw,96px);font-weight:500;line-height:.98}.h-display em{color:var(--mute);font-style:normal;font-weight:400}.h-section{letter-spacing:-.03em;font-size:clamp(32px,4.6vw,56px);font-weight:500;line-height:1.02}.h-section em{color:inherit;font-weight:inherit;font-style:normal}.h-case{letter-spacing:-.035em;font-size:clamp(40px,6vw,80px);font-weight:500;line-height:1}.lede{color:var(--ink-2);max-width:60ch;font-size:clamp(18px,1.6vw,22px);line-height:1.45}p{color:var(--ink-2)}.cta-row{flex-wrap:wrap;align-items:center;gap:16px;margin-top:28px;display:flex}.btn{height:var(--btn-h);font-family:var(--sans);letter-spacing:.005em;border:1px solid var(--primary);background:var(--primary);color:var(--primary-ink);cursor:pointer;isolation:isolate;border-radius:999px;align-items:center;gap:14px;padding:0 10px 0 28px;font-size:16px;font-weight:500;text-decoration:none;transition:background .22s,border-color .22s,color .22s,transform .24s cubic-bezier(.2,.7,.2,1);display:inline-flex;position:relative;overflow:hidden}.btn:hover{background:var(--primary-hover);border-color:var(--primary-hover)}:root:not([data-theme=dark]) .btn:hover{color:#000;background:#fff;border-color:#fff}:root:not([data-theme=dark]) .btn:hover .btn-ring,:root:not([data-theme=dark]) .btn:hover .arr{color:#161616;background:#ebebeb}:root[data-theme=dark] .btn:hover{color:#fff}.btn .arr,.btn .btn-ring{opacity:0;transform-origin:50%;background:#ffffff38;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;transition:opacity .28s,transform .38s cubic-bezier(.2,.7,.2,1),background .22s;display:inline-flex;transform:scale(.55)}.btn .btn-ring svg,.btn .arr svg{width:18px;height:18px}.btn:hover .arr,.btn:hover .btn-ring{opacity:1;background:#ffffff47;transform:scale(1)}.btn:has(>.btn-ring)>span:first-child,.btn:has(>.arr)>span:first-child{transition:transform .38s cubic-bezier(.2,.7,.2,1);display:inline-block;transform:translate(22px)}.btn:has(>.btn-ring):hover>span:first-child,.btn:has(>.arr):hover>span:first-child{transform:translate(0)}.btn-ghost{color:var(--primary);border:1px solid var(--primary);box-shadow:none;font-family:var(--sans);letter-spacing:-.005em;height:var(--btn-h);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:10px;padding:0 28px;font-size:16px;font-weight:500;text-decoration:none;transition:background .22s,color .22s,border-color .22s;display:inline-flex}.btn-ghost:hover{background:var(--primary);color:var(--primary-ink);border-color:var(--primary)}.btn-ghost .arr,.btn-ghost .btn-ring{opacity:1;background:0 0;border-radius:0;width:auto;height:auto;font-size:14px;transform:none}.btn-ghost:hover .arr,.btn-ghost:hover .btn-ring{background:0 0;transform:translate(2px)}.btn-ghost:has(>.btn-ring)>span:first-child,.btn-ghost:has(>.arr)>span:first-child,.btn-ghost:has(>.btn-ring):hover>span:first-child,.btn-ghost:has(>.arr):hover>span:first-child{transform:none}html.is-modal-open,body.is-modal-open{overscroll-behavior:none;overflow:hidden}main>section:not(.hero){content-visibility:auto;contain-intrinsic-size:auto 1200px}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@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-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}.nav .wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gutter)}.nav{position:fixed;top:clamp(12px,1.4vw,20px);left:50%;transform:translate(-50%);width:calc(100% - 2 * var(--section-gutter));max-width:1920px;z-index:50;background:var(--nav-bg);border:0;border-radius:12px;box-shadow:var(--nav-shadow);view-transition-name:site-nav}.nav>.wrap{max-width:none;padding-left:clamp(20px,2.4vw,32px);padding-right:clamp(20px,2.4vw,32px)}.nav-inner{display:flex;align-items:center;justify-content:space-between;padding-block:14px;gap:clamp(20px,3vw,40px)}.brand{display:inline-flex;align-items:center;color:var(--ink);text-decoration:none}.brand-logo{display:block;width:94px;height:32px;color:var(--ink)}.brand-logo svg{width:100%;height:100%;display:block;fill:currentColor}.nav-links{display:flex;gap:clamp(18px,2.4vw,36px);align-items:center}.nav-links .sound-toggle,.nav-links .theme-toggle,.nav-links .menu-trigger{margin-left:-8px}.nav-links a.nav-link{font-family:var(--sans);font-size:18px;font-weight:500;letter-spacing:-.01em;color:var(--ink);line-height:1.2;display:inline-block;vertical-align:middle;text-decoration:none;cursor:pointer}.nav-links a.nav-link .char-roll,.nav-links a.nav-link .char{cursor:pointer}.char-roll{position:relative;display:inline-flex;flex-direction:column;overflow:hidden;height:1.2em;line-height:1.2;vertical-align:top}.char-roll__main,.char-roll__copy{display:inline-flex;flex:0 0 1.2em;white-space:nowrap;align-items:center}.char-roll .char{display:inline-block;transition:transform .32s cubic-bezier(.36,1.7,.5,1);transition-delay:calc(var(--i, 0) * 18ms);will-change:transform}.char.char-arr{margin-left:6px;font-size:.9em;font-weight:400}.nav-links a.nav-link:hover .char{transform:translateY(-100%)}.nav-links a.nav-link.nav-cv{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 22px;border-radius:999px;border:1px solid var(--ink);background:transparent;color:var(--ink);font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:.005em;text-transform:none;line-height:1;overflow:visible;transition:background .22s ease,color .22s ease,border-color .22s}.nav-links a.nav-link.nav-cv:hover,:root[data-theme=dark] .nav-links a.nav-link.nav-cv:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.nav-links .menu-trigger{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;border-radius:999px;background:var(--icon-btn-bg);color:var(--ink);cursor:pointer;transition:background .2s ease,color .2s ease;position:relative}.nav-links .menu-trigger:hover{background:var(--icon-btn-hover)}.nav-links .menu-trigger .bars{display:inline-flex;flex-direction:column;gap:5px;width:17px}.nav-links .menu-trigger .bars span{display:block;height:1.5px;background:currentColor;border-radius:1px}@media(hover:hover)and (pointer:fine){.icon-btn,.theme-toggle,.sound-toggle,.nav-links .menu-trigger{position:relative}.icon-btn[data-tooltip]:after,.theme-toggle[data-tooltip]:after,.sound-toggle[data-tooltip]:after,.nav-links .menu-trigger[data-tooltip]:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 10px);left:50%;padding:6px 12px;background:var(--ink);color:var(--bg);font-family:var(--sans);font-size:12px;font-weight:500;line-height:1;letter-spacing:-.005em;border-radius:999px;white-space:nowrap;pointer-events:none;opacity:0;transform:translate(-50%) translateY(-4px);transition:opacity .2s ease,transform .28s cubic-bezier(.2,.7,.2,1);z-index:60}.icon-btn:hover[data-tooltip]:after,.theme-toggle:hover[data-tooltip]:after,.sound-toggle:hover[data-tooltip]:after,.nav-links .menu-trigger:hover[data-tooltip]:after{opacity:1;transform:translate(-50%) translateY(0)}}.icon-btn,.theme-toggle,.sound-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;border-radius:999px;background:var(--icon-btn-bg);color:var(--ink);cursor:pointer;transition:background .2s ease,color .2s ease}.icon-btn:hover,.theme-toggle:hover,.sound-toggle:hover{background:var(--icon-btn-hover);color:var(--ink)}.theme-toggle svg{width:19px;height:19px}.sound-toggle svg{width:16px;height:16px}.theme-toggle .icon-sun{display:none}.theme-toggle .icon-moon{display:block}:root[data-theme=dark] .theme-toggle .icon-sun{display:block}:root[data-theme=dark] .theme-toggle .icon-moon{display:none}.sound-toggle .bars{display:inline-flex;align-items:center;gap:2.5px;height:16px}.sound-toggle .bars span{display:inline-block;width:2.5px;height:4px;background:currentColor;border-radius:999px;transition:height .24s ease}.sound-toggle[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.sound-toggle[aria-pressed=true] .bars span{animation:bar-pulse 1.1s ease-in-out infinite}.sound-toggle[aria-pressed=true] .bars span:nth-child(1){animation-delay:0ms}.sound-toggle[aria-pressed=true] .bars span:nth-child(2){animation-delay:.14s}.sound-toggle[aria-pressed=true] .bars span:nth-child(3){animation-delay:.28s}.sound-toggle[aria-pressed=true] .bars span:nth-child(4){animation-delay:80ms}@keyframes bar-pulse{0%,to{height:3px}50%{height:14px}}@media(max-width:768px){.nav-links a.nav-link,.nav-links a.nav-link.nav-cv{display:none!important}.nav-links .sound-toggle,.nav-links .theme-toggle,.nav-links .menu-trigger{margin-left:0}}@media(max-width:1023px){.nav{left:clamp(12px,1.4vw,20px);right:clamp(12px,1.4vw,20px);transform:none;width:auto}}.menu-overlay{position:fixed;inset:0;z-index:100;--m-bg: #000000;--m-fg: #CCCCCC;--m-fg-strong: #FFFFFF;--m-fg-soft: #B3B3B3;--m-fg-softer: #808080;--m-fg-mid: #B3B3B3;--m-fg-link: #B3B3B3;--m-btn-bg: rgba(255, 255, 255, .08);--m-btn-bg-hover: rgba(255, 255, 255, .16);--m-kbd-border: rgba(255, 255, 255, .2);background:var(--m-bg);color:var(--m-fg);--menu-edge: calc(var(--section-gutter) + clamp(20px, 2.4vw, 32px))}@media(max-width:1023px){.menu-overlay{--menu-edge: calc(clamp(12px, 1.4vw, 20px) + clamp(20px, 2.4vw, 32px)) }}.menu-overlay{--menu-ox: calc(100% - (var(--menu-edge) + 20px));--menu-oy: calc(clamp(12px, 1.4vw, 20px) + 34px) ;--menu-header-pt: calc(clamp(12px, 1.4vw, 20px) + 14px) ;--menu-header-pl: var(--menu-edge);--menu-header-pr: var(--menu-edge);clip-path:circle(0% at var(--menu-ox) var(--menu-oy));-webkit-clip-path:circle(0% at var(--menu-ox) var(--menu-oy));transition:clip-path .56s cubic-bezier(.7,0,.3,1),-webkit-clip-path .56s cubic-bezier(.7,0,.3,1);pointer-events:none;overflow:hidden}.menu-overlay[data-open=true]{clip-path:circle(160% at var(--menu-ox) var(--menu-oy));-webkit-clip-path:circle(160% at var(--menu-ox) var(--menu-oy));pointer-events:auto}.menu-header{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding-top:var(--menu-header-pt);padding-bottom:var(--menu-header-pt);padding-left:var(--menu-header-pl);padding-right:var(--menu-header-pr)}.menu-header .brand-logo{color:var(--m-fg-strong)}:root[data-theme=dark] .menu-overlay{--m-bg: #FFFFFF;--m-fg: #222222;--m-fg-strong: #222222;--m-fg-soft: #737373;--m-fg-softer: #8C8C8C;--m-fg-mid: #595959;--m-fg-link: #3D3D3D;--m-btn-bg: rgba(0, 0, 0, .05);--m-btn-bg-hover: rgba(0, 0, 0, .1);--m-kbd-border: rgba(0, 0, 0, .18)}.menu-close{width:40px;height:40px;border-radius:999px;border:0;background:var(--m-btn-bg);color:var(--m-fg-strong);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .22s}.menu-close:hover{background:var(--m-btn-bg-hover)}@media(hover:hover)and (pointer:fine){.menu-close[data-tooltip]{position:relative}.menu-close[data-tooltip]:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 10px);left:50%;padding:6px 12px;background:var(--m-fg);color:var(--m-bg);font-family:var(--sans);font-size:12px;font-weight:500;line-height:1;letter-spacing:-.005em;border-radius:999px;white-space:nowrap;pointer-events:none;opacity:0;transform:translate(-50%) translateY(-4px);transition:opacity .2s ease,transform .28s cubic-bezier(.2,.7,.2,1);z-index:60}.menu-close:hover[data-tooltip]:after{opacity:1;transform:translate(-50%) translateY(0)}}.menu-close svg{width:16px;height:16px;display:none}.menu-close .bars{display:inline-flex;flex-direction:column;gap:5px;width:17px}.menu-close .bars span{display:block;height:1.5px;background:currentColor;border-radius:1px;transform-origin:center;translate:0 0;rotate:0deg;transition:rotate .28s cubic-bezier(.65,0,.35,1),translate .28s cubic-bezier(.65,0,.35,1) .28s}.menu-overlay[data-open=true] .menu-close .bars span{transition:translate .28s cubic-bezier(.65,0,.35,1),rotate .28s cubic-bezier(.65,0,.35,1) .28s}.menu-overlay[data-open=true] .menu-close .bars span:nth-child(1){translate:0 3.25px;rotate:45deg}.menu-overlay[data-open=true] .menu-close .bars span:nth-child(2){translate:0 -3.25px;rotate:-45deg}.menu-body{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;padding:var(--section-space) var(--menu-edge) clamp(40px,6vw,80px);gap:clamp(40px,6vw,96px);opacity:0;transition:opacity .32s ease .16s}@media(min-width:800px){.menu-body{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);padding-bottom:var(--section-space)}}.menu-overlay[data-open=true] .menu-body{opacity:1;transition-delay:.28s}.menu-main{display:flex;flex-direction:column;gap:clamp(4px,.8vw,12px)}@media(max-width:1023px){.menu-main{gap:16px}}.menu-main a{display:inline-flex;align-items:baseline;gap:16px;font-family:var(--sans);font-weight:500;font-size:clamp(40px,7vw,88px);line-height:1.05;letter-spacing:-.035em;color:var(--m-fg-soft);text-decoration:none;transition:color .22s ease,transform .32s cubic-bezier(.2,.7,.2,1);width:max-content;cursor:pointer}.menu-main a:hover{color:var(--m-fg-strong);transform:translate(6px)}.menu-main a .num{font-size:.22em;font-weight:500;color:var(--m-fg-softer);letter-spacing:.04em}.menu-sub{display:flex;flex-direction:column;gap:10px}.menu-sub .menu-sub-label{font-family:var(--sans);font-size:11px;letter-spacing:.08em;font-weight:500;text-transform:none;color:var(--m-fg-softer);margin-bottom:6px}.menu-sub a,.menu-sub .menu-sub-link{font-family:var(--sans);font-size:clamp(18px,1.8vw,24px);font-weight:400;color:var(--m-fg-mid);letter-spacing:-.01em;text-decoration:none;transition:color .22s}.menu-sub a{cursor:pointer}.menu-sub a:hover{color:var(--m-fg-strong)}.menu-sub .menu-sub-link--disabled{color:var(--m-fg-softer);cursor:not-allowed}@media(max-width:600px){.menu-main{gap:12px}.menu-main a{font-size:34px}}.menu-footer{position:absolute;left:0;right:0;bottom:clamp(20px,3vw,40px);z-index:2;display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:0 var(--menu-edge);font-family:var(--sans);font-size:12px;color:var(--m-fg-softer)}.menu-footer a{color:var(--m-fg-link);text-decoration:none;transition:color .22s}.menu-footer a:hover{color:var(--m-fg-strong)}.menu-footer kbd{display:inline-block;padding:2px 6px;border:1px solid var(--m-kbd-border);border-radius:4px;font-family:var(--sans);font-size:11px;color:var(--m-fg-mid);margin-left:6px}@media(max-width:1023px){.menu-footer{display:none}}@media(prefers-reduced-motion:reduce){.menu-overlay,.menu-overlay .menu-body{transition:none}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}:root{--footer-bg: #E2E9FB;--footer-ink: #0E1538;--footer-mute: #6B7398;--footer-line: #C7D2EF;--footer-accent: #B7411E}:root[data-theme=dark]{--footer-bg: #102320;--footer-ink: #E5F5E5;--footer-mute: #8FA890;--footer-line: #1F3F22;--footer-accent: #2ECC71}.contact{background:var(--footer-bg);color:var(--footer-ink)}.contact h2,.contact h3,.contact a,.contact strong{color:var(--footer-ink)}.contact a{text-decoration:none}.contact .wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gutter);padding-top:var(--section-pad-v);padding-bottom:24px}.contact-grid{display:grid;grid-template-columns:1fr;gap:clamp(40px,5vw,64px) clamp(32px,5vw,80px);align-items:start}@media(min-width:900px){.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.contact-prompt{grid-column:1;display:flex;flex-direction:column;gap:28px;max-width:44ch}.contact-prompt p{color:var(--footer-ink);font-size:clamp(17px,1.4vw,19px);line-height:1.5}.contact .btn{background:var(--footer-ink);border-color:var(--footer-ink);color:var(--footer-bg);align-self:flex-start}.contact .btn:hover{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}:root[data-theme=dark] .contact .btn:hover{background:var(--footer-accent);border-color:var(--footer-accent);color:var(--footer-bg)}:root[data-theme=dark] .contact .btn:hover .btn-ring{background:color-mix(in oklab,var(--footer-bg) 35%,transparent);color:var(--footer-ink)}.contact .btn .btn-ring{background:color-mix(in oklab,var(--footer-bg) 25%,transparent)}.contact .btn:hover .btn-ring{background:#ffffff40}.contact-nav{grid-column:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 64px}@media(min-width:900px){.contact-nav{grid-column:2;justify-self:end;width:36ch}}.contact-nav .col{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.contact-nav .col-label{font-size:12px;letter-spacing:.06em;color:var(--footer-mute);font-weight:500;margin-bottom:4px}.contact-nav a{font-size:16px;font-weight:500;letter-spacing:-.005em;transition:color .2s ease;display:inline-flex;align-items:center;line-height:1.2;cursor:pointer}.contact-nav a:hover{color:var(--footer-accent)}.contact-nav a:hover .char{transform:translateY(-100%)}.contact-headline{grid-column:1;margin-top:48px;margin-bottom:48px;color:var(--footer-ink);font-size:0;line-height:0}@media(max-width:700px){.contact-headline{margin-top:24px;margin-bottom:24px}}@media(min-width:900px){.contact-headline{margin-top:0;margin-bottom:0;align-self:center}}.lets-talk-svg{display:block;width:clamp(140px,36vw,480px);height:auto;color:var(--footer-ink);overflow:visible}@media(min-width:900px){.lets-talk-svg{width:clamp(140px,28.8vw,384px)}}.lets-talk-svg .lt-path{fill:currentColor;stroke:none}.contact-blocks{grid-column:1;display:flex;flex-direction:column;gap:clamp(28px,3vw,40px)}@media(min-width:900px){.contact-blocks{grid-column:2;justify-self:end;width:36ch;align-self:center}}.contact-block strong{display:block;font-size:15px;font-weight:600;letter-spacing:-.005em;margin-bottom:6px;color:var(--footer-ink)}.contact-block p{font-size:15px;line-height:1.55;color:var(--footer-mute);margin:0}.availability{display:inline-flex;align-items:center;gap:8px}.availability__pulse{position:relative;width:9px;height:9px;border-radius:999px;background:#2ecc71;flex:0 0 auto}.availability__pulse:after{content:"";position:absolute;inset:-2px;border-radius:999px;background:#2ecc71;opacity:.6;animation:availability-pulse 1.8s cubic-bezier(.2,.7,.2,1) infinite}@keyframes availability-pulse{0%{transform:scale(1);opacity:.6}70%{transform:scale(2.4);opacity:0}to{transform:scale(2.4);opacity:0}}@media(prefers-reduced-motion:reduce){.availability__pulse:after{animation:none}}.contact-email{font-size:clamp(18px,1.6vw,22px);font-weight:500;letter-spacing:-.015em;color:var(--footer-ink);border-bottom:1px solid var(--footer-ink);align-self:flex-start;padding-bottom:2px;transition:color .2s,border-color .2s}.contact-email:hover{color:var(--footer-accent);border-color:var(--footer-accent)}.contact-legal{grid-column:1;margin-top:clamp(56px,8vw,96px);padding-top:24px;border-top:1px solid color-mix(in oklab,var(--footer-mute) 50%,transparent);display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:12px;letter-spacing:0;color:var(--footer-mute)}@media(min-width:900px){.contact-legal{grid-column:1 / -1}}.contact-legal a{color:var(--footer-mute);transition:color .2s}.contact-legal a:hover{color:var(--footer-ink)}.contact-legal-links{display:flex;gap:clamp(16px,2vw,28px);margin-left:auto;flex-wrap:wrap}.contact-legal-links a{white-space:nowrap}@media(max-width:700px){.contact-legal-links{margin-left:0}.contact-legal__vat-sep{display:none}.contact-legal__vat{display:block}}#hepton-top-loader[data-astro-cid-4u3ehgod]{position:fixed;top:0;left:0;right:0;height:3px;width:100%;pointer-events:none;z-index:2147483646;opacity:0;transition:opacity .22s ease;background:transparent}#hepton-top-loader[data-astro-cid-4u3ehgod].is-active{opacity:1}#hepton-top-loader[data-astro-cid-4u3ehgod]>span[data-astro-cid-4u3ehgod]{display:block;height:100%;width:0%;background:var(--primary, #0000FE);transform-origin:left center;transition:width .18s linear}@media(prefers-reduced-motion:reduce){#hepton-top-loader[data-astro-cid-4u3ehgod],#hepton-top-loader[data-astro-cid-4u3ehgod]>span[data-astro-cid-4u3ehgod]{transition:none}}.consent[data-astro-cid-63gysk4c]{position:fixed;left:50%;bottom:16px;transform:translate(-50%) translateY(12px);width:min(640px,calc(100vw - 32px));z-index:2147483645;background:#fff;color:var(--ink);border:1px solid var(--nav-border);border-radius:12px;box-shadow:0 20px 40px -16px #0f16322e;padding:16px 16px 16px 20px;opacity:0;pointer-events:none;transition:opacity .28s ease,transform .38s cubic-bezier(.2,.7,.2,1)}:root[data-theme=dark] .consent[data-astro-cid-63gysk4c]{background:#1c1c1c;box-shadow:0 20px 40px -16px #0009}.consent[data-astro-cid-63gysk4c].is-visible{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.consent-inner[data-astro-cid-63gysk4c]{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.consent-copy[data-astro-cid-63gysk4c]{flex:1 1 280px;min-width:0}.consent-copy[data-astro-cid-63gysk4c] p[data-astro-cid-63gysk4c]{margin:0;font-size:14px;line-height:1.45;color:var(--ink-2)}.consent-copy[data-astro-cid-63gysk4c] a[data-astro-cid-63gysk4c]{color:var(--primary);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.consent-copy[data-astro-cid-63gysk4c] a[data-astro-cid-63gysk4c]:hover{color:var(--primary-hover)}.consent-actions[data-astro-cid-63gysk4c]{display:flex;gap:8px;flex-shrink:0}.consent-btn[data-astro-cid-63gysk4c]{height:40px;padding:0 18px;border-radius:999px;font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:-.005em;cursor:pointer;border:1px solid var(--primary);transition:background .22s ease,color .22s ease,border-color .22s ease}.consent-btn--primary[data-astro-cid-63gysk4c]{background:var(--primary);color:var(--primary-ink)}.consent-btn--primary[data-astro-cid-63gysk4c]:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.consent-btn--ghost[data-astro-cid-63gysk4c]{background:transparent;color:var(--primary)}.consent-btn--ghost[data-astro-cid-63gysk4c]:hover{background:var(--primary);color:var(--primary-ink)}@media(max-width:520px){.consent[data-astro-cid-63gysk4c]{bottom:12px;padding:14px 14px 14px 16px}.consent-inner[data-astro-cid-63gysk4c]{gap:12px}.consent-actions[data-astro-cid-63gysk4c]{width:100%}.consent-btn[data-astro-cid-63gysk4c]{flex:1}}@media(prefers-reduced-motion:reduce){.consent[data-astro-cid-63gysk4c]{transition:opacity 0ms,transform 0ms}}html,body{margin:0;width:100%}.now{max-width:var(--container-max);margin-inline:auto;padding-inline:var(--section-gutter)}@media(max-width:1023px){.now{padding-inline:24px}}.now-head{padding-top:clamp(120px,14vw,180px);padding-bottom:clamp(40px,5vw,64px)}.now-meta{display:flex;gap:10px;flex-wrap:wrap;font-family:var(--sans);font-size:clamp(13px,1vw,15px);letter-spacing:.01em;color:#1616169e;margin:0 0 clamp(14px,1.6vw,24px)}:root[data-theme=dark] .now-meta{color:#ffffff9e}.now-meta span{display:inline-flex;align-items:center;gap:8px}.now-meta span+span:before{content:"";width:3px;height:3px;border-radius:50%;background:var(--line);display:inline-block;margin-right:4px}.now-head .h-case{margin:0}.now-head .lede{margin-top:32px}.now-body{padding-block:clamp(40px,6vw,96px);display:grid;gap:clamp(40px,6vw,96px)}.now-section{display:grid;grid-template-columns:1fr;gap:24px;max-width:1024px;margin-inline:auto;width:100%}@media(min-width:800px){.now-section{grid-template-columns:220px 1fr;gap:clamp(32px,4vw,64px)}}.now-section__label{font-family:var(--sans);font-size:clamp(16px,1.3vw,18px);font-weight:400;letter-spacing:.01em;color:var(--mute);align-self:start}.now-section__content{display:flex;flex-direction:column;gap:20px}.now-section__content h3{margin:0;font-size:clamp(26px,2.6vw,34px);line-height:1.05;letter-spacing:-.015em;color:var(--ink);font-weight:500}.now-section__content p{margin:0;font-family:var(--sans);font-size:clamp(16px,1.3vw,18px);line-height:1.6;color:var(--ink-2);max-width:64ch}.now-section__content p strong{color:var(--ink);font-weight:500}.now-section__content code{font-family:var(--sans);font-size:.9em;padding:1px 6px;border-radius:4px;background:#0000000a;color:var(--ink)}.now-section__content ul.now-changelog{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:32px}.now-changelog__item{font-family:var(--sans);font-size:clamp(16px,1.3vw,18px);line-height:1.6;color:var(--ink-2);max-width:72ch}.now-changelog__when{--chip-green: #1F6B3A;--chip-green-soft: #D5ECDD;display:inline-block;margin-bottom:8px;padding:3px 8px;border-radius:4px;background:var(--chip-green-soft);font-family:var(--mono);font-size:.8em;letter-spacing:.01em;color:var(--chip-green);white-space:nowrap}:root[data-theme=dark] .now-changelog__when{--chip-green: #8AFF8D;--chip-green-soft: rgba(138, 255, 141, .14)}.now-changelog__time,.now-changelog__date{font-variant-numeric:tabular-nums}.now-changelog__sep{margin:0 8px;color:var(--line)}.now-changelog__when .now-changelog__sep{margin:0;color:inherit}.now-changelog__title{display:block;color:var(--ink);font-weight:500}.now-changelog__body{display:block;margin-top:2px;color:var(--ink-2)}.now a{color:var(--primary);text-decoration:underline;text-underline-offset:2px}.now a:hover{text-decoration:none}:root[data-theme=dark] .now-section__content code{background:#ffffff0f}.now-section__content ul,.now-section__content ol{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:10px;font-family:var(--sans);font-size:clamp(16px,1.3vw,18px);line-height:1.6;color:var(--ink-2)}.now-section__content ul{list-style:disc outside}.now-section__content ol{list-style:decimal outside}.now-section__content li{max-width:64ch}.now-section__content li em{color:var(--ink);font-style:italic}.now-section__content li strong{color:var(--ink);font-weight:500}.now-section__content li code{font-family:var(--sans);font-size:.9em;padding:1px 6px;border-radius:4px;background:#0000000a;color:var(--ink)}:root[data-theme=dark] .now-section__content li code{background:#ffffff0f}.now-foot{max-width:880px;margin-inline:auto;padding-inline:var(--section-gutter);padding-top:clamp(48px,6vw,80px);padding-bottom:clamp(32px,4vw,56px)}@media(max-width:1023px){.now-foot{padding-inline:24px}}.journal-lane{width:100%;max-width:1024px;margin-inline:auto;padding-inline:0;box-sizing:border-box}@media(max-width:1071px){.journal-lane{max-width:none;padding-inline:24px}}.journal-now{display:grid;grid-template-columns:1fr;background:#fff;border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .36s cubic-bezier(.2,.7,.2,1),box-shadow .36s cubic-bezier(.2,.7,.2,1)}@media(min-width:700px){.journal-now{grid-template-columns:minmax(0,1fr) minmax(260px,42%);align-items:stretch}}:root[data-theme=dark] .journal-now{background:#141414}.journal-now:hover{transform:scale(1.006);box-shadow:0 6px 14px -6px #16161614,0 24px 48px -20px #1616162e}:root[data-theme=dark] .journal-now:hover{box-shadow:none}@media(prefers-reduced-motion:reduce){.journal-now{transition:box-shadow .2s ease}.journal-now:hover{transform:none}}.journal-now__body{padding:clamp(28px,3.4vw,44px);display:flex;flex-direction:column;align-items:flex-start;gap:16px;justify-content:center;min-width:0}.journal-pill{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;background:var(--icon-btn-bg);font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.005em;color:var(--ink)}.journal-now__title{font-family:var(--sans);font-weight:600;font-size:clamp(24px,2.4vw,32px);line-height:1.2;letter-spacing:-.02em;color:var(--ink);margin:0}.journal-now__stat{display:flex;flex-direction:column;gap:2px}.journal-now__stat-label{font-family:var(--sans);font-size:12px;color:var(--mute)}.journal-now__stat-value{font-family:var(--sans);font-weight:700;font-size:clamp(15px,1.2vw,18px);letter-spacing:-.01em;color:var(--ink);font-variant-numeric:tabular-nums}.journal-now__cta{display:inline-flex;align-items:center;gap:8px;margin-top:4px;font-family:var(--sans);font-size:clamp(14px,1.1vw,16px);font-weight:500;color:var(--primary)}.journal-now__cta .arr{transition:transform .24s cubic-bezier(.2,.7,.2,1)}.journal-now:hover .journal-now__cta .arr{transform:translate(6px)}.journal-now:hover .journal-now__cta .char{transform:translateY(-100%)}.journal-now__viz{position:relative;background:var(--c-tint);color:var(--c);min-height:210px;overflow:hidden;order:-1}@media(min-width:700px){.journal-now__viz{order:0}}:root[data-theme=dark] .journal-now__viz{background:color-mix(in srgb,var(--c) 24%,var(--bg));color:var(--c-dark, oklch(from var(--c) calc(l + .22) calc(c*2.4) h))}.now-clock{position:absolute;inset:clamp(18px,2.6vw,30px);color:inherit;--clock-th: 2px;--clock-r: 47%}.now-clock__mark{position:absolute;left:calc(50% + var(--clock-r) * sin(var(--a)));top:calc(50% - var(--clock-r) * cos(var(--a)));width:var(--clock-th);height:12px;margin:0;border-radius:var(--clock-th);background:currentColor;transform:translate(-50%,-50%) rotate(var(--a))}.now-clock__hand{position:absolute;left:50%;bottom:50%;width:var(--clock-th);margin-left:calc(var(--clock-th) / -2);border-radius:var(--clock-th);background:currentColor;transform-origin:bottom center;animation:now-clock-spin linear infinite}.now-clock__hand--hour{height:26%;opacity:.95}.now-clock__hand--min{height:38%}.now-clock__hand--sec{height:43%;animation-duration:60s}.now-clock__hand--min{animation-duration:3600s}.now-clock__hand--hour{animation-duration:43200s}.now-clock__hub{position:absolute;left:50%;top:50%;width:calc(var(--clock-th) * 3);height:calc(var(--clock-th) * 3);border-radius:50%;background:currentColor;transform:translate(-50%,-50%)}@keyframes now-clock-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.now-clock__hand{animation:none}}.journal-now__tz{position:absolute;bottom:clamp(12px,1.6vw,18px);right:clamp(12px,1.6vw,18px);z-index:1;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.04em;color:currentColor;background:color-mix(in srgb,currentColor 14%,transparent)}:root:not([data-theme=dark]) .journal-now__tz{opacity:.8}.journal-divider{margin:64px 0;border:0;border-top:1px solid var(--line)}.journal-featured{padding-bottom:clamp(36px,4vw,56px)}.journal-featured__link{display:grid;grid-template-columns:1fr;background:#fff;border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .36s cubic-bezier(.2,.7,.2,1),box-shadow .36s cubic-bezier(.2,.7,.2,1)}@media(min-width:700px){.journal-featured__link{grid-template-columns:minmax(0,1fr) minmax(260px,42%);align-items:stretch}}:root[data-theme=dark] .journal-featured__link{background:#141414}.journal-featured__link:hover{transform:scale(1.006);box-shadow:0 6px 14px -6px #16161614,0 24px 48px -20px #1616162e}:root[data-theme=dark] .journal-featured__link:hover{box-shadow:none}@media(prefers-reduced-motion:reduce){.journal-featured__link{transition:box-shadow .2s ease}.journal-featured__link:hover{transform:none}}.journal-featured__text{padding:clamp(28px,3.4vw,44px);display:flex;flex-direction:column;align-items:flex-start;gap:14px;justify-content:center;min-width:0}.journal-featured__title{margin:0;font-family:var(--sans);font-weight:600;font-size:clamp(28px,3.6vw,44px);line-height:1.2;letter-spacing:-.025em;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.journal-featured__meta{margin:0}.journal-featured__excerpt{margin:0;font-family:var(--sans);font-size:clamp(15px,1.2vw,17px);line-height:1.5;color:var(--mute);max-width:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.journal-featured__cta{display:inline-flex;align-items:center;gap:8px;margin-top:2px;font-family:var(--sans);font-size:clamp(14px,1.1vw,16px);font-weight:500;color:var(--primary)}.journal-featured__cta .arr{transition:transform .24s cubic-bezier(.2,.7,.2,1)}.journal-featured__link:hover .journal-featured__cta .arr{transform:translate(6px)}.journal-featured__link:hover .journal-featured__cta .char{transform:translateY(-100%)}.journal-featured__media{background:var(--gd-tile-bg);min-height:240px;overflow:hidden;order:-1}@media(min-width:700px){.journal-featured__media{order:0}}.journal-featured__media img{width:100%;height:100%;object-fit:cover;display:block}.journal-recent{padding-top:clamp(28px,3vw,40px);padding-bottom:clamp(60px,8vw,100px)}.journal-recent__head{display:flex;flex-direction:column;gap:6px;margin-bottom:clamp(28px,3vw,48px)}.journal-recent__eyebrow{font-family:var(--sans);font-size:clamp(13px,1vw,15px);letter-spacing:.01em;color:var(--mute)}.journal-recent__title{margin:0}.journal-recent__list{display:grid;grid-template-columns:1fr;gap:clamp(20px,2.6vw,32px)}@media(min-width:700px){.journal-recent__list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.journal-recent__list{grid-template-columns:repeat(3,minmax(0,1fr))}}.journal-recent__list .is-hidden{display:none}.journal-recent__list.is-expanded .is-hidden{display:block}.journal-card{background:#fff;border-radius:18px;overflow:hidden;transition:transform .36s cubic-bezier(.2,.7,.2,1),box-shadow .36s cubic-bezier(.2,.7,.2,1)}:root[data-theme=dark] .journal-card{background:#141414}.journal-card:hover{transform:scale(1.006);box-shadow:0 6px 14px -6px #16161614,0 24px 48px -20px #1616162e}:root[data-theme=dark] .journal-card:hover{box-shadow:none}@media(prefers-reduced-motion:reduce){.journal-card{transition:box-shadow .2s ease}.journal-card:hover{transform:none}}.journal-card__link{display:flex;flex-direction:column;gap:12px;padding:clamp(20px,2.4vw,28px);text-decoration:none;color:inherit;height:100%}.journal-card__meta{margin:0}.journal-card__title{margin:0;font-family:var(--sans);font-weight:600;font-size:clamp(20px,2vw,26px);line-height:1.2;letter-spacing:-.02em;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.journal-card__excerpt{margin:0;font-family:var(--sans);font-size:clamp(14px,1.05vw,16px);line-height:1.5;color:var(--mute);max-width:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.journal-card__cta{margin-top:auto;display:inline-flex;align-items:center;gap:8px;padding-top:16px;font-family:var(--sans);font-size:clamp(14px,1.1vw,16px);font-weight:500;color:var(--primary);line-height:1.2}.journal-card__cta .arr{transition:transform .24s cubic-bezier(.2,.7,.2,1);display:inline-block}.journal-card:hover .journal-card__cta .arr{transform:translate(6px)}.journal-card:hover .journal-card__cta .char{transform:translateY(-100%)}.journal-featured__eyebrow,.journal-now__tag{font-family:var(--sans);font-size:clamp(13px,1vw,15px);font-weight:400;letter-spacing:.01em;color:var(--mute)}.journal-meta{margin:0;display:inline-flex;align-items:center;gap:12px;font-family:var(--sans);font-size:clamp(13px,1vw,15px);letter-spacing:.01em;color:var(--mute)}.journal-meta__date{color:var(--mute)}.journal-meta--split{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.journal-show-more{display:flex;justify-content:center;margin-top:clamp(24px,3vw,40px)}.journal-show-more__btn{font-family:var(--sans);font-size:15px;font-weight:500;color:var(--primary);background:transparent;border:1px solid var(--primary);border-radius:999px;padding:10px 22px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .2s ease,color .2s ease}.journal-show-more__btn:hover{background:var(--primary);color:var(--primary-ink)}.journal-show-more__count{opacity:.7}.journal-empty{font-family:var(--sans);font-size:clamp(16px,1.3vw,18px);color:var(--mute);text-align:center}.journal-article{max-width:var(--container-max);margin-inline:auto;padding-inline:var(--section-gutter);padding-top:clamp(120px,14vw,180px);padding-bottom:clamp(80px,10vw,140px)}@media(max-width:1023px){.journal-article{padding-inline:24px}}.journal-article__body,.journal-article>.journal-article__hero,.journal-article>.journal-share,.journal-article>.journal-more,.journal-article>.journal-comments{max-width:880px;margin-inline:auto}.journal-article__hero{margin:0 0 clamp(32px,4vw,48px)}.journal-article__hero img{display:block;width:100%;height:auto;border-radius:18px;background:var(--gd-tile-bg)}.journal-article__hero-caption{margin:clamp(10px,1.2vw,14px) 0 0;font-family:var(--sans);font-size:calc(.85*clamp(16px,1.3vw,18px));line-height:1.45;color:var(--mute)}.journal-article__head{margin-bottom:clamp(40px,5vw,64px)}.journal-article__meta{margin:0 0 clamp(14px,1.6vw,24px)}.journal-article__title{margin:0}.journal-article__author{margin:clamp(20px,2vw,28px) 0 0;font-family:var(--sans);font-size:clamp(14px,1.1vw,16px);color:var(--mute)}.journal-article__author span{color:var(--ink);font-weight:500}.journal-article__body{font-family:var(--sans);font-size:clamp(16px,1.3vw,18px);line-height:1.65;color:var(--ink-2);display:flex;flex-direction:column;gap:clamp(20px,2vw,28px)}.journal-article__body>*{max-width:72ch}.journal-article__body>.journal-figure,.journal-article__body>.journal-youtube,.journal-article__body>.journal-audio,.journal-article__body>.journal-external,.journal-article__body>pre{max-width:none}.journal-article__body hr{border:0;border-top:1px solid var(--line);margin-block:calc(64px - clamp(20px,2vw,28px))}.journal-article__body hr+*{margin-top:0}.journal-article__body p{margin:0}.journal-article__body p strong{color:var(--ink);font-weight:500}.journal-article__body p em{color:var(--mute);font-style:italic}.journal-article__body h2,.journal-article__body h3,.journal-article__body h4{margin:clamp(20px,2.4vw,32px) 0 0;color:var(--ink);font-weight:500;letter-spacing:-.02em;line-height:1.15}.journal-article__body h2{font-size:clamp(28px,3vw,40px);letter-spacing:-.025em}.journal-article__body h3{font-size:clamp(22px,2.2vw,28px)}.journal-article__body h4{font-size:clamp(18px,1.6vw,22px)}.journal-article__body a:not(.journal-external a):not(.journal-share a){color:var(--primary);text-decoration:underline;text-underline-offset:2px}.journal-article__body a:not(.journal-external a):not(.journal-share a):hover{text-decoration:none}.journal-article__body code,.journal-tag{font-family:var(--sans);font-size:.9em;padding:1px 6px;border-radius:4px;background:#0000000a;color:var(--ink)}:root[data-theme=dark] .journal-article__body code,:root[data-theme=dark] .journal-tag{background:#ffffff0f}.journal-tag{white-space:nowrap}.journal-article__body pre{margin:0;padding:clamp(16px,2vw,24px);background:#161616;color:#f4f4f4;border-radius:12px;overflow-x:auto;font-family:var(--mono);font-size:clamp(13px,1vw,14.5px);line-height:1.6}.journal-article__body pre code{background:transparent;color:inherit;padding:0;border-radius:0;font-family:inherit;font-size:inherit}:root[data-theme=dark] .journal-article__body pre{background:#0a0a0a;outline:1px solid var(--line-2)}.journal-article__body ul,.journal-article__body ol{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:10px}.journal-article__body ul{list-style:disc outside}.journal-article__body ol{list-style:decimal outside}.journal-article__body li{max-width:64ch}.journal-article__body li strong{color:var(--ink);font-weight:500}.journal-article__body blockquote{margin:0;padding:6px 0 6px 20px;border-left:2px solid var(--line);color:var(--ink);font-style:normal}.journal-change-note{font-family:var(--sans);font-size:clamp(16px,1.3vw,18px);line-height:1.6;color:var(--ink-2);max-width:72ch;display:flex;flex-direction:column}.journal-change-note__text{display:block;margin-top:4px}.journal-change-note__title{display:block;color:var(--ink);font-weight:500}.journal-change-note__body{display:block;margin-top:2px;color:var(--ink-2)}.journal-figure{margin:0;display:flex;flex-direction:column;gap:10px}.journal-figure img{display:block;width:100%;height:auto;border-radius:12px}.journal-figure figcaption{font-family:var(--sans);font-size:.85em;color:var(--mute)}.journal-youtube{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:12px;overflow:hidden;background:#000}.journal-youtube__btn{appearance:none;border:0;padding:0;margin:0;display:block;width:100%;height:100%;cursor:pointer;background:transparent;position:relative}.journal-youtube__thumb{width:100%;height:100%;object-fit:cover;display:block}.journal-youtube__play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;transition:transform .24s cubic-bezier(.2,.7,.2,1)}.journal-youtube__btn:hover .journal-youtube__play{transform:scale(1.08)}.journal-youtube iframe{width:100%;height:100%;border:0;display:block}.journal-audio{margin:0;padding:clamp(16px,2vw,20px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:10px}.journal-audio__title{font-family:var(--sans);font-size:clamp(15px,1.2vw,17px);color:var(--ink);font-weight:500}.journal-audio audio{width:100%;height:40px}.journal-audio__caption{font-family:var(--sans);font-size:.8em;color:var(--mute)}.journal-external{background:#fff;border-radius:16px;padding:clamp(20px,2vw,28px);display:flex;flex-direction:column;gap:14px}:root[data-theme=dark] .journal-external{background:#141414}.journal-external__heading{margin:0;font-family:var(--sans);font-size:clamp(13px,1vw,15px);font-weight:500;letter-spacing:.01em;color:var(--mute)}.journal-external__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.journal-external__item+.journal-external__item{border-top:1px solid var(--line-2)}.journal-external__item a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 18px;padding:14px 0;text-decoration:none;color:var(--ink);transition:color .2s ease}.journal-external__item a:hover{color:var(--primary)}.journal-external__title{font-family:var(--sans);font-size:clamp(15px,1.2vw,17px);font-weight:500;line-height:1.3}.journal-external__source{font-family:var(--sans);font-size:.78em;color:var(--mute);grid-column:1 / 2;grid-row:2 / 3;line-height:1.2}.journal-external__arr{grid-column:2 / 3;grid-row:1 / 3;font-size:18px;color:var(--mute);transition:transform .2s cubic-bezier(.2,.7,.2,1)}.journal-external__item a:hover .journal-external__arr{transform:translate(2px,-2px);color:var(--primary)}.journal-share{margin-top:clamp(40px,5vw,64px);padding-top:clamp(24px,3vw,36px);border-top:1px solid var(--line);display:flex;align-items:center;gap:18px;flex-wrap:wrap}.journal-share+*{margin-top:clamp(24px,3vw,36px)}.journal-share__label{font-family:var(--sans);font-size:.85em;color:var(--mute);letter-spacing:.01em}.journal-share__list{list-style:none;margin:0;padding:0;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.journal-share__btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;background:var(--icon-btn-bg);color:var(--ink);border:0;padding:0;cursor:pointer;text-decoration:none;transition:background .2s ease,color .2s ease;position:relative}.journal-share__btn:hover{background:var(--icon-btn-hover);color:var(--ink)}.journal-share__copied{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);background:var(--ink);color:var(--bg);font-family:var(--sans);font-size:12px;padding:4px 8px;border-radius:4px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease}.journal-share__copied[data-show=true]{opacity:1;transform:translate(-50%) translateY(0)}.journal-more{margin-top:clamp(40px,5vw,64px);padding-top:clamp(32px,4vw,48px);border-top:1px solid var(--line)}.journal-more .journal-recent__title{font-size:clamp(26px,3vw,36px)}@media(min-width:700px){.journal-more .journal-recent__list{grid-template-columns:repeat(2,minmax(0,1fr))}}.journal-recent__empty{margin:0;font-family:var(--sans);font-size:clamp(16px,1.4vw,20px);line-height:1.4;color:var(--mute);text-align:center}.journal-comments{margin-top:clamp(48px,6vw,80px);padding-top:clamp(32px,4vw,48px);border-top:1px solid var(--line)}.journal-comments__heading{margin:0 0 clamp(20px,2vw,32px);font-family:var(--sans);font-weight:500;font-size:clamp(22px,2.2vw,28px);letter-spacing:-.02em;color:var(--ink)}.journal-comments__mount{min-height:80px}
