/* Version 3 — a calm canvas for detailed product work. */
:root{--paper:#efede8;--ink:#272a28;--muted:#686a65;--line:#deddd7;--accent:#3d604f;--soft:#e7e8e1;--pad:clamp(24px,5vw,72px);--radius:28px}
html{scroll-padding-top:28px}body{background:var(--paper);font-size:16px;line-height:1.65}.site{max-width:1440px;border:0;padding:0 var(--pad)}h1,h2,h3{font-weight:500;letter-spacing:-.04em}h1{line-height:1.1}h2{line-height:1.2}a,button{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #2667a2;outline-offset:5px}.button,.evidence-action{border-radius:99px;font-size:14px;min-height:48px}.button:hover{background:#2e4d3c;border-color:#2e4d3c}.text-link{color:var(--accent)}.label{font-size:12px;letter-spacing:.075em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
.v3-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0 28px;min-height:112px}.v3-identity{display:flex;align-items:center;gap:14px;font-size:14px;font-weight:600;line-height:1.3}.v3-monogram{font-size:40px;line-height:1;font-weight:700;letter-spacing:-3px;color:#456453}.v3-nav-links{display:flex;align-items:center;gap:4px;background:#f9f8f4;padding:5px;border-radius:99px}.v3-nav-links a,.v3-contact{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:8px 18px;font-size:14px;font-weight:500;border-radius:99px}.v3-nav-links a:hover{background:#e9e8e2}.v3-contact{background:#e1e5da;padding-inline:22px;white-space:nowrap}.v3-contact:hover{background:#d5ddcc}.selection-toolbar{display:flex;justify-content:space-between;gap:24px;align-items:center;margin:0 0 22px;min-height:46px}.selection-toolbar>p{font-size:14px;color:var(--muted)}.work-filters{display:flex;gap:4px;background:#e5e3dd;padding:4px;border-radius:99px}.work-filters button{border:0;background:transparent;border-radius:99px;padding:8px 20px;min-height:38px;font-size:14px}.work-filters button[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:0 2px 5px #24251d08}.work-filters button:hover{background:#f5f4ee}.portfolio-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:minmax(340px,auto) 300px minmax(390px,auto) auto auto;gap:20px}.bento{background:#faf9f6;border:1px solid #e6e4dd;border-radius:var(--radius);overflow:hidden;min-width:0;box-shadow:0 2px 1px #242a201f;isolation:isolate}.identity-tile{grid-column:1/5;grid-row:1;padding:30px;display:flex;flex-direction:column;gap:16px}.tile-eyebrow{font-size:12px;line-height:1.6;letter-spacing:.055em;font-weight:600;color:#62675e}.identity-tile h1{font-size:clamp(34px,3.7vw,52px);letter-spacing:-.055em;line-height:1.07}.identity-tile>p:not(.tile-eyebrow){font-size:15px;line-height:1.65}.identity-links{display:flex;gap:22px;margin-top:auto}.identity-links a{min-height:40px;display:inline-flex;align-items:center;font-size:14px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#afb7a9}.identity-links a:hover{text-decoration-color:var(--ink)}.project-tile{display:flex;flex-direction:column}.tile-copy{position:relative;z-index:1;padding:30px 32px 0;display:flex;flex-direction:column;gap:10px}.tile-copy h2{font-size:clamp(30px,3vw,42px);letter-spacing:-.045em}.tile-copy>p:not(.tile-eyebrow){font-size:17px;color:#536269;line-height:1.55}.doctor-tile{grid-column:5/13;grid-row:1/3;background:#dce8ec;border-color:#d5e1e5}.doctor-tile .tile-eyebrow{color:#4a626b}.doctor-screens{display:flex;justify-content:center;align-items:center;gap:26px;flex:1;min-height:0;padding:25px 32px 18px}.doctor-screens img{height:100%;width:auto;max-width:45%;object-fit:contain;filter:drop-shadow(0 12px 15px #26425620);border-radius:25px;transition:transform .35s cubic-bezier(.2,.7,.3,1)}.doctor-screens img:first-child{transform:translateY(-5px) rotate(-3deg)}.doctor-screens img:last-child{transform:translateY(8px) rotate(3deg)}.tile-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:0 32px 25px;font-size:12px;color:#536269}.tile-open{font-size:14px;font-weight:600;white-space:nowrap;color:#253d47}.cafe-tile{grid-column:1/5;grid-row:2/4;background:#e6d6c6;border-color:#e1d1c2}.cafe-tile .tile-copy{padding:28px 30px 0;gap:10px}.cafe-tile .tile-copy h2{font-size:36px;color:#49362a}.cafe-tile .tile-copy>p{color:#654f3f}.cafe-tile .tile-eyebrow{font-size:11px;color:#68503c}.cafe-screen{display:flex;align-items:center;justify-content:center;flex:1;min-height:0;padding:24px 26px 20px}.cafe-screen img{height:100%;max-width:100%;width:auto;object-fit:contain;border-radius:23px;filter:drop-shadow(0 14px 14px #48332228);transition:transform .35s cubic-bezier(.2,.7,.3,1)}.cafe-tile .tile-footer{padding:0 26px 24px;flex-wrap:wrap;gap:4px;color:#68513f}.cafe-tile .tile-open{color:#49362a}.detail-tile{grid-column:5/9;grid-row:3;padding:27px 28px;display:flex;flex-direction:column;gap:15px;background:#e4e8da;border-color:#dce1d0}.detail-tile .tile-eyebrow{font-size:11px;letter-spacing:.03em}.detail-tile h2{font-size:clamp(23px,2.3vw,31px);line-height:1.2;color:#3c4d38}.pickup-toggle{display:flex;gap:3px;padding:3px;background:#d7dfcd;border-radius:99px;width:fit-content;max-width:100%}.pickup-toggle button{border:0;border-radius:99px;min-height:38px;padding:7px 14px;font-size:13px;background:transparent}.pickup-toggle button[aria-pressed=true]{background:#fafbf5;color:#364d2d}.detail-tile #pickup-description{font-size:14px;line-height:1.55;color:#58624f;min-height:65px}.detail-link{font-size:14px;font-weight:600;color:#3d5033;text-decoration:underline;text-underline-offset:4px;line-height:1.5;margin-top:auto}.artwork-tile{grid-column:9/13;grid-row:3;position:relative;background:#4384b3;border-color:#7b969c}.artwork-tile>img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;transition:transform .45s}.artwork-tile-caption{position:absolute;left:0;right:0;bottom:0;padding:45px 25px 23px;background:linear-gradient(transparent,#102731d9);color:#fff}.artwork-tile-caption h2{font-size:23px;line-height:1.25;color:#fff;letter-spacing:-.04em;margin-bottom:7px}.artwork-tile-caption span{font-size:14px;color:#e5eced}.professional-tile{grid-column:span 6;padding:30px 32px;display:flex;flex-direction:column;gap:28px}.professional-tile>div:first-child{display:flex;flex-direction:column;gap:13px}.professional-tile h2{font-size:32px}.professional-tile p:not(.tile-eyebrow){font-size:16px;max-width:480px}.professional-meta{border-top:1px solid var(--line);padding-top:17px;display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;color:var(--muted);font-size:13px}.professional-meta span:last-child{color:var(--ink);font-size:14px;font-weight:600}.brand-tile{grid-column:span 6;display:flex;flex-direction:column}.brand-tile-art{height:260px;display:grid;place-items:center;padding:30px;background:#fff}.brand-tile-art img{height:100%;width:100%;object-fit:contain}.lux-tile .brand-tile-art{background:#272a28}.brand-tile-copy{padding:24px 30px;display:flex;flex-direction:column;gap:8px}.brand-tile-copy h2{font-size:24px;line-height:1.35}.brand-tile-copy p{font-size:14px}.portfolio-grid:not([data-view=all]){grid-template-rows:auto;align-items:stretch}.portfolio-grid:not([data-view=all])>.bento{grid-column:span 6;grid-row:auto}.portfolio-grid:not([data-view=all])>.identity-tile{grid-column:1/-1;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 28px;align-items:center}.portfolio-grid:not([data-view=all])>.identity-tile .tile-eyebrow{grid-column:1/-1}.portfolio-grid:not([data-view=all])>.identity-tile h1{font-size:40px;grid-row:2/4}.portfolio-grid:not([data-view=all])>.identity-tile h1 br{display:none}.portfolio-grid:not([data-view=all])>.identity-tile .identity-links{margin:0}.portfolio-grid:not([data-view=all])>.project-tile{height:680px}.portfolio-grid:not([data-view=all])>.detail-tile,.portfolio-grid:not([data-view=all])>.artwork-tile{min-height:330px}.portfolio-grid:not([data-view=all])>.detail-tile #pickup-description{min-height:0}.portfolio-grid:not([data-view=all])>.artwork-tile{height:330px}
/* Supporting story uses the same material and type rhythm. */
.is-home .section{padding:52px 40px;margin-top:20px;border-radius:var(--radius);background:#faf9f6;gap:26px}.is-home #about{margin-top:60px}.is-home #about .divider{display:none}.is-home .section h2{font-size:34px}.is-home .split{grid-template-columns:.9fr 1.2fr;gap:70px}.is-home .experience-row{grid-template-columns:1fr 1.25fr;gap:30px;padding-top:25px}.is-home .experience-row h3{font-size:23px;line-height:1.35}.is-home .experience-row p{font-size:15px}.is-home #skills h3{font-size:23px;line-height:1.35}.is-home #skills p{font-size:15px;line-height:1.8}.is-home .contact{background:#344d3e;color:#f4f4e9;margin-bottom:28px;padding-block:52px}.is-home .contact h2{font-size:48px;letter-spacing:-.045em}.is-home .contact .button{background:#e8eddc;border-color:#e8eddc;color:#263d2d}.is-home .contact .small{font-size:14px}.is-home .contact .label:last-child{font-size:11px;opacity:.75}.is-home .contact .row{gap:24px}
/* Shared case and resume surfaces. Original evidence remains untouched. */
.is-case main{background:#faf9f6;border:1px solid #e2e1da;border-radius:var(--radius);overflow:hidden;margin-bottom:30px}.is-case .section{padding:55px 42px}.is-case .section.compact{padding:50px 42px}.is-case .case-header h1{font-size:58px;line-height:1.1;letter-spacing:-.05em}.is-case .case-header h2{font-size:32px;line-height:1.3}.is-case .case-header .lead{max-width:900px;font-size:18px;line-height:1.7}.is-case .chapters{padding:18px 42px;border-block:1px solid var(--line);background:#f1f2ec;gap:12px 28px}.is-case .chapters a{font-size:14px}.is-case .case-row{grid-template-columns:1fr 1.6fr;gap:45px}.is-case .case-row h3{font-size:26px;line-height:1.3}.is-case .case-footer{padding:40px 42px;gap:18px;background:#faf9f6}.is-case .brand-hero{margin:0 22px;border-radius:22px;padding:36px}.is-case .dark{background:#354b3c}.is-case .dark h2{font-size:40px;line-height:1.25}.evidence-case{background:#faf9f6;--case-tint:#e4edf0;--case-ink:#253b42;--case-accent:#2f626f}.evidence-case.cafe{--case-tint:#ece2d7;--case-ink:#49362b;--case-accent:#75583e}.evidence-hero{padding:46px 42px;gap:40px;background:var(--case-tint);grid-template-columns:1.05fr 1fr}.evidence-hero h1{font-size:clamp(36px,3.8vw,50px);letter-spacing:-.045em;line-height:1.12}.evidence-hero-copy{gap:19px}.evidence-hero-art img{max-width:205px;width:45%;border-radius:23px}.evidence-hero-art img:first-child{transform:rotate(-2deg)}.evidence-hero-art img:last-child{transform:translateY(13px) rotate(2deg)}.evidence-toc{position:static;padding:12px 42px;background:#faf9f6;gap:24px;flex-wrap:wrap;overflow:visible;backdrop-filter:none}.evidence-toc a{font-size:14px}.evidence-section{padding:58px 42px;gap:30px}.evidence-section.tinted{background:#f0f1ea}.evidence-heading h2{font-size:36px;letter-spacing:-.04em}.evidence-label{font-size:12px!important;line-height:1.7!important;letter-spacing:.05em}.evidence-section p,.evidence-section li{line-height:1.75}.evidence-intro-grid{gap:42px}.evidence-stateline{border-radius:0 16px 16px 0}.decision-grid{gap:38px 28px}.decision-image{border-radius:22px;padding:30px;min-height:430px}.decision-image img{max-height:400px}.decision-card{gap:16px}.decision-card h3{font-size:26px;line-height:1.3}.language-evidence{border-radius:22px;min-height:430px;align-items:center}.evidence-triptych>div{border-radius:22px;padding:26px;background:#faf9f6}.evidence-triptych h3{font-size:23px;line-height:1.3}.evidence-figure>a{border-radius:22px;padding:24px}.evidence-figure img{max-height:430px}.evidence-figure h3{font-size:19px}.evidence-figure p:not(.evidence-label){font-size:14px}.evidence-details{padding:20px 0}.evidence-details summary{min-height:44px}.evidence-flow>div,.evidence-swatch span{border-radius:16px}.evidence-end{padding:42px;background:var(--case-ink)}.evidence-end h2{font-size:32px}.full-resume{padding:36px 42px 60px}.resume-header h1{font-size:50px;line-height:1.16;letter-spacing:-.045em}.resume-body{gap:44px;grid-template-columns:190px minmax(0,1fr)}.resume-toc{font-size:14px;gap:10px}.resume-toc a{min-height:38px}.resume-section h2{font-size:25px}.resume-section p,.resume-section li,.resume-section dd{font-size:16px;line-height:1.75}.resume-contact,.resume-profile-links,.resume-availability{font-size:14px;line-height:1.7}.artwork-page{padding:38px 42px 55px}.artwork-header{margin-bottom:30px}.artwork-header h1{font-size:54px}.artwork-card{border-radius:22px;overflow:hidden}.lightbox{border-radius:22px;background:var(--paper)}.lightbox button{border-radius:99px}.overview-status{max-width:780px}.not-found{min-height:65vh}
@media(hover:hover) and (pointer:fine){a.bento:hover{box-shadow:0 5px 18px #303b261c;border-color:#b5bdae}a.bento:hover .tile-open,a.professional-tile:hover .professional-meta span:last-child{text-decoration:underline;text-underline-offset:4px}.doctor-tile:hover .doctor-screens img:first-child{transform:translateY(-9px) rotate(-2deg)}.doctor-tile:hover .doctor-screens img:last-child{transform:translateY(4px) rotate(2deg)}.cafe-tile:hover .cafe-screen img{transform:translateY(-4px)}.artwork-tile:hover>img{transform:scale(1.025)}}
@media(max-width:1100px){:root{--pad:32px;--radius:25px}.v3-identity>span:last-child{max-width:125px}.v3-nav{gap:16px}.v3-nav-links a{padding-inline:14px}.v3-contact{padding-inline:17px}.portfolio-grid{grid-template-rows:minmax(330px,auto) 300px minmax(390px,auto) auto auto;gap:16px}.identity-tile{padding:25px;gap:13px}.identity-tile h1{font-size:40px}.identity-tile>p:not(.tile-eyebrow){font-size:14px}.identity-links{gap:17px}.tile-copy{padding:26px 26px 0}.doctor-screens{gap:18px;padding-inline:26px}.tile-footer{padding-inline:26px;gap:10px;flex-wrap:wrap}.cafe-tile .tile-copy{padding:25px 25px 0}.cafe-tile .tile-copy h2{font-size:33px}.cafe-tile .tile-eyebrow{font-size:10px}.detail-tile{padding:24px 20px;gap:13px}.detail-tile .tile-eyebrow{font-size:10px}.detail-tile h2{font-size:25px}.pickup-toggle button{padding-inline:10px;font-size:12px}.artwork-tile-caption{padding-inline:20px}.artwork-tile-caption h2{font-size:23px}.professional-tile{padding:27px}.evidence-hero{gap:25px;padding:36px 30px}.evidence-hero-art{gap:15px}.evidence-hero h1{font-size:40px}.evidence-section{padding:48px 32px}.evidence-toc{padding:12px 30px}.evidence-intro-grid{gap:30px}.evidence-triptych{gap:18px}.evidence-triptych>div{padding:22px}.evidence-gallery{gap:18px}.evidence-figure>a{padding:18px}.resume-body{gap:32px;grid-template-columns:165px minmax(0,1fr)}}
@media(max-width:800px){.v3-nav{flex-wrap:wrap;padding-block:22px;gap:16px}.v3-identity>span:last-child{max-width:none}.v3-nav-links{order:3;justify-content:center;width:100%}.v3-nav-links a{flex:1}.v3-contact{margin-left:auto}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;gap:16px}.portfolio-grid>.bento{grid-column:span 1;grid-row:auto}.portfolio-grid>.identity-tile{grid-column:1/-1;padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:14px 30px;align-items:center}.identity-tile .tile-eyebrow{grid-column:1/-1}.identity-tile h1{font-size:44px;grid-row:2/4}.identity-tile h1 br{display:none}.identity-tile .identity-links{margin:0}.portfolio-grid>.doctor-tile{grid-column:1/-1;height:640px}.portfolio-grid>.cafe-tile{height:630px;grid-row:span 2}.portfolio-grid>.detail-tile{min-height:310px}.portfolio-grid>.artwork-tile{min-height:304px}.portfolio-grid>.professional-tile,.portfolio-grid>.brand-tile{grid-column:span 1}.professional-tile{padding:26px}.professional-tile .tile-eyebrow{font-size:11px}.professional-tile h2{font-size:30px}.brand-tile-art{height:200px;padding:20px}.brand-tile-copy{padding:23px}.brand-tile-copy h2{font-size:22px}.is-home .section{padding:35px 30px}.is-home .split{grid-template-columns:1fr;gap:25px}.is-home .section h2{font-size:32px}.is-home .experience-row{grid-template-columns:1fr 1fr;gap:25px}.is-home .skills-grid{grid-template-columns:1fr!important;gap:30px}.is-home .contact h2{font-size:40px}.evidence-hero{grid-template-columns:1fr;padding:34px 30px;gap:35px}.evidence-hero-copy{max-width:600px}.evidence-hero-art img{max-width:210px}.evidence-hero-art{gap:30px;padding-block:10px}.evidence-toc{gap:4px 22px}.evidence-section{padding:40px 30px}.evidence-heading h2{font-size:32px}.evidence-intro-grid{grid-template-columns:1fr;gap:28px}.decision-grid{grid-template-columns:1fr}.evidence-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.evidence-triptych{grid-template-columns:1fr}.evidence-review>div{grid-template-columns:1fr;gap:16px}.evidence-end{padding:34px 30px;align-items:flex-start;flex-direction:column}.is-case .section,.is-case .section.compact{padding:40px 30px}.is-case .case-header h1{font-size:45px}.is-case .case-header h2{font-size:29px}.is-case .case-row{grid-template-columns:1fr;gap:20px}.is-case .chapters{padding:14px 30px;gap:4px 22px}.is-case .case-footer{padding:32px 30px}.is-case .brand-hero{padding:26px;margin-inline:16px}.full-resume{padding:30px}.resume-body{display:block}.resume-header h1{font-size:42px}.resume-toc{font-size:14px;position:static}.artwork-page{padding:30px}.portfolio-grid:not([data-view=all])>.bento{grid-column:span 1;grid-row:auto}.portfolio-grid:not([data-view=all])>.identity-tile,.portfolio-grid:not([data-view=all])>.doctor-tile{grid-column:1/-1}.portfolio-grid:not([data-view=all])>.project-tile{height:630px}}
@media(max-width:560px){:root{--pad:16px;--radius:24px}.v3-nav{gap:14px;padding:18px 4px 21px}.v3-monogram{font-size:36px}.v3-identity{gap:10px;font-size:12px}.v3-contact{min-height:40px;padding:7px 15px;font-size:13px}.v3-nav-links{gap:0;padding:4px}.v3-nav-links a{padding:8px 8px;font-size:14px;min-height:40px}.selection-toolbar{margin-bottom:16px;gap:12px;flex-wrap:wrap}.selection-toolbar>p{font-size:13px}.work-filters button{font-size:13px;padding:7px 16px;min-height:36px}.portfolio-grid,.portfolio-grid:not([data-view=all]){display:flex;flex-direction:column;gap:16px}.portfolio-grid>.identity-tile,.portfolio-grid:not([data-view=all])>.identity-tile{display:flex;align-items:flex-start;padding:26px;gap:16px}.identity-tile .tile-eyebrow{font-size:11px}.identity-tile h1,.portfolio-grid:not([data-view=all])>.identity-tile h1{font-size:46px;letter-spacing:-.05em;line-height:1.12}.identity-tile h1 br{display:none}.identity-tile>p:not(.tile-eyebrow){font-size:16px}.identity-links{gap:26px}.identity-links a{font-size:14px;min-height:36px}.portfolio-grid>.doctor-tile,.portfolio-grid:not([data-view=all])>.doctor-tile{height:610px}.tile-copy{padding:26px 25px 0;gap:9px}.tile-copy h2{font-size:35px}.tile-copy>p:not(.tile-eyebrow){font-size:16px}.tile-eyebrow{font-size:11px}.doctor-screens{gap:13px;padding:22px 18px 20px;align-items:center}.doctor-screens img{max-width:46%;border-radius:17px;max-height:100%;height:auto;width:46%}.doctor-screens img:first-child{transform:translateY(-5px) rotate(-2deg)}.doctor-screens img:last-child{transform:translateY(9px) rotate(2deg)}.tile-footer{padding:0 25px 24px;gap:8px;flex-wrap:wrap}.tile-footer span:first-child{font-size:12px}.tile-open{font-size:14px}.portfolio-grid>.cafe-tile,.portfolio-grid:not([data-view=all])>.cafe-tile{height:730px}.cafe-tile .tile-copy{padding:26px 25px 0}.cafe-tile .tile-copy h2{font-size:35px}.cafe-tile .tile-eyebrow{font-size:11px}.cafe-tile .tile-copy br{display:none}.cafe-screen{padding:25px 30px}.cafe-tile .tile-footer{padding:0 25px 25px}.portfolio-grid>.detail-tile,.portfolio-grid:not([data-view=all])>.detail-tile{min-height:0;padding:27px;gap:18px}.detail-tile .tile-eyebrow{font-size:11px}.detail-tile h2{font-size:30px}.pickup-toggle button{font-size:14px;padding:9px 18px;min-height:42px}.detail-tile #pickup-description{font-size:16px;line-height:1.65;min-height:80px}.detail-link{min-height:36px;display:flex;align-items:center}.portfolio-grid>.artwork-tile,.portfolio-grid:not([data-view=all])>.artwork-tile{height:370px;min-height:0}.artwork-tile-caption{padding:55px 26px 25px}.artwork-tile-caption h2{font-size:28px}.professional-tile{padding:27px;gap:24px}.professional-tile h2{font-size:32px}.professional-meta{font-size:13px}.brand-tile-art{height:230px;padding:25px}.brand-tile-copy{padding:24px 27px}.brand-tile-copy h2{font-size:24px}.is-home .section{padding:30px 27px;margin-top:16px;gap:24px}.is-home #about{margin-top:36px}.is-home .section h2{font-size:30px;line-height:1.25}.is-home .experience-row{grid-template-columns:1fr;gap:15px;padding-top:22px}.is-home .experience-row h3{font-size:22px}.is-home .experience-row p,.is-home #skills p{font-size:16px}.is-home .contact h2{font-size:35px;line-height:1.2}.is-home .contact .row{gap:20px;flex-wrap:wrap}.is-home .contact .label:last-child{line-height:1.7}.is-case .section,.is-case .section.compact{padding:32px 25px;gap:24px}.is-case .case-header h1{font-size:40px}.is-case .case-header h2{font-size:27px}.is-case .case-header .lead{font-size:16px}.is-case .case-row h3{font-size:25px}.is-case .chapters{padding:12px 25px;gap:4px 20px}.is-case .case-footer{padding:28px 25px}.is-case .brand-hero{margin:0 12px;padding:24px 15px}.is-case .dark h2{font-size:31px}.evidence-hero{padding:32px 25px;gap:30px}.evidence-hero h1{font-size:37px;line-height:1.15}.evidence-hero-art{gap:14px;padding-block:5px}.evidence-hero-art img{max-width:46%;width:46%;border-radius:15px}.evidence-hero .lead{font-size:16px}.evidence-toc{padding:12px 25px;gap:2px 20px}.evidence-toc a{font-size:14px;min-height:42px}.evidence-section{padding:35px 25px;gap:26px}.evidence-heading h2{font-size:29px;line-height:1.25}.evidence-section p{font-size:16px}.decision-card h3{font-size:25px}.decision-image{min-height:0;padding:24px}.decision-image img{max-height:460px;width:auto}.language-evidence{min-height:0;gap:13px;padding:19px}.language-evidence .evidence-figure img{max-height:none}.language-evidence .evidence-figure h3{font-size:16px}.language-evidence .evidence-figure p{font-size:12px}.evidence-gallery{grid-template-columns:1fr;gap:27px}.evidence-figure>a{padding:24px}.evidence-figure img{max-height:520px}.evidence-figure p:not(.evidence-label){font-size:14px}.evidence-triptych>div{padding:24px}.evidence-end{padding:32px 25px}.evidence-end h2{font-size:29px;line-height:1.25}.full-resume{padding:28px 25px}.resume-header{padding-top:0;gap:18px}.resume-header h1{font-size:38px;line-height:1.18}.resume-headline{font-size:23px;line-height:1.4}.resume-contact,.resume-profile-links,.resume-availability{font-size:14px}.resume-contact{overflow-wrap:anywhere}.resume-downloads{gap:10px}.resume-downloads .button{font-size:14px;padding:12px 15px;min-height:48px}.resume-section p,.resume-section li,.resume-section dd{font-size:16px}.resume-section h2{font-size:24px}.resume-entry h3{font-size:21px}.resume-toc{gap:5px 20px;font-size:14px}.resume-entry .resume-byline{font-size:14px}.artwork-page{padding:28px 25px}.artwork-header h1{font-size:44px}.lightbox{padding:14px;max-width:96vw}.facts{grid-template-columns:1fr}.not-found h1{font-size:38px}}
@media(max-width:360px){.v3-identity>span:last-child{max-width:106px}.v3-contact{padding-inline:12px}.portfolio-grid>.doctor-tile,.portfolio-grid:not([data-view=all])>.doctor-tile{height:560px}.identity-tile h1,.portfolio-grid:not([data-view=all])>.identity-tile h1{font-size:40px}.pickup-toggle button{padding-inline:14px}.resume-downloads{flex-direction:column}.resume-downloads .button{width:100%}.evidence-hero h1{font-size:33px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.doctor-screens img,.evidence-hero-art img,.cafe-screen img,.artwork-tile>img{transform:none!important}}
@media print{.v3-nav,.work-filters,.pickup-toggle{display:none}.site{padding:0}.is-case main{border:0;border-radius:0}.is-home .section,.is-case .section,.evidence-section{padding:24px}.portfolio-grid{display:block}.bento{break-inside:avoid;margin:20px 0;box-shadow:none}.full-resume{padding:0}.evidence-hero-art img{transform:none}.resume-section p,.resume-section li,.resume-section dd{font-size:11px;line-height:1.6}}
/* Media must fit its tile rather than contributing intrinsic image height to grid rows. */
.doctor-screens,.cafe-screen{contain:size;flex:1 1 0;min-height:0}
.artwork-tile>img{position:absolute;inset:0;width:100%;height:100%}
.brand-tile-art{position:relative;overflow:hidden;flex:none}
.brand-tile-art img{position:absolute;inset:30px;width:calc(100% - 60px);height:calc(100% - 60px);min-height:0;max-height:none;object-fit:contain}
/* The intro opens into a quiet, portrait-led reading surface. */
html{scrollbar-gutter:stable}
.identity-tile{position:relative;justify-content:center;gap:16px;cursor:pointer}
.identity-tile>.tile-eyebrow{padding-right:38px}
.identity-intro{display:flex;align-items:center;gap:15px;width:100%;min-width:0}
.identity-portrait{width:88px;height:108px;flex:none;object-fit:contain;object-position:center bottom}
.identity-intro h1{font-size:clamp(30px,3.15vw,44px);margin:0;min-width:0}
.identity-expand,.about-collapse{position:absolute;right:16px;top:16px;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#30382e;box-shadow:0 3px 18px #30382e09;z-index:2;flex:none}
.identity-expand svg,.about-collapse svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.identity-expand:hover,.about-collapse:hover{background:#e5eade}
.identity-links{margin-top:0}
.identity-tile[data-expanded=true]{visibility:hidden}
.about-portrait{display:none}
.about-links{display:flex;flex-wrap:wrap;gap:16px 28px;margin-top:5px}
.about-links a{font-size:16px;color:var(--accent);text-decoration:underline;text-underline-offset:5px;min-height:44px;display:inline-flex;align-items:center}
.about-dialog{position:fixed;inset:0;margin:auto;padding:0;width:min(800px,calc(100vw - 48px));height:85vh;height:85dvh;max-width:none;max-height:none;border:1px solid #e6e4dd;border-radius:32px;overflow:hidden;background:#faf9f6;color:var(--ink);box-shadow:0 24px 100px #19211824;isolation:isolate;transform-origin:center}
.about-dialog::backdrop{background:#20241d55;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.about-dialog-scroll{height:100%;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c7c9c0 transparent;scroll-padding:48px 0}
.about-dialog .about-collapse{top:17px;right:17px}
.about-dialog #about{display:flex;flex-direction:column;gap:32px;border:0;border-radius:0;box-shadow:none;background:transparent;margin:0;padding:48px clamp(32px,6vw,80px) 52px}
.about-dialog .about-portrait{display:block;width:150px;height:150px;object-fit:contain;margin:0 auto;flex:none}
.about-dialog #about>.label,.about-dialog #about .divider,.about-dialog #about h2{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.about-dialog #about .split{display:block}
.about-dialog #about .stack{gap:24px}
.about-dialog #about p{font-size:19px;line-height:1.65;color:#3c403a;letter-spacing:-.018em;max-width:none}
.about-dialog .about-links{padding-top:8px}
.about-dialog:focus{outline:0}
@media(hover:hover) and (pointer:fine){.identity-tile:hover{border-color:#b5bdae;box-shadow:0 5px 18px #303b261c}.identity-tile:hover .identity-portrait{transform:translateY(-2px)}.identity-portrait{transition:transform .3s ease}}
@media(max-width:1100px) and (min-width:801px){.identity-intro{gap:9px}.identity-portrait{width:73px;height:97px}.identity-intro h1{font-size:33px}}
@media(min-width:801px){.portfolio-grid:not([data-view=all])>.identity-tile{display:grid;grid-template-columns:1fr 1fr;gap:12px 32px}.portfolio-grid:not([data-view=all])>.identity-tile .identity-intro{grid-row:2/4}.portfolio-grid:not([data-view=all])>.identity-tile .identity-intro h1{font-size:40px}}
@media(min-width:561px) and (max-width:800px){.portfolio-grid>.identity-tile{grid-template-columns:1fr 1fr}.identity-intro{grid-row:2/4}.identity-portrait{width:96px;height:108px}.identity-intro h1{font-size:38px}.identity-intro h1 br{display:block}}
@media(max-width:560px){.portfolio-grid>.identity-tile,.portfolio-grid:not([data-view=all])>.identity-tile{padding:28px;gap:20px}.identity-intro{gap:20px}.identity-portrait{width:108px;height:128px}.identity-intro h1,.portfolio-grid:not([data-view=all])>.identity-tile h1{font-size:39px;line-height:1.15}.identity-intro h1 br{display:block}.identity-expand{right:14px;top:14px}.identity-links{gap:26px}.about-dialog{width:calc(100vw - 24px);height:88vh;height:88dvh;border-radius:26px}.about-dialog #about{padding:56px 27px 36px;gap:28px}.about-dialog .about-portrait{width:130px;height:130px}.about-dialog #about p{font-size:17px;line-height:1.7}.about-dialog #about .stack{gap:22px}.about-dialog .about-collapse{right:13px;top:13px}.about-links{gap:10px 24px}}
@media(max-width:360px){.identity-portrait{width:85px;height:108px}.identity-intro{gap:14px}.identity-intro h1,.portfolio-grid:not([data-view=all])>.identity-tile h1{font-size:35px}.about-dialog #about{padding-inline:23px}}
@media(prefers-reduced-motion:reduce){.identity-portrait{transform:none!important}.about-dialog::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}}
@media print{.identity-expand,.about-dialog{display:none!important}.identity-tile[data-expanded=true]{visibility:visible}}

@media(min-width:801px) and (max-width:960px){.identity-portrait{width:64px;height:85px}.identity-intro{gap:9px}.identity-intro h1{font-size:29px}}
/* Text links reveal their underline; project links offer a small, optional preview. */
.identity-links a,.about-links a,.about-projects a{background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-size:0% 1.5px;background-position:left calc(100% - 8px);text-decoration:none;transition:background-size 300ms cubic-bezier(.4,0,.2,1),color 200ms ease}
.identity-links a:hover,.identity-links a:focus-visible,.about-links a:hover,.about-links a:focus-visible,.about-projects a:hover,.about-projects a:focus-visible{background-size:100% 1.5px}
.about-projects{padding-top:4px}
.about-projects .about-project-label,.about-dialog #about .about-project-label{font-size:12px;line-height:1.6;text-transform:uppercase;letter-spacing:.075em;color:var(--muted);margin-bottom:6px}
.about-projects>div{display:flex;flex-wrap:wrap;gap:10px 28px}
.about-projects a{display:inline-flex;align-items:center;min-height:44px;font-size:19px;font-weight:500;letter-spacing:-.025em;color:var(--accent)}
.about-projects a[data-project-preview=doctor]{color:#2e6479}
.about-projects a[data-project-preview=cafe]{color:#84542f}
.project-hover-preview{position:fixed;left:0;top:0;width:300px;height:200px;max-width:calc(100vw - 64px);z-index:5;overflow:hidden;border:1px solid #fff8;border-radius:18px;background:#dce8ec;box-shadow:0 12px 38px #102b3d25;pointer-events:none;opacity:0;visibility:hidden;will-change:transform;transition:opacity 250ms cubic-bezier(.2,0,0,1),visibility 250ms}
.project-hover-preview[data-visible=true]{opacity:1;visibility:visible}
.project-hover-preview[data-theme=cafe]{background:#e6d6c6}
.project-hover-preview .preview-images{position:absolute;inset:15px 18px 28px;display:flex;justify-content:center;align-items:flex-start;gap:14px;overflow:hidden;transform:scale(.96);transition:transform 250ms cubic-bezier(.2,0,0,1)}
.project-hover-preview[data-visible=true] .preview-images{transform:scale(1)}
.project-hover-preview img{width:auto;height:270px;object-fit:contain;border-radius:11px;box-shadow:0 4px 12px #102b3d15}
.project-hover-preview[data-theme=cafe] img{height:265px;border-radius:8px}
.project-hover-preview .preview-caption{position:absolute;bottom:0;left:0;right:0;padding:8px 14px;background:#faf9f6eF;color:var(--ink);font-size:12px;line-height:1.4;letter-spacing:.01em}
@media(prefers-reduced-motion:reduce){.project-hover-preview,.project-hover-preview .preview-images{transition:none!important;will-change:auto}.project-hover-preview .preview-images{transform:none}}
@media print{.project-hover-preview{display:none!important}}
/* Small, reference-led cues: a lift, a sliding pill, and a typed hover label. */
.bento{transition:transform 150ms ease,box-shadow 280ms ease,border-color 200ms ease}
.identity-expand{opacity:.58;transform:scale(.88);transition:opacity 200ms ease,transform 200ms ease,background 200ms ease}
.identity-tile:hover .identity-expand,.identity-tile:focus-within .identity-expand{opacity:1;transform:scale(1)}
.tile-open{transition:opacity 200ms ease,transform 200ms ease;opacity:.8}
a.bento:focus-visible .tile-open{opacity:1}
@media(hover:hover) and (pointer:fine){a.bento:hover,.identity-tile:hover{transform:translateY(-3px)}a.bento:hover .tile-open{opacity:1;transform:translateY(-1px)}}
.v3-nav-links,.work-filters{position:relative;isolation:isolate}
.v3-nav-links.has-hover-indicator::before{content:"";position:absolute;top:5px;left:var(--nav-pill-x,5px);width:var(--nav-pill-width,0px);height:calc(100% - 10px);border-radius:99px;background:#e4eadd;opacity:var(--nav-pill-opacity,0);transition:left 250ms cubic-bezier(.25,1,.5,1),width 250ms cubic-bezier(.25,1,.5,1),opacity 180ms ease;pointer-events:none}
.v3-nav-links.has-hover-indicator a{position:relative;z-index:1;transition:color 180ms ease}
.v3-nav-links.has-hover-indicator a:hover{background:transparent;color:#3d604f}
.work-filters.has-sliding-indicator::before{content:"";position:absolute;top:4px;left:var(--filter-pill-x,4px);width:var(--filter-pill-width,0px);height:calc(100% - 8px);background:#fff;border-radius:99px;box-shadow:0 2px 5px #24251d08;transition:left 500ms cubic-bezier(.34,1.3,.64,1),width 500ms cubic-bezier(.34,1.3,.64,1);pointer-events:none}
.work-filters.has-sliding-indicator button{position:relative;z-index:1}
.work-filters.has-sliding-indicator button[aria-pressed=true],.work-filters.has-sliding-indicator button:hover{background:transparent;box-shadow:none}
.card-hover-label{position:fixed;top:0;left:0;z-index:15;padding:8px 16px;border-radius:8px;background:#3d604ff0;color:#fff;box-shadow:0 5px 14px #243e2b12;font-size:13px;line-height:1.5;letter-spacing:0;white-space:nowrap;max-width:calc(100vw - 24px);overflow:hidden;pointer-events:none;opacity:0;visibility:hidden;transition:opacity 180ms ease,visibility 180ms}
.card-hover-label[data-visible=true]{opacity:1;visibility:visible}
@media(prefers-reduced-motion:reduce){a.bento:hover,.identity-tile:hover,.identity-expand{transform:none!important}.bento,.identity-expand,.tile-open,.card-hover-label,.v3-nav-links::before,.work-filters::before{transition:none!important}}
@media print{.card-hover-label{display:none!important}}

/* Keep the greeting legible in filtered layouts at every width. */
.portfolio-grid:not([data-view=all])>.identity-tile .identity-intro h1 br{display:block}

/* Creative credits stay secondary to the product work; media opens only on request. */
.portfolio-grid>.creative-tile{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);background:#faf9f6}
.creative-image{display:flex;flex-direction:column;justify-content:center;gap:16px;padding:30px;background:#eae5db;min-width:0}
.creative-image img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:15px}
.creative-image-caption{font-size:14px;line-height:1.5;color:#5c5448}
.creative-copy{display:flex;flex-direction:column;align-items:flex-start;gap:13px;padding:30px 32px;min-width:0}
.creative-copy h2{font-size:32px;line-height:1.2}
.creative-copy h2 span{display:block;margin-top:10px;font-size:16px;line-height:1.65;letter-spacing:0;color:#4d5849}
.creative-copy>p:not(.tile-eyebrow){font-size:16px;line-height:1.65;max-width:520px}
.creative-credits{margin-top:3px;display:flex;flex-direction:column;gap:8px;max-width:100%}
.creative-credits>p:first-child{font-size:14px;color:#62675e;font-weight:600}
.creative-credits ul{display:flex;flex-wrap:wrap;gap:4px 22px;margin:0;padding:0;list-style:none}
.creative-credits a,.creative-site-link{display:inline-flex;align-items:center;min-height:44px;font-size:16px;color:var(--accent);text-decoration:underline;text-underline-offset:5px;text-decoration-color:#afb7a9}
.creative-credits a:hover,.creative-site-link:hover{color:#233d2b;text-decoration-color:currentColor}
.creative-credit-note{font-size:14px;line-height:1.6;color:var(--muted)}
.creative-site-link{font-weight:600;margin-top:2px}
.about-creative a{color:var(--accent);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.portfolio-grid:not([data-view=all])>.creative-tile{grid-column:span 6;grid-template-columns:1fr}
.portfolio-grid:not([data-view=all])>.creative-tile .creative-image{padding:24px}
@media(max-width:800px){.portfolio-grid>.creative-tile{grid-column:1/-1;grid-template-columns:1fr 1fr}.creative-image{padding:24px}.creative-copy{padding:25px}.creative-copy h2{font-size:30px}.portfolio-grid:not([data-view=all])>.creative-tile{grid-column:span 1;grid-template-columns:1fr}}
@media(max-width:560px){.portfolio-grid>.creative-tile,.portfolio-grid:not([data-view=all])>.creative-tile{display:flex;flex-direction:column}.creative-image{padding:24px}.creative-copy{padding:26px;gap:14px}.creative-copy h2{font-size:32px}.creative-credits ul{flex-direction:column;gap:0}}
@media print{.portfolio-grid>.creative-tile{break-inside:avoid}.creative-copy,.creative-image{padding:20px}}

/* Artwork rotates inside its existing card; the gallery remains a native link. */
.artwork-tile-link{position:absolute;inset:0;display:block;border-radius:inherit;overflow:hidden}
.artwork-tile-link:focus-visible{outline:3px solid #fff;outline-offset:-7px}
.artwork-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;opacity:0;transform:translateX(3%);transition:opacity 700ms ease,transform 900ms cubic-bezier(.22,1,.36,1);pointer-events:none}
.artwork-slide.is-active{opacity:1;transform:translateX(0)}
.artwork-slide--contain{object-fit:contain;object-position:50% 40%;background:#eadbb9}
.artwork-tile-caption{z-index:1;pointer-events:none}
.artwork-controls{position:absolute;top:14px;right:14px;z-index:2;display:flex;align-items:center;gap:2px;padding:4px;border:1px solid #ffffff40;border-radius:99px;background:#142b39e8;color:#fff;box-shadow:0 2px 8px #10273120}
.artwork-count{min-width:48px;padding-inline:8px;font-size:12px;font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap}
.artwork-controls button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:transparent;color:inherit}
.artwork-controls button:hover{background:#ffffff24}
.artwork-controls button:focus-visible{outline:2px solid #fff;outline-offset:-3px;background:#ffffff24}
.artwork-controls button:disabled{cursor:default;opacity:.55}
.artwork-controls svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(hover:hover) and (pointer:fine){.artwork-tile:hover{transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.artwork-slide,.artwork-tile:hover{transform:none!important;transition:none!important}}
@media print{.artwork-controls{display:none}.artwork-tile{min-height:330px}}

/* A real 32px cursor: the graphite tip is the hotspot, with no follower or motion.
   Only the default surface inherits it. Explicit zoom/resize/grab cursors win. */
@media (hover: hover) and (pointer: fine) {
  html { cursor:url('/assets/cursors/pencil.svg') 3 27, auto; }

  /* Keep selectable reading text and clickable surfaces familiar. */
  :where(p,h1,h2,h3,h4,h5,h6,li,dt,dd,blockquote,figcaption,code,pre,th,td) {
    cursor:text;
  }
  :where(a[href],button,summary,label[for],[role="button"],[role="link"],.identity-tile),
  :where(a[href],button,summary,label[for],[role="button"],[role="link"],.identity-tile) :where(*) {
    cursor:pointer;
  }

  /* Let the browser choose I-beams, control affordances and resize/drag states.
     Zero specificity leaves any component-specific cursor declarations intact. */
  :where(input,textarea,select,option,iframe,object,embed,video,audio,
    [contenteditable]:not([contenteditable="false"]),[draggable="true"],[data-native-cursor]),
  :where([contenteditable]:not([contenteditable="false"]),[draggable="true"],[data-native-cursor]) :where(*) {
    cursor:auto;
  }
}

/* Original calligraphic AKR signature: shared, font-independent identity. */
.v3-identity img.v3-monogram{display:block;width:86.4px;height:48px;flex:none;background:transparent;border:0;border-radius:0;padding:0;object-fit:contain}
@media(max-width:600px){.v3-identity img.v3-monogram{width:72px;height:40px}}
