/* Hero reference dimensions. Shared page and profile typography stays unchanged. */
.hero{display:grid;grid-template-columns:50% 50%;min-height:638px}
.hero-copy,.site-body>main>.hero>.hero-copy{padding:56px 30px 58px 52px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0}
.hero .eyebrow{font-size:13px;font-weight:650;letter-spacing:.11em;text-transform:uppercase;margin-bottom:14px}
.hero-pretitle{font-size:17px;font-weight:600;line-height:1.7;margin-bottom:18px;color:var(--center)}
.hero h1{font-size:clamp(42px,3.65vw,56px);font-weight:750;line-height:1.33;letter-spacing:-.05em;text-wrap:pretty;white-space:normal}
.hero .brand-slogan{margin-top:16px;font-size:17px;font-weight:600;color:var(--brown)}
.hero .hero-desc{font-size:18px;font-weight:450;line-height:1.85;margin-top:27px;max-width:none}
.hero-desc span{display:block}
.hero .hero-actions{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:23px;margin-top:36px;max-width:none}
.hero .hero-actions>.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:56px;min-width:0;width:auto;padding:15px 22px;border-radius:7px;flex-shrink:0;font-size:17px;white-space:nowrap}
.hero .button>.ui-icon{flex-shrink:0}
.hero-photo{position:relative;min-width:0;background:#e6e3dc;aspect-ratio:auto}
.hero>.hero-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:57% center}
.hero>.hero-photo:after{display:block;content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(21,29,51,.65))}
.photo-caption{position:absolute;bottom:40px;left:34px;right:25px;z-index:1;color:#fff;display:flex;justify-content:space-between;align-items:flex-end;gap:15px}
.photo-caption>span{font-size:28px;font-weight:600;line-height:1.5;letter-spacing:-.04em}
.photo-caption small{font-size:10px;letter-spacing:.12em;writing-mode:vertical-rl}
@media(min-width:1600px){.hero{min-height:680px}.site-body>main>.hero>.hero-copy{padding-left:72px}.hero .hero-actions{flex-direction:column;align-items:flex-start}.hero h1{font-size:56px}}
@media(max-width:1220px){.site-body>main>.hero>.hero-copy{padding-left:40px;padding-right:24px}.hero h1{font-size:44px}.hero .hero-desc{font-size:17px}}
@media(max-width:1000px){.hero h1{font-size:44px}.hero{min-height:610px}}
@media(max-width:760px){.hero{grid-template-columns:1fr;min-height:0}.site-body>main>.hero>.hero-copy{padding:28px 24px 38px}.hero h1{font-size:38px;line-height:1.37;letter-spacing:-.04em}.hero .hero-desc{font-size:17px;line-height:1.8;margin-top:24px}.hero .hero-actions{flex-direction:column;align-items:flex-start;gap:20px;margin-top:30px}.hero .hero-actions>.button{min-height:54px;padding:14px 18px}.hero-photo{aspect-ratio:1.55}.photo-caption{left:24px;bottom:23px;right:20px}.photo-caption>span{font-size:24px}}
@media(max-width:370px){.hero h1{font-size:32px}}

/* Keep both buttons and the supplied portrait visible on tablets. */
.hero .hero-actions{align-items:stretch}
.hero .hero-actions>.button{height:64px}
@media(min-width:761px) and (max-width:1220px){.hero{grid-template-columns:1fr;min-height:0}.site-body>main>.hero>.hero-copy{padding-top:36px;padding-bottom:46px}.hero-photo{aspect-ratio:1.55;max-height:520px}.hero>.hero-photo>img{object-position:57% 42%}}
@media(max-width:500px){.hero h1{font-size:clamp(26px,8.15vw,35px);white-space:nowrap}.hero .hero-actions>.button{height:60px}}

/* User annotation: move only the service action down, keeping sibling layout intact. */
.hero .hero-actions>a[href="/services/"]{position:relative;top:10px}

/* User-confirmed three-sentence main title. */
.hero .hero-title-confirmed{font-size:clamp(32px,3.05vw,48px);white-space:normal}
@media(max-width:760px){.hero .hero-title-confirmed{font-size:clamp(24px,7.2vw,38px)}}
