/* Home-page sections (index.html + home.html). Desktop geometry matches the
   Wix 980px grid measured on taraolson.com at 1440px wide. */

/* hero */
.hero{height:838px;color:#fff}
.hero-in{padding-top:291px;text-align:center}
.hero-eyebrow{font:bold 25px/1.2em var(--f-script);text-align:center}
.hero-title{margin-top:8px}
.hero-text{margin-top:12px}
.hero-btns{display:flex;justify-content:center;gap:22px;margin-top:27px}
.hero-btns .btn{width:224px}

/* about (image + stacked card) */
.about{height:846px;background:#fff}
.about .wrap{height:100%}
.about-photo{position:absolute;left:0;top:80px;width:577px;height:685px;object-fit:cover}
.about-tan{position:absolute;left:525px;top:160px;width:454px;height:442px;background:var(--tan)}
.about-card{position:absolute;left:483px;top:186px;width:469px;height:498px;background:#fff;box-shadow:0 0 10px rgba(0,0,0,.2);padding:27px 20px 0}
.about-text{margin-top:7px}
.about-btn{position:absolute;left:20px;top:421px;width:204px}

/* services */
.services{height:880px;background:var(--cream)}
.svc-title{position:absolute;top:79px;left:0;right:0;width:906px;margin:0 auto}
.svc-grid{position:absolute;top:164px;left:50%;margin-left:-656px;width:1312px;display:grid;grid-template-columns:repeat(4,313px);gap:20px}
.svc-card{position:relative;height:481px;background:#fff}
.svc-card img{width:313px;height:197px;object-fit:cover}
.svc-card h6{position:absolute;left:12px;top:219px;width:274px;line-height:1.4em}
.svc-card hr{position:absolute;left:12px;top:258px;width:97px;margin:0;border:0;border-top:1px solid rgba(0,0,0,.5)}
.svc-card ul{position:absolute;left:12px;top:268px;width:287px}
.svc-cta{position:absolute;top:697px;left:0;right:0;text-align:center}

/* market insights */
.insights{height:501px;background:#fff}
.insights .wrap{height:100%}
.ins-copy{position:absolute;left:1px;top:80px;width:479px}
.ins-copy h3.font_2{width:457px}
.ins-sub{position:absolute;top:114px;width:471px;white-space:nowrap}
.checks{list-style:none;margin:0;padding:0}
.checks li{display:flex;align-items:flex-start;gap:13px;height:24px}
.checks svg{flex:0 0 22px;width:22px;height:22px;margin-top:1px;fill:#000}
.checks li:nth-child(2) svg+span,.checks li:nth-child(3) svg+span{margin-left:1px}
.ins-copy .checks{position:absolute;top:158px}
.ins-copy .checks li+li{margin-top:18px}
.ins-btn{position:absolute;left:0;top:372px;width:204px}
.ins-img{position:absolute;left:509px;top:80px;width:471px;height:341px;object-fit:cover}

/* neighbourhood guides */
.hoods{height:623px;background:var(--cream)}
.hoods-title{position:absolute;top:81px;left:0;right:0}
.hoods-sub{position:absolute;top:134px;left:0;right:0}
.hood-grid{position:absolute;top:222px;left:50%;margin-left:-615px;width:1230px;display:grid;grid-template-columns:repeat(5,230px);column-gap:20px;row-gap:21px}
.hood{position:relative;height:144px;background-position:center;background-repeat:repeat}
.hood-fill{background-size:cover;background-repeat:no-repeat}
.hood-box{position:absolute;left:10px;top:19px;width:210px;height:106px;background:rgba(255,255,255,.71);border:1px solid #fff;padding:0 5px;text-align:center}
.hood-box h2{margin-top:17px;font-size:18px;line-height:1.4em;text-decoration:underline}
.hood-box p{margin-top:6px;font-size:14px;line-height:1.4em;text-decoration:underline}

/* tara talks */
.talks{height:541px;background:var(--cream)}
.talks .wrap{height:100%}
.talks-video{position:absolute;left:-133px;top:108px;width:567px;height:324px;background:#000}
.talks-video iframe{width:100%;height:100%;border:0;display:block}
.talks-copy{position:absolute;left:500px;top:80px;width:480px}
.talks-sub{position:absolute;top:154px;width:471px}
.talks-copy .checks{position:absolute;top:199px;width:480px}
.talks-copy .checks li+li{margin-top:18px}
.talks-btn{position:absolute;left:-1px;top:332px;width:204px}

/* testimonials */
.testi{height:481px;color:#fff}
.testi-title{position:absolute;top:81px;left:0;right:0;width:654px;margin:0 auto}
.testi-show{position:absolute;top:140px;left:50%;margin-left:-570px;width:1140px;height:190px}
.testi-show .slides{position:absolute;inset:0}
.testi-stars{position:absolute;top:17px;left:50%;margin-left:-56px;width:109px;height:19px}
.testi-quote{position:absolute;top:56px;left:50%;margin-left:-425px;width:850px}
.testi-show .prev{left:0;top:74px}
.testi-show .next{right:1px;top:74px}
.testi-show .dots{top:169px}
.testi-cta{position:absolute;top:352px;left:0;right:0;text-align:center}

/* contact */
.contact{height:717px;background:var(--cream)}
.contact .wrap{height:100%}
.ct-left{position:absolute;left:0;top:86px;width:420px}
.ct-left h2{width:366px}
.ct-sub{margin-top:10px}
.ct-row{position:absolute;left:0;display:flex;gap:20px}
.ct-row:nth-of-type(1){top:109px}
.ct-row:nth-of-type(2){top:188px}
.ct-row:nth-of-type(3){top:268px}
.ct-row .rt{width:310px;padding-top:1px}
.ct-icon{flex:0 0 50px;width:50px;height:50px;background:#000;display:flex;align-items:center;justify-content:center}
.ct-icon svg{width:31px;height:31px;fill:#fff}
.ct-map{position:absolute;left:-3px;top:348px;width:417px;height:213px}
.ct-map iframe{width:100%;height:100%;border:0;display:block}
.contact .wform{position:absolute;left:509px;top:86px;width:470px}

/* Wix form (shared look) */
.wform{display:flex;flex-wrap:wrap;column-gap:19px}
.wform label{display:block}
.wform label>span{display:block;height:14px;margin-bottom:12px;font:14px/14px var(--f-head);color:#000;padding-left:2px}
.wform .f-half{width:225px;margin-bottom:27px}
.wform .f-full{width:470px;margin-bottom:28px}
.wform input,.wform textarea{display:block;width:100%;height:52px;border:0;border-radius:0;background:rgba(0,0,0,.5);padding:3px 3px 3px 22px;font:14px var(--f-body);color:#fff;outline:0}
.wform textarea{height:126px;padding:10.5px 10px 3px 22px;resize:vertical;margin-left:-1px}
.wform .f-msg{margin-bottom:27px}
.wform button{width:470px;height:46px;background:#000;border:2px solid #000;color:#fff;font:15px var(--f-body);cursor:pointer;transition:border-color .4s,background-color .4s,color .4s}
.wform button:hover{background:transparent;color:#000}

/* newsletter band */
.newsletter{height:135px;background:#000}
.newsletter .wrap{height:100%}
.newsletter h5{position:absolute;left:0;top:48px;width:532px}
.newsletter .nl-form{position:absolute;left:563px;top:44px}

/* market statistics popup */
.market-popup .popup-bg{background:rgba(26,152,161,.73)}
.market-popup .popup-close{top:26px;left:50%;margin-left:409px;width:58px;height:58px}
.market-popup .popup-close svg{width:58px;height:58px}
.market-popup{align-items:flex-start}
.market-popup .mp-frame{position:relative;width:819px;height:723px;margin-top:112px;padding:8px;overflow:hidden;background:#fff}
.market-popup .mp-frame img{width:800px;height:700px;max-width:none}

/* ---------- small screens: stack ---------- */
@media (max-width:1000px){
  .hero{height:auto;min-height:600px;padding:150px 0 80px}
  .hero-in{padding-top:0}
  .hero-title{font-size:38px!important}
  .hero-text{font-size:16px!important}
  .hero-btns{flex-direction:column;align-items:center;gap:14px}
  .about,.services,.insights,.hoods,.talks,.testi,.contact,.newsletter{height:auto;padding:50px 0}
  .about-photo,.about-tan,.about-card,.about-btn,.svc-title,.svc-grid,.svc-cta,.ins-copy,.ins-sub,.ins-copy .checks,.ins-btn,.ins-img,
  .hoods-title,.hoods-sub,.hood-grid,.talks-video,.talks-copy,.talks-sub,.talks-copy .checks,.talks-btn,.testi-title,.testi-cta,
  .ct-left,.ct-row,.ct-map,.contact .wform,.newsletter h5,.newsletter .nl-form{position:relative;left:auto;top:auto;margin-left:0}
  .about-photo{width:100%;height:auto;aspect-ratio:577/685}
  .about-tan{display:none}
  .about-card{width:auto;height:auto;margin:-60px 10px 0;padding:24px 20px}
  .about-card h6{font-size:30px!important}
  .about-btn{margin-top:16px}
  .svc-title,.hoods-title,.testi-title{width:auto;padding:0 20px;font-size:30px!important}
  .svc-grid{width:auto;margin:30px 20px 0;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
  .svc-card img{width:100%;height:auto;aspect-ratio:313/197}
  .svc-card{height:auto;padding-bottom:20px}
  .svc-card h6,.svc-card hr,.svc-card ul{position:static;margin:12px 12px 0;width:auto}
  .svc-cta{margin-top:30px}
  .ins-copy,.ins-copy h3.font_2,.ins-sub{width:auto;white-space:normal}
  .ins-copy h3.font_2,.talks-copy h3.font_2,.ct-left h2{font-size:30px!important}
  .ins-sub,.talks-sub{margin:12px 0}
  .ins-btn,.talks-btn{margin-top:20px}
  .ins-img{width:100%;height:auto;margin-top:30px}
  .hoods-sub{padding:0 20px;margin-top:8px}
  .hood-grid{width:auto;margin:30px 20px 0;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
  .talks-video{width:100%;height:auto;aspect-ratio:16/9}
  .talks-copy{width:auto;margin-top:30px}
  .testi-show{position:relative;left:auto;margin:20px auto 0;width:auto;height:260px}
  .testi-quote{left:40px;right:40px;width:auto;margin-left:0}
  .testi-show .prev{left:10px}.testi-show .next{right:10px}
  .testi-show .dots{top:230px}
  .testi-cta{margin-top:20px}
  .ct-left,.ct-left h2{width:auto}
  .ct-row{margin-top:20px}
  .ct-map{width:100%;margin-top:30px}
  .contact .wform{width:auto;margin-top:40px}
  .wform .f-half,.wform .f-full,.wform button{width:100%}
  .newsletter h5{width:auto;font-size:22px!important;margin-bottom:16px}
  .market-popup .mp-frame{width:92vw;height:80vh}
  .checks li{height:auto}
  .ins-copy .checks li+li,.talks-copy .checks li+li{margin-top:12px}
  .talks-copy .checks,.talks-sub{width:auto}
  .ct-row:nth-of-type(n){top:auto}
  .hood-box{left:10px;right:10px;width:auto}
  .testi-show{height:350px}
  .testi-show .dots{top:325px}
  .testi-show .prev,.testi-show .next{top:110px}
  .market-popup .popup-close{left:auto;right:10px;margin-left:0;top:10px;width:40px;height:40px}
}

/* ---- home.html only ---- */
:root{--f-avenir:"Nunito Sans","Avenir Next","Avenir",sans-serif}
.pg-home .h2-in{padding-top:303px}
.pg-home .h2-title{width:824px;margin:1px auto 0}
.pg-home .h2-text{width:846px;margin:10px auto 0}
.pg-home .h2-btns{margin-top:18px}
.pg-home .h2-btns .btn{width:224px}
.pg-home .h2-btns .btn:first-child{width:178px}

.h2-about{background:#faf8f4}
.h2-about .about-photo{top:81px}
.h2-about .about-tan{top:164px}
.h2-about .about-card{top:190px;height:435px;padding-top:28px}
.h2-about-title{margin-top:1px}
.h2-about-text{margin-top:7px}
.h2-about .about-btn{top:356px}

.h2-head{position:absolute;top:80px;left:0;right:0}
.h2-head h6+h6{margin-top:6px}

.h2-svc{height:1147px;background:var(--tan)}
.h2-svc .wrap,.h2-areas .wrap,.h2-testi .wrap,.h2-blog .wrap{height:100%}
.h2-svc-grid{position:absolute;top:195px;left:1px;display:grid;grid-template-columns:repeat(3,313px);gap:20px}
.h2-card{position:relative;height:425px;background:#fff}
.h2-card img{width:313px;height:197px;object-fit:cover}
.h2-card h6{position:absolute;top:219px;left:19px;width:274px;line-height:1.4em}
.h2-card hr{position:absolute;top:258px;left:108px;width:97px;margin:0;border:0;border-top:1px solid rgba(0,0,0,.5)}
.h2-card p{position:absolute;top:268px;left:12px;width:287px}
.h2-card .btn{position:absolute;top:360px;left:74px;width:165px;height:45px}

.h2-areas{height:684px;background:#fff}
.h2-areas .h2-head{top:79px}
.h2-loc-head{position:absolute;top:204px;left:0;width:310px}
.h2-loc-head hr{position:absolute;top:45px;left:2px;width:295px;margin:0;border:0;border-top:1px solid rgba(0,0,0,.5)}
.h2-loc{position:absolute;top:281px;left:0;margin:0;padding:0;list-style:none}
.h2-loc li{display:flex;align-items:flex-start;gap:19px;height:22px}
.h2-loc li+li{margin-top:23.2px}
.h2-loc svg{flex:0 0 34px;width:34px;height:21px;fill:#000}
.h2-loc span{line-height:22.4px}
.h2-loc-btn{position:absolute;top:557px;left:0}
.h2-map{position:absolute;top:204px;left:392px;width:587px;height:400px;background:#e5e3df;z-index:0}
.h2-pin{background:none;border:0}
.h2-pin svg{width:32px;height:32px;display:block}

.h2-testi{height:549px;color:#fff}
.h2-testi .h2-head{top:85px}
.h2-show{position:absolute;top:192px;left:0;width:980px;height:288px}
.h2-show .slides{position:absolute;inset:0}
.h2-show[data-slideshow] .slide.entering{transform:translateX(calc(var(--dir,1) * 100%))}
.h2-show[data-slideshow] .slide.leaving{transform:translateX(calc(var(--dir,1) * -100%))}
.h2-quote{position:absolute;left:468px;top:25px;width:42px;height:35px;fill:var(--tan)}
.h2-q{position:absolute;top:77px;left:65px;width:850px}
.h2-name{position:absolute;top:170px;left:0;right:0;text-align:center;font:22px/34px Georgia,serif;color:#fff}
.h2-stars{position:absolute;top:210px;left:428px;display:flex;gap:2px}
.h2-stars svg{width:23px;height:23px;fill:#ffd700}
.h2-show .dots{top:263px;height:11px;gap:12px}
.h2-show .dots button{width:7px;height:7px;background:var(--tan)}
.h2-show .dots button.on{width:11px;height:11px;background:transparent;border:2px solid var(--tan)}

.h2-gallery{height:884px;background:#fff}
.h2-gallery>.wrap{height:192px}
.h2-gal{position:absolute;top:192px;left:50px;right:50px;height:611px}
.h2-gal-track{position:relative;height:611px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scroll-behavior:smooth}
.h2-gal-track::-webkit-scrollbar{display:none}
.h2-gal-track::after{content:"";position:absolute;left:2359px;top:0;width:1px;height:1px}
.h2-gal-track a{position:absolute;display:block;overflow:hidden}
.h2-gal-track a::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.3);opacity:0;transition:opacity .4s}
.h2-gal-track a:hover::after{opacity:1}
.h2-gal-track img{width:100%;height:100%;object-fit:cover}
.h2-gal-arrow{position:absolute;top:282px;width:46px;height:46px;border:0;padding:0;background:#000;cursor:pointer;display:flex;align-items:center;justify-content:center}
.h2-gal-arrow svg{width:11px;height:19px;fill:#fff}
.h2-gal-arrow.next{right:23px}
.h2-gal-arrow.prev{left:23px;display:none}
.h2-gal-arrow.prev svg{transform:scaleX(-1)}
.h2-gal.scrolled .prev{display:flex}
.h2-gal.at-end .next{display:none}

.h2-blog{height:842px;background:var(--tan)}
.h2-posts{position:absolute;top:205px;left:1px;display:grid;grid-template-columns:313px 313px 312px;gap:20px}
.h2-post{background:#fff}
.h2-post-img img{width:100%;height:234px;object-fit:cover}
.h2-post-body{position:relative;height:320px}
.h2-date{position:absolute;top:36px;left:20px;font:12px var(--f-body)}
.h2-post h2{position:absolute;top:75px;left:20px;right:20px;font:20px/28px var(--f-head)}
.h2-ex{position:absolute;top:114px;left:20px;right:20px;font:16px/24px var(--f-body);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.h2-meta{position:absolute;top:261px;left:20px;right:20px;border-top:1px solid rgba(0,0,0,.2);padding-top:14px;display:flex;align-items:center;font:12px var(--f-body)}
.h2-meta span{display:flex;align-items:center;gap:6px;margin-right:18px}
.h2-meta svg{width:19px;height:19px}
.h2-meta .h2-like{margin:0 0 0 auto;gap:0}
.h2-meta .h2-like b{font-weight:400}
.h2-like svg{fill:none;stroke:#e84a43}

.h2-contact{height:698px;background:rgba(250,248,244,.92)}
.h2-contact .h2-ct-left{top:80px}
.h2-ct-title{width:385px;margin-top:6px}
.h2-ct-sub{width:366px;margin-top:11px}
.h2-ct-rows{position:absolute;left:0;top:0}
.h2-ct-rows .ct-row{position:absolute}
.h2-ct-rows .ct-row:nth-child(1){top:362px}
.h2-ct-rows .ct-row:nth-child(2){top:437px}
.h2-ct-rows .ct-row:nth-child(3){top:512px}
.h2-ct-rows .ct-row:nth-child(4){top:587px}
.h2-ct-rows .ct-row .rt{padding-top:2px}

.h2-lightbox .popup-bg{background:#fff}
.h2-lightbox .popup-close{top:38px;right:36px;width:30px;height:30px}
.h2-lightbox .popup-close svg{width:30px;height:30px}
.h2-lightbox .lb-nav[hidden]{display:none}
.h2-lightbox .lb-img{position:relative;max-width:calc(100vw - 200px);max-height:calc(100vh - 80px);object-fit:contain}
.h2-lightbox .lb-nav{position:absolute;top:50%;margin-top:-20px;width:23px;height:39px;background:none;border:0;cursor:pointer;padding:0}
.h2-lightbox .lb-nav svg{width:23px;height:39px;fill:#000}
.h2-lightbox .lb-prev{left:40px}.h2-lightbox .lb-prev svg{transform:scaleX(-1)}
.h2-lightbox .lb-next{right:40px}

@media (max-width:1000px){
  .pg-home .h2-in{padding-top:0}
  .pg-home .h2-title,.pg-home .h2-text{width:auto}
  .pg-home .h2-title{font-size:38px!important}
  .pg-home .h2-btns .btn,.pg-home .h2-btns .btn:first-child{width:224px}
  .h2-about .about-card{height:auto}
  .h2-svc,.h2-areas,.h2-testi,.h2-gallery,.h2-blog,.h2-contact{height:auto;padding:50px 0}
  .h2-gallery>.wrap{height:auto}
  .h2-head,.h2-svc-grid,.h2-loc-head,.h2-loc,.h2-loc-btn,.h2-map,.h2-show,.h2-posts,.h2-ct-rows,.h2-ct-rows .ct-row,.h2-gal,.h2-contact .h2-ct-left{position:relative;top:auto;left:auto;right:auto}
  .h2-head h6.font_6{font-size:30px!important}
  .h2-svc-grid,.h2-posts{margin-top:30px;grid-template-columns:1fr}
  .h2-card img,.h2-post-img img{width:100%;height:auto;aspect-ratio:313/197}
  .h2-post-img img{aspect-ratio:313/234}
  .h2-loc-head,.h2-loc,.h2-loc-btn{margin-top:30px}
  .h2-map{width:100%;height:320px;margin-top:30px}
  .h2-show{width:auto;height:380px;margin-top:20px}
  .h2-quote{left:50%;margin-left:-21px}
  .h2-q{left:0;right:0;width:auto}
  .h2-name{top:auto;bottom:90px}
  .h2-stars{top:auto;bottom:50px;left:50%;margin-left:-62px}
  .h2-show .dots{top:auto;bottom:14px}
  .h2-gal{margin:30px 0 0;height:auto}
  .h2-gal-track{height:auto;display:flex;gap:10px;padding:0 20px;scroll-snap-type:x mandatory}
  .h2-gal-track::after{display:none}
  .h2-gal-track a{position:relative;left:auto!important;top:auto!important;flex:0 0 80%;width:auto!important;height:260px!important;scroll-snap-align:center}
  .h2-gal-arrow{display:none!important}
  .h2-ct-title,.h2-ct-sub{width:auto}
  .h2-ct-rows .ct-row{margin-top:20px}
  .h2-lightbox .lb-img{max-width:92vw}
  .h2-lightbox .lb-prev{left:8px}.h2-lightbox .lb-next{right:8px}
  .h2-about .about-photo,.h2-about .about-tan,.h2-about .about-card,.h2-about .about-btn,.h2-head,.h2-areas .h2-head,.h2-testi .h2-head,
  .h2-ct-rows .ct-row:nth-child(n),.h2-contact .h2-ct-left{position:relative!important;top:auto!important}
  .h2-about .about-card{padding-top:24px}
  .h2-card{height:auto;padding-bottom:20px;text-align:center}
  .h2-card h6,.h2-card hr,.h2-card p,.h2-card .btn{position:static;width:auto}
  .h2-card h6{margin-top:18px}
  .h2-card hr{width:97px;margin:10px auto 12px}
  .h2-card p{margin:0 12px}
  .h2-card .btn{margin-top:16px;width:165px}
  .h2-loc-head hr{position:static;margin-top:8px}
  .h2-post-body{height:auto;padding:30px 20px 16px}
  .h2-date,.h2-post h2,.h2-ex,.h2-meta{position:static}
  .h2-post h2{margin-top:16px}
  .h2-ex{margin-top:10px}
  .h2-meta{margin-top:20px}
}
