/* Willow — Home v2. Page-level vars + section responsive rules + keyframes.
   (Base reset, nav and footer live in shell.css.) */
body.willow-tpl-home, .wv-home{ --secpy:100px; --serif:'Richmond Text',Georgia,'Times New Roman',serif; --dscale:1; --htrack:-0.01em; --blh:1.75; --dk:#282018; --page:#F2EEEB; --willow-white:#F2EEEB; --oncream-1:rgba(242,238,235,.7); }
/* Hero serif display uses Richmond Text if available, else a serif fallback. */
.wv-home [style*='Richmond']{ font-family:'Richmond Text',Georgia,'Times New Roman',serif; }


  @keyframes testiMarquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

  /* Drawer only exists on tablet/mobile */

  /* ============ TABLET ============ */
  @media (max-width:1200px){
    nav{padding:20px 5vw !important;}

    /* Hero */
    [data-screen-label="Hero"]{min-height:100vh !important;min-height:100dvh !important;}
    [data-screen-label="Hero"] [style*="Richmond"]{font-size:40px !important;}

    /* Local expertise */
    [data-screen-label="Local expertise"]{height:auto !important;min-height:0 !important;max-height:none !important;padding:64px 5vw !important;}
    [data-screen-label="Local expertise"] h2{font-size:29px !important;margin:0 !important;max-width:600px !important;}

    /* Full-bleed image */
    [data-screen-label="Full-bleed image"]{height:52vh !important;min-height:360px !important;}

    /* Sell + Manage split cards — trimmed section padding for tablet. */
    [data-screen-label="Sell with Willow"]{padding:72px 5vw !important;}
    [data-screen-label="Manage with Willow"]{padding:72px 5vw !important;}

    /* Pricing note (dark band, image + quote) */
    [data-screen-label="Pricing note"]{padding:90px 5vw !important;}
    [data-screen-label="Pricing note"] > div{gap:44px !important;}
    [data-screen-label="Pricing note"] > div > div:first-child{width:44% !important;height:360px !important;}
    [data-screen-label="Pricing note"] > div > div:last-child{height:360px !important;}
    [data-screen-label="Pricing note"] p{font-size:34px !important;}

    /* Recently sold */
    [data-screen-label="Recently sold"] [style*="letter-spacing: 3px"]{font-size:15px !important;}
    [data-screen-label="Recently sold"] [style*="font-size: 20px"]{font-size:14px !important;}
    [data-screen-label="Recently sold"] [style*="font-size: 22px"]{font-size:15px !important;}
    [data-screen-label="Recently sold"] [style*="VIEW ALL RESULTS"],
    [data-screen-label="Recently sold"] a[style*="letter-spacing: 2px"]{font-size:10px !important;}

    /* Journal -> 2-up */
    [data-screen-label="The Journal"]{padding:64px 5vw !important;}
    [data-screen-label="The Journal"] > div:nth-child(2){grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:18px !important;}
    [data-screen-label="The Journal"] h2{font-size:32px !important;}

    /* CTA */
    [data-screen-label="CTA"] h2{font-size:36px !important;}

    /* Footer -> 2-up */
    [data-screen-label="Footer"]{padding:56px 5vw 32px !important;}
    [data-screen-label="Footer"] > div:first-child > div{margin-top:0 !important;}
  }

  /* ============ MOBILE ============ */
  @media (max-width:640px){
    nav{padding:16px 22px !important;}
    nav img{height:36px !important;}

    /* Hero */
    [data-screen-label="Hero"]{min-height:100vh !important;min-height:100dvh !important;}
    [data-screen-label="Hero"] [style*="Richmond"]{font-size:30px !important;}
    [data-screen-label="Hero"] > div:last-child{padding:40px 22px 70px !important;}

    /* Local expertise */
    [data-screen-label="Local expertise"]{padding:104px 22px !important;}
    [data-screen-label="Local expertise"] h2{font-size:24px !important;line-height:1.4 !important;}

    /* Full-bleed image */
    [data-screen-label="Full-bleed image"]{height:44vh !important;min-height:300px !important;}

    /* Sell + Manage split cards — stack full-width, no gap, image above copy */
    [data-screen-label="Sell with Willow"],[data-screen-label="Manage with Willow"]{padding:52px 22px !important;}
    .wv-splitcard{gap:0 !important;}
    .wv-splitcard-img{order:-1;}
    .wv-splitcard-img{height:240px !important;}
    .wv-splitcard-body{height:auto !important;align-items:flex-start !important;text-align:left !important;padding:32px 26px !important;}
    .wv-splitcard-body h2{font-size:32px !important;}
    .wv-splitcard-body p{font-size:16px !important;}

    /* Pricing note — stack image over quote/CTA, all left-aligned, no dead space */
    [data-screen-label="Pricing note"]{padding:52px 24px !important;}
    [data-screen-label="Pricing note"] > div{flex-direction:column !important;gap:30px !important;align-items:stretch !important;}
    [data-screen-label="Pricing note"] > div > div:first-child{flex:0 0 auto !important;width:100% !important;height:240px !important;}
    /* Reset the desktop flex-basis (600px) — in a column it would otherwise become 600px of HEIGHT and leave dead space below the CTA. */
    [data-screen-label="Pricing note"] > div > div:last-child{flex:0 0 auto !important;height:auto !important;align-items:flex-start !important;text-align:left !important;justify-content:flex-start !important;gap:30px !important;}
    [data-screen-label="Pricing note"] p{font-size:28px !important;line-height:1.4 !important;}

    /* Recently sold — smaller type */
    [data-screen-label="Recently sold"] [style*="font-size: 20px"]{font-size:12px !important;}
    [data-screen-label="Recently sold"] [style*="font-size: 22px"]{font-size:13px !important;}
    [data-screen-label="Recently sold"] [style*="font-size: 11px"]{font-size:8px !important;}
    [data-screen-label="Recently sold"] [style*="VIEW ALL RESULTS"]{gap:8px !important;font-size:9px !important;}
    [data-screen-label="Recently sold"] button[style*="width:56px"]{width:44px !important;height:44px !important;left:22px !important;right:22px !important;}

    /* Testimonials */
    [data-screen-label="Testimonials"]{min-height:auto !important;}
    [data-screen-label="Testimonials"] > div:nth-child(3){padding:7vh 22px 0 !important;}
    [data-screen-label="Testimonials"] [style*="letter-spacing: 6px"]{font-size:20px !important;letter-spacing:4px !important;}
    [data-screen-label="Testimonials"] [style*="width:340px"]{width:260px !important;padding:0 32px !important;}

    /* Journal -> 1-up */
    [data-screen-label="The Journal"]{padding:52px 22px !important;}
    [data-screen-label="The Journal"] > div:nth-child(2){grid-template-columns:1fr !important;gap:22px !important;}
    [data-screen-label="The Journal"] h2{font-size:27px !important;}

    /* CTA */
    [data-screen-label="CTA"]{min-height:64vh !important;}
    [data-screen-label="CTA"] > div:last-child{padding:12vh 22px !important;}
    [data-screen-label="CTA"] h2{font-size:29px !important;}
    [data-screen-label="CTA"] p{font-size:16px !important;}
    [data-screen-label="CTA"] > div:last-child > div{flex-direction:column !important;width:100% !important;}
    [data-screen-label="CTA"] > div:last-child > div > a{width:100% !important;}

    /* Footer -> 1-up */
    [data-screen-label="Footer"]{padding:48px 22px 28px !important;}
    [data-screen-label="Footer"] > div:first-child{grid-template-columns:1fr !important;gap:32px !important;}
    [data-screen-label="Footer"] > div:last-child{flex-direction:column !important;gap:16px !important;align-items:flex-start !important;}
    [data-screen-label="Footer"] > div:last-child > div{gap:28px !important;}
  }


/* Text slide-in reveals (Sell/Manage sections). The images no longer animate;
   the heading/paragraph slide in instead — Sell from the right, Manage from
   the left — when the block scrolls into view. */
[data-slidein]{ opacity:0; will-change:transform,opacity; transition:opacity 1s ease, transform 1s cubic-bezier(.16,1,.3,1); }
[data-slidein="right"]{ transform:translateX(22px); }
[data-slidein="left"]{ transform:translateX(-22px); }
[data-slidein].is-in{ opacity:1; transform:none; will-change:auto; }
html:not(.wv-js) [data-slidein]{ opacity:1 !important; transform:none !important; }
@media (prefers-reduced-motion:reduce){ [data-slidein]{ opacity:1 !important; transform:none !important; transition:none; } }

/* Sell / Manage split cards — image + copy are fixed 500x300 rectangles side
   by side; the copy block is plain white (no cream panel). Below 1040px they
   stack and go full-width; on phones the image shortens and the copy is auto
   height. */
.wv-splitcard-img{ }
.wv-splitcard-body{ background:#FFFFFF; }
@media (max-width:1160px){
  .wv-splitcard{ max-width:520px !important; }
  .wv-splitcard-img, .wv-splitcard-body{ width:100% !important; }
  .wv-splitcard-body{ height:auto !important; min-height:0 !important; padding:28px 4px !important; align-items:flex-start !important; text-align:left !important; gap:34px !important; }
  .wv-splitcard-body h2{ white-space:normal !important; }
  .wv-splitcard-body{ width:100% !important; }
  .wv-splitcard-img{ order:-1; }
}

/* ===== Quick links (For Sale / For Lease / Sold) after the hero ===== */
.wv-quicklinks{background:#F2EEEB;padding:70px 6.5vw;}
.wv-quicklinks-in{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:60px;}
.wv-quicklink{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:1px solid rgba(40,32,24,.28);font-family:'Forma DJR Banner','Helvetica Neue',Arial,sans-serif;font-weight:400;font-size:clamp(15px,1.3vw,18px);letter-spacing:2px;text-transform:uppercase;color:#282018;transition:opacity .2s ease;}
.wv-quicklink:hover{opacity:.6;}
@media(max-width:640px){.wv-quicklinks{padding:44px 22px;}.wv-quicklinks-in{grid-template-columns:1fr;gap:26px;}}

/* ===== Underlined CTA link (split cards + pricing note) ===== */
.wv-clink{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;padding-bottom:16px;border-bottom:1px solid rgba(22,22,22,.3);font-family:'Forma DJR Banner','Helvetica Neue',Arial,sans-serif;font-weight:400;font-size:19px;line-height:1;letter-spacing:1px;color:#161616;text-transform:none;transition:opacity .2s ease;}
.wv-clink:hover{opacity:.6;}
.wv-clink svg{flex:0 0 auto;}
.wv-clink--dark{color:#F2EEEB;border-bottom-color:rgba(242,238,235,.4);}
