
    /* ============================================================
       EDIT YOUR LISTINGS + MARKET NUMBERS DOWN IN THE <script> TAG
       AT THE BOTTOM OF THIS FILE. You don't need to touch the CSS.
       ============================================================ */
    :root{
      --ink:#0A0A0A;
      --paper:#FAFAF8;
      --stone:#6B6B6B;
      --line:#DCDAD4;
      --card:#FFFFFF;
      --whisper:#9A968E;
    }
    /* Reset only what's needed for this page */
    .westwood-page *{ box-sizing:border-box; }
    /* Override global heading/paragraph styles from style.css */
    .westwood-page h1,
    .westwood-page h2,
    .westwood-page h3,
    .westwood-page h4,
    .westwood-page h5,
    .westwood-page h6 {
      font-family:'Hanken Grotesk',system-ui,sans-serif;
      font-weight:600;
      color:var(--ink);
      line-height:1.2;
      font-size:unset;
    }
    .westwood-page p{
      font-size:inherit;
      line-height:inherit;
      color:inherit;
    }
    .westwood-page{
      background:var(--paper);
      color:var(--ink);
      font-family:'Hanken Grotesk',system-ui,sans-serif;
      font-size:17px;
      line-height:1.6;
      -webkit-font-smoothing:antialiased;
      overflow-x:hidden;
      /* Push content below fixed nav */
      padding-top:80px;
    }
    html{ scroll-behavior:smooth; }
    .ww-wrap{ max-width:920px; margin:0 auto; padding:0 28px; }
    /* ---- shared editorial bits ---- */
    .eyebrow{
      font-size:11px;
      font-weight:600;
      letter-spacing:0.28em;
      text-transform:uppercase;
      color:var(--stone);
    }
    .rule{
      height:1px;
      background:var(--line);
      border:0;
      margin:0;
    }
    /* ---- masthead ---- */
    .masthead{ padding:64px 0 44px; }
    .masthead-grid{
      display:grid;
      grid-template-columns:1fr min(340px,42%);
      gap:40px;
      align-items:start;
    }
    .masthead-photo{
      border-radius:6px;
      overflow:hidden;
      margin-top:8px;
    }
    .masthead-photo img{
      width:100%;
      height:auto;
      object-fit:cover;
      display:block;
      border-radius:6px;
    }

    .masthead .eyebrow{ display:block; margin-bottom:30px; }
    .masthead h1{
      font-family:'Playfair Display',serif;
      font-weight:300;
      font-size:clamp(68px,15vw,148px);
      line-height:0.86;
      letter-spacing:-0.02em;
      margin-bottom:18px;
    }
    .masthead .sub{
      font-family:'Playfair Display',serif;
      font-style:italic;
      font-weight:400;
      font-size:clamp(16px,2.4vw,22px);
      color:var(--ink);
      margin-bottom:14px;
    }
    .dateline{
      font-size:12px;
      letter-spacing:0.16em;
      text-transform:uppercase;
      color:var(--stone);
    }
    .intro{
      max-width:780px;
      margin-top:34px;
      font-size:18px;
      color:#2B2B2B;
    }
    .intro p + p{ margin-top:14px; }
    /* ---- market strip ---- */
    .market{ padding:48px 0; }
    .section-label{
      display:flex;
      align-items:baseline;
      justify-content:space-between;
      gap:16px;
      margin-bottom:30px;
    }
    .section-label .eyebrow{ display:block; font-size:16px; }
    .section-label .count{
      font-size:16px;
      letter-spacing:0.14em;
      text-transform:uppercase;
      color:var(--whisper);
    }
    .stats{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:32px;
    }
    .stat{ padding:6px 0; text-align:center; }
    .stat .num{
      font-family:'Hanken Grotesk',system-ui,sans-serif;
      font-weight:700;
      font-size:clamp(30px,4.5vw,48px);
      line-height:1;
      letter-spacing:-0.02em;
      display:block;
      color:var(--ink);
    }
    .stat .lbl{
      margin-top:12px;
      font-size:11px;
      font-weight:600;
      letter-spacing:0.16em;
      text-transform:uppercase;
      color:var(--stone);
    }
    /* ---- listings ---- */
    .listings{ padding:48px 0 16px; }
    .home{
      display:grid;
      grid-template-columns:380px 1fr;
      gap:30px;
      padding:36px 0;
      border-top:1px solid var(--line);
      align-items:start;
    }
    .home:last-child{ border-bottom:1px solid var(--line); }
    .photo{
      aspect-ratio:4/3;
      background:#EDEBE6;
      border-radius:2px;
      overflow:hidden;
      position:relative;
    }
    .photo img{ width:100%; height:100%; object-fit:cover; display:block; }
    .photo .noimg{
      position:absolute; inset:0;
      display:flex; align-items:center; justify-content:center;
      font-family:'Hanken Grotesk',system-ui,sans-serif;
      font-style:italic;
      font-size:13px;
      color:var(--whisper);
      text-align:center;
      padding:14px;
    }
    .home-body{ padding-top:2px; }
    .addr{
      font-family:'Hanken Grotesk',system-ui,sans-serif;
      font-weight:600;
      font-size:clamp(20px,3vw,26px);
      line-height:1.15;
      letter-spacing:-0.01em;
      margin-bottom:6px;
    }
    .ww-price{
      font-size:15px;
      font-weight:600;
      letter-spacing:0.04em;
      margin-bottom:14px;
    }
    .specs{
      font-size:12px;
      font-weight:500;
      letter-spacing:0.13em;
      text-transform:uppercase;
      color:var(--stone);
      margin-bottom:18px;
    }
    .specs span{ white-space:nowrap; }
    .specs .dot{ color:var(--line); margin:0 8px; }
    .note{
      border-left:2px solid var(--ink);
      padding:2px 0 2px 18px;
      margin:0 0 18px;
      font-family:'Playfair Display',serif;
      font-style:italic;
      font-size:17px;
      line-height:1.45;
      color:#1A1A1A;
    }
    .note .who{
      display:block;
      font-family:'Hanken Grotesk',sans-serif;
      font-style:normal;
      font-size:10px;
      font-weight:700;
      letter-spacing:0.2em;
      text-transform:uppercase;
      color:var(--whisper);
      margin-bottom:8px;
    }
    .public-remarks .who{ color:var(--stone); }
    .home-foot{
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      gap:8px 16px;
      font-size:12px;
      color:var(--stone);
    }
    .brokerage{
      letter-spacing:0.06em;
    }
    .photo-col{
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .view-listing{
      display:block;
      font-family:'Hanken Grotesk',system-ui,sans-serif;
      font-size:13px;
      font-weight:600;
      letter-spacing:0.04em;
      color:var(--gold);
      text-decoration:none;
      border:1.5px solid var(--gold);
      border-radius:4px;
      padding:6px 14px;
      text-align:center;
      transition:background 0.18s,color 0.18s;
    }
    .view-listing:hover{
      background:var(--gold);
      color:#fff;
    }
    .view{
      color:var(--ink);
      font-weight:600;
      letter-spacing:0.12em;
      text-transform:uppercase;
      font-size:11px;
      text-decoration:none;
      border-bottom:1px solid var(--ink);
      padding-bottom:2px;
      transition:opacity .2s ease;
    }
    .view:hover{ opacity:0.55; }
    /* ---- market update section ---- */
    .market-update{
      padding:56px 0 48px;
      border-top:1px solid var(--line);
    }
    .market-update .eyebrow{ display:block; margin-bottom:14px; }
    .mkt-title{
      font-family:'Playfair Display',serif;
      font-weight:300;
      font-size:clamp(28px,5vw,48px);
      line-height:1.05;
      letter-spacing:-0.02em;
      margin:0 0 6px;
      color:var(--ink);
    }
    .market-update .dateline{ margin-bottom:22px; }
    .mkt-lead{
      font-size:18px;
      color:var(--stone);
      margin:0 0 36px;
      max-width:60ch;
      line-height:1.65;
    }
    .mkt-stats{ margin-bottom:40px; }
    .mkt-body p{ margin:0 0 14px; font-size:17px; }
    .mkt-body h3{
      font-family:'Playfair Display',serif;
      font-style:italic;
      font-weight:300;
      font-size:clamp(20px,3vw,26px);
      letter-spacing:-0.01em;
      margin:28px 0 10px;
      color:var(--ink);
    }
    .mkt-bottomline{
      border-left:3px solid var(--ink);
      padding:20px 24px 16px;
      margin:36px 0 28px;
      background:var(--card);
    }
    .mkt-bl-head{
      font-weight:600;
      font-size:15px;
      margin:0 0 12px;
      letter-spacing:0.01em;
    }
    .mkt-bottomline ul{ margin:0; padding:0; list-style:none; }
    .mkt-bottomline li{
      position:relative;
      padding-left:18px;
      margin-bottom:8px;
      font-size:15px;
      color:var(--stone);
    }
    .mkt-bottomline li::before{
      content:"";
      position:absolute;
      left:0; top:0.6em;
      width:6px; height:6px;
      background:var(--ink);
      transform:rotate(45deg);
    }
    .mkt-bl-tag{
      margin:14px 0 0;
      font-style:italic;
      color:var(--stone);
      font-size:15px;
    }
    .mkt-sign{
      font-size:16px;
      color:var(--stone);
      border-top:1px solid var(--line);
      padding-top:24px;
      margin:0;
      line-height:1.65;
    }
    .mkt-har-link{
      display:inline-block;
      margin-top:10px;
      font-size:14px;
      font-weight:600;
      letter-spacing:0.02em;
      color:var(--ink);
      text-decoration:none;
      border-bottom:1px solid var(--ink);
      padding-bottom:1px;
      transition:opacity 0.2s;
    }
    .mkt-har-link:hover{ opacity:0.6; }

    /* ---- cta ---- */
    .ww-cta{
      background:var(--ink);
      color:var(--paper);
      border-radius:3px;
      padding:clamp(40px,7vw,64px);
      margin:64px 0 56px;
    }
    .ww-cta .eyebrow{ color:#8C8C8C; display:block; margin-bottom:22px; }
    .ww-cta h2{
      font-family:'Playfair Display',serif;
      font-weight:300;
      font-size:clamp(24px,3.8vw,38px);
      white-space:nowrap;
      line-height:1.0;
      letter-spacing:-0.01em;
      margin-bottom:20px;
      color:var(--paper);
    }
    .ww-cta p{
      max-width:460px;
      color:#CFCDC7;
      font-size:17px;
      margin-bottom:30px;
    }
    .cta-actions{ display:flex; flex-wrap:wrap; gap:14px; }
    .ww-btn{
      display:inline-block;
      text-decoration:none;
      font-size:12px;
      font-weight:700;
      letter-spacing:0.16em;
      text-transform:uppercase;
      padding:15px 26px;
      border-radius:2px;
      transition:opacity .2s ease, background .2s ease, color .2s ease;
    }
    .ww-btn-solid{ background:var(--paper); color:var(--ink); }
    .ww-btn-solid:hover{ opacity:0.8; }
    .ww-btn-ghost{ border:1px solid #555; color:var(--paper); }
    .ww-btn-ghost:hover{ background:#1c1c1c; }
    /* ---- footer ---- */
    .ww-footer{ padding:8px 0 64px; }
    .foot-grid{
      display:flex;
      flex-wrap:wrap;
      justify-content:space-between;
      gap:24px;
      padding-top:34px;
      border-top:1px solid var(--line);
    }
    .foot-brand{
      display:flex;
      align-items:center;
      gap:16px;
    }
    .foot-headshot{
      width:64px;
      height:64px;
      border-radius:50%;
      object-fit:cover;
      flex-shrink:0;
      border:2px solid var(--line);
    }
    .foot-brand-text{
      font-family:'Playfair Display',serif;
      font-size:20px;
      letter-spacing:-0.01em;
    }
    .foot-brand-text span{ display:block; font-family:'Hanken Grotesk',sans-serif; font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:var(--stone); margin-top:6px; }
    .foot-social{
      display:flex;
      gap:8px;
      margin-top:12px;
    }
    .foot-social a{
      display:flex;
      align-items:center;
      justify-content:center;
      width:36px;
      height:36px;
      border:1.5px solid var(--line);
      border-radius:50%;
      color:var(--stone);
      text-decoration:none;
      font-size:15px;
      transition:border-color 0.2s,color 0.2s;
    }
    .foot-social a:hover{
      border-color:var(--ink);
      color:var(--ink);
    }
    .foot-contact{ font-size:13px; color:var(--stone); line-height:1.9; text-align:right; }
    .foot-contact a{ color:var(--ink); text-decoration:none; }
    .foot-contact a:hover{ text-decoration:underline; }
    .disclaimer{
      margin-top:30px;
      font-size:11px;
      line-height:1.7;
      color:var(--whisper);
    }
    /* ---- new construction callout ---- */
    .new-construction{
      border:1px solid var(--line);
      border-radius:3px;
      padding:clamp(28px,5vw,44px);
      margin:56px 0 0;
    }
    .new-construction .eyebrow{ display:block; margin-bottom:18px; }
    .new-construction h3,
    .under-contract h3{
      font-family:'Playfair Display',serif;
      font-weight:300;
      font-size:clamp(22px,4vw,32px);
      line-height:1.1;
      letter-spacing:-0.01em;
      margin-bottom:12px;
    }
    .new-construction .nc-intro,
    .under-contract .nc-intro{
      font-size:15px;
      color:var(--stone);
      margin-bottom:28px;
      max-width:100%;
    }
    .nc-homes{ display:flex; flex-direction:column; gap:0; }
    .nc-left{ display:flex; flex-direction:row; align-items:baseline; gap:20px; flex:1; }
    .nc-home{
      display:flex;
      justify-content:space-between;
      align-items:baseline;
      gap:16px;
      padding:14px 0;
      border-top:1px solid var(--line);
    }
    .nc-home:last-child{ border-bottom:1px solid var(--line); }
    .nc-addr{
      font-family:'Playfair Display',serif;
      font-size:clamp(17px,2.5vw,22px);
      letter-spacing:-0.01em;
      color:var(--ink);
      white-space:nowrap;
    }
    .nc-detail{
      font-size:12px;
      font-weight:500;
      letter-spacing:0.1em;
      text-transform:uppercase;
      color:var(--ink);
      white-space:nowrap;
    }
    .nc-price{
      font-size:14px;
      font-weight:600;
      letter-spacing:0.04em;
      white-space:nowrap;
    }
    /* ---- under contract section ---- */
    .under-contract{
      border:1px solid var(--line);
      border-radius:3px;
      padding:clamp(28px,5vw,44px);
      margin:56px 0 0;
    }
    .under-contract .eyebrow{ display:block; margin-bottom:18px; }
    .uc-homes{ display:flex; flex-direction:column; gap:0; }
    .uc-home{
      display:grid;
      grid-template-columns:1fr auto auto;
      align-items:baseline;
      gap:8px 20px;
      padding:14px 0;
      border-top:1px solid var(--line);
    }
    .uc-home:last-child{ border-bottom:1px solid var(--line); }
    .uc-addr{
      font-family:'Playfair Display',serif;
      font-size:clamp(15px,2.2vw,20px);
      letter-spacing:-0.01em;
      color:var(--ink);
    }
    .uc-price{
      font-size:14px;
      font-weight:600;
      letter-spacing:0.04em;
      white-space:nowrap;
    }
    .uc-specs{
      font-size:12px;
      font-weight:500;
      letter-spacing:0.1em;
      text-transform:uppercase;
      color:var(--stone);
      white-space:nowrap;
    }
    .uc-right{
      display:flex;
      flex-direction:row;
      align-items:baseline;
      gap:10px;
      font-size:12px;
      color:var(--stone);
      letter-spacing:0.04em;
    }
    .uc-badge{
      font-weight:600;
      color:var(--ink);
    }

    /* ---- Mobile overrides (after all base styles so they win) ---- */
    @media(max-width:680px){
      .masthead-grid{ grid-template-columns:1fr; }
      .masthead-photo{ max-height:220px; overflow:hidden; }
      .home{ grid-template-columns:1fr !important; gap:16px; }
      .photo-col{ order:-1; }
      .addr{ font-size:clamp(18px,5vw,22px); }
      .stats{ grid-template-columns:1fr 1fr; gap:20px; }
      .ww-cta h2{ white-space:normal; font-size:clamp(20px,6vw,28px); }
      .nc-home{ flex-direction:column !important; align-items:flex-start; gap:4px; }
      .nc-left{ flex-direction:column; gap:2px; }
      .nc-addr{ white-space:normal; }
      .nc-detail{ white-space:normal; }
      .uc-home{ display:flex !important; flex-direction:column !important; align-items:flex-start; gap:2px; }
      .uc-specs{ white-space:normal; }
      .uc-right{ flex-direction:column !important; gap:1px; }
      .foot-contact{ text-align:left; }
    }
