:root {
    --tl-ink: #14221f;
    --tl-forest: #1f3932;
    --tl-copper: #a96443;
    --tl-copper-dark: #7e452f;
    --tl-sand: #eee8df;
    --tl-cream: #f8f5f0;
    --tl-white: #ffffff;
    --tl-muted: #66716d;
    --tl-line: rgba(20, 34, 31, .14);
    --tl-shadow: 0 24px 70px rgba(19, 34, 31, .12);
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
.elementor-page .elementor-widget-text-editor, .elementor-page .elementor-widget-heading { margin-bottom: 0; }
.tl-section > .elementor-container, .tl-header > .elementor-container, .tl-hero > .elementor-container, .tl-trust-strip > .elementor-container { padding-left: 24px; padding-right: 24px; }
.tl-section { padding: 104px 0; background: var(--tl-cream); }
.tl-section:nth-of-type(even) { background: var(--tl-white); }
.tl-section .elementor-column-gap-extended > .elementor-column > .elementor-element-populated { padding: 24px; }
.tl-section-title .elementor-heading-title { color: var(--tl-ink); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.25rem, 4vw, 4.25rem); line-height: 1.04; font-weight: 400; letter-spacing: -.04em; }
.tl-section-title.tl-center .elementor-heading-title, .tl-center { text-align: center; }
.tl-eyebrow { margin: 0 0 20px; color: var(--tl-copper-dark); font: 700 .78rem/1.4 Arial, sans-serif; letter-spacing: .19em; text-transform: uppercase; }
.tl-body, .tl-body p, .tl-centered-copy { color: #4d5a56; font: 400 1.05rem/1.78 Arial, sans-serif; }
.tl-body p { margin: 0 0 18px; }
.tl-centered-copy { max-width: 760px; margin: 18px auto 0; text-align: center; }
.tl-wide-image img, .tl-tower-image img { width: 100%; border-radius: 2px; box-shadow: var(--tl-shadow); object-fit: cover; }
.tl-wide-image img { min-height: 430px; }
.tl-image-note { color: #7a827f !important; font-size: .84rem !important; line-height: 1.55 !important; }

.tl-header { position: sticky; top: 0; z-index: 999; padding: 0; background: rgba(248, 245, 240, .96); border-bottom: 1px solid var(--tl-line); backdrop-filter: blur(14px); }
.tl-header > .elementor-container { min-height: 76px; align-items: center; }
.tl-header .elementor-column-gap-extended > .elementor-column > .elementor-element-populated { padding: 8px 14px; }
.tl-wordmark .elementor-heading-title { color: var(--tl-ink); font: 500 1.05rem/1 Arial, sans-serif; letter-spacing: .28em; }
.tl-wordmark span { color: var(--tl-copper); }
.tl-nav { display: flex; justify-content: center; gap: 28px; }
.tl-nav a { color: #384742; font: 600 .85rem/1 Arial, sans-serif; text-decoration: none; }
.tl-nav a:hover { color: var(--tl-copper-dark); }
.tl-btn-header .elementor-button { width: 100%; }

.tl-hero { position: relative; min-height: 760px; padding: 100px 0 84px; background-color: var(--tl-forest); }
.tl-hero > .elementor-background-overlay { opacity: 1; background: linear-gradient(90deg, rgba(13,28,25,.96) 0%, rgba(13,28,25,.78) 52%, rgba(13,28,25,.38) 100%) !important; }
.tl-hero > .elementor-container { align-items: center; }
.tl-hero .elementor-column-gap-extended > .elementor-column > .elementor-element-populated { padding: 26px; }
.tl-hero-eyebrow .tl-eyebrow { color: #e3ba9e; }
.tl-hero-title .elementor-heading-title { max-width: 760px; color: white; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(3.3rem, 6.5vw, 6.3rem); line-height: .96; font-weight: 400; letter-spacing: -.055em; }
.tl-hero-title em { color: #d89b78; font-weight: 400; }
.tl-hero-copy { max-width: 680px; margin: 28px 0 0; color: rgba(255,255,255,.84); font: 400 1.16rem/1.75 Arial, sans-serif; }
.tl-chip-row { display: flex; flex-wrap: wrap; gap: 10px; margin: 25px 0 8px; }
.tl-chip-row span { padding: 9px 13px; color: #fff; border: 1px solid rgba(255,255,255,.27); border-radius: 999px; background: rgba(255,255,255,.07); font: 600 .78rem/1 Arial, sans-serif; }
.tl-btn { display: inline-block; width: auto !important; margin: 16px 10px 0 0; }
.tl-btn .elementor-button { min-height: 52px; padding: 17px 24px; border-radius: 2px; font: 700 .9rem/1 Arial, sans-serif; }
.tl-btn-primary .elementor-button { color: #fff; background: var(--tl-copper); border: 1px solid var(--tl-copper); }
.tl-btn-primary .elementor-button:hover { background: var(--tl-copper-dark); border-color: var(--tl-copper-dark); }
.tl-btn-ghost .elementor-button { color: #fff; background: transparent; border: 1px solid rgba(255,255,255,.55); }
.tl-btn-outline .elementor-button { color: var(--tl-forest); background: transparent; border: 1px solid var(--tl-forest); }
.tl-btn-outline .elementor-button:hover { color: #fff; background: var(--tl-forest); }
.tl-advice-card { max-width: 390px; margin-left: auto; padding: 36px; color: white; border: 1px solid rgba(255,255,255,.24); background: rgba(16,35,31,.79); box-shadow: 0 30px 80px rgba(0,0,0,.22); backdrop-filter: blur(12px); }
.tl-card-kicker { display: block; margin-bottom: 16px; color: #d89b78; font: 700 .72rem/1.4 Arial, sans-serif; letter-spacing: .17em; }
.tl-advice-card h3 { margin: 0 0 20px; font: 400 2rem/1.14 Georgia, serif; }
.tl-advice-card ul { margin: 0; padding-left: 20px; }
.tl-advice-card li { margin: 0 0 10px; color: rgba(255,255,255,.82); font: 400 .94rem/1.55 Arial, sans-serif; }
.tl-advice-card p { margin: 24px 0 0; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.2); color: #fff; font: 700 .83rem/1.4 Arial, sans-serif; }

.tl-trust-strip { position: relative; z-index: 3; margin-top: -1px; padding: 0; background: var(--tl-copper); }
.tl-trust-strip .elementor-column-gap-extended > .elementor-column > .elementor-element-populated { padding: 0; }
.tl-stat { min-height: 120px; padding: 28px 22px; border-right: 1px solid rgba(255,255,255,.22); text-align: center; }
.tl-stat strong { display: block; color: #fff; font: 400 1.7rem/1.15 Georgia, serif; }
.tl-stat span { display: block; margin-top: 8px; color: rgba(255,255,255,.72); font: 700 .7rem/1.4 Arial, sans-serif; letter-spacing: .12em; text-transform: uppercase; }

.tl-overview .elementor-container, .tl-lifestyle .elementor-container, .tl-facilities .elementor-container, .tl-sky .elementor-container, .tl-location .elementor-container, .tl-faq .elementor-container, .tl-enquiry .elementor-container { align-items: center; }
.tl-tower-image img { min-height: 620px; max-height: 760px; object-position: center; }
.tl-selling-intro { padding-bottom: 28px; background: #e9e1d6 !important; }
.tl-feature-grid { padding: 0; background: #e9e1d6; }
.tl-feature-grid-bottom { padding-bottom: 105px; }
.tl-feature-grid .elementor-column-gap-extended > .elementor-column > .elementor-element-populated { padding: 12px; }
.tl-feature-card { height: 100%; min-height: 250px; padding: 34px; background: #fff; border-top: 3px solid var(--tl-copper); box-shadow: 0 15px 38px rgba(32,41,38,.07); }
.tl-feature-card > span { color: var(--tl-copper); font: 700 .78rem/1 Arial, sans-serif; letter-spacing: .12em; }
.tl-feature-card h3 { margin: 18px 0 12px; color: var(--tl-ink); font: 400 1.62rem/1.15 Georgia, serif; }
.tl-feature-card p { margin: 0; color: #61706b; font: 400 .97rem/1.66 Arial, sans-serif; }
.tl-lifestyle { background: var(--tl-white) !important; }

.tl-layouts-intro { padding-bottom: 38px; background: var(--tl-forest) !important; }
.tl-layouts-intro .tl-eyebrow { color: #d89b78; text-align: center; }
.tl-layouts-intro .tl-section-title .elementor-heading-title, .tl-layouts-intro .tl-centered-copy { color: #fff; }
.tl-layouts-intro .tl-centered-copy { color: rgba(255,255,255,.7); }
.tl-layout-row { padding: 0; background: var(--tl-forest); }
.tl-layout-row-last { padding-bottom: 105px; }
.tl-layout-row .elementor-column-gap-extended > .elementor-column > .elementor-element-populated { padding: 14px; }
.tl-plan-card > .elementor-widget-wrap { margin: 0; padding: 22px !important; background: #fff; }
.tl-plan-image img { width: 100%; max-height: 520px; object-fit: contain; background: #efe8df; }
.tl-plan-label { margin: 24px 0 8px; color: var(--tl-copper-dark); font: 700 .73rem/1.3 Arial, sans-serif; letter-spacing: .17em; text-transform: uppercase; }
.tl-plan-size .elementor-heading-title { color: var(--tl-ink); font: 400 2rem/1.1 Georgia, serif; }
.tl-plan-rooms { margin: 10px 0 0; color: #45544f; font: 700 .92rem/1.4 Arial, sans-serif; }
.tl-plan-fit { margin: 7px 0 0; color: #75807c; font: 400 .9rem/1.5 Arial, sans-serif; }
.tl-btn-plan { margin-top: 16px; }
.tl-btn-plan .elementor-button { color: #fff; background: var(--tl-forest); border: 1px solid var(--tl-forest); }

.tl-facilities { background: var(--tl-sand) !important; }
.tl-list-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 20px; margin-top: 22px; }
.tl-list-grid span { position: relative; padding: 10px 0 10px 20px; border-bottom: 1px solid var(--tl-line); color: #40504b; font-size: .92rem; }
.tl-list-grid span::before { content: ''; position: absolute; left: 0; top: 18px; width: 7px; height: 7px; border-radius: 50%; background: var(--tl-copper); }
.tl-sky { background: var(--tl-white) !important; }

.tl-fit-intro { padding-bottom: 36px; background: #efe9e1 !important; }
.tl-fit-grid { padding: 0 0 28px; background: #efe9e1; }
.tl-fit-grid .elementor-column-gap-extended > .elementor-column > .elementor-element-populated { padding: 14px; }
.tl-fit-card { height: 100%; padding: 42px; background: #fff; box-shadow: 0 18px 50px rgba(31,57,50,.09); }
.tl-fit-card h3 { margin: 0 0 24px; color: var(--tl-ink); font: 400 2.1rem/1.15 Georgia, serif; }
.tl-fit-card ul { margin: 0; padding: 0; list-style: none; }
.tl-fit-card li { position: relative; margin: 0; padding: 14px 0 14px 28px; border-bottom: 1px solid var(--tl-line); color: #53605c; font: 400 1rem/1.55 Arial, sans-serif; }
.tl-fit-card li::before { position: absolute; left: 0; top: 15px; color: var(--tl-copper); font-weight: 800; }
.tl-pros li::before { content: '✓'; }
.tl-cons li::before { content: '•'; font-size: 1.4rem; line-height: .8; }
.tl-fit-cta { padding: 38px 0 96px; background: #efe9e1; text-align: center; }
.tl-mini-title .elementor-heading-title { color: var(--tl-ink); font: 400 2rem/1.2 Georgia, serif; }
.tl-location { background: var(--tl-white) !important; }
.tl-nearby-intro { padding: 10px 0 34px; background: var(--tl-white); text-align: center; }
.tl-nearby-grid { padding: 0 0 100px; background: var(--tl-white); }
.tl-nearby-grid .elementor-column-gap-extended > .elementor-column > .elementor-element-populated { padding: 9px; }
.tl-amenity-card { height: 100%; min-height: 285px; padding: 30px 25px; background: #f1ebe3; border-top: 3px solid var(--tl-copper); }
.tl-amenity-card h3 { margin: 15px 0 17px; color: var(--tl-ink); font: 400 1.45rem/1.2 Georgia, serif; }
.tl-amenity-card p { margin: 0; color: #5c6964; font: 400 .9rem/1.8 Arial, sans-serif; }

.tl-faq { background: var(--tl-cream) !important; }
.tl-accordion .elementor-accordion-item { margin-bottom: 12px; border: 1px solid var(--tl-line) !important; background: #fff; }
.tl-accordion .elementor-tab-title { padding: 22px !important; color: var(--tl-ink) !important; font: 700 1rem/1.35 Arial, sans-serif; }
.tl-accordion .elementor-tab-content { padding: 0 22px 24px !important; border-top: 0 !important; color: #586661; font: 400 .96rem/1.7 Arial, sans-serif; }

.tl-enquiry { background: var(--tl-forest) !important; }
.tl-enquiry .tl-eyebrow { color: #d89b78; }
.tl-enquiry .tl-section-title .elementor-heading-title, .tl-enquiry .tl-body, .tl-enquiry .tl-body p { color: #fff; }
.tl-enquiry .tl-body p { color: rgba(255,255,255,.72); }
.tl-agent-card { display: flex; align-items: center; gap: 15px; margin: 26px 0 10px; color: white; }
.tl-agent-initial { display: grid; place-items: center; width: 52px; height: 52px; flex: 0 0 52px; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; color: #e1a683; font: 400 1.4rem/1 Georgia, serif; }
.tl-agent-card strong, .tl-agent-card span, .tl-agent-card small { display: block; }
.tl-agent-card strong { font: 700 1rem/1.3 Arial, sans-serif; }
.tl-agent-card span { margin-top: 3px; color: rgba(255,255,255,.75); font: 400 .85rem/1.3 Arial, sans-serif; }
.tl-agent-card small { margin-top: 4px; color: rgba(255,255,255,.48); font: 400 .75rem/1.3 Arial, sans-serif; }
.tl-form-shell { padding: 42px; background: #fff; box-shadow: 0 28px 75px rgba(0,0,0,.18); }
.tl-form-heading span { color: var(--tl-copper-dark); font: 700 .72rem/1 Arial, sans-serif; letter-spacing: .17em; }
.tl-form-heading h3 { margin: 12px 0 8px; color: var(--tl-ink); font: 400 2.2rem/1.1 Georgia, serif; }
.tl-form-heading p { margin: 0 0 24px; color: #6b7672; font: 400 .88rem/1.55 Arial, sans-serif; }
.tl-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.tl-inquiry-form label { display: block; margin: 0 0 15px; color: #40504b; font: 700 .79rem/1.4 Arial, sans-serif; }
.tl-inquiry-form input[type=text], .tl-inquiry-form input[type=tel], .tl-inquiry-form input[type=email], .tl-inquiry-form select, .tl-inquiry-form textarea { width: 100%; min-height: 48px; margin-top: 7px; padding: 12px 13px; color: var(--tl-ink); border: 1px solid #d7dcd9; border-radius: 1px; background: #fbfaf8; font: 400 .94rem/1.4 Arial, sans-serif; }
.tl-inquiry-form textarea { resize: vertical; }
.tl-inquiry-form input:focus, .tl-inquiry-form select:focus, .tl-inquiry-form textarea:focus { outline: 2px solid rgba(169,100,67,.25); border-color: var(--tl-copper); }
.tl-consent { display: flex !important; align-items: flex-start; gap: 10px; font-weight: 400 !important; line-height: 1.5 !important; }
.tl-consent input { margin-top: 3px; }
.tl-submit { width: 100%; min-height: 54px; padding: 15px 22px; color: #fff; border: 0; background: var(--tl-copper); cursor: pointer; font: 700 .92rem/1 Arial, sans-serif; }
.tl-submit:hover { background: var(--tl-copper-dark); }
.tl-form-alert { margin-bottom: 20px; padding: 14px 16px; font: 400 .92rem/1.5 Arial, sans-serif; }
.tl-success { color: #1c503c; background: #e7f4ed; border-left: 3px solid #2f7d5d; }
.tl-error { color: #7d302b; background: #faecea; border-left: 3px solid #a9473f; }
.tl-honeypot { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.tl-footer { padding: 48px 0 36px; background: #0f1d1a; }
.tl-footer .elementor-column-gap-extended > .elementor-column > .elementor-element-populated { padding: 18px 24px; }
.tl-disclaimer { color: rgba(255,255,255,.5); font: 400 .75rem/1.65 Arial, sans-serif; }
.tl-disclaimer strong { color: rgba(255,255,255,.82); text-transform: uppercase; letter-spacing: .12em; }
.tl-disclaimer p { margin: 10px 0 0; }
.tl-copyright { margin: 22px 0 0; color: rgba(255,255,255,.38); font: 400 .75rem/1.5 Arial, sans-serif; }
.tl-floating-holder { height: 0; padding: 0 !important; }
.tl-floating-wa { position: fixed; right: 22px; bottom: 22px; z-index: 1000; display: flex; align-items: center; gap: 10px; padding: 13px 18px; color: #fff !important; border-radius: 999px; background: #1f9d5b; box-shadow: 0 12px 34px rgba(18,82,53,.33); font: 700 .86rem/1 Arial, sans-serif; text-decoration: none !important; transition: transform .2s ease, background .2s ease; }
.tl-floating-wa:hover { transform: translateY(-2px); background: #167d47; }
.tl-wa-icon { display: grid; place-items: center; width: 24px; height: 24px; border: 2px solid #fff; border-radius: 50%; font-size: .7rem; }

@media (max-width: 1024px) {
    .tl-section { padding: 78px 0; }
    .tl-nav-menu { display: none; }
    .tl-header .elementor-column:first-child { width: 55%; }
    .tl-header .elementor-column:nth-child(2) { display: none; }
    .tl-header .elementor-column:last-child { width: 45%; }
    .tl-hero { min-height: 680px; }
    .tl-hero .elementor-column:first-child { width: 60%; }
    .tl-hero .elementor-column:last-child { width: 40%; }
    .tl-advice-card { padding: 28px; }
    .tl-feature-card { padding: 28px; }
}

@media (max-width: 767px) {
    .tl-section > .elementor-container, .tl-header > .elementor-container, .tl-hero > .elementor-container, .tl-trust-strip > .elementor-container { padding-left: 14px; padding-right: 14px; }
    .tl-section { padding: 64px 0; }
    .tl-section .elementor-column-gap-extended > .elementor-column > .elementor-element-populated { padding: 12px; }
    .tl-header > .elementor-container { min-height: 64px; flex-direction: row; }
    .tl-wordmark .elementor-heading-title { font-size: .84rem; }
    .tl-btn-header { margin: 0; }
    .tl-btn-header .elementor-button { min-height: 42px; padding: 12px 10px; font-size: .76rem; }
    .tl-hero { min-height: auto; padding: 74px 0 54px; background-position: 65% center !important; }
    .tl-hero .elementor-column:first-child, .tl-hero .elementor-column:last-child { width: 100%; }
    .tl-hero-title .elementor-heading-title { font-size: clamp(3rem, 15vw, 4.5rem); }
    .tl-hero-copy { font-size: 1rem; }
    .tl-btn { display: block; width: 100% !important; margin: 10px 0 0; }
    .tl-btn .elementor-button { width: 100%; }
    .tl-advice-card { max-width: none; margin: 28px 0 0; padding: 26px; }
    .tl-trust-strip > .elementor-container { flex-direction: row; flex-wrap: wrap; }
    .tl-trust-strip .elementor-column { width: 50%; }
    .tl-stat { min-height: 100px; border-bottom: 1px solid rgba(255,255,255,.22); }
    .tl-stat strong { font-size: 1.4rem; }
    .tl-section-title .elementor-heading-title { font-size: 2.5rem; }
    .tl-tower-image img, .tl-wide-image img { min-height: 280px; max-height: 520px; }
    .tl-feature-grid, .tl-layout-row, .tl-fit-grid, .tl-nearby-grid { padding-left: 14px; padding-right: 14px; }
    .tl-feature-grid-bottom, .tl-layout-row-last { padding-bottom: 64px; }
    .tl-feature-grid .elementor-column, .tl-layout-row .elementor-column, .tl-fit-grid .elementor-column { width: 100%; }
    .tl-feature-card { min-height: 0; }
    .tl-nearby-grid .elementor-column { width: 100%; }
    .tl-amenity-card { min-height: 0; }
    .tl-plan-image img { max-height: 460px; }
    .tl-list-grid { grid-template-columns: 1fr; }
    .tl-fit-card { padding: 30px 24px; }
    .tl-fit-cta { padding: 32px 14px 64px; }
    .tl-field-row { grid-template-columns: 1fr; gap: 0; }
    .tl-form-shell { padding: 28px 20px; }
    .tl-form-heading h3 { font-size: 1.8rem; }
    .tl-floating-wa { right: 14px; bottom: 14px; padding: 12px 15px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .tl-floating-wa { transition: none; }
}
