/* Editorial updates; original Why Finar and Republic designs restored. */
.desktop-nav,.nav-trigger,.mobile-menu>a{font-weight:400}
.header .header-cta{font-size:calc(13px + 4pt);font-weight:600;background:var(--blue);border:1px solid #6391ff;color:white;box-shadow:0 4px 24px #225fff45;padding:14px 22px;transition:background .2s,transform .2s,box-shadow .2s}
.header .header-cta span{margin-left:14px}
.header .header-cta:hover{background:#154bdf;transform:translateY(-2px);box-shadow:0 8px 30px #225fff65}
.header.scrolled .header-cta{background:var(--blue);color:white;border-color:var(--blue)}
.hero-cover-eyebrow{font-weight:600;letter-spacing:.06em;font-size:14px;max-width:520px}
.hero-cover-description{max-width:460px;font-size:18px;line-height:1.8;text-wrap:pretty}
.service-card h3{font-size:clamp(30px,3.15vw,50px);line-height:1.15;font-weight:600;letter-spacing:-.045em}
.service-card{padding-top:42px;padding-bottom:42px;grid-template-columns:45px 1.1fr 1fr 45px}
.service-top>span{font-size:14px}
.service-top svg{width:40px;height:40px}
.service-card .card-link{width:45px;height:45px;border-color:#8babff;color:#a9c0ff}
.service-card:hover h3{color:#b6caff}
.work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;align-items:start}
.work-grid .project-wide{grid-column:auto}
.work-grid .project-image,.work-grid .project-wide .project-image{aspect-ratio:1.13}
.work-grid .project-info{gap:8px;display:block}
.work-grid .project-info h3{font-size:23px;line-height:1.25;font-weight:500}
.work-grid .project-info p{font-size:12px;line-height:1.7}
.work-grid .project-info>span{display:block;margin-top:12px;font-size:10px}
.work-grid .project-pill{top:15px;left:15px;padding:8px 10px;font-size:8px}
.work-grid .project-arrow{width:40px;height:40px;right:15px;bottom:15px}
.award-heading h2{font-size:clamp(28px,3.5vw,50px);line-height:1.15;max-width:980px}
.award-heading{align-items:flex-start}
.award-star{padding-top:10px}
@media(min-width:761px) and (max-width:1190px){
.header .header-cta{font-size:calc(11px + 4pt);padding:13px 18px}
.header{gap:18px}
.desktop-nav{gap:18px}
.service-card{gap:12px 20px;grid-template-columns:30px 1.05fr 1fr 42px}
.service-card h3{font-size:32px}
.work-grid .project-info h3{font-size:20px}
}
@media(min-width:1101px) and (max-width:1190px){
.header{padding-left:25px;padding-right:25px}
.desktop-nav{gap:15px}
.brand,.brand img{width:88px}
}
@media(max-width:760px){
.header .header-cta{font-size:calc(10px + 4pt);padding:10px 15px}
.header .header-cta span{margin-left:10px}
.header-right{gap:15px}
.language{font-size:10px}
.hero-cover-eyebrow{font-size:11px;line-height:1.8;max-width:300px;letter-spacing:.035em}
.hero-cover-description{font-size:16px;max-width:330px;line-height:1.8}
.hero-cover-content{padding-bottom:135px}
.hero-cover{min-height:max(780px,100svh)}
.service-card{grid-template-columns:25px minmax(0,1fr) 38px;gap:18px 12px;padding:30px 0}
.service-card h3{font-size:clamp(25px,6.4vw,34px);font-weight:600}
.service-card .card-link{width:36px;height:36px}
.service-top>span{font-size:11px}
.work-grid{grid-template-columns:1fr;gap:38px}
.work-grid .project-image,.work-grid .project-wide .project-image{aspect-ratio:1.2}
.work-grid .project-info h3{font-size:23px}
.work-grid .project-pill{font-size:8px}
.award-heading h2{font-size:30px}
.award-star{font-size:42px}
.award-heading .eyebrow{line-height:1.8}
}
@media(max-width:390px){
.language{display:none}
.header-right{gap:12px}
.header .header-cta{font-size:14px;padding:10px 12px}
}
.mega .mega-title{font-weight:400}

/* Republic project: red text panel. */
.republic-copy{background:#bc1428;color:#fff}
.republic-copy .eyebrow{color:#fff}
.republic-copy h2{color:#fff}
.republic-copy>p:not(.eyebrow){color:#ffeced}
.republic-copy .text-link{color:#fff;border-color:#fff}
.republic-copy .text-link:hover{color:#ffe0e3}
/* Header mark: 15% larger, aligned with the hero's text column. */
.header{padding-left:max(56px,calc((100% - 1512px)/2));padding-right:max(56px,calc((100% - 1512px)/2))}
.header .brand,.header .brand img{width:131.1px}
@media(max-width:1190px){.header{padding-left:32px;padding-right:32px}.header .brand,.header .brand img{width:109.25px}}
@media(min-width:1101px) and (max-width:1190px){.header .brand,.header .brand img{width:101.2px}}
@media(max-width:960px){.header .brand,.header .brand img{width:97.75px}}
@media(max-width:760px){.header{padding-left:20px;padding-right:20px}.header .brand,.header .brand img{width:108.1px}}
