/* Shared Steve Winters header and visual language. Loaded after all page and RealtyPress styles. */
:root{--red:#cf202f;--ink:#121212;--paper:#f5f1eb;--cream:#f5f1eb;--dark:#111;--sans:Arial,Helvetica,sans-serif;--serif:Arial,Helvetica,sans-serif}
.sw-topline{background:var(--red);color:#fff;text-align:center;padding:8px 20px;font:800 .72rem/1.35 Arial,Helvetica,sans-serif;letter-spacing:.13em;text-transform:uppercase}
.sw-site-header{height:auto!important;background:#fff!important;border:0!important;position:relative;z-index:200}
.sw-site-header .sw-header-inner{width:min(calc(100% - 48px),1600px);margin:auto;min-height:88px;padding:10px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative}
.sw-header-branding{display:flex;align-items:center;gap:24px;min-width:0;flex-shrink:0}
.sw-header-agent{display:block;text-decoration:none!important;color:#121212!important;border-left:1px solid #d7d4ce;padding-left:16px;white-space:nowrap;line-height:1.1}
.sw-header-agent strong{display:block;font:800 1.05rem/1.1 Arial,Helvetica,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.sw-header-agent span{display:block;margin-top:7px;color:#6f6a63;font:700 .61rem/1.25 Arial,Helvetica,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.sw-header-brokerage{display:flex;align-items:center;justify-content:center;position:static;transform:none;min-width:187px;max-width:195px;text-decoration:none!important;color:#333!important;padding:0;z-index:2}
.sw-header-brokerage img{display:block;width:180px;height:49px;max-width:none;object-fit:cover;object-position:center;background:transparent}
.sw-primary-nav{display:flex!important;align-items:center;justify-content:flex-end;gap:clamp(14px,1.7vw,27px);width:auto!important;position:static;background:transparent;box-shadow:none;padding:0;margin:0}
.sw-primary-nav>a,.sw-primary-nav>.sw-nav-group>a,.sw-nav-primary-button{display:inline-flex;align-items:center;min-height:44px;padding:0;border:0;background:none;color:#121212;text-decoration:none!important;font:800 .73rem/1.25 Arial,Helvetica,sans-serif;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.sw-primary-nav>a:hover,.sw-primary-nav>.sw-nav-group>a:hover,.sw-nav-primary-button:hover,.sw-nav-submenu-button:hover{color:var(--red)}
.sw-primary-nav .sw-nav-contact{min-height:50px;padding:0 21px;background:var(--red);color:#fff!important;text-align:center;justify-content:center}
.sw-primary-nav .sw-nav-contact:hover{background:#a91826;color:#fff!important}
.sw-nav-group{position:relative;display:flex;align-items:center;gap:4px}
.sw-nav-submenu-button{display:inline-grid;place-items:center;width:20px;height:44px;border:0;background:none;color:#121212;font:800 1rem Arial,Helvetica,sans-serif;cursor:pointer}
.sw-nav-primary-button span{font-size:1rem;margin-left:6px}
.sw-nav-submenu{display:none;position:absolute;top:100%;left:-15px;min-width:205px;padding:12px 18px;background:#fff;box-shadow:0 16px 35px #0002;border-top:3px solid var(--red);z-index:30}
.sw-nav-submenu a{display:block;padding:10px 0;color:#121212;text-decoration:none!important;font:800 .72rem/1.35 Arial,Helvetica,sans-serif;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}
.sw-nav-submenu a:hover{color:var(--red)}
.sw-nav-submenu--areas{min-width:260px}
.sw-nav-submenu .sw-nav-submenu-all{margin-top:6px;padding-top:14px;border-top:1px solid #e4e0da;color:var(--red);display:flex;align-items:center;justify-content:space-between;gap:18px}
.sw-nav-group:hover>.sw-nav-submenu,.sw-nav-group:focus-within>.sw-nav-submenu,.sw-nav-group.is-open>.sw-nav-submenu{display:block}
.sw-menu-button{display:none;border:0;background:none;color:#121212;min-width:44px;min-height:44px;font-size:1.55rem;cursor:pointer}
.sw-site-header a:focus-visible,.sw-site-header button:focus-visible{outline:3px solid var(--red);outline-offset:3px}
@media(max-width:1260px){
  .sw-site-header .sw-header-inner{width:min(calc(100% - 34px),1600px);min-height:82px}
  .sw-menu-button{display:grid;place-items:center;margin-left:auto}
  .sw-primary-nav{display:none!important;position:absolute;top:100%;left:0;right:0;width:100%!important;background:#fff;box-shadow:0 17px 30px #0002;padding:16px max(17px,calc((100vw - 1240px)/2));flex-direction:column;align-items:stretch;gap:0;max-height:calc(100vh - 120px);overflow-y:auto}
  .sw-primary-nav.is-open{display:flex!important}
  .sw-primary-nav>a,.sw-primary-nav>.sw-nav-group>a,.sw-nav-primary-button{font-size:.82rem;min-height:48px}
  .sw-nav-group{display:flex;flex-wrap:wrap;justify-content:space-between;border-bottom:1px solid #e4e0da}
  .sw-nav-group>a,.sw-nav-primary-button{flex:1}
  .sw-nav-submenu-button{width:44px;height:48px}
  .sw-nav-submenu{position:static;min-width:0;width:100%;box-shadow:none;border-top:0;border-left:2px solid var(--red);padding:4px 0 6px 16px;margin-bottom:10px}
  .sw-nav-group:hover>.sw-nav-submenu{display:none}
  .sw-nav-group.is-open>.sw-nav-submenu,.sw-nav-group:focus-within>.sw-nav-submenu{display:block}
  .sw-primary-nav .sw-nav-contact{margin-top:14px;width:max-content;min-width:170px}
}
@media(max-width:620px){
  .sw-topline{font-size:.57rem;padding:7px 16px}
  .sw-site-header .sw-header-inner{gap:8px;min-height:74px}
  .sw-header-branding{display:flex;align-items:center;gap:12px}
  .sw-header-agent{padding-left:0;border:0}
  .sw-header-agent strong{font-size:.82rem;letter-spacing:.045em}
  .sw-header-agent span{font-size:.47rem;letter-spacing:.035em;margin-top:5px}
  .sw-header-brokerage{min-width:0;width:118px;max-width:118px;padding:0}
  .sw-header-brokerage img{width:118px;height:35px}
  .sw-menu-button{min-width:40px}
}
@media(max-width:620px){.sw-header-agent{max-width:112px}.sw-header-agent span{white-space:normal;max-width:112px;line-height:1.15}}
@media(max-width:370px){.sw-header-agent span{display:none}.sw-header-brokerage{width:102px;max-width:102px}.sw-header-brokerage img{width:99px;height:30px}}

/* Inner pages share the homepage's red, black, cream, and bold sans-serif typography. */
body:not(.sw-original-home){background:#fff;color:#121212;font-family:Arial,Helvetica,sans-serif}
body:not(.sw-original-home) h1,body:not(.sw-original-home) h2,body:not(.sw-original-home) h3{font-family:Arial,Helvetica,sans-serif;font-weight:800;letter-spacing:-.055em;text-transform:uppercase;line-height:.98}
body:not(.sw-original-home) .eyebrow{font:800 .72rem/1.4 Arial,Helvetica,sans-serif;letter-spacing:.18em;color:var(--red)}
body:not(.sw-original-home) .page-hero,body:not(.sw-original-home) .sw-core-hero{background:#111;color:#fff}
body:not(.sw-original-home) .page-hero h1{font:800 clamp(3rem,6.5vw,6rem)/.9 Arial,Helvetica,sans-serif;letter-spacing:-.065em;text-transform:uppercase;color:#fff}
body:not(.sw-original-home) .page-hero p:not(.eyebrow){color:#dedbd6}
body:not(.sw-original-home) .sw-core-section--dark{background:#111}
body:not(.sw-original-home) .sw-core-section--cream{background:var(--paper)}
body:not(.sw-original-home) .sw-core-card{background:#fff}
body:not(.sw-original-home) .sw-core-section h3{font-size:clamp(1.35rem,2.2vw,1.85rem);line-height:1.02;margin-bottom:15px}
body:not(.sw-original-home) .sw-core-cta a,body:not(.sw-original-home) .button,body:not(.sw-original-home) .sw-listing-action{font:800 .75rem/1.3 Arial,Helvetica,sans-serif;letter-spacing:.1em;text-transform:uppercase;border-radius:0}
body:not(.sw-original-home) .sw-core-cta a{min-height:50px}
body:not(.sw-original-home) .sw-core-cta a:hover{background:#a91826;color:#fff;filter:none}
body:not(.sw-original-home) .site-footer{background:#090909;color:#bcb9b4}
body:not(.sw-original-home) .footer-brand,body:not(.sw-original-home) .site-footer h2{font-family:Arial,Helvetica,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.04em}
body:not(.sw-original-home) .bootstrap-realtypress{font-family:Arial,Helvetica,sans-serif;color:#121212}
body:not(.sw-original-home) .bootstrap-realtypress h1,body:not(.sw-original-home) .bootstrap-realtypress h2,body:not(.sw-original-home) .bootstrap-realtypress h3{font-family:Arial,Helvetica,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.05em}
body:not(.sw-original-home) .bootstrap-realtypress .btn,body:not(.sw-original-home) .bootstrap-realtypress button{border-radius:0;font-family:Arial,Helvetica,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
body:not(.sw-original-home) .bootstrap-realtypress .btn-primary{background:var(--red);border-color:var(--red);color:#fff}
body:not(.sw-original-home) .bootstrap-realtypress .btn-primary:hover{background:#a91826;border-color:#a91826}

/* Keep accent text consistent with the homepage Royal LePage red. */
.sw-core-hero .eyebrow,.sw-core-section--dark .eyebrow,.selling .eyebrow,.page-hero .eyebrow{color:var(--red)!important}
.selling .text-link:hover{color:var(--red)!important}
body.single-rps_listing .bootstrap-realtypress .sw-rps-shell h1,body.single-rps_listing .bootstrap-realtypress .sw-rps-shell h2{font-family:Arial,Helvetica,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.055em;line-height:.96}
body.single-rps_listing .bootstrap-realtypress .sw-rps-price>strong{font-family:Arial,Helvetica,sans-serif;font-weight:800}
body.single-rps_listing .sw-rps-bottom{background:#111}
body.single-rps_listing .sw-rps-button,body.single-rps_listing .sw-rps-mobile-cta{font:800 .75rem/1.3 Arial,Helvetica,sans-serif;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:620px){body:not(.sw-original-home) .page-hero h1{font-size:clamp(2.8rem,12vw,4.5rem)}}
/* Unified single-line desktop hero treatment for key guide pages. */
.sw-page-hero-accent{color:var(--red)}
@media(min-width:821px){
  body:not(.sw-original-home) .page-hero h1.sw-page-hero-one-line{
    font-size:clamp(3.1rem,4.2vw,5rem);
    line-height:.92;
    white-space:nowrap;
    letter-spacing:-.065em;
  }
}

/* Mobile companion to the unified desktop guide-page hero treatment. */
@media(max-width:820px){
  body:not(.sw-original-home) .page-hero h1.sw-page-hero-one-line{
    font-size:clamp(2.2rem,10vw,3.15rem);
    line-height:.94;
    letter-spacing:-.055em;
    max-width:100%;
  }
}

/* Keep the Areas hero tidy on phones: EXPLORE on line one, ST. JOHN’S METRO together on line two. */
@media(max-width:820px){
  body:not(.sw-original-home) .page-hero h1.sw-page-hero-areas{font-size:clamp(2rem,9vw,3rem);line-height:.94}
  .sw-page-hero-areas .sw-hero-line-one,.sw-page-hero-areas .sw-hero-line-two{display:block}
  .sw-page-hero-areas .sw-hero-line-two{white-space:nowrap}
}

/* 2.5.15 footer accent pass. */
body:not(.sw-original-home) .footer-brand-accent,
body:not(.sw-original-home) .footer-experience{color:var(--red)}
body:not(.sw-original-home) .footer-brand{color:#fff}
body:not(.sw-original-home) .site-footer h2{color:#f0efed}

/* 2.5.16: brighten the site footer for stronger contrast. */
body:not(.sw-original-home) .site-footer,
body:not(.sw-original-home) .site-footer p,
body:not(.sw-original-home) .site-footer a,
body:not(.sw-original-home) .footer-bottom{color:#fff}
body:not(.sw-original-home) .site-footer h2{color:#fff}
body:not(.sw-original-home) .site-footer a:hover{color:var(--red)}
body:not(.sw-original-home) .footer-brand-accent,
body:not(.sw-original-home) .footer-experience{color:var(--red)}
