/* Typography from halo-lab.com, verified 14 October 2026.
   Shared roles: hero, section heading, editorial label, card heading and reviews.
   Authored serif letter/team-card layouts retain their distinct editorial role. */
@font-face{font-family:Suisse;src:url("assets/SuisseIntl-Medium-WebS.woff") format("woff");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Suisse;src:url("assets/SuisseIntl-SemiBold.woff") format("woff");font-weight:600;font-style:normal;font-display:swap}
/* Identical root scaling is required for every rem-based typography role. */
html:root{font-family:sans-serif;font-size:1rem}
@media(min-width:1801px){html:root{font-size:1.25rem}}
@media(min-width:992px) and (max-width:1800px){html:root{font-size:1.1vw}}
@media(min-width:480px) and (max-width:991px){html:root{font-size:calc(.3rem + 1.5vw)}}
@media(min-width:320px) and (max-width:479px){html:root{font-size:5vw}}
.hero h1#hero-title,#teams>h2,#work>h2,#recognition h2,#main-principles h2,#main-principles .grid-reasons__rich h3,#work .case-title{font-family:Suisse,Arial,sans-serif;font-style:normal;text-wrap:wrap}
body,.site-source,#main-principles .grid-reasons__rich p{font-size:1rem}
.hero h1#hero-title{max-width:60rem;margin-left:auto;margin-right:auto}
.hero-title-line:last-child{max-width:none}
#work>.eyebrow,#main-principles .h2-label{font-weight:400;margin:0}
#work>.eyebrow{margin-bottom:1rem}
#main-principles .heading-center-wrap{display:flex;flex-direction:column;align-items:center}
#main-principles h2{margin:0}
#main-principles .grid-reasons__rich h3,#work .case-title{font-weight:500}
#love-letters .lovelatters-heading{font-weight:500}
/* Editorial card titles must fit the narrower two-column tablet cards. */
@media(max-width:991px){#teams .team-title-last{white-space:normal}}
@media(min-width:768px) and (max-width:991px){#teams h3{font-size:2.5rem}}
@media(max-width:767px){#teams h3{font-size:1.75rem}}
body, .site-source, #main-principles .grid-reasons__rich p{font-family:Suisse, Arial, sans-serif;font-size:1rem;line-height:1.6;}
#teams>h2, #work>h2, #recognition h2, #main-principles h2{letter-spacing:-0.02ch;text-transform:none;font-size:3.5rem;font-weight:600;line-height:1.1;}
#main-principles .heading-center-wrap{margin-bottom:4rem;}
#work>.eyebrow, #main-principles .h2-label{letter-spacing:0.04ch;font-family:"Instrument Serif", Arial, sans-serif;font-size:1.375rem;font-style:italic;line-height:1.4;}
#main-principles .grid-reasons__rich h3{letter-spacing:-0.03rem;font-size:1.5rem;line-height:1.2;}
.hero h1#hero-title{letter-spacing:-0.04rem;text-transform:none;font-size:4rem;font-weight:500;line-height:1.1;}
#love-letters .lovelatters-heading{letter-spacing:-0.03ch;text-transform:none;font-family:"Instrument Serif", Arial, sans-serif;font-size:7.5rem;font-style:italic;line-height:0.9;}
#love-letters .lovelatters-heading.mod--compact{font-size:6rem;}
@media screen and (max-width: 991px){
body, .site-source, #main-principles .grid-reasons__rich p{font-size:0.875rem;}
#teams>h2, #work>h2, #recognition h2, #main-principles h2{letter-spacing:-0.8px;font-size:2.5rem;}
#main-principles .heading-center-wrap{margin-bottom:3.5rem;}
#work>.eyebrow, #main-principles .h2-label{letter-spacing:-0.02ch;font-size:1.1255rem;line-height:1;}
#main-principles .grid-reasons__rich h3{font-size:1.125rem;}
.hero h1#hero-title{letter-spacing:-0.06rem;font-size:2.75rem;}
#love-letters .lovelatters-heading{font-size:4rem;}
#love-letters .lovelatters-heading.mod--compact{font-size:4rem;}
}
@media screen and (max-width: 767px){
body, .site-source, #main-principles .grid-reasons__rich p{font-size:0.75rem;}
#teams>h2, #work>h2, #recognition h2, #main-principles h2{font-size:1.5rem;}
#main-principles .heading-center-wrap{margin-bottom:2.5rem;}
.hero h1#hero-title{letter-spacing:-0.26px;font-size:2.75rem;}
#love-letters .lovelatters-heading{font-size:2.5rem;}
#love-letters .lovelatters-heading.mod--compact{font-size:2.5rem;}
}
@media screen and (max-width: 479px){
#teams>h2, #work>h2, #recognition h2, #main-principles h2{letter-spacing:-0.015rem;}
#work>.eyebrow, #main-principles .h2-label{font-size:0.8755rem;}
.hero h1#hero-title{max-width:none;font-size:1.875rem;}
}
/* Branding evolution card type roles, including tablet/mobile. */
#work .case-title{letter-spacing:-0.03rem;font-size:1.5rem;font-weight:500;line-height:1.2;}
#teams .card p, #work .case-meta>p{text-wrap:balance;font-size:1rem;line-height:1.6;}
@media screen and (max-width: 991px){
#work .case-title{letter-spacing:-0.025rem;font-size:1.25rem;}
#teams .card p, #work .case-meta>p{font-size:0.875rem;}
}
@media screen and (max-width: 479px){
#work .case-title{letter-spacing:-0.0225rem;font-size:1.125rem;}
}
/* About Figma 89019:53261: Suisse Medium 64 / 110% / -2%. */
.hero h1#hero-title{max-width:61.625rem;font-weight:500;letter-spacing:-0.08rem;}
@media screen and (max-width: 1199px){
.hero h1#hero-title{font-size:clamp(3.25rem, 5vw, 4rem);}
}
@media screen and (min-width: 768px) and (max-width: 991px){
.hero h1#hero-title{font-size:3rem;line-height:1.06;letter-spacing:-0.06rem;}
}
@media screen and (max-width: 767px){
.hero h1#hero-title{font-size:2rem;line-height:1.1;letter-spacing:-0.04rem;}
}
.hero h1#hero-title{max-width:63.375rem}
@media(max-width:479px){.hero h1#hero-title{max-width:none}}

@media(max-width:991px){#work>.eyebrow{margin-bottom:.75rem}}
