@font-face{font-family:brandSans;src:url(../media/Geist_VariableFont_wght-s.p.3697c7-_2-rka.ttf)format("truetype");font-display:swap;font-weight:100 900;font-style:normal}@font-face{font-family:brandSans;src:url(../media/Geist_Italic_VariableFont_wght-s.p.1savhnjzhxu1x.ttf)format("truetype");font-display:swap;font-weight:100 900;font-style:italic}@font-face{font-family:brandSans Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.brandsans_e9337702-module__SK6K4a__className{font-family:brandSans,brandSans Fallback}.brandsans_e9337702-module__SK6K4a__variable{--font-brand-sans:"brandSans", "brandSans Fallback"}
@font-face{font-family:brandMono;src:url(../media/GeistMono_VariableFont_wght-s.p.0zbf7z4k89zws.ttf)format("truetype");font-display:swap;font-weight:100 900;font-style:normal}@font-face{font-family:brandMono;src:url(../media/GeistMono_Italic_VariableFont_wght-s.p.2shkp32-dpvoc.ttf)format("truetype");font-display:swap;font-weight:100 900;font-style:italic}@font-face{font-family:brandMono Fallback;src:local(Arial);ascent-override:76.43%;descent-override:22.43%;line-gap-override:0.0%;size-adjust:131.49%}.brandmono_6cd9edca-module__7G9n_G__className{font-family:brandMono,brandMono Fallback}.brandmono_6cd9edca-module__7G9n_G__variable{--font-brand-mono:"brandMono", "brandMono Fallback"}
@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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--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-leading:initial;--tw-font-weight:initial;--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-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--spacing:.25rem;--font-weight-medium:500;--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-brand);--default-mono-font-family:var(--font-mono-brand);--text-statement:40px;--text-statement--line-height:1.1;--text-statement--letter-spacing:-.05em;--ease-standard:cubic-bezier(.42, 0, .58, 1);--ease-fluid:cubic-bezier(.32, .72, 0, 1);--ease-entrance:cubic-bezier(.6, 0, .05, 1)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-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}*{border-color:var(--line)}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}html{scroll-behavior:smooth;scroll-padding-top:40px}@media (min-width:768px){html{scroll-padding-top:80px}}html[data-scroll-locked],html[data-scroll-locked] body{overscroll-behavior:none;overflow:hidden}html[data-scroll-locked]{padding-right:var(--scroll-lock-gutter,0px)}@media not all and (min-width:1440px){html[data-nav-locked],html[data-nav-locked] body{overscroll-behavior:none;overflow:hidden}html[data-nav-locked]{padding-right:var(--scroll-lock-gutter,0px)}}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans-brand);font-weight:500}::selection{background:var(--signal);color:var(--ring)}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.contact-photo-band{z-index:-10;width:100%;aspect-ratio:var(--contact-band-ratio);position:relative}@media (min-width:768px){.contact-photo-band{aspect-ratio:auto;height:var(--contact-band-height-tablet)}}@media (min-width:992px){.contact-photo-band{aspect-ratio:auto;height:auto;position:absolute;inset:0}}.problem-guides{width:var(--problem-guides-width-mobile);height:auto;aspect-ratio:var(--problem-guides-ratio);position:absolute;inset:auto 0 0 auto}@media (min-width:768px){.problem-guides{aspect-ratio:auto;width:100%;height:100%;inset:0}}.hero-scrim{background-image:linear-gradient(#0000 0%,#0000000f 9%,#0000004d 36%,#0000009e 84%,#000 100%);position:absolute;inset:0}@media (min-width:992px){.hero-scrim{background-image:linear-gradient(#0000 0%,#0000007a 100%)}}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-\[var\(--hero-chrome-height\,0px\)\]{top:var(--hero-chrome-height,0px)}.top-\[var\(--solution-stop\)\]{top:var(--solution-stop)}.right-0{right:calc(var(--spacing) * 0)}.right-4{right:calc(var(--spacing) * 4)}.right-5{right:calc(var(--spacing) * 5)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-4\.5{bottom:calc(var(--spacing) * 4.5)}.bottom-5{bottom:calc(var(--spacing) * 5)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.isolate{isolation:isolate}.-z-10{z-index:calc(10 * -1)}.z-0{z-index:0}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-60{z-index:60}.z-70{z-index:70}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.col-span-1{grid-column:span 1/span 1}.row-2{grid-row:2}.container{width:100%}@media (min-width:768px){.container{max-width:768px}}@media (min-width:992px){.container{max-width:992px}}@media (min-width:2200px){.container{max-width:2200px}}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-12{margin-block:calc(var(--spacing) * 12)}.-mt-px{margin-top:-1px}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-14{margin-top:calc(var(--spacing) * 14)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mb-0\!{margin-bottom:calc(var(--spacing) * 0)!important}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-3\!{margin-bottom:calc(var(--spacing) * 3)!important}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.-ml-px{margin-left:-1px}.ml-auto{margin-left:auto}.readout-digits{width:calc(var(--digits) * 1ch);text-align:right;display:inline-block}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-375\/421{aspect-ratio:375/421}.aspect-\[343\/222\]{aspect-ratio:343/222}.aspect-\[1320\/390\]{aspect-ratio:1320/390}.aspect-square{aspect-ratio:1}.size-1{width:calc(var(--spacing) * 1);height:calc(var(--spacing) * 1)}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-12\.5{width:calc(var(--spacing) * 12.5);height:calc(var(--spacing) * 12.5)}.size-24{width:calc(var(--spacing) * 24);height:calc(var(--spacing) * 24)}.size-full{width:100%;height:100%}.h-2{height:calc(var(--spacing) * 2)}.h-4\.5{height:calc(var(--spacing) * 4.5)}.h-7\.5{height:calc(var(--spacing) * 7.5)}.h-10{height:calc(var(--spacing) * 10)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-31\.5{height:calc(var(--spacing) * 31.5)}.h-32{height:calc(var(--spacing) * 32)}.h-64{height:calc(var(--spacing) * 64)}.h-127{height:calc(var(--spacing) * 127)}.h-\[calc\(100\%-var\(--hero-chrome-height\,0px\)\)\]{height:calc(100% - var(--hero-chrome-height,0px))}.h-\[var\(--nav-slot-height\)\]{height:var(--nav-slot-height)}.h-\[var\(--progress-fill\)\]{height:var(--progress-fill)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-full{max-height:100%}.min-h-9{min-height:calc(var(--spacing) * 9)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-30{min-height:calc(var(--spacing) * 30)}.min-h-124\.75{min-height:calc(var(--spacing) * 124.75)}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-0\.5{width:calc(var(--spacing) * .5)}.w-1{width:calc(var(--spacing) * 1)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-6\.5{width:calc(var(--spacing) * 6.5)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-15{width:calc(var(--spacing) * 15)}.w-16{width:calc(var(--spacing) * 16)}.w-18{width:calc(var(--spacing) * 18)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-25{width:calc(var(--spacing) * 25)}.w-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-\[6\.25rem\]{width:6.25rem}.w-\[100px\]{width:100px}.w-\[var\(--card-width\)\]{width:var(--card-width)}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.max-w-23\.5{max-width:calc(var(--spacing) * 23.5)}.max-w-66{max-width:calc(var(--spacing) * 66)}.max-w-82{max-width:calc(var(--spacing) * 82)}.max-w-100{max-width:calc(var(--spacing) * 100)}.max-w-110{max-width:calc(var(--spacing) * 110)}.max-w-120{max-width:calc(var(--spacing) * 120)}.max-w-125{max-width:calc(var(--spacing) * 125)}.max-w-150{max-width:calc(var(--spacing) * 150)}.max-w-175{max-width:calc(var(--spacing) * 175)}.max-w-180{max-width:calc(var(--spacing) * 180)}.max-w-190{max-width:calc(var(--spacing) * 190)}.max-w-230{max-width:calc(var(--spacing) * 230)}.max-w-260{max-width:calc(var(--spacing) * 260)}.max-w-300{max-width:calc(var(--spacing) * 300)}.max-w-350{max-width:calc(var(--spacing) * 350)}.max-w-550{max-width:calc(var(--spacing) * 550)}.max-w-full{max-width:100%}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-center{transform-origin:50%}.origin-top{transform-origin:top}.origin-top-right{transform-origin:100% 0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-rotate-45{rotate:-45deg}.rotate-0{rotate:none}.reveal{opacity:0;transform:translateY(16px)}:is([data-revealed=true],[data-revealed=instant]) .reveal{opacity:1;transform:none}[data-revealed=true] .reveal{transition:opacity .6s var(--ease-entrance) var(--reveal-delay,0s), transform .6s var(--ease-entrance) var(--reveal-delay,0s)}.reveal-from-bottom{opacity:0;transform:translateY(40px)}:is([data-revealed=true],[data-revealed=instant]) .reveal-from-bottom{opacity:1;transform:none}[data-revealed=true] .reveal-from-bottom{transition:opacity .6s var(--ease-entrance) var(--reveal-delay,0s), transform .6s var(--ease-entrance) var(--reveal-delay,0s)}.reveal-from-top{opacity:0;transform:translateY(-40px)}:is([data-revealed=true],[data-revealed=instant]) .reveal-from-top{opacity:1;transform:none}[data-revealed=true] .reveal-from-top{transition:opacity .6s var(--ease-entrance) var(--reveal-delay,0s), transform .6s var(--ease-entrance) var(--reveal-delay,0s)}.\[transform\:translateX\(-50\%\)_scaleY\(var\(--solution-progress\)\)\]{transform:translateX(-50%) scaleY(var(--solution-progress))}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.nav-panel-in{animation:nav-panel-in .3s var(--ease-fluid) both;will-change:opacity, transform}.nav-pin{animation:nav-pin-in .4s var(--ease-fluid) both;will-change:transform}.guide-draw [data-draw]{stroke-dasharray:1;stroke-dashoffset:1px}[data-revealed=true] .guide-draw [data-draw]{animation:1.6s cubic-bezier(.6,0,.05,1) forwards guide-stroke-on}[data-revealed=true] .guide-draw [data-draw]:nth-child(2){animation-delay:80ms}[data-revealed=true] .guide-draw [data-draw]:nth-child(3){animation-delay:.16s}[data-revealed=true] .guide-draw [data-draw]:nth-child(4){animation-delay:.24s}[data-revealed=true] .guide-draw [data-draw]:nth-child(5){animation-delay:.32s}[data-revealed=true] .guide-draw [data-draw]:nth-child(6){animation-delay:.4s}[data-revealed=instant] .guide-draw [data-draw]{stroke-dasharray:none;stroke-dashoffset:0;animation:none}.nav-panel-row{animation:nav-panel-row-in .3s var(--ease-standard) var(--stagger,0s) both}.scroll-cue{animation:scroll-cue 2.4s var(--ease-standard) infinite}.status-dot{animation:status-pulse 2s var(--ease-standard) infinite}.tag-swap{animation:tag-swap .3s var(--ease-standard)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-y{resize:vertical}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[4rem_1fr\]{grid-template-columns:4rem 1fr}.grid-rows-\[0fr\]{grid-template-rows:0fr}.grid-rows-\[1fr\]{grid-template-rows:1fr}.grid-rows-subgrid{grid-template-rows:subgrid}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-11{gap:calc(var(--spacing) * 11)}.gap-12{gap:calc(var(--spacing) * 12)}.gap-15{gap:calc(var(--spacing) * 15)}.gap-16{gap:calc(var(--spacing) * 16)}.gap-\[28px\]{gap:28px}.gap-px{gap:1px}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-12{row-gap:calc(var(--spacing) * 12)}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-card,.rounded-panel,.rounded-pill{border-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.hairline-draw{background-image:linear-gradient(var(--line), var(--line)), linear-gradient(var(--line), var(--line)), linear-gradient(var(--line), var(--line));background-position:0 0,0 100%,100% 0;background-repeat:no-repeat;background-origin:border-box;background-size:0% var(--hl-t,0px), 0% var(--hl-b,0px), var(--hl-r,0px) 0%;border-color:#0000}:is([data-revealed=true],[data-revealed=instant]) .hairline-draw{background-size:100% var(--hl-t,0px), 100% var(--hl-b,0px), var(--hl-r,0px) 100%}[data-revealed=true] .hairline-draw{transition:background-size .6s var(--ease-entrance) var(--hl-delay,0s)}.border-ink{border-color:var(--ink)}.border-line{border-color:var(--line)}.border-line-cell{border-color:var(--line-cell)}.border-line-dark{border-color:var(--line-dark)}.border-on-dark{border-color:var(--on-dark)}.border-signal{border-color:var(--signal)}.bg-\[\#f8f4ee\]{background-color:#f8f4ee}.bg-accent{background-color:var(--accent)}.bg-accent-foreground{background-color:var(--accent-foreground)}.bg-accent-hover{background-color:var(--accent-hover)}.bg-alert{background-color:var(--alert)}.bg-alert-hover{background-color:var(--alert-hover)}.bg-chip{background-color:var(--chip)}.bg-chip-alt{background-color:var(--chip-alt)}.bg-ink{background-color:var(--ink)}.bg-ink-chip{background-color:var(--ink-chip)}.bg-ink-soft{background-color:var(--ink-soft)}.bg-line{background-color:var(--line)}.bg-line-cell{background-color:var(--line-cell)}.bg-line-dark{background-color:var(--line-dark)}.bg-line-guide{background-color:var(--line-guide)}.bg-line-photo{background-color:var(--line-photo)}.bg-line-soft{background-color:var(--line-soft)}.bg-muted{background-color:var(--muted)}.bg-muted-strong{background-color:var(--muted-strong)}.bg-on-dark{background-color:var(--on-dark)}.bg-on-dark-meta{background-color:var(--on-dark-meta)}.bg-on-dark-muted{background-color:var(--on-dark-muted)}.bg-on-dark-soft{background-color:var(--on-dark-soft)}.bg-paper,.bg-paper\/90{background-color:var(--paper)}@supports (color:color-mix(in lab, red, red)){.bg-paper\/90{background-color:color-mix(in oklab, var(--paper) 90%, transparent)}}.bg-ring{background-color:var(--ring)}.bg-signal{background-color:var(--signal)}.bg-surface{background-color:var(--surface)}.bg-surface-dark{background-color:var(--surface-dark)}.bg-surface-muted{background-color:var(--surface-muted)}.bg-surface-strong{background-color:var(--surface-strong)}.bg-transparent{background-color:#0000}.hero-ascii-ground{background-image:linear-gradient(#fff 10%,#141415 93%)}.object-cover{object-fit:cover}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-9{padding:calc(var(--spacing) * 9)}.p-10{padding:calc(var(--spacing) * 10)}.p-11{padding:calc(var(--spacing) * 11)}.p-12{padding:calc(var(--spacing) * 12)}.p-15{padding:calc(var(--spacing) * 15)}.p-16{padding:calc(var(--spacing) * 16)}.p-18{padding:calc(var(--spacing) * 18)}.p-20{padding:calc(var(--spacing) * 20)}.p-24{padding:calc(var(--spacing) * 24)}.p-32{padding:calc(var(--spacing) * 32)}.p-px{padding:1px}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.px-10{padding-inline:calc(var(--spacing) * 10)}.px-13{padding-inline:calc(var(--spacing) * 13)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1\.25{padding-block:calc(var(--spacing) * 1.25)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.py-24{padding-block:calc(var(--spacing) * 24)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-16{padding-top:calc(var(--spacing) * 16)}.pt-20{padding-top:calc(var(--spacing) * 20)}.pt-\[calc\(var\(--nav-panel-pad\)\+2\.5rem\)\]{padding-top:calc(var(--nav-panel-pad) + 2.5rem)}.pr-0\.5{padding-right:calc(var(--spacing) * .5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.pl-1\.25{padding-left:calc(var(--spacing) * 1.25)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.type-brow{font-family:var(--font-mono-brand);letter-spacing:0;text-transform:uppercase;font-size:14px;font-weight:400;line-height:1.4}.type-brow-xs{font-family:var(--font-mono-brand);letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:400;line-height:1.4}.type-button{font-family:var(--font-mono-brand);letter-spacing:0;text-transform:uppercase;font-size:16px;font-weight:500;line-height:1.02}.type-caption-tight{font-family:var(--font-mono-brand);letter-spacing:0;text-transform:uppercase;font-size:10px;font-weight:400;line-height:1.02}.type-link{font-family:var(--font-mono-brand);letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:400;line-height:1.02}.type-mobile-brow{font-family:var(--font-mono-brand);letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:400;line-height:1.4}.type-mobile-brow-xs{font-family:var(--font-mono-brand);letter-spacing:0;text-transform:uppercase;font-size:10px;font-weight:400;line-height:1.5}.type-body{font-family:var(--font-sans-brand);letter-spacing:-.05em;font-size:18px;font-weight:500;line-height:1.3}.type-body-s{font-family:var(--font-sans-brand);letter-spacing:-.03em;font-size:16px;font-weight:500;line-height:1.4}.type-caption{font-family:var(--font-mono-brand);letter-spacing:0;font-size:10px;font-weight:400;line-height:1.2}.type-h1{font-family:var(--font-sans-brand);letter-spacing:-.06em;font-size:64px;font-weight:500;line-height:1.02}.type-h2{font-family:var(--font-sans-brand);letter-spacing:-.05em;font-size:48px;font-weight:500;line-height:1.06}.type-h3{font-family:var(--font-sans-brand);letter-spacing:-.04em;font-size:32px;font-weight:500;line-height:1.1}.type-h4{font-family:var(--font-sans-brand);letter-spacing:-.04em;font-size:24px;font-weight:500;line-height:1.3}.type-mobile-body{font-family:var(--font-sans-brand);letter-spacing:-.04em;font-size:16px;font-weight:500;line-height:1.4}.type-mobile-body-s{font-family:var(--font-sans-brand);letter-spacing:-.03em;font-size:14px;font-weight:500;line-height:1.4}.type-mobile-h1{font-family:var(--font-sans-brand);letter-spacing:-.06em;font-size:30px;font-weight:500;line-height:1}.type-mobile-h2{font-family:var(--font-sans-brand);letter-spacing:-.05em;font-size:28px;font-weight:500;line-height:1.06}.type-mobile-h3{font-family:var(--font-sans-brand);letter-spacing:-.04em;font-size:22px;font-weight:500;line-height:1.1}.type-mobile-h4{font-family:var(--font-sans-brand);letter-spacing:-.04em;font-size:18px;font-weight:500;line-height:1.3}.type-mobile-mono-xs{font-family:var(--font-mono-brand);letter-spacing:0;font-size:12px;font-weight:400;line-height:1.2}.type-mono-s{font-family:var(--font-mono-brand);letter-spacing:0;font-size:14px;font-weight:400;line-height:1.2}.type-mono-xs{font-family:var(--font-mono-brand);letter-spacing:0;font-size:12px;font-weight:400;line-height:1.2}.type-statement{font-family:var(--font-sans-brand);font-size:var(--text-statement);font-weight:500;line-height:var(--text-statement--line-height);letter-spacing:var(--text-statement--letter-spacing)}.font-mono{font-family:var(--font-mono-brand)}.font-sans{font-family:var(--font-sans-brand)}.type-tablet-h1{letter-spacing:-.06em;font-size:54px;line-height:1.02}.type-tablet-h2{letter-spacing:-.05em;font-size:40px;line-height:1.06}.type-tablet-h3{letter-spacing:-.04em;font-size:28px;line-height:1.1}.type-tablet-h4{letter-spacing:-.04em;font-size:20px;line-height:1.3}.type-tablet-statement{letter-spacing:-.05em;font-size:32px;line-height:1.125}.text-\[0\.875rem\]\!{font-size:.875rem!important}.text-\[17px\]{font-size:17px}.leading-\[1\.1\]{--tw-leading:1.1;line-height:1.1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.text-accent{color:var(--accent)}.text-accent-foreground{color:var(--accent-foreground)}.text-ink{color:var(--ink)}.text-ink-chip{color:var(--ink-chip)}.text-ink-soft{color:var(--ink-soft)}.text-line-dark{color:var(--line-dark)}.text-line-guide{color:var(--line-guide)}.text-muted{color:var(--muted)}.text-muted-strong{color:var(--muted-strong)}.text-on-dark{color:var(--on-dark)}.text-on-dark-meta{color:var(--on-dark-meta)}.text-on-dark-muted{color:var(--on-dark-muted)}.text-on-dark-soft{color:var(--on-dark-soft)}.text-signal{color:var(--signal)}.text-surface-strong{color:var(--surface-strong)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.underline{text-decoration-line:underline}.decoration-transparent{text-decoration-color:#0000}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.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)}.shadow-soft{--tw-shadow:none;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,)}.grayscale{--tw-grayscale:grayscale(100%);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,)}.invert{--tw-invert:invert(100%);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,)}.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))}.transition-\[filter\]{transition-property:filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[grid-template-rows\,opacity\]{transition-property:grid-template-rows,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[grid-template-rows\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-400{--tw-duration:.4s;transition-duration:.4s}.ease-entrance{--tw-ease:cubic-bezier(.6, 0, .05, 1);transition-timing-function:cubic-bezier(.6,0,.05,1)}.ease-fluid{--tw-ease:cubic-bezier(.32, .72, 0, 1);transition-timing-function:cubic-bezier(.32,.72,0,1)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.ease-standard{--tw-ease:cubic-bezier(.42, 0, .58, 1);transition-timing-function:ease-in-out}.reveal-clip{clip-path:inset(0 0 100%)}:is([data-revealed=true],[data-revealed=instant]) .reveal-clip{clip-path:inset(0)}[data-revealed=true] .reveal-clip{transition:opacity .6s var(--ease-entrance) var(--reveal-delay,0s), transform .6s var(--ease-entrance) var(--reveal-delay,0s), clip-path .6s var(--ease-entrance) var(--reveal-delay,0s)}.\[--hl-b\:1px\]{--hl-b:1px}.\[--hl-delay\:0\.05s\]{--hl-delay:50ms}.\[--hl-t\:1px\]{--hl-t:1px}.statement-words{word-spacing:var(--statement-word-gap)}@media (hover:hover){.group-hover\:translate-x-1:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:decoration-ink:is(:where(.group):hover *){-webkit-text-decoration-color:var(--ink);-webkit-text-decoration-color:var(--ink);-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}}.placeholder\:text-muted::placeholder{color:var(--muted)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.checked\:border-4:checked{border-style:var(--tw-border-style);border-width:4px}.checked\:bg-alert:checked{background-color:var(--alert)}.checked\:bg-signal:checked{background-color:var(--signal)}@media (hover:hover){.hover\:bg-accent-hover:hover{background-color:var(--accent-hover)}.hover\:bg-alert:hover{background-color:var(--alert)}.hover\:bg-alert-hover:hover{background-color:var(--alert-hover)}.hover\:bg-ink-soft:hover{background-color:var(--ink-soft)}.hover\:bg-line-cell:hover{background-color:var(--line-cell)}.hover\:bg-surface:hover{background-color:var(--surface)}.hover\:text-muted:hover{color:var(--muted)}.hover\:text-muted-strong:hover{color:var(--muted-strong)}.hover\:text-on-dark:hover{color:var(--on-dark)}.hover\:text-on-dark-meta:hover{color:var(--on-dark-meta)}.hover\:opacity-60:hover{opacity:.6}}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:-outline-offset-2:focus-visible{outline-offset:calc(2px * -1)}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-offset-4:focus-visible{outline-offset:4px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media not all and (min-width:768px){.max-md\:aspect-\[552\/750\]{aspect-ratio:552/750}.max-md\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.max-md\:border-line{border-color:var(--line)}.max-md\:bg-paper{background-color:var(--paper)}.max-md\:px-4{padding-inline:calc(var(--spacing) * 4)}}@media not all and (min-width:479px){.max-\[479px\]\:top-0{top:calc(var(--spacing) * 0)}.max-\[479px\]\:h-full{height:100%}.max-\[479px\]\:max-w-none{max-width:none}.max-\[479px\]\:flex-wrap{flex-wrap:wrap}}@media not all and (min-width:360px){.max-\[360px\]\:hidden{display:none}}@media (min-width:768px){.md\:right-10{right:calc(var(--spacing) * 10)}.md\:bottom-7{bottom:calc(var(--spacing) * 7)}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-6{grid-column:span 6/span 6}.md\:my-16{margin-block:calc(var(--spacing) * 16)}.md\:mt-0{margin-top:calc(var(--spacing) * 0)}.md\:mt-14{margin-top:calc(var(--spacing) * 14)}.md\:mt-16{margin-top:calc(var(--spacing) * 16)}.md\:mb-16{margin-bottom:calc(var(--spacing) * 16)}.md\:-ml-px{margin-left:-1px}.md\:ml-2{margin-left:calc(var(--spacing) * 2)}.md\:ml-auto{margin-left:auto}.md\:contents{display:contents}.md\:hidden{display:none}.md\:inline{display:inline}.md\:aspect-\[660\/313\.5\]{aspect-ratio:660/313.5}.md\:aspect-auto{aspect-ratio:auto}.md\:aspect-square{aspect-ratio:1}.md\:size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.md\:h-8\.75{height:calc(var(--spacing) * 8.75)}.md\:h-15{height:calc(var(--spacing) * 15)}.md\:h-96{height:calc(var(--spacing) * 96)}.md\:h-105{height:calc(var(--spacing) * 105)}.md\:h-130{height:calc(var(--spacing) * 130)}.md\:h-auto{height:auto}.md\:min-h-140{min-height:calc(var(--spacing) * 140)}.md\:w-24{width:calc(var(--spacing) * 24)}.md\:w-36{width:calc(var(--spacing) * 36)}.md\:w-64{width:calc(var(--spacing) * 64)}.md\:max-w-100{max-width:calc(var(--spacing) * 100)}.md\:max-w-128{max-width:calc(var(--spacing) * 128)}.md\:max-w-140{max-width:calc(var(--spacing) * 140)}.md\:max-w-none{max-width:none}.md\:shrink-0{flex-shrink:0}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:flex-col{flex-direction:column}.md\:flex-row{flex-direction:row}.md\:items-baseline{align-items:baseline}.md\:items-center{align-items:center}.md\:items-start{align-items:flex-start}.md\:items-stretch{align-items:stretch}.md\:justify-between{justify-content:space-between}.md\:justify-end{justify-content:flex-end}.md\:gap-5{gap:calc(var(--spacing) * 5)}.md\:gap-6{gap:calc(var(--spacing) * 6)}.md\:gap-8{gap:calc(var(--spacing) * 8)}.md\:gap-10{gap:calc(var(--spacing) * 10)}.md\:gap-16{gap:calc(var(--spacing) * 16)}.md\:border{border-style:var(--tw-border-style);border-width:1px}.md\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.md\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.md\:bg-paper{background-color:var(--paper)}.md\:p-1{padding:calc(var(--spacing) * 1)}.md\:p-7{padding:calc(var(--spacing) * 7)}.md\:px-6{padding-inline:calc(var(--spacing) * 6)}.md\:px-10{padding-inline:calc(var(--spacing) * 10)}.md\:py-0{padding-block:calc(var(--spacing) * 0)}.md\:py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.md\:py-5{padding-block:calc(var(--spacing) * 5)}.md\:py-6{padding-block:calc(var(--spacing) * 6)}.md\:py-20{padding-block:calc(var(--spacing) * 20)}.md\:py-24{padding-block:calc(var(--spacing) * 24)}.md\:pt-8{padding-top:calc(var(--spacing) * 8)}.md\:pr-2{padding-right:calc(var(--spacing) * 2)}.md\:pb-20{padding-bottom:calc(var(--spacing) * 20)}.md\:text-right{text-align:right}.md\:type-brow{font-family:var(--font-mono-brand);letter-spacing:0;text-transform:uppercase;font-size:14px;font-weight:400;line-height:1.4}.md\:type-link{font-family:var(--font-mono-brand);letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:400;line-height:1.02}.md\:type-body{font-family:var(--font-sans-brand);letter-spacing:-.05em;font-size:18px;font-weight:500;line-height:1.3}.md\:type-mobile-body{font-family:var(--font-sans-brand);letter-spacing:-.04em;font-size:16px;font-weight:500;line-height:1.4}.md\:type-tablet-h1{letter-spacing:-.06em;font-size:54px;line-height:1.02}.md\:type-tablet-h2{letter-spacing:-.05em;font-size:40px;line-height:1.06}.md\:type-tablet-h3{letter-spacing:-.04em;font-size:28px;line-height:1.1}.md\:type-tablet-h4{letter-spacing:-.04em;font-size:20px;line-height:1.3}.md\:type-tablet-statement{letter-spacing:-.05em;font-size:32px;line-height:1.125}.md\:last\:border-r-0:last-child{border-right-style:var(--tw-border-style);border-right-width:0}}@media (min-width:769px){.min-\[769px\]\:flex-row{flex-direction:row}.min-\[769px\]\:items-center{align-items:center}.min-\[769px\]\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.min-\[769px\]\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.min-\[769px\]\:px-10{padding-inline:calc(var(--spacing) * 10)}}@media (min-width:992px){.lg\:sticky{position:sticky}.lg\:top-0{top:calc(var(--spacing) * 0)}.lg\:bottom-10{bottom:calc(var(--spacing) * 10)}.lg\:order-none{order:0}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:col-span-12{grid-column:span 12/span 12}.lg\:col-start-1{grid-column-start:1}.lg\:col-start-2{grid-column-start:2}.lg\:col-start-5{grid-column-start:5}.lg\:row-span-2{grid-row:span 2/span 2}.lg\:row-start-1{grid-row-start:1}.lg\:row-start-2{grid-row-start:2}.lg\:mt-13{margin-top:calc(var(--spacing) * 13)}.lg\:mt-16{margin-top:calc(var(--spacing) * 16)}.lg\:mt-20{margin-top:calc(var(--spacing) * 20)}.lg\:mb-0{margin-bottom:calc(var(--spacing) * 0)}.lg\:mb-12{margin-bottom:calc(var(--spacing) * 12)}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:inline{display:inline}.lg\:aspect-\[1400\/750\]{aspect-ratio:1400/750}.lg\:aspect-auto{aspect-ratio:auto}.lg\:h-187\.5{height:calc(var(--spacing) * 187.5)}.lg\:h-215{height:calc(var(--spacing) * 215)}.lg\:h-auto{height:auto}.lg\:h-full{height:100%}.lg\:h-solution-scroll-stage{height:240svh}.lg\:h-svh{height:100svh}.lg\:min-h-14{min-height:calc(var(--spacing) * 14)}.lg\:min-h-23\.75{min-height:calc(var(--spacing) * 23.75)}.lg\:min-h-187\.5{min-height:calc(var(--spacing) * 187.5)}.lg\:w-4\/5{width:80%}.lg\:w-40{width:calc(var(--spacing) * 40)}.lg\:w-60{width:calc(var(--spacing) * 60)}.lg\:w-89\.75{width:calc(var(--spacing) * 89.75)}.lg\:max-w-79{max-width:calc(var(--spacing) * 79)}.lg\:max-w-81\.5{max-width:calc(var(--spacing) * 81.5)}.lg\:max-w-87\.5{max-width:calc(var(--spacing) * 87.5)}.lg\:max-w-89\.75{max-width:calc(var(--spacing) * 89.75)}.lg\:max-w-99\.5{max-width:calc(var(--spacing) * 99.5)}.lg\:max-w-122\.5{max-width:calc(var(--spacing) * 122.5)}.lg\:max-w-123{max-width:calc(var(--spacing) * 123)}.lg\:max-w-125{max-width:calc(var(--spacing) * 125)}.lg\:max-w-125\.25{max-width:calc(var(--spacing) * 125.25)}.lg\:max-w-143\.5{max-width:calc(var(--spacing) * 143.5)}.lg\:max-w-150{max-width:calc(var(--spacing) * 150)}.lg\:max-w-175{max-width:calc(var(--spacing) * 175)}.lg\:max-w-176\.25{max-width:calc(var(--spacing) * 176.25)}.lg\:max-w-195\.75{max-width:calc(var(--spacing) * 195.75)}.lg\:max-w-200{max-width:calc(var(--spacing) * 200)}.lg\:max-w-250{max-width:calc(var(--spacing) * 250)}.lg\:max-w-\[21\.825rem\]{max-width:21.825rem}.lg\:max-w-none{max-width:none}.lg\:flex-1{flex:1}.lg\:cursor-default{cursor:default}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-\[847fr_552fr\]{grid-template-columns:847fr 552fr}.lg\:grid-rows-\[1fr_auto\]{grid-template-rows:1fr auto}.lg\:grid-rows-\[598fr_262fr\]{grid-template-rows:598fr 262fr}.lg\:grid-rows-\[auto_1fr\]{grid-template-rows:auto 1fr}.lg\:grid-rows-subgrid{grid-template-rows:subgrid}.lg\:flex-row{flex-direction:row}.lg\:items-baseline{align-items:baseline}.lg\:items-center{align-items:center}.lg\:items-end{align-items:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:justify-center{justify-content:center}.lg\:gap-0{gap:calc(var(--spacing) * 0)}.lg\:gap-2{gap:calc(var(--spacing) * 2)}.lg\:gap-4{gap:calc(var(--spacing) * 4)}.lg\:gap-6{gap:calc(var(--spacing) * 6)}.lg\:gap-8{gap:calc(var(--spacing) * 8)}.lg\:gap-10{gap:calc(var(--spacing) * 10)}.lg\:gap-11{gap:calc(var(--spacing) * 11)}.lg\:gap-15{gap:calc(var(--spacing) * 15)}.lg\:gap-16{gap:calc(var(--spacing) * 16)}.lg\:gap-18{gap:calc(var(--spacing) * 18)}.lg\:gap-20{gap:calc(var(--spacing) * 20)}.lg\:gap-32{gap:calc(var(--spacing) * 32)}.lg\:gap-x-2{column-gap:calc(var(--spacing) * 2)}.lg\:gap-y-1{row-gap:calc(var(--spacing) * 1)}.lg\:border-y-0{border-block-style:var(--tw-border-style);border-block-width:0}.lg\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.lg\:border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.lg\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.lg\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.lg\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.lg\:p-6{padding:calc(var(--spacing) * 6)}.lg\:p-8{padding:calc(var(--spacing) * 8)}.lg\:px-5{padding-inline:calc(var(--spacing) * 5)}.lg\:px-10{padding-inline:calc(var(--spacing) * 10)}.lg\:py-0{padding-block:calc(var(--spacing) * 0)}.lg\:py-1\.25{padding-block:calc(var(--spacing) * 1.25)}.lg\:py-2{padding-block:calc(var(--spacing) * 2)}.lg\:py-4{padding-block:calc(var(--spacing) * 4)}.lg\:py-5{padding-block:calc(var(--spacing) * 5)}.lg\:py-6{padding-block:calc(var(--spacing) * 6)}.lg\:py-10{padding-block:calc(var(--spacing) * 10)}.lg\:py-12{padding-block:calc(var(--spacing) * 12)}.lg\:py-24{padding-block:calc(var(--spacing) * 24)}.lg\:py-28{padding-block:calc(var(--spacing) * 28)}.lg\:py-32{padding-block:calc(var(--spacing) * 32)}.lg\:pt-10{padding-top:calc(var(--spacing) * 10)}.lg\:pr-6{padding-right:calc(var(--spacing) * 6)}.lg\:pr-10{padding-right:calc(var(--spacing) * 10)}.lg\:pb-0{padding-bottom:calc(var(--spacing) * 0)}.lg\:pb-5{padding-bottom:calc(var(--spacing) * 5)}.lg\:pb-24{padding-bottom:calc(var(--spacing) * 24)}.lg\:pb-28{padding-bottom:calc(var(--spacing) * 28)}.lg\:pb-32{padding-bottom:calc(var(--spacing) * 32)}.lg\:pl-6{padding-left:calc(var(--spacing) * 6)}.lg\:pl-10{padding-left:calc(var(--spacing) * 10)}.lg\:type-brow{font-family:var(--font-mono-brand);letter-spacing:0;text-transform:uppercase;font-size:14px;font-weight:400;line-height:1.4}.lg\:type-body{font-family:var(--font-sans-brand);letter-spacing:-.05em;font-size:18px;font-weight:500;line-height:1.3}.lg\:type-body-s{font-family:var(--font-sans-brand);letter-spacing:-.03em;font-size:16px;font-weight:500;line-height:1.4}.lg\:type-h1{font-family:var(--font-sans-brand);letter-spacing:-.06em;font-size:64px;font-weight:500;line-height:1.02}.lg\:type-h2{font-family:var(--font-sans-brand);letter-spacing:-.05em;font-size:48px;font-weight:500;line-height:1.06}.lg\:type-h3{font-family:var(--font-sans-brand);letter-spacing:-.04em;font-size:32px;font-weight:500;line-height:1.1}.lg\:type-h4{font-family:var(--font-sans-brand);letter-spacing:-.04em;font-size:24px;font-weight:500;line-height:1.3}.lg\:type-mono-s{font-family:var(--font-mono-brand);letter-spacing:0;font-size:14px;font-weight:400;line-height:1.2}.lg\:type-statement{font-family:var(--font-sans-brand);font-size:var(--text-statement);font-weight:500;line-height:var(--text-statement--line-height);letter-spacing:var(--text-statement--letter-spacing)}.lg\:\[--hl-b\:0px\]{--hl-b:0px}.lg\:\[--hl-r\:1px\]{--hl-r:1px}.lg\:\[--hl-t\:0px\]{--hl-t:0px}.lg\:\[--hl-t\:1px\]{--hl-t:1px}}@media (min-width:1440px){.min-\[1440px\]\:inset-y-auto{inset-block:auto}.min-\[1440px\]\:top-\[var\(--nav-panel-pad\)\]{top:var(--nav-panel-pad)}.min-\[1440px\]\:right-\[var\(--nav-panel-right\)\]{right:var(--nav-panel-right)}.min-\[1440px\]\:aspect-\[660\/330\]{aspect-ratio:660/330}.min-\[1440px\]\:h-auto{height:auto}.min-\[1440px\]\:max-h-\[calc\(100svh-var\(--nav-panel-pad\)-1rem\)\]{max-height:calc(100svh - var(--nav-panel-pad) - 1rem)}.min-\[1440px\]\:pt-10{padding-top:calc(var(--spacing) * 10)}}@media (min-width:2200px){.shell\:border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.shell\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.shell\:border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.shell\:border-x-on-dark{border-inline-color:var(--on-dark)}.shell\:border-r-on-dark{border-right-color:var(--on-dark)}.shell\:border-l-on-dark{border-left-color:var(--on-dark)}.shell\:px-0{padding-inline:calc(var(--spacing) * 0)}}.\[\&_\[data-bar\]\]\:origin-center [data-bar]{transform-origin:50%}.\[\&_\[data-bar\]\]\:scale-y-0 [data-bar]{--tw-scale-y:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.\[\&_\[data-bar\]\]\:transition-transform [data-bar]{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.\[\&_\[data-bar\]\]\:duration-300 [data-bar]{--tw-duration:.3s;transition-duration:.3s}.\[\&_\[data-bar\]\]\:ease-standard [data-bar]{--tw-ease:cubic-bezier(.42, 0, .58, 1);transition-timing-function:ease-in-out}.\[\&_\[data-bar\]\]\:\[transform-box\:fill-box\] [data-bar]{transform-box:fill-box}.\[\&_a\]\:text-ink a{color:var(--ink)}.\[\&_a\]\:underline a{text-decoration-line:underline}.\[\&_a\]\:underline-offset-4 a{text-underline-offset:4px}.\[\&_blockquote\]\:border-l-4 blockquote{border-left-style:var(--tw-border-style);border-left-width:4px}.\[\&_blockquote\]\:border-l-accent blockquote{border-left-color:var(--accent)}.\[\&_blockquote\]\:pl-6 blockquote{padding-left:calc(var(--spacing) * 6)}.\[\&_blockquote\]\:text-ink blockquote{color:var(--ink)}.\[\&_h2\]\:mt-14 h2{margin-top:calc(var(--spacing) * 14)}.\[\&_h2\]\:mb-5 h2{margin-bottom:calc(var(--spacing) * 5)}.\[\&_h2\]\:type-mobile-h3 h2{font-family:var(--font-sans-brand);letter-spacing:-.04em;font-size:22px;font-weight:500;line-height:1.1}.\[\&_h2\]\:text-ink h2{color:var(--ink)}@media (min-width:768px){.md\:\[\&_h2\]\:type-tablet-h3 h2{letter-spacing:-.04em;font-size:28px;line-height:1.1}}@media (min-width:992px){.lg\:\[\&_h2\]\:type-h3 h2{font-family:var(--font-sans-brand);letter-spacing:-.04em;font-size:32px;font-weight:500;line-height:1.1}}.\[\&_h3\]\:mt-10 h3{margin-top:calc(var(--spacing) * 10)}.\[\&_h3\]\:mb-4 h3{margin-bottom:calc(var(--spacing) * 4)}.\[\&_h3\]\:type-mobile-h4 h3{font-family:var(--font-sans-brand);letter-spacing:-.04em;font-size:18px;font-weight:500;line-height:1.3}.\[\&_h3\]\:text-ink h3{color:var(--ink)}@media (min-width:768px){.md\:\[\&_h3\]\:type-tablet-h4 h3{letter-spacing:-.04em;font-size:20px;line-height:1.3}}@media (min-width:992px){.lg\:\[\&_h3\]\:type-h4 h3{font-family:var(--font-sans-brand);letter-spacing:-.04em;font-size:24px;font-weight:500;line-height:1.3}}.\[\&_hr\]\:my-10 hr{margin-block:calc(var(--spacing) * 10)}.\[\&_hr\]\:border-line hr{border-color:var(--line)}.\[\&_img\]\:my-10 img{margin-block:calc(var(--spacing) * 10)}.\[\&_img\]\:w-full img{width:100%}.\[\&_li\]\:mb-2 li{margin-bottom:calc(var(--spacing) * 2)}.\[\&_ol\]\:mb-6 ol{margin-bottom:calc(var(--spacing) * 6)}.\[\&_ol\]\:list-decimal ol{list-style-type:decimal}.\[\&_ol\]\:pl-6 ol{padding-left:calc(var(--spacing) * 6)}.\[\&_p\]\:mb-6 p{margin-bottom:calc(var(--spacing) * 6)}.\[\&_strong\]\:font-medium strong{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_strong\]\:text-ink strong{color:var(--ink)}.\[\&_ul\]\:mb-6 ul{margin-bottom:calc(var(--spacing) * 6)}.\[\&_ul\]\:list-disc ul{list-style-type:disc}.\[\&_ul\]\:pl-6 ul{padding-left:calc(var(--spacing) * 6)}}:root{--font-sans-brand:var(--font-brand-sans,Arial, Helvetica, sans-serif);--font-mono-brand:var(--font-brand-mono,ui-monospace, SFMono-Regular, Menlo, monospace);--paper:#fff;--paper-ink:#060606;--surface:#f8f8f8;--surface-muted:#f3f3f3;--surface-strong:#efefef;--surface-dark:#060606;--ink:#060606;--ink-soft:#141414;--ink-chip:#0e0e0e;--muted:#717171;--muted-strong:#626262;--on-dark:#fff;--on-dark-soft:#ededed;--on-dark-muted:#b4b4b4;--on-dark-meta:#ababab;--line:#dad9d7;--line-soft:#cfcfcf;--line-cell:#ababab;--line-guide:#bebebe;--line-photo:#8f8f8f;--line-dark:#4e4e4e;--chip:#dad9d7;--chip-alt:#d8d4d4;--accent:#b8975a;--accent-hover:#5c6067;--accent-foreground:#060606;--signal:#5c6067;--alert:#a8874c;--alert-hover:#d8be8c;--ring:#060606;--hero-photo-x:-142.13%;--hero-photo-w:258.93%;--hero-photo-ratio:971 / 587;--hero-crop-tablet:90%;--hero-crop-desktop:50%;--statement-word-gap:.125em;--problem-guides-ratio:1400 / 750;--problem-guides-width-mobile:143.47%;--contact-photo-ratio:1.325;--contact-band-ratio:375 / 357;--contact-photo-w:324.27%;--contact-photo-x:-149.33%;--contact-photo-y:-27.45%;--contact-band-height-tablet:26.25rem;--contact-photo-w-tablet:160%;--contact-photo-x-tablet:-44.53%;--contact-photo-y-tablet:-21.67%;--contact-photo-w-desktop:99.86%;--contact-photo-x-desktop:11.29%;--contact-photo-y-desktop:-12.09%;--contact-photo-h-desktop:112.09%}@keyframes guide-stroke-on{to{stroke-dashoffset:0}}@keyframes tag-swap{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.25}}@keyframes scroll-cue{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}@keyframes nav-pin-in{0%{transform:translateY(-100%)}to{transform:translate(0)}}@keyframes nav-panel-in{0%{opacity:0;transform:translateY(-4px)scale(.95)}to{opacity:1;transform:none}}@keyframes nav-panel-row-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto;transition-duration:.001ms;animation-duration:.001ms;animation-iteration-count:1}.reveal,.reveal-from-top,.reveal-from-bottom,.reveal-clip{opacity:1;clip-path:none;transform:none}.guide-draw [data-draw]{stroke-dasharray:none;stroke-dashoffset:0}.hairline-draw{background-size:100% var(--hl-t,0px), 100% var(--hl-b,0px), var(--hl-r,0px) 100%}}.hero-loader{--hl-loader-w:187px;--hl-bar-h:8px;--hl-cap-w:3px;--hl-fill-h:5px;--hl-fill-left:5px;--hl-track:var(--line);--hl-fill:#6e6e6e;--hl-cover-end:.88s;z-index:100;font-family:var(--font-mono-brand);color:var(--on-dark);position:fixed;inset:0}.hero-loader__stage{z-index:5;background:#000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.hero-loader__lottie{flex:none;width:100px;height:100px}.hero-loader__panel{width:var(--hl-loader-w);z-index:10;-webkit-user-select:none;user-select:none;pointer-events:none;flex-direction:column;align-items:center;display:flex;position:fixed;bottom:60px;left:50%;transform:translate(-50%)}.hero-loader__bar{width:100%;height:var(--hl-bar-h);position:relative}.hero-loader__cap{width:var(--hl-cap-w);height:var(--hl-bar-h);background:var(--hl-track);position:absolute;top:0}.hero-loader__cap--left{left:0}.hero-loader__cap--right{right:0}.hero-loader__track{left:var(--hl-cap-w);right:var(--hl-cap-w);background:var(--hl-track);height:1px;position:absolute;bottom:0}.hero-loader__fill{left:var(--hl-fill-left);height:var(--hl-fill-h);background:var(--hl-fill);width:1px;position:absolute;top:0}.hero-loader__counter{white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:10px;margin-top:12px;padding:2px 4px;font-weight:500;line-height:1.2;display:flex}.hero-loader__bracket{font-size:14px}.hero-loader__value{font-size:12px}.hero-loader__dot{background:var(--signal);border-radius:1px;flex:none;width:5px;height:5px}.hero-loader__dot.is-off{opacity:0}.hero-loader__curtain{z-index:100;pointer-events:none;will-change:transform;transition:transform .7s cubic-bezier(.65,0,.35,1) .92s;position:fixed;inset:0;overflow:hidden;transform:translateY(0)}.hero-loader__curtain-panel{transform-origin:bottom;will-change:transform;position:absolute;inset:0 0 -2px;transform:scaleY(0)}.hero-loader__curtain-panel:first-child{background:var(--signal);z-index:1;transition:transform .52s cubic-bezier(.65,0,.35,1)}.hero-loader__curtain-panel:nth-child(2){background:var(--alert);z-index:2;transition:transform .63s cubic-bezier(.65,0,.35,1) .105s}.hero-loader__curtain-panel:nth-child(3){background:var(--line);z-index:3;transition:transform .73s cubic-bezier(.65,0,.35,1) .15s}.hero-loader.is-exiting .hero-loader__curtain-panel{transform:scaleY(1)}.hero-loader.is-exiting .hero-loader__curtain{transform:translateY(-100%)}.hero-loader.is-exiting .hero-loader__stage,.hero-loader.is-exiting .hero-loader__panel{visibility:hidden;transition:visibility 0s linear var(--hl-cover-end)}@media (prefers-reduced-motion:reduce){.hero-loader__dot.is-off{opacity:1}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@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-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@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-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}

.infra-section{background:#fff;color:#080a0c;scroll-margin-top:84px}
.infra-shell{max-width:2200px;margin:auto;padding:112px 40px}
.infra-heading{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start;margin-bottom:56px}
.infra-eyebrow{font:14px/1.5 ui-monospace,monospace;background:#dededb;width:max-content;padding:1px 4px}
.infra-heading h2{font-size:48px;line-height:1.04;letter-spacing:-2.3px;max-width:560px}
.infra-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #101212}
.infra-card{min-width:0;padding:24px;display:flex;flex-direction:column;background:#f7f7f4;border-right:1px solid #101212;transition:background .25s ease}
.infra-card:last-child{border-right:0}.infra-card:hover{background:#eeeee8}
.infra-card-top{display:flex;align-items:center;justify-content:space-between;font:12px/1.4 ui-monospace,monospace}
.infra-index{color:#9c7c45}
.infra-photo{display:block;width:calc(100% + 48px);max-width:none;height:auto;aspect-ratio:4/3;object-fit:cover;margin:22px -24px 24px;border-block:1px solid #d9dcdf;filter:saturate(.72);transition:filter .35s ease}
.infra-photo-power{object-position:65% 62%}.infra-photo-robotics{object-position:10% 50%}.infra-photo-ad{object-position:35% 55%}
.infra-card:hover .infra-photo{filter:saturate(1)}
.infra-card h3{font-size:32px;letter-spacing:-1.2px;line-height:1.1;margin-bottom:20px}
.infra-card p{font-size:16px;line-height:1.5;color:#4b4d4d;max-width:34ch}
.infra-bottom{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:28px 32px;background:#101212;color:#f7f7f4}
.infra-bottom p{font-size:20px;line-height:1.35;max-width:700px;letter-spacing:-.4px}
.infra-cta{background:#0c0c0d;color:#fff;padding:16px 24px;white-space:nowrap;font:14px/1.4 ui-monospace,monospace;transition:background .2s}
.infra-cta:hover{background:#2a2a2d}.infra-cta:focus-visible{outline:2px solid white;outline-offset:4px}
.bg-accent,.bg-signal,.bg-alert{color:#fff}
.bg-signal .text-ink{color:#fff}
.bg-signal img[src*="prime-radiant-mark"]{filter:invert(1)}
::selection{background:#0c0c0d;color:#fff}
@media(max-width:1100px){.infra-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.infra-card:nth-child(2){border-right:0}.infra-card:nth-child(-n+2){border-bottom:1px solid #101212}.infra-heading h2{font-size:40px}}
@media(max-width:600px){.infra-shell{padding:72px 16px}.infra-heading{grid-template-columns:1fr;gap:20px;margin-bottom:32px}.infra-heading h2{font-size:36px;letter-spacing:-1.5px}.infra-grid{grid-template-columns:1fr}.infra-card{padding:24px;border-right:0;border-bottom:1px solid #101212}.infra-card:last-child{border-bottom:0}.infra-card h3{font-size:30px}.infra-diagram{height:136px;margin:16px 0 24px}.infra-bottom{align-items:stretch;flex-direction:column;padding:28px 24px;gap:24px}.infra-bottom p{font-size:20px}.infra-cta{text-align:center}}
@media(prefers-reduced-motion:reduce){.infra-card,.infra-cta,.infra-photo{transition:none}}
.flow-section{scroll-margin-top:84px;font-family:var(--font-sans-brand,Arial,Helvetica,sans-serif)}
.flow-paper{background:var(--paper,#fff);color:var(--ink,#060606);border-bottom:1px solid var(--line,#dad9d7)}
.flow-shell{max-width:2200px;margin:auto;padding:128px 40px}
.flow-index{font-family:var(--font-mono-brand,ui-monospace,monospace);font-size:14px;line-height:1.4;text-transform:uppercase;letter-spacing:0}
.flow-head{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px;align-items:end;margin-bottom:64px}
.flow-head-main{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.flow-head h2{max-width:17ch}
.flow-lede{justify-self:end;max-width:44ch;font-size:18px;line-height:1.3;letter-spacing:-.04em;font-weight:500;color:var(--muted,#717171)}

.flow-drag{position:relative;isolation:isolate;overflow:hidden;background:var(--ink,#060606);color:var(--on-dark,#fff)}
.flow-drag:before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(var(--line-dark,#4e4e4e) 1px,transparent 1.5px);background-size:12px 12px;opacity:.55;-webkit-mask-image:linear-gradient(115deg,#000 0,transparent 46%);mask-image:linear-gradient(115deg,#000 0,transparent 46%)}
.flow-drag-head{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding-bottom:64px}
.flow-title{display:flex;flex-direction:column}
.flow-dim{color:var(--on-dark-meta,#ababab)}
.flow-marquees{display:flex;flex-direction:column;gap:18px;padding-bottom:112px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.flow-marquee{display:flex;overflow:hidden}
.flow-track{display:flex;flex:none;gap:56px;padding-right:56px;white-space:nowrap;animation:flow-slide 120s linear infinite}
.flow-marquee-reverse .flow-track{animation-direction:reverse}
.flow-marquee:nth-child(2) .flow-track{animation-duration:140s}
.flow-marquee:nth-child(3) .flow-track{animation-duration:104s}
.flow-marquee:nth-child(4) .flow-track{animation-duration:156s}
.flow-track span{font-size:26px;line-height:1.25;letter-spacing:-.04em;font-weight:500;color:var(--on-dark-muted,#b4b4b4)}
.flow-marquee:nth-child(even) .flow-track span{color:var(--muted,#717171)}
@keyframes flow-slide{to{transform:translateX(-100%)}}

.flow-works .flow-shell{padding-block:96px}
.flow-works .flow-head{margin-bottom:40px}
.flow-works .flow-head h2{max-width:22ch}
.flow-systems{display:flex;flex-wrap:wrap;gap:6px}
.flow-system{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono-brand,ui-monospace,monospace);font-size:12px;line-height:1.4;text-transform:uppercase}
.flow-logo{display:block;width:16px;height:16px;flex:none}
.flow-monogram{display:inline-flex;align-items:center;justify-content:center;flex:none;width:16px;height:16px;font-family:var(--font-mono-brand,ui-monospace,monospace);font-size:9px;line-height:1;letter-spacing:0;color:var(--on-dark-meta,#ababab)}

.hub{position:relative;display:flex;flex-direction:column;background:var(--ink,#060606);color:var(--on-dark,#fff)}
.hub-radio{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}
.hub-bus{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 24px;background:var(--steel,#5c6067);font-family:var(--font-mono-brand,ui-monospace,monospace);font-size:14px;line-height:1.4;text-transform:uppercase}
.hub-bus-name{display:inline-flex;align-items:center;gap:12px}
.hub-mark{display:block;width:28px;height:28px;filter:invert(1)}
.hub-bus-note{color:var(--on-dark-soft,#ededed)}
.hub-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:16px 24px;border-bottom:1px solid var(--line-dark,#4e4e4e)}
.hub-tab{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--line-dark,#4e4e4e);font-family:var(--font-mono-brand,ui-monospace,monospace);font-size:12px;line-height:1.4;text-transform:uppercase;cursor:pointer;user-select:none;transition:background .2s ease,border-color .2s ease,color .2s ease}
.hub-tab:hover{border-color:var(--on-dark-meta,#ababab)}
.hub-count{color:var(--on-dark-meta,#ababab)}
.hub-wall{display:grid;grid-template-columns:repeat(8,minmax(0,1fr))}
.hub-col{position:relative;display:flex;flex-direction:column;gap:14px;min-width:0;padding:28px 12px 24px;border-right:1px solid var(--line-dark,#4e4e4e);cursor:pointer;transition:opacity .25s ease,background .25s ease}
.hub-col:last-child{border-right:0}
.hub-col:before{content:"";position:absolute;top:0;left:23px;width:1px;height:18px;background:var(--steel,#5c6067);box-shadow:0 0 0 .5px var(--alert-hover,#8a8e95)}
.hub-col:hover{background:var(--ink-soft,#141414)}
.hub-col-label{font-family:var(--font-mono-brand,ui-monospace,monospace);font-size:12px;line-height:1.4;text-transform:uppercase;color:var(--on-dark-meta,#ababab)}
.hub-tiles{display:grid;grid-template-columns:repeat(var(--hub-per-row,3),minmax(0,1fr));gap:7px}
.hub-tile{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border:1px solid var(--line-dark,#4e4e4e);background:var(--ink-soft,#141414)}
.hub-tile .flow-logo{width:56%;height:56%}
.hub-tile .flow-monogram{width:auto;height:auto;font-size:11px}
.hub-details{border-top:1px solid var(--line-dark,#4e4e4e)}
.hub-detail{display:none;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:32px;align-items:start;padding:24px}
.hub-detail-name{display:block;margin-bottom:8px;font-family:var(--font-mono-brand,ui-monospace,monospace);font-size:12px;line-height:1.4;text-transform:uppercase;color:var(--on-dark-meta,#ababab)}
.hub-detail p{max-width:46ch;font-size:18px;line-height:1.3;letter-spacing:-.04em;font-weight:500}
.hub-detail-all p{max-width:80ch;color:var(--on-dark-muted,#b4b4b4)}
.hub-detail .flow-system{padding:4px 8px;border:1px solid var(--line-dark,#4e4e4e);color:var(--on-dark,#fff)}

.flow-panel{background:var(--ink,#060606);color:var(--on-dark,#fff)}
.flow-panel-bar{display:flex;justify-content:space-between;gap:24px;padding:20px 24px;border-bottom:1px solid var(--line-dark,#4e4e4e);font-family:var(--font-mono-brand,ui-monospace,monospace);font-size:14px;line-height:1.4;text-transform:uppercase;color:var(--on-dark-meta,#ababab)}
.flow-panel-bar span:first-child{color:var(--on-dark,#fff)}
.flow-panel-foot{border-bottom:0;border-top:1px solid var(--line-dark,#4e4e4e)}
.flow-panel-body{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}
.flow-trace{min-width:0;padding:24px 24px 4px;border-right:1px solid var(--line-dark,#4e4e4e)}
.flow-thread{display:flex;flex-direction:column;gap:12px;min-width:0;padding:24px;background:var(--ink-soft,#141414);font-family:var(--font-mono-brand,ui-monospace,monospace);font-size:12px;line-height:1.5}
.flow-pane-label{display:flex;align-items:center;gap:12px;margin-bottom:16px;font-family:var(--font-mono-brand,ui-monospace,monospace);font-size:12px;line-height:1.4;text-transform:uppercase;color:var(--on-dark-meta,#ababab)}
.flow-thread-label{margin-bottom:4px;color:var(--on-dark,#fff)}
.flow-group{display:grid;grid-template-columns:190px minmax(0,1fr);gap:24px;padding:20px 0;border-top:1px solid var(--line-dark,#4e4e4e)}
.flow-phase{display:flex;align-items:center;gap:10px;align-self:start;padding-top:2px;font-family:var(--font-mono-brand,ui-monospace,monospace);font-size:12px;line-height:1.4;text-transform:uppercase}
.flow-phase-number{padding:0 4px;background:var(--steel,#5c6067);color:#fff}
.flow-phase-time{margin-left:auto;color:var(--on-dark-meta,#ababab)}
.flow-msg-head .flow-phase-time{margin-left:0}
.flow-events{display:flex;flex-direction:column;gap:14px;min-width:0}
.flow-event{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;align-items:start}
.flow-event .flow-system{padding-top:3px;color:var(--on-dark-soft,#ededed)}
.flow-event-body{display:flex;flex-direction:column;gap:2px;min-width:0}
.flow-event-text{font-size:18px;line-height:1.25;letter-spacing:-.04em;font-weight:500}
.flow-event-note{font-family:var(--font-mono-brand,ui-monospace,monospace);font-size:12px;line-height:1.5;color:var(--on-dark-meta,#ababab)}
.flow-msg{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--line-dark,#4e4e4e);background:var(--ink,#060606)}
.flow-msg-app{border-color:var(--steel,#5c6067);background:rgba(120,124,131,.3)}
.flow-msg-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.flow-app{padding:0 4px;background:var(--on-dark,#fff);color:var(--ink,#060606);font-size:10px}
.flow-msg p{color:var(--on-dark-soft,#ededed)}
.flow-actions{display:flex;flex-wrap:wrap;gap:6px;padding-top:4px}
.flow-btn{padding:3px 8px;border:1px solid var(--line-dark,#4e4e4e);text-transform:uppercase;color:var(--on-dark,#fff)}
.flow-btn-primary{border-color:var(--steel,#5c6067);background:var(--steel,#5c6067)}

.flow-practice .flow-head h2{max-width:21ch}
.case{position:relative;display:flex;flex-direction:column;background:var(--ink,#060606);color:var(--on-dark,#fff)}
.case-radio{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}
.case-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:16px 24px;border-bottom:1px solid var(--line-dark,#4e4e4e)}
.case-tab{display:flex;flex-direction:column;gap:6px;min-width:0;padding:12px 14px;border:1px solid var(--line-dark,#4e4e4e);cursor:pointer;user-select:none;transition:background .2s ease,border-color .2s ease,color .2s ease}
.case-tab:hover{border-color:var(--on-dark-meta,#ababab)}
.case-tab-name{display:flex;align-items:baseline;gap:8px;font-family:var(--font-mono-brand,ui-monospace,monospace);font-size:12px;line-height:1.4;text-transform:uppercase}
.case-tab-number{color:var(--on-dark-meta,#ababab)}
.case-tab-note{font-size:16px;line-height:1.3;letter-spacing:-.03em;font-weight:500;color:var(--on-dark-muted,#b4b4b4)}
.case-panel{display:none}
.case-panel .flow-event{grid-template-columns:136px minmax(0,1fr)}
.case-panel .flow-system{white-space:nowrap}

@media(max-width:1100px){
.hub-wall{grid-template-columns:repeat(4,minmax(0,1fr))}
.hub-col:nth-child(4n){border-right:0}
.hub-col:nth-child(-n+4){border-bottom:1px solid var(--line-dark,#4e4e4e)}
.hub-col:nth-child(n+5):before{display:none}
.hub-detail{grid-template-columns:1fr;gap:20px}
.flow-panel-body{grid-template-columns:1fr}
.flow-trace{border-right:0;border-bottom:1px solid var(--line-dark,#4e4e4e)}
.flow-group{grid-template-columns:150px minmax(0,1fr)}
}
@media(max-width:600px){
.flow-shell{padding:72px 16px}
.flow-works .flow-shell{padding-block:64px}
.flow-index{font-size:12px}
.flow-head,.flow-works .flow-head{grid-template-columns:1fr;gap:20px;margin-bottom:32px}
.flow-lede{justify-self:start;font-size:16px;line-height:1.4}
.flow-drag-head{padding-bottom:40px}
.flow-marquees{gap:12px;padding-bottom:72px}
.flow-track{gap:40px;padding-right:40px}
.flow-track span{font-size:18px}
.hub-bus{flex-direction:column;align-items:flex-start;gap:6px;padding:16px;font-size:12px}
.hub-tabs{padding:12px 16px}
.hub-wall{grid-template-columns:repeat(2,minmax(0,1fr))}
.hub-col{padding:20px 16px;border-bottom:1px solid var(--line-dark,#4e4e4e)}
.hub-col:nth-child(2n){border-right:0}
.hub-col:nth-child(4n){border-right:0}
.hub-col:nth-child(odd){border-right:1px solid var(--line-dark,#4e4e4e)}
.hub-col:nth-last-child(-n+2){border-bottom:0}
.hub-col:before{display:none}
.hub-details{order:1;border-top:0;border-bottom:1px solid var(--line-dark,#4e4e4e)}
.hub-wall{order:2}
.hub-detail{padding:20px 16px}
.hub-detail p{font-size:16px;line-height:1.4}
.flow-panel-bar{flex-direction:column;gap:4px;padding:16px;font-size:12px}
.flow-trace{padding:20px 16px 0}
.flow-thread{padding:20px 16px}
.flow-group{grid-template-columns:1fr;gap:14px}
.flow-event{grid-template-columns:1fr;gap:4px}
.flow-event-text{font-size:16px}
.case-tabs{grid-template-columns:1fr;padding:12px 16px}
.case-tab-note{font-size:15px}
.case-panel .flow-event{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.flow-track{animation:none}.hub-col,.hub-tab{transition:none}}
#hub-all:checked~.hub-tabs label[for=hub-all]{background:var(--on-dark,#fff);border-color:var(--on-dark,#fff);color:var(--ink,#060606)}
#hub-all:checked~.hub-tabs label[for=hub-all] .hub-count{color:var(--muted,#717171)}
#hub-all:focus-visible~.hub-tabs label[for=hub-all]{outline:2px solid var(--on-dark,#fff);outline-offset:2px}
#hub-all:checked~.hub-details .hub-detail-all{display:block}
#hub-erp:checked~.hub-tabs label[for=hub-erp]{background:var(--on-dark,#fff);border-color:var(--on-dark,#fff);color:var(--ink,#060606)}
#hub-erp:checked~.hub-tabs label[for=hub-erp] .hub-count{color:var(--muted,#717171)}
#hub-erp:focus-visible~.hub-tabs label[for=hub-erp]{outline:2px solid var(--on-dark,#fff);outline-offset:2px}
#hub-erp:checked~.hub-details .hub-detail-erp{display:grid}
#hub-erp:checked~.hub-wall .hub-col:not(.hub-col-erp){opacity:.24}
#hub-erp:checked~.hub-wall .hub-col-erp{background:var(--ink-soft,#141414)}
#hub-erp:checked~.hub-wall .hub-col-erp .hub-col-label{color:var(--on-dark,#fff)}
#hub-plan:checked~.hub-tabs label[for=hub-plan]{background:var(--on-dark,#fff);border-color:var(--on-dark,#fff);color:var(--ink,#060606)}
#hub-plan:checked~.hub-tabs label[for=hub-plan] .hub-count{color:var(--muted,#717171)}
#hub-plan:focus-visible~.hub-tabs label[for=hub-plan]{outline:2px solid var(--on-dark,#fff);outline-offset:2px}
#hub-plan:checked~.hub-details .hub-detail-plan{display:grid}
#hub-plan:checked~.hub-wall .hub-col:not(.hub-col-plan){opacity:.24}
#hub-plan:checked~.hub-wall .hub-col-plan{background:var(--ink-soft,#141414)}
#hub-plan:checked~.hub-wall .hub-col-plan .hub-col-label{color:var(--on-dark,#fff)}
#hub-source:checked~.hub-tabs label[for=hub-source]{background:var(--on-dark,#fff);border-color:var(--on-dark,#fff);color:var(--ink,#060606)}
#hub-source:checked~.hub-tabs label[for=hub-source] .hub-count{color:var(--muted,#717171)}
#hub-source:focus-visible~.hub-tabs label[for=hub-source]{outline:2px solid var(--on-dark,#fff);outline-offset:2px}
#hub-source:checked~.hub-details .hub-detail-source{display:grid}
#hub-source:checked~.hub-wall .hub-col:not(.hub-col-source){opacity:.24}
#hub-source:checked~.hub-wall .hub-col-source{background:var(--ink-soft,#141414)}
#hub-source:checked~.hub-wall .hub-col-source .hub-col-label{color:var(--on-dark,#fff)}
#hub-finance:checked~.hub-tabs label[for=hub-finance]{background:var(--on-dark,#fff);border-color:var(--on-dark,#fff);color:var(--ink,#060606)}
#hub-finance:checked~.hub-tabs label[for=hub-finance] .hub-count{color:var(--muted,#717171)}
#hub-finance:focus-visible~.hub-tabs label[for=hub-finance]{outline:2px solid var(--on-dark,#fff);outline-offset:2px}
#hub-finance:checked~.hub-details .hub-detail-finance{display:grid}
#hub-finance:checked~.hub-wall .hub-col:not(.hub-col-finance){opacity:.24}
#hub-finance:checked~.hub-wall .hub-col-finance{background:var(--ink-soft,#141414)}
#hub-finance:checked~.hub-wall .hub-col-finance .hub-col-label{color:var(--on-dark,#fff)}
#hub-data:checked~.hub-tabs label[for=hub-data]{background:var(--on-dark,#fff);border-color:var(--on-dark,#fff);color:var(--ink,#060606)}
#hub-data:checked~.hub-tabs label[for=hub-data] .hub-count{color:var(--muted,#717171)}
#hub-data:focus-visible~.hub-tabs label[for=hub-data]{outline:2px solid var(--on-dark,#fff);outline-offset:2px}
#hub-data:checked~.hub-details .hub-detail-data{display:grid}
#hub-data:checked~.hub-wall .hub-col:not(.hub-col-data){opacity:.24}
#hub-data:checked~.hub-wall .hub-col-data{background:var(--ink-soft,#141414)}
#hub-data:checked~.hub-wall .hub-col-data .hub-col-label{color:var(--on-dark,#fff)}
#hub-build:checked~.hub-tabs label[for=hub-build]{background:var(--on-dark,#fff);border-color:var(--on-dark,#fff);color:var(--ink,#060606)}
#hub-build:checked~.hub-tabs label[for=hub-build] .hub-count{color:var(--muted,#717171)}
#hub-build:focus-visible~.hub-tabs label[for=hub-build]{outline:2px solid var(--on-dark,#fff);outline-offset:2px}
#hub-build:checked~.hub-details .hub-detail-build{display:grid}
#hub-build:checked~.hub-wall .hub-col:not(.hub-col-build){opacity:.24}
#hub-build:checked~.hub-wall .hub-col-build{background:var(--ink-soft,#141414)}
#hub-build:checked~.hub-wall .hub-col-build .hub-col-label{color:var(--on-dark,#fff)}
#hub-freight:checked~.hub-tabs label[for=hub-freight]{background:var(--on-dark,#fff);border-color:var(--on-dark,#fff);color:var(--ink,#060606)}
#hub-freight:checked~.hub-tabs label[for=hub-freight] .hub-count{color:var(--muted,#717171)}
#hub-freight:focus-visible~.hub-tabs label[for=hub-freight]{outline:2px solid var(--on-dark,#fff);outline-offset:2px}
#hub-freight:checked~.hub-details .hub-detail-freight{display:grid}
#hub-freight:checked~.hub-wall .hub-col:not(.hub-col-freight){opacity:.24}
#hub-freight:checked~.hub-wall .hub-col-freight{background:var(--ink-soft,#141414)}
#hub-freight:checked~.hub-wall .hub-col-freight .hub-col-label{color:var(--on-dark,#fff)}
#hub-work:checked~.hub-tabs label[for=hub-work]{background:var(--on-dark,#fff);border-color:var(--on-dark,#fff);color:var(--ink,#060606)}
#hub-work:checked~.hub-tabs label[for=hub-work] .hub-count{color:var(--muted,#717171)}
#hub-work:focus-visible~.hub-tabs label[for=hub-work]{outline:2px solid var(--on-dark,#fff);outline-offset:2px}
#hub-work:checked~.hub-details .hub-detail-work{display:grid}
#hub-work:checked~.hub-wall .hub-col:not(.hub-col-work){opacity:.24}
#hub-work:checked~.hub-wall .hub-col-work{background:var(--ink-soft,#141414)}
#hub-work:checked~.hub-wall .hub-col-work .hub-col-label{color:var(--on-dark,#fff)}

/* In-practice case switcher: one block of four rules per key in CASES (workflow_content.py).
   The checked radio marks its button and shows its panel; keyboard focus rings the button. */
@media(prefers-reduced-motion:reduce){.case-tab{transition:none}}
#case-supply:checked~.case-tabs label[for=case-supply]{background:var(--on-dark,#fff);border-color:var(--on-dark,#fff);color:var(--ink,#060606)}
#case-supply:checked~.case-tabs label[for=case-supply] :is(.case-tab-number,.case-tab-note){color:var(--muted,#717171)}
#case-supply:focus-visible~.case-tabs label[for=case-supply]{outline:2px solid var(--on-dark,#fff);outline-offset:2px}
#case-supply:checked~.case-panel-supply{display:block}
#case-finance:checked~.case-tabs label[for=case-finance]{background:var(--on-dark,#fff);border-color:var(--on-dark,#fff);color:var(--ink,#060606)}
#case-finance:checked~.case-tabs label[for=case-finance] :is(.case-tab-number,.case-tab-note){color:var(--muted,#717171)}
#case-finance:focus-visible~.case-tabs label[for=case-finance]{outline:2px solid var(--on-dark,#fff);outline-offset:2px}
#case-finance:checked~.case-panel-finance{display:block}
#case-compliance:checked~.case-tabs label[for=case-compliance]{background:var(--on-dark,#fff);border-color:var(--on-dark,#fff);color:var(--ink,#060606)}
#case-compliance:checked~.case-tabs label[for=case-compliance] :is(.case-tab-number,.case-tab-note){color:var(--muted,#717171)}
#case-compliance:focus-visible~.case-tabs label[for=case-compliance]{outline:2px solid var(--on-dark,#fff);outline-offset:2px}
#case-compliance:checked~.case-panel-compliance{display:block}

/* In practice, played through: each trace step lights in order with its own effect, then each message in the
   thread. One loop is 17s; hovering the panel pauses it. Hidden cases do not run, so switching restarts it. */
.flow-group{margin-inline:-12px;padding-inline:12px}
.flow-group-graph{background:rgba(184,151,90,.14)}
.flow-logo-radiant{filter:invert(1)}
.flow-system-radiant{color:#d8be8c}
.flow-group:hover{background:rgba(120,124,131,.2);box-shadow:inset 3px 0 0 #a8acb3}
@media(min-width:1101px){.flow-group{grid-template-columns:214px minmax(0,1fr)}}
@keyframes flow-blink{0%,100%{background-color:transparent;box-shadow:none}1%,2.4%{background-color:rgba(168,172,179,.34);box-shadow:inset 3px 0 0 #c4c8ce}3.4%{background-color:transparent;box-shadow:none}4.6%,8%{background-color:rgba(120,124,131,.24);box-shadow:inset 3px 0 0 #a8acb3}10%{background-color:transparent;box-shadow:none}}
@keyframes flow-sweep{0%,100%{background-size:0% 100%;box-shadow:none}1%{background-size:0% 100%;box-shadow:inset 3px 0 0 #a8acb3}5%,8%{background-size:100% 100%;box-shadow:inset 3px 0 0 #a8acb3}10%{background-size:100% 100%;box-shadow:none;opacity:1}10.1%{background-size:0% 100%}}
@keyframes flow-glow{0%,100%{box-shadow:none}1.5%,8%{box-shadow:inset 3px 0 0 #d8be8c,0 0 0 1px #a8acb3,0 0 26px rgba(168,172,179,.45)}10%{box-shadow:none}}
@keyframes flow-lift{0%,100%{background-color:transparent;box-shadow:none}1%,8%{background-color:rgba(120,124,131,.22);box-shadow:inset 3px 0 0 #a8acb3}10%{background-color:transparent;box-shadow:none}}
@keyframes flow-hand{0%,100%{background-size:0% 100%;box-shadow:none}1%{background-size:0% 100%}6%,8%{background-size:100% 100%;box-shadow:inset -3px 0 0 #c4c8ce}10%{background-size:100% 100%;box-shadow:none}10.1%{background-size:0% 100%}}
@keyframes flow-chip{0%,100%{background-color:var(--steel,#5c6067);color:#fff}1%,8%{background-color:#fff;color:var(--steel,#5c6067)}10%{background-color:var(--steel,#5c6067);color:#fff}}
@keyframes flow-row{0%,100%{background-color:transparent}.6%,3.2%{background-color:rgba(255,255,255,.09)}4.4%{background-color:transparent}}
@keyframes flow-pop{0%,100%{box-shadow:none;transform:none}1%,8%{box-shadow:0 0 0 1px #c4c8ce,0 0 22px rgba(168,172,179,.42);transform:translateX(-4px)}10%{box-shadow:none;transform:none}}
@media(prefers-reduced-motion:no-preference){
.case-panel .flow-group,.case-panel .flow-msg,.case-panel .flow-phase-number,.case-panel .flow-event{animation-duration:17s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-fill-mode:both}
.case-panel .flow-group:nth-child(3),.case-panel .flow-group:nth-child(6){background-image:linear-gradient(90deg,rgba(120,124,131,.3),rgba(120,124,131,.12));background-repeat:no-repeat;background-size:0% 100%}
.case-panel .flow-group:nth-child(6){background-image:linear-gradient(90deg,rgba(120,124,131,.05),rgba(168,172,179,.34))}
.case-panel:hover .flow-group,.case-panel:hover .flow-msg,.case-panel:hover .flow-phase-number,.case-panel:hover .flow-event{animation-play-state:paused}
.case-panel .flow-group:nth-child(2){animation-name:flow-blink;animation-delay:0s}
.case-panel .flow-group:nth-child(2) .flow-phase-number{animation-name:flow-chip;animation-delay:0s}
.case-panel .flow-group:nth-child(2) .flow-event:nth-child(1){animation-name:flow-row;animation-delay:0.15s}
.case-panel .flow-group:nth-child(2) .flow-event:nth-child(2){animation-name:flow-row;animation-delay:0.45s}
.case-panel .flow-group:nth-child(2) .flow-event:nth-child(3){animation-name:flow-row;animation-delay:0.75s}
.case-panel .flow-group:nth-child(2) .flow-event:nth-child(4){animation-name:flow-row;animation-delay:1.05s}
.case-panel .flow-group:nth-child(3){animation-name:flow-sweep;animation-delay:1.5s}
.case-panel .flow-group:nth-child(3) .flow-phase-number{animation-name:flow-chip;animation-delay:1.5s}
.case-panel .flow-group:nth-child(3) .flow-event:nth-child(1){animation-name:flow-row;animation-delay:1.65s}
.case-panel .flow-group:nth-child(3) .flow-event:nth-child(2){animation-name:flow-row;animation-delay:1.95s}
.case-panel .flow-group:nth-child(3) .flow-event:nth-child(3){animation-name:flow-row;animation-delay:2.25s}
.case-panel .flow-group:nth-child(3) .flow-event:nth-child(4){animation-name:flow-row;animation-delay:2.55s}
.case-panel .flow-group:nth-child(4){animation-name:flow-glow;animation-delay:3s}
.case-panel .flow-group:nth-child(4) .flow-phase-number{animation-name:flow-chip;animation-delay:3s}
.case-panel .flow-group:nth-child(4) .flow-event:nth-child(1){animation-name:flow-row;animation-delay:3.15s}
.case-panel .flow-group:nth-child(4) .flow-event:nth-child(2){animation-name:flow-row;animation-delay:3.45s}
.case-panel .flow-group:nth-child(4) .flow-event:nth-child(3){animation-name:flow-row;animation-delay:3.75s}
.case-panel .flow-group:nth-child(4) .flow-event:nth-child(4){animation-name:flow-row;animation-delay:4.05s}
.case-panel .flow-group:nth-child(5){animation-name:flow-lift;animation-delay:4.5s}
.case-panel .flow-group:nth-child(5) .flow-phase-number{animation-name:flow-chip;animation-delay:4.5s}
.case-panel .flow-group:nth-child(5) .flow-event:nth-child(1){animation-name:flow-row;animation-delay:4.65s}
.case-panel .flow-group:nth-child(5) .flow-event:nth-child(2){animation-name:flow-row;animation-delay:4.95s}
.case-panel .flow-group:nth-child(5) .flow-event:nth-child(3){animation-name:flow-row;animation-delay:5.25s}
.case-panel .flow-group:nth-child(5) .flow-event:nth-child(4){animation-name:flow-row;animation-delay:5.55s}
.case-panel .flow-group:nth-child(6){animation-name:flow-hand;animation-delay:6s}
.case-panel .flow-group:nth-child(6) .flow-phase-number{animation-name:flow-chip;animation-delay:6s}
.case-panel .flow-group:nth-child(6) .flow-event:nth-child(1){animation-name:flow-row;animation-delay:6.15s}
.case-panel .flow-group:nth-child(6) .flow-event:nth-child(2){animation-name:flow-row;animation-delay:6.45s}
.case-panel .flow-group:nth-child(6) .flow-event:nth-child(3){animation-name:flow-row;animation-delay:6.75s}
.case-panel .flow-group:nth-child(6) .flow-event:nth-child(4){animation-name:flow-row;animation-delay:7.05s}
.case-panel .flow-msg:nth-child(2){animation-name:flow-pop;animation-delay:7.5s}
.case-panel .flow-msg:nth-child(3){animation-name:flow-pop;animation-delay:9s}
.case-panel .flow-msg:nth-child(4){animation-name:flow-pop;animation-delay:10.5s}
.case-panel .flow-msg:nth-child(5){animation-name:flow-pop;animation-delay:12s}
.case-panel .flow-msg:nth-child(6){animation-name:flow-pop;animation-delay:13.5s}
}
/* The call to action under each case. */
.flow-try{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;border-top:1px solid var(--line-dark,#4e4e4e);background:var(--ink-soft,#141414)}
.flow-try-note{font-size:18px;line-height:1.3;letter-spacing:-.04em;font-weight:500;color:var(--on-dark,#fff)}
.flow-try-button{flex:none;padding:12px 20px;background:var(--steel,#5c6067);color:#fff;font-family:var(--font-mono-brand,ui-monospace,monospace);font-size:14px;line-height:1.4;text-transform:uppercase;white-space:nowrap;transition:background .2s ease}
.flow-try-button:hover{background:var(--alert,#2a2a2d)}
.flow-try-button:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:600px){.flow-try{flex-direction:column;align-items:stretch;gap:12px;padding:16px}.flow-try-note{font-size:16px}.flow-try-button{text-align:center;font-size:12px}}
/* In practice, pinned (practice-scroll.js sets data-pinned on wide, tall-enough screens). The block of
   examples sticks under the header, the pseudo-element after it is the scroll distance spent inside it,
   and the panel's spacing tightens so it fits a screen before the script zooms it the rest of the way. */
#in-practice[data-pinned] .case{position:sticky;top:var(--practice-top,92px)}
#in-practice[data-pinned] .flow-shell::after{content:"";display:block;height:var(--practice-room,0px)}
#in-practice[data-pinned] .flow-head{margin-bottom:40px}
#in-practice[data-pinned] .case-tabs{padding:10px 16px}
#in-practice[data-pinned] .case-tab{gap:2px;padding:8px 12px}
#in-practice[data-pinned] .case-tab-note{font-size:14px}
#in-practice[data-pinned] .flow-panel-bar{padding:12px 20px;font-size:12px}
#in-practice[data-pinned] .flow-trace{padding:14px 20px 0}
#in-practice[data-pinned] .flow-pane-label{margin-bottom:8px}
#in-practice[data-pinned] .flow-group{padding-block:10px}
#in-practice[data-pinned] .flow-events{gap:8px}
#in-practice[data-pinned] .flow-event-text{font-size:15px}
#in-practice[data-pinned] .flow-event-note{font-size:11px;line-height:1.35}
#in-practice[data-pinned] .flow-thread{gap:8px;padding:14px 20px}
#in-practice[data-pinned] .flow-msg{padding:9px 10px;gap:4px}
#in-practice[data-pinned] .flow-try{padding:10px 20px}
#in-practice[data-pinned] .flow-try-note{font-size:15px}
#in-practice[data-pinned] .flow-try-button{padding:8px 16px;font-size:12px}
/* Pinned: the scroll drives the highlight (practice-scroll.js), so the timed playback is off. The row being
   read is lit, its step is lit around it, and rows not reached yet are dimmed. */
#in-practice[data-pinned] .case-panel .flow-group,#in-practice[data-pinned] .case-panel .flow-msg,#in-practice[data-pinned] .case-panel .flow-phase-number,#in-practice[data-pinned] .case-panel .flow-event{animation:none;transition:opacity .16s ease,background-color .16s ease,box-shadow .16s ease,transform .16s ease}
#in-practice[data-pinned] .case-panel .flow-group{background-size:0% 100%}
#in-practice[data-pinned] .flow-event.is-next,#in-practice[data-pinned] .flow-msg.is-next{opacity:.3}
#in-practice[data-pinned] .flow-group.is-on{background-color:rgba(120,124,131,.24);box-shadow:inset 3px 0 0 #c4c8ce}
#in-practice[data-pinned] .flow-group-graph.is-on{box-shadow:inset 3px 0 0 #d8be8c,0 0 0 1px #a8acb3,0 0 26px rgba(168,172,179,.45)}
#in-practice[data-pinned] .flow-group.is-on .flow-phase-number{background-color:#fff;color:var(--steel,#5c6067)}
#in-practice[data-pinned] .flow-event{margin-inline:-8px;padding:3px 8px}
#in-practice[data-pinned] .flow-event.is-on{background-color:rgba(255,255,255,.12);box-shadow:inset 2px 0 0 #fff}
#in-practice[data-pinned] .flow-msg.is-on{box-shadow:0 0 0 1px #c4c8ce,0 0 22px rgba(168,172,179,.45);transform:translateX(-4px)}
/* Integrated everywhere, pinned (hub-scroll.js): the hub sticks under the header and the pseudo-element after
   it is the scroll distance spent stepping through its layers. */
#integrated-everywhere[data-pinned] .flow-shell{position:sticky;top:var(--hub-top,0px)}
#integrated-everywhere[data-pinned]::after{content:"";display:block;height:var(--hub-room,0px)}
#integrated-everywhere[data-pinned] .flow-head{margin-bottom:24px}
#integrated-everywhere[data-pinned] .flow-head h2{font-size:36px;max-width:none;text-wrap:balance}
#integrated-everywhere[data-pinned] .flow-head-main{gap:10px}
#integrated-everywhere[data-pinned] .hub-details{min-height:118px}
/* Wider columns on tablets and phones: four tiles across keeps them a sensible size. */
@media(max-width:1100px){.hub-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* The drag, under the pointer (drag-hover.js supplies --mx and --my). A soft blue spotlight follows the cursor
   and lifts the dot grid around it; the row being pointed at stops so it can be read; the question under the
   pointer turns white with a glow and an underline that draws in, while the rest fall back. */
@media(hover:hover){
.flow-drag::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;transition:opacity .35s ease;background:radial-gradient(460px circle at var(--mx,50%) var(--my,50%),rgba(168,172,179,.26),rgba(168,172,179,.08) 45%,transparent 70%)}
.flow-drag:hover::after{opacity:1}
.flow-drag:hover::before{opacity:.95;-webkit-mask-image:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),#000,transparent 72%);mask-image:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),#000,transparent 72%)}
.flow-marquee:hover .flow-track{animation-play-state:paused}
.flow-track span{cursor:default;padding-bottom:4px;background:linear-gradient(#c4c8ce,#c4c8ce) left bottom/0% 2px no-repeat;transition:color .2s ease,opacity .25s ease,text-shadow .25s ease,background-size .35s ease}
.flow-marquees:hover .flow-track span{opacity:.38}
.flow-marquees:hover .flow-marquee:hover .flow-track span{opacity:.7}
.flow-marquees .flow-track span:hover{opacity:1;color:#fff;text-shadow:0 0 26px rgba(196,200,206,.6);background-size:100% 2px}
.flow-drag-head h2 span{transition:color .3s ease}
.flow-drag:hover .flow-dim{color:#eeeff1}
}
@media(prefers-reduced-motion:reduce){.flow-drag::after,.flow-track span{transition:none}}
/* Overrides for the recovered problem and how-it-works sections. */
/* The recovered utilities live in @layer utilities, so these unlayered rules win without !important. */

/* How it works: a shorter section. The markup cannot change, so everything hangs off #how-it-works. */
#how-it-works>div{padding-block:56px;gap:32px}
/* Card top panel (label, title, illustration): tighter gap between the title and the art. */
#how-it-works .grid>div>div:first-child{gap:28px}
/* The illustration box was a full-width square. Make it a short band with the square art centred
   inside, so the four corner markers still frame it and all three cards stay the same height. */
#how-it-works .grid div.aspect-square{aspect-ratio:auto;height:220px;display:flex;align-items:center;justify-content:center}
#how-it-works .grid div.aspect-square>img{width:auto;height:88%;aspect-ratio:1;object-fit:cover}
/* Card one's recoloured art has the card's own navy as its field, so its edges are invisible.
   A 3:2 cover crop trims the empty top and bottom of the square and shows the line work larger;
   the box itself is unchanged, so the three cards still match. */
#how-it-works .grid>div:first-child div.aspect-square>img{aspect-ratio:3/2}
#how-it-works .grid>div>p{padding-block:18px}
@media (min-width:768px){
  #how-it-works>div{padding-block:64px;gap:40px}
  #how-it-works .grid>div>div:first-child{gap:32px}
  #how-it-works .grid div.aspect-square{height:240px}
}
@media (min-width:992px){
  /* Let the heading run on one line where there is room; it wraps by itself on narrower desktops. */
  #how-it-works>div>div:first-child{max-width:none}
  #how-it-works .grid div.aspect-square{height:clamp(180px,16vw,250px)}
  #how-it-works .grid>div>p{padding:20px 24px}
}

/* Four cards. The recovered grid is three columns on desktop and one below it; with a fourth card it runs
   four across on desktop and two by two on tablets. The fourth card's panel is paper with an ink hairline. */
.how-operate-top{background:var(--paper,#fff);box-shadow:inset 0 0 0 1px var(--ink,#060606)}
@media (min-width:768px) and (max-width:991px){
  #how-it-works .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 8px}
}
@media (min-width:992px){
  #how-it-works .grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  #how-it-works .grid h3{font-size:26px;line-height:1.1;max-width:none;text-wrap:balance}
  #how-it-works .grid>div>p{padding:18px 20px}
  #how-it-works .grid>div>div:first-child{padding-inline:20px}
  #how-it-works .grid div.aspect-square{height:clamp(170px,14vw,220px)}
}
/* Stacked cards: a fourth card adds a whole card's height, so each picture band is shorter on phones. */
@media (max-width:767px){
  #how-it-works .grid{gap:16px}
  #how-it-works .grid div.aspect-square{height:160px}
  #how-it-works .grid>div>div:first-child{gap:20px;padding-block:20px}
  #how-it-works .grid>div>p{padding-block:14px}
}
/* Wide desktops: every card title on one line. */
@media (min-width:1280px){
  #how-it-works .grid h3{font-size:23px;white-space:nowrap}
}
/* Menu and footer links land just under the sticky header: the page already has 80px of scroll padding,
   so the sections' own 84px margin put every target a full band too low. */
#solution,#who-its-for,#how-it-works,#integrated-everywhere,#in-practice,#data-safety,#contact{scroll-margin-top:10px}
/* Overrides for the recovered data-safety section. */
/* The recovered utilities sit in a cascade layer, so these unlayered rules win without !important. */

/* The picture is a graded data-center photograph (prepare_perimeter_photo.py), cropped to fill its column. */
/* The file is 6:5 like the desktop box; the focus sits left of centre, on the cage end of the aisle. */
#data-safety img[src*="perimeter-datacenter"]{object-fit:cover;object-position:40% 50%}
/* Near-black navy while the image loads, and a faint shade at the foot so the floor sits with the black panels. */
#data-safety div:has(>img[src*="perimeter-datacenter"]){background:#0b0b0c}
#data-safety div:has(>img[src*="perimeter-datacenter"])::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(8,8,9,.5),rgba(8,8,9,0) 40%)}
/* Stacked layout: a 3:2 crop, capped so it never outgrows a wide tablet screen. */
@media(max-width:991px){#data-safety div:has(>img[src*="perimeter-datacenter"]){aspect-ratio:3/2;height:auto;max-height:560px}}

/* Section shell and header block. */
#data-safety>div{gap:28px;padding-block:48px}
#data-safety>div>div:first-child{gap:16px}
#data-safety>div>div:first-child>div{gap:12px}
#data-safety h2{font-size:26px}
#data-safety>div>div:first-child>p{font-size:15px}

/* The four rows. */
#data-safety .border-t>.reveal{gap:10px;padding-block:22px}
#data-safety .border-t>.reveal>div{gap:8px}
#data-safety h3{font-size:20px;line-height:1.15}
#data-safety .border-t>.reveal>p{font-size:14px;line-height:1.45}

@media(min-width:768px){
  #data-safety>div{gap:32px;padding-block:56px}
  #data-safety h2{font-size:34px}
  #data-safety>div>div:first-child>p{font-size:16px}
  #data-safety h3{font-size:22px}
}

/* Index in its own column, title and paragraph beside it: wide tablets and wide desktops. */
@media(min-width:768px) and (max-width:991px),(min-width:1280px){
  #data-safety .border-t>.reveal{display:grid;grid-template-columns:132px minmax(0,1fr);column-gap:16px;row-gap:10px;align-items:baseline}
  #data-safety .border-t>.reveal>div{display:contents}
  #data-safety .border-t>.reveal>p{grid-column:2;max-width:520px}
}

@media(min-width:992px){
  #data-safety>div{gap:40px;padding-block:72px}
  #data-safety>div>div:first-child{padding-block:0}
  #data-safety h2{font-size:40px}
  #data-safety .border-t>.reveal{padding-block:26px}
  #data-safety h3{font-size:23px}
  #data-safety .border-t>.reveal>p{font-size:15px}
  #data-safety .border-t>.reveal>div>span{font-size:13px}
}

/* Narrow two-column range: the rows wrap more, so trim them to keep the column close to the picture's height. */
@media(min-width:992px) and (max-width:1279px){
  #data-safety .border-t>.reveal{gap:8px;padding-block:20px}
  #data-safety .border-t>.reveal>div{gap:6px}
  #data-safety h3{font-size:22px}
  #data-safety .border-t>.reveal>p{font-size:14px;max-width:none}
}
/* ---------------------------------------------------------------------------------------------
   Engagement layer: one icon per point, hover states, and scroll-driven emphasis.
   Pure CSS on the recovered markup, so the HTML and the React payload stay identical.
   --------------------------------------------------------------------------------------------- */
#data-safety{--ds-navy:#0c0c0d;--ds-wash:rgba(12,12,13,.075);--ds-i1n:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230c0c0d' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");--ds-i1w:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");--ds-i2n:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230c0c0d' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='16' rx='2'/%3E%3Crect x='9' y='9' width='6' height='6' rx='1'/%3E%3Cpath d='M15 2v2M15 20v2M2 15h2M2 9h2M20 15h2M20 9h2M9 2v2M9 20v2'/%3E%3C/svg%3E");--ds-i2w:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='16' rx='2'/%3E%3Crect x='9' y='9' width='6' height='6' rx='1'/%3E%3Cpath d='M15 2v2M15 20v2M2 15h2M2 9h2M20 15h2M20 9h2M9 2v2M9 20v2'/%3E%3C/svg%3E");--ds-i3n:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230c0c0d' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='5' rx='9' ry='3'/%3E%3Cpath d='M3 5v14a9 3 0 0 0 18 0V5'/%3E%3Cpath d='M3 12a9 3 0 0 0 18 0'/%3E%3C/svg%3E");--ds-i3w:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='5' rx='9' ry='3'/%3E%3Cpath d='M3 5v14a9 3 0 0 0 18 0V5'/%3E%3Cpath d='M3 12a9 3 0 0 0 18 0'/%3E%3C/svg%3E");--ds-i4n:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230c0c0d' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8'/%3E%3Cpath d='M3 3v5h5'/%3E%3Cpath d='M12 7v5l4 2'/%3E%3C/svg%3E");--ds-i4w:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8'/%3E%3Cpath d='M3 3v5h5'/%3E%3Cpath d='M12 7v5l4 2'/%3E%3C/svg%3E");}
#data-safety .border-t>.reveal:nth-child(1){--ds-icon:var(--ds-i1n);--ds-icon-on:var(--ds-i1w)}
#data-safety .border-t>.reveal:nth-child(2){--ds-icon:var(--ds-i2n);--ds-icon-on:var(--ds-i2w)}
#data-safety .border-t>.reveal:nth-child(3){--ds-icon:var(--ds-i3n);--ds-icon-on:var(--ds-i3w)}
#data-safety .border-t>.reveal:nth-child(4){--ds-icon:var(--ds-i4n);--ds-icon-on:var(--ds-i4w)}

/* The row: a wash that sweeps in from the rail, and a navy rule drawn along its foot. */
#data-safety .border-t>.reveal{
  position:relative;
  background-image:linear-gradient(var(--ds-navy),var(--ds-navy)),linear-gradient(90deg,var(--ds-wash),rgba(12,12,13,0) 78%);
  background-repeat:no-repeat;background-position:left bottom,left top;background-size:0% 2px,0% 100%;
  transition:opacity .6s var(--ease-entrance) var(--reveal-delay,0s),transform .6s var(--ease-entrance) var(--reveal-delay,0s),background-size .55s cubic-bezier(.2,.7,.2,1);
}
/* The icon tile. */
#data-safety .border-t>.reveal::before{
  content:"";display:block;flex:none;width:44px;height:44px;border:1px solid var(--ds-navy);border-radius:4px;
  background:var(--ds-icon) center/22px 22px no-repeat,#fff;
  box-shadow:0 0 0 0 rgba(12,12,13,0);
  transition:background-color .35s ease,box-shadow .45s ease,transform .45s cubic-bezier(.2,.7,.2,1);
}
#data-safety .border-t>.reveal h3,
#data-safety .border-t>.reveal>p,
#data-safety .border-t>.reveal>div>span{transition:transform .45s cubic-bezier(.2,.7,.2,1),color .3s ease}

@media(min-width:768px) and (max-width:991px),(min-width:1280px){
  /* Grid rows: the tile sits in the index column, level with the paragraph. */
  #data-safety .border-t>.reveal::before{grid-column:1;grid-row:2;align-self:start}
  #data-safety .border-t>.reveal>p{grid-row:2}
}

@media(hover:hover){
  #data-safety .border-t>.reveal:hover{background-size:100% 2px,100% 100%}
  #data-safety .border-t>.reveal:hover::before{
    background:var(--ds-icon-on) center/22px 22px no-repeat,var(--ds-navy);
    box-shadow:0 0 0 6px rgba(12,12,13,.12);transform:translateY(-2px) rotate(-4deg) scale(1.06);
  }
  #data-safety .border-t>.reveal:hover h3{transform:translateX(8px);color:var(--ds-navy)}
  #data-safety .border-t>.reveal:hover>p{transform:translateX(8px);color:#2b2f33}
  #data-safety .border-t>.reveal:hover>div>span{color:var(--ds-navy)}
}

/* The photograph is deliberately still: no sweep, no zoom, no hover effect. */

/* Scroll-driven: each tile pops in as its row arrives, then lights up while the row crosses the middle of the screen. */
@keyframes ds-tile{
  0%{transform:scale(.55) rotate(-14deg);background:var(--ds-icon) center/22px 22px no-repeat,#fff;box-shadow:0 0 0 0 rgba(12,12,13,0)}
  32%{transform:none;background:var(--ds-icon) center/22px 22px no-repeat,#fff;box-shadow:0 0 0 0 rgba(12,12,13,0)}
  39%,61%{transform:scale(1.08);background:var(--ds-icon-on) center/22px 22px no-repeat,var(--ds-navy);box-shadow:0 0 0 7px rgba(12,12,13,.13)}
  68%,100%{transform:none;background:var(--ds-icon) center/22px 22px no-repeat,#fff;box-shadow:0 0 0 0 rgba(12,12,13,0)}
}
@keyframes ds-rule{0%,30%{background-size:0% 2px,0% 100%}46%,58%{background-size:100% 2px,100% 100%}76%,100%{background-size:100% 2px,0% 100%}}
@keyframes ds-index{0%,34%{color:#6b7075}42%,60%{color:var(--ds-navy)}70%,100%{color:#6b7075}}
@keyframes ds-plate{from{transform:scale(1.09) translateY(2.5%)}to{transform:scale(1) translateY(-1%)}}
@supports (animation-timeline:view()){
  @media(prefers-reduced-motion:no-preference){
    #data-safety .border-t>.reveal{animation:ds-rule linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
    #data-safety .border-t>.reveal::before{animation:ds-tile linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
    #data-safety .border-t>.reveal>div>span{animation:ds-index linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
  }
}
@media(hover:hover){
  /* Hover wins over the scroll state. */
  #data-safety .border-t>.reveal:hover,#data-safety .border-t>.reveal:hover::before,#data-safety .border-t>.reveal:hover>div>span{animation:none}
}
@media(prefers-reduced-motion:reduce){
  #data-safety .border-t>.reveal,#data-safety .border-t>.reveal::before,#data-safety .border-t>.reveal h3,#data-safety .border-t>.reveal>p{transition:none}
}

/* Stacked rows (phones, and the narrow two-column range): the tile would take a line of its own and
   undo the condensing, so it sits in the row's top-right corner instead and the text keeps clear of it. */
@media(max-width:767px),(min-width:992px) and (max-width:1279px){
  #data-safety .border-t>.reveal::before{position:absolute;top:18px;right:16px;width:40px;height:40px}
  #data-safety .border-t>.reveal>div{padding-right:56px}
}
@media(min-width:992px) and (max-width:1279px){#data-safety .border-t>.reveal::before{right:24px}}

/* Spacing pass. The intro paragraph lines up with the rows' text column instead of floating at the far
   right; the header, the body and the section's outer padding share one rhythm; and the four rows are
   equal height with their content centred, so the last row no longer crowds the foot of the picture. */
@media(min-width:992px){
  #data-safety>div{gap:44px;padding-block:68px}
  #data-safety>div>div:first-child{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:0;align-items:end}
  #data-safety>div>div:first-child>p{justify-self:start;box-sizing:content-box;max-width:500px;padding-left:40px}
  #data-safety .border-t{display:grid;grid-template-rows:repeat(4,minmax(0,1fr))}
  #data-safety .border-t>.reveal{align-content:center;padding-inline:40px}
}
@media(min-width:1280px){
  /* 40px row inset + 132px index column + 16px gap: the paragraph starts where the row titles start. */
  #data-safety>div>div:first-child>p{padding-left:188px}
  #data-safety .border-t>.reveal{column-gap:16px;row-gap:8px}
}
@media(min-width:992px) and (max-width:1279px){
  #data-safety .border-t>.reveal{justify-content:center}
}
@media(max-width:991px){
  #data-safety>div{gap:28px;padding-block:56px}
  #data-safety>div>div:first-child{gap:14px}
  #data-safety>div>div:first-child>p{max-width:46ch}
}

/* Grid rows: the index label centres on its row's heading, and the icon sits clear of it below. */
@media(min-width:768px) and (max-width:991px),(min-width:1280px){
  #data-safety .border-t>.reveal{align-items:center;row-gap:16px}
  #data-safety .border-t>.reveal>div>span,#data-safety .border-t>.reveal h3{align-self:center}
  #data-safety .border-t>.reveal>p{align-self:start}
  #data-safety .border-t>.reveal::before{align-self:start;margin-top:2px}
}
/* The header logo takes its colour from whatever is behind it: the link drops its white box and
   becomes a wordmark-shaped window onto a blurred, inverted, high-contrast copy of the backdrop,
   so it reads black over light sections and white over dark ones. Small screens keep the solid
   white bar, where the plain dark wordmark is already legible. */
@media(min-width:768px){
@supports ((backdrop-filter:invert(1)) or (-webkit-backdrop-filter:invert(1))) and ((mask-mode:luminance) or (-webkit-mask-image:none)){
a[aria-label="Prime Radiant home"][href="#hero"],a[aria-label="Prime Radiant home"][href="/"]{background:transparent!important;-webkit-backdrop-filter:blur(10px) grayscale(1) invert(1) contrast(1000%);backdrop-filter:blur(10px) grayscale(1) invert(1) contrast(1000%);-webkit-mask:url(/custom/prime-radiant-wordmark-light.svg) center/contain no-repeat content-box;mask:url(/custom/prime-radiant-wordmark-light.svg) center/contain no-repeat content-box;mask-mode:luminance}
a[aria-label="Prime Radiant home"][href="#hero"] img,a[aria-label="Prime Radiant home"][href="/"] img{opacity:0}
}
}
/* The consent notice: a slim bar centred at the foot of the screen, full width on phones. Built by consent.js. */
.bo-consent{position:fixed;left:50%;bottom:12px;z-index:90;transform:translateX(-50%);display:flex;align-items:center;gap:16px;width:max-content;max-width:calc(100vw - 32px);padding:8px 8px 8px 16px;background:var(--ink,#060606);color:var(--on-dark,#fff);border:1px solid var(--line-dark,#4e4e4e);box-shadow:0 12px 40px rgba(0,0,0,.28);font-family:var(--font-sans-brand,Arial,Helvetica,sans-serif);animation:bo-consent-in .35s ease both}
.bo-consent p{margin:0;font-size:13px;line-height:1.4;letter-spacing:-.02em;color:var(--on-dark-soft,#ededed)}
.bo-consent a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.bo-consent-actions{display:flex;flex:none;gap:6px}
.bo-consent button{padding:6px 12px;border:1px solid var(--line-dark,#4e4e4e);background:transparent;color:#fff;font-family:var(--font-mono-brand,ui-monospace,monospace);font-size:12px;line-height:1.4;text-transform:uppercase;cursor:pointer;transition:background .2s ease,border-color .2s ease}
.bo-consent button:hover{border-color:var(--on-dark-meta,#ababab)}
.bo-consent .bo-consent-accept{background:var(--signal,#0c0c0d);border-color:var(--signal,#0c0c0d)}
.bo-consent .bo-consent-accept:hover{background:var(--alert,#2a2a2d);border-color:var(--alert,#2a2a2d)}
.bo-consent button:focus-visible{outline:2px solid #fff;outline-offset:2px}
@keyframes bo-consent-in{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translateX(-50%)}}
@media(max-width:600px){.bo-consent{left:0;right:0;bottom:0;width:auto;max-width:none;transform:none;gap:12px;padding:10px 12px;border-width:1px 0 0;animation:none}.bo-consent p{font-size:12px}.bo-consent-actions{flex:none}.bo-consent button{padding:7px 10px}}
@media(prefers-reduced-motion:reduce){.bo-consent{animation:none}}
/* Prime Radiant tokens, appended after every other sheet. Gold is for accents: primary buttons,
   the industry numbers, the agent's graph step and the logo's facet. Everything else is black,
   white and silver. */
:root{--accent:#b8975a;--accent-hover:#a8874c;--accent-foreground:#0c0c0d;--signal:#5c6067;--alert:#2a2a2d;--alert-hover:#8a8e95;--steel:#5c6067;--gold:#b8975a;--gold-light:#d8be8c}
.bg-accent{color:#0c0c0d}
.bg-accent:hover,.hover\:bg-accent-hover:hover{color:#0c0c0d}
.flow-try-button,.flow-btn-primary,.infra-cta{background:#b8975a!important;border-color:#b8975a!important;color:#0c0c0d!important}
.flow-try-button:hover,.infra-cta:hover{background:#d8be8c!important}
.hub-bus{background:#161618!important;box-shadow:inset 0 -1px 0 rgba(184,151,90,.55)}
::selection{background:#b8975a;color:#0c0c0d}
/* "Prime Radiant" is wider than the name the header was laid out for; on phones the wordmark
   steps down so Sign in and Book a demo stay on one line. */
@media(max-width:479px){a[aria-label="Prime Radiant home"] img{height:24px!important;width:auto!important}}
/* More gold and silver: a gold tick on every section label, gold section numbers in the dark
   bands, the scroll progress and stepper dot in gold, and silver rules on the dark panels. */
.bg-chip{box-shadow:inset 2px 0 0 #b8975a;padding-left:7px!important}
.flow-index,.text-on-dark.type-brow,.text-surface-strong.type-brow{color:#d8be8c}
span.bg-signal.absolute,span.bg-signal.status-dot,span.bg-alert{background:#b8975a!important}
.text-on-dark.type-link:hover{color:#d8be8c!important}
.hub-col:before{background:#b8975a!important;box-shadow:none!important}
.infra-index{color:#9c7c45}
