@font-face{font-family:'JMG Reference Serif';src:url('assets/cormorant-reference-v5.woff2') format('woff2');font-style:normal;font-weight:400 500;font-display:swap}
@font-face{font-family:'DM Sans Web';src:url('assets/dm-sans-variable.woff2?v=4') format('woff2');font-style:normal;font-weight:400 600;font-display:swap}
:root{--display:'JMG Reference Serif',Georgia,'Times New Roman',serif;--text:'DM Sans Web',Arial,sans-serif;--sans:'DM Sans Web',Arial,sans-serif}
body{font-family:var(--text);font-size:16px;line-height:1.7;font-optical-sizing:auto;font-synthesis:none}
h1,h2,h3{font-weight:500;font-optical-sizing:auto}
h1{font-size:clamp(48px,4.45vw,72px);line-height:1.05;letter-spacing:-1.7px;max-width:1040px;margin-bottom:27px}
.desktop-nav a{font:400 23px/1.5 var(--display);letter-spacing:0;padding:10px 0;min-height:44px;display:inline-flex;align-items:center}
.desktop-nav a:after{bottom:1px}
.hero-copy{font:400 clamp(23px,1.8vw,28px)/1.4 var(--display);letter-spacing:0;max-width:690px;margin-bottom:72px;color:#303129}
.button{font:400 23px/1.3 var(--display);letter-spacing:0;min-height:60px;padding:16px 27px;gap:32px}
.button span{font:400 30px/1 var(--display)}
.section-heading h2{font-size:clamp(58px,5.6vw,90px);line-height:1.13;letter-spacing:-2px;margin-bottom:15px}
.section-heading>p{font:400 clamp(26px,2.3vw,36px)/1.25 var(--display);letter-spacing:-.3px}
.company-sector{font:400 22px/1.25 var(--display);letter-spacing:0;margin-top:14px}
.about h2,.contact h2{font-size:clamp(44px,4.5vw,68px);line-height:1.12;letter-spacing:-1.6px}
.about-text{font:400 16px/1.75 var(--text);max-width:62ch}
.value-row h3{font:400 32px/1.2 var(--display);letter-spacing:-.5px}
.value-row p{font:400 15px/1.65 var(--text)}
.value-number{padding-top:10px}
.contact-copy>p{font:400 16px/1.75 var(--text);max-width:450px}
.text-link{font:500 15px/1.5 var(--sans);min-height:44px;align-items:center}
.contact-form label{font:500 14px/1.5 var(--text)}
input,select,textarea{font:400 16px/1.6 var(--text);min-height:44px}
textarea{min-height:115px}
.form-bottom p{font:400 12px/1.6 var(--sans)}
.form-bottom .button{font:500 14px/1.5 var(--sans);min-height:54px;gap:20px}
.tiny-label,.eyebrow{font:500 11px/1.6 var(--sans);letter-spacing:.12em}
.placeholder-email{font:400 27px/1.4 var(--display)}
.placeholder-tag,.website-note{font:400 12px/1.6 var(--sans)}
.menu-toggle{font:500 14px/1.5 var(--sans);min-height:44px}
.mobile-menu a{font:400 25px/1.6 var(--display);min-height:44px;padding:5px 0}
.site-footer>p{font:400 19px/1.45 var(--display)}
.footer-meta,.footer-link{font:400 11px/1.6 var(--sans)}
.footer-link,.footer-meta>a{min-height:24px;display:inline-flex;align-items:center}
.dialog-content h2{font-size:44px;line-height:1.15;letter-spacing:-1px}
.dialog-content>p:not(.eyebrow){font:400 16px/1.75 var(--text)}
.dialog-content .button{font:500 13px/1.5 var(--sans);min-height:54px}
.message-dialog h2{font-size:39px;line-height:1.15;letter-spacing:-1px}
.message-dialog>p:not(.eyebrow){font:400 16px/1.75 var(--text)}
.message-dialog ul{font:400 13px/1.9 var(--sans)}
.small-print{font:400 12px/1.7 var(--sans)!important}
.dialog-close{width:44px;height:44px;font-family:var(--sans)}
@media(max-width:1000px){h1,.hero h1{font-size:52px;line-height:1.08;letter-spacing:-1.4px}.hero-copy{font-size:24px;max-width:650px;margin-bottom:55px}.section-heading h2{font-size:68px}.section-heading>p{font-size:30px}.company-sector{font-size:22px}.about h2,.contact h2{font-size:54px}.footer-meta{font-size:11px}}
@media(max-width:700px){h1,.hero h1{font-size:46px;line-height:1.1;letter-spacing:-1.3px}.hero-copy{font-size:22px;max-width:550px;margin-bottom:45px}.section-heading h2{font-size:58px}.section-heading>p{font-size:27px}.company-sector{font-size:21px}.about h2,.contact h2{font-size:48px}.about-text{font-size:16px}.contact-copy>p{font-size:16px}.dialog-content h2{font-size:38px}.dialog-content>p:not(.eyebrow){font-size:16px}.footer-meta{gap:12px;flex-wrap:wrap}}
@media(max-width:480px){h1,.hero h1{font-size:40px;line-height:1.12;letter-spacing:-1px}.hero-copy{font-size:21px;line-height:1.4;max-width:335px;margin-bottom:35px}.hero .button{font:400 21px/1.3 var(--display);padding:16px 21px;min-height:56px}.section-heading h2{font-size:48px;letter-spacing:-1.4px}.section-heading>p{font-size:25px;line-height:1.25;margin-top:12px}.company-sector{font-size:19px;line-height:1.3}.about h2,.contact h2{font-size:43px}.about-text{font-size:16px;line-height:1.75}.contact-copy>p{font-size:16px}.value-row h3{font-size:30px}.value-row p{font-size:14px}.form-bottom .button{font-size:14px}.site-footer>p{font-size:17px}.dialog-content h2{font-size:35px}.dialog-content .button{font-size:13px}.message-dialog h2{font-size:33px}.message-dialog .button{font-size:14px}.placeholder-email{font-size:25px}.footer-meta,.footer-link{font-size:10px}}
@media(max-width:480px){.company-wordmark{max-width:100%}.card-body{min-height:200px;padding-bottom:54px}.round-arrow{top:auto;bottom:14px;right:12px}}
@media(max-width:350px){h1,.hero h1{font-size:35px;letter-spacing:-.9px}.hero-copy{font-size:20px}.section-heading h2{font-size:42px}.section-heading>p{font-size:23px}.company-sector{font-size:18px}.about h2,.contact h2{font-size:39px}}
