*{box-sizing:border-box}
html,body{margin:0;padding:0;background:#fff}
body{overflow-x:hidden;color:#17385f;font-family:Arial,Helvetica,sans-serif}
.page{position:relative;width:100%;line-height:normal;overflow:hidden;isolation:isolate;container-type:inline-size}
.page-art{display:block;width:100%;height:auto;user-select:none}
/* The approved artwork already contains the complete header/navigation. These are only transparent click targets. */
.nav-hit{position:absolute;z-index:50;top:0;height:4.5%;background:transparent;text-decoration:none}
.nav-home{left:34.8%;width:7.0%}
.nav-about{left:42.6%;width:9.0%}
.nav-sellers{left:52.5%;width:7.8%}
.nav-buyers{left:61.0%;width:7.8%}
.nav-rentals{left:69.2%;width:8.2%}
.nav-contact{left:83.5%;width:13.0%;top:.5%;height:4.9%}

.form{position:absolute;z-index:40;margin:0;font-family:Arial,Helvetica,sans-serif;color:#17385f;background:#fff;border:1px solid #d5dce5;border-radius:8px;overflow:hidden;box-shadow:0 2px 7px rgba(20,45,70,.06);padding:0}
.form h2{margin:0;font-family:Georgia,'Times New Roman',serif;font-weight:700;color:#173f73;line-height:1}
.form input,.form textarea{box-sizing:border-box;margin:0;border:1px solid #bfc9d5;border-radius:5px;background:#fff;color:#17385f;font-family:Arial,Helvetica,sans-serif;outline:none;box-shadow:none}
.form input::placeholder,.form textarea::placeholder{color:#596879;opacity:1}
.form input:focus,.form textarea:focus{border-color:#173f73;box-shadow:0 0 0 1px rgba(23,63,115,.12)}
.form textarea{resize:none}
.form button{box-sizing:border-box;margin:0;border:0;border-radius:3px;background:#173f73;color:#fff;font-family:Arial,Helvetica,sans-serif;font-weight:700;cursor:pointer}
.form button:focus-visible{outline:2px solid #173f73;outline-offset:2px}
.form input[type=hidden],.form .honeypot{display:none!important}

/* HOME: exact footprint of the approved contact section, but rebuilt as one clean wide form. */
.home-form{left:4.71%;top:26.82%;width:90.58%;height:17.77%;padding:2.4% 4.1% 2.2%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:15% 22% 30% 18%;column-gap:1.35%;row-gap:5%;align-content:start}
.home-form h2{grid-column:1 / 2;grid-row:1;font-size:clamp(22px,2.7cqw,38px);align-self:start}
.home-form input{font-size:clamp(10px,1.05cqw,15px);padding:0 10px;height:100%}
.home-form .field-full{grid-column:1;grid-row:2}
.home-form .field-email{grid-column:2;grid-row:2}
.home-form .field-cell{grid-column:3;grid-row:2}
.home-form .field-message{grid-column:1 / 4;grid-row:3;height:100%;padding:8px 10px}
.home-form button{grid-column:1 / 4;grid-row:4;height:100%;font-size:clamp(10px,1.0cqw,14px);letter-spacing:.02em;align-self:start}

/* All other pages use the same compact, clean form design, fitted exactly to the original artwork's form footprint. */
.compact-form{padding:0}
.compact-form h2,.compact-form input,.compact-form textarea,.compact-form button{position:absolute;left:6.2%;width:87.6%}
.compact-form h2{top:6.5%;margin:0;font-size:clamp(17px,2.05cqw,29px)}
.compact-form input{height:12%;padding:0 9px;font-size:clamp(8px,.92cqw,13px)}
.compact-form textarea{height:16%;padding:7px 9px;font-size:clamp(8px,.92cqw,13px);resize:none}
.compact-form button{height:10.5%;font-size:clamp(8px,.92cqw,13px);letter-spacing:.02em}
.about-form .field-full,.sellers-form .field-full,.buyers-form .field-full{top:23%}
.about-form .field-email,.sellers-form .field-email,.buyers-form .field-email{top:38%}
.about-form .field-cell,.sellers-form .field-cell,.buyers-form .field-cell{top:53%}
.about-form .field-message,.sellers-form .field-message,.buyers-form .field-message{top:68%;height:16%}
.about-form button,.sellers-form button,.buyers-form button{top:87%}
.rentals-form .field-full{top:20%}.rentals-form .field-email{top:33%}.rentals-form .field-cell{top:46%}.rentals-form .field-property{top:59%}.rentals-form .field-message{top:72%;height:14%}.rentals-form button{top:88%}
.about-form{left:40.38%;top:9.81%;width:42.26%;height:15.77%}
.sellers-form{left:64.68%;top:4.25%;width:26.81%;height:22.12%}
.buyers-form{left:67.58%;top:6.31%;width:29.37%;height:25.02%}
.rentals-form{left:67.99%;top:4.68%;width:28.05%;height:25.49%}

.hot{position:absolute;z-index:20;display:block;background:transparent;text-decoration:none}
.home-learn{left:40.2%;top:55.5%;width:19%;height:3.1%}.home-sellers{left:4.6%;top:65.2%;width:29.8%;height:17.2%}.home-buyers{left:35.2%;top:65.2%;width:29.8%;height:17.2%}.home-rentals{left:65.9%;top:65.2%;width:29.8%;height:17.2%}.home-cta{left:41.9%;top:88.7%;width:16.2%;height:2.5%}
.about-cta{left:35.9%;top:96.3%;width:28.2%;height:2.8%}
.seller-cta{left:41.8%;top:83.8%;width:18%;height:5%;z-index:90;cursor:pointer}
.buyers-cta{left:42.6%;top:87.1%;width:14.8%;height:2.8%}
.rentals-renew{left:68.5%;top:77.3%;width:26%;height:4.5%}.rentals-cta{left:42.6%;top:88.1%;width:14.8%;height:2.8%}
.footer-link{position:absolute;z-index:20;display:block;background:transparent}
.home-footer-home{left:20.6%;top:95.2%;width:5%;height:2%}.home-footer-about{left:27%;top:95.2%;width:7%;height:2%}.home-footer-sellers{left:34.2%;top:95.2%;width:6%;height:2%}.home-footer-buyers{left:40.7%;top:95.2%;width:6%;height:2%}.home-footer-rentals{left:47.2%;top:95.2%;width:7%;height:2%}.home-footer-contact{left:53.7%;top:95.2%;width:8%;height:2%}
.seller-footer-home{left:51.0%;top:93.2%;width:5%;height:2.2%}.seller-footer-about{left:57.2%;top:93.2%;width:7%;height:2.2%}.seller-footer-sellers{left:64.6%;top:93.2%;width:6%;height:2.2%}.seller-footer-buyers{left:70.8%;top:93.2%;width:6%;height:2.2%}.seller-footer-rentals{left:77.0%;top:93.2%;width:7%;height:2.2%}.seller-footer-contact{right:3.5%;top:96.8%;width:7%;height:2%}
.footer-home{left:51.3%;top:92.8%;width:5%;height:2.1%}.footer-about{left:57.5%;top:92.8%;width:7%;height:2.1%}.footer-sellers{left:64.5%;top:92.8%;width:6%;height:2.1%}.footer-buyers{left:70.5%;top:92.8%;width:6%;height:2.1%}.footer-rentals{left:76.5%;top:92.8%;width:7%;height:2.1%}.footer-contact{right:3.5%;top:96.8%;width:7%;height:2%}

@media(max-width:700px){
 .nav-hit{height:6.1%}.nav-contact{height:6.3%;top:.45%}
 .home-form{padding:2.8% 4.1% 2.4%;column-gap:1.5%;row-gap:5%}
 .home-form h2{font-size:22px}.home-form input,.home-form textarea{font-size:10px;padding-left:7px;padding-right:7px}.home-form button{font-size:10px}
 .compact-form h2{font-size:17px}.compact-form input,.compact-form textarea{font-size:9px;padding-left:7px;padding-right:7px}.compact-form button{font-size:9px}
}

/* UNIFIED HEADER: Sellers, Buyers, Rentals, and About use the exact same header artwork/style as Home. */
.unified-header{position:absolute;left:0;top:0;width:100%;height:auto;z-index:60;display:block;pointer-events:none}
.nav-hit{z-index:80}
.about-page .unified-header{height:3.42%;}
.sellers-page .unified-header{height:4.25%;}
.buyers-page .unified-header{height:4.75%;}
.rentals-page .unified-header{height:4.75%;}


/* FINAL NAVIGATION LINE FIX — only Sellers/Buyers/Rentals. Home and About are untouched. */
.sellers-page .unified-header,.buyers-page .unified-header,.rentals-page .unified-header{position:absolute;left:0;top:0;width:100%;height:auto;z-index:60;aspect-ratio:1019/70;overflow:visible;pointer-events:none}
.sellers-page .unified-header img,.buyers-page .unified-header img,.rentals-page .unified-header img{display:block;width:100%;height:100%;object-fit:fill}
.sellers-page .unified-header .page-active-line,.buyers-page .unified-header .page-active-line,.rentals-page .unified-header .page-active-line{position:absolute;top:calc(50% + 20px);height:3px;background:#17385f;pointer-events:none}
.sellers-page .unified-header .page-active-line{left:52.95%;width:6.15%}
.buyers-page .unified-header .page-active-line{left:61.15%;width:6.10%}
.rentals-page .unified-header .page-active-line{left:69.15%;width:7.00%}

/* MOBILE-ONLY REBUILD. Desktop rules above are intentionally unchanged. */
.mobile-only{display:none}
@media(max-width:700px){
  html,body{margin:0;padding:0;width:100%;overflow-x:hidden;background:#fff}
  .mobile-only{display:block}
  .page{display:none!important}

  .m-page{width:100%;background:#fff;color:#17385f;font-family:Arial,Helvetica,sans-serif;overflow:hidden}
  .m-header{
    position:relative;z-index:100;
    width:100%;height:52px;
    display:grid;grid-template-columns:96px minmax(0,1fr) 70px;
    align-items:center;
    background:#fff;border-bottom:2px solid #d7e0ea;
    box-shadow:0 1px 2px rgba(20,45,70,.05);
  }
  .m-logo{display:flex;align-items:center;justify-content:center;width:96px;height:52px}
  .m-logo img{display:block;width:92px;height:auto}
  .m-nav{height:52px;display:flex;align-items:stretch;justify-content:center;gap:1px;min-width:0}
  .m-nav a{
    position:relative;display:flex;align-items:center;justify-content:center;
    min-width:0;padding:0 4px;
    color:#17385f;text-decoration:none;white-space:nowrap;
    font-family:Georgia,"Times New Roman",serif;font-weight:700;
    font-size:clamp(7.7px,2.25vw,10px);
    -webkit-tap-highlight-color:transparent;
  }
  .m-nav a.active:after{
    content:"";position:absolute;left:8%;right:8%;bottom:5px;height:2.5px;background:#17385f;
  }
  .m-contact{
    width:66px;height:29px;margin:0 auto;
    display:flex;align-items:center;justify-content:center;
    background:#173f73;color:#fff;text-decoration:none;border-radius:1px;
    font:700 clamp(7px,1.95vw,9px)/1 Arial,Helvetica,sans-serif;
    text-align:center;
  }

  .m-home-hero{width:100%;line-height:0;background:#fff}
  .m-home-hero img{display:block;width:100%;height:auto}
  .m-art-bottom{width:100%;line-height:0}
  .m-art-bottom img{display:block;width:100%;height:auto}

  .m-form{
    position:relative;z-index:20;
    width:calc(100% - 28px);
    margin:0 auto;
    padding:14px 14px 14px;
    display:flex;flex-direction:column;gap:9px;
    background:#fff;border:1px solid #d5dce5;border-radius:8px;
    box-shadow:0 2px 7px rgba(20,45,70,.08);
    color:#17385f;
  }
  .m-form h2{
    margin:0 0 1px;
    color:#173f73;
    font:700 29px/1.05 Georgia,"Times New Roman",serif;
  }
  .m-form input,.m-form textarea{
    width:100%;box-sizing:border-box;
    margin:0;border:1px solid #bfc9d5;border-radius:5px;
    background:#fff;color:#17385f;
    font:400 16px/1.2 Arial,Helvetica,sans-serif;
    padding:9px 11px;outline:none;box-shadow:none;
  }
  .m-form input{height:42px}
  .m-form textarea{height:64px;resize:none}
  .m-form input::placeholder,.m-form textarea::placeholder{color:#596879;opacity:1}
  .m-form input:focus,.m-form textarea:focus{border-color:#173f73;box-shadow:0 0 0 1px rgba(23,63,115,.12)}
  .m-form button{
    width:100%;height:44px;margin:1px 0 0;
    border:0;border-radius:3px;background:#173f73;color:#fff;
    font:700 14px/1 Arial,Helvetica,sans-serif;letter-spacing:.02em;
  }
  .m-form input[type=hidden],.m-form .honeypot{display:none!important}

  .m-home-page .m-form{margin-top:0}
  .m-sellers-page .m-form,.m-buyers-page .m-form{margin-top:0}
  .m-rentals-page .m-form{margin-top:0}

  @media(max-width:360px){
    .m-header{grid-template-columns:88px minmax(0,1fr) 66px}
    .m-logo{width:88px}
    .m-logo img{width:84px}
    .m-contact{width:62px}
    .m-nav a{padding:0 3px;font-size:7.5px}
    .m-form{width:calc(100% - 22px);padding:12px 12px}
    .m-form h2{font-size:27px}
    .m-form input,.m-form textarea{font-size:15px}
  }
}


/* V31 MOBILE FIXES — mobile presentation only; desktop rules above remain unchanged. */
@media(max-width:700px){
  .m-mobile-hero{display:block;width:100%;height:auto;overflow:hidden;line-height:0;background:#17385f}
  .m-mobile-hero img{display:block;width:100%;height:auto;object-fit:contain;object-position:center top}

  /* Keep mobile forms compact and deterministic on iPhone/Safari. */
  .m-page .m-form{
    width:calc(100% - 32px) !important;
    max-width:680px !important;
    margin:12px auto 18px !important;
    padding:14px 14px 13px !important;
    display:flex !important;
    flex-direction:column !important;
    gap:7px !important;
    box-sizing:border-box !important;
    height:auto !important;
    min-height:0 !important;
  }
  .m-page .m-form h2{
    margin:0 0 2px !important;
    font-size:27px !important;
    line-height:1.05 !important;
  }
  .m-page .m-form input{
    display:block !important;
    width:100% !important;
    height:38px !important;
    min-height:38px !important;
    max-height:38px !important;
    padding:7px 10px !important;
    font-size:14px !important;
    line-height:1.1 !important;
  }
  .m-page .m-form textarea{
    display:block !important;
    width:100% !important;
    height:54px !important;
    min-height:54px !important;
    max-height:54px !important;
    padding:8px 10px !important;
    font-size:14px !important;
    line-height:1.2 !important;
  }
  .m-page .m-form button{
    display:block !important;
    width:100% !important;
    height:40px !important;
    min-height:40px !important;
    max-height:40px !important;
    margin:1px 0 0 !important;
    font-size:13px !important;
  }
  .m-page .m-art-bottom{width:100%;line-height:0}
  .m-page .m-art-bottom img{display:block;width:100%;height:auto}

  /* Sellers / Buyers / Rentals: the hero is followed by a compact contact card,
     rather than placing the card first and pushing the page artwork below it. */
  .m-sellers-page .m-mobile-hero,
  .m-buyers-page .m-mobile-hero,
  .m-rentals-page .m-mobile-hero{height:auto}

  @media(max-width:380px){
    .m-header{grid-template-columns:88px minmax(0,1fr) 66px}
    .m-logo{width:88px}
    .m-logo img{width:84px}
    .m-contact{width:62px}
    .m-nav a{padding:0 3px;font-size:7.5px}
    .m-mobile-hero{height:auto}
    .m-page .m-form{width:calc(100% - 24px) !important;padding:12px !important}
    .m-page .m-form h2{font-size:25px !important}
  }
}


/* V33 SELLERS MOBILE FORM SIZE FIX — mobile only. Desktop is untouched. */
@media(max-width:700px){
  .m-sellers-page .m-mobile-hero img{
    width:100%;height:auto;object-fit:contain;object-position:center top;
  }
  .m-sellers-page .m-form{
    width:calc(100% - 28px) !important;
    margin:8px auto 14px !important;
    padding:10px 10px 10px !important;
    gap:5px !important;
  }
  .m-sellers-page .m-form h2{
    margin:0 0 1px !important;
    font-size:24px !important;
    line-height:1.05 !important;
  }
  .m-sellers-page .m-form input{
    height:31px !important;min-height:31px !important;max-height:31px !important;
    padding:5px 9px !important;font-size:13px !important;line-height:1.05 !important;
  }
  .m-sellers-page .m-form textarea{
    height:42px !important;min-height:42px !important;max-height:42px !important;
    padding:6px 9px !important;font-size:13px !important;line-height:1.1 !important;
  }
  .m-sellers-page .m-form button{
    height:34px !important;min-height:34px !important;max-height:34px !important;
    margin:0 !important;font-size:12px !important;
  }
}

/* V34 — MOBILE CONTACT FORMS SMALLER ON SELLERS / BUYERS / RENTALS ONLY.
   Desktop is untouched. Home and About Me are untouched. */
@media(max-width:700px){
  .m-sellers-page .m-form,
  .m-buyers-page .m-form,
  .m-rentals-page .m-form{
    width:calc(100% - 36px) !important;
    margin:7px auto 12px !important;
    padding:8px 9px 9px !important;
    gap:4px !important;
  }

  .m-sellers-page .m-form h2,
  .m-buyers-page .m-form h2,
  .m-rentals-page .m-form h2{
    margin:0 0 1px !important;
    font-size:21px !important;
    line-height:1.02 !important;
  }

  .m-sellers-page .m-form input,
  .m-buyers-page .m-form input,
  .m-rentals-page .m-form input{
    height:29px !important;
    min-height:29px !important;
    max-height:29px !important;
    padding:4px 8px !important;
    font-size:12px !important;
    line-height:1 !important;
  }

  .m-sellers-page .m-form textarea,
  .m-buyers-page .m-form textarea,
  .m-rentals-page .m-form textarea{
    height:38px !important;
    min-height:38px !important;
    max-height:38px !important;
    padding:5px 8px !important;
    font-size:12px !important;
    line-height:1.05 !important;
  }

  .m-sellers-page .m-form button,
  .m-buyers-page .m-form button,
  .m-rentals-page .m-form button{
    height:31px !important;
    min-height:31px !important;
    max-height:31px !important;
    margin:0 !important;
    font-size:11px !important;
  }

  @media(max-width:380px){
    .m-sellers-page .m-form,
    .m-buyers-page .m-form,
    .m-rentals-page .m-form{
      width:calc(100% - 28px) !important;
      padding:7px 8px 8px !important;
      gap:3px !important;
    }
    .m-sellers-page .m-form h2,
    .m-buyers-page .m-form h2,
    .m-rentals-page .m-form h2{font-size:20px !important}
  }
}

/* V35 — MOBILE-ONLY CONTACT CLEANUP. Desktop is intentionally unaffected. */
@media (max-width:700px){
  .m-about-page > .m-form{display:none !important;}

  .m-sellers-page .m-form,
  .m-buyers-page .m-form,
  .m-rentals-page .m-form{
    width:calc(100% - 44px) !important;
    margin:6px auto 10px !important;
    padding:7px 8px 8px !important;
    gap:3px !important;
    border-radius:7px !important;
  }
  .m-sellers-page .m-form h2,
  .m-buyers-page .m-form h2,
  .m-rentals-page .m-form h2{font-size:20px !important;line-height:1 !important;margin:0 0 1px !important;}
  .m-sellers-page .m-form input,
  .m-buyers-page .m-form input,
  .m-rentals-page .m-form input{height:28px !important;min-height:28px !important;max-height:28px !important;padding:4px 8px !important;font-size:12px !important;line-height:1 !important;}
  .m-sellers-page .m-form textarea,
  .m-buyers-page .m-form textarea,
  .m-rentals-page .m-form textarea{height:36px !important;min-height:36px !important;max-height:36px !important;padding:5px 8px !important;font-size:12px !important;line-height:1.05 !important;}
  .m-sellers-page .m-form button,
  .m-buyers-page .m-form button,
  .m-rentals-page .m-form button{height:30px !important;min-height:30px !important;max-height:30px !important;margin:0 !important;font-size:11px !important;}

  .m-art-bottom{position:relative !important;}
  .m-bottom-contact{position:absolute;display:block;z-index:30;background:transparent;}
  .m-bottom-sellers .m-bottom-contact-primary{left:42.4%;top:79.3%;width:15.0%;height:4.2%;}
  .m-bottom-sellers .m-bottom-contact-footer{left:87.4%;top:95.0%;width:8.0%;height:3.2%;}
  .m-bottom-buyers .m-bottom-contact-primary{left:42.5%;top:79.5%;width:15.0%;height:4.2%;}
  .m-bottom-buyers .m-bottom-contact-footer{left:87.2%;top:94.4%;width:8.2%;height:3.5%;}
  .m-bottom-rentals .m-bottom-contact-renewal{left:68.5%;top:67.4%;width:26.0%;height:4.8%;}
  .m-bottom-rentals .m-bottom-contact-primary{left:42.5%;top:82.4%;width:15.0%;height:4.2%;}
  .m-bottom-rentals .m-bottom-contact-footer{left:87.2%;top:94.4%;width:8.2%;height:3.5%;}
  .m-bottom-home .m-bottom-contact-footer{left:87.0%;top:93.0%;width:8.5%;height:4.0%;}
}

/* V36 — RENTALS MOBILE ONLY: full hero wording + smaller contact card. Desktop untouched. */
@media(max-width:700px){
  .m-rentals-page .m-mobile-hero img{
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
    object-position:center top !important;
  }
  .m-rentals-page .m-form{
    width:calc(100% - 52px) !important;
    margin:6px auto 9px !important;
    padding:6px 7px 7px !important;
    gap:2px !important;
    border-radius:7px !important;
  }
  .m-rentals-page .m-form h2{
    font-size:18px !important;
    line-height:1 !important;
    margin:0 0 1px !important;
  }
  .m-rentals-page .m-form input{
    height:23px !important;
    min-height:23px !important;
    max-height:23px !important;
    padding:3px 7px !important;
    font-size:10.5px !important;
    line-height:1 !important;
  }
  .m-rentals-page .m-form textarea{
    height:30px !important;
    min-height:30px !important;
    max-height:30px !important;
    padding:4px 7px !important;
    font-size:10.5px !important;
    line-height:1.05 !important;
  }
  .m-rentals-page .m-form button{
    height:26px !important;
    min-height:26px !important;
    max-height:26px !important;
    margin:0 !important;
    font-size:10px !important;
  }
}


/* Web3Forms honeypot: must stay completely invisible, including mobile overrides. */
.m-form input[name="botcheck"], .form input[name="botcheck"] { display:none !important; width:0 !important; height:0 !important; min-width:0 !important; min-height:0 !important; max-width:0 !important; max-height:0 !important; margin:0 !important; padding:0 !important; border:0 !important; position:absolute !important; opacity:0 !important; pointer-events:none !important; }
