:root{--bg: oklch(.979 .004 250);--bg-2: oklch(.958 .005 250);--bg-3: oklch(.934 .006 252);--ink: oklch(.205 .013 258);--ink-2: oklch(.36 .013 258);--ink-3: oklch(.515 .011 258);--line: oklch(.89 .006 256);--line-2: oklch(.842 .008 256);--signal: oklch(.593 .163 303);--signal-deep: oklch(.47 .15 303);--signal-tint: oklch(.935 .048 303);--error: oklch(.555 .15 28);--error-deep: oklch(.43 .13 28);--error-tint: oklch(.945 .035 32);--night: oklch(.198 .018 262);--night-2: oklch(.255 .021 262);--night-ink: oklch(.945 .006 250);--night-2nd: oklch(.715 .012 252);--night-line: oklch(.355 .022 262);--display: "Schibsted Grotesk", system-ui, sans-serif;--sans: "Albert Sans", system-ui, sans-serif;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;--fs-hero: clamp(2.85rem, 1.3rem + 6.4vw, 6.5rem);--fs-h1: clamp(2.3rem, 1.4rem + 3.4vw, 4rem);--fs-h2: clamp(1.7rem, 1.25rem + 1.9vw, 2.75rem);--fs-h3: clamp(1.2rem, 1.05rem + .7vw, 1.5rem);--fs-lead: clamp(1.18rem, 1.04rem + .6vw, 1.5rem);--fs-body: clamp(1.03rem, 1rem + .16vw, 1.13rem);--fs-tag: .74rem;--gutter: clamp(1.25rem, .5rem + 3.2vw, 3.5rem);--maxw: 78rem;--measure: 37rem;--section: clamp(4.5rem, 3rem + 7vw, 9.5rem);--ease: cubic-bezier(.16, 1, .3, 1);--ease-2: cubic-bezier(.33, .01, .16, 1)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--sans);font-size:var(--fs-body);line-height:1.6;font-weight:400;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1,"liga" 1;overflow-x:hidden}img,svg,canvas{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}::selection{background:var(--signal-tint);color:var(--ink)}:focus-visible{outline:2.5px solid var(--signal);outline-offset:3px;border-radius:2px}h1,h2,h3,h4{font-family:var(--display);font-weight:500;line-height:1.04;letter-spacing:-.02em;color:var(--ink);text-wrap:balance}p{text-wrap:pretty}.prose{max-width:var(--measure)}.prose p{color:var(--ink-2)}.prose p+p{margin-top:1.1rem}.opener{max-width:42rem}.opener p{font-size:clamp(1.08rem,1.02rem + .3vw,1.22rem);line-height:1.55;color:var(--ink)}.opener p+p{margin-top:1.1rem}.opener .sig{color:var(--signal-deep);font-weight:500}.opener-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.72fr);gap:clamp(2rem,5vw,4rem);align-items:start}.opener-row .opener{max-width:none}.img-ph{margin:0;aspect-ratio:4 / 5;border:1px solid var(--line);border-radius:4px;background:linear-gradient(var(--bg-2),var(--bg));display:grid;place-items:center;position:relative;overflow:hidden}.img-ph:before{content:"";position:absolute;inset:9px;border:1px dashed var(--line-2);border-radius:3px}.img-ph.has-img{background:var(--bg-2)}.img-ph.has-img:before{display:none}.img-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.img-ph.img-wide{aspect-ratio:16 / 9}.img-ph span{position:relative;z-index:1;display:inline-flex;align-items:center;gap:.5rem;font-family:var(--mono);font-size:var(--fs-tag);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.shell{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:var(--section);position:relative}.measure{max-width:var(--measure)}.lead{font-size:var(--fs-lead);line-height:1.42;color:var(--ink-2);font-weight:350;letter-spacing:-.01em}.muted{color:var(--ink-2)}.rule{border:0;border-top:1px solid var(--line)}.tag{font-family:var(--mono);font-size:var(--fs-tag);font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}.tag .sig{color:var(--signal-deep)}.fig{font-family:var(--mono);font-size:var(--fs-tag);letter-spacing:.1em;color:var(--ink-3)}.dot{display:inline-block;width:.42em;height:.42em;border-radius:50%;background:var(--signal);vertical-align:middle}.btn{display:inline-flex;align-items:center;gap:.6em;font-family:var(--sans);font-size:.98rem;font-weight:600;letter-spacing:-.005em;padding:.85em 1.45em;border-radius:1px;border:1.5px solid transparent;transition:transform .5s var(--ease),background .3s var(--ease-2),color .3s var(--ease-2),border-color .3s var(--ease-2),box-shadow .5s var(--ease)}.btn .arr{transition:transform .5s var(--ease)}.btn:hover .arr{transform:translate(5px)}.btn-primary{background:var(--ink);color:var(--bg)}.btn-primary:hover{transform:translateY(-2px);background:var(--signal-deep);box-shadow:0 16px 30px -20px var(--signal-deep)}.btn-primary .arr{color:var(--signal)}.btn-primary:hover .arr{color:var(--bg)}.btn-ghost{border-color:var(--line-2);color:var(--ink)}.btn-ghost:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:0 16px 30px -24px var(--ink)}.btn:active{transform:translateY(0) scale(.992)}.btn:disabled{opacity:.55;cursor:default;transform:none;box-shadow:none}.link{display:inline-flex;align-items:center;gap:.5em;font-weight:600;color:var(--ink);padding-bottom:2px;background-image:linear-gradient(var(--signal),var(--signal));background-size:0 1.5px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .45s var(--ease),color .3s}.link .arr{color:var(--signal);transition:transform .45s var(--ease)}.link:hover{color:var(--signal-deep);background-size:100% 1.5px}.link:hover .arr{transform:translate(5px)}.masthead{position:sticky;top:0;z-index:60;background:color-mix(in oklch,var(--bg) 82%,transparent);backdrop-filter:blur(10px) saturate(1.1);border-bottom:1px solid transparent;transition:border-color .4s,background .4s}.masthead.scrolled{border-bottom-color:var(--line)}.masthead .shell{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.6rem}.brand{display:inline-flex;align-items:center;gap:.62rem}.brand .mark{width:26px;height:26px;flex:none;color:var(--ink);transition:transform .6s var(--ease)}.brand .mark .spark{fill:var(--signal);transition:fill .5s var(--ease)}.brand:hover .mark{transform:scale(1.09)}.brand:hover .mark .spark{fill:#b67ef9}.brand .name{font-family:var(--display);font-weight:600;font-size:1.04rem;letter-spacing:-.02em;color:var(--ink)}.brand .name .mid{color:var(--ink-3)}.nav{display:flex;align-items:center;gap:clamp(.4rem,1.4vw,1.6rem)}.nav a{position:relative;font-size:.9rem;font-weight:500;color:var(--ink-2);padding:.4rem .1rem;transition:color .3s}.nav a:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1.5px;background:var(--signal);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}.nav a:hover,.nav a[aria-current=page]{color:var(--ink)}.nav a:hover:after,.nav a[aria-current=page]:after{transform:scaleX(1)}.nav .cta{color:var(--ink);border:1.5px solid var(--line-2);padding:.5rem .95rem;border-radius:1px;transition:border-color .3s,color .3s}.nav .cta:after{display:none}.nav .cta:hover{border-color:var(--signal);color:var(--signal-deep)}.nav-toggle{display:none;width:2.6rem;height:2.6rem;border:1.5px solid var(--line-2);border-radius:1px;align-items:center;justify-content:center}.nav-toggle svg{width:20px;height:20px;color:var(--ink)}.nav-dd{position:relative}.nav-dd-trigger{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;font-family:var(--sans);font-size:.9rem;font-weight:500;color:var(--ink-2);padding:.4rem .1rem;transition:color .3s}.nav-dd:hover .nav-dd-trigger,.nav-dd.open .nav-dd-trigger{color:var(--ink)}.nav-dd-trigger .chev{transition:transform .3s var(--ease)}.nav-dd-menu{position:absolute;top:calc(100% + .5rem);left:50%;transform:translate(-50%,6px);min-width:12.5rem;background:var(--bg);border:1px solid var(--line);border-radius:3px;box-shadow:0 24px 46px -30px var(--ink);padding:.4rem;display:grid;gap:.1rem;opacity:0;visibility:hidden;transition:opacity .25s,transform .35s var(--ease),visibility .25s;z-index:70}.nav-dd:hover .nav-dd-menu,.nav-dd.open .nav-dd-menu{opacity:1;visibility:visible;transform:translate(-50%)}.nav-dd:hover .nav-dd-trigger .chev,.nav-dd.open .nav-dd-trigger .chev{transform:rotate(180deg)}.nav-dd-menu a{padding:.6rem .8rem;font-size:.92rem;color:var(--ink-2);border-radius:2px;white-space:nowrap}.nav-dd-menu a:after{display:none}.nav-dd-menu a:hover{background:var(--bg-2);color:var(--signal-deep)}.field-wrap{position:absolute;inset:0;z-index:0;overflow:hidden}.field-wrap canvas{width:100%;height:100%;display:block}.hero{position:relative;overflow:clip;min-height:min(92vh,54rem);display:flex;align-items:center;padding-block:clamp(4rem,3rem + 6vw,8rem)}.hero .field-wrap{z-index:0}.hero:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(100deg,var(--bg) 6%,color-mix(in oklch,var(--bg) 60%,transparent) 36%,transparent 60%)}.hero .shell{position:relative;z-index:2;width:100%}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) clamp(15rem,26vw,21rem);gap:clamp(2rem,5vw,5rem);align-items:center}.hero-head{max-width:52rem}.hero-portrait{margin:0;position:relative;overflow:hidden;aspect-ratio:2 / 3;border:1px solid var(--line);border-radius:4px;background:var(--bg-2);box-shadow:0 40px 70px -48px color-mix(in oklch,var(--night) 70%,transparent)}.hero-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-portrait:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(125% 105% at 50% 22%,transparent 58%,color-mix(in oklch,var(--night) 22%,transparent) 100%)}.hero h1{font-size:clamp(2.5rem,1.5rem + 3.4vw,4.5rem);font-weight:500;letter-spacing:-.03em;line-height:1.04;max-width:19ch}.hero h1 .sig{color:var(--signal-deep)}.hero .lead{margin-top:1.6rem;max-width:42rem}.hero .cta-row{margin-top:2.4rem;display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:center}.hero-top{display:flex;align-items:center;gap:1rem;margin-bottom:1.8rem;flex-wrap:wrap}.hero-foot{margin-top:clamp(2.5rem,6vw,4.5rem);display:flex;align-items:center;gap:.9rem}.hero-foot .tag{display:inline-flex;align-items:center;gap:.7rem}.entropy-bar{width:7rem;height:4px;background:var(--line-2);border-radius:2px;overflow:hidden}.entropy-bar i{display:block;height:100%;width:30%;background:var(--signal);transform-origin:left}.page-head{position:relative;overflow:clip;padding-block:clamp(3.5rem,3rem + 5vw,7rem) clamp(2.5rem,4vw,4rem)}.page-head .field-wrap{opacity:.85}.page-head:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent,var(--bg) 78%);pointer-events:none}.page-head .shell{position:relative;z-index:2}.page-head h1{font-size:var(--fs-h1);font-weight:500;margin-top:1.1rem;max-width:18ch}.page-head .lead{margin-top:1.5rem}.head{max-width:52rem;margin-bottom:1.8rem}.head.spaced{margin-top:clamp(3rem,6vw,5rem)}.head .tag{display:block;margin-bottom:1rem}.head h2{font-size:var(--fs-h2);font-weight:500}.head .lead{margin-top:1.3rem}.section.flush-top{padding-top:0}.thesis{border-block:1px solid var(--line);background:var(--bg-2)}.thesis .grid{display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,1fr);gap:clamp(1.5rem,5vw,5rem);align-items:start}.thesis p{font-family:var(--display);font-weight:400;font-size:clamp(1.4rem,1.05rem + 1.5vw,2.3rem);line-height:1.22;letter-spacing:-.02em;color:var(--ink);max-width:24ch}.thesis p+p{margin-top:1rem}.thesis .sig{color:var(--signal-deep)}.cols{display:grid;gap:0}.cols.n3{grid-template-columns:repeat(3,1fr)}.cols.n2{grid-template-columns:repeat(2,1fr)}.col{padding:1.7rem clamp(1rem,2vw,2rem) 2rem 0;border-top:1px solid var(--ink);position:relative}.cols.n2 .col:nth-child(2n),.cols.n3 .col:not(:nth-child(3n+1)){padding-left:clamp(1rem,2vw,2rem);border-left:1px solid var(--line)}.ix{font-family:var(--mono);font-size:var(--fs-tag);color:var(--signal-deep);letter-spacing:.1em;text-transform:uppercase}.col h3{font-size:var(--fs-h3);font-weight:500;margin:.85rem 0 .55rem}.col p{color:var(--ink-2);font-size:.98rem}.col ul,.eng-card ul{list-style:none;padding:0;margin:.9rem 0 0;display:grid;gap:.5rem}.col ul li,.eng-card ul li{position:relative;padding-left:1.05rem;font-size:.95rem;color:var(--ink-2)}.col ul li:before,.eng-card ul li:before{content:"";position:absolute;left:0;top:.6em;width:.4rem;height:.4rem;border:1.4px solid var(--signal);border-radius:50%}.col.not-for ul li:before{width:.55rem;height:0;top:.78em;border:0;border-top:1.6px solid var(--ink-3);border-radius:0}.te-row{display:grid;grid-template-columns:minmax(0,.5fr) minmax(0,1fr);gap:clamp(1.5rem,5vw,5rem);align-items:start}.te-row .img-ph{max-width:22rem}.te-block{max-width:38rem}.te-block .tag{display:block;margin-bottom:1rem}.te-block h2{font-size:var(--fs-h2);font-weight:500}.te-prose{margin-top:1.3rem;font-size:var(--fs-lead);line-height:1.5;color:var(--ink-2);font-weight:350}.eng-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.25rem,2.5vw,2rem)}.eng-card{display:flex;flex-direction:column;padding:clamp(1.5rem,1rem + 2vw,2.4rem);background:var(--bg);border:1px solid var(--line);border-radius:5px;box-shadow:0 26px 52px -40px var(--ink);scroll-margin-top:6rem}.ix+br+.eng-fit,.eng-fits .ix{display:inline-block;margin-bottom:.5rem}.eng-card-head h2{font-size:var(--fs-h3);font-weight:500;margin:.6rem 0 .5rem}.eng-tagline{color:var(--ink-2);font-size:.98rem;line-height:1.45}.eng-card-body{margin-top:1.4rem;padding-top:1.4rem;border-top:1px solid var(--line)}.eng-scope-label{display:block;margin-top:1.5rem}.eng-scope{margin-top:.55rem;color:var(--ink-2);font-size:.95rem;line-height:1.5}.eng-fits{margin-top:.55rem;font-size:.95rem}.eng-fit{color:var(--signal-deep);font-weight:500;border-bottom:1px solid transparent;transition:border-color .25s}.eng-fit:hover{border-bottom-color:var(--signal)}.eng-fits .sep{color:var(--ink-3)}.eng-who{margin-top:.55rem;color:var(--ink-2);font-size:.95rem;line-height:1.5}a.col{color:inherit}a.col .col-cta{display:inline-flex;align-items:center;gap:.45em;margin-top:1.1rem;font-size:.88rem;font-weight:600;color:var(--ink-2);transition:color .3s}a.col .col-cta .arr{color:var(--signal);transition:transform .45s var(--ease)}a.col .ix{transition:color .4s var(--ease)}a.col:hover h3,a.col:hover .col-cta{color:var(--signal-deep)}a.col:hover .col-cta .arr{transform:translate(5px)}a.col:hover .ix{color:var(--signal)}.readout{background:var(--bg-2);border-block:1px solid var(--line)}.readout .grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,5rem);align-items:center}.readout dl{display:grid;margin:0}.readout .row{display:grid;grid-template-columns:2.6rem 1fr;gap:1.2rem;align-items:baseline;padding-block:1rem;border-top:1px solid var(--line)}.readout .row:last-child{border-bottom:1px solid var(--line)}.readout .row dt{font-family:var(--mono);font-size:var(--fs-tag);color:var(--signal-deep);letter-spacing:.06em}.readout .row dd{margin:0;color:var(--ink);font-weight:450}.entries{border-top:1px solid var(--line)}.entry{display:grid;grid-template-columns:3rem minmax(0,1fr) auto;gap:1rem 1.6rem;align-items:baseline;padding-block:clamp(1.6rem,3vw,2.3rem);border-bottom:1px solid var(--line);transition:padding-left .5s var(--ease),background .4s}a.entry:hover{padding-left:.7rem}.entry .e-ix{font-family:var(--mono);font-size:var(--fs-tag);color:var(--ink-3)}.entry .e-main{max-width:48rem}.entry .e-tag{margin-bottom:.55rem}.entry h3{font-size:clamp(1.35rem,1.05rem + 1vw,1.95rem);font-weight:500;letter-spacing:-.025em}a.entry:hover h3{color:var(--signal-deep)}.entry p{color:var(--ink-2);margin-top:.5rem;font-size:.98rem;max-width:52ch}.entry .e-meta{text-align:right;white-space:nowrap}.night{position:relative;overflow:clip;background:var(--night);color:var(--night-ink)}.night .field-wrap{z-index:0}.night:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(120% 130% at 15% 50%,var(--night) 18%,color-mix(in oklch,var(--night) 50%,transparent) 50%,transparent 80%)}.night .shell{position:relative;z-index:2}.night h2,.night h1{color:var(--night-ink)}.night .lead,.night p,.night .tag{color:var(--night-2nd)}.night .tag .sig{color:var(--signal)}.night .btn-ghost{border-color:var(--night-line);color:var(--night-ink)}.night .btn-ghost:hover{border-color:var(--night-ink)}.night .measure>h2{font-size:var(--fs-h1);font-weight:500;margin-top:1.2rem}.night .measure>.lead{margin-top:1.4rem}.night .measure>.cta-row{margin-top:2.3rem;display:flex;gap:1.2rem;flex-wrap:wrap}.reading{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:start}.reading .aside{position:sticky;top:6rem}.reading .aside ul{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.5rem}.reading .aside li{font-size:.95rem;color:var(--ink-2);padding-left:1rem;position:relative}.reading .aside li:before{content:"";position:absolute;left:0;top:.62em;width:.34rem;height:.34rem;border-radius:50%;background:var(--signal)}.reading .body p{max-width:var(--measure);color:var(--ink)}.reading .body p+p{margin-top:1.2rem}.reading .body .big{font-family:var(--display);font-weight:400;font-size:clamp(1.5rem,1.1rem + 1.6vw,2.2rem);line-height:1.22;letter-spacing:-.02em;max-width:22ch;margin:2rem 0}.portrait{aspect-ratio:4/5;background:var(--bg-2);border:1px solid var(--line);display:grid;place-items:center;position:relative;overflow:hidden}.portrait canvas{position:absolute;inset:0}.portrait.has-img{margin:0;border-radius:4px}.portrait.has-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.portrait .mono-init{position:relative;z-index:2;font-family:var(--display);font-weight:600;font-size:clamp(3rem,8vw,5rem);color:var(--ink);letter-spacing:-.04em;mix-blend-mode:multiply}.casefile{border-top:1px solid var(--line);margin-top:2.3rem}.casefile .b{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr);gap:clamp(1rem,3vw,3rem);padding-block:1.9rem;border-bottom:1px solid var(--line)}.casefile .b .l{font-family:var(--mono);font-size:var(--fs-tag);letter-spacing:.1em;text-transform:uppercase;color:var(--signal-deep)}.casefile .b .c{max-width:var(--measure)}.casefile .b .c p+p{margin-top:1rem}.casefile .b ul{list-style:none;padding:0;display:grid;gap:.6rem}.casefile .b ul li{position:relative;padding-left:1.4rem;color:var(--ink-2)}.casefile .b ul li:before{content:"→";position:absolute;left:0;color:var(--signal);font-weight:600}.night .casefile,.night .casefile .b{border-color:var(--night-line)}.night .casefile .b .l{color:var(--signal)}.night .casefile .b ul li{color:var(--night-2nd)}.chips{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}.chip{font-family:var(--mono);font-size:var(--fs-tag);letter-spacing:.08em;color:var(--ink-2);padding:.4rem .8rem;border:1px solid var(--line-2);border-radius:999px;transition:border-color .3s,color .3s}.chip:hover{border-color:var(--signal);color:var(--signal-deep)}.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:start}.field{display:grid;gap:.45rem;margin-bottom:1.3rem}.field label{font-family:var(--mono);font-size:var(--fs-tag);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}.field input,.field textarea,.field select{font:inherit;font-size:1rem;color:var(--ink);background:var(--bg);border:1.5px solid var(--line-2);border-radius:2px;padding:.8rem .9rem;transition:border-color .3s,box-shadow .3s}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--signal);box-shadow:0 0 0 3px var(--signal-tint)}.field textarea{resize:vertical;min-height:8rem}.field input[aria-invalid=true],.field textarea[aria-invalid=true],.field select[aria-invalid=true]{border-color:var(--error);box-shadow:0 0 0 3px var(--error-tint)}#contact-form [data-fs-success],#contact-form [data-fs-error]{display:none}#contact-form [data-fs-success][data-fs-active]{display:block;margin-bottom:1.6rem;padding:1.1rem 1.25rem;border:1px solid var(--signal);background:var(--signal-tint);color:var(--ink);border-radius:2px;font-size:.98rem;line-height:1.5;animation:fs-rise .5s var(--ease) both}@keyframes fs-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}#contact-form [data-fs-success] .fs-ok-label{display:block;font-family:var(--mono);font-size:var(--fs-tag);letter-spacing:.14em;text-transform:uppercase;color:var(--signal-deep);margin-bottom:.4rem}#contact-form>[data-fs-error=""][data-fs-active]{display:block;margin-bottom:1.6rem;padding:1.1rem 1.25rem;border:1px solid var(--error);background:var(--error-tint);color:var(--error-deep);border-radius:2px;font-size:.98rem;line-height:1.5}#contact-form .field [data-fs-error][data-fs-active]{display:block;margin:.1rem 0 0;padding:0;border:0;background:none;color:var(--error-deep);font-size:.82rem}#contact-form:has([data-fs-success][data-fs-active]) .field,#contact-form:has([data-fs-success][data-fs-active]) [data-fs-submit-btn]{display:none}#contact-form[aria-busy=true]{cursor:progress}@media(max-width:600px){body>div:has(>iframe[src*="calendar.google.com/calendar/appointments"]){padding-left:14px!important;padding-right:14px!important}}.foot{background:var(--bg-2);border-top:1px solid var(--line);padding-block:clamp(3rem,6vw,5rem) 2rem}.foot .top{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr));gap:clamp(1.5rem,4vw,3.5rem)}.foot .blurb{color:var(--ink-2);margin-top:1rem;max-width:30ch;font-size:.96rem}.foot nav{display:grid;gap:.55rem;align-content:start}.foot nav .h{font-family:var(--mono);font-size:var(--fs-tag);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.35rem}.foot nav a{color:var(--ink-2);font-size:.95rem;transition:color .25s}.foot nav a:hover{color:var(--signal-deep)}.foot .base{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;margin-top:clamp(2.5rem,5vw,4rem);padding-top:1.5rem;border-top:1px solid var(--line)}.foot .base p{font-size:.82rem;color:var(--ink-3)}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:100;background:var(--ink);color:var(--bg);padding:.6rem 1rem;border-radius:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.logos{border-block:1px solid var(--line);background:var(--bg-2);padding-block:clamp(2.6rem,4vw,3.6rem);overflow:hidden}.logos .cap{display:block;text-align:center;margin-bottom:clamp(1.6rem,3vw,2.4rem)}.marquee{overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}.marquee-track{display:flex;width:max-content;align-items:center;animation:marquee 60s linear infinite}.marquee:hover .marquee-track{animation-play-state:paused}.logo-mark{display:inline-flex;align-items:center;gap:.62rem;flex:none;color:var(--ink-3);margin-right:clamp(2.75rem,5.5vw,5.5rem);transition:color .4s var(--ease)}.logo-mark:hover{color:var(--ink)}.logo-mark svg{width:24px;height:24px;flex:none}.logo-mark .wm{font-family:var(--display);font-weight:600;font-size:1.12rem;letter-spacing:-.02em;white-space:nowrap}.logo-brand svg{width:auto;height:25px}@keyframes marquee{to{transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.marquee{-webkit-mask:none;mask:none}.marquee-track{animation:none;width:auto;flex-wrap:wrap;justify-content:center;row-gap:1.5rem}.marquee-track>:nth-child(n+4){display:none}}@media(prefers-reduced-motion:reduce){.btn,.link,.nav a:after,.entry,.brand .mark,.brand .mark .spark,a.col .ix{transition:none!important}.brand:hover .mark{transform:none}#contact-form [data-fs-success][data-fs-active]{animation:none}}@media(max-width:900px){.thesis .grid{grid-template-columns:1fr;gap:1.5rem}.readout .grid{grid-template-columns:1fr;gap:2rem}.reading{grid-template-columns:1fr}.reading .aside{position:static}.contact-grid,.opener-row{grid-template-columns:1fr}.opener-row .img-ph{max-width:24rem;order:-1}.te-row{grid-template-columns:1fr}.te-row .img-ph{max-width:24rem}.hero:before{background:linear-gradient(180deg,color-mix(in oklch,var(--bg) 30%,transparent),var(--bg) 70%)}.hero-grid{grid-template-columns:1fr}.hero-portrait{display:none}.foot .top{grid-template-columns:1fr 1fr}}@media(max-width:680px){.cols.n3,.cols.n2,.eng-grid{grid-template-columns:1fr}.col{border-left:none!important;padding-left:0!important}.col+.col{border-top:1px solid var(--line)}.cols .col:first-child{border-top-color:var(--ink)}.entry{grid-template-columns:1fr}.entry .e-meta{text-align:left}.entry .e-ix{display:none}.casefile .b{grid-template-columns:1fr;gap:.5rem}.foot .top{grid-template-columns:1fr}.nav{position:fixed;inset:4.6rem 0 auto;flex-direction:column;align-items:stretch;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:.5rem var(--gutter) 1.5rem;transform:translateY(-130%);transition:transform .55s var(--ease);box-shadow:0 24px 40px -30px var(--ink)}.nav.open{transform:translateY(0)}.nav a{padding:.9rem 0;border-bottom:1px solid var(--line)}.nav a:after{display:none}.nav .cta{border:none;padding:1rem 0;color:var(--signal-deep)}.nav-toggle{display:inline-flex}.nav-dd{display:block}.nav-dd-menu{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;border:none;background:transparent;padding:0;min-width:0;display:block}.nav-dd-menu a{padding:.75rem 0 .75rem 1.3rem;border-bottom:1px solid var(--line);font-size:.95rem}.nav-dd-trigger{width:100%;text-align:left;padding:.9rem 0;border-bottom:1px solid var(--line)}.nav-dd-trigger .chev{display:none}}
