@font-face{font-family:'Montserrat';font-weight:700;font-style:normal;font-display:block;src:url(/assets/montserrat-latin-700.woff2) format('woff2')}
:root{--bg:#F2F2F7;--ink:#1C1C1E;--mute:#5C5C63;--line:#D1D1D6;--blue:#0A84FF;--field:rgba(10,132,255,.13);--fi:#0058C2;--sheet:#E5E5EA;color-scheme:light dark}
@media(prefers-color-scheme:dark){:root{--bg:#1C1C1E;--ink:#F2F2F7;--mute:#A6A6AE;--line:#3A3A3E;--field:rgba(10,132,255,.24);--fi:#80C0FF;--sheet:#252528}}
*{box-sizing:border-box}html{scroll-padding-top:5rem;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.65 'Schibsted Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif}
a{color:inherit;text-decoration-color:var(--blue);text-decoration-thickness:2px;text-underline-offset:.22em}
a:hover{text-decoration-color:currentColor}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:2px}
.w{max-width:72rem;margin:0 auto;padding:0 clamp(1.25rem,4vw,3rem)}
header .w{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 2rem;padding-top:1.5rem;padding-bottom:1.5rem}
.logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;font:700 1.35rem/1 Montserrat,sans-serif;letter-spacing:-.03em}
.mark{display:inline-block;width:1.45rem;height:1.55rem;background:currentColor;-webkit-mask:url(/assets/mark.svg) center/contain no-repeat;mask:url(/assets/mark.svg) center/contain no-repeat}
nav{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;font-size:.97rem}nav a{text-decoration:none}nav a:hover,nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--blue)}
h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.025em;line-height:1.1}
h1{font-weight:500;font-size:clamp(2.6rem,7.6vw,6.1rem);letter-spacing:-.045em;line-height:1.01;max-width:15ch}
h2{font-size:clamp(1.75rem,3.6vw,2.6rem);max-width:20ch}h3{font-size:1.2rem;letter-spacing:-.01em;line-height:1.3}
p{margin:0 0 1em;max-width:62ch}.lead{font-size:clamp(1.15rem,2vw,1.4rem);line-height:1.5;color:var(--mute);max-width:44ch;margin-top:2rem}
.f{background:var(--field);color:var(--fi);border-radius:.14em;padding:0 .1em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.hero .f::before{content:"[";opacity:.55}.hero .f::after{content:"]";opacity:.55}
.c{opacity:1}.js .c{opacity:0}.js .c.on{opacity:1}
.hero{padding:clamp(3.5rem,11vw,8.5rem) 0 clamp(3rem,7vw,5.5rem)}
section{padding:clamp(3.5rem,8vw,6rem) 0}.band{background:var(--sheet)}
.g2{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:2.75rem clamp(2rem,6vw,5rem);margin-top:3rem}
.g2 p{color:var(--mute);margin:.6rem 0 0}
.lang{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:3rem clamp(2rem,5vw,4.5rem);margin-top:3rem;align-items:start}
@media(max-width:56rem){.lang{grid-template-columns:1fr}}
pre{margin:0;padding:1.5rem;background:var(--bg);border-radius:.6rem;overflow-x:auto;font:.9rem/1.85 ui-monospace,'SF Mono',Menlo,Consolas,monospace}
pre .f{padding:.05em .3em}pre .n{color:var(--mute)}pre b{font-weight:700}
dl{margin:0}dt{font-weight:600;margin-bottom:.15rem}dt code{font:.92em ui-monospace,Menlo,Consolas,monospace;background:var(--field);color:var(--fi);padding:.1em .35em;border-radius:.25em}
dd{margin:0 0 1.5rem;color:var(--mute);max-width:46ch}
.row{display:grid;grid-template-columns:minmax(0,13rem) minmax(0,1fr);gap:.4rem 3rem;padding:1.6rem 0}.row:first-of-type{padding-top:0}
.row p{margin:0;color:var(--mute)}@media(max-width:44rem){.row{grid-template-columns:1fr}}
.mail{display:inline-block;font-size:clamp(1.3rem,4.2vw,2.6rem);font-weight:500;letter-spacing:-.03em;margin:1.5rem 0 2rem;overflow-wrap:anywhere}
.ct{display:flex;flex-wrap:wrap;gap:.5rem 2.25rem;margin:0;padding:0;list-style:none;color:var(--mute)}.ct a{color:var(--ink)}
footer{padding:2.5rem 0 3rem;color:var(--mute);font-size:.92rem}footer .w{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem 2rem}
.tiles{display:flex;flex-wrap:wrap;gap:1.5rem;margin:2.5rem 0 1.5rem}
.tile{width:9rem;aspect-ratio:1;border-radius:22%;display:grid;place-items:center}.tile .mark{width:3.6rem;height:3.9rem}
.sw{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1rem;margin-top:2.5rem}
.sw button{font:inherit;text-align:left;border:1px solid var(--line);border-radius:.6rem;min-height:9rem;padding:1rem;display:flex;flex-direction:column;justify-content:flex-end;cursor:pointer}
.sw b{font-weight:600}.sw span{font:.88rem ui-monospace,Menlo,Consolas,monospace}
.pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.5rem 3rem;padding:1.1rem 0}.pair p{margin:0}.pair .x{color:var(--mute);text-decoration:line-through;text-decoration-color:var(--line)}
.dl{display:flex;flex-wrap:wrap;gap:.5rem 1.75rem;margin:0;padding:0;list-style:none}
.sub h1{font-size:clamp(2.4rem,6vw,4.4rem);max-width:16ch}.sub .hero{padding-bottom:1rem}
.wm{font:700 clamp(3rem,10vw,6.5rem)/1 Montserrat,sans-serif;letter-spacing:-.035em;margin:2rem 0 1.5rem}
@media(prefers-reduced-motion:reduce){.c{transition:none!important}}
.c{transition:opacity .01s}

.btn{display:inline-block;padding:.55rem 1.1rem;border-radius:.6rem;background:var(--blue);color:#fff;font-weight:600;font-size:.97rem;line-height:1.2;text-decoration:none}
nav a.btn:hover,.btn:hover{text-decoration:none;filter:brightness(1.08)}
.btn.alt{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
.cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.cta .btn{padding:.8rem 1.4rem;font-size:1.02rem}
