/* Self-hosted Open Sans, Apache 2.0. Compact Latin subsets; no external requests. */
@font-face{font-family:'Relaxa Open Sans';src:url('fonts/open-sans-Light-latin.woff') format('woff');font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:'Relaxa Open Sans';src:url('fonts/open-sans-Regular-latin.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Relaxa Open Sans';src:url('fonts/open-sans-Semibold-latin.woff') format('woff');font-style:normal;font-weight:600;font-display:swap}
:root{--font-reading:'Relaxa Open Sans',Arial,sans-serif}
body{font-family:var(--font-reading);font-weight:400;line-height:1.6;font-kerning:normal}
strong,b{font-weight:600}
/* Preserve the existing wordmark, alongside the original supplied icon. */
.brand{font-family:'Relaxa Sans',Arial,sans-serif}
h1,h2,h3{font-family:var(--font-reading);font-kerning:normal;text-wrap:balance;overflow-wrap:break-word}
h1{font-weight:300;letter-spacing:-.045em;line-height:1.08}
h2{font-weight:400;letter-spacing:-.036em;line-height:1.13}
h3{font-weight:600;letter-spacing:-.022em;line-height:1.22}
.home-hero h1{font-weight:300;line-height:1.06;letter-spacing:-.05em}
.page-hero h1{font-weight:300;line-height:1.09;letter-spacing:-.045em}
p{font-kerning:normal}
/* Long contact addresses and catalogue names stay within their existing columns. */
.email-link,.footer-main a[href^="mailto:"]{overflow-wrap:anywhere}
.colour-card h3,.studio-shell .studio-selected-name{overflow-wrap:anywhere}
.intro,.page-hero .intro{line-height:1.6;letter-spacing:-.012em}
.eyebrow{font-weight:600;letter-spacing:.12em}
.button{font-weight:600;letter-spacing:-.012em}
#main-nav{font-weight:400;letter-spacing:-.012em}
.service-card .card-title h3,.colour-card h3,.colour-library-grid .colour-card h3{font-weight:400;letter-spacing:-.025em}
.care-list h3,.contact-area h3{font-weight:600;letter-spacing:-.018em}
.project-pair figcaption strong,.gallery-caption strong{font-weight:400;letter-spacing:-.018em}
.form-grid label{font-weight:600;letter-spacing:0}
.form-grid input,.form-grid select,.form-grid textarea{font-family:var(--font-reading);font-weight:400;line-height:1.5}
.form-grid label>.optional{font-weight:400}
.filter-list button,.project-tabs button,.colour-filters button{font-weight:600}
.footer-main h2{font-weight:600;letter-spacing:.01em}
.footer-main>div>a:not(.brand){line-height:1.6}
.studio-shell{font-family:var(--font-reading)}
.studio-shell .studio-selected-name{font-weight:400;letter-spacing:-.035em;line-height:1.15}
.studio-shell .studio-disclaimer,.studio-shell .studio-selected-note{line-height:1.6}
.project-video-label h3{font-weight:400;letter-spacing:-.028em}
@media(min-width:901px){
 .section-head>div:last-child p,.craft-copy>p:not(.eyebrow),.service-detail>div:last-child>p:not(.eyebrow),.about-story>div>p{line-height:1.65}
 #main-nav>a:not(.button){font-size:13px}
}
@media(max-width:900px){
 #main-nav>a:not(.button){font-weight:400}
 .menu-toggle{font-weight:600;letter-spacing:-.01em}
 .mobile-bar>a{font-weight:600;letter-spacing:-.01em}
}
@media(max-width:620px){
 body{font-size:16px;line-height:1.6}
 h1,.home-hero h1,.page-hero h1{font-weight:400;letter-spacing:-.047em;line-height:1.1}
 .home-hero h1{font-size:clamp(40px,10.8vw,56px);line-height:1.08}
 .page-hero h1{font-size:clamp(35px,9.8vw,47px);line-height:1.12}
 h2,.section-head h2,.craft-copy h2,.studio-teaser-copy h2,.faq-section h2,.service-detail h2,.process-intro h2,.about-story h2,.colour-search-heading h2{font-weight:400;letter-spacing:-.036em;line-height:1.15}
 .home-hero .intro,.page-hero .intro{font-size:16px;line-height:1.6;letter-spacing:-.015em}
 .hero-note{font-size:11px;line-height:1.65}
 .eyebrow{font-size:10px;line-height:1.6;letter-spacing:.085em}
 .button{font-weight:600;line-height:1.4}
 .home-hero .button{font-size:13px;letter-spacing:-.015em}
 .image-tag{font-weight:600;letter-spacing:.04em}
 .card-title h3,.service-card .card-title h3{font-weight:400;line-height:1.18}
 .service-card>p{line-height:1.55}
 .care-list h3{font-size:19px;line-height:1.28}
 .care-list p,.check-list,.three-cards p,.process-list p{line-height:1.6}
 .project-pair figcaption strong{font-size:17px;line-height:1.4}
 .gallery-caption strong{font-size:16px;line-height:1.45}
 .gallery-caption small{font-size:10px;line-height:1.5}
 .faq-list summary{font-size:16px;line-height:1.5;letter-spacing:-.015em}
 .faq-list details>p{font-size:15px;line-height:1.65}
 .colour-card h3,.colour-library-grid .colour-card h3{font-size:18px;line-height:1.35;font-weight:400}
 .colour-filters button{font-size:12px;line-height:1.4;letter-spacing:-.01em}
 .colour-preview-link{font-size:12px;line-height:1.5;min-height:44px}
 .colour-pick{font-size:10px;line-height:1.5}
 .form-grid label{font-size:13px;line-height:1.55}
 .form-grid input,.form-grid select,.form-grid textarea{font-size:16px;line-height:1.5}
 .form-help,.quote-form small{line-height:1.65}
 .footer-main>div>a:not(.brand){font-size:13px;line-height:1.6}
 .studio-shell .studio-swatch small{font-size:11px;line-height:1.45}
 .studio-shell .studio-fieldset legend,.studio-shell .studio-angle-field>label{font-size:12px;line-height:1.5}
 .studio-shell .studio-light-options button{font-size:12px;line-height:1.5}
 .project-video-label h3{font-size:25px;line-height:1.25}
 .project-video-pair figcaption{font-size:14px;line-height:1.6}
}
@media(max-width:359px){
 .home-hero h1{font-size:38px;letter-spacing:-.048em}
 .home-hero .button{font-size:12px;gap:5px}
 .page-hero h1{font-size:34px}
 .colour-card h3,.colour-library-grid .colour-card h3{font-size:17px}
 .phone-link{font-size:29px}
 .footer-main>div>a:not(.brand){font-size:13px}
}
