/* REIH / SoftEdge adaptation: original Roboto fonts, 25px corners,
   3% page gutters, architectural imagery, circular CTAs and muted palette. */
@font-face{font-family:Roboto;src:url('/assets/Roboto-Light-perf1.woff2') format('woff2');font-weight:300;font-display:swap}@font-face{font-family:Roboto;src:url('/assets/Roboto-Regular-perf1.woff2') format('woff2');font-weight:400 700;font-display:swap}
:root{--ink:#242a27;--muted:#59625c;--paper:#fff;--sand:#d8d2c6;--forest:#434d49;--gold:#d2b364;--radius:25px;--gutter:3%;--pad:clamp(24px,4.5vw,72px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Roboto,Arial,sans-serif;font-weight:300;font-size:18px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:300;line-height:1.08;letter-spacing:-.035em}h2{font-size:clamp(36px,4.3vw,66px)}h3{font-size:26px}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a77a14;outline-offset:6px}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:12px}.skip:focus{top:15px}.header{height:118px;margin:0 var(--gutter);display:flex;align-items:center;gap:34px;position:relative;z-index:20}.brand{margin-right:auto;width:131px}.brand img{width:131px;height:auto}.desktop-nav{display:flex;gap:34px;font-size:16px;font-weight:400}.desktop-nav a{padding:12px 0;transition:color .2s}.desktop-nav a:hover{color:#8a6b27}.contact-link{font-size:15px;border:1px solid #b9bcb9;padding:11px 23px;border-radius:99px}.contact-link:hover{background:var(--forest);color:#fff}.menu-button{display:none}.panel{margin-left:var(--gutter);margin-right:var(--gutter);border-radius:var(--radius);overflow:hidden}.hero{position:relative;min-height:650px;height:calc(100svh - 145px);max-height:940px;background:#55584f;color:#fff;padding:var(--pad);display:flex;flex-direction:column;justify-content:space-between}.hero-image{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:center}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,25,22,.68),rgba(17,25,22,.15) 80%)}.hero-content,.hero-bottom{position:relative;z-index:1}.eyebrow,.section-label{font-size:14px;letter-spacing:.1em;font-weight:400;line-height:1.5}.eyebrow{margin-bottom:28px}.hero h1{font-size:clamp(58px,6.2vw,96px);letter-spacing:-.045em}.hero h1 span{color:#e3dbc9}.hero-description{margin-top:28px;font-size:21px;max-width:400px;line-height:1.5}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:20px}.hero-bottom>span{font-size:15px}.circle{width:128px;height:128px;border:1px solid currentColor;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;font-size:14px;font-weight:400;line-height:1.4;text-transform:uppercase;letter-spacing:.08em;flex-shrink:0;transition:background .35s,color .35s}.circle:hover{background:var(--forest);color:white}.light-circle:hover{background:white;color:var(--ink)}.section{padding:110px var(--pad)}.intro{display:grid;grid-template-columns:1fr 2.35fr;gap:45px;padding-left:calc(var(--gutter) + var(--pad));padding-right:calc(var(--gutter) + var(--pad))}.tiny-line{display:inline-block;width:24px;height:1px;background:var(--ink);vertical-align:middle;margin-right:8px}.intro h2{margin-bottom:38px}.two-text{display:grid;grid-template-columns:1fr 1fr;gap:40px;color:var(--muted);font-size:19px}.offer{background:var(--sand);display:grid;grid-template-columns:1fr 2.35fr;gap:45px}.section-lead{margin:24px 0 45px}.services details{border-top:1px solid #9c9c91}.services details:last-child{border-bottom:1px solid #9c9c91}.services summary{list-style:none;display:flex;align-items:center;padding:27px 0;gap:30px;cursor:pointer}.services summary::-webkit-details-marker{display:none}.services h3{font-size:31px}.number{font-size:14px;letter-spacing:.08em;font-weight:400}.plus{height:20px;width:20px;position:relative;margin-left:auto}.plus:before,.plus:after{content:'';position:absolute;background:currentColor;top:9px;left:1px;width:18px;height:1px}.plus:after{transform:rotate(90deg);transition:transform .2s}details[open] .plus:after{transform:rotate(0)}.detail-body{padding:0 28px 32px 48px;max-width:720px}.detail-body span{display:block;font-size:14px;margin-top:18px;color:#535b52}.sectors,.process{margin:0 var(--gutter)}.section-top{display:grid;grid-template-columns:1fr 2.35fr;gap:45px;margin-bottom:48px}.sector-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:24px}.sector-photo{position:relative;border-radius:25px;overflow:hidden;min-height:530px;color:#fff;background:#394b3e}.sector-photo img{width:100%;height:100%;position:absolute;object-fit:cover;transition:transform 1.4s}.sector-photo:hover img{transform:scale(1.04)}.sector-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 10%,#152b21e6)}.photo-caption{position:absolute;z-index:1;bottom:40px;left:40px;right:40px}.photo-caption span{font-size:14px;letter-spacing:.08em}.photo-caption h3{font-size:43px;margin:20px 0}.photo-caption p{max-width:350px}.sector-text{border-radius:25px;background:#eeefeb;padding:45px;display:flex;flex-direction:column;align-items:start}.sector-text h3{font-size:clamp(34px,3.5vw,54px);margin:28px 0}.sector-text p{max-width:380px;margin-bottom:30px}.sector-text .circle{margin-top:auto;width:110px;height:110px}.image-note{font-size:13px;color:var(--muted);margin-top:16px}.vision{position:relative;background:var(--forest);color:#fff;display:grid;grid-template-columns:1fr 1fr;min-height:580px}.vision>img{width:100%;height:100%;object-fit:cover;min-height:580px}.vision-copy{padding:var(--pad);display:flex;flex-direction:column;justify-content:center}.vision h2{font-size:clamp(38px,4vw,60px);margin:35px 0}.vision p{font-size:20px;color:#e6e8e3}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.steps article{border-top:1px solid #afb5ad;padding-top:26px}.steps article>span{font-size:14px;color:var(--muted)}.steps h3{font-size:29px;margin:40px 0 22px}.steps p{color:var(--muted)}.contact{background:var(--forest);color:white;display:grid;grid-template-columns:1fr 2.35fr;gap:45px}.contact h2{font-size:clamp(34px,4.2vw,64px);margin-bottom:30px}.contact p{color:#e0e4dd}.email{font-size:clamp(29px,3.2vw,48px);display:inline-block;margin:32px 0 8px;border-bottom:1px solid #a7b0a2;font-weight:300}.email:hover{color:var(--gold)}.mail-label{font-size:14px}.contact-prep{margin-top:50px;border-top:1px solid #78827c;padding-top:24px;font-size:16px}.contact-prep>span{font-weight:400}.contact-prep p{margin-top:8px}.footer{padding:65px calc(var(--gutter) + var(--pad)) 25px}.footer-main{display:grid;grid-template-columns:.8fr 1fr .7fr 1.4fr;gap:40px}.footer-brand{width:140px}.footer-main h3{font-size:17px;font-weight:400;letter-spacing:0;margin-bottom:18px}.footer p,.footer a:not(.footer-brand){font-size:14px;line-height:1.9}.footer-main>div>a{display:block}.footer a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid #ddd;margin-top:50px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:13px;color:var(--muted)}
@media(min-width:1600px){body{max-width:1920px;margin:auto}}@media(max-width:1000px){.desktop-nav{gap:18px}.header{gap:20px}.contact-link{display:none}.intro,.offer,.contact{grid-template-columns:1fr;gap:35px}.section{padding-top:75px;padding-bottom:75px}.section-top{grid-template-columns:1fr;gap:30px}.vision{min-height:0}.vision>img{min-height:500px}.footer-main{grid-template-columns:1fr 1fr}.hero{height:760px;min-height:600px}.sector-text{padding:30px}.photo-caption{left:30px;right:30px}}
@media(max-width:640px){:root{--gutter:4%;--pad:24px}.header{height:97px}.brand,.brand img{width:108px}.desktop-nav{display:none}.menu-button{display:flex;flex-direction:column;gap:6px;justify-content:center;align-items:center;width:48px;height:48px;border-radius:50%;border:1px solid #aaa;background:#fff;cursor:pointer}.menu-button span{width:19px;height:1px;background:var(--ink)}#mobile-nav:not([hidden]){display:flex;position:absolute;top:87px;left:0;right:0;flex-direction:column;padding:22px;background:#fff;border-radius:20px;box-shadow:0 14px 35px #0002;gap:18px}.hero{min-height:650px;height:calc(100svh - 114px);max-height:820px;padding:28px}.hero h1{font-size:clamp(43px,10vw,63px)}.eyebrow{font-size:12px;margin-bottom:42px}.hero-description{font-size:19px;margin-top:28px}.hero-image{object-position:62% center}.hero-bottom>span{max-width:150px}.circle{width:105px;height:105px;font-size:12px}.section{padding-top:65px;padding-bottom:65px}.intro{padding-left:calc(var(--gutter) + 12px);padding-right:calc(var(--gutter) + 12px)}.two-text,.sector-grid,.steps,.vision{grid-template-columns:1fr}.two-text{gap:22px;font-size:18px}h2{font-size:38px}.services h3{font-size:27px}.services summary{gap:21px}.detail-body{padding-left:0;padding-right:0}.sector-photo{min-height:470px}.sector-text{padding:32px;min-height:460px}.vision>img{height:310px;min-height:0}.vision-copy{padding:38px 28px}.steps{gap:35px}.steps h3{margin-top:22px}.footer{padding:50px 7% 25px}.footer-main{gap:30px;grid-template-columns:1fr 1fr}.footer-main>div:last-child{grid-column:1/-1}.footer-brand{width:115px}.footer-bottom{flex-direction:column;gap:9px}.contact-prep{margin-top:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Land developer positioning and legal support */
.legal-partner{margin-top:20px;font-size:16px}.legal-partner a{text-decoration:underline;text-underline-offset:4px}.services summary h3{min-width:0;overflow-wrap:break-word}.services summary .number,.services summary .plus{flex-shrink:0}
@media(max-width:640px){.services summary{gap:14px}.services h3{font-size:24px}.email{font-size:clamp(23px,6.5vw,34px)}.hero-bottom>span{max-width:190px}}

/* REIH Brandbook v1.1: complete masters, clear space and 180px minimum. */
html{scroll-padding-top:170px}
.header{height:170px}
.brand{width:224px;padding:12px;flex-shrink:0;background:#fff}
.brand img{width:200px;height:auto}
.footer-brand{display:block;width:224px;padding:12px;background:#181818;align-self:start}
.footer-brand img{width:200px;height:auto}
.footer-main{grid-template-columns:minmax(224px,.9fr) 1fr .7fr 1.4fr}
@media(max-width:1100px){.footer-main{grid-template-columns:1fr 1fr}}
@media(max-width:640px){
 .header{height:154px;gap:12px}
 .brand{width:204px;padding:12px}
 .brand img{width:180px;height:auto}
 #mobile-nav:not([hidden]){top:144px}
 .hero{height:calc(100svh - 171px)}
 .footer-main{grid-template-columns:1fr}
 .footer-brand{width:224px}
 .footer-main>div:last-child{grid-column:auto}
}

/* Language navigation remains visible on desktop and mobile. */
.language-switch{display:flex;align-items:center;gap:2px;flex-shrink:0;font-size:14px;font-weight:400}
.language-switch a{display:flex;align-items:center;justify-content:center;min-width:38px;min-height:44px;border-radius:6px}
.language-switch a[aria-current="page"]{background:#242a27;color:#fff}
.language-switch a:hover{box-shadow:inset 0 0 0 1px #a7a99f}
.header{gap:24px}
@media(min-width:641px) and (max-width:1100px){.header{gap:16px}.desktop-nav{gap:16px;font-size:15px}.contact-link{display:none}}
@media(max-width:640px){
 .header{display:grid;grid-template-columns:1fr auto;gap:0 12px;height:190px;padding:4px 0 12px}
 .brand{grid-column:1;grid-row:1 / 3}
 .language-switch{grid-column:2;grid-row:1;align-self:end}
 .menu-button{grid-column:2;grid-row:2;justify-self:end;align-self:center}
 #mobile-nav:not([hidden]){top:180px}
 .hero{height:calc(100svh - 207px)}
}

/* Keep responsive image wrappers transparent to existing grid layouts. */
picture{display:contents}
