.portfolio-page{--ink:#230022;--paper:#faf8f5;--muted:#625a64;background:var(--paper);color:var(--ink)}.draft-notice{background:#350e72;color:#fff;font:600 12px/1.7 var(--font-nav);letter-spacing:.05em;padding:10px 0}.draft-notice span{font-weight:400;letter-spacing:0;margin-left:20px;color:#eee3ff}.portfolio-intro{padding-top:70px;padding-bottom:38px;display:grid;grid-template-columns:1.6fr 1fr;gap:50px;align-items:end}.portfolio-page .section-eyebrow{color:#92333d;font-size:11px;letter-spacing:.14em}.portfolio-intro h1{font:800 clamp(40px,5.2vw,72px)/1.04 var(--font-heading);letter-spacing:-.045em;margin:22px 0 0}.portfolio-intro h1 em{font-style:normal;color:#570070}.intro-note p{font-size:14px;max-width:39ch;color:var(--muted);margin:0 0 14px}.intro-note p:first-child{font:700 21px/1.25 var(--font-heading);color:var(--ink)}.text-link{display:inline-flex;gap:22px;align-items:center;min-height:44px;font:700 13px var(--font-nav);border-bottom:1px solid #230022}.attribution-note{border-top:1px solid #d9d1d9;padding:20px 0 30px;color:#625a64;font-size:12px;max-width:100%;line-height:1.7}.attribution-note strong{color:#230022;margin-right:8px}.portfolio-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:36px;row-gap:44px;padding-bottom:70px}.portfolio-entry{min-width:0}.portfolio-entry h2{font:800 clamp(22px,2.5vw,31px)/1.15 var(--font-heading);margin:10px 0 14px;letter-spacing:-.025em}.portfolio-entry h3{font:700 24px/1.2 var(--font-heading);letter-spacing:-.02em;margin:0 0 16px}.portfolio-entry p{font-size:14px;line-height:1.8;margin:0 0 18px}.portfolio-entry .entry-label{font:700 10px/1.7 var(--font-nav);text-transform:uppercase;letter-spacing:.11em;color:#625a64;margin:0 0 8px}.portfolio-entry .role{font:600 11px/1.6 var(--font-nav);letter-spacing:.02em;color:#625a64;margin:24px 0 0}.featured{grid-column:span 7}.image-peek{display:block;position:relative;width:100%;padding:0;border:0;background:#dedfe2;cursor:zoom-in;color:#230022;text-align:left}.image-peek img{width:100%;height:auto}.zoom-label{position:absolute;right:16px;bottom:16px;display:flex;align-items:center;gap:18px;min-height:44px;padding:10px 15px;background:#fff;font:600 11px var(--font-nav);box-shadow:0 2px 8px #0001}.visual-caption{padding:23px 0 0}.visual-caption h2{font-size:27px;margin-top:8px}.visual-caption .role{margin-top:12px}.spotlight{grid-column:span 5;background:#350e72;color:#fff;align-self:stretch;padding:40px 34px;display:flex;flex-direction:column;justify-content:center}.spotlight h2{font-size:20px;line-height:1.3;font-weight:500;margin-bottom:30px}.spotlight h3{font-size:clamp(31px,3.4vw,46px);line-height:1.08;max-width:13ch}.spotlight p{color:#e9dfee}.spotlight .entry-label,.spotlight .role{color:#e9dfee}.spotlight .role{margin-top:28px;padding-top:22px;border-top:1px solid #ffffff45}.wide-row{grid-column:1/-1;display:grid;grid-template-columns:1.05fr 1.55fr 1.3fr;gap:12px 36px;border-top:1px solid #d9d1d9;padding-top:30px}.wide-row .entry-label{grid-column:1}.wide-row h2{grid-column:1;margin:0;grid-row:2/4;font-size:23px;overflow-wrap:anywhere}.wide-row h3{grid-column:2;grid-row:2;font-size:24px;margin:0}.wide-row>p:not(.entry-label):not(.role){grid-column:3;grid-row:2/4;font-size:13px;margin:0;color:#625a64}.wide-row .role{grid-column:2;grid-row:3;margin:0}.research{grid-column:span 5;align-self:center;padding:20px 34px 20px 0}.research h2{font-size:20px}.research h3{font-size:clamp(32px,3.7vw,48px);max-width:12ch}.secondary{grid-column:span 7}.portfolio-next{background:#eae3ed;padding:60px 0}.portfolio-next .container{display:grid;grid-template-columns:1.6fr 1fr;gap:14px 50px;align-items:end}.portfolio-next .section-eyebrow{grid-column:1/-1}.portfolio-next h2{font:800 clamp(38px,4.7vw,64px)/1.05 var(--font-heading);letter-spacing:-.04em;margin:0}.portfolio-next p:not(.section-eyebrow){font-size:14px;max-width:38ch;color:#625a64}.portfolio-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-height:48px;padding:15px 21px;background:#350e72;color:#fff;font:700 13px var(--font-nav);margin-top:10px}.portfolio-cta:hover{background:#570070}a:focus-visible,button:focus-visible{outline:3px solid #0054ff;outline-offset:5px}.site-footer a{display:inline-flex;align-items:center;min-height:44px}.footer-columns li{margin:0}.portfolio-page img{object-fit:contain}dialog{border:0;max-width:min(95vw,980px);max-height:92dvh;padding:18px;background:#faf8f5;color:#230022}dialog::backdrop{background:#170d20e8}.dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px}.dialog-bar h2{font:700 18px/1.2 var(--font-heading);margin:0}.close-preview{min-width:88px;min-height:44px;border:1px solid #230022;background:transparent;font:600 13px var(--font-nav);cursor:pointer}#preview-image{max-height:72dvh;max-width:100%;width:auto;margin:auto}.portfolio-page a,.portfolio-page button{touch-action:manipulation}@media(max-width:900px){.portfolio-intro{grid-template-columns:1.2fr 1fr;gap:30px}.portfolio-intro h1{font-size:52px}.portfolio-gallery{gap:30px}.spotlight{padding:26px}.wide-row{grid-template-columns:1fr 1.25fr}.wide-row>p:not(.entry-label):not(.role){grid-column:2;grid-row:3}.wide-row .role{grid-column:2;grid-row:4}.research{padding-right:0}.draft-notice span{display:block;margin-left:0}}@media(max-width:620px){.portfolio-intro{grid-template-columns:1fr;padding-top:38px;padding-bottom:24px;gap:26px}.portfolio-intro h1{font-size:46px}.intro-note p{max-width:none}.portfolio-gallery{gap:30px}.portfolio-entry{grid-column:1/-1}.attribution-note{font-size:11px;padding:18px 0 26px}.spotlight{padding:30px}.spotlight h3{max-width:17ch;font-size:37px}.spotlight h2{margin-bottom:20px}.wide-row{display:block;padding-top:24px}.wide-row h2{font-size:23px;margin:12px 0 14px}.wide-row h3{font-size:26px;margin-bottom:14px}.wide-row .role{margin-top:14px}.research{padding:14px 0}.research h3{max-width:16ch;font-size:38px}.portfolio-next .container{grid-template-columns:1fr;gap:12px}.portfolio-next{padding:40px 0}.portfolio-next h2{font-size:45px}.portfolio-cta{width:100%;margin-top:6px}.portfolio-gallery{padding-bottom:40px}.draft-notice{font-size:10px}.zoom-label{right:10px;bottom:10px}.dialog-bar{gap:10px}.dialog-bar h2{font-size:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
