/* Shared navigation and contact refinements. */
.v20 .topbar{height:88px}
.v20 .navigation .brand,.v20 .navigation .brand img{width:96px;min-width:96px}
.v20 .navigation .brand img{height:44px}
.v20 .nav-links{gap:28px}
.v20 .button,.v20 .nav-cta{display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:0}
.v20 .hero-actions .button{min-width:160px;min-height:54px;padding:15px 26px;font-size:16px}
.v20 .hero-actions .secondary{background:transparent;border:1px solid #cbb6a466;color:#eee3d9;box-shadow:none}
.v20 .hero-actions .secondary:hover{background:#ffffff0c;border-color:#cbb6a4}
.v20 .logo-section{padding-block:68px}
.v20 .showreel-heading{display:flex;justify-content:space-between;align-items:center;gap:32px}
.v20 .showreel-heading .portfolio-cta{flex:none;min-height:54px;padding:15px 30px;font-size:16px}
.v20 .contact-portrait .contact-avatar{position:static;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center;margin:0;transform:none}
.v20 .contact-options{display:block;margin-top:22px}
.v20 .contact-options h3{font-size:17px;line-height:1.4;margin:0 0 7px;letter-spacing:0}
.v20 .email-address-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.v20 .contact-email{font-size:15px;margin:0;color:#8e4935;text-decoration:underline;text-underline-offset:4px;user-select:text;overflow-wrap:anywhere}
.v20 .copy-email{background:transparent;color:#766b61;border:1px solid #d9cec4;border-radius:7px;font-size:12px;padding:8px 12px;min-height:40px}
.v20 .copy-email:hover{background:#eee7df}
.v20 .copy-status{display:block;font-size:12px;line-height:1.4;color:#766b61;margin-top:5px}
.v20 .copy-status:empty{display:none}
.v20 .contact-other{margin-top:20px}
.v20 #journey{padding-block:94px}
.v20 .final-journey-heading{margin-bottom:56px}
/* Each row owns its line segment: dots and line share one centre coordinate. */
.v20 .final-chapters{--timeline-x:211px;max-width:1180px;padding:0}
.v20 .final-chapters:before{display:none}
.v20 .final-chapters>.chapter{grid-template-columns:175px 270px minmax(0,1fr);column-gap:72px;padding:0 0 58px}
.v20 .final-chapters>.chapter:before{left:var(--timeline-x);top:17px;transform:translate(-50%,-50%);width:18px;height:18px;z-index:1}
.v20 .final-chapters>.chapter:after{content:'';position:absolute;left:var(--timeline-x);top:17px;bottom:-17px;width:2px;transform:translateX(-50%);background:#b8876b}
.v20 .final-chapters>.chapter:last-child:after{display:none}
.v20 .chapter>.chapter-num{margin-top:7px;font-size:11px}
.v20 .chapter .journey-media{max-width:none;width:100%}
@media(min-width:761px){
 .v20 #about .about-layout{grid-template-columns:1fr 1.04fr;gap:64px}
 .v20 #about .about-photo{height:570px}
 .v20 #about .body-copy p:not(.kicker){font-size:19px;line-height:1.8}
}
@media(min-width:761px) and (max-width:1100px){
 .v20 .final-chapters{--timeline-x:181px}
 .v20 .final-chapters>.chapter{grid-template-columns:155px 215px minmax(0,1fr);column-gap:52px}
 .v20 .chapter>.chapter-num{font-size:10px}
 .v20 #about .about-layout{gap:38px}
 .v20 #about .about-photo{height:500px}
 .v20 #about .body-copy p:not(.kicker){font-size:17px}
 .v20 .nav-links{gap:20px}
}
@media(max-width:760px){
 .v20 .topbar{height:122px}
 .v20 .navigation.shell{display:grid;grid-template-columns:1fr auto;grid-template-rows:60px 42px;gap:0;position:relative;padding-block:10px}
 .v20 .navigation .brand,.v20 .navigation .brand img{width:84px;min-width:84px}
 .v20 .navigation .brand img{height:38px}
 .v20 .nav-links{grid-column:1/-1;display:flex;justify-content:space-between;gap:10px;width:100%}
 .v20 .nav-links .desktop-only{display:block}
 .v20 .nav-links a{font-size:11px;white-space:nowrap;padding-block:10px}
 .v20 .nav-links .nav-cta{position:absolute;right:0;top:19px;min-height:42px;padding:9px 20px;font-size:12px}
 html{scroll-padding-top:138px}
 .v20 .hero-actions{gap:12px;flex-wrap:wrap}
 .v20 .hero-actions .button{min-width:0;padding:13px 20px;min-height:48px;font-size:13px}
 .v20 .logo-section{padding-block:49px}
 .v20 .showreel-heading{display:flex;align-items:flex-start;flex-direction:column;gap:21px}
 .v20 .showreel-heading .portfolio-cta{font-size:14px;min-height:48px;padding:12px 24px}
 .v20 .email-address-row{justify-content:center;gap:8px}
 .v20 .contact-email{font-size:14px}
 .v20 #journey{padding-block:62px}
 .v20 .final-journey-heading{margin-bottom:38px}
 .v20 .final-chapters{--timeline-x:-24px;padding-left:32px}
 .v20 .final-chapters>.chapter{grid-template-columns:minmax(0,1fr);gap:14px;padding:0 0 46px}
 .v20 .final-chapters>.chapter:before{top:9px;width:16px;height:16px}
 .v20 .final-chapters>.chapter:after{top:9px;bottom:-9px}
 .v20 .chapter>.chapter-num{font-size:10px;margin:0}
 .v20 .chapter .journey-media{max-width:320px}
 .v20 #about .about-photo{width:min(100%,320px);height:360px}
}
@media(min-width:761px){.v20 #about .about-photo{width:100%;max-width:none}}
