/* Real estate hero — Orion's shell with a cinematic first viewport. */
*, *::before, *::after { box-sizing: border-box; }
:root { --re-ink:#080808; --re-paper:#f5f4f0; --re-font:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--re-ink); color:#fff; font-family:var(--re-font); -webkit-font-smoothing:antialiased; }
button,input,select,textarea { font:inherit; }
button,a,input,select,textarea { touch-action:manipulation; }
button { cursor:pointer; }
button svg,a svg { flex:none; }
a { color:inherit; }
:focus-visible { outline:2px solid #fff; outline-offset:6px; }
.re-skip { position:fixed; top:12px; left:16px; z-index:10001; padding:12px 20px; background:white; color:black; border-radius:6px; transform:translateY(-180%); }
.re-skip:focus { transform:none; }
.real-estate-page .orion-global-container { width:100%; max-width:1160px; padding:0 28px; }
.real-estate-page .orion-global-nav { position:absolute; top:0; left:0; padding:20px 0; border:0; border-bottom:1px solid rgba(255,255,255,.08); background:rgba(5,8,10,.76); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); font-family:var(--re-font); z-index:20; }
.real-estate-page .orion-global-nav-inner { gap:20px; }
.real-estate-page .orion-global-links { gap:32px; }
.real-estate-page .orion-global-links a { color:rgba(255,255,255,.88); font-size:13px; font-weight:600; line-height:1.6; white-space:nowrap; }
.real-estate-page .orion-global-links a:hover { color:#fff; }
.real-estate-page .orion-global-cta { padding:10px 20px!important; min-height:40px; border:0!important; border-radius:999px!important; font-size:12px!important; font-weight:600; letter-spacing:.01em; display:inline-flex; align-items:center; justify-content:center; transition:background .2s; }
.real-estate-page .orion-global-cta:hover { background:#e8e8e8!important; }
.real-estate-page .orion-global-language { padding:6px 10px; min-height:34px; gap:8px; background:rgba(8,21,32,.9); border-color:rgba(255,255,255,.18); }
.real-estate-page .orion-global-language span { min-width:24px; height:20px; }
.real-estate-page .orion-global-language select { width:70px; font-family:var(--re-font); }
.real-estate-page .orion-global-logo img { width:260px; }
.re-hero { position:relative; isolation:isolate; min-height:720px; height:100svh; display:grid; place-items:center; padding:112px 28px 140px; overflow:hidden; }
.re-background,.re-scrim { position:absolute; inset:0; z-index:-1; pointer-events:none; }
.re-background { background:#252825; }
.re-background img,.re-background video { width:100%; height:100%; object-fit:cover; object-position:center; position:absolute; inset:0; }
.re-background video { opacity:0; transition:opacity .5s ease; }
.re-background video.is-ready { opacity:1; }
.re-scrim { background:linear-gradient(180deg,rgba(3,6,8,.78) 0%,rgba(3,6,8,.24) 23%,rgba(3,6,8,.32) 65%,rgba(3,6,8,.84) 100%),radial-gradient(ellipse at 50% 46%,rgba(0,0,0,.43),rgba(0,0,0,.12) 78%); }
.re-intro { width:100%; max-width:1000px; text-align:center; transform:translateY(14px); }
.re-intro-copy .re-hero-whatsapp { display:flex; align-items:center; justify-content:center; width:fit-content; max-width:100%; min-height:44px; margin:10px auto 0; padding:8px 4px; color:rgba(255,255,255,.88); font-size:13px; line-height:1.5; text-decoration:underline; text-decoration-color:rgba(255,255,255,.45); text-underline-offset:4px; }
.re-intro-copy .re-hero-whatsapp:hover { color:#fff; text-decoration-color:#fff; }
.re-intro h1 { margin:0; font-size:clamp(48px,5.35vw,80px); line-height:1.09; font-weight:650; letter-spacing:-.045em; text-wrap:balance; text-shadow:0 2px 28px rgba(0,0,0,.12); }
.re-intro h1 span { display:block; }
.re-intro-copy>p { margin:25px auto 32px; max-width:650px; font-size:clamp(17px,1.35vw,20px); font-weight:400; line-height:1.65; letter-spacing:-.012em; color:rgba(255,255,255,.92); }
.re-button { display:inline-flex; justify-content:center; align-items:center; gap:16px; min-height:56px; padding:16px 30px; border:1px solid rgba(255,255,255,.85); border-radius:999px; background:#fff; color:#111820; font-size:15px; font-weight:650; line-height:1.4; text-decoration:none; transition:background .2s,transform .2s,box-shadow .2s; }
.re-button svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; }
.re-button:hover { background:#ededeb; transform:translateY(-2px); box-shadow:0 8px 26px rgba(0,0,0,.12); }
.re-button:active { transform:translateY(0); }
.re-featured-work { margin-top:25px; }
.re-watch { display:flex; align-items:center; justify-content:center; gap:10px; margin:0 auto; padding:4px 0; border:0; background:none; color:rgba(255,255,255,.96); font-size:13px; font-weight:500; min-height:44px; }
.re-client-credit { margin:5px 0 0; color:rgba(255,255,255,.76); font-size:11px; line-height:1.6; letter-spacing:.02em; }
.re-client-credit strong { color:#fff; font-weight:600; }
.re-watch-icon { display:grid; place-items:center; flex:none; width:32px; height:32px; border:1px solid rgba(255,255,255,.72); border-radius:50%; transition:background .2s,transform .2s; }
.re-watch-icon svg { width:18px; height:18px; fill:currentColor; margin-left:-2px; }
.re-watch:hover .re-watch-icon { background:rgba(255,255,255,.15); transform:scale(1.06); }
.re-bottom { position:absolute; bottom:48px; left:50%; transform:translateX(-50%); width:100%; max-width:1160px; padding:0 28px; display:flex; justify-content:space-between; align-items:flex-end; gap:20px; }
.re-credit p { margin:0 0 6px; text-transform:uppercase; letter-spacing:.18em; font-size:10px; font-weight:650; color:rgba(255,255,255,.75); }
.re-credit p span { padding:0 5px; color:rgba(255,255,255,.4); }
.re-credit small { display:block; font-size:11px; line-height:1.5; color:rgba(255,255,255,.8); }
.re-playback { display:grid; place-items:center; width:44px; height:44px; flex:none; border:1px solid rgba(255,255,255,.6); border-radius:50%; background:rgba(255,255,255,.04); color:white; transition:background .2s; }
.re-playback:hover { background:rgba(255,255,255,.16); }
.re-playback svg { width:20px; height:20px; }
.re-pause-icon { fill:none; stroke:currentColor; stroke-width:2.8; display:none; }
.re-start-icon { fill:currentColor; }
.re-playback.is-playing .re-pause-icon { display:block; }
.re-playback.is-playing .re-start-icon { display:none; }
.re-film-dialog,.re-project-dialog { padding:0; border:1px solid rgba(255,255,255,.15); border-radius:12px; max-height:calc(100svh - 40px); }
dialog::backdrop { background:rgba(0,0,0,.84); backdrop-filter:blur(7px); }
body:has(dialog[open]) { overflow:hidden; }
.re-film-dialog { width:min(1200px,calc(100% - 48px)); background:#090909; color:#fff; }
.re-dialog-bar { display:flex; justify-content:space-between; gap:20px; align-items:center; padding:20px 24px; }
.re-dialog-bar span { color:#aaa; font-size:11px; text-transform:uppercase; letter-spacing:.13em; }
.re-dialog-bar h2 { margin:5px 0 0; font-size:18px; font-weight:600; }
.re-close { display:grid; place-items:center; flex:none; width:44px; height:44px; padding:0; background:none; border:1px solid currentColor; border-radius:50%; color:inherit; font-size:27px; font-weight:300; }
.re-close:hover { background:rgba(127,127,127,.12); }
.re-film-dialog video { display:block; width:100%; max-height:calc(100svh - 160px); background:#000; }
.re-video-error { padding:0 24px 18px; font-size:14px; }
.re-project-dialog { width:min(620px,calc(100% - 40px)); padding:42px; background:var(--re-paper); color:#151515; border-radius:20px; }
.re-project-dialog>.re-close { position:absolute; right:22px; top:22px; width:36px; height:36px; }
.re-project-dialog h2 { margin:10px 0 12px; font-size:34px; line-height:1.15; font-weight:650; letter-spacing:-.04em; padding-right:24px; }
.re-project-intro { margin:0 0 26px; max-width:530px; color:#5b5b5b; font-size:15px; line-height:1.6; }
.re-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:17px; margin-bottom:18px; }
.re-form-wide { grid-column:1/-1; }
.re-brief-details { border-top:1px solid #d9d8d3; border-bottom:1px solid #d9d8d3; }
.re-brief-details summary { padding:16px 0; cursor:pointer; font-size:13px; font-weight:600; }
.re-brief-details summary span { color:#73716c; font-size:11px; font-weight:400; margin-left:7px; }
.re-brief-details[open] { padding-bottom:18px; }
.re-contact-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:24px; }
.re-project-dialog label { display:flex; flex-direction:column; gap:7px; font-size:12px; font-weight:650; line-height:1.5; }
.re-project-dialog input,.re-project-dialog select,.re-project-dialog textarea { border:1px solid #d5d4d0; border-radius:9px; padding:11px 12px; background:#fff; color:#111; width:100%; min-width:0; font-size:14px; font-weight:400; }
.re-project-dialog input,.re-project-dialog select { min-height:45px; }
.re-project-dialog textarea { resize:vertical; }
.re-project-dialog :focus-visible { outline-color:#262626; outline-offset:3px; }
.re-project-dialog .re-button { margin:0; padding:14px 18px; min-height:50px; font-size:13px; gap:10px; background:#111; color:white; border-color:#111; width:100%; }
.re-project-dialog .re-button-secondary { color:#111; background:transparent; border-color:#bab9b4; }
.re-project-dialog .re-button:hover { background:#303030; }
.re-project-dialog .re-button-secondary:hover { background:#e8e7e2; }
.re-form-note,.re-form-privacy { font-size:11px; line-height:1.6; color:#626262; margin:12px 0 0; }
.re-form-privacy { font-size:10px; }
.real-estate-page .orion-global-footer { border-top-color:rgba(255,255,255,.06)!important; }
@media(max-width:1100px) { .real-estate-page .orion-global-links { gap:20px; } .real-estate-page .orion-global-logo img { width:230px; } }
@media(max-width:960px) {
  .real-estate-page .orion-global-links { display:none; }
  .real-estate-page .orion-global-menu-button { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:5px; width:44px; height:44px; padding:0; background:none; border:0; }
  .real-estate-page .orion-global-menu-button span { display:block; width:22px; height:1.5px; background:#fff; }
  .real-estate-page .orion-global-nav-inner { min-height:44px; }
  .re-intro h1 { font-size:clamp(46px,6.2vw,64px); }
  .re-intro-copy>p { max-width:610px; }
  .re-hero { padding-bottom:140px; }
}
@media(max-width:600px) {
  .real-estate-page .orion-global-nav { padding:18px 0; }
  .real-estate-page .orion-global-container { padding:0 24px; }
  .real-estate-page .orion-global-logo img { width:140px; }
  .re-hero { min-height:680px; height:100svh; padding:120px 24px 140px; }
  .re-intro { transform:none; }
  .re-intro h1 { font-size:clamp(30px,8.8vw,49px); line-height:1.13; letter-spacing:-.045em; }
  .re-intro h1 span { white-space:nowrap; }
  .re-intro h1 span:last-child { margin-top:3px; }
  .re-intro-copy>p { max-width:310px; margin:23px auto 29px; font-size:16px; line-height:1.6; }
  .re-desktop-break { display:none; }
  .re-button { min-height:54px; padding:15px 24px; font-size:15px; }
  .re-featured-work { margin-top:23px; }
  .re-watch { font-size:12px; gap:9px; }
  .re-watch>span:last-child { max-width:220px; text-align:left; line-height:1.5; }
  .re-watch-icon { width:30px; height:30px; }
  .re-bottom { bottom:29px; padding:0 24px; align-items:center; gap:12px; }
  .re-credit { max-width:260px; }
  .re-credit p { font-size:8px; line-height:1.8; letter-spacing:.12em; }
  .re-credit p span { padding:0 2px; }
  .re-credit small { font-size:10px; max-width:235px; line-height:1.6; }
  .re-playback { width:40px; height:40px; }
  .re-background video,.re-background img { object-position:52% center; }
  .re-scrim { background:linear-gradient(180deg,rgba(3,6,8,.72),rgba(3,6,8,.42) 28%,rgba(3,6,8,.46) 66%,rgba(3,6,8,.86)),radial-gradient(ellipse at 50% 45%,rgba(0,0,0,.25),transparent); }
  .re-project-dialog { padding:32px 22px; max-height:calc(100svh - 24px); width:calc(100% - 24px); }
  .re-project-dialog h2 { font-size:29px; margin-top:15px; }
  .re-project-dialog>.re-close { top:15px; right:15px; }
  .re-form-grid { grid-template-columns:1fr; gap:14px; }
  .re-contact-actions { grid-template-columns:1fr; }
  .re-project-dialog input,.re-project-dialog select,.re-project-dialog textarea { font-size:16px; }
  .re-film-dialog { width:calc(100% - 20px); }
  .re-dialog-bar { padding:14px; }
  .re-dialog-bar h2 { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none!important; }
}
