/* v3 editorial design. Loaded after the existing integration styles. */
:root{--red:#cf202f;--paper:#f7f4ee;--v3-serif:Georgia,'Times New Roman',serif}
body{background:var(--paper)}
.sw-header-agent strong{font-family:var(--v3-serif);font-size:1.65rem;letter-spacing:.015em;font-weight:700}
/* The larger desktop wordmark must not override the compact mobile header. */
@media(max-width:620px){
  .sw-header-branding{flex:1;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:10px}
  .sw-header-agent{min-width:0;max-width:none;white-space:normal}
  .sw-header-agent strong{font-size:clamp(.85rem,3.8vw,1.05rem);line-height:1.1;white-space:normal}
  .sw-header-brokerage{width:118px;max-width:100%;min-width:0}
  .sw-header-brokerage img{width:100%;max-width:100%;height:35px}
  .sw-menu-button{flex-shrink:0}
}
@media(max-width:370px){
  .sw-header-branding{grid-template-columns:minmax(0,1fr) 102px}
  .sw-header-brokerage{width:102px}
  .sw-header-brokerage img{height:30px}
}
.sw-topline{font-size:.6rem;letter-spacing:.16em}.sw-site-header{background:var(--paper)}
.v3-home{overflow:hidden;background:var(--paper)}.v3-home .wrap{max-width:1280px;width:min(90%,1280px)}
.v3-home h1,.v3-home h2{font-family:var(--v3-serif);font-weight:400;letter-spacing:-.055em;line-height:.97;text-transform:uppercase}
.v3-home h2{font-size:clamp(2.6rem,4.7vw,5rem);margin:0}.v3-home h2 span{color:var(--red)}
.v3-home p{line-height:1.7}.v3-home .eyebrow{font-size:.66rem;letter-spacing:.2em}
.v3-home .button{border-radius:2px;gap:22px;min-height:52px}.v3-home a{transition:background .25s,color .25s,transform .25s}
.v3-home .button:hover{transform:translateY(-2px)}.v3-home .text-link{letter-spacing:.11em;font-size:.72rem}
.v3-hero{position:relative;min-height:640px;padding:65px 0 65px;color:#fff;background:#111 url('../images/st-johns-harbour.jpg') center/cover;isolation:isolate}
.v3-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.60) 42%,rgba(0,0,0,.12)),linear-gradient(0deg,rgba(0,0,0,.45),transparent 60%)}
.v3-hero:after{content:'';position:absolute;bottom:-1px;left:-5%;width:110%;height:70px;border-radius:50% 50% 0 0/100% 100% 0 0;background:var(--paper);transform:rotate(-3deg);transform-origin:right bottom}
.v3-hero h1{font-size:clamp(3.5rem,5.7vw,6rem);margin:0;max-width:880px}.v3-hero h1 span{display:block;color:var(--red)}
.v3-hero .eyebrow{color:#fff}.v3-lead{color:#fff;font-size:1.1rem}.v3-light-link{color:#fff;text-decoration:none;border-bottom:1px solid #fff;padding:12px 0;align-self:center;font-size:.8rem}.v3-scroll{display:inline-flex;gap:16px;margin-top:28px;color:#fff;text-decoration:none;font-size:.7rem}
.v3-experience{position:relative;padding:70px 0 35px;background:var(--paper)}.v3-experience-grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:30px}.v3-experience-copy{position:relative;z-index:2;padding:15px 0 55px}.v3-experience-copy>p:not(.eyebrow){max-width:510px}.v3-experience h2{font-size:clamp(3.5rem,6vw,6.5rem)}.v3-subhead{font-size:1.15rem;font-weight:600}.v3-credentials{font-size:.76rem;display:flex;gap:15px;flex-wrap:wrap;margin-top:40px}.v3-credentials i{color:var(--red);font-size:1.2rem}
.v3-portrait{position:relative;align-self:stretch;min-height:600px;isolation:isolate;margin-top:-260px}.v3-portrait:before{content:'';position:absolute;width:90%;aspect-ratio:1;border:1px solid var(--red);border-radius:50%;top:120px;left:0;z-index:-1}.v3-portrait img{position:absolute;height:100%;max-height:790px;width:100%;object-fit:contain;object-position:bottom;bottom:0;filter:drop-shadow(12px 12px 18px rgba(0,0,0,.08))}.v3-year{position:absolute;top:130px;right:-35px;font:clamp(7rem,15vw,16rem)/1 var(--v3-serif);color:#e9e4dc;z-index:-2;letter-spacing:-.07em}
.v3-home .home-new-listings{background:var(--paper);padding:65px 0 95px}.v3-home .home-new-listings__heading .display{font-family:var(--v3-serif);font-weight:400;font-size:clamp(2.8rem,4.5vw,4.7rem);white-space:normal;line-height:.97;letter-spacing:-.05em}.v3-home .home-listing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;align-items:start}.v3-home .home-listing-card{border:0;background:transparent;box-shadow:none}.v3-home .home-listing-card:hover{box-shadow:none;transform:none}.v3-home .home-listing-card__image{border-radius:9px;aspect-ratio:4/3}.v3-home .home-listing-card__body{padding:20px 0}.v3-home .home-listing-card__price{font-family:var(--v3-serif);font-weight:400}.v3-home .home-listing-card__meta{border:0;padding-top:0}.v3-home .home-new-listings__footer{justify-content:flex-end;margin-top:5px}
.v3-local{padding:0 0 40px;position:relative}.v3-local-image{height:590px;position:relative}.v3-local-image img{width:100%;height:100%;object-fit:cover}.v3-local-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.25),transparent)}.v3-local-image>span{position:absolute;top:35px;right:5%;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.95);font:clamp(5rem,13vw,14rem)/1 var(--v3-serif);letter-spacing:-.06em}.v3-local-copy{position:relative;max-width:690px;background:var(--paper);margin:-185px 0 0 auto;padding:65px 0 25px 65px;z-index:1;border-radius:18px 0 0 0}.v3-local-copy h2{font-size:clamp(2.5rem,3.5vw,3.8rem)}.v3-local-copy p{max-width:470px}
.v3-market{padding:80px 0 100px}.v3-market-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:75px;align-items:center}.v3-market h2{font-size:clamp(2.6rem,3.7vw,4rem)}.v3-market h3{margin-top:30px;font-size:1.1rem}.v3-market p{max-width:500px}.v3-market-visual{height:480px;padding-top:40px}.v3-market-visual img{width:100%;height:100%;object-fit:cover;border-radius:10px 10px 90px 10px}
.v3-help{padding:65px 0;background:#ece7df}.v3-help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px}.v3-help h2{font-size:2.2rem;text-transform:none;letter-spacing:-.04em}.v3-help p{font-size:.95rem}
.v3-home .contact{background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.72)),url('../images/st-johns-harbour.jpg') center/cover;padding:110px 0}.v3-home .contact h2{font:400 clamp(2.8rem,4.6vw,5rem)/.98 var(--v3-serif);letter-spacing:-.05em}.v3-home .contact h2 .accent{color:var(--red);display:block}.v3-home .contact p{color:#e0dcd6}.v3-home .contact-grid{grid-template-columns:1fr .85fr;gap:55px}.v3-home .contact-card{border-radius:12px;background:#191919;padding:32px}.v3-home .lead-form{margin:0;padding:0;border:0}.v3-home .lead-form input,.v3-home .lead-form select,.v3-home .lead-form textarea{border-radius:4px}.v3-home .lead-form-note,.v3-home .contact-card small{color:#c5bfb6!important}.v3-home .lead-form .privacy{color:#bdb7b0!important}.v3-home .lead-form label{color:#e0dcd6}
/* Shared design language; preserve plugin controls and layout. */
body:not(.sw-original-home) .page-hero h1,body:not(.sw-original-home) .sw-core-hero h1{font-family:var(--v3-serif);font-weight:400;letter-spacing:-.04em;white-space:normal}
body:not(.sw-original-home) .sw-core-section h2{font-family:var(--v3-serif);font-weight:400;letter-spacing:-.03em}
@media(max-width:1000px){.v3-hero{min-height:620px}.v3-portrait{min-height:550px;margin-top:-170px}.v3-market-grid{gap:35px}.v3-home .contact-grid{gap:30px}.v3-help-grid{gap:30px}}
@media(max-width:760px){.v3-hero{min-height:560px;padding:60px 0 85px;background-position:60% center}.v3-hero h1{font-size:clamp(2.8rem,9vw,4.7rem)}.v3-experience-grid{grid-template-columns:1fr;gap:0}.v3-experience-copy{padding-bottom:0}.v3-experience h2{font-size:clamp(3rem,11vw,5rem)}.v3-portrait{height:490px;min-height:0;margin:20px 0 0}.v3-year{top:60px;right:0;font-size:9rem}.v3-portrait:before{top:40px;width:80%;left:10%}.v3-portrait img{max-height:490px}.v3-home .home-listing-grid{grid-template-columns:1fr}.v3-home .home-listing-card:nth-child(n){padding-top:0}.v3-home .home-listing-card__image{aspect-ratio:16/10}.v3-home .home-new-listings{padding:40px 0 55px}.v3-home .home-new-listings__footer{justify-content:stretch}.v3-home .home-new-listings__footer a{width:100%}.v3-local-image{height:380px}.v3-local-image>span{font-size:18vw;top:30px}.v3-local-copy{padding:40px 25px 10px;margin-top:-60px}.v3-market-grid,.v3-help-grid,.v3-home .contact-grid{grid-template-columns:1fr}.v3-market{padding:50px 0}.v3-market-visual{height:300px;padding:0}.v3-help-grid{gap:40px}.v3-home .contact{padding:65px 0}.v3-home .contact-card{padding:24px}.v3-credentials{gap:10px;margin-top:25px}.v3-hero .actions{display:flex}.v3-home .wrap{width:90%}}
@media(max-width:380px){.v3-hero h1{font-size:2.65rem}.v3-home .contact-card{padding:18px}.v3-credentials{font-size:.7rem}.v3-home h2{overflow-wrap:normal}.v3-portrait{height:420px}}
@media(prefers-reduced-motion:no-preference){.v3-enter{animation:v3-enter .65s ease both}@keyframes v3-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.v3-home *, .v3-home *:before,.v3-home *:after{animation:none!important;transition:none!important}}

/* Existing Market Updates page shortcode, rendered in the v3 design. */
.sw-v3-market-hub{padding:65px 0 85px;background:var(--paper)}
.sw-v3-market-intro{max-width:760px;margin:0 0 38px;font-size:1.15rem;line-height:1.7}
.sw-v3-market-reports{display:grid;gap:35px}
.sw-v3-market-report{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px;align-items:center;padding-bottom:35px;border-bottom:1px solid #ded8cf}
.sw-v3-market-report-image{display:block;overflow:hidden;border-radius:10px;aspect-ratio:16/10}
.sw-v3-market-report-image img{display:block;width:100%;height:100%;object-fit:cover}
body:not(.sw-original-home) .sw-v3-market-report h2{margin:0 0 18px;font:400 clamp(1.8rem,3vw,3rem)/1.08 var(--v3-serif);letter-spacing:-.035em;text-transform:none}
.sw-v3-market-report h2 a{text-decoration:none;color:var(--ink)}
.sw-v3-market-report h2 a:hover{color:var(--red)}
.sw-v3-market-report-copy>p:not(.eyebrow){line-height:1.7;color:#4f4a44}
@media(max-width:700px){.sw-v3-market-hub{padding:40px 0 55px}.sw-v3-market-report{grid-template-columns:minmax(0,1fr);gap:22px}.sw-v3-market-report h2{overflow-wrap:anywhere}}
