/* SoftEdge structure adapted to REIH's existing bilingual content. */
:root{--ink:#242a27;--muted:#555e58;--sand:#f1f2ef;--pad:clamp(24px,4.5vw,72px)}
main{display:flex;flex-direction:column;gap:32px}
main>section{flex-shrink:0}
.hero{height:auto;min-height:660px;max-height:none;justify-content:center;gap:48px;padding-top:70px;padding-bottom:48px}
.hero-content{max-width:850px}
.hero h1{font-size:clamp(58px,6.8vw,104px)}
.hero-description{max-width:530px}
.hero-bottom{width:100%}
.hero-bottom .circle{width:108px;height:108px}
.intro{margin-top:0;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);padding:var(--pad);background:#f1f2ef;align-items:stretch}
.intro-copy{min-width:0;align-self:center}
.intro .section-label{margin-bottom:30px}
.intro h2{font-size:clamp(36px,4vw,62px);margin-bottom:32px}
.two-text{display:flex;flex-direction:column;gap:22px;font-size:18px}
.intro-image{width:100%;height:100%;min-height:540px;object-fit:cover;border-radius:25px}
.sectors{padding:60px var(--pad);margin:0 var(--gutter)}
.section-top{grid-template-columns:1fr 1.6fr;align-items:start}
.sector-grid{grid-template-columns:1.15fr 1fr;gap:32px}
.sector-photo{min-height:570px}
.sector-text{background:#f1f2ef;padding:clamp(30px,4vw,64px)}
.image-note{font-size:14px}
.vision{display:flex;align-items:center;justify-content:space-between;gap:48px;min-height:0;background:#181818;padding:var(--pad)}
.vision-copy{padding:0;max-width:850px}
.vision h2{margin:24px 0 28px}
.vision p{max-width:760px;color:#deded9}
.vision .circle{color:#e1c27b}
.offer{display:block;background:#f1f2ef;padding:var(--pad)}
.offer>.section-label{margin-bottom:28px}
.offer-content h2{font-size:clamp(38px,4.5vw,68px)}
.section-lead{margin:24px 0 48px}
.service-row{display:grid;grid-template-columns:50px minmax(0,.9fr) minmax(0,1.3fr);gap:32px;border-top:1px solid #c0c4bd;padding:36px 0}
.service-row:last-child{padding-bottom:0}
.services .service-row h3{font-size:clamp(25px,2.5vw,36px);line-height:1.2;letter-spacing:-.025em}
.service-row .number{padding-top:6px}
.service-row .detail-body{padding:0;max-width:none;font-size:17px;line-height:1.7}
.service-row .detail-body span{font-size:14px;color:#50584e}
.service-row .legal-partner{font-size:16px}
.process{padding:60px var(--pad)}
.steps{gap:36px}
.steps article{padding-top:24px}
.steps h3{margin:28px 0 20px}
.contact{margin-top:0;background:#434d49;padding:var(--pad)}
.footer{background:#181818;color:#eeefeb;border-radius:25px;margin:32px var(--gutter);padding:var(--pad)}
.footer-brand{padding:12px;background:#181818}
.footer-bottom{color:#cecec7;border-color:#454541}
.footer-main{grid-template-columns:224px 1fr .6fr 1.3fr;gap:32px}
@media(max-width:1100px){.footer-main{grid-template-columns:1fr 1fr}}
@media(max-width:900px){
 .intro{grid-template-columns:1fr;gap:36px}
 .intro-image{height:400px;min-height:0;object-position:center 45%}
 .two-text{display:grid;grid-template-columns:1fr 1fr;gap:28px}
 .service-row{grid-template-columns:36px minmax(0,1fr);gap:16px 24px}
 .service-row .detail-body{grid-column:2}
 .vision{gap:28px}
 .sector-grid{grid-template-columns:1fr 1fr;gap:24px}
 .sector-photo{min-height:520px}
 .sector-text h3{font-size:38px}
 .section-top{grid-template-columns:1fr;gap:28px}
}
@media(max-width:640px){
 main{gap:20px}
 .hero{height:auto;min-height:650px;padding:36px 24px;gap:40px}
 .hero h1{font-size:clamp(44px,10vw,63px)}
 .hero-description{font-size:19px}
 .hero .eyebrow{font-size:14px;letter-spacing:.06em;margin-bottom:28px}
 .hero-bottom{align-items:center}
 .hero-bottom>span{max-width:160px;font-size:14px}
 .circle,.hero-bottom .circle{width:104px;height:104px;font-size:14px}
 .intro,.offer,.contact{padding:32px 24px}
 .intro h2,.offer-content h2{font-size:38px}
 .two-text{display:flex;font-size:18px}
 .intro-image{height:320px}
 .sectors,.process{padding:40px 12px}
 .sector-grid{grid-template-columns:1fr;gap:20px}
 .sector-photo{min-height:480px}
 .sector-text{min-height:0;padding:32px}
 .sector-text .circle{margin-top:8px}
 .vision{padding:36px 28px;flex-direction:column;align-items:flex-start;gap:28px}
 .vision h2{font-size:38px}
 .vision p{font-size:18px}
 .service-row{gap:16px;padding:28px 0;grid-template-columns:28px minmax(0,1fr)}
 .services .service-row h3{font-size:27px}
 .service-row .detail-body{grid-column:1/-1;font-size:17px}
 .section-lead{margin-bottom:32px}
 .footer{margin:20px var(--gutter);padding:32px 24px}
 .footer-main{grid-template-columns:1fr;gap:32px}
 .footer-bottom{margin-top:32px}
}
