:root{--tle-bg:#161618;--tle-surface:#1c1c1f;--tle-surface-2:#232327;--tle-line:rgba(245,242,235,.09);--tle-ink:#f5f2eb;--tle-muted:rgba(245,242,235,.72);--tle-gold:#c9a86a;--tle-gold-hi:#e6cc8e;--tle-gold-ink:#161618}
/* Top Level Exotics: added sections (exotics, yachts, mansions) */
.tle{background:var(--bg-obsidian,var(--tle-bg));color:var(--ink-hi,var(--tle-ink));font-family:var(--font-body,inherit)}
.tle *{box-sizing:border-box}
.tle a{text-decoration:none;color:inherit}
.tle-wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.tle-sec{padding:96px 0}
.tle-sec+.tle-sec{border-top:1px solid var(--tle-line)}
.tle-eyebrow{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--tle-gold);margin:0 0 14px}
.tle h2{font-family:var(--font-display,inherit);font-weight:700;font-size:clamp(28px,4vw,48px);line-height:1.08;margin:0 0 16px;color:#fff}
.tle .tle-lede{max-width:620px;font-size:17px;line-height:1.7;color:rgba(245,242,235,.72);margin:0 0 28px}
.tle-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:36px}
.tle-ctas{display:flex;gap:12px;flex-wrap:wrap}
.tle-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;border-radius:999px;font-weight:600;font-size:15px;border:1px solid transparent;cursor:pointer;transition:transform .2s,background .2s,border-color .2s}
.tle-btn:hover{transform:translateY(-2px)}
.tle-btn.gold{background:var(--tle-gold);color:var(--tle-gold-ink)}
.tle-btn.gold:hover{background:var(--tle-gold-hi)}
.tle-btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}
.tle-btn.ghost:hover{border-color:var(--tle-gold);color:var(--tle-gold)}
.tle-btn.white{background:var(--tle-gold);color:var(--tle-gold-ink)}
.tle-btn.white:hover{background:var(--tle-gold-hi)}
/* category tiles */
.tle-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tle-tile{position:relative;display:block;aspect-ratio:16/11;border-radius:22px;overflow:hidden;background:var(--tle-surface)}
.tle-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s}
.tle-tile:hover img{transform:scale(1.05)}
.tle-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.82))}
.tle-tile .cap{position:absolute;left:24px;right:24px;bottom:22px;z-index:2}
.tle-tile .cap b{display:block;font-family:var(--font-display,inherit);font-size:24px;margin-bottom:4px}
.tle-tile .cap span{font-size:14px;color:rgba(255,255,255,.75)}
.tle-tile .arrow{position:absolute;top:18px;right:18px;z-index:2;width:42px;height:42px;border-radius:50%;background:rgba(0,0,0,.45);display:grid;place-items:center;font-size:18px}
/* feature + grids */
.tle-feature{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:16/9;background:#000;margin-bottom:20px}
.tle-feature img,.tle-feature video{width:100%;height:100%;object-fit:cover;display:block}
.tle-feature .over{position:absolute;left:0;right:0;bottom:0;padding:32px;background:linear-gradient(transparent,rgba(0,0,0,.78));display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.tle-feature .over b{font-family:var(--font-display,inherit);font-size:clamp(20px,2.6vw,32px);display:block}
.tle-feature .over span{color:rgba(255,255,255,.78);font-size:15px}
.tle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.tle-grid.g3{grid-template-columns:repeat(3,1fr)}
.tle-card{border-radius:18px;overflow:hidden;background:var(--tle-surface);border:1px solid var(--tle-line);display:flex;flex-direction:column}
.tle-card .ph{aspect-ratio:4/3;overflow:hidden;background:var(--tle-surface-2)}
.tle-card .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s}
.tle-card:hover .ph img{transform:scale(1.05)}
.tle-card .bd{padding:16px 18px 18px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.tle-card .bd b{font-size:16px}
.tle-card .bd a{font-size:14px;color:var(--tle-gold);font-weight:600;white-space:nowrap}
.tle-sub{font-family:var(--font-display,inherit);font-size:20px;margin:44px 0 18px}
.tle-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.tle-strip .ph{aspect-ratio:1;border-radius:14px;overflow:hidden}
.tle-strip img{width:100%;height:100%;object-fit:cover;display:block}
/* mansions placeholders */
.tle-ph{aspect-ratio:4/3;border-radius:18px;border:1px dashed rgba(201,168,106,.5);background:repeating-linear-gradient(135deg,rgba(201,168,106,.06) 0 14px,transparent 14px 28px),var(--tle-surface);display:grid;place-items:center;text-align:center;color:rgba(255,255,255,.6);font-size:14px;padding:18px}
.tle-ph b{display:block;color:var(--tle-gold);font-size:15px;margin-bottom:4px}
.tle-note{margin-top:22px;font-size:13px;color:rgba(255,255,255,.5)}
/* closing band */
.tle-band{background:linear-gradient(135deg,var(--tle-surface-2),var(--tle-bg));border:1px solid rgba(201,168,106,.35);border-radius:28px;padding:56px 40px;text-align:center}
.tle-band h2{margin-bottom:12px}
.tle-band .tle-ctas{justify-content:center;margin-top:24px}
@media(max-width:900px){.tle-tiles{grid-template-columns:1fr}.tle-tile{aspect-ratio:16/11}.tle-grid{grid-template-columns:repeat(2,1fr)}.tle-grid.g3{grid-template-columns:1fr}.tle-strip{grid-template-columns:repeat(2,1fr)}.tle-sec{padding:64px 0}.tle-band{padding:40px 22px}}

#tle-offer,#exotics,#yachts,#mansions{scroll-margin-top:110px}

.tle-grid.g2{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){.tle-grid.g2{grid-template-columns:1fr}}

/* vehicle cards (Miami scenes) */
.tle-vgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:20px}
.tle-vcard{border-radius:20px;overflow:hidden;background:var(--tle-surface);border:1px solid var(--tle-line);display:flex;flex-direction:column;transition:transform .3s,border-color .3s}
.tle-vcard:hover{transform:translateY(-4px);border-color:rgba(201,168,106,.5)}
.tle-vcard .ph{position:relative;aspect-ratio:16/11;overflow:hidden}
.tle-vcard .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s}
.tle-vcard:hover .ph img{transform:scale(1.05)}
.tle-vcard .ph:after{content:"";position:absolute;inset:auto 0 0;height:35%;background:linear-gradient(transparent,var(--tle-surface))}
.tle-vcard .tag{position:absolute;top:14px;left:14px;z-index:2;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:5px 12px;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.tle-vcard .bd{padding:6px 20px 20px;display:flex;flex-direction:column;gap:14px;flex:1}
.tle-vcard .row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.tle-vcard h3{font-size:19px;line-height:1.2;margin:0;font-weight:500;color:#fff}
.tle-vcard .price{text-align:right;white-space:nowrap}
.tle-vcard .price b{display:block;color:var(--tle-gold);font-size:16px;font-weight:600}
.tle-vcard .price span{font-size:11px;letter-spacing:.14em;color:rgba(255,255,255,.55)}
.tle-vcard .specs{display:flex;gap:8px;flex-wrap:wrap}
.tle-vcard .specs span{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.65);border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:4px 10px}
.tle-vcard .btns{display:flex;gap:10px;margin-top:auto}
.tle-vcard .btns a{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 10px;border-radius:999px;font-size:14px;font-weight:600;white-space:nowrap}
.tle-vcard .b1{background:var(--tle-surface-2);color:#fff}.tle-vcard .b1:hover{background:#2d2d32}
.tle-vcard .b2{background:var(--tle-gold);color:var(--tle-gold-ink)}.tle-vcard .b2:hover{background:var(--tle-gold-hi)}
@media(max-width:1100px){.tle-vgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.tle-vgrid{grid-template-columns:1fr}}
/* pinned yacht scene */
.tle-pin{position:relative;height:260vh;width:100vw;margin-left:calc(50% - 50vw);margin-bottom:20px}
.tle-pin-stage{position:sticky;top:0;height:100vh;height:100svh;min-height:520px;overflow:hidden;background:#05070b}
.tle-pin-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform-origin:30% 64%;will-change:transform}
/* scrims banded to the text zone (not the whole frame): flat-then-cliff falloff */
.tle-pin-shade{position:absolute;left:0;right:0;bottom:0;height:64%;pointer-events:none;background:linear-gradient(to top,rgba(0,0,0,.94) 0%,rgba(0,0,0,.90) 42%,rgba(0,0,0,.68) 66%,rgba(0,0,0,.28) 86%,transparent 100%);will-change:opacity}
.tle-pin-stage:before{content:"";position:absolute;left:0;right:0;top:0;height:20%;z-index:1;pointer-events:none;background:linear-gradient(to bottom,rgba(0,0,0,.55) 0%,rgba(0,0,0,.35) 45%,transparent 100%)}
.tle-pin-copy,.tle-pin-hint{z-index:2}
.tle-pin-copy b,.tle-pin-copy span{text-shadow:0 2px 14px rgba(0,0,0,.75)}
@media(max-width:820px){.tle-pin-shade{height:62%}.tle-pin-stage:before{height:16%}}
.tle-pin-copy{position:absolute;left:max(24px,6vw);bottom:12vh;max-width:560px;display:flex;flex-direction:column;gap:14px;will-change:transform,opacity}
.tle-pin-copy b{font-family:var(--font-display,inherit);font-size:clamp(28px,4.4vw,56px);line-height:1.05;color:#fff;text-shadow:0 4px 30px rgba(0,0,0,.6)}
.tle-pin-copy span{font-size:18px;color:rgba(255,255,255,.85);text-shadow:0 2px 14px rgba(0,0,0,.6)}
.tle-pin-copy .tle-btn{align-self:flex-start;margin-top:6px}
.tle-pin-hint{position:absolute;right:max(24px,5vw);bottom:12vh;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.7)}
@media(prefers-reduced-motion:reduce){.tle-pin{height:auto}.tle-pin-stage{position:relative;height:70vh}}

/* tiles: equal size, subject kept in frame */
.tle-tiles .tle-tile:nth-child(1) img{object-position:62% 50%}
.tle-tiles .tle-tile:nth-child(2) img{object-position:45% 55%}
.tle-tiles .tle-tile:nth-child(3) img{object-position:50% 60%}
.tle-tile:after{background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.78))}
.tle-pin-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;will-change:transform}

/* footer */
.tle-foot{background:var(--tle-bg);color:var(--tle-ink);border-top:1px solid var(--tle-line);padding:56px 0 40px}
.tle-foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;align-items:start}
.tle-foot-logo{width:170px;height:auto;mix-blend-mode:screen;margin-bottom:14px}
.tle-foot p{color:rgba(245,242,235,.65);margin:0;max-width:320px;line-height:1.6}
.tle-foot-links{display:flex;flex-direction:column;gap:12px}
.tle-foot-links a{color:rgba(245,242,235,.85);font-size:15px}
.tle-foot-links a:hover{color:var(--tle-gold)}
.tle-foot-cta{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.tle-foot-copy{margin-top:40px!important;font-size:13px;color:rgba(245,242,235,.45)!important}
@media(max-width:820px){.tle-foot-grid{grid-template-columns:1fr}.tle-foot{padding:44px 0 90px}}

/* footer */
.tle-foot{background:var(--tle-bg);color:var(--tle-ink);border-top:1px solid var(--tle-line);padding:56px 0 40px}
.tle-foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;align-items:start}
.tle-foot-logo{width:170px;height:auto;mix-blend-mode:screen;margin-bottom:14px}
.tle-foot p{color:rgba(245,242,235,.65);margin:0;max-width:320px;line-height:1.6}
.tle-foot-links{display:flex;flex-direction:column;gap:12px}
.tle-foot-links a{color:rgba(245,242,235,.85);font-size:15px;text-decoration:none}
.tle-foot-links a:hover{color:var(--tle-gold)}
.tle-foot-cta{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.tle-foot a{text-decoration:none}
.tle-foot-copy{margin-top:40px!important;font-size:13px;color:rgba(245,242,235,.45)!important}
@media(max-width:820px){.tle-foot-grid{grid-template-columns:1fr}.tle-foot{padding:44px 0 90px}}

/* phones: keep CTAs clear of the floating call / WhatsApp buttons, tighter spacing */
@media(max-width:820px){
  [data-scroll-hero] .sticky>div.absolute.flex-col{padding-bottom:132px!important}
  .tle-pin-copy{bottom:17vh;left:20px;right:20px;max-width:none}
  .tle-pin-copy b{font-size:clamp(26px,8vw,34px)}
  .tle-pin-copy span{font-size:16px}
  .tle-pin-hint{display:none}
  .tle-wrap{padding:0 20px}
  .tle-head{margin-bottom:24px}
  .tle h2{font-size:clamp(26px,7.4vw,34px)}
  .tle .tle-lede{font-size:16px}
  .tle-btn{padding:13px 22px;font-size:15px}
  .tle-ctas{width:100%}
  .tle-ctas .tle-btn{flex:1 1 auto;justify-content:center}
  .tle-feature{border-radius:18px}
  .tle-feature .over{padding:18px}
  .tle-band{padding:34px 18px}
}
@media(max-width:420px){.tle-vcard .btns{flex-direction:column}}
@media(max-width:820px){
  /* Maybach feature: caption sits under the video instead of on top of the car */
  .tle-feature{aspect-ratio:auto;background:var(--tle-surface)}
  .tle-feature video,.tle-feature img{aspect-ratio:16/9;height:auto}
  .tle-feature .over{position:static;background:none;padding:16px 18px 20px}
  .tle-feature .over b{font-size:21px}
}

/* ---- site-wide palette: dark graphite + champagne gold, nothing else ---- */
h1 .gold-emph,.gold-emph{color:var(--tle-gold-hi)!important}
[data-scroll-hero] button.bg-white{background:var(--tle-gold)!important;color:var(--tle-gold-ink)!important}
[data-scroll-hero] button.bg-white:hover{background:var(--tle-gold-hi)!important}
.fixed.bottom-5 a.bg-white{background:var(--tle-surface-2)!important;color:var(--tle-gold-hi)!important;box-shadow:0 0 0 1px rgba(201,168,106,.55),0 12px 30px -8px rgba(0,0,0,.55)!important}
.fixed.bottom-5 button[class*="25D366"]{background:var(--tle-gold)!important;color:var(--tle-gold-ink)!important;box-shadow:0 12px 30px -8px rgba(201,168,106,.45)!important}
.fixed.bottom-5 button[class*="25D366"]:hover{background:var(--tle-gold-hi)!important}
.fixed.bottom-5 button[class*="25D366"] svg,.fixed.bottom-5 a.bg-white svg{color:inherit}
.tle-vgrid.g3{grid-template-columns:repeat(3,1fr)}
@media(max-width:1100px){.tle-vgrid.g3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.tle-vgrid.g3{grid-template-columns:1fr}}
#yachts .tle-vgrid{margin-top:28px}

/* feathered shade directly behind the text block */
.tle-pin-copy{isolation:isolate}
.tle-pin-copy:before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:-56px -120px -48px -90px;background:radial-gradient(ellipse 78% 82% at 34% 56%,rgba(0,0,0,.78) 0%,rgba(0,0,0,.62) 42%,rgba(0,0,0,.30) 70%,transparent 100%)}
@media(max-width:820px){.tle-pin-copy:before{inset:-40px -24px -36px -24px;background:radial-gradient(ellipse 100% 90% at 40% 55%,rgba(0,0,0,.78) 0%,rgba(0,0,0,.6) 50%,transparent 100%)}}

.tle-pin-cv{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;opacity:0;will-change:transform,opacity}
/* scroll scenes stay pinned even with Reduce Motion: the motion is driven by the user's own scrolling */
@media(prefers-reduced-motion:reduce){.tle-pin{height:260vh!important}.tle-pin-stage{position:sticky!important;top:0;height:100svh!important}}

/* 7 yachts: four across, last row centered */
.tle-vgrid.c4{display:flex;flex-wrap:wrap;justify-content:center;gap:20px}
.tle-vgrid.c4 .tle-vcard{flex:0 0 calc((100% - 60px)/4)}
@media(max-width:1100px){.tle-vgrid.c4 .tle-vcard{flex-basis:calc((100% - 20px)/2)}}
@media(max-width:700px){.tle-vgrid.c4 .tle-vcard{flex-basis:100%}}

/* sold-out state (set from the admin portal) */
.is-sold .ph img,.is-sold>img,.tle-feature.is-sold video,.tle-feature.is-sold img{filter:grayscale(.9) brightness(.55)}
.tle-soldbadge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-6deg);z-index:3;padding:10px 26px;border:2px solid var(--tle-gold);border-radius:12px;background:rgba(22,22,24,.82);color:var(--tle-gold-hi);font-weight:800;letter-spacing:.22em;text-transform:uppercase;font-size:clamp(14px,2.2vw,22px);white-space:nowrap}
.tle-feature .tle-soldbadge{top:30%}
.tle-vcard .btns a.is-disabled,.tle-card .bd a.is-disabled{background:var(--tle-surface-2)!important;color:rgba(245,242,235,.5)!important;pointer-events:none;cursor:default}
.tle-itemnote{margin:0;font-size:13px;color:var(--tle-gold-hi);letter-spacing:.02em}

/* show more / show fewer */
.tle-vcard.tle-extra{display:none}
.is-open .tle-vcard.tle-extra{display:flex;animation:tleReveal .55s cubic-bezier(.2,.8,.2,1) both}
.is-open .tle-vcard.tle-extra:nth-child(6){animation-delay:.07s}
.is-open .tle-vcard.tle-extra:nth-child(7){animation-delay:.14s}
.is-open .tle-vcard.tle-extra:nth-child(8){animation-delay:.21s}
@keyframes tleReveal{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.tle-more{display:flex;justify-content:center;margin-top:30px}
.tle-morebtn{padding:15px 32px;font-size:15px;letter-spacing:.02em;border-color:rgba(201,168,106,.55);color:var(--tle-gold-hi)}
.tle-morebtn:hover{background:rgba(201,168,106,.10);border-color:var(--tle-gold);color:var(--tle-gold-hi)}
.tle-chev{display:inline-flex;transition:transform .3s}
.tle-chev.up{transform:rotate(180deg)}
@media(prefers-reduced-motion:reduce){.is-open .tle-vcard.tle-extra{animation:none}}

.tle-count{margin-left:10px;padding-left:12px;border-left:1px solid rgba(201,168,106,.4);color:rgba(245,242,235,.65);font-weight:500}
@media(max-width:480px){.tle-count{display:none}}

/* three-up centered grid (cars, mansions) and empty-photo placeholder for new listings */
.tle-vgrid.c3{display:flex;flex-wrap:wrap;justify-content:center;gap:20px}
.tle-vgrid.c3 .tle-vcard{flex:0 0 calc((100% - 40px)/3)}
@media(max-width:1100px){.tle-vgrid.c3 .tle-vcard{flex-basis:calc((100% - 20px)/2)}}
@media(max-width:700px){.tle-vgrid.c3 .tle-vcard{flex-basis:100%}}
.tle-vcard .ph.ph-empty{background:radial-gradient(120% 100% at 50% 0%,var(--tle-surface-2),var(--tle-bg));display:grid;place-items:center}
.tle-vcard .ph .ph-logo{width:46%;height:auto;max-height:46%;object-fit:contain;opacity:.55;mix-blend-mode:screen}
