/* Keep the header controls above the portrait instead of painting a full-width bar over it. */
.header_wrap.is-home{top:0!important;transform:none!important;margin-top:clamp(16px,1.8vw,28px)!important}
.header_wrap.is-home::after{display:none!important}
.header_wrap.is-home .nav_wrap{background:#281a11e8;border-radius:99px;padding:5px 8px;gap:12px}
.odobe-hero-name{top:100px;font-size:clamp(72px,14.1vw,250px);line-height:1.12;letter-spacing:0;word-spacing:.045em}
/* The tilt and paper fold use a larger square support so no rectangular corner cuts the photograph. */
.footer_wrap{position:relative;overflow:hidden;min-height:680px;padding-top:110px}
.footer_head_wrap{position:absolute!important;inset:auto auto -70px -7vw!important;width:min(55vw,800px)!important;height:auto!important;aspect-ratio:1;margin:0!important;padding:0!important;overflow:visible!important}
.footer_head_wrap::before{display:none}
.footer_head{position:relative;width:100%;height:auto;aspect-ratio:1;margin:0;overflow:visible!important;transform:rotate(22deg)!important;--peel-stop:20%}
.footer_head .peel_container{width:160%;height:160%}
.footer_head .unpeeled,.footer_head .peeled{overflow:visible}
.footer_head .peel_content{aspect-ratio:1;width:62.5%;height:auto}
.footer_head .personal-sticker-face{aspect-ratio:1;object-fit:contain}
.footer_head .peeled .personal-sticker-face{filter:brightness(0)invert(1)}
.footer_head:hover{--progress:1}
.footer_wrap .container{position:relative;z-index:1}
.footer_wrap .menu_list{position:relative;z-index:2}
.menu_head{overflow:visible!important;aspect-ratio:1}
.menu_head .peel_container{width:160%;height:160%}
.menu_head .peel_content{aspect-ratio:1;width:62.5%}
@media(max-width:991px){
 .odobe-hero-name{top:110px;font-size:13.8vw}
 .footer_wrap{min-height:600px}
 .footer_head_wrap{width:58vw!important;left:-12vw!important;bottom:-25px!important}
 .header_wrap.is-home .nav_wrap{gap:8px;padding:4px 6px}
}
@media(max-width:600px){
 .odobe-hero-name{top:120px;font-size:13.4vw;inset-inline:16px;line-height:1.18}
 .header_wrap.is-home{margin-top:18px!important}
 .header_wrap.is-home .nav_wrap{gap:7px;padding:3px 5px}
 .header_wrap.is-home .odobe-wordmark{font-size:20px}
 .footer_wrap{padding-top:0;min-height:0}
 .footer_head_wrap{position:relative!important;inset:auto!important;width:min(84vw,420px)!important;aspect-ratio:1;margin:0 auto 35px!important;transform:none!important}
 .footer_head{width:100%;max-width:none;transform:rotate(14deg)!important;--peel-stop:14%}
 .footer_wrap .menu_list{margin-top:20px}
}
@media(max-width:360px){.header_wrap.is-home .odobe-wordmark{font-size:18px}.header_wrap.is-home .nav_wrap{gap:5px;padding:2px 3px}}
.odobe-footer-bubble{position:absolute;right:7%;top:-3%;z-index:5;max-width:260px;background:#fef9ba;color:#281a11;padding:22px 30px;border-radius:36% 28% 32% 22% / 35% 34% 40% 35%;transform:rotate(-7deg);font-size:clamp(14px,1.35vw,21px);line-height:1.5;text-align:center;letter-spacing:0;pointer-events:none}
.odobe-footer-bubble::after{content:'';position:absolute;bottom:-14px;left:19px;width:24px;height:25px;background:#fef9ba;clip-path:polygon(0 0,100% 0,0 100%)}
.footer_head{--progress:0;transition:--progress .6s ease,transform .6s ease}
.footer_head:hover{--progress:1;transform:rotate(18deg)!important}
@media(max-width:600px){.odobe-footer-bubble{font-size:14px;padding:16px 22px;right:2%;top:1%;max-width:210px}.footer_head_wrap{margin-top:40px!important}.footer_head:hover{transform:rotate(10deg)!important}}
@media(min-width:601px) and (max-width:991px){
 .footer_wrap{min-height:0;padding-top:30px}
 .footer_head_wrap{position:relative!important;inset:auto!important;width:min(65vw,520px)!important;margin:40px auto 55px!important;transform:none!important}
 .footer_wrap>.container>.row{display:block}
 .footer_wrap .col-span-lg-5{display:none}
 .footer_wrap .col-span-lg-7{width:100%}
 .footer_wrap>.spacer{display:none}
 .footer_wrap .menu_list{margin-top:35px}
}
@media(min-width:992px){
 .odobe-hero-name{top:42px;font-size:clamp(80px,14.8vw,260px)}
 .header_wrap.is-home{margin-top:14px!important}
 .header_wrap.is-home .burger_wrap{width:48px;height:48px}
 .header_wrap.is-home .nav_wrap>.button{--button-height:48px;--button-font-size:16px}
}
/* Let the sticker receive hover through the empty left grid column. */
.footer_wrap .container{pointer-events:none}
.footer_wrap .menu_list,.footer_wrap .copyright_wrap{pointer-events:auto}

/* Broad bold letterforms keep the name large without stretching the glyphs. */
.odobe-hero-name{inset:24px 2.5vw auto;font-family:"Die Grotesk B",Arial,sans-serif;font-weight:700;font-size:15.3vw;line-height:1;letter-spacing:-.035em;word-spacing:.01em;transform:none}
@media(max-width:991px){.odobe-hero-name{top:100px;font-size:15.3vw;inset-inline:2.5vw}}
@media(max-width:600px){.odobe-hero-name{top:105px;font-size:15.3vw;line-height:1;inset-inline:2.5vw}}

.footer_head{cursor:pointer}
.footer_head .peel_content{position:relative}
.footer_head .is-normal{position:relative;opacity:1}
.footer_head .is-surprised{position:absolute;inset:0;width:100%;height:100%;opacity:0}
.footer_head:is(:hover,:focus-visible,.is-surprised) .is-normal{opacity:0}
.footer_head:is(:hover,:focus-visible,.is-surprised) .is-surprised{opacity:1}
.footer_head:focus-visible{outline:3px solid #fef9ba;outline-offset:8px}
.footer_head .personal-sticker-face{filter:drop-shadow(5px 0 0 #fef9ba) drop-shadow(-5px 0 0 #fef9ba) drop-shadow(0 5px 0 #fef9ba) drop-shadow(0 -5px 0 #fef9ba)}

/* Mobile category labels become available together with the revealed objects. */
#home:not([data-portrait-state="open"]) .gl_nav_wrap,#home:not([data-portrait-state="open"]) [data-hero-carousel-prev],#home:not([data-portrait-state="open"]) [data-hero-carousel-next]{visibility:hidden;pointer-events:none}

/* Shortened name fills the hero width. */
.odobe-hero-name{inset-inline:2vw;font-size:22vw;letter-spacing:-.035em;line-height:1}
.odobe-statement .statement{font-size:clamp(34px,7vw,124px);line-height:1.08}
@media(max-width:600px){.odobe-hero-name{font-size:22vw;inset-inline:2vw}.odobe-statement .statement{font-size:8.5vw}}

/* Reference composition: edge-to-edge name above the lowered portrait. */
.odobe-hero-name{top:1.5vw;inset-inline:0;font-size:24.3vw;letter-spacing:-.035em}
@media(max-width:991px){.odobe-hero-name{top:100px}}
@media(max-width:600px){.odobe-hero-name{top:105px;font-size:24.3vw;inset-inline:0}}

@media(min-width:992px){.odobe-hero-name{top:-1vw}}

/* Sampled warm paper palette. Texture overlays only page surfaces, never work images. */
html,body{background-color:#281a11;color:#fef9ba}
body,#odobe-content,.odobe-project-dialog,.menu_wrap,.footer_wrap{background-color:#281a11;background-image:url('/personal-assets/crumpled-paper.png');background-repeat:repeat;background-size:1100px 1100px;background-blend-mode:soft-light}
#home::after,.odobe-statement::after,.media_wrap::after{content:none}
#home,.odobe-statement,.media_wrap{position:relative}
.header_wrap.is-home .nav_wrap{background:#281a11e8}
#odobe-content .odobe-project h3,#odobe-content .odobe-project p,#odobe-content .odobe-project-editorial-copy h3,#odobe-content .odobe-project-editorial-copy p,.odobe-project-dialog .odobe-dialog-header h2,.odobe-project-dialog .odobe-project-description{color:#fff}

/* Larger explore icons with a separate navigation row below the orbit. */
.media_wrap .screen_wrap{width:min(1100px,90vw);height:760px;max-height:none}
.media_wrap .odobe-explore-links{margin-top:155px}
@media(max-width:991px){.media_wrap .screen_wrap{width:94vw;height:640px}.media_wrap .odobe-explore-links{margin-top:130px}}
@media(max-width:600px){.media_wrap .screen_wrap{height:500px}.media_wrap .odobe-explore-links{margin-top:110px}}

/* A compact icon cluster has its own band above the copy. */
.media_wrap .screen_wrap{position:relative;height:800px}
.media_wrap .odobe-explore-center{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:min(620px,90%);max-width:none}
.media_wrap .odobe-explore-center p{font-size:clamp(24px,2.7vw,42px);line-height:1.25}
.media_wrap .screen_wrap>.odobe-orbit-mark{position:absolute;font-size:42px;line-height:1;pointer-events:none}
.odobe-star-1{left:14%;top:22%}.odobe-star-2{right:14%;top:35%;animation-direction:reverse}.odobe-star-3{left:20%;top:65%;font-size:30px!important}.odobe-star-4{right:22%;top:66%;font-size:32px!important;animation-direction:reverse}
.media_wrap .odobe-explore-links{margin-top:85px}
@media(max-width:991px){.media_wrap .screen_wrap{height:740px}}
@media(max-width:600px){.media_wrap .screen_wrap{height:620px}.media_wrap .odobe-explore-center p{font-size:23px}.media_wrap .screen_wrap>.odobe-orbit-mark{font-size:28px}.media_wrap .odobe-explore-links{margin-top:65px}}

/* Mixed orbit accents, kept outside the text band. */
.media_wrap .screen_wrap>.odobe-orbit-mark{font-size:58px;animation-duration:28s}
.media_wrap .odobe-star-3,.media_wrap .odobe-star-4{font-size:48px!important}
.odobe-star-1{left:16%;top:23%}.odobe-star-2{right:15%;top:34%}.odobe-star-3{left:19%;top:62%}.odobe-star-4{right:19%;top:64%}
.odobe-star-5{left:35%;top:15%;font-size:38px!important;animation-direction:reverse}
.odobe-star-6{right:31%;top:73%;font-size:36px!important}
.odobe-star-7{right:32%;top:17%;font-size:42px!important;animation-direction:reverse}
@media(max-width:600px){.media_wrap .screen_wrap>.odobe-orbit-mark{font-size:40px}.media_wrap .odobe-star-3,.media_wrap .odobe-star-4{font-size:34px!important}.odobe-star-5,.odobe-star-6,.odobe-star-7{font-size:28px!important}}

/* Explore illustration uses bounded DOM layers so it cannot cross text bands. */
.media_wrap .screen_wrap{isolation:isolate;width:min(1000px,94vw);height:790px;max-height:none;overflow:visible}
.odobe-dom-orbit{position:absolute;top:30px;left:50%;transform:translateX(-50%);width:min(700px,80%);height:590px;z-index:2;pointer-events:none}
.orbit-icon{position:absolute;display:block;object-fit:contain;pointer-events:none}
a.orbit-icon{pointer-events:auto;transition:filter .2s,scale .2s}a.orbit-icon:hover{scale:1.04;filter:drop-shadow(0 8px 12px #0003)}
a.orbit-icon img{display:block;width:100%;height:100%;object-fit:contain}
.orbit-icon-video{width:43%;height:45%;left:9%;top:7%;transform:rotate(-8deg);z-index:4}
.orbit-icon-motion{width:39%;height:43%;right:7%;top:10%;transform:rotate(8deg);z-index:5}
.orbit-icon-graphic{width:40%;height:46%;left:13%;top:40%;transform:rotate(-8deg);z-index:3}
.orbit-icon-resume{width:35%;height:43%;right:13%;top:43%;transform:rotate(8deg);z-index:2}
.orbit-icon-ae{width:12%;height:15%;left:1%;top:48%;transform:rotate(-12deg);z-index:6}
.orbit-icon-ai{width:12%;height:15%;left:44%;top:1%;transform:rotate(10deg);z-index:6}
.orbit-icon-pr{width:12%;height:15%;left:44%;top:80%;transform:rotate(-10deg);z-index:6}
.orbit-icon-ps{width:12%;height:15%;right:0;top:48%;transform:rotate(10deg);z-index:6}
.media_wrap .odobe-explore-center{position:absolute;bottom:0;left:50%;width:90%;max-width:680px;transform:translateX(-50%);z-index:4}
.media_wrap .screen_wrap>.odobe-orbit-mark{z-index:3;pointer-events:none}
.odobe-star-1{left:7%;top:15%}.odobe-star-2{right:6%;top:34%}.odobe-star-3{left:7%;top:64%}.odobe-star-4{right:7%;top:66%}.odobe-star-5{left:29%;top:1%}.odobe-star-6{right:27%;top:78%}.odobe-star-7{right:27%;top:4%}
.media_wrap .odobe-explore-links{margin-top:65px}
@media(max-width:991px){.media_wrap .screen_wrap{height:740px}.odobe-dom-orbit{height:550px}}
@media(max-width:600px){.media_wrap .screen_wrap{height:570px}.odobe-dom-orbit{top:45px;width:86%;height:365px}.media_wrap .odobe-explore-center{width:92%}.media_wrap .odobe-explore-center p{font-size:22px}.odobe-star-1{top:10%;left:3%}.odobe-star-2{top:27%;right:2%}.odobe-star-3{top:57%;left:2%}.odobe-star-4{top:58%;right:2%}.odobe-star-5{top:2%;left:24%}.odobe-star-6{top:73%;right:24%}.odobe-star-7{top:4%;right:24%}}

/* Independent, low-amplitude drifting keeps every icon inside its allotted band. */
.odobe-dom-orbit .orbit-icon{animation:odobe-icon-drift 5.8s ease-in-out infinite;will-change:translate}
.odobe-dom-orbit .orbit-icon:nth-child(2n){animation-duration:6.8s;animation-delay:-2.1s}
.odobe-dom-orbit .orbit-icon:nth-child(3n){animation-duration:7.5s;animation-delay:-4.2s}
.odobe-dom-orbit .orbit-icon:nth-child(5n){animation-delay:-1.4s}
@keyframes odobe-icon-drift{0%,100%{translate:0 4px}50%{translate:0 -5px}}
.orbit-icon-label{position:absolute;left:50%;bottom:4%;transform:translate(-50%,6px);padding:10px 19px;border-radius:999px;background:#fef9ba;color:#281a11;font-family:var(--font-family-body,inherit);font-size:clamp(12px,1.1vw,16px);line-height:1.2;white-space:nowrap;box-shadow:0 3px 12px #0002;opacity:0;visibility:hidden;transition:opacity .18s,transform .18s,visibility .18s;pointer-events:none;z-index:10}
a.orbit-icon:hover,a.orbit-icon:focus-visible{z-index:12}
a.orbit-icon:hover .orbit-icon-label,a.orbit-icon:focus-visible .orbit-icon-label{opacity:1;visibility:visible;transform:translate(-50%,0)}
a.orbit-icon:focus-visible{outline:2px solid #fef9ba;outline-offset:5px;border-radius:12px}
@media(prefers-reduced-motion:reduce){.odobe-dom-orbit .orbit-icon{animation:none}}

/* Reference arrangement: cat upper-left, swatches upper-right, slate below center. */
.orbit-icon-motion{width:34%;height:37%;left:12%;right:auto;top:8%;transform:rotate(8deg);z-index:5}
.orbit-icon-graphic{width:36%;height:42%;left:auto;right:10%;top:5%;transform:rotate(-7deg);z-index:4}
.orbit-icon-video{width:48%;height:52%;left:26%;top:29%;transform:rotate(-13deg);z-index:7}
.orbit-icon-resume{width:31%;height:37%;right:7%;top:49%;transform:rotate(2deg);z-index:3}
.orbit-icon-ae{width:17%;height:20%;left:0;top:49%;transform:rotate(-13deg);z-index:6}
.orbit-icon-ai{left:49%;top:0;transform:rotate(10deg)}
.orbit-icon-ps{right:-10%;top:35%;transform:rotate(10deg)}
.orbit-icon-pr{left:auto;right:-15%;top:66%;transform:rotate(16deg)}
.odobe-dom-orbit .orbit-icon{animation-duration:3.4s}
.odobe-dom-orbit .orbit-icon:nth-child(2n){animation-duration:4.1s;animation-delay:-1.4s}
.odobe-dom-orbit .orbit-icon:nth-child(3n){animation-duration:4.6s;animation-delay:-2.8s}
@keyframes odobe-icon-drift{0%,100%{translate:-3px 10px}50%{translate:3px -13px}}
@media(max-width:600px){@keyframes odobe-icon-drift{0%,100%{translate:-2px 8px}50%{translate:2px -10px}}}

/* Keep orbit accents and right-hand badges clear at every width. */
.odobe-star-2{top:24%}
@media(max-width:600px){.orbit-icon-ps{right:-3%}.orbit-icon-pr{right:-6%}.odobe-star-2{top:23%}}

/* Larger right-shifted slate and independently phased neighboring icons. */
.orbit-icon-video{width:53%;height:57%;left:29%}
.odobe-dom-orbit .orbit-icon.orbit-icon-video{animation:orbit-drift-a 3.5s ease-in-out -1.2s infinite}
.odobe-dom-orbit .orbit-icon.orbit-icon-motion{animation:orbit-drift-b 4.2s ease-in-out -.3s infinite}
.odobe-dom-orbit .orbit-icon.orbit-icon-graphic{animation:orbit-drift-c 4.9s ease-in-out -2.7s infinite}
.odobe-dom-orbit .orbit-icon.orbit-icon-resume{animation:orbit-drift-b 3.8s ease-in-out -2.1s infinite}
.odobe-dom-orbit .orbit-icon.orbit-icon-ae{animation:orbit-drift-c 3.7s ease-in-out -.6s infinite}
.odobe-dom-orbit .orbit-icon.orbit-icon-ai{animation:orbit-drift-b 4.6s ease-in-out -1.8s infinite}
.odobe-dom-orbit .orbit-icon.orbit-icon-pr{animation:orbit-drift-a 4.3s ease-in-out -3.1s infinite}
.odobe-dom-orbit .orbit-icon.orbit-icon-ps{animation:orbit-drift-c 5.1s ease-in-out -1.3s infinite}
@keyframes orbit-drift-a{0%,100%{translate:-3px 12px}50%{translate:4px -15px}}
@keyframes orbit-drift-b{0%,100%{translate:3px -12px}50%{translate:-4px 9px}}
@keyframes orbit-drift-c{0%,100%{translate:-5px 3px}35%{translate:1px -10px}72%{translate:5px 14px}}
@media(prefers-reduced-motion:reduce){.odobe-dom-orbit .orbit-icon{animation:none}}

/* Keep the larger video slate left of the resume, including its drift range. */
.orbit-icon-video{left:13%;transform:rotate(-7deg)}
.orbit-icon-resume{right:-2%}
@media(max-width:600px){.orbit-icon-video{left:8%;width:50%;height:54%}.orbit-icon-resume{right:-4%}}

/* The revealed lower sheet is a slightly deeper brown, with matching paper folds. */
#odobe-content{--oc-navy:#21160f;background-color:#21160f}

/* Footer uses the same paper surface and a quiet, single-state hover treatment. */
.footer_wrap{background-color:#21160f!important;background-image:url('/personal-assets/crumpled-paper.png')!important;background-size:1100px 1100px!important;background-repeat:repeat!important;background-blend-mode:soft-light!important}
html.desktop .footer_wrap .menu_item,html.desktop .footer_wrap .menu_item:hover{color:#fef9ba!important;text-shadow:none!important}
.footer_wrap .menu_item_bg{display:none!important}
html.desktop .footer_wrap .menu_item .menu_item_inner,html.desktop .footer_wrap .menu_item:hover .menu_item_inner{transform:none!important;text-shadow:none!important;transition:none!important}
.footer_wrap .menu_item::after,html.desktop .footer_wrap .menu_item:hover::after{color:#fef9ba!important;font-size:clamp(18px,1.5vw,26px)!important;font-weight:500;left:0!important;transform:translateY(-50%)!important;transition:none!important;opacity:1!important}
.footer_wrap .menu_item_inner::before,.footer_wrap .menu_item_inner::after{width:100%!important;opacity:.2!important;transform:translateX(-50%) scaleX(1)!important;transition:none!important}
.footer_wrap .menu_link,.footer_wrap a,.footer_wrap button,.footer_wrap .footer_head{cursor:pointer!important}
.footer_wrap .menu_item .u-text-menu{color:#fef9ba!important;text-shadow:none!important}
.footer_wrap .copyright_wrap,.footer_wrap .copyright_wrap a{color:#fef9ba!important}
.footer_wrap .footer_head:hover{transform:rotate(22deg)!important;--progress:0}
.footer_wrap .footer_head .peeled{display:none!important}
.footer_wrap .footer_head .unpeeled{transform:none!important}
.footer_wrap .footer_head .is-normal{opacity:1!important}
.footer_wrap .footer_head .is-surprised{display:none!important}
@media(max-width:600px){.footer_wrap .footer_head:hover{transform:rotate(14deg)!important}.footer_wrap .menu_item::after{font-size:18px!important}}

/* Expanding footer links must not reposition the portrait or reset the hero canvas. */
@media(min-width:992px){.footer_wrap .footer_head_wrap{top:110px!important;bottom:auto!important}}

/* Coral orange emphasizes Taste against the warm paper and pale yellow type. */
.odobe-statement .odobe-taste-accent{color:#ff885e}

/* Enlarge the explore video icon by 50% around its existing center. */
.odobe-dom-orbit .orbit-icon-video{width:79.5%;height:85.5%;left:-.25%;top:14.75%;transform:rotate(-7deg)}
@media(max-width:600px){.odobe-dom-orbit .orbit-icon-video{width:75%;height:81%;left:-4.5%;top:15.5%}}

/* Fine adjustment: move Ae left and trim the slate by five percent. */
.odobe-dom-orbit .orbit-icon-ae{left:-4%}
.odobe-dom-orbit .orbit-icon-video{width:75.525%;height:81.225%;left:1.7375%;top:16.8875%}
@media(max-width:600px){.odobe-dom-orbit .orbit-icon-ae{left:-3%}.odobe-dom-orbit .orbit-icon-video{width:71.25%;height:76.95%;left:-2.625%;top:17.525%}}

/* Keep the explore introduction on one line at every viewport width. */
.media_wrap .odobe-explore-center{width:96%;max-width:none}
.media_wrap .odobe-explore-center p{white-space:nowrap;font-size:clamp(11px,2.45vw,38px);line-height:1.25;letter-spacing:-.025em}
@media(max-width:600px){.media_wrap .odobe-explore-center{width:98%}.media_wrap .odobe-explore-center p{font-size:2.65vw;letter-spacing:-.025em}}

/* Natural letter spacing; preserve one line using responsive sizing only. */
.media_wrap .odobe-explore-center p{letter-spacing:normal;word-spacing:normal;font-kerning:normal;font-size:clamp(11px,2.35vw,36px)}
@media(max-width:600px){.media_wrap .odobe-explore-center p{letter-spacing:normal;word-spacing:normal;font-size:2.5vw}}

/* Slightly larger introduction, with natural spacing and enough horizontal room. */
.media_wrap .odobe-explore-center{width:100%;max-width:none}
.media_wrap .odobe-explore-center p{font-size:clamp(12px,2.6vw,40px);letter-spacing:normal;word-spacing:normal;white-space:nowrap}
@media(max-width:600px){.media_wrap .odobe-explore-center p{font-size:2.65vw}}

/* Clearly larger introduction with a viewport-wide line box. */
.media_wrap .odobe-explore-center{width:94vw;max-width:none}
.media_wrap .odobe-explore-center p{font-size:clamp(13px,3.2vw,52px);font-weight:500;letter-spacing:normal;word-spacing:normal;white-space:nowrap}
@media(max-width:600px){.media_wrap .odobe-explore-center{width:96vw}.media_wrap .odobe-explore-center p{font-size:2.95vw}}

/* Fine-tune the introduction down slightly from the larger version. */
.media_wrap .odobe-explore-center p{font-size:clamp(13px,2.9vw,47px)}
@media(max-width:600px){.media_wrap .odobe-explore-center p{font-size:2.8vw}}

/* Match the primary menu to the footer navigation. */
.menu_wrap{background-color:#21160f!important;background-image:url('/personal-assets/crumpled-paper.png')!important;background-size:1100px 1100px!important;background-repeat:repeat!important;background-blend-mode:soft-light!important}
html.desktop .menu_wrap .menu_item,html.desktop .menu_wrap .menu_item:hover{color:#fef9ba!important;text-shadow:none!important}
.menu_wrap .menu_item_bg{display:none!important}
html.desktop .menu_wrap .menu_item .menu_item_inner,html.desktop .menu_wrap .menu_item:hover .menu_item_inner{transform:none!important;text-shadow:none!important;transition:none!important}
.menu_wrap .menu_item::after,html.desktop .menu_wrap .menu_item:hover::after{color:#fef9ba!important;font-size:clamp(18px,1.5vw,26px)!important;font-weight:500;left:0!important;transform:translateY(-50%)!important;transition:none!important;opacity:1!important}
.menu_wrap .menu_item_inner::before,.menu_wrap .menu_item_inner::after{width:100%!important;opacity:.2!important;transform:translateX(-50%) scaleX(1)!important;transition:none!important}
.menu_wrap .menu_link,.menu_wrap a,.menu_wrap button,.menu_wrap .footer_head{cursor:pointer!important}
.menu_wrap .menu_item .u-text-menu{color:#fef9ba!important;text-shadow:none!important}

html body .menu_wrap{background-color:#21160f!important;background-image:url('/personal-assets/crumpled-paper.png')!important;background-size:1100px 1100px!important;background-repeat:repeat!important;background-blend-mode:soft-light!important}

/* AI tools surround the creative orbit, clear of headings and project shortcuts. */
.odobe-dom-orbit .orbit-ai{position:absolute;z-index:8;width:62px;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;animation:orbit-drift-b 4.5s ease-in-out infinite}
.orbit-ai img{width:54px;height:54px;object-fit:contain;border-radius:13px;background:#fff;padding:6px;box-sizing:border-box;box-shadow:0 6px 15px #0004}
.orbit-ai span{font:500 11px/1.2 Arial,sans-serif;color:#fef9ba;white-space:nowrap}
.orbit-ai-firefly{left:-20%;top:10%;animation-delay:-1s!important}
.orbit-ai-jitter{left:-24%;top:38%;animation-duration:5.2s!important;animation-delay:-2.7s!important}
.orbit-ai-jimeng{left:-17%;top:72%;animation-delay:-3.1s!important}
.orbit-ai-midjourney{right:-25%;top:7%;animation-duration:3.9s!important;animation-delay:-.4s!important}
.orbit-ai-lovart{right:-29%;top:48%;animation-duration:4.8s!important;animation-delay:-2s!important}
@media(max-width:1100px){.odobe-dom-orbit .orbit-ai{width:46px}.orbit-ai img{width:40px;height:40px;padding:4px}.orbit-ai span{font-size:9px}.orbit-ai-firefly{left:-11%;top:4%}.orbit-ai-jitter{left:-14%;top:31%}.orbit-ai-jimeng{left:-10%;top:75%}.orbit-ai-midjourney{right:-12%;top:4%}.orbit-ai-lovart{right:-14%;top:89%}}
@media(max-width:600px){.odobe-dom-orbit .orbit-ai{width:36px}.orbit-ai img{width:32px;height:32px;border-radius:8px}.orbit-ai span{font-size:8px}.orbit-ai-firefly{left:-6%;top:2%}.orbit-ai-jitter{left:-7%;top:28%}.orbit-ai-jimeng{left:-5%;top:82%}.orbit-ai-midjourney{right:-5%;top:0}.orbit-ai-lovart{right:-4%;top:91%}}
@media(prefers-reduced-motion:reduce){.odobe-dom-orbit .orbit-ai{animation:none}}

/* A small contact seal opens a paper correspondence card in the hero. */
.odobe-contact{position:relative;pointer-events:auto;color:#281a11;text-align:left;z-index:20}
.odobe-contact summary{list-style:none;display:flex;align-items:center;gap:12px;padding:15px 22px;border:1px solid #fef9ba;background:#fef9ba;border-radius:4px 20px 4px 20px;box-shadow:3px 5px 0 #110b0755;cursor:pointer;font-size:16px;font-weight:600;letter-spacing:.02em;transition:transform .2s,box-shadow .2s}
.odobe-contact summary::-webkit-details-marker{display:none}.odobe-contact summary:hover{transform:translateY(-3px);box-shadow:3px 8px 0 #110b0755}.contact-dot{width:7px;height:7px;border-radius:50%;background:#94643d}.contact-arrow{margin-left:18px;font-size:22px}.odobe-contact[open] .contact-arrow{transform:rotate(90deg)}
.contact-card{position:absolute;bottom:calc(100% + 18px);left:0;width:345px;box-sizing:border-box;padding:24px;color:#281a11;background:#fef9ba url('/personal-assets/crumpled-paper.png') repeat;background-size:750px;background-blend-mode:soft-light;border:1px solid #fff6;border-radius:3px 18px 3px 3px;box-shadow:0 16px 45px #10090066}
.contact-card-top{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:19px;font-weight:600;padding-bottom:18px}.contact-card-top>span:last-child{font-size:30px;font-weight:400}
.contact-card a,.contact-linkedin{position:relative;display:flex;flex-direction:column;gap:7px;padding:15px 20px 15px 0;border-top:1px solid #281a1130;color:#281a11;text-decoration:none;font-size:11px;line-height:1.5;letter-spacing:.02em}.contact-card a strong{font-size:15px;font-weight:500;letter-spacing:0}.contact-card a i{position:absolute;right:0;top:25px;font-size:20px;font-style:normal}.contact-card a:hover strong{text-decoration:underline;text-underline-offset:4px}.contact-placeholder{display:block;min-height:23px;border-bottom:1px dashed #281a1160;font-size:12px;opacity:.65}.odobe-contact summary:focus-visible,.contact-card a:focus-visible{outline:2px solid #ff885e;outline-offset:5px}
@media(max-width:600px){.odobe-contact summary{padding:12px 16px;font-size:14px}.contact-card{width:min(325px,86vw);padding:20px}.contact-card a strong{font-size:14px}.contact-card-top{font-size:17px}}

/* Folded correspondence folder, inspired by a pinned editorial paper card. */
.odobe-contact{margin-bottom:8px}
.odobe-contact summary{position:relative;display:block;width:228px;height:163px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;transform:rotate(-7deg);isolation:isolate}
.odobe-contact summary:hover{transform:translateY(-5px) rotate(-4deg);box-shadow:none}
.contact-sticker{position:absolute;left:24px;top:-58px;background:#ff987d;color:#332016;border:1px solid #ffb89f;padding:9px 15px;border-radius:30px;font-size:12px;letter-spacing:.01em;box-shadow:0 3px 8px #0002;transform:rotate(-8deg)}
.contact-mini-line{position:absolute;top:-22px;left:2px;font-size:7px;letter-spacing:.1em;white-space:nowrap;color:#fef9ba;opacity:.8}
.contact-folder{position:absolute;inset:0;display:flex;align-items:flex-end;gap:8px;padding:0 19px 16px;box-sizing:border-box;background:linear-gradient(140deg,#fef9ba,#e4c96f);border-radius:16px 7px 13px 13px;box-shadow:0 11px 20px #10090055,inset 0 0 0 1px #fff5;overflow:hidden;color:#332016;font-size:18px}
.contact-folder::before{content:'';position:absolute;right:0;top:0;width:48px;height:47px;background:linear-gradient(225deg,#382418 0 46%,#fffbe1 49%,#d0b267 75%,#a78942);border-bottom-left-radius:11px;box-shadow:-4px 5px 7px #4b2d1933;z-index:3}
.contact-folder .contact-arrow{margin-left:auto;font-size:24px;line-height:1}.contact-folder .contact-dot{background:#a35e3b;width:6px;height:6px;margin-bottom:7px}
.contact-note{position:absolute;left:67px;top:13px;width:102px;height:102px;border-radius:7px;background:#fffcdf;box-shadow:0 4px 9px #6a461c33;transform:rotate(9deg);padding:10px;box-sizing:border-box;display:flex;flex-direction:column;gap:9px;font-weight:500}
.contact-note>span:first-child{font-size:9px;letter-spacing:.15em;color:#a66b42}.contact-note>span:nth-child(2){font-size:12px;line-height:1.2;letter-spacing:-.02em}.contact-note>span:last-child{position:absolute;bottom:5px;right:9px;font-size:25px;color:#e58161}
.contact-card{bottom:calc(100% + 92px);width:345px;border-radius:5px 22px 5px 5px;box-shadow:0 17px 50px #10090070;transform:rotate(-1deg)}
.odobe-contact[open] summary{transform:rotate(-3deg)}
@media(max-width:600px){.odobe-contact summary{width:160px;height:120px}.contact-folder{padding:0 13px 11px;font-size:15px}.contact-note{left:46px;top:9px;width:75px;height:73px;padding:7px;gap:5px}.contact-note>span:nth-child(2){font-size:9px}.contact-note>span:last-child{font-size:19px}.contact-note>span:first-child{font-size:7px}.contact-folder::before{width:35px;height:35px}.contact-sticker{top:-47px;left:17px;padding:7px 12px;font-size:10px}.contact-mini-line{top:-18px;font-size:5px}.contact-card{bottom:calc(100% + 70px);width:min(325px,86vw);transform:none}}

.odobe-hero-caption .odobe-contact{transform:translateY(-135px)}@media(max-width:600px){.odobe-hero-caption .odobe-contact{transform:translateY(-95px)}}

.contact-sticker{background:#ff885e;border-color:#ff885e}.contact-note>span:last-child{color:#ff885e}

/* Contact follows the page after the portrait reveal, outside project browsing. */
body>.odobe-contact{position:fixed;left:clamp(24px,3.5vw,70px);bottom:36px;z-index:80;transform:translateY(20px);margin:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s,transform .35s,visibility .35s}
body>.odobe-contact.is-contact-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
body>.odobe-contact.is-contact-footer{left:auto;right:clamp(24px,3.5vw,70px)}
body>.odobe-contact.is-contact-footer .contact-card{left:auto;right:0}
@media(max-width:600px){body>.odobe-contact{left:20px;bottom:22px}body>.odobe-contact.is-contact-footer{left:auto;right:20px}}

.contact-folder{align-items:center;font-size:28px;padding:28px 21px 14px;gap:12px}.contact-folder .contact-dot{margin-bottom:0}.contact-folder .contact-arrow{font-size:31px}@media(max-width:600px){.contact-folder{font-size:21px;padding:24px 13px 12px;gap:7px}.contact-folder .contact-arrow{font-size:25px}}

.odobe-hero-caption{justify-content:flex-end!important}.odobe-hero-caption .odobe-scroll-link{margin-left:auto!important}

/* Peek out from the bottom edge; opening lifts the entire contact card. */
body>.odobe-contact{bottom:-72px}
.contact-folder>[data-copy="contactMe"]{white-space:nowrap;font-size:clamp(20px,2vw,28px);line-height:1.15;flex-shrink:0}
.contact-folder{align-items:flex-start;padding-top:30px;gap:8px}.contact-folder .contact-dot{margin-top:10px;flex-shrink:0}.contact-folder .contact-arrow{font-size:26px;margin-left:auto}
body>.odobe-contact[open],body>.odobe-contact:focus-within{bottom:28px}
@media(max-width:600px){body>.odobe-contact{bottom:-52px}.contact-folder{padding-top:24px}.contact-folder>[data-copy="contactMe"]{font-size:19px}.contact-folder .contact-dot{margin-top:7px}.contact-folder .contact-arrow{font-size:23px}body>.odobe-contact[open],body>.odobe-contact:focus-within{bottom:22px}}

/* Expanded contact displays only the correspondence panel. */
body>.odobe-contact[open]>summary{visibility:hidden;pointer-events:none}
body>.odobe-contact[open] .contact-card{bottom:0}


body>.odobe-contact:not([open]):focus-within{bottom:-72px}@media(max-width:600px){body>.odobe-contact:not([open]):focus-within{bottom:-52px}}

/* Editorial portrait collage for the designer’s statement. */
.odobe-statement{padding:60px 0 110px;overflow:hidden;isolation:isolate;min-height:860px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center}
.odobe-statement>.spacer{display:none}.odobe-statement>.container{position:relative;z-index:2;width:94%;margin-top:-8px}.odobe-statement .statement{font-size:clamp(38px,6.8vw,105px);line-height:1.12;letter-spacing:-.025em;margin:0 auto;max-width:1280px;font-weight:650}
.statement-portrait{position:relative;width:clamp(270px,34vw,490px);height:clamp(260px,29vw,420px);flex-shrink:0;z-index:1;transform:rotate(-3deg);margin:0 auto}
.statement-portrait img{position:absolute;width:100%;height:auto;top:0;left:0;filter:drop-shadow(4px 0 #fff9df) drop-shadow(-4px 0 #fff9df) drop-shadow(0 -4px #fff9df);clip-path:polygon(0 0,100% 0,100% 89%,95% 90%,92% 88%,89% 92%,85% 90%,81% 93%,77% 90%,73% 93%,69% 91%,65% 95%,61% 93%,56% 96%,51% 93%,46% 95%,41% 92%,36% 94%,31% 91%,26% 93%,21% 89%,16% 92%,11% 89%,6% 90%,0 87%);}
.statement-portrait{overflow:visible}.statement-portrait::after{content:'';position:absolute;left:1%;right:1%;bottom:0;height:30px;background:#fff9df;clip-path:polygon(0 50%,5% 40%,10% 60%,15% 38%,20% 64%,25% 42%,30% 66%,35% 45%,40% 70%,45% 50%,50% 72%,55% 48%,60% 68%,65% 45%,70% 63%,75% 42%,80% 60%,85% 38%,90% 55%,95% 36%,100% 45%,100% 75%,95% 63%,90% 80%,85% 66%,80% 85%,75% 66%,70% 88%,65% 67%,60% 93%,55% 70%,50% 95%,45% 72%,40% 91%,35% 68%,30% 87%,25% 67%,20% 85%,15% 62%,10% 80%,5% 61%,0 75%)}
.statement-bubble{position:absolute;top:10px;right:-55px;z-index:4;padding:19px 28px;border-radius:45% 35% 42% 25%;background:#ff885e;color:#281a11;font-size:clamp(15px,1.7vw,23px);font-weight:600;transform:rotate(9deg);box-shadow:0 5px 0 #160c0822;white-space:nowrap}.statement-bubble::after{content:'';position:absolute;left:19px;bottom:-17px;border-top:24px solid #ff885e;border-right:22px solid transparent;transform:rotate(12deg)}
@media(max-width:600px){.odobe-statement{min-height:650px;padding:45px 0 85px}.statement-portrait{width:270px;height:260px}.statement-bubble{right:-8px;top:0;padding:15px 22px}.odobe-statement .statement{font-size:8.1vw;line-height:1.2}.odobe-statement>.container{width:96%}}

.statement-portrait img{height:100%;object-fit:cover;object-position:center 18%}

.odobe-statement .statement{letter-spacing:0;word-spacing:.025em}.statement-portrait::after{left:13%;right:10%;height:19px;bottom:4px;clip-path:polygon(0 40%,4% 22%,7% 45%,10% 29%,14% 52%,19% 32%,23% 44%,28% 20%,32% 39%,37% 30%,41% 54%,46% 33%,51% 47%,55% 27%,60% 43%,64% 19%,69% 40%,74% 31%,79% 49%,84% 27%,89% 41%,94% 20%,100% 36%,100% 74%,94% 64%,89% 82%,84% 68%,79% 88%,74% 66%,69% 80%,64% 62%,60% 82%,55% 69%,51% 91%,46% 73%,41% 94%,37% 68%,32% 80%,28% 61%,23% 85%,19% 72%,14% 91%,10% 68%,7% 83%,4% 65%,0 80%)}

/* Match the reference: narrowed side glance, original torn edge and pinching hand. */
.odobe-statement{height:auto!important;min-height:0;padding:70px 0 25px;overflow:visible!important}
.statement-portrait{width:clamp(280px,34vw,490px);height:auto;aspect-ratio:800/787;margin-bottom:0;transform:rotate(-2deg)}
.statement-portrait img{position:static;display:block;width:100%;height:auto;object-fit:contain;clip-path:none;filter:none}
.statement-portrait::after{display:none}
.odobe-statement>.container{margin-top:-8px;width:96%;max-width:1400px;overflow:visible!important}
.odobe-statement .row,.odobe-statement .col,.odobe-statement [data-scroll]{overflow:visible!important;height:auto!important;max-height:none!important}
.odobe-statement .statement{font-size:clamp(32px,6.6vw,100px);line-height:1.12;letter-spacing:0;word-spacing:normal;overflow:visible!important;height:auto!important;max-height:none!important;white-space:normal;display:block;padding:0 0 12px;margin:0 auto}
.statement-hand{display:block;width:clamp(140px,20vw,285px);height:clamp(190px,26vw,370px);object-fit:contain;margin:5px auto 0;transform:translateX(7vw) rotate(20deg)}
@media(max-width:600px){.odobe-statement{padding-top:45px}.statement-portrait{width:280px}.odobe-statement .statement{font-size:7.8vw;line-height:1.22}.statement-hand{width:155px;height:215px;transform:translateX(9vw) rotate(20deg)}.statement-bubble{right:0}}

.statement-portrait{aspect-ratio:1300/1200}.statement-hand{height:clamp(210px,28vw,390px);width:clamp(150px,19vw,270px)}

.odobe-statement{z-index:3}.statement-hand{position:relative;z-index:4;flex-shrink:0}.odobe-statement{padding-bottom:65px}

/* Wider statement typography and a stronger upper portrait outline. */
.odobe-statement .statement{font-size:clamp(36px,7.2vw,112px);letter-spacing:.025em;line-height:1.18;max-width:1500px}
.odobe-statement>.container{width:98%;max-width:1550px}
.statement-portrait::before{content:'';position:absolute;inset:0;z-index:-1;background:url('/personal-assets/statement-natural-paper-tear.png') center top/100% auto no-repeat;filter:drop-shadow(3px 0 white) drop-shadow(-3px 0 white) drop-shadow(0 -3px white);mask-image:linear-gradient(to bottom,#000 0%,#000 78%,transparent 87%);pointer-events:none}
.statement-bubble{min-width:100px;text-align:center;letter-spacing:.12em}
html[lang|="zh"] .odobe-statement .statement{font-size:clamp(38px,8vw,120px);letter-spacing:.07em}
@media(max-width:600px){.odobe-statement .statement{font-size:7.1vw;letter-spacing:.015em}html[lang|="zh"] .odobe-statement .statement{font-size:9vw;letter-spacing:.06em}.statement-bubble{min-width:85px}}

/* Center Chinese glyphs optically, with punctuation outside the line measure. */
.odobe-statement .statement:has(.statement-zh-line){display:flex;flex-direction:column;align-items:center;text-align:center;font-size:clamp(38px,8vw,120px);letter-spacing:.14em;line-height:1.25}
.statement-zh-line{position:relative;display:block;width:max-content;max-width:100%;white-space:nowrap;padding-left:.14em}
.statement-zh-punctuation{position:absolute;left:100%;letter-spacing:0}
@media(max-width:600px){.odobe-statement .statement:has(.statement-zh-line){font-size:9vw;letter-spacing:.12em}.statement-zh-line{padding-left:.12em}}

/* Individual orbit assets reveal their original color on hover or keyboard focus. */
.odobe-dom-orbit a.orbit-icon img,.odobe-dom-orbit>img.orbit-icon,.odobe-dom-orbit .orbit-ai img{filter:url(#orbit-yellow-tone);transition:filter .3s ease}
.odobe-dom-orbit>img.orbit-icon,.odobe-dom-orbit .orbit-ai{pointer-events:auto}
.odobe-dom-orbit a.orbit-icon:hover img,.odobe-dom-orbit a.orbit-icon:focus-visible img,.odobe-dom-orbit>img.orbit-icon:hover,.odobe-dom-orbit .orbit-ai:hover img{filter:none}

/* Give the statement and exploration their own breathing room. */
.odobe-statement{padding-bottom:clamp(180px,18vw,300px)}
@media(max-width:600px){.odobe-statement{padding-bottom:130px}}

#explore [data-copy='explore']{color:#ff885e!important}
/* Bring Firefly and Midjourney into the indicated gaps beside the main icons. */
.odobe-dom-orbit .orbit-ai-firefly{left:1%;top:26%}
.odobe-dom-orbit .orbit-ai-midjourney{right:3%;top:24%}
@media(max-width:1100px){.odobe-dom-orbit .orbit-ai-firefly{left:1%;top:24%}.odobe-dom-orbit .orbit-ai-midjourney{right:3%;top:22%}}
@media(max-width:600px){.odobe-dom-orbit .orbit-ai-firefly{left:0;top:24%}.odobe-dom-orbit .orbit-ai-midjourney{right:1%;top:22%}}

#explore .odobe-explore-links a{color:#ff885e;border-color:#ff885e}#explore .odobe-explore-links a span{color:inherit}#explore .odobe-explore-links a:hover,#explore .odobe-explore-links a:focus-visible{background:#ff885e;color:#281a11;border-color:#ff885e}

/* White edges keep the tinted orbit assets distinct from the paper. */
.odobe-dom-orbit a.orbit-icon img,.odobe-dom-orbit>img.orbit-icon,.odobe-dom-orbit .orbit-ai img{filter:url(#orbit-yellow-tone) url(#orbit-crisp-outline)}
.odobe-dom-orbit a.orbit-icon:hover img,.odobe-dom-orbit a.orbit-icon:focus-visible img,.odobe-dom-orbit>img.orbit-icon:hover,.odobe-dom-orbit .orbit-ai:hover img{filter:url(#orbit-crisp-outline)}
.footer_head .personal-sticker-face{filter:drop-shadow(5px 0 0 #fff) drop-shadow(-5px 0 0 #fff) drop-shadow(0 5px 0 #fff) drop-shadow(0 -5px 0 #fff)}
.odobe-footer-bubble,.odobe-footer-bubble::after{background:#ff885e}

.odobe-dom-orbit .orbit-ai img{box-shadow:none}

.odobe-dom-orbit .orbit-ai{z-index:20;cursor:pointer}
.odobe-dom-orbit .orbit-ai:hover img,.odobe-dom-orbit .orbit-ai:focus img{filter:url(#orbit-crisp-outline)!important}
.odobe-dom-orbit .orbit-ai:focus{outline:none}
.odobe-dom-orbit .orbit-ai:focus-visible{outline:2px solid #ff885e;outline-offset:6px;border-radius:12px}

.odobe-expertise-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.odobe-open-cv{display:inline-flex;align-items:center;gap:28px;border:1px solid #ff885e;border-radius:99px;padding:14px 22px;background:transparent;color:#ff885e;font:inherit;cursor:pointer}.odobe-open-cv:hover{background:#ff885e;color:#281a11}.cv-is-open{overflow:hidden!important}.odobe-cv-dialog{padding:0;width:min(980px,94vw);max-width:94vw;height:90dvh;max-height:90dvh;border:1px solid #ff885e;border-radius:16px;background:#281a11;color:#fff;box-shadow:0 24px 100px #0008}.odobe-cv-dialog::backdrop{background:#140d09cc;backdrop-filter:blur(7px)}.odobe-cv-dialog[open]{display:flex;flex-direction:column}.odobe-cv-dialog header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 24px;border-bottom:1px solid #ffffff26;flex-shrink:0}.odobe-cv-dialog h2{font-size:22px;margin:0;color:#fef9ba;letter-spacing:0}.odobe-cv-dialog header>div{display:flex;gap:18px;align-items:center}.odobe-cv-dialog a{color:#ff885e}.odobe-cv-dialog button{border:1px solid #ffffff55;border-radius:99px;background:transparent;color:#fff;padding:8px 14px;font:inherit;cursor:pointer}.cv-document{overflow:auto;overscroll-behavior:contain;background:#eae2dc;flex:1;min-height:0}.cv-document img{display:block;width:100%;height:auto}@media(max-width:600px){.odobe-cv-dialog header{padding:14px}.odobe-cv-dialog h2{font-size:18px}.odobe-cv-dialog header>div{gap:10px;font-size:12px}.odobe-open-cv{padding:11px 18px;font-size:14px}}

/* Fit the complete high-resolution resume first; zoom controls stay below. */
.odobe-cv-dialog{height:94dvh;max-height:94dvh}.odobe-cv-dialog .cv-document{background:#21160f;padding:12px;box-sizing:border-box;position:relative}.odobe-cv-dialog .cv-document img{max-width:none;max-height:none;width:auto;height:auto;margin:0 auto;object-fit:contain}.cv-controls{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 22px;border-top:1px solid #ffffff26;background:#281a11}.cv-zoom-controls{display:flex;align-items:center;gap:10px}.cv-zoom-value{font-size:13px;min-width:44px;text-align:center}.odobe-cv-dialog button:disabled{opacity:.3;cursor:default}.cv-controls a{white-space:nowrap}@media(max-width:600px){.cv-controls{padding:12px 10px;gap:8px;font-size:12px}.cv-zoom-controls{gap:6px}.cv-controls button{padding:7px 10px}.cv-zoom-value{min-width:36px}}

.odobe-cv-dialog .cv-document{scrollbar-width:none;-ms-overflow-style:none;touch-action:none;user-select:none}.odobe-cv-dialog .cv-document::-webkit-scrollbar{display:none}.odobe-cv-dialog .cv-document img{-webkit-user-drag:none;user-select:none}.odobe-cv-dialog .cv-document.is-zoomed{cursor:grab}.odobe-cv-dialog .cv-document.is-dragging{cursor:grabbing}

/* Explore: four colorful destinations, with tools in a quiet supporting row. */
#explore [data-copy='explore']{font-size:clamp(30px,4.1vw,64px)!important;line-height:1.15;letter-spacing:-.02em}
#explore .screen_wrap{height:650px;width:min(1000px,94vw)}
#explore .odobe-dom-orbit{top:12px;width:min(760px,86%);height:490px}
#explore .odobe-dom-orbit a.orbit-icon img,#explore .odobe-dom-orbit a.orbit-icon:hover img,#explore .odobe-dom-orbit a.orbit-icon:focus-visible img{filter:drop-shadow(0 12px 12px #10090038)}
#explore .odobe-dom-orbit .orbit-icon-motion{left:7%;right:auto;top:0;width:32%;height:48%;transform:rotate(-7deg)}
#explore .odobe-dom-orbit .orbit-icon-graphic{left:auto;right:8%;top:0;width:34%;height:49%;transform:rotate(8deg)}
#explore .odobe-dom-orbit .orbit-icon-video{left:0;right:auto;top:40%;width:51%;height:58%;transform:rotate(-6deg)}
#explore .odobe-dom-orbit .orbit-icon-resume{left:auto;right:8%;top:51%;width:31%;height:46%;transform:rotate(6deg)}
#explore .odobe-star-3,#explore .odobe-star-5,#explore .odobe-star-6,#explore .odobe-star-7{display:none}
#explore .odobe-star-1{left:9%;top:23%;font-size:38px}#explore .odobe-star-2{right:8%;top:18%;font-size:34px}#explore .odobe-star-4{right:45%;top:72%;font-size:30px}
#explore .odobe-explore-center p{font-size:clamp(13px,2vw,29px);font-weight:400;letter-spacing:0;white-space:normal}
#explore .odobe-explore-center{width:90%;bottom:26px}
.explore-tool-strip{display:flex;justify-content:center;align-items:flex-start;flex-wrap:wrap;gap:22px;padding:24px 20px;border-top:1px solid #fef9ba26;border-bottom:1px solid #fef9ba26;max-width:920px;margin:0 auto}
.explore-tool-strip .orbit-ai,.explore-tool-strip .explore-adobe-tool{position:static;display:flex;flex-direction:column;align-items:center;gap:8px;width:70px;animation:none!important;transform:none;cursor:default}
.explore-tool-strip img{width:36px;height:36px;object-fit:contain;filter:none!important;box-shadow:none;border-radius:8px}
.explore-tool-strip .orbit-ai img{width:36px;height:36px;padding:4px;background:#fff}
.explore-tool-strip span{font:400 10px/1.3 Arial,sans-serif;color:#fef9ba;opacity:.7;white-space:nowrap}
#explore .odobe-explore-links{margin-top:32px}
@media(max-width:600px){#explore .screen_wrap{height:480px}#explore .odobe-dom-orbit{height:335px;width:96%;top:16px}#explore .odobe-explore-center{bottom:12px;width:92%}#explore .odobe-explore-center p{font-size:16px;line-height:1.5}.explore-tool-strip{gap:18px 10px;padding:20px 8px}.explore-tool-strip .orbit-ai,.explore-tool-strip .explore-adobe-tool{width:55px}.explore-tool-strip span{font-size:8px}.explore-tool-strip img,.explore-tool-strip .orbit-ai img{width:30px;height:30px}#explore .odobe-star-1{left:2%;font-size:26px}#explore .odobe-star-2{right:2%;font-size:24px}}

/* Four destinations travel around a circle while staying upright. */
#explore .screen_wrap{height:clamp(490px,78vw,810px)}
#explore .odobe-dom-orbit{top:25px;width:min(660px,86vw);height:auto;aspect-ratio:1}
.explore-orbit-slot{position:absolute;inset:0;pointer-events:none;animation:explore-orbit-turn 40s linear infinite;animation-delay:var(--orbit-phase);transform-origin:50% 50%}
#explore .odobe-dom-orbit .explore-orbit-slot a.orbit-icon{position:absolute;left:50%;right:auto;top:17%;width:33%;height:33%;animation:explore-orbit-upright 40s linear infinite;animation-delay:var(--orbit-phase);translate:none;transform:translate(-50%,-50%);pointer-events:auto}
#explore .odobe-dom-orbit .explore-orbit-slot .orbit-icon-video{width:39%;height:39%}
#explore .odobe-dom-orbit:has(a:hover) .explore-orbit-slot,#explore .odobe-dom-orbit:has(a:hover) a.orbit-icon,#explore .odobe-dom-orbit:focus-within .explore-orbit-slot,#explore .odobe-dom-orbit:focus-within a.orbit-icon{animation-play-state:paused}
@keyframes explore-orbit-turn{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes explore-orbit-upright{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(-360deg)}}
#explore .odobe-star-1{left:8%;top:46%}#explore .odobe-star-2{right:8%;top:42%}#explore .odobe-star-4{right:47%;top:44%}
.explore-tool-strip{margin-bottom:35px}
@media(max-width:600px){#explore .screen_wrap{height:calc(86vw + 125px)}#explore .odobe-dom-orbit{top:20px}#explore .odobe-explore-center{bottom:10px}}
@media(prefers-reduced-motion:reduce){.explore-orbit-slot,#explore .odobe-dom-orbit .explore-orbit-slot a.orbit-icon{animation-play-state:paused}}
/* Restrained accent colors and a broken orbit line. */
#explore .odobe-star-1{color:#b8a4e3}
#explore .odobe-star-2{color:#a8d5ba}
#explore .odobe-star-4{color:#b8a4e3}
#explore .odobe-dom-orbit::before{content:'';position:absolute;inset:17%;border:1px dashed #fef9ba;opacity:.22;border-radius:50%;pointer-events:none;mask-image:conic-gradient(#000 0deg 64deg,transparent 64deg 108deg,#000 108deg 200deg,transparent 200deg 250deg,#000 250deg 312deg,transparent 312deg);transform:rotate(-12deg)}

/* A tilted planetary orbit with perspective depth and warm celestial details. */
#explore .odobe-dom-orbit::before{display:none}
#explore .odobe-dom-orbit{perspective:1000px;transform:translateX(-50%);isolation:isolate}
#explore .explore-orbit-slot{animation:none;transform:none}
#explore .odobe-dom-orbit .explore-orbit-slot a.orbit-icon{left:50%;top:50%;width:31%;height:31%;animation:explore-planet-travel 36s linear infinite;animation-delay:var(--planet-phase);transform-origin:50% 50%;will-change:transform,opacity;z-index:2}
#explore .odobe-dom-orbit .explore-orbit-slot .orbit-icon-video{width:37%;height:37%}
#explore .explore-orbit-slot:nth-child(1){--planet-phase:0s}#explore .explore-orbit-slot:nth-child(2){--planet-phase:-9s}#explore .explore-orbit-slot:nth-child(3){--planet-phase:-18s}#explore .explore-orbit-slot:nth-child(4){--planet-phase:-27s}
@keyframes explore-planet-travel{
0%{transform:translate(-50%,-50%) translate(0,-135px) scale(.48);opacity:.65}
12.5%{transform:translate(-50%,-50%) translate(170px,-95px) scale(.62);opacity:.8}
25%{transform:translate(-50%,-50%) translate(240px,0) scale(.95);opacity:1}
37.5%{transform:translate(-50%,-50%) translate(170px,95px) scale(1.1);opacity:1}
50%{transform:translate(-50%,-50%) translate(0,135px) scale(1.22);opacity:1}
62.5%{transform:translate(-50%,-50%) translate(-170px,95px) scale(1.1);opacity:1}
75%{transform:translate(-50%,-50%) translate(-240px,0) scale(.95);opacity:1}
87.5%{transform:translate(-50%,-50%) translate(-170px,-95px) scale(.62);opacity:.8}
100%{transform:translate(-50%,-50%) translate(0,-135px) scale(.48);opacity:.65}}
#explore .odobe-star-1,#explore .odobe-star-2,#explore .odobe-star-4{color:#fef9ba}
.explore-cosmos{position:absolute;top:25px;left:50%;transform:translateX(-50%);width:min(660px,86vw);aspect-ratio:1;pointer-events:none;z-index:1;color:#fef9ba}
.cosmos-ring{position:absolute;width:73%;height:41%;left:13.5%;top:29.5%;border:1px solid #fef9ba45;border-radius:50%;transform:rotate(-10deg)}
.cosmos-ring-back{border-bottom-color:transparent;border-left-color:#fef9ba18}
.cosmos-ring-front{width:80%;height:46%;left:10%;top:27%;border-style:dashed;opacity:.25;transform:rotate(14deg)}
.cosmos-star{position:absolute;line-height:1;text-shadow:0 0 15px #ffdb6526;animation:cosmos-twinkle 4s ease-in-out infinite alternate}
.cosmos-star-a{left:18%;top:18%;font-size:25px}.cosmos-star-b{right:9%;top:23%;font-size:37px;animation-delay:-2s}.cosmos-star-c{right:20%;bottom:15%;font-size:20px;animation-delay:-1s}.cosmos-star-d{left:4%;bottom:27%;font-size:34px;animation-delay:-3s}
.cosmos-planet{position:absolute;left:46%;top:45%;width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fffbd1,#e7bd50 55%,#84601e);box-shadow:inset -7px -5px 10px #39220777,0 0 35px #f5cc5315}
.cosmos-planet::after{content:'';position:absolute;inset:13px -15px;border:2px solid #fef9ba99;border-radius:50%;transform:rotate(-25deg)}
.cosmos-dust{position:absolute;width:3px;height:3px;background:#fef9ba;border-radius:50%;opacity:.55;box-shadow:30px -32px #fef9ba,75px 16px #fef9ba66,-28px 45px #fef9ba88,90px 65px #fef9ba55,-60px -25px #fef9ba66}
.cosmos-dust-a{left:17%;top:32%}.cosmos-dust-b{right:15%;bottom:24%;transform:rotate(130deg)}
@keyframes cosmos-twinkle{from{opacity:.4;scale:.85}to{opacity:.95;scale:1.1}}
@media(max-width:600px){#explore .odobe-dom-orbit{width:660px;max-width:none;scale:.52;transform-origin:50% 0;left:50%;margin-left:-330px;transform:none} .explore-cosmos{width:660px;scale:.52;transform-origin:50% 0;margin-left:-330px;transform:none;left:50%}#explore .screen_wrap{height:490px}}
@media(prefers-reduced-motion:reduce){#explore .odobe-dom-orbit .explore-orbit-slot a.orbit-icon{animation-play-state:paused}.cosmos-star{animation:none}}

/* Keep celestial accents outside the clearer, heavier orbital path. */
#explore .odobe-star-4{right:7%;top:78%}
#explore .cosmos-planet{left:4%;top:17%;width:36px;height:36px}
#explore .cosmos-star-a{left:26%;top:10%}
#explore .cosmos-ring-back{border-width:2px;border-color:#fef9ba88;border-bottom-color:transparent;border-left-color:#fef9ba44}
#explore .cosmos-ring-front{border-width:2px;opacity:.45}
/* One continuous orbital ring, with no decorative gaps. */
#explore .cosmos-ring-back{border:2px solid #fef9ba88;transform:none}
#explore .cosmos-ring-front{display:none}
/* Restore two intersecting, continuous orbital rings. */
#explore .cosmos-ring-back{border:2px solid #fef9ba88;transform:rotate(-10deg)}
#explore .cosmos-ring-front{display:block;border:2px solid #fef9ba;opacity:.3;transform:rotate(14deg)}

#explore .cosmos-ring-front{border-style:dashed}

/* Small golden companions share the orbit, offset between the main destinations. */
#explore .orbit-companion{position:absolute;left:50%;top:50%;pointer-events:none;color:#fef9ba;animation:explore-planet-travel 36s linear infinite;animation-delay:var(--companion-phase);z-index:1;line-height:1;will-change:transform,opacity}
#explore .companion-star{font-size:32px;width:32px;height:32px;text-align:center}
#explore .companion-star-outline{font-size:39px;width:39px;height:39px}
#explore .companion-planet{width:28px;height:28px}
#explore .companion-planet i{display:block;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 28% 25%,#fffbd1 0%,#edc95d 50%,#8f6923 100%);box-shadow:inset -4px -3px 5px #49300e55}
#explore .companion-planet-ring{width:23px;height:23px}
#explore .companion-planet-ring::after{content:'';position:absolute;left:-10px;right:-10px;top:8px;height:8px;border:1.5px solid #fef9bacc;border-radius:50%;transform:rotate(-25deg)}
#explore .odobe-dom-orbit:has(a:hover) .orbit-companion,#explore .odobe-dom-orbit:focus-within .orbit-companion{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){#explore .orbit-companion{animation-play-state:paused}}
#explore .explore-orbit-slot:has(.orbit-icon-video){--planet-phase:0s}
#explore .explore-orbit-slot:has(.orbit-icon-motion){--planet-phase:-9s}
#explore .explore-orbit-slot:has(.orbit-icon-graphic){--planet-phase:-18s}
#explore .explore-orbit-slot:has(.orbit-icon-resume){--planet-phase:-27s}

/* A brief golden meteor passes outside the orbit, then rests between appearances. */
.cosmos-shooting-star{position:absolute;left:53%;top:10%;width:72px;height:2px;border-radius:99px;background:linear-gradient(90deg,transparent,#fef9ba);opacity:0;transform:rotate(25deg);animation:cosmos-meteor 13s linear infinite;pointer-events:none}
.cosmos-shooting-star::after{content:'';position:absolute;right:-1px;top:-1.5px;width:5px;height:5px;border-radius:50%;background:#fffbd1;box-shadow:0 0 5px #fef9ba55}
@keyframes cosmos-meteor{0%,24%{opacity:0;transform:translate(-65px,-25px) rotate(25deg)}25%{opacity:.85}32%{opacity:.85;transform:translate(130px,66px) rotate(25deg)}34%,100%{opacity:0;transform:translate(160px,80px) rotate(25deg)}}
@media(prefers-reduced-motion:reduce){.cosmos-shooting-star{display:none}}
