.spree-story{--spree-ink:#283a30;--spree-muted:#68736a;color:var(--spree-ink);overflow:hidden}
.spree-story .spree-shell{max-width:1440px;margin-inline:auto;padding-inline:7.5%}
.spree-story .spree-hero{position:relative;isolation:isolate;min-height:660px;height:calc(100svh - 108px);max-height:960px;margin:0 24px;border-radius:28px;overflow:hidden;background:#53695c}
.spree-story .spree-hero-photo,.spree-story .spree-hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.spree-story .spree-hero-photo{object-position:center 58%}
.spree-story .spree-hero-shade{background:linear-gradient(90deg,#14291ed6,#14291e4d 64%,#14291e16),linear-gradient(0deg,#14291e66,transparent 60%)}
.spree-story .spree-hero-copy{position:relative;z-index:1;padding:56px 6.2% 100px;min-height:inherit;height:100%;display:flex;align-items:flex-start;flex-direction:column;justify-content:flex-end;max-width:1020px;color:#fff}
.spree-story .spree-back{position:absolute;top:36px;left:6.2%;font-size:11px;color:#fff;opacity:.9;border-bottom:1px solid #ffffff50;padding-bottom:6px}
.spree-story .spree-hero .eyebrow{color:#f2eee2;margin-bottom:24px}
.spree-story .spree-hero h1{font-family:"Robin Serif",Georgia,serif;font-size:clamp(58px,6.6vw,94px);font-weight:400;line-height:.99;letter-spacing:-.035em;color:white;margin:0 0 26px}
.spree-story .spree-hero h1 em{color:#ede5d1}
.spree-story .spree-intro{font-size:14px;line-height:1.85;max-width:430px;margin-bottom:28px;color:#f5f1e8}
.spree-story .spree-hero-address{position:absolute;left:6.2%;bottom:27px;right:6.2%;padding-top:19px;border-top:1px solid #ffffff3b;font-size:9px;letter-spacing:.17em;color:white}
.spree-story .spree-summary{padding-block:48px 32px}
.spree-story .spree-quickfacts{display:grid;grid-template-columns:1.45fr 1.3fr .75fr 1fr;gap:30px;border-bottom:1px solid #dcded4;padding-bottom:30px}
.spree-story .spree-quickfacts>div{min-width:0}
.spree-story .spree-quickfacts span{font-size:10px;text-transform:uppercase;letter-spacing:.14em;display:block;color:var(--spree-muted);margin-bottom:8px}
.spree-story .spree-quickfacts strong{font:400 clamp(30px,3vw,43px)/1.15 "Robin Serif",Georgia,serif;display:block;letter-spacing:-.02em}
.spree-story .spree-purchase-notes{max-width:930px;margin-top:21px;font-size:11px;color:#5b675e;line-height:1.75}
.spree-story .spree-purchase-notes p{margin:0 0 7px}
.spree-story .spree-opening{padding-block:74px 60px}
.spree-story .spree-opening-copy{max-width:810px;margin-inline:auto;text-align:center;margin-bottom:47px}
.spree-story .spree-opening-copy>p:last-child{max-width:630px;margin:26px auto 0;font-size:15px;line-height:1.9;color:#526156}
.spree-story .spree-photo{margin:0;min-width:0}
.spree-story .spree-photo img{width:100%;height:100%;object-fit:cover;aspect-ratio:1.15;border-radius:22px}
.spree-story .spree-photo-wide img{aspect-ratio:1.9;max-height:650px}
.spree-story .spree-photo figcaption{font-size:10px;text-align:right;color:var(--spree-muted);padding-top:13px}
.spree-story .spree-split,.spree-story .spree-location{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:9%;align-items:center;padding-block:70px}
.spree-story .spree-copy{min-width:0}
.spree-story .spree-copy h2{font-size:clamp(40px,4vw,60px);margin-bottom:25px}
.spree-story .spree-copy>p:not(.eyebrow){font-size:14px;line-height:1.95;color:#526156}
.spree-story .spree-copy .text-link{margin-top:5px}
.spree-story .spree-split-reverse{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.spree-story .spree-highlights{text-align:center;padding-block:66px;background:#e8ece3;border-radius:28px;max-width:calc(1440px - 100px);width:91%}
.spree-story .spree-highlights h2{font-size:44px;margin-bottom:38px}
.spree-story .spree-highlight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.spree-story .spree-highlight-grid>div{min-width:0;border-right:1px solid #cdd5c9;padding-inline:8px}
.spree-story .spree-highlight-grid>div:last-child{border:0}
.spree-story .spree-highlight-grid strong{display:block;font:400 51px/1.1 "Robin Serif",Georgia,serif;margin-bottom:14px}
.spree-story .spree-highlight-grid span{display:block;font-size:11px;line-height:1.6;color:#56634f}
.spree-story .spree-gallery-section{padding-block:75px}
.spree-story .spree-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:35px}
.spree-story .spree-section-heading h2{margin:0}
.spree-story .spree-section-heading>p{font-size:12px;line-height:1.8;max-width:290px;margin:0 0 6px;color:var(--spree-muted)}
.spree-story .spree-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.spree-story .spree-gallery-item{min-width:0;position:relative;display:block;padding:0;border:0;background:transparent;text-align:left;color:inherit}
.spree-story .spree-gallery-item img{width:100%;height:auto;aspect-ratio:1.3;object-fit:cover;border-radius:16px;transition:filter .2s}
.spree-story .spree-gallery-item:hover img{filter:brightness(.94)}
.spree-story .spree-gallery-item:first-child{grid-column:span 2;grid-row:span 2;display:flex;flex-direction:column}
.spree-story .spree-gallery-item:first-child img{flex:1;min-height:0;aspect-ratio:auto;height:calc(100% - 36px)}
.spree-story .spree-gallery-caption{display:flex;justify-content:space-between;gap:12px;padding:10px 2px 5px;font-size:10px;line-height:1.5;color:#5e6a61}
.spree-story .spree-gallery-caption i{font-style:normal;flex-shrink:0}
.spree-story .spree-location{padding-block:45px 85px}
.spree-story .spree-location .spree-photo img{aspect-ratio:1.1}
.spree-story .spree-copy .spree-address{font-size:11px;border-top:1px solid #d6dbd0;padding-top:21px;margin-top:28px;letter-spacing:.02em;color:#334a3a}
.spree-story .spree-facts{padding-block:70px 90px;border-top:1px solid #d8ddd2}
.spree-story .spree-facts-heading{max-width:690px;margin-bottom:36px}
.spree-story .spree-facts-heading>p:last-child{font-size:13px;line-height:1.8;color:var(--spree-muted)}
.spree-story .spree-facts-columns{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:8%;align-items:start}
.spree-story .spree-facts dl{margin:0}
.spree-story .spree-facts dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding:13px 0;border-color:#d8ddd2;font-size:12px;line-height:1.6}
.spree-story .spree-facts dt,.spree-story .spree-facts dd{overflow-wrap:anywhere;min-width:0}
.spree-story .spree-energy{background:#edf0e7;border-radius:22px;padding:32px}
.spree-story .spree-energy-class{display:inline-grid;place-items:center;width:51px;height:51px;border:1px solid #76907b;border-radius:50%;font:400 34px/1 "Robin Serif",Georgia,serif;color:#3f5d46;margin-bottom:23px}
.spree-story .spree-energy h3{font-size:27px;line-height:1.2}
.spree-story .spree-energy dl>div{grid-template-columns:minmax(0,1fr);gap:5px;font-size:11px}
.spree-story .spree-energy dd{margin:0;text-align:left;font-weight:600}
.spree-story .spree-floorplan{padding-block:40px 80px}
.spree-story .spree-plan{display:block;background:white;border:0;border-radius:20px;padding:20px;width:100%;margin-bottom:25px}
.spree-story .spree-plan img{margin:auto;max-height:680px;width:auto;max-width:100%}
.spree-story .spree-enquiry{text-align:center;padding-block:30px 95px;max-width:940px}
.spree-story .spree-enquiry>p:not(.eyebrow){max-width:470px;margin:0 auto 28px;font-size:14px;line-height:1.85;color:#526156}
.spree-story .spree-source{display:block;font-size:10px;color:var(--spree-muted);margin-top:25px;text-decoration:underline;text-underline-offset:5px}
@media(max-width:1000px){
 .spree-story .spree-shell{padding-inline:6%}
 .spree-story .spree-hero{height:calc(100svh - 94px);min-height:650px;margin-inline:16px}
 .spree-story .spree-split,.spree-story .spree-location{gap:6%}
 .spree-story .spree-quickfacts{gap:18px}
 .spree-story .spree-quickfacts strong{font-size:32px}
 .spree-story .spree-facts-columns{gap:5%;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
 .spree-story .spree-energy{padding:25px}
 .spree-story .spree-gallery{gap:16px}
}
@media(max-width:700px){
 .spree-story .spree-shell{padding-inline:25px}
 .spree-story .spree-hero{height:auto;min-height:650px;margin-inline:10px;border-radius:22px}
 .spree-story .spree-hero-copy{padding:125px 25px 100px;min-height:650px}
 .spree-story .spree-back{top:27px;left:25px}
 .spree-story .spree-hero h1{font-size:clamp(46px,10.7vw,68px);line-height:1.02;margin-bottom:24px}
 .spree-story .spree-hero .eyebrow{font-size:8px;letter-spacing:.15em;line-height:1.8;margin-bottom:20px}
 .spree-story .spree-intro{font-size:13px;max-width:350px}
 .spree-story .spree-hero-shade{background:linear-gradient(0deg,#162e23e8,#162e2352 90%)}
 .spree-story .spree-hero-address{left:25px;right:25px;font-size:7px;letter-spacing:.11em}
 .spree-story .spree-summary{padding-block:32px 16px}
 .spree-story .spree-quickfacts{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 20px;padding-bottom:25px}
 .spree-story .spree-quickfacts span{font-size:8px;letter-spacing:.12em;margin-bottom:6px}
 .spree-story .spree-quickfacts strong{font-size:33px}
 .spree-story .spree-purchase-notes{font-size:10px;line-height:1.8}
 .spree-story .spree-opening{padding-block:48px 25px}
 .spree-story .spree-opening-copy{text-align:left;margin-bottom:30px}
 .spree-story .spree-opening-copy>p:last-child{font-size:14px;margin-top:20px}
 .spree-story .spree-photo img{border-radius:18px;aspect-ratio:1.18}
 .spree-story .spree-photo-wide img{aspect-ratio:1.2}
 .spree-story .spree-photo figcaption{text-align:left;font-size:9px}
 .spree-story .spree-split,.spree-story .spree-location,.spree-story .spree-split-reverse{grid-template-columns:minmax(0,1fr);gap:30px;padding-block:40px}
 .spree-story .spree-split-reverse .spree-photo{order:-1}
 .spree-story .spree-copy h2{font-size:42px}
 .spree-story .spree-copy>p:not(.eyebrow){font-size:13px}
 .spree-story .spree-highlights{width:calc(100% - 24px);border-radius:24px;padding-block:38px;margin-block:20px}
 .spree-story .spree-highlights h2{font-size:36px;margin-bottom:30px}
 .spree-story .spree-highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}
 .spree-story .spree-highlight-grid>div:nth-child(2n){border:0}
 .spree-story .spree-highlight-grid strong{font-size:43px;margin-bottom:8px}
 .spree-story .spree-highlight-grid span{font-size:10px}
 .spree-story .spree-gallery-section{padding-block:45px}
 .spree-story .spree-section-heading{display:block;margin-bottom:28px}
 .spree-story .spree-section-heading>p{margin-top:19px;font-size:11px;max-width:340px}
 .spree-story .spree-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 12px}
 .spree-story .spree-gallery-item:first-child{grid-column:span 2;grid-row:auto;display:block}
 .spree-story .spree-gallery-item:first-child img{aspect-ratio:1.3;height:auto}
 .spree-story .spree-gallery-item img{aspect-ratio:1.08;border-radius:12px}
 .spree-story .spree-gallery-caption{font-size:8px;gap:5px;padding-top:8px}
 .spree-story .spree-location{padding-top:20px;padding-bottom:50px}
 .spree-story .spree-facts{padding-block:45px 55px}
 .spree-story .spree-facts-heading h2{font-size:40px}
 .spree-story .spree-facts-columns{grid-template-columns:minmax(0,1fr);gap:30px}
 .spree-story .spree-facts dl>div{font-size:11px;gap:15px}
 .spree-story .spree-energy{padding:27px;border-radius:19px}
 .spree-story .spree-energy h3{font-size:29px}
 .spree-story .spree-energy dl>div{grid-template-columns:1fr 1fr;gap:20px}
 .spree-story .spree-energy dd{text-align:right}
 .spree-story .spree-floorplan{padding-block:20px 55px}
 .spree-story .spree-enquiry{padding-block:15px 65px}
 .spree-story .spree-enquiry h2{font-size:44px}
 .spree-story .spree-enquiry>p:not(.eyebrow){font-size:13px}
}
@media(max-width:380px){
 .spree-story .spree-shell{padding-inline:22px}
 .spree-story .spree-hero-copy{padding-inline:22px}
 .spree-story .spree-hero h1{font-size:43px}
 .spree-story .spree-quickfacts strong{font-size:29px}
 .spree-story .spree-copy h2,.spree-story .spree-facts-heading h2{font-size:36px}
 .spree-story .spree-enquiry h2{font-size:39px}
}
@media(prefers-reduced-motion:reduce){.spree-story .spree-gallery-item img{transition:none}}

.spree-story .spree-story-zoom{display:block;padding:0;border:0;background:transparent;width:100%;height:100%;color:inherit}
.spree-story .spree-hero-zoom{position:absolute;right:6.2%;top:32px;z-index:2;background:#172d235e;color:white;border:1px solid #ffffff80;border-radius:7px;padding:8px 12px;font:inherit;font-size:10px}
@media(max-width:700px){.spree-story .spree-hero-zoom{top:65px;left:25px;right:auto}}

.spree-story #spree-contact {
  max-width: 1280px;
  padding-block: clamp(20px, 4vw, 56px) clamp(56px, 7vw, 96px);
  text-align: left;
  scroll-margin-top: 112px;
}
.spree-story .spree-contact-card {
  display: grid;
  grid-template-columns: minmax(150px, .7fr) minmax(0, 1.3fr);
  align-items: center;
  gap: clamp(28px, 6vw, 80px);
  padding: clamp(26px, 4.5vw, 62px);
  border: 1px solid #dde1d5;
  border-radius: 26px;
  background: #edf0e7;
}
.spree-story .spree-contact-portrait {
  display: block;
  width: 100%;
  max-width: 280px;
  height: auto;
  justify-self: center;
  border-radius: 18px;
}
.spree-story .spree-contact-card .eyebrow { margin-bottom: 15px; }
.spree-story .spree-contact-card h2 {
  margin: 0;
  font-size: clamp(38px, 4.5vw, 64px);
  letter-spacing: -.035em;
}
.spree-story .spree-contact-role {
  margin: 7px 0 20px;
  color: #526156;
  font-size: 13px;
}
.spree-story .spree-contact-intro {
  max-width: 46ch;
  color: #425246;
  font-size: 15px;
  line-height: 1.65;
}
.spree-story .spree-contact-links {
  margin: 16px 0 0;
  font-style: normal;
}
.spree-story .spree-contact-links a {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  padding: 13px 0;
  border-bottom: 1px solid #c9d2c4;
  color: var(--spree-ink);
  font-size: 16px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.spree-story .spree-contact-links a:hover,
.spree-story .spree-contact-links a:focus-visible {
  text-decoration: underline;
  text-underline-offset: .2em;
}
.spree-story .spree-contact-method {
  flex-shrink: 0;
  color: #526156;
  font-size: 12px;
}
.spree-story .spree-contact-card + .spree-source { text-align: center; }

@media (max-width: 700px) {
  .spree-story #spree-contact { scroll-margin-top: 84px; }
  .spree-story .spree-contact-card {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    padding: 25px;
    border-radius: 22px;
  }
  .spree-story .spree-contact-portrait {
    width: min(46%, 150px);
    justify-self: start;
    border-radius: 14px;
  }
  .spree-story .spree-contact-intro { font-size: 14px; }
}
@media (max-width: 400px) {
  .spree-story .spree-contact-links a {
    flex-direction: column;
    gap: 1px;
  }
}
