/* Compact, bounded layout at every screen size. */
:root{--page-gutter:clamp(20px,5vw,72px);--content-width:1180px}
.section-pad,.hero,.site-header{padding-inline:max(var(--page-gutter),calc((100% - var(--content-width))/2))}
.section-pad{padding-block:clamp(48px,6vw,80px)}
.section-label,.intro .section-label{margin-bottom:clamp(28px,3.5vw,44px)}
.section-heading,.expertise .section-heading{margin-bottom:36px}
h2{font-size:clamp(32px,4.2vw,56px);letter-spacing:-.055em}
.intro-grid h2,.about-copy h2{font-size:clamp(32px,3.8vw,48px)}
.intro-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(28px,6vw,72px)}
.intro-copy,.about-copy,.hero-copy,.section-heading>*,.automation-heading>*{min-width:0}
.facts{margin-top:44px;padding-top:28px}
.facts strong{font-size:clamp(34px,3.8vw,46px)}
.hero{padding-top:108px}
.hero-content{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;min-height:0;padding-top:30px;gap:40px}
.hero-copy{padding:18px 0 26px}
.hero h1{font-size:clamp(34px,4.3vw,64px);line-height:1.09;letter-spacing:-.055em}
.hero-copy>.eyebrow{line-height:1.6;flex-wrap:wrap;margin-bottom:22px}
.hero-copy>p:not(.eyebrow){font-size:14px;max-width:360px;margin-top:20px}
.round-link{margin-top:24px}
.portrait-wrap{width:100%;max-width:400px;height:clamp(300px,34vw,420px);justify-self:end;align-self:end;margin:0}
.portrait{height:100%;max-height:420px;object-position:50% 24%}
.portrait-tag{right:0;bottom:12%;font-size:10px;padding:12px 16px}
.hero-bottom{padding:20px 0;gap:24px;line-height:1.5}
.name-band{font-size:clamp(26px,6vw,80px);line-height:1.15;letter-spacing:-.055em;white-space:normal;overflow-wrap:anywhere;margin:0;padding:8px 0 26px;align-items:flex-start;gap:10px;max-width:100%}
.name-band span{font-size:12px;line-height:1;margin:8px 0 0;flex-shrink:0}
.expertise-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,5vw,64px)}
.expertise-tabs button{font-size:clamp(18px,1.8vw,24px);padding:24px 0}
.expertise-panel{min-width:0;min-height:310px;padding:28px}
.expertise-panel h3{font-size:25px}
.about-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr);gap:clamp(28px,6vw,76px)}
.about-photo{max-width:360px}
.contact h2{font-size:clamp(42px,6vw,80px);width:auto;letter-spacing:-.06em}
.contact-star{position:static;display:inline-block;vertical-align:top;font-size:clamp(28px,3.6vw,44px);margin-left:18px}
.contact-circle{width:130px;height:130px;flex-shrink:0}
.contact-heading{gap:28px;padding-bottom:38px}
.contact-links{padding-bottom:44px}
.project-actions{flex-wrap:wrap}
.dialog-text .eyebrow{line-height:1.6;overflow-wrap:anywhere}
.dialog-board img,.about-photo img{height:auto}
@media(max-width:900px){
 .section-heading,.automation-heading{display:block}
 .section-heading>p,.automation-heading>p{margin-top:20px;max-width:450px}
 .hero-content{gap:26px}
 .hero-copy>.eyebrow{font-size:8px}
 .portrait-wrap{height:340px}
 .portrait-tag{font-size:9px;padding:10px 12px}
 .portrait-tag .spark{font-size:26px}
 .expertise-layout{gap:24px}
 .expertise-tabs button{gap:14px;font-size:20px}
 .expertise-panel{padding:24px}
}
@media(max-width:700px){
 .section-pad{padding-block:48px}
 .site-header{height:72px}
 .hero{padding-top:98px}
 .hero-top{flex-wrap:wrap;gap:12px}
 .hero-content{grid-template-columns:minmax(0,1fr);padding-top:28px;gap:12px}
 .hero-copy{padding:0;max-width:480px}
 .hero h1{font-size:clamp(34px,9.4vw,44px)}
 .hero-copy>.eyebrow{margin-bottom:18px;font-size:8px}
 .hero-copy>p:not(.eyebrow){max-width:360px;font-size:13px;margin-top:18px}
 .round-link{margin-top:20px}
 .portrait-wrap{width:min(76%,280px);height:300px;max-width:280px;justify-self:center;margin:16px 0 0}
 .portrait-tag{bottom:18px;right:-12px}
 .hero-bottom{padding:18px 0;font-size:9px}
 .name-band{font-size:clamp(24px,6.3vw,36px);padding:4px 0 22px;gap:7px}
 .name-band span{font-size:9px;margin-top:4px}
 .intro-grid,.expertise-layout,.about-grid{grid-template-columns:minmax(0,1fr);gap:28px}
 .intro-grid h2,.about-copy h2{font-size:clamp(30px,8.4vw,38px)}
 h2{font-size:clamp(30px,8.5vw,40px)}
 .section-label,.intro .section-label{margin-bottom:28px}
 .section-heading,.expertise .section-heading{margin-bottom:28px}
 .facts{margin-top:32px;gap:26px 18px}
 .facts strong{font-size:36px}
 .facts>div{padding-left:16px}
 .expertise-tabs button{font-size:20px;padding:20px 0}
 .expertise-panel{min-height:280px}
 .expertise-panel h3{font-size:24px}
 .about-photo{width:min(78%,280px)}
 .contact h2{font-size:clamp(40px,10.5vw,52px)}
 .contact-star{font-size:28px;margin-left:12px}
 .contact-heading{padding-bottom:28px}
 .contact-circle{width:100px;height:100px;margin-top:24px}
 .contact-links{padding-block:24px 34px}
 .project-caption h3{font-size:22px}
 .filters button{padding:10px 13px}
 .project-actions{align-items:flex-start;gap:14px}
 .dialog-text h2{font-size:clamp(28px,8vw,35px)}
}
@media(max-width:360px){
 .hero h1{font-size:32px}
 .portrait-wrap{height:270px;width:80%}
 .portrait-tag{font-size:8px;right:-8px;padding:9px}
 .hero-top .eyebrow{font-size:7px}
 .hero-location{font-size:8px}
 .facts span{font-size:9px}
 .contact-links>a{padding-inline:14px;gap:12px;font-size:9px}
 .socials{gap:18px;flex-wrap:wrap}
}
