/* Responsive layout and image proportions. */
img{height:auto}
.hero-grid{min-height:640px}
.hero-copy{padding:56px 44px}
.hero h1{font-size:clamp(42px,5vw,64px);line-height:1.18;letter-spacing:-.025em}
.hero-lead{font-size:17px;line-height:1.85}
.hero-photo{min-height:640px}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-photo:after{display:none}
.section-top{grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.section-top h2{font-size:clamp(32px,3.4vw,44px);line-height:1.3}
.section-intro{font-size:17px;line-height:1.9}
.about-grid{gap:24px}
.about-card{padding:32px}
.quote blockquote{font-size:36px;line-height:1.5}
.cta-box{grid-template-columns:minmax(0,1fr) 340px;gap:48px;padding:48px}
.cta h2{font-size:clamp(32px,3.6vw,46px);line-height:1.3}
.qr{margin:0;width:100%;max-width:340px;justify-self:center;padding:20px;border-radius:16px;color:var(--ink);text-align:center;transform:none}
.qr img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:888/1131;object-fit:contain;border-radius:0;transform:none}
.qr figcaption{margin-top:12px;font-size:14px;line-height:1.7}
.qr figcaption strong{display:block;font-size:18px}
.qr-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;margin-top:14px}
.qr-actions a{padding:8px 12px;border:1px solid var(--line);border-radius:8px;font-size:13px}
.contact-steps{padding-left:22px;color:#fff;font-size:15px;line-height:1.9}
.contact-steps li{margin:10px 0}
.mobile-menu{display:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary{gap:20px}
.faq summary:after{flex:none}
.profile-note a{text-decoration:underline}
footer{padding-bottom:40px}
.footer-row{flex-wrap:wrap}
@media(max-width:1000px){
 .nav-inner{gap:14px}.links{gap:16px}
 .cta-box{grid-template-columns:minmax(0,1fr) 300px;gap:32px;padding:36px}
}
@media(max-width:900px){
 .nav-inner{position:relative}
 .mobile-menu{display:block;margin-left:auto}
 .mobile-menu summary{cursor:pointer;list-style:none;padding:8px;font-size:14px;font-weight:700}
 .mobile-menu summary::-webkit-details-marker{display:none}
 .mobile-menu nav{position:absolute;top:64px;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;padding:18px;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 30px #17171312}
 .mobile-menu nav a{padding:12px}
 .hero-grid{grid-template-columns:1.15fr .85fr;min-height:540px}
 .hero-copy{padding:36px 26px}.hero h1{font-size:38px}.hero-photo{min-height:540px}
 .hero-actions .btn{font-size:14px;padding:11px 15px}
 .section-top,.about-grid{grid-template-columns:1fr;gap:24px}
 .cta-box{grid-template-columns:1fr;gap:28px}
}
@media(max-width:600px){
 .nav-inner{height:64px;gap:8px}.brand{gap:7px;font-size:14px}.brand-mark{width:30px;height:30px}.nav-cta{font-size:12px;padding:9px 12px}
 .hero-grid{grid-template-columns:1fr;min-height:0}.hero-copy{padding:36px 24px}.hero h1{font-size:clamp(32px,8vw,46px)}
 .hero-photo{min-height:0;aspect-ratio:4/3}.hero-photo img{object-position:50% 29%}
 .hero-lead{font-size:15px}.eyebrow{font-size:10px;letter-spacing:.1em}
 section{padding:56px 0}.section-top h2{font-size:30px}.section-intro{font-size:16px}
 .metric{padding:20px 16px}.metric b{font-size:27px}.metric span{font-size:12px}
 .service{grid-template-columns:32px minmax(0,1fr);gap:16px;padding:28px 0}.num{font-size:25px}.service h3{font-size:23px}
 .quote blockquote{font-size:28px}.about-card{padding:24px}
 .cta-box{padding:28px 20px;border-radius:20px}.cta h2{font-size:32px}.cta p{font-size:15px}
 .qr{padding:16px;max-width:340px}.qr img{height:auto}.faq summary{font-size:17px}.faq p{padding-right:4px}
}
