/* Readable spacing for the portfolio's compact display typeface. */
body{letter-spacing:0;line-height:1.5}
button,a{font-kerning:normal}
.odobe-wordmark{font-weight:500;letter-spacing:0;word-spacing:.1em;line-height:1.2;font-size:clamp(22px,2vw,34px)}
.odobe-hero-name{font-size:clamp(64px,11.4vw,194px);font-weight:500;letter-spacing:0;word-spacing:.08em;line-height:1.12}
.statement{font-size:clamp(42px,6vw,104px);line-height:1.24;letter-spacing:0;word-spacing:.035em;max-width:1300px;padding:0 16px}
.media_wrap .section_title{max-width:100%;overflow:visible}
.media_wrap .section_title>div{display:flex;flex-direction:column;align-items:center;gap:18px;overflow:visible}
.media_wrap .section_title-1,.media_wrap .section_title-2{font-size:clamp(36px,4.8vw,78px);line-height:1.2;letter-spacing:0;word-spacing:.035em;transform:none!important;max-width:100%;overflow-wrap:break-word;text-align:center;text-wrap:balance}
.odobe-explore-center{max-width:370px}
.odobe-explore-center p{font-size:clamp(24px,2.8vw,44px);line-height:1.28;letter-spacing:0;word-spacing:.035em}
.odobe-orbit-mark{margin-bottom:14px}
.odobe-languages{font-size:13px;letter-spacing:0;line-height:1.4;gap:5px}
.odobe-languages button{padding:8px}
.odobe-explore-links a,.odobe-scroll-link,.button_label,.gl_nav_text{letter-spacing:0;word-spacing:.025em;line-height:1.35}
.odobe-hero-caption p{line-height:1.55;letter-spacing:0;max-width:260px}
/* Menu rows grow around their text instead of clipping it into a fixed line. */
.menu_list{--odobe-menu-row:clamp(104px,10vw,152px)}
.menu_item_inner{min-height:var(--odobe-menu-row);padding:20px 32px 20px 12%;gap:24px}
.menu_item .u-text-menu{font-size:clamp(44px,5.4vw,86px);line-height:1.18;font-weight:500;letter-spacing:0;word-spacing:.04em;overflow-wrap:break-word}
.menu_item.odobe-menu-works>.menu_link{height:var(--odobe-menu-row)}
.odobe-menu-works .menu_item_bg{max-height:var(--odobe-menu-row)}
.odobe-menu-plus{flex-shrink:0;font-size:32px;line-height:1;margin:0}
.odobe-submenu{padding:12px 0 28px 12%;gap:14px}
.odobe-submenu a{font-size:clamp(18px,1.8vw,26px);line-height:1.5;letter-spacing:0;max-width:100%;overflow-wrap:break-word}
.copyright_wrap{line-height:1.65;letter-spacing:0;gap:12px 28px;flex-wrap:wrap}
/* Work headings, captions and descriptions share relaxed spacing. */
#odobe-content h2,#odobe-content h3,.odobe-project-dialog h2,.odobe-project-dialog h3{letter-spacing:0;word-spacing:.025em;font-weight:500;text-transform:none}
#odobe-content p,.odobe-project-dialog p{letter-spacing:0;line-height:1.65}
.odobe-works-intro{padding-top:clamp(90px,10vw,160px);padding-bottom:clamp(72px,8vw,125px)}
.odobe-works-intro h2{font-size:clamp(48px,7.1vw,114px);line-height:1.18;max-width:1100px;text-wrap:balance;overflow-wrap:break-word}
.odobe-works-intro p{padding-top:30px;max-width:65ch}
.odobe-works-spark{bottom:30px;font-size:clamp(65px,8vw,125px)}
.odobe-eyebrow{margin-bottom:28px;line-height:1.6;font-size:12px}
.odobe-section-heading{gap:20px;grid-template-columns:70px minmax(0,1fr);margin-bottom:48px;padding-top:32px}
.odobe-section-heading h2{font-size:clamp(36px,5vw,78px);line-height:1.2;display:flex;align-items:flex-start;gap:18px;flex-wrap:wrap;overflow-wrap:break-word}
.odobe-section-heading h2 sup{position:static;top:auto;padding:10px 0 0;line-height:1.4;flex-shrink:0}
.odobe-section-heading p{padding-top:18px;max-width:65ch}
.odobe-section-index{padding-top:12px;line-height:1.5}
.odobe-project-caption{align-items:flex-start;padding-top:20px;gap:20px}
.odobe-project-caption h3{font-size:clamp(18px,1.6vw,25px);line-height:1.4;overflow-wrap:break-word}
.odobe-project-number{flex-shrink:0;line-height:1.6;padding-top:4px}
.odobe-project-tags{padding-top:10px;line-height:1.7;font-size:12px;letter-spacing:.01em;gap:6px 10px}
.odobe-filters{padding-left:90px;gap:10px;margin-top:0;margin-bottom:42px}
#odobe-content .odobe-filters button{font-size:13px;line-height:1.5;letter-spacing:0;padding:10px 18px;white-space:normal;text-align:center}
.odobe-project-status{line-height:1.4;letter-spacing:.045em}
.odobe-resume-heading{align-items:flex-start;gap:40px}
.odobe-resume-heading h2{font-size:clamp(70px,10vw,160px);line-height:1.16;overflow-wrap:break-word;min-width:0}
.odobe-resume-heading p{padding-top:18px;padding-bottom:0;max-width:240px;flex-shrink:0}
.odobe-resume-intro h3{font-size:clamp(28px,2.6vw,42px);line-height:1.35;overflow-wrap:break-word}
.odobe-resume-row h3{line-height:1.4}
.odobe-resume-label,.odobe-resume-topline{line-height:1.6}
.odobe-dialog-header{padding:26px 30px;gap:24px}
.odobe-dialog-header h2{line-height:1.35;padding-top:10px;font-size:clamp(22px,2.5vw,34px);overflow-wrap:break-word}
.odobe-dialog-header>div>span{display:block;line-height:1.6}
.odobe-empty-copy h3{font-size:clamp(30px,3.5vw,48px);line-height:1.3;padding:22px 0;overflow-wrap:break-word}
.odobe-empty-copy>span{display:block;line-height:1.7}
@media(max-width:991px){
 .odobe-hero-name{font-size:11.4vw;top:130px}
 .odobe-wordmark{font-size:24px}
 .header_wrap .nav_wrap{gap:12px}
 .odobe-languages{font-size:12px;gap:3px}.odobe-languages button{padding:8px 6px}
 .media_wrap .section_title>div{gap:14px}
 .menu_item_inner{padding-left:10%;padding-right:24px}
 .odobe-submenu{padding-left:10%}
 .odobe-resume-heading{gap:24px}
 .odobe-resume-heading p{max-width:180px}
}
@media(max-width:600px){
 .odobe-wordmark{font-size:21px;line-height:1.3}
 .odobe-hero-name{font-size:11.1vw;inset:140px 16px auto;line-height:1.2}
 .header_wrap .nav_wrap{gap:10px}
 .odobe-languages{font-size:11px;gap:1px}.odobe-languages button{padding:8px 5px}
 .odobe-hero-caption{gap:16px;top:calc(100svh - 96px);bottom:auto}
 .odobe-hero-caption p{font-size:11px;max-width:150px;line-height:1.5}
 .odobe-scroll-link{font-size:11px;gap:10px;line-height:1.45;max-width:150px}
 .odobe-statement .statement{font-size:clamp(29px,8.3vw,48px);line-height:1.35;letter-spacing:0;padding:0}
 .media_wrap .section_title-1,.media_wrap .section_title-2{font-size:clamp(30px,8.5vw,48px);line-height:1.25;max-width:88vw}
 .media_wrap .section_title>div{gap:14px}
 .odobe-explore-center{max-width:170px}.odobe-explore-center p{font-size:22px;line-height:1.35}.odobe-orbit-mark{font-size:46px;margin-bottom:12px}
 .odobe-explore-links{margin-top:32px;gap:10px}.odobe-explore-links a{font-size:12px;line-height:1.5;padding:11px 14px}
 .menu_list{--odobe-menu-row:100px}.menu_item_inner{padding:20px 22px 20px 16%;gap:18px}
 .menu_item .u-text-menu,.footer_wrap .menu_item .u-text-menu{font-size:clamp(38px,10.5vw,58px);line-height:1.2;letter-spacing:0}
 .odobe-menu-plus{font-size:28px}.odobe-submenu{padding:16px 16px 28px 16%;gap:16px}.odobe-submenu a{font-size:18px;line-height:1.5}
 .menu_wrap .row.u-min-h-inherit{padding-top:110px;min-height:74svh}.menu_wrap .footer_footer{margin-top:32px}
 .copyright_wrap{font-size:11px;line-height:1.7;gap:10px 18px}
 .odobe-works-intro{padding:88px 0 90px}.odobe-works-intro h2{font-size:clamp(35px,9.5vw,56px);line-height:1.25;max-width:100%}
 .odobe-works-intro p{padding-top:22px;max-width:85%;font-size:14px}.odobe-works-spark{font-size:60px;bottom:12px}
 .odobe-section-heading{grid-template-columns:28px minmax(0,1fr);gap:14px;padding-top:28px;margin-bottom:32px}
 .odobe-section-heading h2{font-size:clamp(29px,7.8vw,43px);line-height:1.3;gap:10px}.odobe-section-heading h2 sup{padding-top:6px;font-size:10px}
 .odobe-section-heading p{font-size:13px;padding-top:14px}.odobe-section-index{padding-top:8px;font-size:10px}
 .odobe-project-caption{padding-top:16px;gap:16px}.odobe-project-caption h3{font-size:19px;line-height:1.45}.odobe-project-grid{row-gap:42px}
 .odobe-project-tags{font-size:11px;line-height:1.7;padding-top:8px}
 .odobe-filters{padding-left:0;gap:9px;margin-bottom:34px}#odobe-content .odobe-filters button{font-size:12px;line-height:1.5;padding:10px 14px}
 .odobe-resume-heading{display:block;padding-top:32px}.odobe-resume-heading h2{font-size:clamp(58px,17vw,90px);line-height:1.2}.odobe-resume-heading p{padding-top:20px;max-width:100%}
 .odobe-resume-intro h3{font-size:29px;line-height:1.4}.odobe-resume-layout{padding-top:40px;gap:40px}
 .odobe-dialog-header{padding:20px 16px;gap:18px}.odobe-dialog-header h2{font-size:22px;line-height:1.35;padding-top:10px}
 .odobe-empty-copy h3{font-size:32px;line-height:1.3;padding:20px 0}
}
@media(max-width:360px){.odobe-wordmark{font-size:19px}.odobe-languages{font-size:10px}.odobe-languages button{padding:7px 4px}.header_wrap .nav_wrap{gap:7px}.odobe-hero-name{top:142px}.menu_item_inner{padding-left:15%}}
html[lang^=zh] .statement,html[lang^=zh] #odobe-content h2,html[lang^=zh] #odobe-content h3,html[lang^=zh] .menu_item .u-text-menu{letter-spacing:.025em}
/* Reserve a separate column for the menu's generated 01/02/03 counters. */
.menu_item::after{left:28px!important;top:calc(var(--odobe-menu-row)/2);font-size:12px;line-height:1;transform:translateY(-50%)!important;pointer-events:none}
.menu_item .u-text-menu{min-width:0}
@media(max-width:600px){.menu_item_inner{padding-left:64px}.menu_item::after{left:24px!important;font-size:11px}.odobe-submenu{padding-left:64px}}
