/* ================================================================
   Paradise Valley & Scottsdale Property Management
   paradisevalleypropertymanagement.com — Barré & Company Realty
   ================================================================ */
:root {
  --bg:#0E0E0E;--bg-cream:#F4EFE8;--bg-cream-soft:#EAE3D8;
  --ink:#111111;--ink-soft:#2A2A2A;--paper:#FAF7F2;
  --line:rgba(255,255,255,0.12);--line-dark:rgba(0,0,0,0.12);
  --gold:#C4A96D;--gold-soft:#B89559;--muted:#8A8A8A;--muted-dark:#6A6258;
  --serif:"Cormorant Garamond","Times New Roman",serif;
  --sans:"DM Sans",-apple-system,BlinkMacSystemFont,sans-serif;
  --mono:"DM Mono",ui-monospace,Menlo,monospace;
  --maxw:1240px;--pad-x:clamp(20px,5vw,64px);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;font-weight:300;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img,picture{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}

.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);margin-bottom:24px;}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:16px 32px;font-family:var(--mono);font-size:12px;letter-spacing:0.16em;text-transform:uppercase;font-weight:500;border:1px solid transparent;cursor:pointer;transition:all 0.3s ease;text-align:center;}
.btn--gold{background:var(--gold);color:#1a1a1a;}.btn--gold:hover{background:var(--gold-soft);transform:translateY(-1px);}
.btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,0.6);}.btn--ghost:hover{background:rgba(255,255,255,0.08);border-color:#fff;}
.btn--dark{background:var(--ink);color:#fff;}.btn--dark:hover{background:#2a2a2a;}
.btn--full{width:100%;padding:18px 24px;}.btn--lg{padding:20px 44px;font-size:13px;}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:18px var(--pad-x);z-index:100;transition:background 0.3s ease,backdrop-filter 0.3s ease;}
.nav.is-scrolled{background:rgba(14,14,14,0.93);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.nav__brand{display:flex;align-items:center;gap:12px;color:#fff;}
.nav__monogram{font-family:var(--serif);font-size:22px;font-weight:500;color:var(--gold);}
.nav__name{font-family:var(--serif);font-size:14px;letter-spacing:0.03em;color:#fff;line-height:1.2;}
.nav__name--sub{display:block;font-family:var(--mono);font-size:9px;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);}
.nav__lic-name{display:block;font-family:var(--serif);font-size:11px;letter-spacing:0.06em;color:rgba(255,255,255,0.75);margin-top:4px;font-style:italic;line-height:1.2;}
.nav__lic{display:block;font-family:var(--mono);font-size:8px;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.4);margin-top:3px;line-height:1.2;}
.nav__links{display:none;gap:36px;}
.nav__links a{font-family:var(--mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:rgba(255,255,255,0.85);transition:color 0.2s;}
.nav__links a:hover{color:var(--gold);}
.nav__cta{font-family:var(--mono);font-size:11px;letter-spacing:0.16em;background:var(--gold);color:#1a1a1a;padding:10px 18px;font-weight:500;transition:background 0.2s;}
.nav__cta:hover{background:var(--gold-soft);}
@media(min-width:900px){.nav__links{display:flex;}}

/* HERO */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;color:#fff;padding:100px var(--pad-x) 60px;overflow:hidden;}
.hero__media{position:absolute;inset:0;z-index:0;}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,14,14,0.45) 0%,rgba(14,14,14,0.25) 35%,rgba(14,14,14,0.88) 100%);}
.hero__inner{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;width:100%;animation:rise 1.2s cubic-bezier(0.2,0.8,0.2,1) both;}
@keyframes rise{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}
.hero__scroll{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);width:1px;height:56px;background:rgba(255,255,255,0.25);z-index:3;}
.hero__scroll span{position:absolute;top:0;left:0;width:100%;height:20px;background:var(--gold);animation:scrollLine 2.4s ease-in-out infinite;}
@keyframes scrollLine{0%{top:0;opacity:1;}100%{top:56px;opacity:0;}}
.hero__title{font-family:var(--serif);font-weight:500;font-size:clamp(36px,6.5vw,82px);line-height:1.03;letter-spacing:-0.01em;margin-bottom:28px;max-width:18ch;}
.hero__title em{font-style:italic;font-weight:400;color:var(--gold);}
.hero__sub{font-size:clamp(16px,1.8vw,19px);line-height:1.55;max-width:56ch;color:rgba(255,255,255,0.88);margin-bottom:40px;font-weight:300;}
.hero__ctas{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:56px;}
.trust{list-style:none;display:flex;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:28px;max-width:860px;}
.trust li{flex:1 1 160px;display:flex;flex-direction:column;gap:6px;padding-right:24px;border-right:1px solid var(--line);}
.trust li:last-child{border-right:none;}
.trust__num{font-family:var(--serif);font-size:24px;font-weight:500;color:var(--gold);}
.trust__lbl{font-family:var(--mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:rgba(255,255,255,0.65);}

/* CAPTURE */
.capture{background:var(--paper);padding:clamp(60px,10vw,120px) var(--pad-x);}
.capture__grid{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1fr;gap:56px;align-items:start;}
@media(min-width:900px){.capture__grid{grid-template-columns:1fr 1.1fr;gap:80px;}}
.capture__title{font-family:var(--serif);font-weight:500;font-size:clamp(32px,5vw,52px);line-height:1.06;letter-spacing:-0.01em;margin-bottom:24px;max-width:15ch;}
.capture__title em{font-style:italic;color:var(--gold);font-weight:400;}
.capture__copy{font-size:17px;line-height:1.65;color:var(--ink-soft);margin-bottom:16px;max-width:44ch;}
.capture__copy--small{font-family:var(--mono);font-size:12px;letter-spacing:0.05em;color:var(--muted-dark);}
.capture__copy--small a{color:var(--ink);border-bottom:1px solid var(--gold);}
.capture__bullets{list-style:none;margin-bottom:28px;display:flex;flex-direction:column;gap:10px;}
.capture__bullets li{display:flex;align-items:flex-start;gap:10px;font-size:15px;color:var(--ink-soft);}
.capture__bullets span{color:var(--gold);font-size:12px;margin-top:3px;flex-shrink:0;}
.capture__form{background:#fff;border:1px solid var(--line-dark);padding:clamp(28px,4vw,44px);display:grid;gap:18px;}
.field{display:flex;flex-direction:column;gap:6px;}
.field span{font-family:var(--mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted-dark);}
.field input,.field select{font-family:var(--sans);font-size:16px;padding:12px 0;border:none;border-bottom:1px solid var(--line-dark);background:transparent;color:var(--ink);outline:none;border-radius:0;-webkit-appearance:none;appearance:none;transition:border-color 0.2s ease;}
.field input::placeholder{color:var(--muted);font-size:14px;}
.field select{background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:28px;}
.field input:focus,.field select:focus{border-bottom-color:var(--gold);}
.capture__legal{font-family:var(--mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted-dark);text-align:center;margin-top:4px;}

/* BLOCKS */
.block{padding:clamp(72px,12vw,140px) var(--pad-x);}
.block--dark{background:var(--bg);color:#fff;}
.block--cream{background:var(--bg-cream);color:var(--ink);}
.block__inner{max-width:var(--maxw);margin:0 auto;}
.block__title{font-family:var(--serif);font-weight:500;font-size:clamp(34px,5.5vw,60px);line-height:1.06;letter-spacing:-0.01em;margin-bottom:28px;max-width:22ch;}
.block__title em{font-style:italic;font-weight:400;color:var(--gold);}
.block__lede{font-size:clamp(16px,1.8vw,19px);line-height:1.6;max-width:62ch;margin-bottom:56px;font-weight:300;}
.block--dark .block__lede{color:rgba(255,255,255,0.78);}
.block--cream .block__lede{color:var(--ink-soft);}

/* Section image */
.section-img{position:relative;width:100%;height:clamp(220px,30vw,440px);overflow:hidden;margin-bottom:52px;}
.section-img img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 8s ease;}
.section-img:hover img{transform:scale(1.03);}
.section-img__caption{position:absolute;bottom:0;left:0;right:0;padding:10px 20px;font-family:var(--mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-soft);background:rgba(244,239,232,0.88);}

/* Services grid */
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:0;}
.svc{background:var(--bg);padding:36px 28px;display:flex;flex-direction:column;gap:14px;transition:background 0.3s;}
.svc:hover{background:#181818;}
.svc__num{font-family:var(--mono);font-size:11px;color:var(--gold);letter-spacing:0.18em;}
.svc h3{font-family:var(--serif);font-size:22px;font-weight:500;letter-spacing:-0.005em;}
.svc p{font-size:15px;line-height:1.6;color:rgba(255,255,255,0.72);font-weight:300;}

/* Markets */
.markets-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1px;background:var(--line-dark);border:1px solid var(--line-dark);}
.mkt{background:var(--bg-cream);padding:36px 28px;display:flex;flex-direction:column;gap:14px;}
.mkt--featured{background:#fff;}
.mkt__tag{font-family:var(--mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);}
.mkt h3{font-family:var(--serif);font-size:28px;font-weight:500;letter-spacing:-0.01em;color:var(--ink);}
.mkt p{font-size:15px;line-height:1.6;color:var(--ink-soft);font-weight:300;flex:1;}
.mkt__stats{display:flex;flex-wrap:wrap;gap:16px;padding:14px 0;border-top:1px solid var(--line-dark);}
.mkt__stats>div{display:flex;flex-direction:column;gap:4px;}
.mkt__stats span{font-family:var(--serif);font-size:20px;font-weight:500;color:var(--ink);}
.mkt__stats small{font-family:var(--mono);font-size:9px;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted-dark);}
.mkt__cta{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid var(--gold);padding-bottom:2px;align-self:flex-start;transition:opacity 0.2s;}
.mkt__cta:hover{opacity:0.75;}
.mkt--other{background:var(--bg-cream-soft);}
.mkt--other h3{font-family:var(--serif);font-size:22px;font-style:italic;color:var(--ink);margin-bottom:4px;}
.mkt--other ul{list-style:none;display:flex;flex-direction:column;gap:8px;flex:1;}
.mkt--other li{font-size:15px;color:var(--ink-soft);padding-left:16px;position:relative;}
.mkt--other li::before{content:"·";position:absolute;left:0;color:var(--gold);}

/* Why grid */
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:56px;}
.why-item{background:var(--bg);padding:36px 28px;display:flex;flex-direction:column;gap:14px;transition:background 0.3s;}
.why-item:hover{background:#181818;}
.why-item__icon{font-size:24px;color:var(--gold);line-height:1;}
.why-item h4{font-family:var(--serif);font-size:22px;font-weight:500;}
.why-item p{font-size:15px;line-height:1.6;color:rgba(255,255,255,0.72);font-weight:300;}

.quote{font-family:var(--serif);font-style:italic;font-size:clamp(26px,4vw,44px);line-height:1.25;color:#fff;text-align:center;max-width:28ch;margin:0 auto;}
.quote::before,.quote::after{content:"";display:block;width:48px;height:1px;background:var(--gold);margin:24px auto;}

/* FAQ */
.faq-list{display:flex;flex-direction:column;}
.faq-item--cream{border-bottom:1px solid var(--line-dark);}
.faq-item--cream:first-child{border-top:1px solid var(--line-dark);}
.faq-item--cream summary{font-family:var(--serif);font-size:clamp(18px,2.5vw,22px);font-weight:500;padding:24px 48px 24px 0;cursor:pointer;position:relative;list-style:none;color:var(--ink);transition:color 0.2s;}
.faq-item--cream summary::-webkit-details-marker{display:none;}
.faq-item--cream summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:22px;color:var(--gold);font-weight:300;transition:transform 0.3s ease;}
.faq-item--cream[open] summary::after{transform:translateY(-50%) rotate(45deg);}
.faq-item--cream summary:hover{color:var(--gold);}
.faq-item--cream p{font-size:16px;line-height:1.7;color:var(--ink-soft);font-weight:300;padding-bottom:28px;max-width:72ch;}

/* Final */
.final{position:relative;overflow:hidden;padding:clamp(80px,14vw,160px) var(--pad-x);text-align:center;color:#fff;}
.final__media{position:absolute;inset:0;z-index:0;}
.final__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,14,14,0.55) 0%,rgba(14,14,14,0.78) 100%);}
.final__inner{position:relative;z-index:2;max-width:760px;margin:0 auto;}
.final__title{font-family:var(--serif);font-weight:500;font-size:clamp(38px,6vw,68px);line-height:1.05;letter-spacing:-0.01em;margin-bottom:20px;}
.final__title em{font-style:italic;color:var(--gold);font-weight:400;}
.final__copy{font-size:18px;line-height:1.6;color:rgba(255,255,255,0.82);margin-bottom:40px;font-weight:300;}
.final__phone{margin-top:24px;font-family:var(--mono);font-size:12px;letter-spacing:0.14em;color:rgba(255,255,255,0.6);}
.final__phone a{color:var(--gold);border-bottom:1px solid var(--gold);}

/* Footer */
.footer{background:#0a0a0a;color:rgba(255,255,255,0.7);padding:clamp(60px,8vw,100px) var(--pad-x) 32px;font-size:14px;}
.footer__top{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1fr;gap:48px;padding-bottom:40px;border-bottom:1px solid var(--line);}
@media(min-width:760px){.footer__top{grid-template-columns:1.4fr 1fr 1.1fr 0.9fr 0.9fr;}}
.footer__monogram{font-family:var(--serif);font-size:28px;color:var(--gold);display:inline-block;margin-bottom:16px;}
.footer__name{font-family:var(--serif);font-size:20px;color:#fff;margin-bottom:6px;}
.footer__tag{font-size:13px;color:rgba(255,255,255,0.55);margin-bottom:4px;}
.footer__tag--italic{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--gold);margin-top:12px;}
.footer__service-line{font-family:var(--mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);margin-top:16px;}
.footer__col h5{font-family:var(--mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;font-weight:500;}
.footer__col-second{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);}
.footer__office-note{font-family:var(--mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.35)!important;margin-top:6px!important;}
.footer__col p{font-size:13px;line-height:1.7;color:rgba(255,255,255,0.7);margin-bottom:4px;}
.footer__col a{border-bottom:1px solid transparent;transition:border-color 0.2s;}
.footer__col a:hover{border-bottom-color:var(--gold);}
.eho{color:var(--gold)!important;font-weight:500;}
.footer__legal{max-width:var(--maxw);margin:32px auto 0;font-size:11px;line-height:1.7;color:rgba(255,255,255,0.4);font-family:var(--mono);letter-spacing:0.02em;}

/* Sticky CTA */
.sticky-cta{position:fixed;bottom:16px;left:16px;right:16px;z-index:90;display:flex;align-items:center;justify-content:center;background:var(--gold);color:#1a1a1a;padding:16px 20px;font-family:var(--mono);font-size:12px;letter-spacing:0.16em;text-transform:uppercase;font-weight:500;box-shadow:0 8px 28px rgba(0,0,0,0.25);opacity:0;transform:translateY(20px);transition:opacity 0.3s ease,transform 0.3s ease;pointer-events:none;}
.sticky-cta.is-visible{opacity:1;transform:translateY(0);pointer-events:auto;}
@media(min-width:760px){.sticky-cta{display:none;}}

/* Reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.9s cubic-bezier(0.2,0.8,0.2,1),transform 0.9s cubic-bezier(0.2,0.8,0.2,1);}
.reveal.is-visible{opacity:1;transform:translateY(0);}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;transition-duration:0.01ms!important;scroll-behavior:auto!important;}}

/* ── Estate photo gallery ── */
.estate-gallery {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 4px;
  margin-bottom: 52px;
  height: clamp(240px, 28vw, 420px);
}
.estate-gallery__main {
  overflow: hidden;
  position: relative;
}
.estate-gallery__main img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  transition: transform 8s ease;
}
.estate-gallery__main:hover img { transform: scale(1.04); }
.estate-gallery__side {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 4px;
}
.estate-gallery__side img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  display: block;
  transition: transform 8s ease;
}
.estate-gallery__side img:hover { transform: scale(1.04); }
@media(max-width: 640px) {
  .estate-gallery { grid-template-columns: 1fr; height: auto; }
  .estate-gallery__main { height: 220px; }
  .estate-gallery__side { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr; height: 140px; }
}

/* ── Section image variants ── */
.section-img--short { height: clamp(160px, 18vw, 280px); }
.section-img--markets { height: clamp(220px, 28vw, 400px); margin-bottom: 48px; }
.section-img--dark .section-img__caption { color: rgba(255,255,255,0.8); background: rgba(14,14,14,0.6); }
.section-img img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  transition: transform 8s ease;
}
.section-img:hover img { transform: scale(1.03); }
.section-img__caption {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 10px 20px;
  font-family: var(--mono); font-size: 10px;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--ink-soft); background: rgba(244,239,232,0.88);
}
.section-img__caption--cream { color: var(--ink-soft); background: rgba(244,239,232,0.88); }
.section-img__caption--light { color: rgba(255,255,255,0.82); background: rgba(14,14,14,0.58); }
