/* Current portfolio foundation. Historical layouts do not import this file. */
@import url('portfolio-tokens.css?v=1.3');
@font-face{font-family:PlexSans;src:url('assets/fonts/IBMPlexSans.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:Bricolage;src:url('assets/fonts/BricolageGrotesque.ttf') format('truetype');font-weight:200 800;font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--study-canvas);color:var(--color-ink);font-family:var(--font-ui);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure,dl,dd,ol,ul{margin:0}h1,h2,h3{font-family:var(--study-heading);font-weight:650;line-height:1.12;letter-spacing:-.035em}h1{font-weight:700}h1 em,h2 em,h3 em{font:inherit;color:var(--accent)}img{max-width:100%;height:auto;display:block}button,summary{font:inherit}button{cursor:pointer}a{color:inherit;text-underline-offset:.2em;transition:color var(--duration-control) ease}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex='-1']:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button:disabled{cursor:default}button[hidden]{display:none}::selection{background:var(--color-paper);color:var(--color-ink)}
.skip{position:absolute;left:var(--gutter);top:-120px;z-index:100;background:var(--study-canvas);padding:12px 20px;border-radius:var(--radius-control)}.skip:focus{top:12px}
.study-nav,.study-footer{max-width:var(--frame);margin:auto;padding-inline:var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:24px}.study-nav{height:112px}.study-name{font:650 26px/1.1 var(--study-heading);letter-spacing:-.04em;text-decoration:none}.name-dot{color:var(--color-rust)}.study-nav nav{display:flex;align-items:center;gap:32px;font-size:16px}.study-nav nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}.study-footer{font-size:14px;color:var(--color-muted);padding-block:32px 44px;flex-wrap:wrap}.study-footer a{display:inline-flex;align-items:center;min-height:44px}.footer-controls{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.motion-toggle{background:none;border:0;color:inherit;padding:10px 0;min-height:44px;border-radius:var(--radius-control);font-size:13px}.motion-toggle:hover{color:var(--accent)}
.eyebrow{font-size:13px;font-weight:500;line-height:1.5;letter-spacing:.025em;color:var(--color-muted)}.action-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:14px 24px;border:1px solid var(--color-rule);border-radius:var(--radius-action);background:var(--study-canvas);color:var(--color-ink);font:500 15px/1.5 var(--font-ui);text-decoration:none;cursor:pointer;transition:background var(--duration-control) ease,color var(--duration-control) ease,border-color var(--duration-control) ease}.action-button:hover{color:var(--accent);border-color:var(--accent);background:var(--color-paper)}.action-button:active{background:var(--color-paper)}.action-button--primary{background:var(--color-ink);color:var(--illustration-white);border-color:var(--color-ink)}.action-button--primary:hover{background:var(--accent);border-color:var(--accent);color:var(--illustration-white)}
.crop{position:relative;overflow:hidden}.crop img{position:absolute;display:block;max-width:none;height:auto}
.image-dialog{width:min(1120px,94vw);max-height:92dvh;overflow:auto;border:0;border-radius:var(--radius-panel);background:var(--study-canvas);color:var(--color-ink);padding:24px;box-shadow:var(--study-shadow)}.image-dialog::backdrop{background:color-mix(in srgb,var(--color-ink) 72%,transparent)}.image-dialog-tools{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;position:sticky;top:-24px;padding:12px 0;background:var(--study-canvas);z-index:1}.image-dialog-tools h2{font:500 16px/1.4 var(--font-ui);letter-spacing:0}.image-dialog>img{width:100%;height:auto}.image-dialog>p{font-size:14px;margin-top:16px;color:var(--color-muted)}
[data-motion=off] *,[data-motion=off] *::before,[data-motion=off] *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}[data-motion=off] .study-card-link:hover .study-card-art{transform:none}
@media(max-width:1000px){:root{--gutter:32px}}
@media(max-width:639px){:root{--gutter:24px;--radius-art:24px}.study-nav{height:90px;gap:16px}.study-name{font-size:21px;max-width:155px}.study-nav nav{gap:16px;font-size:13px}.study-footer{font-size:12px;gap:12px}.footer-controls{gap:20px}.action-button{font-size:14px;padding:13px 20px;gap:12px}.image-dialog{padding:16px}.image-dialog-tools{top:-16px}.image-dialog-tools h2{font-size:14px}}
@media(max-width:359px){.study-nav{height:auto;flex-wrap:wrap;padding-block:22px;gap:14px}.study-name{max-width:none}.study-nav nav{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.study-card-link:hover .study-card-art{transform:none}}
@media print{.study-nav,.study-footer,.image-dialog,.skip{display:none}body{background:white}}

/* A short entrance for case openings. The default content remains visible. */
@media screen and (prefers-reduced-motion: no-preference) {
  [data-motion=on] [data-case-enter] {
    animation: portfolio-case-enter var(--duration-case-enter) ease-out;
  }
}
@keyframes portfolio-case-enter {
  from { opacity: .55; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}
