
  :root{
    color-scheme: light only;
    --cream:#F7F4EC;
    --lace:#EDE6D6;
    --dark:#151515;
    --teal:#3D7B79;
    --teal-deep:#1F4644;
    --terracotta:#C97B4A;
    --line:rgba(21,21,21,0.12);
  }
  html{background:var(--cream);}
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--cream);
    color:var(--dark);
    font-family:'Jost',sans-serif;
    font-weight:300;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  h1,h2,h3{
    font-family:'Cormorant Garamond',serif;
    font-weight:600;
    letter-spacing:0.01em;
  }
  .display{
    font-family:'Cinzel',serif;
    font-weight:500;
    letter-spacing:0.02em;
  }
  .editorial{
    font-family:'Cormorant Garamond',serif;
    font-style:italic;
    font-weight:400;
  }
  a{color:inherit;text-decoration:none;}
  .container{
    max-width:1180px;
    margin:0 auto;
    padding:0 32px;
  }
  @media (max-width:640px){ .container{padding:0 22px;} }

  /* ---------- NAV ---------- */
  header{
    position:fixed;
    top:0; left:0; right:0;
    z-index:100;
    padding:22px 0;
    transition:background 0.4s ease, padding 0.4s ease, box-shadow .4s ease;
  }
  header.scrolled{
    background:rgba(247,244,236,0.92);
    backdrop-filter:blur(8px);
    padding:14px 0;
    box-shadow:0 1px 0 var(--line);
  }
  nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
  }
  .logo-link{
    display:flex;
    align-items:center;
    gap:10px;
  }
  .logo-mark{
    height:34px;
    width:auto;
    display:block;
  }
  .logo{
    font-family:'Cinzel',serif;
    font-size:15px;
    letter-spacing:0.18em;
    color:var(--cream);
    transition:color .4s ease;
    text-transform:uppercase;
  }
  header.scrolled .logo{color:var(--dark);}
  .nav-links{
    display:flex;
    gap:34px;
    list-style:none;
    font-size:13px;
    letter-spacing:0.08em;
    text-transform:uppercase;
  }
  .nav-links a{
    color:var(--cream);
    transition:color .4s ease, opacity .2s ease;
    opacity:0.88;
    padding-bottom:3px;
    border-bottom:1px solid transparent;
  }
  header.scrolled .nav-links a{color:var(--dark);}
  .nav-links a:hover{opacity:1; border-bottom-color:currentColor;}
  .nav-cta{
    font-size:12px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    border:1px solid var(--cream);
    color:var(--cream);
    padding:9px 20px;
    border-radius:2px;
    transition:all .4s ease;
    white-space:nowrap;
  }
  .nav-lang{
    font-size:12px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--cream);
    opacity:0.85;
    transition:color .4s ease, opacity .2s ease;
    border-bottom:1px solid transparent;
    padding-bottom:2px;
  }
  header.scrolled .nav-lang{color:var(--dark);}
  .nav-lang:hover{opacity:1; border-bottom-color:currentColor;}
  .nav-cta-mobile{display:none;}
  header.scrolled .nav-cta{border-color:var(--teal); color:var(--teal);}
  .nav-cta:hover{background:var(--cream); color:var(--dark);}
  header.scrolled .nav-cta:hover{background:var(--teal); color:var(--cream);}
  .menu-toggle{
    display:none;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    width:32px;
    height:32px;
    background:none;
    border:none;
    cursor:pointer;
    padding:0;
  }
  .menu-toggle span{
    display:block;
    width:100%;
    height:1.5px;
    background:var(--cream);
    transition:background .4s ease, transform .3s ease, opacity .3s ease;
  }
  header.scrolled .menu-toggle span{background:var(--dark);}
  .nav-links.open ~ .menu-toggle span,
  .menu-toggle.open span{background:var(--dark);}
  .menu-toggle.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
  .menu-toggle.open span:nth-child(2){opacity:0;}
  .menu-toggle.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

  @media (max-width:760px){
    .menu-toggle{display:flex; z-index:110;}
    .nav-links{
      position:fixed;
      top:0; left:0; right:0;
      flex-direction:column;
      align-items:flex-start;
      gap:26px;
      background:var(--cream);
      padding:110px 32px 40px;
      transform:translateY(-100%);
      opacity:0;
      visibility:hidden;
      transition:transform .35s ease, opacity .35s ease, visibility .35s;
      z-index:100;
      font-size:16px;
    }
    .nav-links.open{
      transform:translateY(0);
      opacity:1;
      visibility:visible;
    }
    .nav-links a{color:var(--dark) !important; opacity:1;}
    .nav-cta{display:none;}
    .nav-cta-mobile{
      display:block;
      margin-top:8px;
    }
    .nav-cta-mobile a{
      display:inline-block;
      background:var(--teal);
      color:var(--cream) !important;
      padding:12px 26px;
      border-radius:2px;
      font-size:13px;
      letter-spacing:0.08em;
      text-transform:uppercase;
    }
  }

  /* ---------- HERO ---------- */
  .hero{
    height:100svh;
    min-height:560px;
    position:relative;
    display:flex;
    align-items:flex-end;
    background:linear-gradient(180deg, rgba(15,20,20,.35) 0%, rgba(15,20,20,.15) 35%, rgba(15,20,20,.55) 100%),
               url('hero-lagoa.jpg') center 48% / cover no-repeat;
  }
  .hero-inner{
    width:100%;
    padding-bottom:9vh;
    color:var(--cream);
  }
  .hero-eyebrow{
    font-size:12px;
    letter-spacing:0.28em;
    text-transform:uppercase;
    opacity:0.85;
    margin-bottom:22px;
    display:block;
  }
  .hero h1{
    font-family:'Cinzel',serif;
    font-weight:500;
    letter-spacing:0.02em;
    font-size:clamp(34px, 6vw, 68px);
    line-height:1.12;
    max-width:820px;
    text-shadow:0 2px 24px rgba(0,0,0,0.25);
  }
  .hero-sub{
    font-family:'Cormorant Garamond',serif;
    font-style:italic;
    font-size:clamp(18px,2.2vw,24px);
    margin-top:20px;
    max-width:480px;
    opacity:0.92;
  }
  .hero-actions{
    display:flex;
    gap:16px;
    margin-top:44px;
    flex-wrap:wrap;
  }
  .btn{
    display:inline-block;
    padding:14px 30px;
    font-size:13px;
    letter-spacing:0.09em;
    text-transform:uppercase;
    border-radius:2px;
    transition:all .3s ease;
    border:1px solid currentColor;
  }
  .btn-solid{
    background:var(--cream);
    color:var(--dark);
    border-color:var(--cream);
  }
  .btn-solid:hover{background:var(--teal); border-color:var(--teal); color:var(--cream);}
  .btn-outline{
    color:var(--cream);
    border-color:rgba(247,244,236,0.6);
  }
  .btn-outline:hover{border-color:var(--cream);}
  .btn-dark{
    color:var(--dark);
    border-color:var(--dark);
  }
  .btn-dark:hover{background:var(--dark); color:var(--cream);}

  .scroll-cue{
    position:absolute;
    bottom:26px; left:50%;
    transform:translateX(-50%);
    color:var(--cream);
    font-size:11px;
    letter-spacing:0.2em;
    text-transform:uppercase;
    opacity:0.75;
    display:flex; flex-direction:column; align-items:center; gap:8px;
  }
  .scroll-cue::after{
    content:'';
    width:1px; height:34px;
    background:var(--cream);
    opacity:0.6;
    animation:scrollpulse 2s ease-in-out infinite;
  }
  @keyframes scrollpulse{
    0%{transform:scaleY(0.2); transform-origin:top;}
    50%{transform:scaleY(1); transform-origin:top;}
    100%{transform:scaleY(0.2); transform-origin:bottom;}
  }

  /* ---------- SECTION SHARED ---------- */
  section{padding:120px 0;}
  @media (max-width:768px){ section{padding:80px 0;} }
  .eyebrow{
    font-size:12px;
    letter-spacing:0.24em;
    text-transform:uppercase;
    color:var(--teal);
    margin-bottom:18px;
    display:block;
  }
  .section-head{
    max-width:640px;
    margin-bottom:64px;
  }
  .section-head h2{
    font-size:clamp(26px,3.4vw,40px);
    line-height:1.25;
  }
  .section-head p{
    margin-top:20px;
    font-size:17px;
    line-height:1.7;
    color:rgba(21,21,21,0.72);
  }

  /* ---------- WIND LINE (signature element) ---------- */
  .wind-strip{
    background:var(--cream);
    color:var(--dark);
    padding:90px 0 110px;
    position:relative;
    overflow:hidden;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }
  .wind-strip .eyebrow{color:var(--teal);}
  .wind-strip .section-head p{color:rgba(21,21,21,0.68);}
  .wind-strip .section-head h2{color:var(--dark);}
  .wind-path-wrap{
    position:relative;
    width:100%;
    padding-top:20px;
  }
  .wind-svg{
    width:100%;
    height:auto;
    display:block;
    overflow:visible;
  }
  .wind-svg path.wind-line{
    fill:none;
    stroke:rgba(61,123,121,0.45);
    stroke-width:2.2;
    stroke-dasharray:9 8;
    stroke-linecap:round;
  }
  .windsurfer{
    stroke:var(--terracotta);
    stroke-width:1.8;
    fill:none;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .windsurfer-sail{
    fill:rgba(201,123,74,0.12);
  }
  .territory{
    text-align:center;
    padding:0 12px;
  }
  .territory-dot{
    width:7px;height:7px;
    background:var(--terracotta);
    border-radius:50%;
    margin:0 auto 16px;
  }
  .territory p{
    font-family:'Cormorant Garamond',serif;
    font-style:italic;
    font-weight:500;
    font-size:18px;
    line-height:1.5;
    color:rgba(21,21,21,0.78);
  }
  .territories-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:24px;
    margin-top:8px;
  }
  @media (max-width:900px){
    .territories-grid{grid-template-columns:repeat(2,1fr); row-gap:44px;}
  }
  @media (max-width:520px){
    .territories-grid{grid-template-columns:1fr; row-gap:36px;}
  }

  /* ---------- BELIEFS ---------- */
  .beliefs{
    background:var(--cream);
  }
  .beliefs-intro{
    max-width:640px;
    margin-bottom:56px;
  }
  .beliefs-intro p{
    margin-top:20px;
    font-size:17px;
    line-height:1.7;
    color:rgba(21,21,21,0.72);
  }
  .beliefs-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:44px 56px;
  }
  @media (max-width:760px){
    .beliefs-grid{grid-template-columns:1fr; gap:36px;}
  }
  .belief-item.wide{grid-column:1 / -1;}
  .belief-item.wide p{max-width:560px;}
  .belief-item{
    padding-top:22px;
    border-top:1px solid var(--line);
  }
  .belief-item .mark{
    display:block;
    width:26px;
    height:1px;
    background:var(--terracotta);
    margin-bottom:16px;
  }
  .belief-item h3{
    font-size:21px;
    line-height:1.35;
    margin-bottom:10px;
  }
  .belief-item p{
    font-size:15px;
    line-height:1.7;
    color:rgba(21,21,21,0.68);
  }

  /* ---------- LOFTS ---------- */
  .lofts-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:36px;
  }
  @media (max-width:800px){ .lofts-grid{grid-template-columns:1fr;} }
  .loft-card{
    background:var(--lace);
    border-radius:3px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
  }
  .loft-photo{
    aspect-ratio:4/3;
    background:linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
    position:relative;
    display:flex; align-items:center; justify-content:center;
  }
  .loft-photo span{
    font-family:'Jost';
    font-size:11px;
    letter-spacing:0.15em;
    text-transform:uppercase;
    color:rgba(247,244,236,0.55);
    border:1px dashed rgba(247,244,236,0.4);
    padding:8px 16px;
  }
  .loft-body{padding:36px 34px 40px;}
  .loft-tag{
    font-size:11px;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--terracotta);
    margin-bottom:12px;
    display:block;
  }
  .loft-body h3{font-size:24px; margin-bottom:14px;}
  .loft-body p{
    font-size:15.5px;
    line-height:1.75;
    color:rgba(21,21,21,0.75);
    margin-bottom:22px;
  }
  .loft-amenities{
    display:flex;
    flex-wrap:wrap;
    gap:8px 10px;
    margin-bottom:26px;
  }
  .loft-amenities span{
    font-size:11.5px;
    letter-spacing:0.03em;
    padding:6px 12px;
    border:1px solid var(--line);
    border-radius:20px;
    color:rgba(21,21,21,0.65);
  }
  .loft-link{
    font-size:13px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--teal);
    border-bottom:1px solid var(--teal);
    padding-bottom:2px;
  }

  /* ---------- LONG STAY ---------- */
  .longstay{
    background:var(--lace);
  }
  .longstay-inner{
    display:grid;
    grid-template-columns:1.1fr 0.9fr;
    gap:60px;
    align-items:center;
  }
  @media (max-width:860px){ .longstay-inner{grid-template-columns:1fr;} }
  .longstay-visual{
    aspect-ratio:1/1;
    background:repeating-linear-gradient(135deg, var(--cream), var(--cream) 22px, #e6ddc8 22px, #e6ddc8 24px);
    border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center;
    border-radius:3px;
  }
  .longstay-visual span{
    font-size:11px;
    letter-spacing:0.15em;
    text-transform:uppercase;
    color:rgba(21,21,21,0.4);
    background:var(--cream);
    padding:8px 16px;
    border:1px dashed rgba(21,21,21,0.25);
  }
  .longstay-list{
    list-style:none;
    margin:28px 0 32px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px 20px;
  }
  .longstay-list li{
    font-size:14.5px;
    color:rgba(21,21,21,0.72);
    padding-left:16px;
    position:relative;
  }
  .longstay-list li::before{
    content:'';
    position:absolute; left:0; top:9px;
    width:5px; height:5px;
    background:var(--teal);
    border-radius:50%;
  }
  .small-note{
    margin-top:20px;
    font-size:13.5px;
    line-height:1.6;
    color:rgba(21,21,21,0.6);
  }
  .small-note a{
    color:var(--teal);
    border-bottom:1px solid var(--teal);
  }

  /* ---------- EVENTS ---------- */
  .events{
    background:var(--lace);
  }
  .events-inner{
    display:grid;
    grid-template-columns:1.1fr 0.9fr;
    gap:60px;
    align-items:center;
  }
  @media (max-width:860px){ .events-inner{grid-template-columns:1fr;} }

  /* ---------- DAY USE ---------- */
  .dayuse-band{
    background:var(--cream);
    text-align:center;
    padding:90px 0;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }
  .dayuse-band .container{max-width:680px;}
  .dayuse-band .eyebrow{color:var(--terracotta);}
  .dayuse-band h2{
    font-size:clamp(26px,3.4vw,38px);
    line-height:1.25;
    margin-bottom:20px;
  }
  .dayuse-band p{
    font-size:16px;
    line-height:1.75;
    color:rgba(21,21,21,0.72);
    margin-bottom:32px;
  }

  /* ---------- ECOSYSTEM ---------- */
  .ecosystem-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
    margin-top:10px;
  }
  @media (max-width:760px){ .ecosystem-grid{grid-template-columns:1fr;} }
  .location-block{
    margin-top:48px;
    padding-top:40px;
    border-top:1px solid var(--line);
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:16px;
  }
  .location-block .addr{
    font-family:'Cormorant Garamond',serif;
    font-weight:600;
    font-size:19px;
    color:var(--dark);
  }
  .location-block .addr span{
    display:block;
    font-family:'Jost',sans-serif;
    font-weight:300;
    font-size:13px;
    color:rgba(21,21,21,0.55);
    margin-top:4px;
  }
  .location-block a{
    font-size:13px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--teal);
    border-bottom:1px solid var(--teal);
    padding-bottom:2px;
    white-space:nowrap;
  }
  .eco-card{
    padding:34px 28px;
    border:1px solid var(--line);
    border-radius:3px;
  }
  .eco-card h3{font-size:17px; margin-bottom:10px;}
  .eco-card span.role{
    display:block;
    font-size:11px;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:var(--teal);
    margin-bottom:14px;
  }
  .eco-card p{
    font-size:14.5px;
    line-height:1.7;
    color:rgba(21,21,21,0.68);
    margin-bottom:16px;
  }
  .eco-link{
    font-size:12.5px;
    letter-spacing:0.05em;
    text-transform:uppercase;
    color:var(--teal);
    border-bottom:1px solid var(--teal);
    padding-bottom:2px;
  }

  /* ---------- CONTACT / FOOTER ---------- */
  .contact{
    background:var(--teal-deep);
    color:var(--cream);
    text-align:center;
  }
  .contact .eyebrow{color:var(--terracotta);}
  .contact h2{font-size:clamp(28px,4vw,44px); max-width:640px; margin:0 auto 24px;}
  .contact p{
    font-family:'Cormorant Garamond',serif;
    font-style:italic;
    font-size:19px;
    max-width:520px;
    margin:0 auto 40px;
    color:rgba(247,244,236,0.78);
  }
  .contact-actions{
    display:flex; gap:16px; justify-content:center; flex-wrap:wrap;
  }
  footer{
    background:var(--dark);
    color:rgba(247,244,236,0.55);
    padding:44px 0;
    font-size:13px;
  }
  .footer-inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:16px;
  }
  .footer-inner .logo{color:rgba(247,244,236,0.85); font-size:13px;}
  .footer-links{display:flex; gap:24px; list-style:none;}
  .footer-links a{opacity:0.8; transition:opacity .2s;}
  .footer-links a:hover{opacity:1;}

  ::selection{background:var(--teal); color:var(--cream);}

/* ---------- LOFT DETAIL PAGE ---------- */
.loft-hero{
  height:64vh;
  min-height:400px;
  position:relative;
  display:flex;
  align-items:flex-end;
}
.loft-hero-photo{
  height:100%;
  background:linear-gradient(180deg, rgba(15,20,20,.25) 0%, rgba(15,20,20,.15) 40%, rgba(15,20,20,.6) 100%),
             linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
  display:flex; align-items:center; justify-content:center;
}
.loft-hero-photo span{
  font-size:11px;
  letter-spacing:0.15em;
  text-transform:uppercase;
  color:rgba(247,244,236,0.5);
  border:1px dashed rgba(247,244,236,0.35);
  padding:8px 16px;
}
.loft-hero-inner{
  width:100%;
  padding-bottom:56px;
  color:var(--cream);
}
.loft-hero-tag{
  font-size:12px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  opacity:0.85;
  margin-bottom:16px;
  display:block;
}
.loft-hero-inner h1{
  font-size:clamp(32px,5vw,54px);
  line-height:1.15;
  max-width:640px;
}

/* photo carousel */
.gallery{
  padding:56px 0 0;
}
.gallery-inner{
  max-width:640px;
  margin:0 auto;
}
.gallery-stage{
  position:relative;
  width:100%;
  height:min(70vh, 640px);
  min-height:280px;
  border-radius:3px;
  overflow:hidden;
  border:1px solid var(--line);
  background:var(--lace);
  display:flex;
  align-items:center;
  justify-content:center;
}
.gallery-stage img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
@media (max-width:640px){
  .gallery-stage{height:min(60vh, 480px);}
}
.gallery-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:36px; height:36px;
  border-radius:50%;
  background:rgba(247,244,236,0.92);
  border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center;
  font-size:16px;
  line-height:1;
  cursor:pointer;
  color:var(--dark);
  transition:background .2s ease;
}
.gallery-arrow:hover{background:var(--cream);}
.gallery-arrow.prev{left:12px;}
.gallery-arrow.next{right:12px;}
.gallery-counter{
  position:absolute;
  bottom:12px; right:12px;
  font-size:11px;
  letter-spacing:0.08em;
  color:var(--cream);
  background:rgba(21,21,21,0.55);
  padding:4px 10px;
  border-radius:20px;
}
.gallery-dots{
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:16px;
}
.gallery-dot{
  width:6px; height:6px;
  border-radius:50%;
  background:var(--line);
  cursor:pointer;
  transition:background .2s ease;
}
.gallery-dot.active{background:var(--teal);}

.loft-intro{
  padding:96px 0 30px;
}
.loft-intro p{
  font-size:17px;
  line-height:1.8;
  color:rgba(21,21,21,0.75);
  max-width:680px;
}

/* quick facts — typographic row, no boxes */
.quickfacts{
  display:flex;
  gap:0;
  margin-top:48px;
  flex-wrap:wrap;
}
.quickfacts .fact{
  padding-right:36px;
  margin-right:36px;
  border-right:1px solid var(--line);
}
.quickfacts .fact:last-child{border-right:none; margin-right:0; padding-right:0;}
.quickfacts .fact .num{
  font-family:'Cormorant Garamond',serif;
  font-weight:600;
  font-size:20px;
  color:var(--dark);
  display:block;
}
.quickfacts .fact .label{
  font-size:11px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--teal);
  margin-top:5px;
  display:block;
}

.room-section{
  padding:90px 0;
  border-top:1px solid var(--line);
}
@media (max-width:768px){ .room-section{padding:60px 0;} }
.rooms-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}
@media (max-width:700px){ .rooms-grid{grid-template-columns:1fr;} }
.room-card{
  background:var(--lace);
  border-radius:3px;
  padding:30px 28px;
}
.room-card .mark{
  width:26px;
  height:1px;
  background:var(--terracotta);
  margin-bottom:16px;
}
.room-card h3{
  font-family:'Cormorant Garamond',serif;
  font-weight:600;
  font-size:19px;
  color:var(--dark);
  margin-bottom:14px;
}
.room-card ul{list-style:none;}
.room-card li{
  font-size:14px;
  line-height:1.55;
  color:rgba(21,21,21,0.72);
  padding:5px 0 5px 15px;
  position:relative;
}
.room-card li::before{
  content:'';
  position:absolute; left:0; top:12px;
  width:4px; height:4px;
  background:var(--terracotta);
  border-radius:50%;
}
.room-card.wide{grid-column:1 / -1;}
.room-card.wide ul{
  display:grid;
  grid-template-columns:repeat(2,1fr);
}
@media (max-width:520px){ .room-card.wide ul{grid-template-columns:1fr;} }

/* ---------- REVIEWS ---------- */
.reviews-strip{
  background:var(--cream);
  padding:80px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.reviews-strip .eyebrow{
  display:block;
  text-align:center;
  color:var(--teal);
}
.reviews-strip h2{
  text-align:center;
  font-size:clamp(24px,3vw,32px);
  max-width:520px;
  margin:0 auto 48px;
}
.reviews-carousel{
  max-width:620px;
  margin:0 auto;
}
.review-slide{
  min-height:180px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:center;
  padding:0 8px;
}
.review-slide .stars{
  color:var(--terracotta);
  font-size:12px;
  letter-spacing:0.15em;
  margin-bottom:16px;
}
.review-slide blockquote{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:19px;
  line-height:1.6;
  color:rgba(21,21,21,0.82);
}
.review-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  margin-top:32px;
}
.review-arrow{
  width:36px; height:36px;
  border-radius:50%;
  background:var(--lace);
  border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center;
  font-size:16px;
  line-height:1;
  cursor:pointer;
  color:var(--dark);
  transition:background .2s ease;
}
.review-arrow:hover{background:var(--cream);}
.review-counter{
  font-size:12px;
  letter-spacing:0.08em;
  color:rgba(21,21,21,0.5);
  min-width:44px;
  text-align:center;
}

.loft-cta-band{
  background:var(--teal-deep);
  color:var(--cream);
  text-align:center;
  padding:70px 0;
  margin-top:40px;
}
.loft-cta-band h2{color:var(--cream); font-size:clamp(24px,3.2vw,34px); margin-bottom:24px;}
.loft-cta-actions{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}

.info-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
}
@media (max-width:760px){ .info-split{grid-template-columns:1fr; gap:40px;} }
.info-split .eyebrow{color:var(--teal);}
.info-split h3{font-size:20px; margin-bottom:14px;}
.info-split p{font-size:15px; line-height:1.75; color:rgba(21,21,21,0.72);}

.origin-strip{
  background:var(--cream);
  padding:90px 0;
  text-align:center;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.origin-strip .container{max-width:680px;}
.origin-strip p{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:clamp(19px,2.4vw,24px);
  line-height:1.6;
  color:rgba(21,21,21,0.8);
}

.other-loft-link{
  padding:36px 0 0;
  text-align:center;
}
.other-loft-link a{
  font-size:13px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--teal);
  border-bottom:1px solid var(--teal);
  padding-bottom:2px;
}
