/* Editorial layer. Existing photography, copy, navigation and film remain intact. */
.cinematic-site {
  --editorial-ink: #172e27;
  --editorial-paper: #f4f1e9;
  --editorial-muted: #65716a;
  --editorial-rule: #bfc6ba;
  --editorial-gold: #887148;
}
.cinematic-site :is(.collection,.intro,.details,.tour-section,.island-films,.services,.closing).section {
  padding: clamp(88px,9vw,144px) 6%;
}
.cinematic-site :is(.collection,.intro,.details,.tour-section,.island-films,.services) > .section-kicker {
  margin-bottom: 64px;
  padding-top: 20px;
  border-top: 1px solid var(--editorial-rule);
  font-size: 10px;
  letter-spacing: .14em;
}

/* The collection reads as large photographic spreads, with the next address in view. */
.cinematic-site .collection { background: var(--editorial-paper); }
.cinematic-site .collection-heading {
  display: grid;
  grid-template-columns: minmax(0,1.9fr) minmax(230px,.8fr);
  align-items: end;
  gap: 8%;
  margin: 0 0 66px;
}
.cinematic-site .collection-heading h2 {
  font-size: clamp(66px,7vw,108px);
  line-height: .91;
  letter-spacing: -.045em;
}
.cinematic-site .collection-heading > p {
  max-width: 325px;
  margin: 0 0 5px;
  color: var(--editorial-muted);
  font-size: 15px;
  line-height: 1.85;
}
.cinematic-site .collection-toolbar { margin-bottom: 34px; border-color: var(--editorial-rule); }
.cinematic-site .property-filters { gap: 32px; }
.cinematic-site .property-filters button { min-height: 48px; font-size: 11px; letter-spacing: .025em; }
.cinematic-site .property-filters button[aria-pressed=true] { border-bottom-color: var(--editorial-gold); }
.cinematic-site .property-track { gap: 36px; padding-bottom: 30px; }
.cinematic-site .property-card { flex-basis: 52%; }
.cinematic-site .property-image { aspect-ratio: 1.5; border-radius: 0; }
.cinematic-site .property-number { top: 20px; left: 20px; padding: 9px 12px; font-size: 10px; background: #142922aa; }
.cinematic-site .property-view { right: 20px; bottom: 20px; padding: 11px 16px; font-size: 10px; background: #f4f1e9; color: var(--editorial-ink); border: 0; }
.cinematic-site .property-meta { margin-top: 25px; font-size: 10px; letter-spacing: .11em; }
.cinematic-site .property-card h3 { margin: 11px 0 19px; font-size: clamp(38px,3.4vw,52px); line-height: 1.08; }
.cinematic-site .property-price { padding-top: 17px; border-color: var(--editorial-rule); }
.cinematic-site .property-price > span:first-child { font-size: 18px; }
.cinematic-site .property-price > span:last-child { font-size: 10px; line-height: 1.6; text-align: right; }
.cinematic-site .property-inquiry { margin-top: 13px; }
.cinematic-site .property-inquiry .text-link { min-height: 44px; padding: 8px 0; font-size: 12px; border-color: #929e91; }
.cinematic-site .collection-bottom { border-color: var(--editorial-rule); padding-top: 24px; }
.cinematic-site .collection-hint { font-family: Cormorant,Georgia,serif; font-size: 24px; font-weight: 400; }
.cinematic-site .collection-credit { max-width: 760px; margin-top: 30px; font-size: 12px; line-height: 1.7; }

/* An offset image and aligned fact line give the residence its own editorial pace. */
.cinematic-site #residence { background: #faf8f2; }
.cinematic-site #residence .intro-grid { grid-template-columns: minmax(0,1.45fr) minmax(0,1fr); gap: 10%; }
.cinematic-site #residence h2 { font-size: clamp(58px,6vw,92px); line-height: .98; max-width: 710px; }
.cinematic-site #residence .intro-grid > div { padding-top: 8px; }
.cinematic-site #residence .lead { font-size: 20px; line-height: 1.6; }
.cinematic-site #residence .intro-grid p:not(.lead) { font-size: 15px; line-height: 1.85; }
.cinematic-site #residence .residence-feature { width: 84%; margin: 76px 0 0 16%; }
.cinematic-site #residence .residence-feature img { aspect-ratio: 1.7; object-fit: cover; }
.cinematic-site #residence .facts { grid-template-columns: 1.3fr 1fr 1fr 1fr; margin: 36px 0 22px 16%; padding-top: 24px; border-color: var(--editorial-rule); gap: 28px; }
.cinematic-site #residence .facts dt { font-size: 9px; color: var(--editorial-muted); }
.cinematic-site #residence .facts dd { font-family: Cormorant,Georgia,serif; font-size: 45px; line-height: 1.05; }
.cinematic-site #residence > .fine { margin-left: 16%; max-width: 900px; font-size: 12px; }
.cinematic-site .details.section { padding-top: 28px; background: #faf8f2; }
.cinematic-site .detail-grid { grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); gap: 10%; }
.cinematic-site .detail-grid .narrow { margin-top: 155px; }
.cinematic-site .detail-grid .wide img { aspect-ratio: 1.13; }
.cinematic-site .detail-grid .narrow img { aspect-ratio: .91; }
.cinematic-site .detail-grid figcaption { font-size: 11px; padding: 20px 0 0; border-top: 1px solid var(--editorial-rule); margin-top: 14px; }
.cinematic-site .detail-grid figcaption span { color: var(--editorial-gold); letter-spacing: .08em; text-transform: uppercase; font-size: 10px; }

/* The immersive invitation remains a working full-width viewing surface. */
.cinematic-site .tour-section { background: #eceee6; }
.cinematic-site .tour-section .intro-grid { grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); gap: 10%; }
.cinematic-site .tour-section h2 { font-size: clamp(57px,5.8vw,89px); line-height: .99; }
.cinematic-site .tour-section .intro-grid p:not(.fine) { font-size: 16px; line-height: 1.8; }
.cinematic-site .tour-section .intro-grid .fine { font-size: 12px; line-height: 1.8; }
.cinematic-site .tour-shell { width: 100%; max-width: 100%; margin-top: 65px; border-radius: 0; aspect-ratio: 2.05; }
.cinematic-site .tour-invitation h3 { font-family: Cormorant,Georgia,serif; font-size: 66px; line-height: .97; }
.cinematic-site .tour-footer { padding: 23px 0; font-size: 12px; align-items: center; }
.cinematic-site .quest-note { padding-top: 38px; margin-top: 12px; border-color: #adb9aa; }
.cinematic-site .quest-note h3 { font-family: Cormorant,Georgia,serif; font-size: 34px; line-height: 1.1; }
.cinematic-site .quest-note p { font-size: 14px; line-height: 1.8; }

/* Film screening: equal frames and aligned titles on desktop, full-width on phones. */
.cinematic-site .island-films { background: #10221e; }
.cinematic-site .island-films > .section-kicker { border-color: #536156; color: #c5cfbf; }
.cinematic-site .island-films h2 { font-size: clamp(62px,6.6vw,100px); line-height: .95; max-width: 1040px; }
.cinematic-site .island-films h2 em { color: #d9c89c; }
.cinematic-site .film-intro { margin-top: 25px; font-size: 15px; color: #bdc8bc; }
.cinematic-site .film-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6%; margin-top: 66px; }
.cinematic-site .film-grid > article { padding-top: 0; margin-left: 0; }
.cinematic-site .film-grid .film-player { aspect-ratio: 16 / 9; }
.cinematic-site .film-player > img { filter: brightness(.88); }
.cinematic-site .film-player > button { left: 24px; bottom: 24px; border-radius: 2px; background: #11251edb; border-color: #e9eee0a1; padding: 13px 20px; font-size: 12px; }
.cinematic-site .film-grid h3 { font-family: Cormorant,Georgia,serif; font-size: 44px; line-height: 1.07; margin: 26px 0 13px; }
.cinematic-site .film-grid p { font-size: 12px; }
.cinematic-site .film-grid small { max-width: 390px; font-size: 11px; line-height: 1.7; color: #aebdaf; }

/* Personal, editorial services rather than another dark card grid. */
.cinematic-site .services { background: #f0eee5; color: var(--editorial-ink); }
.cinematic-site .services > .section-kicker { color: var(--editorial-muted); }
.cinematic-site .services-heading { grid-template-columns: minmax(0,1.25fr) minmax(0,1fr); align-items: start; gap: 10%; margin-bottom: 82px; }
.cinematic-site .services-heading > h2 { font-size: clamp(62px,6.2vw,96px); line-height: .95; }
.cinematic-site .services h2 em { color: #87724e; }
.cinematic-site .personal-intro { grid-template-columns: 142px minmax(0,1fr); gap: 28px; padding-top: 8px; align-items: start; }
.cinematic-site .personal-intro img { width: 142px; height: 181px; border-radius: 0; }
.cinematic-site .personal-intro h3 { font-size: 31px; line-height: 1.1; margin-bottom: 17px; }
.cinematic-site .personal-intro p { font-size: 14px; line-height: 1.85; color: var(--editorial-muted); }
.cinematic-site .showcase-entry { margin: 0 0 55px 16%; padding: 25px 0; border-color: var(--editorial-rule); }
.cinematic-site .showcase-entry > span { color: var(--editorial-muted); line-height: 1.7; }
.cinematic-site .showcase-entry .text-link { font-size: 12px; }
.cinematic-site .service-list { margin-left: 16%; }
.cinematic-site .service-list details { border-color: var(--editorial-rule); padding: 26px 0; }
.cinematic-site .service-list details:last-child { border-color: var(--editorial-rule); }
.cinematic-site .service-list summary { font-family: Cormorant,Georgia,serif; font-size: clamp(28px,2.8vw,42px); line-height: 1.2; gap: 30px; }
.cinematic-site .service-list summary > span { font-family: Manrope,Arial,sans-serif; color: #87724e; font-size: 10px; min-width: 20px; }
.cinematic-site .service-list summary i { font-family: Manrope,Arial,sans-serif; font-size: 22px; color: #87724e; }
.cinematic-site .service-list details p { padding: 18px 60px 4px 50px; max-width: 780px; font-size: 15px; line-height: 1.85; color: var(--editorial-muted); }
.cinematic-site .paths { gap: 12%; margin: 85px 0 0 16%; padding-top: 55px; border-color: var(--editorial-rule); }
.cinematic-site .paths .eyebrow { color: #87724e; font-size: 9px; letter-spacing: .13em; }
.cinematic-site .paths h3 { font-size: clamp(35px,3vw,47px); line-height: 1.02; margin: 24px 0 22px; }
.cinematic-site .paths p { color: var(--editorial-muted); font-size: 15px; line-height: 1.8; }
.cinematic-site .services .light-button { background: var(--editorial-ink); color: #f4f1e9; border: 1px solid var(--editorial-ink); border-radius: 2px; padding: 14px 22px; font-size: 12px; }

.cinematic-site .closing { background: #e9e9dc; text-align: left; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 0 50px; align-items: end; }
.cinematic-site .closing > .eyebrow { grid-column: 1 / -1; font-size: 9px; letter-spacing: .15em; color: #6c755f; }
.cinematic-site .closing h2 { font-size: clamp(70px,8vw,126px); line-height: .94; margin: 42px 0 0; }
.cinematic-site .closing h2 em { color: #65724f; }
.cinematic-site .closing .dark-button { align-self: end; margin-bottom: 9px; padding: 16px 24px; border-radius: 2px; font-size: 12px; }
.cinematic-site footer { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); padding: 54px 6% 60px; gap: 7px 28px; background: var(--editorial-paper); border-top: 1px solid #bdc5b6; }
.cinematic-site footer > span { grid-column: 1 / -1; padding-bottom: 23px; font-size: 11px; letter-spacing: .07em; }
.cinematic-site footer .text-link { justify-self: start; align-self: start; min-height: 44px; font-size: 12px; line-height: 1.5; border-bottom: 0; padding: 10px 0; text-align: left; }

@media (hover:hover) and (pointer:fine) {
  .cinematic-site .property-image img { transition: transform 650ms cubic-bezier(.22,1,.36,1); }
  .cinematic-site .property-image:hover img { transform: scale(1.025); }
  .cinematic-site .property-view { opacity: 0; transform: translateY(5px); transition: opacity 180ms ease, transform 240ms ease; }
  .cinematic-site .property-image:is(:hover,:focus-visible) .property-view { opacity: 1; transform: none; }
  .cinematic-site .services .light-button:hover { background: #304737; border-color: #304737; }
}

@media (min-width:701px) and (max-width:1100px) {
  .cinematic-site .collection-heading { grid-template-columns: minmax(0,1.6fr) minmax(200px,1fr); gap: 7%; }
  .cinematic-site .collection-heading h2 { font-size: 76px; }
  .cinematic-site .personal-intro { grid-template-columns: 1fr; gap: 24px; }
  .cinematic-site .personal-intro img { width: 145px; height: 174px; }
  .cinematic-site .personal-intro > div { max-width: 370px; }
  .cinematic-site .property-price { align-items: start; flex-direction: column; gap: 8px; }
  .cinematic-site .property-price > span:last-child { text-align: left; }
  .cinematic-site footer { grid-template-columns: repeat(4,minmax(0,1fr)); }
}

@media (max-width:700px) {
  .cinematic-site :is(.collection,.intro,.details,.tour-section,.island-films,.services,.closing).section { padding: 80px 24px; }
  .cinematic-site :is(.collection,.intro,.details,.tour-section,.island-films,.services) > .section-kicker { margin-bottom: 40px; padding-top: 16px; font-size: 9px; gap: 20px; letter-spacing: .08em; }
  .cinematic-site .collection-heading { display: block; margin-bottom: 35px; }
  .cinematic-site .collection-heading h2 { font-size: clamp(52px,13.5vw,66px); line-height: .96; }
  .cinematic-site .collection-heading > p { margin-top: 28px; max-width: 340px; font-size: 15px; line-height: 1.8; }
  .cinematic-site .property-filters { gap: 16px; }
  .cinematic-site .property-filters button { font-size: 10px; min-height: 46px; letter-spacing: 0; }
  .cinematic-site .collection-toolbar { margin-bottom: 24px; }
  .cinematic-site .property-track { gap: 20px; padding-bottom: 22px; }
  .cinematic-site .property-card { flex-basis: 92%; }
  .cinematic-site .property-image { aspect-ratio: 1.07; }
  .cinematic-site .property-number { top: 14px; left: 14px; font-size: 9px; padding: 8px 10px; }
  .cinematic-site .property-view { bottom: 14px; right: 14px; padding: 10px 12px; }
  .cinematic-site .property-meta { font-size: 9px; margin-top: 22px; gap: 12px; letter-spacing: .06em; }
  .cinematic-site .property-card h3 { font-size: 36px; margin: 9px 0 17px; }
  .cinematic-site .property-price { align-items: start; }
  .cinematic-site .property-price > span:last-child { text-align: left; font-size: 11px; }
  .cinematic-site .property-inquiry .text-link { font-size: 12px; }
  .cinematic-site .collection-credit { font-size: 12px; margin-top: 24px; }
  .cinematic-site #residence .intro-grid,.cinematic-site .tour-section .intro-grid { grid-template-columns: 1fr; gap: 30px; }
  .cinematic-site #residence h2,.cinematic-site .tour-section h2 { font-size: clamp(48px,12.8vw,62px); line-height: 1; }
  .cinematic-site #residence .intro-grid > div { padding-top: 0; }
  .cinematic-site #residence .lead { font-size: 19px; }
  .cinematic-site #residence .residence-feature { width: 100%; margin: 40px 0 0; }
  .cinematic-site #residence .residence-feature img { aspect-ratio: 1.2; }
  .cinematic-site #residence .facts { grid-template-columns: 1fr 1fr; margin: 28px 0 22px; gap: 30px 22px; }
  .cinematic-site #residence .facts dd { font-size: 43px; }
  .cinematic-site #residence > .fine { margin-left: 0; font-size: 12px; }
  .cinematic-site .details.section { padding-top: 10px; }
  .cinematic-site .details > .section-kicker { align-items: flex-start; gap: 20px; }
  .cinematic-site .details .text-link { max-width: 160px; font-size: 11px; padding-top: 0; text-align: right; }
  .cinematic-site .detail-grid { grid-template-columns: 1fr; gap: 43px; }
  .cinematic-site .detail-grid .narrow { margin: 0 0 0 14%; }
  .cinematic-site .detail-grid figcaption { font-size: 11px; gap: 16px; line-height: 1.5; }
  .cinematic-site .tour-shell { margin-top: 38px; height: 510px; aspect-ratio: auto; }
  .cinematic-site .tour-invitation h3 { font-size: 49px; }
  .cinematic-site .tour-footer { align-items: flex-start; gap: 5px; }
  .cinematic-site .quest-note h3 { font-size: 32px; }
  .cinematic-site .quest-note p { font-size: 15px; }
  .cinematic-site .island-films h2 { font-size: clamp(49px,13vw,63px); line-height: 1; }
  .cinematic-site .film-intro { font-size: 15px; }
  .cinematic-site .film-grid { grid-template-columns: 1fr; gap: 45px; margin-top: 38px; }
  .cinematic-site .film-player > button { left: 14px; bottom: 14px; padding: 11px 14px; font-size: 11px; }
  .cinematic-site .film-grid h3 { font-size: 35px; margin-top: 20px; }
  .cinematic-site .services-heading { grid-template-columns: 1fr; gap: 40px; margin-bottom: 42px; }
  .cinematic-site .services-heading > h2 { font-size: clamp(52px,13.5vw,64px); line-height: .98; }
  .cinematic-site .personal-intro { grid-template-columns: 110px minmax(0,1fr); gap: 20px; padding-top: 0; }
  .cinematic-site .personal-intro img { width: 110px; height: 143px; }
  .cinematic-site .personal-intro h3 { font-size: 26px; margin-bottom: 12px; }
  .cinematic-site .personal-intro p { font-size: 13px; line-height: 1.8; }
  .cinematic-site .showcase-entry { margin: 0 0 32px; padding: 22px 0; gap: 14px; }
  .cinematic-site .service-list { margin-left: 0; }
  .cinematic-site .service-list details { padding: 22px 0; }
  .cinematic-site .service-list summary { font-size: 29px; gap: 13px; }
  .cinematic-site .service-list summary > span { min-width: 15px; font-size: 9px; }
  .cinematic-site .service-list summary i { font-size: 20px; }
  .cinematic-site .service-list details p { padding: 18px 0 0 28px; font-size: 15px; line-height: 1.8; }
  .cinematic-site .paths { grid-template-columns: 1fr; margin: 46px 0 0; padding-top: 36px; gap: 43px; }
  .cinematic-site .paths h3 { font-size: 38px; margin: 19px 0 20px; }
  .cinematic-site .paths p { font-size: 15px; }
  .cinematic-site .closing { grid-template-columns: 1fr; gap: 0; }
  .cinematic-site .closing > .eyebrow { margin: 0; max-width: 270px; font-size: 9px; line-height: 1.8; }
  .cinematic-site .closing h2 { font-size: clamp(60px,16vw,77px); margin-top: 34px; line-height: .97; }
  .cinematic-site .closing .dark-button { justify-self: start; margin: 34px 0 0; }
  .cinematic-site footer { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 42px 24px 48px; gap: 7px 24px; }
  .cinematic-site footer > span { padding-bottom: 20px; font-size: 10px; }
  .cinematic-site footer .text-link { font-size: 12px; }
}

@media (prefers-reduced-motion:reduce) {
  .cinematic-site .property-image img,.cinematic-site .property-view { transition: none; }
}
@media(max-width:700px){#collection .property-meta,#collection .property-filters button,#collection #collection-total{font-size:11px}#collection .property-filters{flex-wrap:wrap}}
.experience-discovery{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 0;border-block:1px solid #a3ad9f;margin:40px 0}.experience-discovery>span{font-size:11px;letter-spacing:.1em}@media(max-width:700px){.experience-discovery{display:block}.experience-discovery a{display:inline-block;margin-top:15px}}
