/* CV navigation and viewport-height landing page. Preserve the live v12 design. */
:root{--site-header-height:79px;--service-bar-height:44px}
.hero{min-height:0}
.hero .hero-inner{min-height:calc(100vh - var(--site-header-height) - var(--service-bar-height) - 1px);min-height:calc(100dvh - var(--site-header-height) - var(--service-bar-height) - 1px)}
.navlinks .nav-cv{font-weight:700;color:var(--beige)}
.navlinks .nav-cv[aria-current="page"]:after{right:0}
.mobile-cv{display:none}
.cv-main{max-width:1120px;padding-top:64px;padding-bottom:64px}
.cv-heading{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-bottom:40px}
.cv-heading .eyebrow{color:var(--beige);font-size:12px;margin:0 0 18px}
.cv-heading h1{font-size:clamp(64px,9vw,110px);font-weight:600;line-height:.95;letter-spacing:-.055em;margin:0 0 20px}
.cv-heading h1 span{color:var(--beige)}
.cv-heading p{color:var(--muted);margin:0}
.cv-download{flex-shrink:0}
.cv-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 0;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.cv-toolbar a{color:var(--beige);text-decoration:underline;text-underline-offset:4px}
.cv-document{margin:0;background:#f3e7d7;border-radius:4px;overflow:hidden}
.cv-document a,.cv-document img{display:block;width:100%;height:auto}
.cv-transcript{margin-top:24px;border:1px solid var(--line);border-radius:8px;padding:16px 20px}
.cv-transcript summary{cursor:pointer;color:var(--beige);font-weight:600;min-height:28px}
.cv-text{white-space:pre-line;font-size:18px;line-height:1.7;margin-top:24px;overflow-wrap:anywhere}
.cv-bottom{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:32px}
.cv-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-block:28px;color:var(--muted);font-size:14px}
@media(max-width:900px) and (min-width:701px){.navlinks{gap:14px}.nav{gap:16px}}
@media(max-width:700px){
 :root{--site-header-height:65px;--service-bar-height:35px}
 .mobile-cv{display:flex;align-items:center;justify-content:center;min-width:36px;min-height:44px;color:var(--beige);font-weight:700;margin-left:auto}
 .nav{gap:8px}.nav .brand{gap:8px;font-size:15px}
 .hero .hero-inner{padding-top:24px;padding-bottom:24px}
 .cv-main{padding-top:38px;padding-bottom:40px}
 .cv-heading{align-items:stretch;flex-direction:column;gap:24px;margin-bottom:24px}
 .cv-download{justify-content:space-between}
 .cv-toolbar{font-size:12px}
 .cv-bottom{align-items:stretch;flex-direction:column}
 .cv-bottom .button{justify-content:space-between}
 .cv-text{font-size:17px}
}
/* A slightly clearer, staggered lift with a quiet resting phase. */
.kinetic-headline .kinetic-word{
 animation:balancedWord 7.2s cubic-bezier(.4,0,.2,1) infinite;
 animation-delay:calc(var(--i,0) * .16s);
 transform-origin:50% 70%;
}
.kinetic-headline--hero .headline-accent .kinetic-word{animation-name:balancedAccent}
.contact .kinetic-headline{animation:none;will-change:auto}
@keyframes balancedWord{
 0%,12%,68%,100%{transform:translate3d(0,0,0);opacity:1}
 34%{transform:translate3d(0,-.105em,0);opacity:.91}
 51%{transform:translate3d(0,.012em,0);opacity:1}
}
@keyframes balancedAccent{
 0%,12%,68%,100%{transform:translate3d(0,0,0) scale(1);opacity:1}
 34%{transform:translate3d(0,-.11em,0) scale(1.012);opacity:.93}
 51%{transform:translate3d(0,.012em,0) scale(1);opacity:1}
}
@media(max-width:700px) and (max-height:650px){
 .hero .hero-inner{padding-block:18px}
 .hero .eyebrow{margin-bottom:10px}
 .hero h1{font-size:clamp(40px,11.8vw,54px);margin-bottom:14px}
 .hero-bottom{margin-top:18px;gap:10px}
}
@media(prefers-reduced-motion:reduce){.kinetic-headline .kinetic-word{animation:none!important;transform:none!important;opacity:1!important}}
