/* SHARED DESIGN TOKENS — change site-wide colours here. */
:root{color-scheme:light;--page:#fff;--text:#141414;--secondary:#5c5c5c;--muted:#767676;--border:#ebebeb;--accent:#1f6b4f}
:root[data-theme="dark"]{color-scheme:dark;--page:#171817;--text:#f2f2ef;--secondary:#c3c3bd;--muted:#aaa9a2;--border:#383a36;--accent:#8bc7ab}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--page);color:var(--text);font-family:Inter,Arial,sans-serif;font-size:14px;line-height:1.5;letter-spacing:-.084px}h1,h2,h3,p,dd,dl{margin:0}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}button{font:inherit;color:inherit;background:none;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}a:hover,summary:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}h2,h3{font-size:14px;line-height:20px;font-weight:500}button{border:1px solid var(--border)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:12px;left:12px;z-index:10;background:var(--page);padding:12px;transform:translateY(-150%)}.skip-link:focus{transform:none}
/* DESKTOP LAYOUT — 1440px Figma frame: 320px left, 160px right. */
.sidebar{position:fixed;inset:0 auto 0 0;width:240px;z-index:3;background:var(--page)}.identity{position:absolute;left:40px;top:40px;text-decoration:none;font-weight:500;line-height:20px}.identity span{display:block;color:var(--muted);font-weight:400;margin-top:2px}.sidebar nav{position:absolute;top:200px;left:28px;display:flex;flex-direction:column;gap:4px}.sidebar nav a{display:flex;align-items:center;gap:6px;padding:4px 0;text-decoration:none;color:var(--muted)}.sidebar nav a.active{color:var(--text)}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}.invisible{visibility:hidden}.rail-footer{position:absolute;left:40px;bottom:48px;display:flex;flex-direction:column;gap:16px}.availability{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--secondary);white-space:nowrap}.theme-toggle{border-radius:50%;width:36px;height:36px;display:grid;place-items:center}.theme-toggle img{width:16px;height:16px}html[data-theme="dark"] .theme-toggle img{filter:invert(1)}.menu-toggle,.sidebar .mobile-contact{display:none}
main{max-width:1600px;margin:auto;padding:200px 160px 40px 320px}.intro{max-width:631px;display:flex;flex-direction:column;gap:32px}h1{max-width:607px;font:400 40px/48px Newsreader,Georgia,serif;letter-spacing:-.4px}.bio p+p{margin-top:21px}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.facts dt{color:var(--muted);margin-bottom:4px}.work{padding-top:96px;scroll-margin-top:24px}.work>h2{margin-bottom:24px}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:72px 24px}.project{min-width:0}.thumbnail{width:100%;aspect-ratio:4/3;overflow:hidden;position:relative;border-radius:2px;container-type:inline-size}.conversion{background:#dce4ec}.shop-window{position:absolute;left:9.3%;top:4.84%;width:81.29%;height:90.32%;overflow:hidden;border-radius:6.794px;background:#fff;box-shadow:0 9px 22px #0000001f}.shop-page{display:block;width:100%;height:auto}.cari{background:#f6f5f2;color:#1e1d1b;display:grid;place-items:center}.cari-end{display:flex;flex-direction:column;align-items:center;gap:14.04px}.cari-icon{width:91.26px;height:91.26px;border: .877px solid #ecebe7;border-radius:22.815px;background:white;box-shadow:0 10.53px 28.08px #00000014;display:grid;place-items:center}.cari-wordmark{position:relative;width:59.67px;height:35.26px;font:600 35.26px/1 Urbanist,sans-serif;letter-spacing:-.7052px}.cari-wordmark img{position:absolute;left:49.59px;top:1.81px}.cari-end>p{font-size:11.408px;line-height:14.04px;color:#6e6c67;font-weight:500}.jenny-bird{background:#e8e6e1}.project-caption{margin-top:14px}.project-caption h3{display:inline}.project-type{color:var(--muted)}.project-type:before{content:' / ';white-space:pre}.project-caption>p{margin-top:4px;color:var(--secondary)}.thumbnail video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:inherit}.video-toggle{position:absolute;bottom:10px;right:10px;z-index:1;background:var(--page);border-radius:4px;padding:5px 9px;font-size:12px}
.section-row{margin-top:120px;border-top:1px solid var(--border);padding-top:32px;display:grid;grid-template-columns:1fr 2fr;gap:0}.section-body{min-width:0}.experience>div{display:grid;grid-template-columns:1fr 1.5fr 1.5fr;padding:12px 0;border-bottom:1px solid var(--border);gap:8px}.experience dt{color:var(--muted)}.experience dd:last-child{color:var(--secondary)}.about-more{margin-top:32px}.about-more summary{cursor:pointer;list-style:none;text-decoration:underline;text-underline-offset:3px}.about-more summary::-webkit-details-marker{display:none}.about-more summary span{display:inline-block;margin-left:6px;text-decoration:none}.about-more[open] p{margin-top:20px;color:var(--secondary)}.contact-body{display:flex;flex-direction:column;gap:32px}.contact-statement{max-width:560px;font:400 28px/36px Newsreader,Georgia,serif;letter-spacing:-.14px}.email-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.email-row a{font-size:18px;line-height:29px;letter-spacing:-.252px}.copy-button{border-radius:4px;padding:6px 12px;font-size:13px;line-height:19px;color:var(--secondary)}.contact-links{display:flex;gap:32px;color:var(--secondary)}.contact-links span[aria-hidden]{margin-left:6px}.pending-link{text-decoration:underline;text-underline-offset:3px;color:var(--muted)}footer{display:flex;justify-content:space-between;gap:20px;padding-top:120px;font-size:13px;line-height:19px;color:var(--muted)}footer a{text-decoration:none}
/* TABLET: keep the rail, allow the content to breathe. */
@media(max-width:1199px) and (min-width:761px){main{padding:160px 48px 40px 250px}.sidebar{width:210px}.rail-footer{left:28px}.availability{white-space:normal;max-width:160px}.facts{gap:20px}.section-row{grid-template-columns:1fr;gap:32px}.work-grid{gap:48px 24px}}
/* MOBILE: follow the 390px Figma frame with 20px side margins. */
@media(max-width:760px){html{scroll-padding-top:20px}.sidebar{position:relative;inset:auto;width:auto;height:56px;margin:0 20px;display:flex;align-items:center;justify-content:space-between;padding:0}.identity{position:static;font-size:11.14px;line-height:15.909px}.identity span,.rail-footer{display:none}.menu-toggle{display:block;border:0;font-size:12.73px;min-height:44px;padding:0}.sidebar nav{display:none;position:absolute;left:0;right:0;top:56px;background:var(--page);border:1px solid var(--border);padding:16px 20px;box-shadow:0 12px 20px #00000009}.sidebar nav.open{display:flex}.sidebar nav a{min-height:44px}.sidebar .mobile-contact{display:block}.sidebar nav .dot{display:none}main{padding:0 20px 40px;max-width:560px}.intro{gap:20px;padding-top:48px}h1{font-size:28px;line-height:36px;letter-spacing:-.28px;max-width:none}.facts{grid-template-columns:1fr;gap:16px}.work{padding-top:38px}.work-grid{grid-template-columns:1fr;gap:40px}.cari-end{gap:10.5px}.cari-icon{width:68.25px;height:68.25px;border-radius:17.06px}.cari-wordmark{transform:scale(.748)}.cari-end>p{font-size:8.53px;line-height:10.5px}.section-row{margin-top:48px;padding-top:32px;grid-template-columns:1fr;gap:24px}.experience>div{grid-template-columns:1fr;gap:8px;padding:12px 0}.about-more{margin-top:32px}.contact-statement{font-size:24px;line-height:30px}.contact-links{gap:24px}footer{padding-top:48px;font-size:12px;gap:12px}.email-row{gap:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Use Newsreader’s optical-size axis for crisp display headings. */
h1,.contact-statement{font-optical-sizing:auto;font-weight:400}

/* Homepage captions: category, title, then description, matching Figma. */
.project-caption .project-type{display:block;font-size:12px;line-height:16px;font-weight:500;letter-spacing:.72px;text-transform:uppercase;margin-bottom:6px}
.project-caption .project-type:before{content:none}
.project-caption h3{display:block;font-size:18px;line-height:26px;font-weight:500;letter-spacing:-.252px}

.video-poster{display:block;width:100%;height:100%;object-fit:cover}

/* Keep intrinsic media/text sizes from widening narrow browser layouts. */
main{width:100%;min-width:0}
.intro,.intro>*{min-width:0}
.work,.work-grid,.project,.thumbnail,.section-row,.section-body,.facts>*,.experience>div>*{min-width:0;max-width:100%}
.facts{grid-template-columns:repeat(3,minmax(0,1fr))}
.section-row{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.thumbnail img,.thumbnail video{max-width:100%;min-width:0}
.contact-links{flex-wrap:wrap}
.email-row a{min-width:0;max-width:100%;overflow-wrap:anywhere}
footer{flex-wrap:wrap}footer p{min-width:0}footer a{flex-shrink:0}
@media(max-width:1199px){.section-row{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){
  .facts{grid-template-columns:minmax(0,1fr)}
  .work-grid{grid-template-columns:minmax(0,1fr)}
  .experience>div{grid-template-columns:minmax(0,1fr)}
  .project-caption,.intro,.section-body{overflow-wrap:anywhere}
}

/* ABOUT PAGE — Figma's 320px label / 640px body columns at 1440px. */
.about-page .about-section{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.about-page .section-label{font:500 14px/20px Inter,Arial,sans-serif;letter-spacing:-.084px}
.about-copy{display:flex;flex-direction:column;gap:24px}
.about-lead,.entry-title{font-size:18px;line-height:29px;letter-spacing:-.252px;color:var(--text)}
.story-paragraphs,.about-body{font-size:16px;line-height:26px;letter-spacing:-.176px;color:var(--secondary)}
.story-paragraphs p+p{margin-top:26px}
.career-groups{display:flex;flex-direction:column;gap:40px;color:var(--secondary)}
.career-group{display:flex;flex-direction:column;gap:14px;min-width:0}
.career-group.education{gap:16px}
.career-label{font-size:14px;line-height:21px;font-weight:400;color:var(--muted)}
.career-entry{display:flex;flex-direction:column;gap:2px;min-width:0}
.about-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.about-photo{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:2px;min-width:0}
.about-photo img{display:block;width:100%;height:100%;object-fit:cover}
.travel-photo img{position:absolute;width:108.26%;height:115.48%;max-width:none;left:-3.76%;top:-6.05%}
.about-page-link{display:inline-block;margin-top:32px}.about-page-link span{margin-left:6px}
@media(min-width:761px) and (max-width:1199px){.about-page .about-section{grid-template-columns:minmax(0,1fr);gap:32px}}
@media(max-width:760px){
  .about-page .about-section{grid-template-columns:minmax(0,1fr);gap:12px}
  .about-lead,.entry-title{font-size:17px;line-height:27px;letter-spacing:-.221px}
  .career-groups{gap:20px}
  .about-photos{gap:8px}
  .about-page .contact-statement{line-height:32px}
  .about-page .email-row a{font-size:17px;line-height:27px}
  .desktop-break{display:none}
}

.project-card-link{display:block;text-decoration:none;color:inherit}.project-card-link:hover h3{color:var(--accent)}

/* Shared Video Control: 28px artwork, 12px visual inset, 44px tap target. */
button.figma-video-control{position:absolute;right:4px;bottom:4px;z-index:2;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;overflow:visible}
.video-control-face{position:absolute;left:8px;top:8px;width:28px;height:28px;pointer-events:none}
.video-control-art{position:absolute;inset:-14.29% -21.43% -28.57%}
.video-control-art img{display:block;width:100%;height:100%;max-width:none}
.video-control-pause{background:rgba(255,255,255,.9);border:1px solid rgba(0,0,0,.08);border-radius:14px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.08))}
.pause-bar{position:absolute;background:#141414;top:8px;left:9px;width:3px;height:10px;border-radius:1px}.pause-bar+.pause-bar{left:14px}
.figma-video-control[data-state="pause"] .video-control-play,.figma-video-control[data-state="play"] .video-control-pause{display:none}
