@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@700&family=Hanken+Grotesk:wght@400;500;600;700&family=Poppins:wght@500;600;700&display=swap');

/* Public site: the user's blue-and-cream bento system, with content-led hierarchy. */
:root { --font-editorial:'Poppins','Hanken Grotesk',sans-serif; --font-poster:'Barlow Condensed','Arial Narrow',sans-serif; --gutter:clamp(22px,5vw,80px); --maxw:1440px; --nav-h:88px; }
html { scroll-padding-top:110px; }
body.studio-site { padding:0; background:var(--paper); color:var(--ink); }
.studio-site *, .studio-site *::before, .studio-site *::after { box-sizing:border-box; }
body.studio-site,body.studio-site * { cursor:auto; }
body.studio-site a,body.studio-site button,body.studio-site summary { cursor:pointer; }
body.studio-site input,body.studio-site textarea { cursor:text; }
.studio-site h1,.studio-site h2,.studio-site h3 { text-wrap:balance; }
a,button { -webkit-tap-highlight-color:transparent; }
.studio-site :focus-visible { outline:3px solid var(--accent); outline-offset:5px; }
.studio-site .loader,.studio-site .custom-cursor { display:none; }
.studio-site [data-reveal],.studio-site [data-stagger] > *,.studio-site .proj-tile,.studio-site .bio-inner,.studio-site .animate-in { opacity:1; visibility:visible; transform:none; filter:none; }

/* Navigation stays conventional and legible. */
.studio-site .navbar,.studio-site .navbar.scrolled { position:sticky; inset:0 0 auto; height:var(--nav-h); width:100%; padding:0; background:var(--paper); border:0; box-shadow:none; backdrop-filter:none; }
.studio-site .nav-container { width:100%; max-width:var(--maxw); height:100%; margin:auto; padding:0 var(--gutter); display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--line-strong); }
.studio-site .nav-logo { width:auto; min-width:0; flex:none; }
.studio-site .logo-link { display:block; }
.studio-logo { display:flex; gap:12px; align-items:center; color:var(--ink); }
.studio-logo > svg { width:40px; height:26px; }
.studio-logo > span { font-size:13px; line-height:1.04; letter-spacing:.025em; font-weight:700; }
.studio-site .nav-links { display:flex; flex:0 1 auto; flex-direction:row; width:auto; gap:30px; margin:auto; }
.studio-site .nav-links a { display:block; width:auto; height:auto; padding:10px 0; background:none; color:var(--ink); border-radius:0; font-size:13px; font-weight:500; }
.studio-site .nav-links a::before { display:none; }
.studio-site .nav-links a::after { display:block !important; inset:auto 0 4px; width:100%; height:1px; background:var(--ink); border-radius:0; }
.studio-site .nav-links a.active::after { transform:scaleX(1); }
.studio-site .nav-links a:hover { background:none; }
.studio-site .nav-right { flex:none; min-width:0; width:auto; display:flex; flex-direction:row; gap:22px; align-items:center; margin:0; }
.studio-site .language-selector { width:auto; }
.studio-site .lang-toggle { font-size:12px; }
.studio-site .lang-dropdown { top:calc(100% + 16px); right:0; bottom:auto; left:auto; border-radius:12px; }
.studio-site .nav-social { display:none; }
.studio-site .nav-cta { width:auto; max-width:none; padding:12px 18px; border-radius:10px; background:var(--ink); color:var(--paper); font-size:13px; }
.studio-site .mobile-menu-btn { display:none; }
.studio-site .mobile-menu { position:fixed; inset:var(--nav-h) 0 0; height:auto; overflow:auto; background:var(--paper); visibility:hidden; opacity:0; pointer-events:none; transform:none; }
.studio-site .mobile-menu.active { visibility:visible; opacity:1; pointer-events:auto; }
.studio-site .mobile-menu-content a { font-family:var(--font-editorial); font-weight:500; text-transform:none; }

/* Five modules with different jobs; no decorative labels or invented symbols. */
.studio-home { overflow:clip; }
.bento-intro { padding-top:32px; padding-bottom:0; }
.identity-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:16px; }
.identity-tile { position:relative; overflow:hidden; margin:0; border-radius:22px; }
.tile-name { grid-column:span 7; background:var(--ink); color:var(--paper); padding:42px 40px; min-height:440px; display:flex; flex-direction:column; justify-content:center; gap:32px; align-items:start; }
.tile-name h1 { font-family:var(--font-editorial); color:var(--paper); font-size:clamp(60px,6.5vw,96px); font-weight:600; line-height:1.04; letter-spacing:-.045em; margin:0; }
.bento-bio { max-width:40ch; font-size:15px; line-height:1.65; }
.tile-portrait { grid-column:span 5; min-height:440px; background:var(--sky); }
.tile-portrait img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 40%; }
.tile-mantra { grid-column:span 4; background:var(--sky); color:var(--ink); padding:30px; min-height:210px; display:flex; align-items:center; }
.mantra-type { font-family:var(--font-poster); font-size:clamp(40px,4.5vw,68px); font-weight:700; line-height:.97; text-transform:uppercase; }
.mantra-type span { display:block; font-family:inherit; }
.tile-about { grid-column:span 3; background:var(--paper-2); color:var(--ink); padding:28px; min-height:210px; display:flex; flex-direction:column; justify-content:space-between; }

.heritage-type { font-family:var(--font-editorial); font-size:clamp(20px,1.9vw,29px); font-weight:500; letter-spacing:-.025em; line-height:1.25; margin:15px 0; }
.tile-link-line { font-size:13px; text-decoration:underline; text-underline-offset:4px; }
.tile-work { grid-column:span 5; min-height:210px; background:var(--accent); color:var(--paper); padding:28px 32px; display:flex; flex-direction:column; justify-content:space-between; }
.work-tile-title { font-family:var(--font-editorial); font-size:clamp(26px,2.7vw,40px); font-weight:500; letter-spacing:-.025em; line-height:1.16; margin-top:20px; padding-right:30px; }
.tile-work > svg { position:absolute; right:25px; bottom:27px; width:27px; height:27px; }
.tile-about:hover,.tile-work:hover { filter:brightness(.97); }

/* Each selected project follows its real material: identity, website, campaign. */
.studio-work { padding-top:88px; padding-bottom:50px; }
.studio-section-head { display:flex; justify-content:space-between; align-items:baseline; gap:30px; margin-bottom:42px; }
.studio-section-head h2 { font-family:var(--font-editorial); font-size:clamp(38px,3.6vw,54px); font-weight:500; letter-spacing:-.035em; line-height:1.15; margin:0; }
.text-link { font-size:16px; text-decoration:underline; text-underline-offset:5px; flex:none; }
.studio-site #home-projects { padding:0; border:0; background:none; box-shadow:none; overflow:visible; backdrop-filter:none; }
.featured-grid { display:block; }
.featured-card { display:block; width:100%; margin-bottom:85px; padding:0; border:0; background:none; color:var(--ink); }
.featured-card:first-child { display:block; padding:0; border:0; }
.featured-trigger { display:grid; grid-template-columns:1.3fr 1fr; align-items:center; width:100%; gap:55px; padding:0; border:0; text-align:left; background:none; color:var(--ink); }
.featured-art { display:block; aspect-ratio:1.2; overflow:hidden; border-radius:16px; background:var(--paper-2); }
.featured-art img { display:block; width:100%; height:100%; object-fit:cover; object-position:top; }
.featured-art.brand-proof { display:grid; place-items:center; background:var(--ink); }
.featured-art.brand-proof img { width:68%; height:68%; object-fit:contain; }
.featured-copy,.project-heading,.project-context,.featured-title,.featured-org,.featured-description { display:block; }
.featured-title { font-family:var(--font-editorial); font-size:clamp(28px,2.7vw,40px); font-weight:500; letter-spacing:-.03em; line-height:1.17; margin:0 0 20px; }
.featured-card:first-child .featured-title { font-size:clamp(28px,2.7vw,40px); }
.featured-org { font-size:17px; color:var(--ink-3); line-height:1.5; }
.featured-description { font-size:17px; line-height:1.65; margin-top:25px; max-width:43ch; }
.featured-view { display:inline-block; font-size:16px; margin-top:26px; text-decoration:underline; text-underline-offset:5px; }
.featured-trigger:hover .featured-view { text-decoration-thickness:2px; }
.featured-card:nth-child(2) .featured-trigger { grid-template-columns:.9fr 1.3fr; }
.featured-card:nth-child(2) .featured-art { grid-column:2; grid-row:1; }
.featured-card:nth-child(2) .featured-copy { grid-column:1; grid-row:1; }
.featured-card:nth-child(3) .featured-trigger { display:block; }
.featured-card:nth-child(3) .featured-art { display:grid; grid-template-columns:.9fr 1.1fr; aspect-ratio:1.8; }
.featured-card:nth-child(3) .featured-copy { display:grid; grid-template-columns:.9fr 1.1fr; gap:55px; padding-top:30px; }
.featured-card:nth-child(3) .featured-description { margin-top:0; }
.campaign-proof .campaign-photo { object-fit:cover; object-position:center 24%; }
.campaign-brand { display:grid; place-items:center; background:var(--ink); min-width:0; }
.campaign-brand img { width:82%; height:82%; object-fit:contain; }

/* Supporting facts and contact remain smaller than the portfolio. */
.studio-current { padding-bottom:60px; }
.studio-site #home-now { border:0; border-radius:0; background:none; box-shadow:none; backdrop-filter:none; padding:0; margin:0; }
.studio-site #home-now::before,.studio-site #home-now::after { display:none; }
.current-heading { border-top:1px solid var(--line-strong); padding-top:32px; margin-bottom:18px; }
.current-heading h2 { font-family:var(--font-editorial); font-size:30px; font-weight:500; letter-spacing:-.025em; }
.studio-site .now-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 50px; }
.studio-site .now-row { display:flex; align-items:start; gap:22px; padding:22px 0; border-bottom:1px solid var(--line-strong); }
.studio-site .now-when { flex:none; width:105px; font-size:11px; line-height:1.6; letter-spacing:0; text-transform:none; }
.studio-site .now-org { font-size:16px; font-weight:600; }
.studio-site .now-detail { display:block; font-size:13px; line-height:1.5; margin-top:5px; }
.contact-note { display:grid; grid-template-columns:1fr 1.5fr; gap:35px; padding-top:35px; padding-bottom:55px; border-top:1px solid var(--line-strong); }
.contact-note h2 { font-family:var(--font-editorial); font-size:30px; letter-spacing:-.025em; font-weight:500; line-height:1.2; margin:0; }
.contact-note p { font-size:14px; line-height:1.5; margin-bottom:14px; }
.contact-note a { font-size:18px; text-decoration:underline; text-underline-offset:5px; overflow-wrap:anywhere; }
.studio-site .footer { display:block; margin:0; background:var(--paper-2); border-top:1px solid var(--line-strong); padding:35px 0 25px; }
.studio-site .footer-main { margin-bottom:0; padding-bottom:25px; }
.studio-site .footer-brand { align-items:center; }
.studio-site .footer-logo { display:block; color:var(--ink); width:42px; }
.studio-site .footer-logo svg { width:42px; height:30px; }
.studio-site .footer-tagline { color:var(--ink); max-width:none; margin:0; font-family:var(--font-body); font-size:13px; font-weight:400; letter-spacing:0; }
.studio-site .footer-nav a { color:var(--ink); font-size:13px; }
.studio-site .social-link { border:0; background:none; color:var(--ink); border-radius:0; }
.studio-site .footer-bottom { margin:0; padding-top:20px; }
.studio-site .footer-copyright { color:var(--ink-3); font-size:11px; }
.studio-site .footer-name-large { display:none; }

/* Secondary pages retain their content and the same restrained type hierarchy. */
.studio-site .page-header { position:relative; padding:55px 0; background:var(--paper); color:var(--ink); border:0; }
.studio-site .page-header::before,.studio-site .page-header::after,.studio-site .page-bg-text { display:none; }
.studio-site .page-header .page-title { font-family:var(--font-editorial); font-size:clamp(55px,7vw,100px); font-weight:500; text-transform:none; letter-spacing:-.04em; line-height:1.08; margin:22px 0; color:var(--ink); background:none; -webkit-text-fill-color:var(--ink); animation:none; opacity:1; transform:none; }
.studio-site .page-header .page-subtitle { color:var(--ink-3); }
.studio-site .page-header .page-subtitle { max-width:54ch; font-size:19px; line-height:1.6; }
.studio-site .gallery-title,.studio-site .header-title,.studio-site .about-name { font-family:var(--font-editorial); font-size:clamp(32px,3.2vw,46px); text-transform:none; font-weight:500; letter-spacing:-.035em; line-height:1.15; }
.studio-site .gallery-section { padding:60px 0; }
.studio-site .about-page { background:var(--paper); }
.studio-site .about-image-wrapper,.studio-site .about-main-image { border-radius:16px; box-shadow:none; }
.studio-site .about-image-frame { display:none; }
.studio-site .about-quick-facts,.studio-site .skill-category,.studio-site .resume-frame-wrapper,.studio-site .pub-list,.studio-site .speak-list,.studio-site .coursework,.studio-site .edu-grid,.studio-site .honors-grid,.studio-site .depth-card { background:transparent; background-image:none; border-radius:0; box-shadow:none; backdrop-filter:none; }
.studio-site .works-org { display:grid; grid-template-columns:.85fr 1.25fr; gap:48px; padding:35px 0; border:0; border-bottom:1px solid var(--line-strong); border-radius:0; box-shadow:none; background:none; transform:none; overflow:visible; }
.studio-site .works-org::before,.studio-site .works-org::after { display:none; }
.studio-site .wo-stage { position:static; width:auto; padding:0; background:none; color:var(--ink); clip-path:none; text-shadow:none; }
.studio-site .wo-stage::before { display:none; }
.studio-site .wo-body { margin:0; padding:0; }
.studio-site .wo-name { font-family:var(--font-editorial); font-size:25px; font-weight:500; text-transform:none; line-height:1.2; color:var(--ink); }
.studio-site .wo-stage .wo-id,.studio-site .wo-index,.studio-site .wo-summary { transform:none; }
.studio-site .wo-group,.studio-site .wo-group[open] { padding:0; border:0; border-top:1px solid var(--ink); border-radius:0; background:none; box-shadow:none; backdrop-filter:none; }
.studio-site .wo-group-chev { border-radius:6px; }
.studio-site .proj-tile { position:static; display:block; padding:0; min-height:0; aspect-ratio:auto; background:none; color:var(--ink); border:0; border-radius:0; box-shadow:none; transform:none; overflow:visible; text-align:left; }
.studio-site .proj-tile:hover { box-shadow:none; transform:none; }
.studio-site .proj-tile::after { display:none; }
.studio-site .tile-label { display:block; color:var(--ink); font-family:var(--font-body); font-size:17px; font-weight:500; line-height:1.5; letter-spacing:0; text-shadow:none; overflow:visible; text-decoration:underline; text-underline-offset:4px; -webkit-line-clamp:unset; }
.studio-site .tile-tags { font-size:10px; letter-spacing:0; }
.studio-site .tile-cta { opacity:1; transform:none; font-size:11px; }
.studio-site .tile-media img { transform:none !important; }
.studio-site .proj-tile.no-img .tile-media { background-image:none; }
.studio-site .tile-art { display:none; }
.studio-site .edu-row,.studio-site .term-block,.studio-site .honor-card,.studio-site .works-cta-box { border-radius:12px; box-shadow:none; }
.studio-site .term-block::before { width:2px; border-radius:0; background:var(--accent); animation:none; }
.studio-site .term-block::after,.studio-site .edu-row::after { display:none; }
.studio-site .resume-btn,.studio-site .btn,.studio-site .works-cta-btn { border-radius:8px; box-shadow:none; }
.studio-site .contact-section { background:var(--paper); padding:60px 0; }
.studio-site .contact-grid { background:none; border:0; border-radius:0; padding:0; gap:65px; box-shadow:none; }
.studio-site .contact-info h2 { font-family:var(--font-editorial); font-size:36px; font-weight:500; letter-spacing:-.03em; text-transform:none; }
.studio-site .contact-info p { color:var(--ink-3); }
.studio-site .contact-form { padding:30px; background:var(--paper-2); border:1px solid var(--line-strong); border-radius:14px; box-shadow:none; opacity:1; transform:none; animation:none; }
.studio-site .contact-form .form-group input,.studio-site .contact-form .form-group textarea { border:1px solid var(--line-strong); border-radius:6px; background:var(--paper); padding:13px 15px; font-family:var(--font-body); }
.studio-site .contact-form .submit-btn { border-radius:6px; box-shadow:none; background:var(--ink); }
.studio-site .resume-disclosure { border:1px solid var(--line-strong); border-radius:10px; }
.studio-site .resume-disclosure summary { display:list-item; padding:22px 26px; font-size:14px; font-weight:500; }
.studio-site .resume-disclosure .resume-frame-wrapper { border:0; border-top:1px solid var(--line-strong); }
.studio-site .resume-external { display:inline-block; margin:0 26px 22px; font-size:13px; text-decoration:underline; }

@media(max-width:1100px) {
 :root { --gutter:32px; }
 .studio-site .nav-links { gap:20px; }
 .tile-name { padding:32px; }
 .tile-name h1 { font-size:7vw; }
 .bento-bio { font-size:14px; }
 .tile-about,.tile-work,.tile-mantra { padding:25px; }
}
@media(max-width:800px) {
 :root { --gutter:24px; --nav-h:76px; }
 .studio-site .nav-links { display:none; }
 .studio-site .nav-right { margin-left:auto; gap:15px; }
 .studio-site .nav-cta { display:none; }
 .studio-site .mobile-menu-btn { display:flex; flex-direction:column; justify-content:center; gap:6px; width:38px; height:38px; }
 .studio-site .mobile-menu-btn span { background:var(--ink); }
 .studio-site .nav-container { gap:15px; }
 .identity-grid { gap:12px; }
 .tile-name,.tile-portrait { min-height:400px; }
 .tile-name { padding:26px; }
 .tile-name h1 { font-size:7.6vw; }
 .bento-bio { font-size:13px; }
 .tile-about,.tile-work,.tile-mantra { min-height:205px; padding:22px; }
 .mantra-type { font-size:5.5vw; }
 .heritage-type { font-size:2.6vw; }
 .work-tile-title { font-size:3.2vw; }
 .tile-link-line { font-size:11px; }
 .featured-card:first-child { gap:30px; }
 .featured-card:first-child .featured-title { font-size:30px; }
 .featured-description { font-size:13px; }
 .featured-card:first-child .featured-art { aspect-ratio:.95; }
 .featured-title { font-size:21px; }
 .studio-site .now-list { gap:0 25px; }
 .studio-site .now-row { flex-direction:column; gap:8px; }
 .studio-site .wo-stage { position:relative; width:auto; }
 .studio-site .wo-body { margin:0; padding:24px; }
 .studio-site .contact-grid { gap:35px; }
}
@media(max-width:540px) {
 :root { --gutter:22px; }
 .studio-logo > span { font-size:11px; }
 .studio-logo > svg { width:32px; height:24px; }
 .bento-intro { padding-top:22px; }
 .identity-grid { gap:10px; }
 .identity-tile { border-radius:17px; }
 .tile-name { grid-column:span 12; min-height:330px; padding:28px 26px; gap:25px; }
 .tile-name h1 { font-size:17vw; }
 .bento-bio { font-size:14px; max-width:34ch; }
 .tile-portrait { grid-column:span 7; min-height:280px; }
 .tile-portrait img { object-position:50% center; }
 .tile-mantra { grid-column:span 5; min-height:280px; padding:17px; }
 .mantra-type { font-size:9vw; line-height:1; }
 .tile-about { grid-column:span 5; min-height:210px; padding:20px 16px; }
 .heritage-type { font-size:19px; }
 .tile-work { grid-column:span 7; min-height:210px; padding:20px 18px; }
 .work-tile-title { font-size:24px; padding-right:0; margin-bottom:22px; }
 .tile-work > svg { width:20px; height:20px; bottom:16px; right:16px; }
 .tile-link-line { font-size:12px; }
 .studio-work { padding-top:50px; padding-bottom:45px; }
 .studio-section-head { gap:20px; margin-bottom:25px; }
 .studio-section-head h2 { font-size:32px; }
 .text-link { font-size:12px; }
 .featured-grid { grid-template-columns:1fr; gap:35px; }
 .featured-card:first-child { display:block; padding-bottom:30px; }
 .featured-art,.featured-card:first-child .featured-art { aspect-ratio:1.1; border-radius:14px; }
 .featured-card:first-child .featured-title,.featured-title { font-size:24px; }
 .featured-description { font-size:14px; margin-top:15px; }
 .current-heading { padding-top:25px; }
 .current-heading h2 { font-size:27px; }
 .studio-current { padding-bottom:40px; }
 .studio-site .now-list { grid-template-columns:1fr; }
 .studio-site .now-row { flex-direction:row; gap:20px; }
 .studio-site .now-when { width:85px; font-size:10px; }
 .studio-site .now-org { font-size:15px; }
 .studio-site .now-detail { font-size:12px; }
 .contact-note { grid-template-columns:1fr; gap:20px; padding-top:30px; padding-bottom:40px; }
 .contact-note h2 { font-size:27px; }
 .contact-note a { font-size:16px; }
 .studio-site .footer-main { gap:25px; }
 .studio-site .footer-nav { gap:20px; }
 .studio-site .page-header { padding:35px 0; }
 .studio-site .page-header .page-title { font-size:15vw; }
 .studio-site .page-header .page-subtitle { font-size:14px; }
 .studio-site .contact-form { padding:22px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto !important; }
 .studio-site *, .studio-site *::before,.studio-site *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
.studio-site .related-work { padding-top:30px; padding-bottom:40px; border-top:1px solid var(--line-strong); font-size:15px; line-height:1.6; }
.studio-site .related-work a { text-decoration:underline; text-underline-offset:4px; }

.studio-site .about-image-col img,.studio-site .skill-item { opacity:1; transform:none; animation:none; }

/* Content hierarchy: headings lead; context follows in normal reading text. */
.tile-about { justify-content:center; gap:18px; }
.tile-about .heritage-type { margin:0; }
.tile-about > p { font-size:15px; line-height:1.45; }
.tile-work { justify-content:center; }
.work-tile-title { padding:0; margin:0; }
.studio-site .wo-id { transform:none; }
.studio-site .wo-role,.studio-site .wo-years { color:var(--ink-3); font-size:16px; line-height:1.5; margin-top:12px; }
.studio-site .wo-group-head { padding:25px 0; }
.studio-site .wo-group[open] .wo-group-head { padding-bottom:25px; }
.studio-site .wo-group-top { display:flex; justify-content:space-between; }
.studio-site .wo-group-title { font-family:var(--font-editorial); font-weight:500; font-size:27px; }
.studio-site .wo-group-desc { font-size:16px; line-height:1.6; max-width:70ch; }
.studio-site .wo-group-cards { padding:0; display:block; perspective:none; }
.studio-site .wo-summary { font-size:17px; line-height:1.7; margin:0 0 22px; }
.studio-site .wo-grid.proj-grid,.studio-site .wo-grid.proj-grid.cols-1 { display:flex; flex-direction:column; align-items:start; gap:14px; }
.studio-site .tile-label:hover { text-decoration-thickness:2px; }
.studio-site .about-grid { display:grid; grid-template-columns:1.25fr .85fr; gap:80px; align-items:start; }
.studio-site .about-image-col { grid-column:2; grid-row:1; position:sticky; top:120px; }
.studio-site .about-text-col { grid-column:1; grid-row:1; }
.studio-site .about-body p { font-size:18px; line-height:1.8; }
.studio-site .about-body .about-lead { font-size:24px; line-height:1.55; }
.studio-site .about-cta { display:flex; gap:30px; }
.studio-site .about-cta-link { background:none; border:0; padding:0; border-radius:0; color:var(--ink); font-size:17px; text-decoration:underline; text-underline-offset:5px; }
.studio-site #skills-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 36px; list-style:none; margin:0; padding:0; }
.studio-site #skills-grid li { min-width:0; padding:12px 0; border-bottom:1px solid var(--line-strong); font-size:17px; line-height:1.45; }
.studio-site .skills-section,.studio-site .resume-section { background:var(--paper); }
.studio-site .gallery-alt { background:var(--paper); }
.studio-site .edu-grid { padding:0; border:0; }
.studio-site .edu-row { padding:28px 0; background:none; border:0; border-bottom:1px solid var(--line-strong); border-radius:0; }
.studio-site .edu-school { font-family:var(--font-editorial); font-size:26px; font-weight:500; }
.studio-site .edu-degree,.studio-site .edu-meta { font-size:17px; line-height:1.6; }
.studio-site .coursework,.studio-site .honors-grid,.studio-site .pub-list,.studio-site .speak-list { border:0; padding:0; }
.studio-site .term-block { background:none; border:0; border-top:1px solid var(--ink); border-radius:0; padding:25px 0; }
.studio-site .term-block::before,.studio-site .term-block::after { display:none; }
.studio-site .term-title { font-family:var(--font-editorial); font-size:25px; font-weight:500; }
.studio-site .course-row { border-radius:0; }
.studio-site .course-title { font-size:18px; font-weight:500; }
.studio-site .course-context { font-size:16px; color:var(--ink-3); margin:7px 0; }
.studio-site .edu-loc { font-size:16px; text-transform:none; letter-spacing:0; }
.studio-site .honor-group-title { font-family:var(--font-editorial); font-size:24px; font-weight:500; }
.studio-site .honor-group-title { text-transform:none; letter-spacing:0; line-height:1.3; color:var(--ink); }
.studio-site #academics-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 55px; }
.studio-site .academic-item,.studio-site .academic-item:hover { background:none; border:0; border-top:1px solid var(--line-strong); border-radius:0; box-shadow:none; transform:none; }
.studio-site .academic-content { padding:25px 0; }
.studio-site .academic-title { font-family:var(--font-editorial); font-size:24px; font-weight:500; line-height:1.3; letter-spacing:-.02em; }
.studio-site .academic-context { margin-top:15px; font-size:16px; line-height:1.6; color:var(--ink-3); }
.studio-site .academic-details { margin-top:20px; }
.studio-site .academic-details summary { font-size:17px; }
.studio-site .academic-desc { font-size:17px; line-height:1.75; margin:16px 0; }
.studio-site .academic-link { font-size:16px; padding:5px 0; background:none; border-radius:0; text-decoration:underline; text-underline-offset:4px; font-weight:500; }
.studio-site .academic-link:hover { background:none; color:var(--ink); }
.studio-site .honor-name,.studio-site .honor-detail,.studio-site .pub-title,.studio-site .speak-event { font-size:17px; line-height:1.6; }
.studio-site .speak-role { font-size:16px; text-transform:none; letter-spacing:0; }
.studio-site .speak-head { flex-direction:column; align-items:start; gap:6px; }
.studio-site .course-modal { background:var(--paper); border-radius:16px; }
.studio-site .proj-overlay,.studio-site .course-overlay { transition:opacity .2s ease; backdrop-filter:none; -webkit-backdrop-filter:none; background:rgba(14,35,65,.45); }
.studio-site .po-panel { opacity:1; transform:none; transition:none; }
.studio-site .cm-title { font-family:var(--font-editorial); font-weight:500; line-height:1.25; padding-right:20px; }
.studio-site .cm-context { font-size:16px; line-height:1.6; color:var(--ink-3); margin:20px 0; }
.studio-site .cm-skills-label { font-family:var(--font-editorial); font-size:21px; font-weight:500; line-height:1.4; text-transform:none; letter-spacing:0; color:var(--ink); }
.studio-site .contact-grid { grid-template-columns:1fr 1.25fr; align-items:start; gap:70px; }
.studio-site .contact-info > p { font-size:19px; line-height:1.65; margin-bottom:35px; }
.studio-site .contact-item { padding:0; margin:0 0 22px; }
.studio-site .contact-item a,.studio-site .contact-item > span { font-size:18px; }
.studio-site .contact-form { background:none; padding:0; border:0; border-radius:0; }
.studio-site .form-group label { font-size:16px; font-weight:500; }
.studio-site #po-panel { background:var(--paper); color:var(--ink); border-radius:16px; }
.studio-site .po-inner { max-width:1060px; margin:auto; padding:65px 55px; }
.studio-site .po-title { color:var(--ink); font-family:var(--font-editorial); font-weight:500; font-size:clamp(30px,4vw,50px); line-height:1.15; letter-spacing:-.03em; }
.project-organization { font-size:20px; color:var(--ink-3); margin-top:20px; line-height:1.5; }
.studio-site .po-role,.studio-site .po-meta { color:var(--ink-3); font-size:16px; opacity:1; line-height:1.6; margin-top:15px; }
.studio-site .po-desc,.studio-site .po-section p { color:var(--ink); font-size:18px; line-height:1.8; }
.studio-site .po-section h4 { color:var(--ink); font-family:var(--font-editorial); font-size:25px; font-weight:500; text-transform:none; letter-spacing:0; }
.studio-site .po-link { background:none; border:0; border-bottom:1px solid var(--ink); padding:10px 0; color:var(--ink); border-radius:0; font-size:17px; }
.studio-site .po-next-card { color:var(--ink); border:0; border-top:1px solid var(--line-strong); padding:30px 0 0; margin-top:45px; background:none; border-radius:0; }
.studio-site .po-next-card::before { display:none; }
.studio-site .po-next-title { font-family:var(--font-editorial); font-size:25px; font-weight:500; color:var(--ink); }
.studio-site .po-next-arrow { color:var(--ink); background:none; border-radius:0; }
@media(max-width:800px) {
 .work-page .page-header-content { grid-template-columns:1fr; gap:18px; }
 .work-page .page-header .page-title { width:100%; font-size:clamp(50px,17vw,92px); }
 .work-page .page-header .page-subtitle { margin-top:18px; padding-bottom:0; }
 .featured-trigger { gap:30px; }
 .featured-card:nth-child(2) .featured-trigger { grid-template-columns:1fr 1.1fr; }
 .featured-title,.featured-card:first-child .featured-title { font-size:28px; }
 .featured-description { font-size:16px; }
 .studio-site .works-org { grid-template-columns:1fr; gap:25px; }
 .studio-site .wo-body { padding:0; }
 .studio-site .about-grid { gap:35px; }
 .studio-site #skills-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 26px; }
 .studio-site .contact-grid { grid-template-columns:1fr; gap:40px; }
}
@media(max-width:540px) {
 .studio-work { padding-top:55px; }
 .featured-card { margin-bottom:50px; }
 .featured-trigger,.featured-card:nth-child(2) .featured-trigger { display:flex; flex-direction:column; align-items:stretch; gap:25px; }
 .featured-card:nth-child(2) .featured-art,.featured-card:nth-child(2) .featured-copy { grid-column:auto; grid-row:auto; }
 .featured-art,.featured-card:first-child .featured-art { aspect-ratio:1.1; width:100%; }
 .featured-card:nth-child(3) .featured-art { aspect-ratio:1.1; }
 .featured-card:nth-child(3) .featured-copy { display:block; padding-top:25px; }
 .featured-card:nth-child(3) .featured-description { margin-top:20px; }
 .featured-title,.featured-card:first-child .featured-title { font-size:27px; }
 .featured-org { font-size:16px; }
 .featured-view { font-size:16px; }
 .tile-about { gap:14px; padding:20px 16px; }
 .tile-about > p { font-size:14px; }
 .work-tile-title { font-size:24px; }
 .studio-site .about-grid { display:flex; flex-direction:column; gap:35px; }
 .studio-site .about-image-col { position:static; width:100%; }
 .studio-site .about-text-col { width:100%; }
 .studio-site .about-body p { font-size:17px; }
 .studio-site .about-body .about-lead { font-size:21px; }
 .studio-site #skills-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; }
 .studio-site #academics-gallery { grid-template-columns:1fr; }
 .studio-site .contact-form { padding:0; }
 .studio-site .contact-item a { overflow-wrap:anywhere; }
 .studio-site .po-inner { padding:55px 24px 30px; }
}

/* Recovery page uses the same reading hierarchy and useful controls. */
.studio-site .error-page { min-height:100svh; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:45px 25px; background:var(--paper); }
.studio-site .error-container { width:100%; max-width:640px; }
.studio-site .error-logo { font-size:36px; font-weight:700; color:var(--ink); margin-bottom:35px; }
.studio-site .error-title { font-family:var(--font-editorial); font-weight:500; font-size:clamp(38px,5vw,64px); line-height:1.15; color:var(--ink); margin-bottom:24px; opacity:1; transform:none; animation:none; }
.studio-site .error-subtitle { max-width:44ch; font-size:19px; line-height:1.65; color:var(--ink-3); }
.studio-site .error-actions { display:flex; align-items:center; gap:25px; flex-wrap:wrap; margin-top:35px; }
.studio-site .error-btn { font-size:17px; color:var(--ink); text-decoration:underline; text-underline-offset:5px; }
.studio-site .error-footer { margin-top:60px; font-size:16px; color:var(--ink-3); }

/* About: portrait, introduction, and family history are composed together. */
.about-profile { padding-top:35px; padding-bottom:55px; }
.about-composition { display:grid; grid-template-columns:.9fr 1.1fr; gap:24px 40px; }
.about-composition > *,.contact-composition > *,.study-opening > * { min-width:0; }
.about-cover { position:relative; grid-column:1; grid-row:1 / span 2; min-height:650px; margin:0; border-radius:18px; overflow:hidden; background:var(--paper-2); }
.about-cover img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 35%; }
.about-opening { grid-column:2; grid-row:1; padding:40px; background:var(--ink); color:var(--paper); border-radius:18px; }
.about-opening h1 { font-family:var(--font-poster); font-size:clamp(90px,9vw,132px); line-height:.9; text-transform:uppercase; letter-spacing:-.02em; color:inherit; margin:0 0 28px; }
.about-opening > p { font-size:22px; line-height:1.55; }
.about-essay { grid-column:2; grid-row:2; padding:8px 4px 0; }
.about-essay > p { font-size:18px; line-height:1.75; margin-bottom:24px; }
.about-essay .about-cta { margin-top:30px; }
.about-roots { display:grid; grid-template-columns:.9fr 1.1fr; gap:50px; align-items:center; background:var(--sky); padding:45px; margin-top:40px; border-radius:18px; }
.about-roots h2 span { font-family:inherit; }
.about-roots h2 { font-family:var(--font-poster); font-size:clamp(60px,6vw,88px); line-height:.98; text-transform:uppercase; letter-spacing:-.02em; }
.about-roots > p { font-size:19px; line-height:1.75; }
.resume-record .section-container,.skills-directory .section-container { display:grid; grid-template-columns:.7fr 1.3fr; gap:35px 70px; align-items:start; }
.resume-record .section-header,.skills-directory .section-header { margin:0; }
.resume-record .header-title,.skills-directory .header-title { font-size:clamp(62px,6vw,88px); }
.resume-record .resume-actions { grid-column:2; margin:0; justify-content:start; }
.studio-site .resume-record .resume-btn { display:inline-flex; padding:8px 0; border:0; background:none; color:var(--ink); text-decoration:underline; text-underline-offset:5px; font-size:16px; }
.studio-site .resume-record .resume-btn:hover { transform:none; background:none; box-shadow:none; }
.studio-site .resume-record .resume-btn span,.studio-site .resume-record .resume-btn svg { color:var(--ink); background:none; }
.studio-site .resume-record .resume-disclosure { background:var(--paper-2); border:0; }
.studio-site .resume-record .resume-disclosure summary { font-size:20px; padding:28px; }

/* Works: a proof sheet first, then the professional record and publications. */
.work-page .page-header-content { display:grid; grid-template-columns:1fr 1.1fr; gap:60px; align-items:end; }
.work-page .page-header .page-title { margin:0; }
.work-page .page-header .page-subtitle { margin:0; font-size:21px; padding-bottom:10px; }
.work-proof { padding-bottom:60px; }
.work-board { display:grid; grid-template-columns:1.15fr .85fr; gap:35px; }
.board-entry { min-width:0; }
.board-entry:first-child { grid-column:1; grid-row:1 / span 2; }
.board-trigger { width:100%; height:100%; padding:0; background:none; border:0; color:var(--ink); text-align:left; display:flex; flex-direction:column; }
.board-art { width:100%; display:block; overflow:hidden; border-radius:16px; background:var(--ink); }
.board-art img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.board-trigger:hover .board-art > img { transform:scale(1.025); }
.board-identity { display:grid; place-items:center; flex:1; min-height:530px; }
.board-identity img { width:66%; height:auto; object-fit:contain; }
.board-website { aspect-ratio:2; }
.board-website img { display:block; object-position:top; }
.board-campaign { display:grid; grid-template-columns:1fr 1fr; aspect-ratio:2; }
.board-campaign > img { object-position:50% 24%; }
.board-campaign > span { display:grid; place-items:center; }
.board-campaign > span img { width:88%; height:88%; object-fit:contain; }
.board-title { display:block; font-family:var(--font-editorial); font-size:25px; line-height:1.25; letter-spacing:-.025em; margin-top:22px; }
.board-entry:first-child .board-title { font-size:32px; }
.board-organization { display:block; font-size:16px; line-height:1.5; margin-top:12px; color:var(--ink-3); }
.publications-section { background:var(--paper-2); }
.publications-section .section-container { display:grid; grid-template-columns:.65fr 1.35fr; gap:60px; align-items:start; }
.publications-section .gallery-title { font-size:clamp(60px,5.5vw,80px); }
.publications-section .page-subtitle { font-size:18px; line-height:1.6; }
.studio-site .publications-section .pub-title { font-size:21px; }
.studio-site .publications-section .pub-source { font-size:16px; line-height:1.6; }
.studio-site .speaking-section .speak-list { display:grid; grid-template-columns:1fr 1fr; gap:0 55px; max-width:none; }
.studio-site .speaking-section .speak-row { display:block; padding:28px 0; }
.studio-site .speaking-section .speak-event { font-family:var(--font-editorial); font-weight:500; font-size:23px; line-height:1.35; }
.speak-context { font-size:16px; color:var(--ink-3); line-height:1.6; }
.studio-site .speaking-section .speak-detail { font-size:17px; line-height:1.65; }
.work-page #photography-gallery { display:grid; columns:auto; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.work-page .gallery-item,.work-page .gallery-item.size-large,.work-page .gallery-item.size-tall { padding:0; border:0; border-radius:12px; grid-column:auto; grid-row:auto; aspect-ratio:4/5; min-height:0; margin:0; background:var(--paper-2); }
.work-page .gallery-item img { filter:none; }

/* Academics: opening record and course catalog, with a separate paper library. */
.study-opening { display:grid; grid-template-columns:1fr 1.6fr; gap:55px; align-items:start; padding-top:35px; padding-bottom:55px; }
.study-title { position:sticky; top:115px; border-radius:16px; padding:35px; background:var(--ink); color:var(--paper); }
.study-title h1 { font-family:var(--font-poster); font-size:clamp(60px,5.8vw,84px); line-height:1; letter-spacing:-.02em; text-transform:uppercase; margin-bottom:25px; color:inherit; }
.study-title > p { font-size:19px; line-height:1.6; }
.study-nav { display:flex; flex-direction:column; align-items:start; gap:18px; margin-top:35px; padding-top:28px; border-top:1px solid rgba(250,246,238,.3); }
.study-nav a { font-size:18px; color:inherit; text-decoration:underline; text-underline-offset:5px; line-height:1.5; }
.study-record #academics-intro { font-size:23px; line-height:1.65; padding:12px 0 35px; }
.study-education > h2 { font-family:var(--font-editorial); font-size:28px; font-weight:500; }
.study-education .edu-grid { display:block; }
.study-education .edu-row { padding:25px 0; }
.studio-site .study-education .edu-school { font-size:24px; }
.course-catalog .section-container { display:grid; grid-template-columns:.6fr 1.4fr; gap:55px; align-items:start; }
.course-catalog .gallery-header { position:sticky; top:115px; }
.course-catalog .gallery-title { font-size:clamp(65px,6vw,88px); }
.course-catalog .page-subtitle { font-size:18px; line-height:1.6; }
.study-page .term-courses { display:block; }
.study-page .course-row { display:grid; grid-template-columns:1.1fr .4fr 1.3fr; gap:18px; align-items:start; padding:22px 0; border-bottom:1px solid var(--line-strong); }
.study-page .course-context,.study-page .course-desc { margin:0; font-size:16px; line-height:1.65; }
.study-page .term-note { padding:0; background:none; border-radius:0; font-size:14px; letter-spacing:0; text-transform:none; font-weight:500; }
.study-page .term-meta { font-size:14px; }
.study-page .honors-record { background:var(--paper-2); }
.study-page .honors-record .gallery-title { font-family:var(--font-editorial); font-size:clamp(36px,4vw,54px); font-weight:500; text-transform:none; line-height:1.2; }
.study-page .papers-library .gallery-title { font-size:clamp(64px,7vw,104px); }

/* Contact: a personal introduction and a working correspondence form. */
.contact-studio { padding-top:35px; padding-bottom:80px; }
.contact-composition { display:grid; grid-template-columns:1fr 1.1fr; gap:75px; align-items:start; }
.contact-letter { border-radius:18px; overflow:hidden; background:var(--ink); color:var(--paper); }
.contact-opening { padding:40px; }
.contact-opening h1 { font-family:var(--font-poster); font-size:clamp(90px,9vw,132px); line-height:.95; text-transform:uppercase; color:inherit; margin:0 0 30px; letter-spacing:-.02em; }
.contact-opening > p { font-size:19px; line-height:1.7; }
.contact-addresses { display:flex; flex-direction:column; align-items:start; gap:20px; margin-top:35px; }
.contact-addresses a { color:inherit; font-size:18px; line-height:1.5; text-decoration:underline; text-underline-offset:5px; overflow-wrap:anywhere; }
.contact-addresses a:first-child { font-size:clamp(18px,1.75vw,25px); }
.contact-addresses > p { font-size:16px; }
.contact-portrait { margin:0; aspect-ratio:1.5; overflow:hidden; }
.contact-portrait img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 35%; }
.studio-site .contact-composition .contact-form { display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:35px; padding:0; background:none; border:0; border-radius:0; box-shadow:none; }
.contact-composition .form-group { margin:0; min-width:0; }
.contact-composition .form-group:nth-child(n+3),.contact-composition .submit-btn,.contact-composition .form-note { grid-column:1 / -1; }
.studio-site .contact-composition .form-group label { font-size:17px; margin-bottom:8px; }
.studio-site #contactForm .form-group input,.studio-site #contactForm .form-group textarea { width:100%; min-width:0; padding:14px 0; border:0; border-bottom:1px solid var(--ink); border-radius:0; background:none; font-size:18px; box-shadow:none; }
.studio-site .contact-composition .submit-btn { width:auto; justify-self:start; padding:16px 30px; background:var(--ink); border-radius:6px; font-size:17px; }

@media(max-width:1000px) {
 .course-catalog .section-container { display:block; }
 .course-catalog .gallery-header { position:static; }
 .contact-composition { gap:40px; }
 .contact-opening { padding:30px; }
 .resume-record .section-container,.skills-directory .section-container { gap:35px; }
}
@media(max-width:800px) {
 .about-composition { grid-template-columns:1fr 1fr; gap:20px; }
 .about-cover { grid-column:1; grid-row:1; min-height:430px; }
 .about-opening { grid-column:2; grid-row:1; padding:28px; }
 .about-opening h1 { font-size:80px; }
 .about-opening > p { font-size:19px; }
 .about-essay { grid-column:1 / -1; grid-row:2; padding-top:20px; }
 .about-roots { gap:30px; padding:30px; }
 .resume-record .section-container,.skills-directory .section-container { display:block; }
 .resume-record .section-header,.skills-directory .section-header { margin-bottom:35px; }
 .resume-record .resume-actions { margin-top:25px; }
 .work-page .page-header-content { gap:30px; }
 .work-page .page-header .page-subtitle { font-size:18px; }
 .work-board { gap:25px; }
 .board-identity { min-height:400px; }
 .board-entry:first-child .board-title { font-size:26px; }
 .board-title { font-size:21px; }
 .publications-section .section-container { display:block; }
 .study-opening { display:block; }
 .study-title { position:static; margin-bottom:35px; }
 .study-nav { flex-direction:row; flex-wrap:wrap; gap:18px 28px; }
 .study-record #academics-intro { font-size:21px; }
 .contact-composition { display:block; }
 .contact-letter { display:grid; grid-template-columns:1.2fr .8fr; }
 .contact-portrait { height:100%; aspect-ratio:auto; }
 .contact-opening h1 { font-size:90px; }
 .studio-site .contact-composition .contact-form { margin-top:50px; }
}
@media(max-width:540px) {
 .about-profile,.study-opening,.contact-studio { padding-top:22px; }
 .skills-directory .header-title { font-size:clamp(32px,10vw,42px); }
 .about-composition { display:block; }
 .about-cover { height:420px; min-height:0; }
 .about-opening { margin-top:14px; padding:30px 25px; }
 .about-opening h1 { font-size:90px; }
 .about-opening > p { font-size:20px; }
 .about-essay { padding:30px 0 0; }
 .about-essay > p { font-size:17px; }
 .about-roots { display:block; padding:30px 25px; margin-top:30px; }
 .about-roots h2 { font-size:62px; margin-bottom:25px; }
 .about-roots > p { font-size:17px; }
 .work-page .page-header-content { display:block; }
 .work-page .page-header .page-title { width:100%; font-size:clamp(50px,17vw,92px); }
 .publications-section .gallery-title { font-size:clamp(34px,11vw,48px); }
 .work-page .page-header .page-subtitle { margin-top:25px; }
 .work-board { display:block; }
 .board-entry { margin-bottom:35px; }
 .board-identity { min-height:0; aspect-ratio:1; padding:35px; }
 .board-identity img { width:85%; }
 .board-website,.board-campaign { aspect-ratio:1.4; }
 .board-title,.board-entry:first-child .board-title { font-size:25px; }
 .studio-site .speaking-section .speak-list { grid-template-columns:1fr; }
 .work-page #photography-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .study-title { padding:28px 24px; }
 .study-title h1 { font-size:16.8vw; }
 .study-title > p { font-size:18px; }
 .study-nav { flex-direction:column; }
 .study-record #academics-intro { font-size:20px; }
 .study-page .course-row { display:block; }
 .study-page .course-context { margin-top:10px; }
 .study-page .course-desc { margin-top:12px; }
 .contact-letter { display:block; }
 .contact-opening { padding:30px 25px; }
 .contact-opening h1 { font-size:90px; }
 .contact-portrait { aspect-ratio:1.4; height:auto; }
 .studio-site .contact-composition .contact-form { grid-template-columns:1fr; }
}
