/* Main-page compact vertical rhythm. Load after footer-motion.css.
   No fixed section heights; text and 44px+ controls remain in normal flow. */
.hero.hero-light{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);padding-top:16px;padding-bottom:22px}
.hero-light .hero-copy{padding:8px 0}
.hero-light h1{margin-bottom:18px}
.hero-light .hero-lead{margin-bottom:20px}
.hero-light .location{margin-top:16px}
.hero-light .hero-concept{width:100%;max-width:560px;justify-self:end}

.founder{min-height:0;padding-top:26px;padding-bottom:26px}
.founder-copy{width:70%;max-width:900px}
.founder-copy h2{font-size:clamp(26px,2.4vw,34px)}
.founder-copy p{font-size:18px;line-height:1.45;margin:12px 0 16px;max-width:680px}
.founder-link{min-height:48px;font-size:16px;padding:10px 22px}
.founder .personal-brand{margin-top:18px;gap:16px}
.founder .personal-brand>div{font-size:42px}
.founder .personal-brand small{font-size:14px;margin-top:6px}
.founder .arch{width:54px;height:78px;font-size:48px}
.founder .founder-portrait{width:26%;max-width:180px}

#offices,#contacts{display:grid;grid-template-columns:190px minmax(0,1fr);column-gap:28px;padding-top:20px;padding-bottom:20px}
#offices .section-heading,#contacts .section-heading{align-items:flex-start;margin:0}
#offices h2,#contacts h2{font-size:26px;line-height:1.15;letter-spacing:-.6px}
#offices .agency-office-grid{gap:20px}
#offices .agency-office-grid h3{font-size:18px;line-height:1.3;margin-bottom:6px}
#offices .agency-office-grid h3 span{display:inline;margin-left:6px;font-size:11px}
#offices address{font-size:15px;line-height:1.45}
#contacts .agency-contact-grid{gap:14px 28px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
#contacts .agency-contact-grid>div:first-child{display:flex;align-items:center;flex-wrap:wrap;gap:0 18px}
#contacts .agency-contact-label{flex-basis:100%;margin-bottom:4px;font-size:12px;line-height:1.4}
#contacts .agency-contact-primary{display:inline-flex;align-items:center;min-height:44px;font-size:20px;line-height:1.3}
#contacts .agency-messenger-actions{margin-top:4px;gap:10px}
#contacts .agency-contact-links{gap:0 18px;margin-top:0}
#contacts .agency-contact-links a{font-size:14px;min-height:44px}

.rx-footer .rx-footer-content{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:28px;padding-top:18px}
.rx-footer .rx-brand{margin:0;max-width:215px;gap:6px 9px}
.rx-footer .rx-brand strong{font-size:26px}
.rx-footer .rx-brand .xmark{font-size:36px;width:31px}
.rx-footer .rx-brand small{font-size:8px;letter-spacing:1.4px}
.rx-footer .rx-footer-actions{margin-top:0;padding:0;gap:24px;justify-content:flex-end;flex-wrap:wrap}
.rx-footer .footer-nav{margin:0}
.rx-footer .footer-bottom{grid-column:1/-1;margin-top:14px;padding:6px 0 8px;gap:6px 16px}
.rx-footer .rx-art{inset:0;height:100%;opacity:.62}

@media(max-width:1000px){
 #offices,#contacts{grid-template-columns:150px minmax(0,1fr);column-gap:22px}
 #contacts .agency-contact-grid{grid-template-columns:minmax(0,1fr);gap:8px}
 #contacts .agency-contact-grid>div:first-child{gap:0 14px}
 #contacts .agency-contact-label{margin-bottom:2px}
 #contacts .agency-messenger-actions{margin-top:0}
}
@media(max-width:800px){
 .hero.hero-light{grid-template-columns:minmax(0,1fr);gap:18px;padding-top:22px;padding-bottom:24px}
 .hero-light .hero-copy{padding:0}
 .hero-light h1{margin-bottom:16px}
 .hero-light .hero-lead{margin-bottom:18px}
 .hero-light .hero-concept{max-width:420px;justify-self:center}
 .founder-copy{width:70%}
 .founder-copy h2{font-size:28px}
 .founder-copy p{font-size:17px}
 .founder .personal-brand>div{font-size:38px}
 .founder .founder-portrait{width:27%;max-width:180px}
}
@media(max-width:700px){
 #offices,#contacts{grid-template-columns:minmax(0,1fr);row-gap:12px;padding-top:20px;padding-bottom:20px}
 #offices h2,#contacts h2{font-size:25px}
 #offices .agency-office-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
 #offices .agency-office-grid h3{font-size:16px}
 #offices .agency-office-grid h3 span{display:block;margin:4px 0 0}
 #offices address{font-size:14px}
 #contacts .agency-contact-grid{gap:8px}
 #contacts .agency-contact-primary{font-size:20px}
}
@media(max-width:600px){
 .founder{padding-top:24px;padding-bottom:24px}
 .founder-copy{width:100%}
 .founder-copy h2{font-size:26px}
 .founder-copy p{font-size:17px;margin:12px 0 16px}
 .founder-link{width:auto;min-height:48px;padding:10px 18px}
 .founder .personal-brand{max-width:calc(100% - 100px);min-height:128px;margin-top:20px;gap:10px}
 .founder .personal-brand>div{font-size:clamp(26px,6.9vw,38px)}
 .founder .personal-brand small{font-size:12px;max-width:180px}
 .founder .arch{width:40px;height:64px;font-size:36px}
 .founder .founder-portrait{position:absolute;right:0;bottom:0;width:100px;max-width:100px;margin:0}
 .rx-footer .rx-footer-content{grid-template-columns:minmax(0,1fr);padding-top:16px;row-gap:12px}
 .rx-footer .rx-brand{max-width:215px;margin:0 auto}
 .rx-footer .rx-footer-actions{justify-content:space-between;gap:10px;padding:0}
 .rx-footer .footer-bottom{margin-top:0;gap:4px 10px;padding-top:6px;padding-bottom:6px}
 .rx-footer .footer-bottom p:last-child{padding:0}
}
@media(max-width:420px){
 #offices .agency-office-grid{grid-template-columns:minmax(0,1fr);gap:10px}
 #offices .agency-office-grid article{display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px}
 #offices .agency-office-grid h3{margin:0}
 #offices .agency-office-grid h3 span{font-size:10px;line-height:1.3}
 .founder .personal-brand>div{font-size:26px}
}
