/* Raum Realty v13 — UI/UX refinement layer */
:root {
  --rr-font-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --rr-font-sans: "Inter", Arial, Helvetica, sans-serif;
  --rr-v13-gold: #b98a42;
  --rr-v13-ivory: #f5f1e8;
  --rr-v13-ink: #0d1116;
  --rr-v13-muted: #686b70;
}

body.raum-realty-divi-site,
body.raum-realty-divi-site p,
body.raum-realty-divi-site li,
body.raum-realty-divi-site input,
body.raum-realty-divi-site textarea,
body.raum-realty-divi-site button,
body.raum-realty-divi-site select {
  font-family: var(--rr-font-sans) !important;
}
body.raum-realty-divi-site h1,
body.raum-realty-divi-site h2,
body.raum-realty-divi-site h3,
body.raum-realty-divi-site h4 {
  font-family: var(--rr-font-serif) !important;
  letter-spacing: -.025em !important;
}
body.raum-realty-divi-site p,
body.raum-realty-divi-site li { line-height: 1.65; }

/* Navigation — restrained and compact */
#rr-global-header.rr-global-header--direct,
#rr-global-header.rr-global-header--direct.is-scrolled {
  background: rgba(247,244,237,.97) !important;
  border-bottom: 1px solid rgba(13,17,22,.09) !important;
}
#rr-global-header.rr-global-header--direct { height: 94px !important; }
#rr-global-header.rr-global-header--direct.is-scrolled { height: 78px !important; }
#rr-global-header .rr-header-shell {
  width: min(1320px, calc(100vw - 48px)) !important;
  gap: 26px !important;
}
#rr-global-header .rr-header-brand { min-width: 82px !important; }
#rr-global-header .rr-header-brand .rr-theme-logo,
#rr-global-header.is-scrolled .rr-header-brand .rr-theme-logo {
  width: 78px !important;
  height: 78px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
#rr-global-header.is-scrolled .rr-header-brand .rr-theme-logo {
  width: 64px !important;
  height: 64px !important;
}
#rr-global-header .rr-direct-menu { gap: clamp(18px,2vw,31px) !important; }
#rr-global-header .rr-direct-menu a,
#rr-global-header.is-scrolled .rr-direct-menu a {
  color: rgba(13,17,22,.72) !important;
  font-family: var(--rr-font-sans) !important;
  font-size: 10px !important;
  letter-spacing: .12em !important;
  padding-top: 32px !important;
  padding-bottom: 32px !important;
}
#rr-global-header.is-scrolled .rr-direct-menu a { padding-top: 25px !important; padding-bottom: 25px !important; }
#rr-global-header .rr-direct-menu a:hover,
#rr-global-header .rr-direct-menu .current-menu-item > a,
#rr-global-header .rr-direct-menu .current_page_item > a { color: var(--rr-v13-gold) !important; }
#rr-global-header .rr-direct-header-cta {
  min-height: 44px !important;
  padding: 0 18px !important;
  border: 1px solid #11161d !important;
  background: #11161d !important;
  color: #fff !important;
  font-size: 10px !important;
  letter-spacing: .11em !important;
}
#rr-global-header .rr-direct-header-cta:hover { background: transparent !important; color: #11161d !important; }
body.raum-realty-divi-site #main-content,
body.raum-realty-divi-site.home #main-content { padding-top: 94px !important; }

/* Hero — real project image, fewer competing elements */
.rr-v13-hero { min-height: calc(100svh - 94px) !important; }
.rr-v13-hero-row {
  min-height: calc(100svh - 94px);
  display: flex !important;
  align-items: center;
  gap: clamp(44px,6vw,96px);
  padding: clamp(72px,8vw,112px) 0 !important;
}
.rr-v13-hero .rr-hero-copy { max-width: 690px; }
.rr-v13-hero .rr-hero-copy h1 {
  max-width: 760px;
  margin-bottom: 24px;
  font-size: clamp(4rem,6.6vw,7.4rem) !important;
  line-height: .93 !important;
}
.rr-v13-hero .rr-hero-copy h1 em { color: #d3ad68; font-style: normal; }
.rr-v13-hero .rr-lead { max-width: 590px; font-size: clamp(1rem,1.25vw,1.17rem) !important; }
.rr-v13-hero-media { position: relative; }
.rr-v13-hero-image { overflow: hidden; border: 1px solid rgba(211,173,104,.32); }
.rr-v13-hero-image .et_pb_image_wrap { display:block; aspect-ratio: 4 / 5; overflow:hidden; background:#11161d; }
.rr-v13-hero-image img {
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  transform:scale(1.025);
  transition:transform 1.2s cubic-bezier(.2,.75,.2,1);
}
.rr-v13-hero-media:hover .rr-v13-hero-image img { transform:scale(1); }
.rr-v13-hero-caption {
  position:absolute;
  left:20px;
  right:20px;
  bottom:20px;
  padding:16px 18px !important;
  background:rgba(10,13,17,.86);
  backdrop-filter:blur(12px);
  border-left:2px solid var(--rr-v13-gold);
}
.rr-v13-hero-caption p { margin:0 !important; display:grid; gap:2px; }
.rr-v13-hero-caption span,
.rr-v13-hero-caption small { color:rgba(255,255,255,.55); font-size:9px; letter-spacing:.15em; text-transform:uppercase; }
.rr-v13-hero-caption strong { color:#fff; font-family:var(--rr-font-serif); font-size:22px; font-weight:500; line-height:1.05; }

/* Proof strip */
.rr-proof-strip { border-top:1px solid rgba(255,255,255,.1); border-bottom:1px solid rgba(255,255,255,.1); }
.rr-proof-row { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); width:min(1180px,calc(100vw - 72px)) !important; }
.rr-proof-row > .et_pb_column { width:auto !important; margin:0 !important; }
.rr-proof-item { min-height:110px; display:flex; align-items:center; gap:18px; padding:22px 28px !important; border-right:1px solid rgba(255,255,255,.12); }
.rr-proof-row > .et_pb_column:last-child .rr-proof-item { border-right:0; }
.rr-proof-item strong { color:#d3ad68; font-family:var(--rr-font-serif); font-size:2.7rem; font-weight:500; line-height:1; }
.rr-proof-item span { max-width:170px; color:rgba(255,255,255,.6); font-size:11px; line-height:1.45; letter-spacing:.04em; text-transform:uppercase; }
.rr-proof-item--words strong { font-size:1.55rem; white-space:nowrap; }

/* Section rhythm */
.rr-section { padding: clamp(92px,9vw,132px) 0 !important; }
.rr-section-intro { max-width:760px; margin-bottom:46px !important; }
.rr-section-intro h2 { max-width:720px; }
.rr-section-intro > div > p:last-child { max-width:580px; }

/* Projects — larger editorial cards */
.rr-project-editorial-grid {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px !important;
}
.rr-project-editorial-grid > .et_pb_column {
  float:none !important;
  width:auto !important;
  margin:0 !important;
  background:#fff;
  border:1px solid rgba(13,17,22,.09);
  overflow:hidden;
  box-shadow:0 18px 50px rgba(13,17,22,.07);
  scroll-snap-align:start;
}
.rr-project-editorial-card { transition:transform .35s ease, box-shadow .35s ease; }
.rr-project-editorial-card:hover { transform:translateY(-4px); box-shadow:0 24px 65px rgba(13,17,22,.12); }
.rr-project-editorial-card .rr-project-image .et_pb_image_wrap { display:block; aspect-ratio: 16/9; overflow:hidden; background:#11161d; }
.rr-project-editorial-card .rr-project-image img { width:100% !important; height:100% !important; object-fit:cover !important; transition:transform .7s cubic-bezier(.2,.75,.2,1); }
.rr-project-editorial-card:hover .rr-project-image img { transform:scale(1.035); }
.rr-project-editorial-copy { padding:28px 30px 30px !important; }
.rr-project-editorial-copy h3 { font-size:clamp(2rem,3vw,3.2rem) !important; margin-bottom:4px; }
.rr-project-editorial-copy .rr-eyebrow { margin-bottom:10px !important; color:var(--rr-v13-muted); }
.rr-project-editorial-copy .rr-text-link { font-size:10px !important; letter-spacing:.12em; }

/* Advantage — one strong visual system */
.rr-v13-advantage { overflow:hidden; }
.rr-v13-advantage .rr-section-intro { max-width:900px; }
.rr-advantage-steps { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 !important; border-top:1px solid rgba(255,255,255,.14); }
.rr-advantage-steps > .et_pb_column { width:auto !important; margin:0 !important; }
.rr-advantage-step {
  position:relative;
  min-height:330px;
  padding:42px 34px 36px !important;
  border-right:1px solid rgba(255,255,255,.12);
}
.rr-advantage-steps > .et_pb_column:last-child .rr-advantage-step { border-right:0; }
.rr-advantage-step::before {
  content:"";
  position:absolute;
  left:0;
  top:-1px;
  width:100%;
  height:2px;
  background:#d3ad68;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .9s cubic-bezier(.2,.75,.2,1) .15s;
}
.rr-advantage-step.rr-visible::before { transform:scaleX(1); }
.rr-advantage-number { display:block; margin-bottom:70px; color:#d3ad68; font-size:11px; letter-spacing:.18em; }
.rr-advantage-step h3 { color:#fff !important; font-size:clamp(2.2rem,3.5vw,3.7rem) !important; margin-bottom:18px; }
.rr-advantage-step p { max-width:310px; color:rgba(255,255,255,.65); }
.rr-advantage-step small { display:block; margin-top:30px; color:rgba(255,255,255,.38); font-size:9px; letter-spacing:.14em; text-transform:uppercase; }

/* REC map */
.rr-v13-network .rr-network-row { align-items:center; }
.rr-network-copy { max-width:470px; }
.rr-network-map-shell { border:1px solid rgba(211,173,104,.24); background:rgba(255,255,255,.015); }

/* Sales process — horizontal desktop, vertical mobile */
.rr-sales-process-line {
  position:relative;
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:0 !important;
  padding-top:22px !important;
}
.rr-sales-process-line::before {
  content:"";
  position:absolute;
  left:7.5%; right:7.5%; top:42px;
  height:1px;
  background:rgba(13,17,22,.18);
}
.rr-sales-process-line > .et_pb_column { width:auto !important; margin:0 !important; }
.rr-sales-stage { position:relative; text-align:center; padding:0 10px !important; }
.rr-sales-stage::before {
  content:"";
  display:block;
  width:13px; height:13px;
  margin:14px auto 28px;
  border:2px solid var(--rr-v13-gold);
  border-radius:50%;
  background:var(--rr-v13-ivory);
  position:relative;
  z-index:2;
}
.rr-sales-stage span { display:block; color:var(--rr-v13-gold); font-size:9px; letter-spacing:.18em; margin-bottom:8px; }
.rr-sales-stage h3 { font-family:var(--rr-font-sans) !important; font-size:14px !important; font-weight:600 !important; letter-spacing:.02em !important; }

/* Contact — two clear enquiry routes */
.rr-enquiry-grid { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px !important; }
.rr-enquiry-grid > .et_pb_column {
  width:auto !important;
  margin:0 !important;
  padding:38px !important;
  background:#fff;
  border:1px solid rgba(13,17,22,.1);
  box-shadow:0 16px 50px rgba(13,17,22,.06);
}
.rr-enquiry-card h3 { font-size:clamp(2rem,3vw,3rem) !important; margin-bottom:18px; }
.rr-enquiry-card .rr-contact-form { margin-top:26px !important; }
.rr-contact-form .et_pb_contact_field { margin-bottom:12px !important; }
.rr-contact-form input,
.rr-contact-form textarea,
.rr-contact-form select {
  min-height:50px;
  background:#f8f5ee !important;
  border:1px solid rgba(13,17,22,.11) !important;
  border-radius:0 !important;
  font-size:14px !important;
  padding:14px 15px !important;
}
.rr-contact-form textarea { min-height:118px !important; }
.rr-contact-form .et_pb_contact_submit { min-height:46px; padding:0 18px !important; background:#11161d !important; }

/* Careers — slightly more energetic but still premium */
.rr-careers-visual-row { align-items:center; gap:clamp(38px,6vw,84px); }
.rr-careers-image .et_pb_image_wrap { display:block; aspect-ratio:4/3; overflow:hidden; }
.rr-careers-image img { width:100% !important; height:100% !important; object-fit:cover !important; }
.rr-team-card { border-top:2px solid var(--rr-v13-gold); }

/* Final CTA / footer */
.rr-v13-final-cta .rr-final-copy { max-width:900px; }
.rr-v13-final-cta .rr-final-copy h2 { font-size:clamp(3rem,5.6vw,6rem) !important; }
.rr-v13-final-cta .rr-final-copy h2 em { color:#d3ad68; font-style:normal; }
.rr-footer-section { padding-top:64px !important; }
.rr-footer-copy p { max-width:300px !important; }

/* Fixed mobile conversion bar */
.rr-mobile-action-bar { display:none; }

@media (max-width: 980px) {
  #rr-global-header.rr-global-header--direct,
  #rr-global-header.rr-global-header--direct.is-scrolled { height:78px !important; }
  body.raum-realty-divi-site #main-content,
  body.raum-realty-divi-site.home #main-content { padding-top:78px !important; }
  #rr-global-header .rr-header-shell { width:calc(100vw - 28px) !important; }
  #rr-global-header .rr-header-brand .rr-theme-logo,
  #rr-global-header.is-scrolled .rr-header-brand .rr-theme-logo { width:62px !important; height:62px !important; }
  #rr-global-header .rr-menu-toggle { display:block !important; border-color:rgba(13,17,22,.18) !important; }
  #rr-global-header .rr-menu-toggle > span:not(.screen-reader-text) { background:#11161d !important; }
  #rr-global-header .rr-primary-navigation {
    position:fixed !important;
    left:14px !important;
    right:14px !important;
    top:78px !important;
    max-height:calc(100svh - 92px);
    overflow:auto;
    display:none !important;
    padding:22px !important;
    background:#f7f4ed !important;
    border:1px solid rgba(13,17,22,.1);
    box-shadow:0 24px 60px rgba(13,17,22,.18);
  }
  #rr-global-header.menu-open .rr-primary-navigation { display:block !important; }
  #rr-global-header .rr-direct-menu { display:block !important; }
  #rr-global-header .rr-direct-menu li { border-bottom:1px solid rgba(13,17,22,.09); }
  #rr-global-header .rr-direct-menu a,
  #rr-global-header.is-scrolled .rr-direct-menu a { padding:16px 2px !important; font-size:11px !important; }
  #rr-global-header .rr-direct-header-cta { width:100%; margin-top:18px; }

  .rr-v13-hero { min-height:auto !important; }
  .rr-v13-hero-row { min-height:auto; display:grid !important; grid-template-columns:1fr; gap:34px; padding:72px 0 64px !important; }
  .rr-v13-hero-row > .et_pb_column { width:100% !important; margin:0 !important; }
  .rr-v13-hero .rr-hero-copy { max-width:760px; }
  .rr-v13-hero-image .et_pb_image_wrap { aspect-ratio:16/10; }
  .rr-v13-hero-caption { left:14px; right:14px; bottom:14px; }

  .rr-project-editorial-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rr-advantage-steps { grid-template-columns:1fr; }
  .rr-advantage-step { min-height:auto; border-right:0; border-bottom:1px solid rgba(255,255,255,.12); }
  .rr-advantage-number { margin-bottom:32px; }
  .rr-sales-process-line { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:34px !important; }
  .rr-sales-process-line::before { display:none; }
  .rr-enquiry-grid { grid-template-columns:1fr; }
}

@media (max-width: 767px) {
  body.raum-realty-divi-site { padding-bottom:64px; }
  body.et-fb.raum-realty-divi-site { padding-bottom:0; }
  body.raum-realty-divi-site h1 { font-size:clamp(2.7rem,12.6vw,4.25rem) !important; }
  body.raum-realty-divi-site h2 { font-size:clamp(2.25rem,10vw,3.35rem) !important; }
  body.raum-realty-divi-site h3 { font-size:clamp(1.65rem,7.5vw,2.35rem) !important; }
  .rr-section { padding:68px 0 !important; }
  .rr-section-intro { margin-bottom:34px !important; }
  .rr-eyebrow { margin-bottom:14px !important; }

  .rr-v13-hero-row { padding:54px 0 52px !important; }
  .rr-v13-hero .rr-hero-copy h1 { font-size:clamp(3rem,13vw,4.4rem) !important; line-height:.96 !important; }
  .rr-v13-hero .rr-button-row { display:grid; grid-template-columns:1fr; }
  .rr-v13-hero .rr-button { width:100%; }
  .rr-v13-hero-image .et_pb_image_wrap { aspect-ratio:4/3; }

  .rr-proof-row { grid-template-columns:1fr; width:calc(100vw - 30px) !important; }
  .rr-proof-item { min-height:82px; border-right:0; border-bottom:1px solid rgba(255,255,255,.1); padding:18px 8px !important; }
  .rr-proof-row > .et_pb_column:last-child .rr-proof-item { border-bottom:0; }
  .rr-proof-item strong { min-width:64px; font-size:2.2rem; }

  /* Swipeable project cards on mobile */
  .rr-project-editorial-grid {
    display:flex !important;
    grid-template-columns:none !important;
    gap:16px !important;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    overscroll-behavior-inline:contain;
    width:100vw !important;
    margin-left:calc((100vw - var(--rr-shell)) / -2) !important;
    padding:0 15px 14px !important;
    scrollbar-width:none;
  }
  .rr-project-editorial-grid::-webkit-scrollbar { display:none; }
  .rr-project-editorial-grid > .et_pb_column {
    flex:0 0 min(84vw,390px) !important;
    width:auto !important;
  }
  .rr-project-editorial-copy { padding:22px 20px 24px !important; }

  .rr-advantage-step { padding:34px 4px 30px !important; }
  .rr-advantage-step h3 { font-size:2.7rem !important; }

  .rr-network-row { display:grid !important; grid-template-columns:1fr; gap:34px; }
  .rr-network-row > .et_pb_column { width:100% !important; margin:0 !important; }
  .rr-network-map-shell { min-height:360px !important; }
  .rr-network-map-shell svg { min-height:330px !important; }

  .rr-sales-process-line {
    display:block !important;
    padding-left:28px !important;
  }
  .rr-sales-process-line::before {
    display:block;
    left:6px;
    right:auto;
    top:12px;
    bottom:12px;
    width:1px;
    height:auto;
    background:rgba(13,17,22,.18);
  }
  .rr-sales-process-line > .et_pb_column { width:100% !important; margin:0 !important; }
  .rr-sales-stage { min-height:66px; padding:0 0 22px !important; text-align:left; display:grid; grid-template-columns:44px 1fr; align-items:start; column-gap:10px; }
  .rr-sales-stage::before { position:absolute; left:-28px; top:-6px; margin:0; width:11px; height:11px; background:var(--rr-v13-ivory); }
  .rr-sales-stage span { grid-column:1; margin:0; padding-top:3px; }
  .rr-sales-stage h3 { grid-column:2; margin:0; font-size:15px !important; }

  .rr-enquiry-grid > .et_pb_column { padding:26px 20px !important; }

  .rr-mobile-action-bar {
    position:fixed;
    z-index:99998;
    left:10px;
    right:10px;
    bottom:10px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    min-height:54px;
    background:#0d1116;
    border:1px solid rgba(211,173,104,.34);
    box-shadow:0 18px 45px rgba(0,0,0,.26);
  }
  .rr-mobile-action-bar a {
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff !important;
    font-size:10px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    border-right:1px solid rgba(255,255,255,.12);
  }
  .rr-mobile-action-bar a:last-child { border-right:0; background:var(--rr-v13-gold); color:#0d1116 !important; }
  body.et-fb .rr-mobile-action-bar,
  .et-fb-root-ancestor .rr-mobile-action-bar { display:none !important; }
}

@media (prefers-reduced-motion: reduce) {
  .rr-v13-hero-image img,
  .rr-project-editorial-card,
  .rr-project-editorial-card .rr-project-image img,
  .rr-advantage-step::before { transition:none !important; transform:none !important; }
}

/* Projects directory matches the homepage editorial treatment. */
.rr-projects-page-grid .rr-project-directory-visual {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px !important;
  margin-bottom:28px !important;
}
.rr-projects-page-grid .rr-project-directory-visual > .et_pb_column {
  float:none !important;
  width:auto !important;
  margin:0 !important;
  background:#fff;
  border:1px solid rgba(13,17,22,.09);
  box-shadow:0 18px 50px rgba(13,17,22,.07);
  overflow:hidden;
}
.rr-projects-page-grid .rr-project-card-copy { padding:26px 28px 28px !important; }
.rr-projects-page-grid .rr-project-image .et_pb_image_wrap { display:block; aspect-ratio:16/9; overflow:hidden; }
.rr-projects-page-grid .rr-project-image img { width:100% !important; height:100% !important; object-fit:cover !important; }
.rr-enquiry-card--selected { border-color:rgba(185,138,66,.62) !important; box-shadow:0 20px 60px rgba(185,138,66,.12) !important; }

@media (max-width:767px) {
  .rr-projects-page-grid .rr-project-directory-visual { grid-template-columns:1fr; gap:16px !important; }
}
