@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#193c36;--muted:#6b7772;--cream:#f4f2eb;--line:#d9dfd8;--orange:#b96c43}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}header{height:100px;max-width:1400px;margin:auto;padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}a{color:inherit}.brand{text-decoration:none;font-size:13px;letter-spacing:2px;font-weight:700;display:flex;align-items:center;gap:10px}.mark{font-size:32px;line-height:1}.brand-dot{color:var(--orange);margin-left:-8px}.email{text-decoration:none;font-size:13px}.email span{margin-left:20px}main{max-width:1400px;margin:auto;display:grid;grid-template-columns:1fr 1.04fr;gap:8%;padding:64px 6% 75px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;display:flex;align-items:center;gap:9px}.eyebrow span{width:6px;height:6px;border-radius:50%;background:var(--orange)}h1{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;font-size:clamp(58px,6vw,88px);line-height:1.02;letter-spacing:-2px;margin:25px 0}h1 em{color:var(--orange);font-weight:400}.intro>p{font-size:15px;line-height:1.8;max-width:360px;color:var(--muted)}.intro-bottom{display:flex;gap:16px;align-items:center;margin-top:25px}.line{width:34px;height:1px;background:var(--orange)}.intro-bottom p{font-size:11px;line-height:1.8;color:var(--muted)}.intro-bottom strong{font-weight:500;color:var(--ink)}.architecture{height:216px;margin-top:30px;position:relative;border-radius:2px;background:#dddcd0;overflow:hidden;display:flex;justify-content:center}.arch{position:absolute;width:165px;height:245px;top:32px;border-radius:100px 100px 0 0;background:#79948a;border:18px solid #ede7d9;box-shadow:28px 14px 22px #aaa997}.sun{background:#e5bc8b;width:43px;height:43px;border-radius:50%;position:absolute;right:18px;top:28px}.wall{position:absolute;background:#aab8a1;top:96px;left:-18px;width:180px;height:150px;transform:rotate(-12deg)}.steps{position:absolute;bottom:0;left:0;width:140px;height:50px;background:#d8ceb6;box-shadow:15px -15px #e5dcc8,30px -30px #ece4d3}.architecture>span{position:absolute;left:15px;bottom:14px;font-size:8px;letter-spacing:2px;writing-mode:vertical-rl;transform:rotate(180deg)}.survey{background:#fffefa;padding:32px 34px 24px;border:1px solid #e1e3da;border-radius:5px;align-self:start;box-shadow:0 12px 35px #193c3605}.survey-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.8px;font-weight:700}.survey-top #count{color:var(--muted)}.progress{height:2px;background:#e8ebe4;margin-top:16px;margin-bottom:33px}.progress span{display:block;width:33.33%;height:2px;background:var(--orange);transition:width .2s}h2{font-family:'Libre Caslon Display',Georgia,serif;font-size:36px;font-weight:400;letter-spacing:-.7px;margin:0 0 8px}.sub{font-size:12px;color:var(--muted);line-height:1.7;margin:0 0 28px}.choices{display:grid;gap:15px}.choice{font-family:inherit;display:flex;align-items:center;gap:15px;text-align:left;padding:25px 16px;background:#fffefa;border:1px solid #cfd8cf;border-radius:4px;color:var(--ink);cursor:pointer;transition:.2s}.choice:hover,.choice:focus-visible{background:#f0f3ec;border-color:var(--ink);transform:translateY(-2px)}.choice-icon{background:#eaf0e6;font-size:26px;width:44px;height:48px;display:grid;place-items:center;border-radius:3px}.choice strong{display:block;font-size:14px;font-weight:600}.choice small{display:block;font-size:10px;color:var(--muted);margin-top:7px;line-height:1.5}.arrow{margin-left:auto;font-size:19px}.note{font-size:10px;color:var(--muted);margin:28px 0 50px;display:flex;gap:8px;align-items:center}.note>span{font-size:18px}.survey-footer{border-top:1px solid var(--line);padding-top:20px;margin-top:28px;display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:1px;color:var(--muted)}.survey-footer>span:last-child{font-size:20px;color:var(--orange)}fieldset{border:0;padding:0;margin:0;min-width:0}label{display:block;font-size:11px;font-weight:600;margin-bottom:17px;line-height:1.5}input,select,textarea{display:block;width:100%;font:12px 'DM Sans',sans-serif;color:var(--ink);padding:12px;border:1px solid #d5dcd3;border-radius:3px;background:#fffefa;margin-top:6px;min-height:43px}textarea{resize:vertical}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid #b96c43;outline-offset:3px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.actions{display:flex;align-items:center;justify-content:space-between;margin-top:26px;gap:12px}button{font-family:inherit}.back{background:none;border:0;font-size:12px;color:var(--muted);padding:10px 0;cursor:pointer}.primary{padding:14px 19px;border:0;border-radius:3px;background:var(--ink);color:white;font-size:12px;cursor:pointer;display:flex;gap:25px;align-items:center}.primary:hover{background:#2d574e}.consent{display:flex;gap:10px;font-weight:400;font-size:10px;line-height:1.7}.consent input{width:16px;height:16px;min-height:0;margin:2px 0;flex-shrink:0;accent-color:var(--ink)}.fine{font-size:9px;line-height:1.8;color:var(--muted)}.optional{font-weight:400;color:var(--muted)}.honey{position:absolute;left:-9999px;width:1px;height:1px}footer{max-width:1400px;margin:auto;border-top:1px solid var(--line);padding:25px 6%;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);gap:15px}footer>span{letter-spacing:1.5px;font-weight:600;color:var(--ink)}footer a{text-decoration:none}[hidden]{display:none!important}@media(min-width:1400px){main{gap:100px}}@media(max-width:850px){main{gap:30px;padding:40px 5%}.survey{padding:26px 23px}h1{font-size:62px}.choice{padding:22px 12px}.choice-icon{display:none}.grid{gap:10px}}@media(max-width:640px){header{height:77px;padding:0 6%}.brand{font-size:10px;letter-spacing:1.4px}.email{font-size:11px}.email span{margin-left:5px}main{grid-template-columns:1fr;padding:36px 6% 40px;gap:26px}.intro>p{max-width:100%;font-size:14px}h1{font-size:61px;margin:22px 0}.architecture,.intro-bottom{display:none}.survey{padding:25px 22px}.choice-icon{display:grid}.note{margin-bottom:25px}h2{font-size:33px}.grid{grid-template-columns:1fr;gap:0}footer{flex-wrap:wrap;padding:22px 6%;font-size:9px}footer p{display:none}}
html{scroll-behavior:smooth}.top-nav{display:flex;gap:25px;font-size:11px}.top-nav a{text-decoration:none}.top-nav a:hover{text-decoration:underline}#inquiry-start,#active-rentals{scroll-margin-top:25px}.rentals-section{max-width:1400px;margin:0 auto;padding:50px 6% 70px;border-top:1px solid var(--line)}.rentals-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:28px}.rentals-heading h2{font-size:54px;margin:15px 0 0}.rentals-heading h2>span{color:var(--orange)}.rentals-heading>p{font-size:12px;line-height:1.8;color:var(--muted);margin:0 0 5px}.rentals-empty{display:grid;grid-template-columns:240px 1fr;gap:48px;padding:38px;background:#fffefa;border:1px solid var(--line);border-radius:5px;align-items:center}.empty-visual{min-height:195px;background:#e5e8dc;display:grid;place-items:center;border-radius:110px 110px 3px 3px}.empty-visual>span{font-size:95px;color:#79948a;font-family:Georgia,serif}.coming-label{font-size:9px;font-weight:600;letter-spacing:2px;color:var(--orange)}.rentals-empty h3{font-family:'Libre Caslon Display',Georgia,serif;font-size:34px;font-weight:400;margin:12px 0}.rentals-empty p{max-width:540px;color:var(--muted);font-size:12px;line-height:1.9;margin:0 0 22px}.rental-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.rental-card{background:#fffefa;border:1px solid var(--line);border-radius:5px;overflow:hidden}.rental-card img{width:100%;height:220px;object-fit:cover;display:block}.rental-card-body{padding:22px}.rental-price{font-size:22px;margin:0 0 12px}.rental-card h3{font-size:15px;margin:0 0 8px}.rental-card p{font-size:12px;line-height:1.7;color:var(--muted)}.rental-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.rental-gallery img{min-width:100%;scroll-snap-align:start}.rentals-disclaimer{font-size:10px;color:var(--muted);line-height:1.7;margin-top:25px}@media(max-width:850px){.top-nav{gap:14px}.rentals-empty{grid-template-columns:170px 1fr;gap:28px}.rental-list{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){header{flex-wrap:wrap;height:auto;padding-top:18px;padding-bottom:16px;gap:16px}.top-nav{order:3;flex-basis:100%;padding-top:12px;border-top:1px solid var(--line);font-size:11px;justify-content:space-between}.rentals-section{padding:35px 6% 42px}.rentals-heading{display:block}.rentals-heading h2{font-size:46px;margin-bottom:16px}.rentals-empty{grid-template-columns:1fr;gap:22px;padding:25px}.empty-visual{min-height:125px;width:145px;margin:auto}.empty-visual>span{font-size:70px}.rentals-empty h3{font-size:30px}.rental-list{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
#mortgage-calculator{scroll-margin-top:25px}.calculator-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:32px;align-items:start}.calculator-inputs{padding:30px;background:#fffefa;border:1px solid var(--line);border-radius:5px}.calc-hint{font-size:11px;line-height:1.7;color:var(--muted);margin:0 0 24px}.calculator-result{padding:34px;background:#e7ece2;border:1px solid #d8dfd2;border-radius:5px}.calculator-result .coming-label{color:var(--ink)}.payment-total{font-family:'Libre Caslon Display',Georgia,serif;font-size:62px;line-height:1.2;letter-spacing:-1px;margin-top:16px;overflow-wrap:anywhere}.calc-month{font-size:12px;margin:0 0 28px;color:var(--muted)}.calc-loan{display:flex;justify-content:space-between;gap:12px;font-size:12px;padding-bottom:20px;border-bottom:1px solid #cbd4c6}.calc-loan strong{font-weight:600}.payment-breakdown{margin:25px 0}.payment-breakdown div{display:flex;justify-content:space-between;gap:15px;font-size:12px;margin:17px 0}.payment-breakdown dt{color:#52645a}.payment-breakdown dd{margin:0;font-weight:500}.calculator-result .primary{width:100%;justify-content:space-between}.calculator-result .fine{margin-top:20px}.calculator-inputs input{margin-bottom:0}#calc-error{font-size:12px;color:#a13829;line-height:1.7}.top-nav{flex-wrap:wrap;justify-content:center}@media(max-width:850px){.calculator-layout{gap:20px}.calculator-inputs,.calculator-result{padding:23px}.payment-total{font-size:48px}.top-nav{gap:12px;max-width:330px}}@media(max-width:640px){.calculator-layout{grid-template-columns:1fr}.top-nav{max-width:none;justify-content:space-between;gap:12px;font-size:10px}.payment-total{font-size:58px}}

/* Active rental viewer */
#active-rentals .rental-list { grid-template-columns: minmax(0, 1fr); gap: 14px; }
.rental-selection { display: flex; flex-wrap: wrap; gap: 8px; }
.rental-selection button {
  padding: 10px 16px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fffefa;
  color: #153c32;
  font: inherit;
  font-size: 13px;
  cursor: pointer;
}
.rental-selection button[aria-pressed="true"] {
  background: #153c32;
  border-color: #153c32;
  color: #fffefa;
}
.rental-photo-frame {
  position: relative;
  aspect-ratio: 16 / 9;
  max-height: 540px;
  background: #263c34;
}
.rental-photo-frame img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  touch-action: pan-y;
}
.rental-photo-arrow, .rental-photo-count {
  position: absolute;
  background: #17362feF;
  color: #fffefa;
}
.rental-photo-arrow {
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid #fffefa;
  border-radius: 50%;
  font: 32px/1 Georgia, serif;
  cursor: pointer;
}
.rental-photo-arrow.previous { left: 12px; }
.rental-photo-arrow.next { right: 12px; }
.rental-photo-arrow:focus-visible { outline: 2px solid #fffefa; outline-offset: 3px; }
.rental-photo-count { bottom: 12px; right: 12px; border-radius: 4px; padding: 5px 10px; font-size: 12px; }
.rental-photo-unavailable { position: absolute; top: 45%; left: 50%; transform: translateX(-50%); color: #fffefa; }
.rental-card .rental-price { color: #153c32; font-size: 24px; font-weight: 600; margin-bottom: 4px; }
.rental-card h3 { font-size: 18px; }
.rental-card .rental-brokerage { margin-bottom: 0; }
