/* ===== ROSE GOLD REALTY — warm lifestyle design system ===== */
:root{
  --cream:#FBF6EF;      /* base ivory */
  --sand:#F4EADC;       /* warm section */
  --oat:#ECDDC9;        /* deeper warm */
  --white:#FFFDFA;      /* warm white cards */
  --rose:#C0895F;       /* primary rose gold */
  --rose-lt:#DBB196;
  --rose-dp:#A5674A;    /* deep copper */
  --rose-wash:#F3E1D4;  /* pale rose tint */
  --sage:#8E9C7E;       /* fresh counterpoint, used sparingly */
  --clay:#C6764F;       /* warm terracotta CTA */
  --ink:#3C2E24;        /* warm espresso text */
  --ink-soft:#5B4A3D;
  --muted:#928072;
  --line:#E4D5C3;
  --ease:cubic-bezier(0.22,1,0.36,1);
  --r:16px;
  --wrap:1200px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--cream);color:var(--ink);
  font-family:'Mulish',system-ui,sans-serif;font-weight:400;font-size:17px;line-height:1.7;
  letter-spacing:.005em;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
h1,h2,h3,h4,.disp{font-family:'Fraunces','Fraunces 72',Georgia,serif;font-weight:500;
  line-height:1.05;letter-spacing:-.015em;color:var(--ink);font-optical-sizing:auto}
.serif-i{font-style:italic;font-weight:400}
em.hl{font-style:italic;color:var(--rose-dp);font-weight:400}

/* eyebrow */
.eyebrow{display:inline-flex;align-items:center;gap:11px;font-family:'Mulish',sans-serif;
  font-weight:700;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--rose-dp)}
.eyebrow::before{content:"";width:26px;height:2px;border-radius:2px;background:var(--rose)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:'Mulish',sans-serif;font-weight:700;
  font-size:14.5px;letter-spacing:.01em;padding:16px 30px;border-radius:100px;cursor:pointer;
  border:2px solid transparent;transition:transform .4s var(--ease),background .3s,color .3s,border-color .3s}
.btn-primary{background:var(--rose-dp);color:var(--white)}
.btn-primary:hover{background:var(--ink);transform:translateY(-3px)}
.btn-ghost{border-color:var(--rose-dp);color:var(--rose-dp);background:transparent}
.btn-ghost:hover{background:var(--rose-dp);color:var(--white);transform:translateY(-3px)}
.btn-cream{background:var(--white);color:var(--ink);border-color:var(--line)}
.btn-cream:hover{border-color:var(--rose);transform:translateY(-3px)}
.link-arrow{font-family:'Mulish',sans-serif;font-weight:700;font-size:14.5px;color:var(--rose-dp);
  display:inline-flex;align-items:center;gap:8px;transition:gap .3s var(--ease)}
.link-arrow:hover{gap:14px}

/* arches — signature shape */
.arch{border-radius:1000px 1000px 18px 18px;overflow:hidden}
.arch-img{width:100%;height:100%;object-fit:cover;display:block}

/* nav */
.nav{position:sticky;top:0;z-index:100;background:rgba(251,246,239,.82);backdrop-filter:blur(12px);
  border-bottom:1px solid transparent;transition:border-color .4s,box-shadow .4s}
.nav.scrolled{border-color:var(--line);box-shadow:0 10px 30px -24px rgba(120,80,50,.5)}
.nav .row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:46px;width:auto}
.brand .wm{font-family:'Fraunces',serif;font-weight:600;font-size:19px;letter-spacing:.02em;line-height:1;color:var(--ink)}
.brand .wm small{display:block;font-family:'Mulish',sans-serif;font-weight:700;font-size:8.5px;
  letter-spacing:.34em;color:var(--rose-dp);margin-top:4px}
.navlinks{display:flex;align-items:center;gap:30px}
.navlinks a{font-family:'Mulish',sans-serif;font-weight:600;font-size:15px;color:var(--ink-soft);position:relative}
.navlinks a:hover{color:var(--rose-dp)}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.burger span{width:24px;height:2px;border-radius:2px;background:var(--ink);transition:.4s var(--ease)}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;z-index:99;background:var(--cream);padding:100px 28px 40px;
  transform:translateY(-100%);transition:transform .55s var(--ease);display:flex;flex-direction:column}
.mobile-menu.open{transform:translateY(0)}
.mobile-menu a{font-family:'Fraunces',serif;font-size:32px;color:var(--ink);padding:16px 0;border-bottom:1px solid var(--line)}

/* sections */
section{position:relative}
.pad{padding:104px 0}
.pad-sm{padding:72px 0}
.bg-sand{background:var(--sand)}
.bg-oat{background:var(--oat)}
.bg-rose{background:var(--rose-wash)}
.bg-ink{background:var(--ink);color:var(--cream)}
.bg-ink h1,.bg-ink h2,.bg-ink h3{color:var(--cream)}
.center{text-align:center}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}

/* scalloped/wave divider */
.wave{display:block;width:100%;height:60px}

h1.xl{font-size:clamp(44px,6.6vw,92px)}
h2.lg{font-size:clamp(34px,4.6vw,62px)}
h3.md{font-size:clamp(24px,2.6vw,34px)}
.lead{font-size:clamp(18px,2vw,21px);color:var(--ink-soft);line-height:1.6}

/* footer */
footer{background:var(--ink);color:#D9C9BA;padding:80px 0 34px}
footer h4{font-family:'Mulish',sans-serif;font-weight:800;font-size:12px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--rose-lt);margin-bottom:18px}
footer a{color:#D9C9BA;display:block;padding:5px 0;font-size:15px;transition:color .3s}
footer a:hover{color:var(--rose-lt)}
.fgrid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:44px}
.fbrand img{height:58px;margin-bottom:18px}
.fbrand p,.fbrand p{color:#B3A192}
.fbot{margin-top:60px;padding-top:26px;border-top:1px solid rgba(255,255,255,.12);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:13px;color:#9E8C7D}
.fbot .eho{display:flex;align-items:center;gap:9px}

@media(max-width:940px){
  .navlinks{display:none}
  .burger{display:flex}
  .fgrid{grid-template-columns:1fr 1fr;gap:32px}
  .pad{padding:76px 0}
}
@media(max-width:560px){
  .wrap{padding:0 20px}
  .fgrid{grid-template-columns:1fr}
  body{font-size:16px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
