/* Shared primitives. Theme values live in tokens.css; all pages use these classes. */
[hidden]{display:none!important}
:where(a,button,summary):focus-visible{outline:3px solid var(--coral);outline-offset:5px}
.nav-current:after{right:0!important}
.hand-note{font:400 1.35rem/1.2 var(--hand);white-space:pre-line;transform:rotate(var(--tilt-note));margin:0;letter-spacing:.01em}
.editorial-title{font:700 clamp(2.5rem,4.5vw,5rem)/1.03 var(--display);letter-spacing:-.055em;margin:20px 0 26px}
.editorial-title mark{color:inherit;background:linear-gradient(transparent 65%,var(--mustard) 65%)}
.paper-panel{position:relative;background:var(--white);border:var(--line);padding:var(--space-6);isolation:isolate}
.paper-panel:before{content:"";position:absolute;inset:-3px 1px 1px -3px;border:1px solid currentColor;opacity:.35;transform:rotate(-.6deg);z-index:-1;pointer-events:none}
.light-link{color:var(--white);border-bottom:1px solid currentColor;font-weight:600}
.breadcrumb{display:flex;gap:14px;align-items:center;padding-block:20px;font:500 .875rem var(--mono);flex-wrap:wrap}
.breadcrumb a{font-weight:600}
.article-layout{max-width:var(--reading-width);margin-inline:auto}
.article-heading{padding-block:24px 36px;border-bottom:1px solid var(--ink);margin-bottom:36px}
.article-heading .article-title{font:700 clamp(2.6rem,5vw,4.7rem)/1.04 var(--display);letter-spacing:-.05em;margin:24px 0}
.article-deck{font-size:1.3rem;line-height:1.5}
.article-meta{font:500 .875rem/1.6 var(--mono)}
.prose{font-size:1.125rem;line-height:1.8}
.prose>:first-child{margin-top:0}
.prose h2{font:700 clamp(1.75rem,3vw,2.4rem)/1.2 var(--display);letter-spacing:-.035em;margin:2em 0 .6em}
.prose h3{font:700 1.5rem/1.25 var(--display);margin:1.75em 0 .6em}
.prose p,.prose ul,.prose ol{margin:0 0 1.35em}
.prose li{padding-left:.25em;margin-block:.4em}
.prose blockquote{border-left:5px solid var(--coral);margin:32px 0;padding:12px 0 12px 24px;font:700 1.6rem/1.35 var(--display)}
.prose blockquote p{margin:0}
.prose a{font-weight:600;text-decoration:underline;text-decoration-color:var(--coral);text-underline-offset:4px}
.prose code{font:.9em var(--mono);background:var(--soft);padding:2px 5px}
.prose img{display:block;width:100%;height:auto;border:var(--line)}
.prose figure{margin:32px 0}
.prose figcaption{font:500 .875rem/1.6 var(--mono);margin-top:12px}
@media(max-width:680px){.paper-panel{padding:var(--space-4)}.hand-note{font-size:1.15rem}.breadcrumb{font-size:.8rem;padding-block:16px}}

.research-teaser{display:flex;justify-content:space-between;align-items:center;gap:32px;padding-block:44px;border-bottom:1px solid #bcbcb2}
.research-teaser h2,.studio-contact h2{font:700 clamp(2.2rem,4vw,4rem)/1.05 var(--display);letter-spacing:-.05em;margin:18px 0}
.studio-contact{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-block:65px 90px}
.contact-form{display:grid;gap:22px}.contact-form label{display:block;font-weight:600;margin-bottom:8px}.contact-form input,.contact-form textarea{display:block;width:100%;border:var(--line);border-radius:1px;background:var(--white);padding:13px;font:inherit;color:var(--ink)}.contact-form textarea{resize:vertical}.contact-form :is(input,textarea):focus-visible{outline:3px solid var(--coral);outline-offset:3px}.contact-form .button{justify-self:start;padding:12px 24px}
.footer-bottom nav{display:flex;flex-wrap:wrap;gap:24px}.footer-bottom a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:680px){.research-teaser{align-items:flex-start;flex-direction:column}.studio-contact{grid-template-columns:1fr;gap:35px;padding-block:45px 65px}}
