/* Shared typography and deliberate image/text composition. */
body{font-family:Arial,Helvetica,sans-serif;line-height:1.5}
h1,h2,h3,.r-header,.r-label,.r-button,.r-special-list>a{font-family:NovaDisplay,'Arial Narrow',sans-serif;font-weight:400}
.r-project h3{display:block!important;letter-spacing:0!important;word-spacing:0;font-size:clamp(20px,1.6vw,29px);line-height:1.2}
.r-project h3>span:last-child:not(.r-dot){float:right;margin-left:14px}
.r-dot{display:inline!important;font-family:Arial!important;letter-spacing:0!important;margin:0!important;padding:0!important}
.r-special-preview,.r-special-list small,.r-special-list b{display:none!important}
.r-special-list{gap:14px;max-width:1480px;margin:65px auto 0}
.r-special-list>a{display:flex;gap:20px;width:100%;justify-content:center;align-items:center;font-size:clamp(60px,12.8vw,205px);line-height:1;letter-spacing:-.035em;transform:none!important}
.r-special-list>a>span{display:block;white-space:nowrap}
.nova-service-proof{width:21vw;max-width:310px;aspect-ratio:1.5;height:auto;object-fit:contain;background:transparent;flex-shrink:0;transition:transform .5s ease}
.r-special-list>a:hover .nova-service-proof{transform:skew(-7deg)}
.r-about{grid-template-columns:1fr 1.2fr;min-height:0!important;padding:30px 24px 70px;gap:45px;align-items:stretch}
.r-about h2{font-size:clamp(35px,4.7vw,82px)!important;margin:90px 0 24px;line-height:1.08}
.r-about p{font-size:clamp(16px,1.4vw,23px)!important;max-width:650px;line-height:1.55}
.r-about figure{min-height:0!important;display:flex;align-items:center;background:transparent;overflow:visible}
.r-about figure img{width:100%;height:auto!important;object-fit:contain;max-height:none}
.r-about .r-button{margin-top:45px}
.r-view{display:none!important}
.r-project p{font-size:clamp(15px,1.3vw,22px);line-height:1.45;margin-top:8px;max-width:95%;color:#b4b4b4}
.r-home .r-project{width:58%;margin-bottom:160px}
.r-home .r-project:nth-child(even){width:47%;margin-left:auto;margin-right:0}
.r-home .r-floating-projects{padding:0 5.5%}
@media(max-width:900px){.r-header nav{gap:13px;font-size:15px}.r-location{display:none}.r-about{gap:25px}.r-home .r-project{width:65%}.r-home .r-project:nth-child(even){width:57%}}
@media(max-width:700px){.r-specialisms{padding:55px 16px}.r-special-list{gap:16px;margin-top:40px}.r-special-list>a{font-size:11vw;gap:10px;justify-content:space-between}.nova-service-proof{width:25vw}.r-about{display:flex;flex-direction:column;padding:35px 16px;gap:30px}.r-about h2{margin:40px 0 20px;font-size:11vw!important}.r-about p{font-size:17px!important}.r-about figure{order:0}.r-about .r-button{margin-top:30px}.r-home .r-project,.r-home .r-project:nth-child(even){width:100%;margin:0 0 60px}.r-home .r-floating-projects{padding:0 16px}.r-project h3{font-size:23px}.r-project p{font-size:16px}.r-header nav{display:none}.r-menu-button{display:block}}
/* One font family throughout, with weight and scale defining hierarchy. */
body,h1,h2,h3,.r-header,.r-label,.r-button,.r-special-list>a,.r-mobile-menu,.nova-hover-label,.nova-expanding-reel>span,.archive-filter button{font-family:Arial,Helvetica,sans-serif!important}
h1,h2,h3,.r-special-list>a{font-weight:900!important}
.r-header,.r-label,.r-button,.nova-hover-label{font-weight:700!important}
.r-special-list>a{font-size:clamp(46px,7.6vw,125px)}
@media(max-width:700px){.r-special-list>a{font-size:6.8vw}.r-hero h1{font-size:10.8vw!important}.r-second{font-size:inherit!important}}
.r-hero h1{font-size:7.1vw!important}.r-second{font-size:inherit!important}
@media(max-width:700px){.r-hero h1{font-size:10.8vw!important}.r-contact h2{font-size:13vw!important}.r-hello{font-size:15vw}.r-footer h3{font-size:35px}}
