.deck-enabled{height:100%;overflow:hidden;scroll-behavior:auto}.deck-enabled body{height:100%;padding:0;overflow:hidden;background:#d0d1d5}.deck-enabled main{position:fixed;inset:18px 18px 92px;perspective:1600px;isolation:isolate}.deck-card{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;border-radius:18px;background:#f5f5f5;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#888 transparent;transform-origin:50% 90%;transition:transform .72s cubic-bezier(.22,.8,.18,1),opacity .55s ease,visibility .72s;will-change:transform,opacity}.deck-card[data-state="active"]{z-index:3;opacity:1;transform:translate3d(0,0,0) rotateX(0) scale(1);visibility:visible}.deck-card[data-state="before"]{z-index:1;opacity:0;transform:translate3d(0,-9%, -100px) rotateX(5deg) scale(.94);visibility:hidden;pointer-events:none}.deck-card[data-state="after"]{z-index:2;opacity:0;transform:translate3d(0,105%,0) rotateX(-7deg) scale(.96);visibility:hidden;pointer-events:none}.deck-enabled .site-header{position:fixed;top:38px;left:42px;right:42px;z-index:10;box-shadow:0 4px 20px #00000008}.deck-enabled .section{margin:0;border-radius:0;padding:120px 0 55px;scroll-margin:0}.deck-enabled .hero.motion-hero{height:100%;min-height:0;max-height:none;border-radius:0}.deck-enabled .hero-topline{top:140px}.deck-enabled .language-object{width:min(48vw,570px);max-height:80%;object-fit:contain;bottom:14px}.deck-enabled .hero.motion-hero h1{top:49%;font-size:18.7vw}.deck-enabled .hero-bottom{bottom:28px}.deck-enabled .hero-bottom>a>span:last-child{animation:none}.deck-enabled .hero-bottom>a>.t{font-size:10px}.deck-enabled .about-section{min-height:calc(100% - 100px);padding-top:120px}.deck-enabled .about-section h2{font-size:clamp(80px,12vw,170px);margin-bottom:10px}.deck-enabled .about-arrow{font-size:170px}.deck-enabled .specialty-strip{border-radius:0;padding-block:20px}.deck-enabled .specialty-strip span{font-size:32px}.deck-enabled .about-section .prose>p:not(.section-index){font-size:13px}.deck-enabled .about-section .prose>p:nth-child(4){font-size:21px}.deck-enabled .sample h3{font-size:clamp(30px,3.5vw,48px);margin-right:140px}.deck-enabled .sample{min-height:0;padding-top:22px;padding-bottom:22px}.deck-enabled .work-section .section__note{margin-bottom:35px}.deck-enabled .work-section h2{font-size:35px}.deck-enabled .experience-section{min-height:100%}.deck-enabled .section[aria-labelledby="lang-title"]{min-height:100%;display:flex;align-items:center}.deck-enabled .section[aria-labelledby="lang-title"]>.wrap{width:100%}.deck-enabled .site-footer{min-height:100%;padding-top:130px;border-radius:0}.deck-enabled .footer-name{font-size:clamp(60px,12vw,170px)}.deck-enabled .reveal{opacity:1;transform:none}.deck-controls{position:fixed;bottom:19px;left:42px;right:42px;min-height:54px;display:flex;align-items:center;gap:22px;z-index:20}.deck-controls button{font:inherit;border:0;cursor:pointer;background:transparent;color:#48494e}.deck-prev,.deck-next{width:45px;height:45px;border:1px solid #a0a1a7!important;border-radius:50%;font-size:23px!important;flex:none;transition:background .2s,color .2s}.deck-prev:hover,.deck-next:hover{background:#111;color:white}.deck-controls button:disabled{opacity:.25;cursor:default;background:transparent;color:#48494e}.deck-tabs{display:flex;gap:25px;align-items:center;flex:1}.deck-tabs button{font-size:10px;text-transform:uppercase;padding:12px 0;position:relative;transition:color .2s}.deck-tabs button[aria-current="step"]{color:#111}.deck-tabs button:after{content:'';position:absolute;bottom:4px;left:0;right:0;height:2px;background:#111;transform:scaleX(0);transform-origin:left;transition:transform .3s}.deck-tabs button[aria-current="step"]:after{transform:scaleX(1)}.deck-count{font-size:11px;letter-spacing:.12em;white-space:nowrap}.deck-enabled .site-header nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px}
@media(max-width:900px){.deck-tabs{gap:15px}.deck-controls{gap:15px}.deck-tabs button{font-size:8px}.deck-enabled .language-object{width:60vw}.deck-enabled .about-section .prose{gap:20px 35px}.deck-enabled .sample h3{margin-right:70px}}
@media(max-width:600px){.deck-enabled main{inset:10px 10px 82px}.deck-card{border-radius:13px}.deck-enabled .site-header{top:23px;left:23px;right:23px}.deck-enabled .hero.motion-hero{height:100%;min-height:0;max-height:none}.deck-enabled .hero-topline{top:94px}.deck-enabled .hero.motion-hero h1{font-size:25vw;top:36%}.deck-enabled .language-object{width:100%;max-height:66%;bottom:45px}.deck-enabled .hero-bottom{bottom:18px;left:20px;right:20px;font-size:9px}.deck-enabled .hero-bottom>a>.t{font-size:8px}.deck-enabled .section{padding:95px 0 35px}.deck-enabled .about-section{padding-top:100px}.deck-enabled .about-section h2{font-size:24vw}.deck-enabled .about-arrow{font-size:65px}.deck-enabled .about-section .prose>p:not(.section-index){font-size:12px}.deck-enabled .about-section .prose>p:nth-child(4){font-size:19px}.deck-enabled .specialty-strip span{font-size:25px}.deck-enabled .work-section h2{font-size:27px}.deck-enabled .sample h3{font-size:30px;margin-right:0}.deck-enabled .work-section .section__note{margin-bottom:25px}.deck-enabled .section[aria-labelledby="lang-title"]{display:block}.deck-enabled .site-footer{padding-top:105px}.deck-controls{left:20px;right:20px;bottom:14px;gap:13px;min-height:48px}.deck-tabs{gap:8px;justify-content:center}.deck-tabs button{font-size:0;width:9px;height:9px;padding:0;border:1px solid #777;border-radius:50%}.deck-tabs button:after{display:none}.deck-tabs button[aria-current="step"]{background:#111;border-color:#111}.deck-prev,.deck-next{width:38px;height:38px;font-size:20px!important}.deck-count{font-size:9px;letter-spacing:.04em}.deck-enabled .footer-name{font-size:12.5vw}}
@media(prefers-reduced-motion:reduce){.deck-card{transition:none!important}}
@media print{.deck-enabled,.deck-enabled body{height:auto;overflow:visible}.deck-enabled main{position:static}.deck-card{position:static;opacity:1!important;visibility:visible!important;transform:none!important;overflow:visible;break-before:page}.deck-controls{display:none}.deck-enabled .site-header{position:static}.deck-enabled .section,.deck-enabled .site-footer{padding-top:25px}.deck-enabled .hero.motion-hero{height:250px}}
@media(min-width:601px){.deck-enabled .hero-topline{top:115px}.deck-enabled .hero.motion-hero h1{top:52%}}

/* ---- Boot gate + first-paint fade-in ---------------------------------
   html.deck-booting is set by an inline <head> script before first paint and
   removed by deck.js once the card DOM exists. The html. prefix gives these
   rules higher specificity than the .deck-enabled rules in responsive.css,
   which load later and would otherwise win on animation. */
html.deck-booting body{opacity:0}
html.deck-ready body{opacity:1;transition:opacity .45s ease}
@keyframes pf-rise{from{opacity:0;transform:translate3d(0,16px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes pf-fade{from{opacity:0}to{opacity:1}}
html.deck-ready .site-header{animation:pf-fade .5s ease both}
html.deck-ready .hero-topline{animation:pf-rise .7s cubic-bezier(.16,1,.3,1) .05s both}
html.deck-ready .hero.motion-hero .hero-name{animation:pf-rise .85s cubic-bezier(.16,1,.3,1) .1s both}
html.deck-ready .hero-portrait{animation:pf-fade .95s ease .18s both}
html.deck-ready .hero-bottom{animation:pf-rise .7s cubic-bezier(.16,1,.3,1) .24s both}
html.deck-ready .deck-controls{animation:pf-rise .6s cubic-bezier(.16,1,.3,1) .3s both}
@media(prefers-reduced-motion:reduce){
  html.deck-ready body{transition:none}
  html.deck-ready .site-header,html.deck-ready .hero-topline,html.deck-ready .hero.motion-hero .hero-name,html.deck-ready .hero-portrait,html.deck-ready .hero-bottom,html.deck-ready .deck-controls{animation:none!important}
}
