@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/Inter-400.ttf") format("truetype")}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/Inter-500.ttf") format("truetype")}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/Inter-600.ttf") format("truetype")}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url("assets/fonts/Inter-700.ttf") format("truetype")}
/* Shared reading and control sizes for the homepage and application pages. */
body{font-size:16px;line-height:1.7}
header nav{font-size:16px;font-weight:500;gap:30px}
header nav a{line-height:1.4;padding-top:10px;padding-bottom:10px}
header .nav-cta{font-size:16px;padding:15px 23px}
header #menu{font-size:16px;min-height:44px;padding:8px 12px}
.hero-copy>p{font-size:18px;line-height:1.75}
.lead{font-size:20px;line-height:1.65}
.eyebrow,.card-content .eyebrow{font-size:12px;letter-spacing:1.3px;line-height:1.6}
.section-top,.section-top>span,.section-label{font-size:13px;line-height:1.6}
.intro-strip>span{font-size:12px}
.button,.text-link,.card-content a{font-size:15px;line-height:1.5}
.button{min-height:50px;padding:16px 24px}
.card-content p,.benefits p,.steps p,.mechanics p,.faq details p{font-size:16px;line-height:1.75}
.card-content h3{font-size:27px}
.card-content a{padding-top:18px}
.benefits article>span,.steps span{font-size:12px}
.steps h3{font-size:23px}
.toggle button{font-size:14px;padding:11px 15px;line-height:1.5;min-height:44px}
.mechanics small,.note,.specimen-caption,.application-diagram>span{font-size:12px;line-height:1.7}
.specimen-caption{letter-spacing:.7px}
.photo-label span,.vertical-label{font-size:11px}
summary{font-size:17px;line-height:1.5;padding-top:23px;padding-bottom:23px}
label{font-size:14px;line-height:1.5}
input,select,textarea{font-size:16px;line-height:1.6}
footer p,footer>a:last-of-type{font-size:14px}
.footer-bottom{font-size:12px;line-height:1.6}
.document-meta>span{font-size:15px}
.document-meta b{font-size:12px}
.technical-figure figcaption,.photos figcaption{font-size:14px;line-height:1.7}
.photos figcaption span{font-size:12px}
.small{font-size:14px!important;line-height:1.75}
#approach .editorial p,#approach .editorial p.small,#approach .editorial p.lead{font-size:16px!important;line-height:1.75}
.record-heading p,.closing>p:not(.eyebrow){font-size:16px;line-height:1.75}
html{scroll-padding-top:150px}
@media(max-width:1100px){
 header #menu{display:block;border:0;background:transparent}
 header nav{display:none;position:absolute;top:131px;left:0;right:0;background:#032e23;padding:22px 5%;flex-direction:column;align-items:stretch;border-bottom:1px solid #365648;gap:12px}
 header nav.open{display:flex}
 header nav a{min-height:44px}
}
@media(max-width:700px){
 header nav{top:103px}
 html{scroll-padding-top:120px}
 .hero-copy>p{font-size:17px}
 .lead{font-size:18px}
 .eyebrow,.card-content .eyebrow{font-size:11px}
 .section-top,.section-top>span:last-child:not(:first-child),.section-label{font-size:12px}
 .section-top{align-items:flex-start;gap:15px}
 .section-top>span:last-child:not(:first-child){max-width:45%}
 .card-content h3{font-size:26px}
 .steps h3{font-size:22px}
 .steps p{font-size:16px}
 .steps{grid-template-columns:1fr}
 .intro-strip>span{font-size:12px}
 .mechanics small,.note{font-size:12px}
 footer p{font-size:14px}
 .technical-figure figcaption{font-size:13px}
}

/* Inter for interface and reading text; Georgia remains on editorial italics. */
body{font-family:Inter,Arial,Helvetica,sans-serif}button,input,select,textarea{font-family:inherit}#approach .editorial p,#approach .editorial p.small,#approach .editorial p.lead{font-family:Inter,Arial,Helvetica,sans-serif}

/* Comfortable 100% viewing: compact layout, preserved reading sizes. */
header{height:120px}
html{scroll-padding-top:120px}
.section{padding-top:40px;padding-bottom:60px;scroll-margin-top:0}
.section-top{margin-bottom:32px}
.hero{min-height:590px}
.hero-copy{padding-top:52px;padding-bottom:50px}
h1{font-size:clamp(44px,4.1vw,68px)}
h2{font-size:clamp(34px,3.15vw,50px)}
.project h2{font-size:clamp(38px,3.8vw,58px)}
.two-col{gap:50px;margin-bottom:34px}
.intro-strip{padding-top:22px;padding-bottom:22px}
.technical-header{padding-top:44px;padding-bottom:44px}
.technical-header h1{font-size:clamp(30px,3.15vw,47px)}
.record-heading h2,.editorial h2{font-size:32px}
@media(max-width:1100px){header nav{top:119px}}
@media(max-width:700px){
 header{height:104px}
 header nav{top:103px}
 html{scroll-padding-top:104px}
 .section{padding-top:28px;padding-bottom:44px}
 .section-top{margin-bottom:26px}
 .hero-copy{padding-top:36px;padding-bottom:38px}
 h1{font-size:44px;letter-spacing:-1.8px}
 h2{font-size:34px}
 .project h2{font-size:40px}
 .technical-header{padding-top:32px;padding-bottom:32px}
 .technical-header h1{font-size:30px}
 .record-heading h2,.editorial h2{font-size:29px}
 .two-col{gap:20px}
}
