/* Lands End theme: generated from variation3.css with runwalrealtylandsend.com colours & fonts */
@font-face { font-family:'GT-Ultra-Median'; src:url(../fonts/GT-Ultra-Median-Regular.otf) format('opentype'); font-display:swap; }
@font-face { font-family:'Gambetta'; src:url(../fonts/Gambetta-Regular.otf) format('opentype'); font-weight:400; font-display:swap; }
@font-face { font-family:'Gambetta'; src:url(../fonts/Gambetta-Medium.otf) format('opentype'); font-weight:500 700; font-display:swap; }

    /* Banner Section */
    .v3-banner-section { position: relative; margin-top: 69px; /* offset for fixed navbar */ line-height: 0; }
    .v3-banner-section .carousel { width: 100%; }
    .v3-banner-section .carousel-inner { width: 100%; }
    .v3-banner-img { width: 100%; height: auto; max-height: 90vh; object-fit: cover; object-position: center; display: block; }
    .v3-banner-img-mobile { display: none; }
    @media (max-width: 767px) {
        .v3-banner-section { margin-top: 63px; }
        .v3-banner-img { display: none; }
        .v3-banner-img-mobile { width: 100%; height: auto; object-fit: cover; object-position: center; display: block; }
    }

    :root {
        --v3-navy: #8c6a2a;
        --v3-deep: #8c6a2a;
        --v3-blue: #a07c35;
        --v3-electric: #fff7e9;
        --v3-gold: #fff7e9;
        --v3-gold-soft: #fffbf0;
        --v3-light: #fffbf0;
        --v3-grey: #363636;
        --v3-line: #e0e0e0;
    }
    * { box-sizing:border-box; }
    body { margin:0; background:#fffbf0; color:#363636; font-family:'Gambetta',sans-serif; font-size:15px; line-height:1.55; }
    a { color:inherit; }
    .v3-mono { font-family:'GT-Ultra-Median', monospace; letter-spacing:-.5px; }

    .v3-nav { position:fixed; top:0; left:0; right:0; z-index:100; background:#fff; box-shadow:2px 2px 5px #414141; }
    .v3-nav-inner { max-width:1380px; margin:0 auto; padding:14px 32px; display:flex; align-items:center; justify-content:space-between; }
    .v3-nav-logos { display:flex; align-items:center; gap:18px; }
    .v3-nav-logos img { height:40px; width:auto; }
    .v3-nav-logos img.logo-light { filter:brightness(0) invert(1); }
    .v3-nav-sep { width:1px; height:30px; background:#e0e0e0; }
    .v3-nav-links { display:flex; align-items:center; gap:32px; list-style:none; padding:0; margin:0; }
    .v3-nav-links a { font-family:'GT-Ultra-Median',sans-serif; font-size:14px; font-weight:400; color:#363636; text-decoration:none; transition:color .2s; letter-spacing:.3px; }
    .v3-nav-links a:hover { color:#8c6a2a; }
    .v3-nav-cta { background:#8c6a2a; color:#fff !important; border:1px solid #8c6a2a; padding:10px 25px; border-radius:50px; font-weight:400 !important; transition:all .3s ease; }
    .v3-nav-cta:hover { background:#fff; color:#8c6a2a !important; border-color:#8c6a2a; }

    .v3-hero { position:relative; padding:120px 0 80px; background:linear-gradient(135deg, var(--v3-deep) 0%, var(--v3-navy) 60%, var(--v3-blue) 100%); color:#fff; overflow:hidden; }
    .v3-hero::before { content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,0.05) 1px, transparent 1px); background-size:30px 30px; opacity:.6; }
    .v3-hero::after { content:""; position:absolute; top:-150px; right:-150px; width:500px; height:500px; border-radius:50%; background:radial-gradient(circle, rgba(255,247,233,0.25) 0%, transparent 70%); }
    .v3-container { max-width:1380px; margin:0 auto; padding:0 32px; position:relative; z-index:2; }
    .v3-hero-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:60px; align-items:center; }

    .v3-tag { display:inline-flex; align-items:center; gap:10px; padding:8px 16px; background:rgba(255,247,233,0.12); border:1px solid rgba(255,247,233,0.35); color:var(--v3-electric); font-size:12px; font-weight:600; letter-spacing:2px; text-transform:uppercase; border-radius:4px; margin-bottom:24px; }
    .v3-tag .live { width:6px; height:6px; border-radius:50%; background:var(--v3-electric); box-shadow:0 0 10px var(--v3-electric); animation:v3blink 1.4s infinite; }
    @keyframes v3blink { 0%,100% { opacity:1; } 50% { opacity:.3; } }

    .v3-hero h1 { font-family:'GT-Ultra-Median',sans-serif; font-size:64px; font-weight:700; line-height:1.05; letter-spacing:-2px; margin:0 0 22px; }
    .v3-hero h1 .accent { background:linear-gradient(135deg, var(--v3-gold) 0%, var(--v3-gold-soft) 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
    .v3-hero p.lead { font-size:18px; color:rgba(255,255,255,0.78); max-width:560px; line-height:1.65; margin:0 0 36px; }

    .v3-hero-metrics { display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; margin-bottom:36px; }
    .v3-hero-metric { padding:20px; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1); border-radius:10px; backdrop-filter:blur(8px); position:relative; overflow:hidden; }
    .v3-hero-metric::before { content:""; position:absolute; top:0; left:0; width:3px; height:100%; background:linear-gradient(180deg, var(--v3-gold), var(--v3-electric)); }
    .v3-hero-metric .n { font-family:'GT-Ultra-Median',sans-serif; font-size:34px; font-weight:700; color:#fff; line-height:1; display:block; margin-bottom:8px; }
    .v3-hero-metric .n .arr { color:var(--v3-electric); font-size:18px; vertical-align:middle; margin-left:3px; }
    .v3-hero-metric .l { font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,0.6); }

    .v3-hero-cta { display:inline-flex; align-items:center; gap:14px; padding:14px 28px; background:var(--v3-gold); color:var(--v3-navy); border:none; border-radius:6px; font-weight:600; font-size:14px; letter-spacing:1px; text-transform:uppercase; cursor:pointer; text-decoration:none; transition:all .25s; }
    .v3-hero-cta:hover { background:var(--v3-gold-soft); transform:translateY(-2px); }

    .v3-form { background:#fff; border-radius:14px; padding:30px; box-shadow:0 40px 100px -30px rgba(0,0,0,0.6); position:relative; color:var(--v3-navy); }
    .v3-form::before { content:"RUNWAL LANDS END"; position:absolute; top:-12px; left:20px; background:var(--v3-gold); color:var(--v3-navy); font-size:10px; font-weight:700; letter-spacing:1.5px; padding:5px 14px; border-radius:4px; }
    .v3-form h3 { font-family:'GT-Ultra-Median',sans-serif; font-size:26px; font-weight:700; margin:6px 0 6px; letter-spacing:-.5px; }
    .v3-form .sub { font-size:13px; color:var(--v3-grey); margin-bottom:22px; }
    .v3-field { margin-bottom:14px; }
    .v3-field label { display:block; font-size:11px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--v3-navy); margin-bottom:6px; }
    .v3-field .input-wrap { position:relative; }
    .v3-field .input-wrap .fa { position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--v3-grey); font-size:14px; }
    .v3-field input, .v3-field select { width:100%; height:46px; border:1.5px solid var(--v3-line); padding:0 14px 0 40px; border-radius:8px; font-size:14px; color:var(--v3-navy); background:#fffbf0; font-family:inherit; transition:all .2s; outline:none; }
    .v3-field input:focus, .v3-field select:focus { border-color:var(--v3-blue); background:#fff; }
    .v3-consent { font-size:12px; color:var(--v3-grey); display:flex; gap:8px; align-items:flex-start; margin:14px 0 18px; }
    .v3-consent input { margin-top:3px; accent-color:var(--v3-blue); }
    .v3-submit { width:100%; height:50px; background:linear-gradient(135deg, var(--v3-navy) 0%, var(--v3-blue) 100%); color:#fff; border:none; border-radius:8px; font-size:14px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; cursor:pointer; transition:all .25s; }
    .v3-submit:hover { transform:translateY(-2px); box-shadow:0 12px 30px rgba(140,106,42,0.35); }

    .v3-marquee { background:var(--v3-navy); color:#fff; padding:18px 0; border-top:1px solid rgba(255,255,255,0.08); border-bottom:1px solid rgba(255,255,255,0.08); overflow:hidden; }
    .v3-marquee-track { display:flex; gap:60px; animation:v3marquee 28s linear infinite; white-space:nowrap; }
    @keyframes v3marquee { 0% { transform:translateX(0); } 100% { transform:translateX(-50%); } }
    .v3-marquee-item { font-family:'GT-Ultra-Median',sans-serif; font-size:14px; font-weight:500; display:flex; align-items:center; gap:14px; }
    .v3-marquee-item .fa { color:var(--v3-gold); }
    .v3-marquee-item .dot { width:5px; height:5px; border-radius:50%; background:rgba(255,255,255,0.3); }

    .v3-section { padding:50px 0; }
    .v3-eyebrow { display:inline-flex; align-items:center; gap:10px; padding:6px 14px; background:rgba(160,124,53,0.1); color:var(--v3-blue); font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; border-radius:30px; margin-bottom:18px; }
    .v3-eyebrow::before { content:""; width:6px; height:6px; background:var(--v3-blue); border-radius:50%; }
    .v3-sec-title { font-family:'GT-Ultra-Median',sans-serif; font-size:46px; font-weight:700; color:var(--v3-navy); letter-spacing:-1.5px; line-height:1.1; margin:0 0 16px; }
    .v3-sec-title .accent { color:var(--v3-blue); }
    .v3-sec-desc { font-size:17px; color:var(--v3-grey); line-height:1.7; max-width:680px; margin:0 0 50px; }
    .v3-sec-head-center { text-align:center; }
    .v3-sec-head-center .v3-sec-desc { margin-left:auto; margin-right:auto; }

    .v3-usps-section { background:#fff; }
    .v3-usp-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:24px; }
    .v3-usp-card { padding:36px 28px; background:#fff; border:1px solid var(--v3-line); border-radius:14px; transition:all .35s ease; position:relative; overflow:hidden; }
    .v3-usp-card:hover { transform:translateY(-6px); border-color:var(--v3-blue); box-shadow:0 25px 60px -20px rgba(140,106,42,0.2); }
    .v3-usp-card .num { font-family:'GT-Ultra-Median',sans-serif; font-size:14px; font-weight:700; color:var(--v3-gold); letter-spacing:2px; margin-bottom:18px; display:inline-block; }
    .v3-usp-card .ico { width:54px; height:54px; border-radius:12px; background:linear-gradient(135deg, var(--v3-navy), var(--v3-blue)); color:#fff; display:flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:20px; }
    .v3-usp-card h4 { font-family:'GT-Ultra-Median',sans-serif; font-size:20px; font-weight:700; color:var(--v3-navy); margin:0 0 10px; letter-spacing:-.5px; }
    .v3-usp-card p { font-size:14px; color:var(--v3-grey); line-height:1.6; margin:0; }

    .v3-infra-section { background:var(--v3-light); }
    .v3-infra-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
    .v3-infra-img { border-radius:18px; overflow:hidden; box-shadow:0 30px 80px -20px rgba(140,106,42,0.3); }
    .v3-infra-img img { width:100%; height:480px; object-fit:cover; display:block; }
    .v3-infra-list { padding:0; margin:30px 0 0; list-style:none; }
    .v3-infra-list li { padding:18px 0; border-bottom:1px solid var(--v3-line); display:flex; gap:18px; align-items:flex-start; }
    .v3-infra-list li:last-child { border-bottom:none; }
    .v3-infra-list li .ico { width:42px; height:42px; min-width:42px; border-radius:10px; background:rgba(160,124,53,0.08); color:var(--v3-blue); display:flex; align-items:center; justify-content:center; font-size:18px; flex-shrink:0; }
    .v3-infra-list li .body strong { display:block; font-family:'GT-Ultra-Median',sans-serif; font-size:17px; color:var(--v3-navy); margin-bottom:4px; font-weight:600; }
    .v3-infra-list li .body span { font-size:14px; color:var(--v3-grey); line-height:1.55; }
    .v3-infra-list li .roi { font-family:'GT-Ultra-Median',sans-serif; font-size:18px; font-weight:700; color:var(--v3-electric); margin-left:auto; padding-left:18px; white-space:nowrap; }

    .v3-fp-section { background:#fff; }
    .v3-fp-table { width:100%; border-collapse:separate; border-spacing:0; background:#fff; border-radius:16px; overflow:hidden; border:1px solid var(--v3-line); box-shadow:0 20px 60px -20px rgba(140,106,42,0.1); }
    .v3-fp-table thead th { background:var(--v3-navy); color:#fff; padding:18px 22px; text-align:left; font-size:11px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; }
    .v3-fp-table thead th:last-child { text-align:center; }
    .v3-fp-table tbody td { padding:24px 22px; font-size:15px; color:var(--v3-navy); border-bottom:1px solid var(--v3-line); vertical-align:middle; }
    .v3-fp-table tbody tr:last-child td { border-bottom:none; }
    .v3-fp-table tbody tr:hover { background:#fffbf0; }
    .v3-fp-table .pname { font-family:'GT-Ultra-Median',sans-serif; font-weight:700; font-size:17px; }
    .v3-fp-table .ptype { display:block; font-size:12px; color:var(--v3-grey); margin-top:3px; font-weight:400; }
    .v3-fp-table .area { font-family:'GT-Ultra-Median',sans-serif; font-size:18px; font-weight:600; color:var(--v3-blue); }
    .v3-fp-table .badge { display:inline-block; padding:5px 12px; background:rgba(255,247,233,0.12); color:var(--v3-blue); font-size:11px; font-weight:600; letter-spacing:1px; text-transform:uppercase; border-radius:4px; }
    .v3-fp-table .btn-enquire { display:inline-block; padding:10px 20px; background:var(--v3-navy); color:#fff !important; font-size:12px; font-weight:600; letter-spacing:1px; text-transform:uppercase; border-radius:6px; text-decoration:none; transition:all .25s; }
    .v3-fp-table .btn-enquire:hover { background:var(--v3-blue); }

    .v3-gal-section { background:var(--v3-deep); padding:50px 0; color:#fff; }
    .v3-gal-section .v3-sec-title { color:#fff; }
    .v3-gal-section .v3-sec-desc { color:rgba(255,255,255,0.7); }
    .v3-gal-section .v3-eyebrow { background:rgba(255,247,233,0.15); color:var(--v3-electric); }
    .v3-gal-section .v3-eyebrow::before { background:var(--v3-electric); }
    .v3-gal-tabs { display:flex; gap:8px; margin-bottom:32px; }
    .v3-gal-tab { background:transparent; border:1px solid rgba(255,255,255,0.2); color:rgba(255,255,255,0.7); padding:10px 22px; font-size:12px; letter-spacing:1.5px; font-weight:600; text-transform:uppercase; border-radius:6px; cursor:pointer; transition:all .25s; }
    .v3-gal-tab.active, .v3-gal-tab:hover { background:var(--v3-electric); border-color:var(--v3-electric); color:var(--v3-navy); }
    .v3-gal-panel { display:none; }
    .v3-gal-panel.active { display:block; }
    .v3-gal-frame { border-radius:14px; overflow:hidden; }
    .v3-gal-frame .swiper-slide img { width:100%; height:560px; object-fit:cover; display:block; }
    .v3-gal-thumbs { margin-top:14px; }
    .v3-gal-thumbs .swiper-slide { cursor:pointer; opacity:.45; transition:opacity .2s; border-radius:6px; overflow:hidden; }
    .v3-gal-thumbs .swiper-slide-thumb-active { opacity:1; outline:2px solid var(--v3-electric); }
    .v3-gal-thumbs .swiper-slide img { width:100%; height:80px; object-fit:cover; display:block; }

    .v3-ame-section { background:#fff; }
    .v3-ame-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:24px; }
    .v3-ame-card { background:linear-gradient(135deg, var(--v3-light) 0%, #fff 100%); border:1px solid var(--v3-line); border-radius:14px; padding:34px 30px; position:relative; transition:all .3s; }
    .v3-ame-card:hover { transform:translateY(-4px); border-color:var(--v3-blue); }
    .v3-ame-card-head { display:flex; align-items:center; gap:16px; margin-bottom:22px; padding-bottom:18px; border-bottom:1px dashed var(--v3-line); }
    .v3-ame-card-head .ico { width:50px; height:50px; border-radius:10px; background:linear-gradient(135deg, var(--v3-navy), var(--v3-blue)); color:#fff; display:flex; align-items:center; justify-content:center; font-size:20px; }
    .v3-ame-card-head h4 { font-family:'GT-Ultra-Median',sans-serif; font-size:22px; font-weight:700; color:var(--v3-navy); margin:0; letter-spacing:-.5px; }
    .v3-ame-card-head span { font-size:12px; color:var(--v3-gold); letter-spacing:1.5px; text-transform:uppercase; font-weight:600; display:block; margin-top:3px; }
    .v3-ame-tags { display:flex; flex-wrap:wrap; gap:10px; }
    .v3-ame-tag { padding:8px 14px; background:#fff; border:1px solid var(--v3-line); border-radius:30px; font-size:13px; color:var(--v3-navy); }
    .v3-ame-tag .fa { color:var(--v3-blue); margin-right:6px; }

    .v3-loc-section { background:var(--v3-light); }
    .v3-loc-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:50px; align-items:center; }
    .v3-loc-cards { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:30px; }
    .v3-loc-card { background:#fff; border:1px solid var(--v3-line); border-left:4px solid var(--v3-blue); border-radius:8px; padding:18px 20px; transition:all .25s; }
    .v3-loc-card:hover { border-left-color:var(--v3-gold); transform:translateX(3px); }
    .v3-loc-card .top { display:flex; align-items:center; gap:10px; margin-bottom:8px; }
    .v3-loc-card .top .fa { color:var(--v3-blue); font-size:16px; }
    .v3-loc-card .time { font-family:'GT-Ultra-Median',sans-serif; font-size:22px; font-weight:700; color:var(--v3-navy); }
    .v3-loc-card .place { font-size:13px; color:var(--v3-grey); }
    .v3-loc-map { border-radius:14px; overflow:hidden; box-shadow:0 20px 50px -20px rgba(140,106,42,0.25); }

    .v3-about-section { background:linear-gradient(135deg, var(--v3-navy) 0%, var(--v3-deep) 100%); color:#fff; position:relative; overflow:hidden; }
    .v3-about-section::before { content:""; position:absolute; right:-200px; top:-150px; width:600px; height:600px; border-radius:50%; background:radial-gradient(circle, rgba(255,247,233,0.18) 0%, transparent 65%); }
    .v3-about-section .v3-sec-title { color:#fff; }
    .v3-about-section .v3-eyebrow { background:rgba(255,247,233,0.15); color:var(--v3-gold); }
    .v3-about-section .v3-eyebrow::before { background:var(--v3-gold); }
    .v3-about-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:60px; align-items:center; position:relative; z-index:2; }
    .v3-about-left p { font-size:16px; color:rgba(255,255,255,0.78); line-height:1.75; margin:0 0 16px; max-width:580px; }
    .v3-about-bullets { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:24px; }
    .v3-about-bullet { padding:14px 18px; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12); border-radius:8px; font-size:13px; }
    .v3-about-bullet .fa { color:var(--v3-electric); margin-right:8px; }
    .v3-about-stats { display:grid; grid-template-columns:repeat(2, 1fr); gap:18px; }
    .v3-about-stat { padding:30px 26px; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.12); border-radius:12px; position:relative; overflow:hidden; }
    .v3-about-stat::before { content:""; position:absolute; top:0; left:0; width:3px; height:100%; background:var(--v3-gold); }
    .v3-about-stat .n { font-family:'GT-Ultra-Median',sans-serif; font-size:42px; font-weight:700; color:#fff; line-height:1; margin-bottom:6px; }
    .v3-about-stat .n .suf { color:var(--v3-gold); }
    .v3-about-stat .l { font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,0.65); }

    .v3-faq-section { background:#fff; }
    .v3-faq-wrap { max-width:880px; margin:0 auto; }
    .v3-faq-item { background:var(--v3-light); border-radius:10px; margin-bottom:12px; border:1px solid var(--v3-line); overflow:hidden; transition:all .2s; }
    .v3-faq-item.open { border-color:var(--v3-blue); background:#fff; box-shadow:0 12px 35px -15px rgba(140,106,42,0.2); }
    .v3-faq-q { padding:22px 26px; display:flex; justify-content:space-between; align-items:center; cursor:pointer; font-family:'GT-Ultra-Median',sans-serif; font-size:17px; font-weight:600; color:var(--v3-navy); }
    .v3-faq-q .fa { color:var(--v3-blue); transition:transform .25s; }
    .v3-faq-item.open .v3-faq-q .fa { transform:rotate(45deg); }
    .v3-faq-a { max-height:0; overflow:hidden; transition:max-height .3s ease, padding .25s; padding:0 26px; }
    .v3-faq-item.open .v3-faq-a { max-height:260px; padding:0 26px 22px; }
    .v3-faq-a p { font-size:15px; color:var(--v3-grey); line-height:1.7; margin:0; }

    .v3-cta-strip { background:linear-gradient(135deg, var(--v3-gold) 0%, var(--v3-gold-soft) 100%); padding:50px 0; color:var(--v3-navy); }
    .v3-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap; }
    .v3-cta-strip h3 { font-family:'GT-Ultra-Median',sans-serif; font-size:36px; font-weight:700; margin:0 0 8px; letter-spacing:-1px; }
    .v3-cta-strip p { font-size:16px; margin:0; opacity:.85; }
    .v3-cta-btn { display:inline-flex; align-items:center; gap:12px; background:var(--v3-navy); color:#fff !important; padding:16px 32px; font-size:14px; font-weight:600; letter-spacing:1px; text-transform:uppercase; border-radius:8px; text-decoration:none; transition:all .25s; }
    .v3-cta-btn:hover { background:var(--v3-deep); transform:translateY(-2px); color:#fff !important; }

    .v3-sticky { position:fixed; right:24px; bottom:24px; z-index:200; display:flex; flex-direction:column; gap:10px; }
    .v3-sticky a { display:flex; align-items:center; gap:10px; padding:14px 22px; background:var(--v3-navy); color:#fff !important; border-radius:8px; text-decoration:none; font-size:13px; font-weight:600; letter-spacing:1px; box-shadow:0 12px 30px -8px rgba(140,106,42,0.5); transition:all .25s; }
    .v3-sticky a.gold { background:var(--v3-gold); color:var(--v3-navy) !important; }
    .v3-sticky a.wa { background:#25D366; }
    .v3-sticky a:hover { transform:translateY(-3px); }

    .v3-footer { background:var(--v3-deep); color:rgba(255,255,255,0.6); padding:60px 0 24px; }
    .v3-footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:40px; padding-bottom:36px; border-bottom:1px solid rgba(255,255,255,0.1); }
    .v3-footer h5 { font-family:'GT-Ultra-Median',sans-serif; font-size:13px; color:#fff; margin:0 0 16px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; }
    .v3-footer ul { list-style:none; padding:0; margin:0; }
    .v3-footer ul li { margin-bottom:9px; font-size:13px; }
    .v3-footer ul li a { color:rgba(255,255,255,0.55); text-decoration:none; transition:color .2s; }
    .v3-footer ul li a:hover { color:var(--v3-gold); }
    .v3-footer .disclaimer { padding-top:22px; font-size:11px; line-height:1.7; color:rgba(255,255,255,0.4); }
    .v3-footer .copy { text-align:center; padding-top:18px; font-size:12px; color:rgba(255,255,255,0.3); }

    @media(max-width:991px) {
        .v3-nav-links { display:none; }
        .v3-hero-grid, .v3-infra-grid, .v3-loc-grid, .v3-about-grid { grid-template-columns:1fr; gap:40px; }
        .v3-usp-grid { grid-template-columns:repeat(2, 1fr); }
        .v3-ame-grid { grid-template-columns:1fr; }
        .v3-hero h1 { font-size:44px; }
        .v3-sec-title { font-size:34px; }
        .v3-cta-inner { flex-direction:column; align-items:flex-start; }
        .v3-fp-table { font-size:13px; }
        .v3-fp-table thead th, .v3-fp-table tbody td { padding:14px 12px; }
        .v3-footer-grid { grid-template-columns:1fr 1fr; }
    }
    @media(max-width:600px) {
        .v3-usp-grid, .v3-hero-metrics { grid-template-columns:1fr; }
        .v3-loc-cards, .v3-about-bullets, .v3-about-stats { grid-template-columns:1fr; }
        .v3-fp-table { display:block; overflow-x:auto; white-space:nowrap; }
        .v3-hero h1 { font-size:34px; }
        .v3-sec-title { font-size:26px; }
        .v3-footer-grid { grid-template-columns:1fr; }
    }

.v3-modal-overlay { position:fixed; inset:0; background:rgba(140,106,42,0.78); backdrop-filter:blur(6px); z-index:500; display:flex; align-items:center; justify-content:center; padding:20px; opacity:0; pointer-events:none; transition:opacity .3s ease; }
.v3-modal-overlay.open { opacity:1; pointer-events:auto; }
.v3-modal { background:#fff; border-radius:14px; width:100%; max-width:980px; max-height:92vh; overflow:hidden; box-shadow:0 50px 120px -30px rgba(140,106,42,0.65); position:relative; transform:translateY(20px) scale(.98); transition:transform .35s ease; border-top:4px solid var(--v3-gold); }
.v3-modal-overlay.open .v3-modal { transform:translateY(0) scale(1); }
.v3-modal-close { position:absolute; top:18px; right:18px; z-index:5; width:38px; height:38px; border-radius:8px; background:rgba(255,255,255,0.95); border:1px solid var(--v3-line); color:var(--v3-navy); font-size:22px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all .25s; font-family:'Gambetta',sans-serif; line-height:1; padding:0; }
.v3-modal-close:hover { background:var(--v3-navy); color:#fff; border-color:var(--v3-navy); }
.v3-modal-grid { display:grid; grid-template-columns:1fr 1fr; min-height:540px; max-height:92vh; }

.v3-modal-image { position:relative; background-image:url('../images/landsend/renders/2.webp'); background-size:cover; background-position:center; min-height:300px; }
.v3-modal-image::before { content:""; position:absolute; inset:0; background:linear-gradient(155deg, rgba(160,124,53,0.4) 0%, rgba(140,106,42,0.85) 60%, rgba(140,106,42,0.95) 100%); }
.v3-modal-image::after { content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,0.06) 1px, transparent 1px); background-size:30px 30px; }
.v3-modal-image-overlay { position:absolute; inset:0; padding:42px 38px; display:flex; flex-direction:column; justify-content:flex-end; color:#fff; z-index:2; }
.v3-modal-eyebrow { display:inline-flex; align-items:center; gap:10px; padding:6px 14px; background:rgba(255,247,233,0.15); border:1px solid rgba(255,247,233,0.45); color:var(--v3-electric); font-size:11px; letter-spacing:2px; text-transform:uppercase; font-weight:700; border-radius:4px; margin-bottom:20px; width:fit-content; }
.v3-modal-eyebrow .dot { width:6px; height:6px; border-radius:50%; background:var(--v3-electric); box-shadow:0 0 10px var(--v3-electric); animation:v3blink 1.4s infinite; }
.v3-modal-image-title { font-family:'GT-Ultra-Median',sans-serif; font-size:36px; line-height:1.05; font-weight:700; letter-spacing:-1px; margin:0 0 14px; color:#fff; }
.v3-modal-image-title .accent { background:linear-gradient(135deg, var(--v3-gold) 0%, var(--v3-gold-soft) 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.v3-modal-image-desc { font-size:14px; line-height:1.65; color:rgba(255,255,255,0.78); margin:0 0 24px; max-width:400px; }
.v3-modal-image-stats { display:flex; gap:18px; padding-top:20px; border-top:1px solid rgba(255,255,255,0.18); flex-wrap:wrap; }
.v3-modal-stat { padding-left:12px; border-left:2px solid var(--v3-gold); }
.v3-modal-stat .n { font-family:'GT-Ultra-Median',sans-serif; font-size:18px; font-weight:700; color:#fff; line-height:1; display:block; margin-bottom:4px; }
.v3-modal-stat .l { font-size:10px; letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,0.6); }

.v3-modal-form { padding:48px 42px; overflow-y:auto; background:#fff; display:flex; flex-direction:column; justify-content:center; }
.v3-modal-form-stamp { display:inline-block; align-self:flex-start; padding:5px 12px; background:var(--v3-gold); color:var(--v3-navy); font-size:10px; letter-spacing:1.5px; text-transform:uppercase; font-weight:700; border-radius:4px; margin-bottom:14px; }
.v3-modal-form-title { font-family:'GT-Ultra-Median',sans-serif; font-size:30px; font-weight:700; color:var(--v3-navy); letter-spacing:-.5px; margin:0 0 6px; line-height:1.15; }
.v3-modal-form-sub { font-size:14px; color:var(--v3-grey); margin:0 0 26px; }
.v3-optional { font-size:10px; color:var(--v3-grey); font-weight:500; text-transform:none; letter-spacing:0; }

.v3-modal-form label.error,
.v3-form label.error { display:block; color:#c8253c; font-size:12px; margin:6px 0 0; font-weight:500; letter-spacing:.2px; }

@media(max-width:767px) {
    .v3-modal-grid { grid-template-columns:1fr; }
    .v3-modal-image { min-height:200px; max-height:230px; }
    .v3-modal-image-overlay { padding:24px 24px 22px; }
    .v3-modal-image-title { font-size:24px; }
    .v3-modal-image-desc { font-size:13px; margin-bottom:14px; }
    .v3-modal-image-stats { gap:14px; padding-top:14px; }
    .v3-modal-stat .n { font-size:15px; }
    .v3-modal-form { padding:32px 26px; max-height:62vh; }
    .v3-modal-form-title { font-size:24px; }
    .v3-modal { border-radius:12px; max-height:95vh; }
}
@media(max-width:380px) {
    .v3-modal-overlay { padding:8px; }
    .v3-modal-image-stats { display:none; }
}

body.v3-modal-open { overflow:hidden; }

.v3-consent { display:flex !important; gap:10px !important; align-items:flex-start !important; font-size:12px !important; color:var(--v3-grey) !important; margin:14px 0 18px !important; line-height:1.5 !important; }
.v3-consent input[type="checkbox"] { width:16px !important; height:16px !important; min-width:16px !important; max-width:16px !important; flex:0 0 16px !important; margin:3px 0 0 !important; padding:0 !important; accent-color:var(--v3-blue); cursor:pointer; }
.v3-consent span { flex:1 1 auto; }
.v3-form .v3-field input,
.v3-form .v3-field select,
.v3-modal-form .v3-field input,
.v3-modal-form .v3-field select { padding-left:40px !important; padding-right:14px !important; width:100% !important; box-sizing:border-box !important; }
.v3-form .v3-field .input-wrap, .v3-modal-form .v3-field .input-wrap { position:relative; }
.v3-form .v3-field .input-wrap > .fa,
.v3-modal-form .v3-field .input-wrap > .fa { position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--v3-grey); font-size:14px; z-index:1; pointer-events:none; width:auto !important; height:auto !important; }

/* ============ V3 OFFCANVAS HAMBURGER ============ */
.v3-burger { display:none; width:42px; height:42px; background:#fff; border:1px solid #8c6a2a; border-radius:6px; cursor:pointer; padding:0; flex-direction:column; justify-content:center; align-items:center; gap:5px; transition:all .3s ease; }
.v3-burger:hover { background:#8c6a2a; border-color:#8c6a2a; }
.v3-burger span { display:block; width:18px; height:2px; background:#8c6a2a; border-radius:1px; transition:transform .35s cubic-bezier(.4,0,.2,1), opacity .25s, background .25s; transform-origin:center; }
.v3-burger:hover span { background:#fff; }
.v3-burger.is-active span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.v3-burger.is-active span:nth-child(2) { opacity:0; transform:scaleX(0); }
.v3-burger.is-active span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

.v3-offcanvas { position:fixed; inset:0; z-index:300; pointer-events:none; }
.v3-offcanvas-overlay { position:absolute; inset:0; background:rgba(140,106,42,0.78); backdrop-filter:blur(6px); opacity:0; transition:opacity .4s cubic-bezier(.4,0,.2,1); pointer-events:none; }
.v3-offcanvas-panel { position:absolute; top:0; right:0; height:100%; width:100%; max-width:100vw; background:linear-gradient(180deg, var(--v3-navy) 0%, var(--v3-deep) 100%); color:#fff; padding:30px 32px 32px; display:flex; flex-direction:column; transform:translateX(110%); transition:transform .55s cubic-bezier(.77,0,.175,1); box-shadow:-30px 0 80px -20px rgba(140,106,42,0.65); pointer-events:auto; }
.v3-offcanvas-panel::before { content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:linear-gradient(180deg, var(--v3-gold), var(--v3-electric), var(--v3-gold)); }
.v3-offcanvas.open { pointer-events:auto; }
.v3-offcanvas.open .v3-offcanvas-overlay { opacity:1; pointer-events:auto; }
.v3-offcanvas.open .v3-offcanvas-panel { transform:translateX(0); }
.v3-offcanvas-head { display:flex; align-items:center; justify-content:space-between; padding-bottom:22px; border-bottom:1px solid rgba(255,255,255,0.1); margin-bottom:22px; }
.v3-offcanvas-logos { display:flex; align-items:center; gap:14px; }
.v3-offcanvas-logos img { height:34px; width:auto; }
.v3-offcanvas-logos img.logo-light { filter:brightness(0) invert(1); }
.v3-offcanvas-close { width:38px; height:38px; border:1px solid rgba(255,255,255,0.2); background:transparent; color:#fff; font-size:24px; border-radius:6px; cursor:pointer; display:flex; align-items:center; justify-content:center; font-family:inherit; line-height:1; padding:0; transition:all .3s; }
.v3-offcanvas-close:hover { background:var(--v3-gold); color:var(--v3-navy); border-color:var(--v3-gold); transform:rotate(90deg); }
.v3-offcanvas-tag { display:inline-flex; align-items:center; gap:10px; padding:6px 14px; background:rgba(255,247,233,0.12); border:1px solid rgba(255,247,233,0.35); color:var(--v3-electric); font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; border-radius:4px; margin-bottom:24px; align-self:flex-start; }
.v3-offcanvas-tag .dot { width:6px; height:6px; border-radius:50%; background:var(--v3-electric); box-shadow:0 0 8px var(--v3-electric); animation:v3blink 1.4s infinite; }
.v3-offcanvas-nav { display:flex; flex-direction:column; flex:1; }
.v3-offcanvas-nav a { display:flex; align-items:center; gap:18px; padding:16px 0; font-family:'GT-Ultra-Median',sans-serif; font-size:18px; color:#fff; font-weight:500; text-decoration:none; border-bottom:1px solid rgba(255,255,255,0.08); transition:color .25s, padding-left .25s; opacity:0; transform:translateX(20px); }
.v3-offcanvas-nav a .idx { font-family:'GT-Ultra-Median',monospace; font-size:11px; color:var(--v3-gold); letter-spacing:1.5px; font-weight:600; min-width:22px; }
.v3-offcanvas-nav a:hover { color:var(--v3-gold); padding-left:6px; }
.v3-offcanvas-nav a:last-child { border-bottom:none; }
.v3-offcanvas.open .v3-offcanvas-nav a { animation:v3navIn .5s cubic-bezier(.4,0,.2,1) forwards; }
.v3-offcanvas.open .v3-offcanvas-nav a:nth-child(1){animation-delay:.15s}
.v3-offcanvas.open .v3-offcanvas-nav a:nth-child(2){animation-delay:.2s}
.v3-offcanvas.open .v3-offcanvas-nav a:nth-child(3){animation-delay:.25s}
.v3-offcanvas.open .v3-offcanvas-nav a:nth-child(4){animation-delay:.3s}
.v3-offcanvas.open .v3-offcanvas-nav a:nth-child(5){animation-delay:.35s}
@keyframes v3navIn { to { opacity:1; transform:translateX(0); } }
.v3-offcanvas-foot { padding-top:22px; border-top:1px solid rgba(255,255,255,0.1); margin-top:18px; }
.v3-offcanvas-cta { display:block; width:100%; text-align:center; padding:15px; background:var(--v3-gold); color:var(--v3-navy) !important; text-decoration:none; border-radius:6px; font-size:13px; letter-spacing:1.5px; text-transform:uppercase; font-weight:700; margin-bottom:14px; transition:all .25s; }
.v3-offcanvas-cta:hover { background:var(--v3-gold-soft); transform:translateY(-2px); }
.v3-offcanvas-contact { display:flex; gap:10px; }
.v3-offcanvas-contact a { flex:1; text-align:center; padding:11px; font-size:12px; color:rgba(255,255,255,0.85); border:1px solid rgba(255,255,255,0.18); border-radius:6px; text-decoration:none; transition:all .25s; }
.v3-offcanvas-contact a:hover { background:var(--v3-electric); color:var(--v3-navy); border-color:var(--v3-electric); }
.v3-offcanvas-contact a .fa { margin-right:6px; color:var(--v3-gold); }
.v3-offcanvas-contact a:hover .fa { color:var(--v3-navy); }
body.v3-menu-open { overflow:hidden; }
@media(max-width:991px) {
    .v3-burger { display:flex; }
}

/* V3 full-width offcanvas inner layout tuning */
.v3-offcanvas-panel { padding:30px 24px 32px; }
.v3-offcanvas-head, .v3-offcanvas-tag, .v3-offcanvas-nav, .v3-offcanvas-foot { max-width:560px; margin-left:auto; margin-right:auto; width:100%; }
.v3-offcanvas-nav { justify-content:center; flex:1; }
.v3-offcanvas-nav a { font-size:22px; padding:18px 0; }
.v3-offcanvas-nav a .idx { font-size:13px; min-width:36px; }
@media(min-width:600px) {
    .v3-offcanvas-nav a { font-size:28px; padding:22px 0; }
    .v3-offcanvas-nav a .idx { min-width:42px; }
}
html, body { overflow-x:hidden; }

@media(max-width:767px) {
    .v3-modal-image { display:none !important; }
    .v3-modal-grid { grid-template-columns:1fr !important; min-height:auto; }
    .v3-modal-form { padding:54px 26px 32px !important; max-height:90vh !important; }
    .v3-modal { max-width:100%; margin:0 12px; }
    .v3-modal-close { top:14px; right:14px; z-index:20; background:#fff; }
}

/* Lands End: accents on light backgrounds use the site's secondary gold (cream would be invisible) */
.v3-usp-card .num, .v3-ame-card-head span { color:#a07c35; }
.v3-loc-card:hover { border-left-color:#a07c35; }
.v3-sticky a.gold { background:#8c6a2a; color:#fff !important; border:1px solid #fff; }
.v3-sticky a.gold:hover { background:#fff; color:#8c6a2a !important; border-color:#8c6a2a; }
.v3-cta-strip { border-top:1px solid #e0e0e0; border-bottom:1px solid #e0e0e0; }

/* Lands End footer: same as runwalrealtylandsend.com (.footer__sec) */
.v3-footer { width:100%; background-color:#fffbf0; border-top:1px solid #e0e0e0; padding:25px 0 90px; color:#363636; text-align:center; }
.v3-foot-qr { display:grid; grid-template-columns:repeat(4, 1fr); gap:24px; }
.v3-footer .qr_img { text-align:center; }
.v3-footer .qr_img img { width:50%; height:auto; aspect-ratio:1/1; object-fit:contain; display:inline-block; }
.v3-footer .qr_img p { margin:8px 0 16px; font-size:16px; color:#363636; }
.v3-footer .footer-content { padding-top:24px; }
.v3-footer .footer-content p { font-size:18px; color:#363636; text-align:center; margin:0 0 16px; }
.v3-footer .footer-content a { color:#000; text-decoration:none; }
.v3-footer .term-dis { display:flex; justify-content:center; align-items:baseline; cursor:pointer; font-size:13px; }
.v3-footer .term-dis p { font-size:13px; margin:0 0 16px; }
.v3-footer .footer-content p.copy { font-size:14px; margin-bottom:0; }
@media (max-width: 768px) {
    .v3-foot-qr { grid-template-columns:repeat(2, 1fr); }
    .v3-footer .qr_img img { width:100%; }
    .v3-footer { padding:25px 0 110px; }
}
.v3-foot-pop { position:fixed; inset:0; z-index:600; background:rgba(0,0,0,0.5); display:none; align-items:center; justify-content:center; padding:20px; }
.v3-foot-pop.open { display:flex; }
.v3-foot-pop-box { position:relative; background:#fff; border-radius:10px; max-width:720px; width:100%; max-height:80vh; overflow-y:auto; padding:32px 28px 24px; text-align:left; }
.v3-foot-pop-box h4 { font-family:'GT-Ultra-Median',sans-serif; font-weight:400; font-size:22px; color:#8c6a2a; margin:0 0 14px; }
.v3-foot-pop-box p { font-size:13px; line-height:1.7; color:#363636; margin:0 0 12px; }
.v3-foot-pop-close { position:absolute; top:10px; right:12px; width:34px; height:34px; border:0; background:transparent; font-size:26px; line-height:1; color:#363636; cursor:pointer; }

.v3-contact-grid { grid-template-columns:1.1fr 1fr; }
@media (max-width: 991px) { .v3-contact-grid { grid-template-columns:1fr; } }

/* ============ Clean section backgrounds: alternating white / light grey ============ */
:root { --v3-bg-white:#ffffff; --v3-bg-grey:#f5f6f7; }
body { background:var(--v3-bg-white); }

/* Order on page: hero, usps, infra, fp, gallery, video, amenities, location, about, contact, footer */
.v3-hero,
.v3-infra-section,
.v3-gal-section,
.v3-ame-section,
.v3-about-section,
.v3-footer { background:var(--v3-bg-white) !important; }
.v3-usps-section,
.v3-fp-section,
#v3-video,
.v3-loc-section,
.v3-cta-strip,
#v3-contact { background:var(--v3-bg-grey) !important; }

/* Hero: light background, dark text */
.v3-hero { color:var(--v3-grey); padding:70px 0; }
.v3-hero::before, .v3-hero::after { display:none; }
.v3-hero h1 { color:var(--v3-navy); }
.v3-hero h1 .accent { background:none; -webkit-background-clip:initial; background-clip:initial; color:var(--v3-blue); }
.v3-hero p.lead { color:var(--v3-grey); }
.v3-tag { background:rgba(160,124,53,0.08); border-color:rgba(160,124,53,0.2); color:var(--v3-navy); }
.v3-tag .live { background:var(--v3-navy); box-shadow:none; }
.v3-hero-metric { background:var(--v3-bg-grey); border-color:var(--v3-line); backdrop-filter:none; }
.v3-hero-metric::before { background:var(--v3-navy); }
.v3-hero-metric .n { color:var(--v3-navy); }
.v3-hero-metric .n .arr { color:var(--v3-blue); }
.v3-hero-metric .l { color:var(--v3-grey); }
.v3-hero-cta { background:var(--v3-navy); color:#fff; }
.v3-hero-cta:hover { background:var(--v3-blue); color:#fff; }

/* Forms: softer shadow on light backgrounds */
.v3-form { border:1px solid var(--v3-line); box-shadow:0 20px 50px -25px rgba(0,0,0,0.18); }
.v3-form::before { background:var(--v3-navy); color:#fff; }
.v3-field input, .v3-field select { background:var(--v3-bg-grey); }

/* Infra / floor plans */
.v3-infra-list li .roi { color:var(--v3-blue); }
.v3-fp-table tbody tr:hover { background:var(--v3-bg-grey); }

/* Gallery: light background, dark text */
.v3-gal-section { color:var(--v3-grey); }
.v3-gal-section .v3-sec-title { color:var(--v3-navy); }
.v3-gal-section .v3-sec-desc { color:var(--v3-grey); }
.v3-gal-section .v3-eyebrow { background:rgba(160,124,53,0.1); color:var(--v3-blue); }
.v3-gal-section .v3-eyebrow::before { background:var(--v3-blue); }
.v3-gal-tab { border-color:var(--v3-line); color:var(--v3-grey); }
.v3-gal-tab.active, .v3-gal-tab:hover { background:var(--v3-navy); border-color:var(--v3-navy); color:#fff; }
.v3-gal-thumbs .swiper-slide-thumb-active { outline-color:var(--v3-navy); }

/* Amenities cards on white */
.v3-ame-card { background:var(--v3-bg-grey); }

/* About: light background, dark text */
.v3-about-section { color:var(--v3-grey); }
.v3-about-section::before { display:none; }
.v3-about-section .v3-sec-title { color:var(--v3-navy); }
.v3-about-section .v3-sec-title span { color:var(--v3-blue) !important; }
.v3-about-section .v3-eyebrow { background:rgba(160,124,53,0.1); color:var(--v3-blue); }
.v3-about-section .v3-eyebrow::before { background:var(--v3-blue); }
.v3-about-left p { color:var(--v3-grey); }
.v3-about-stat { background:var(--v3-bg-grey); border-color:var(--v3-line); }
.v3-about-stat::before { background:var(--v3-navy); }
.v3-about-stat .n { color:var(--v3-navy); }
.v3-about-stat .n .suf { color:var(--v3-blue); }
.v3-about-stat .l { color:var(--v3-grey); }

/* CTA strip / footer */
.v3-cta-strip { border-top:0; border-bottom:0; }
.v3-faq-item { background:var(--v3-bg-grey); }

/* Floor plans: blurred, click opens the enquiry modal */
#v3g-infra .swiper-slide { overflow:hidden; }
#v3g-infra .swiper-slide img { filter:blur(8px); transform:scale(1.05); }
#v3g-infra .v3-gal-frame .swiper-slide a { position:relative; display:block; }
#v3g-infra .v3-gal-frame .swiper-slide a::after { content:"View Floor Plan"; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); padding:14px 28px; background:var(--v3-navy); color:#fff; font-size:13px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; border-radius:6px; box-shadow:0 12px 30px -10px rgba(0,0,0,0.35); white-space:nowrap; }

/* Configuration section: background image with dark overlay */
#v3-fp { position:relative; overflow:hidden; background:#1f1a12 !important; }
#v3-fp::before { content:""; position:absolute; inset:-20px; background:url('../images/landsend/renders/2.webp') center 40%/cover no-repeat; filter:blur(3px); }
#v3-fp::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,16,10,0.72) 0%, rgba(20,16,10,0.6) 100%); }
#v3-fp .v3-sec-title { color:#fff; }
#v3-fp .v3-sec-title .accent { color:#d9b46a; }
#v3-fp .v3-eyebrow { background:rgba(255,255,255,0.14); color:#fff; }
#v3-fp .v3-eyebrow::before { background:#d9b46a; }
#v3-fp .v3-fp-table { box-shadow:0 30px 70px -25px rgba(0,0,0,0.6); border-color:transparent; }

/* Project Highlights: card slider */
.v3-usp-slider-wrap { position:relative; padding:0 0 100px; }
.v3-usp-slider { padding:8px 4px 12px; }
.v3-usp-slider .swiper-slide { height:auto; }
.v3-usp-card { display:flex; flex-direction:column; align-items:flex-start; padding:32px 26px 28px; background:#fff; border:1px solid var(--v3-line); border-radius:16px; box-shadow:0 6px 20px -12px rgba(0,0,0,0.12); overflow:hidden; transition:border-color .3s, box-shadow .3s, transform .3s; }
.v3-usp-card::after { content:""; position:absolute; left:0; bottom:0; width:100%; height:3px; background:var(--v3-blue); transform:scaleX(0); transform-origin:left; transition:transform .35s ease; }
.v3-usp-card:hover { transform:translateY(-4px); border-color:rgba(160,124,53,0.4); box-shadow:0 18px 40px -20px rgba(140,106,42,0.35); }
.v3-usp-card:hover::after { transform:scaleX(1); }
.v3-usp-card .num { position:absolute; top:20px; right:22px; margin:0; font-size:34px; font-weight:700; letter-spacing:0; line-height:1; color:rgba(160,124,53,0.18) !important; }
.v3-usp-card .ico { width:56px; height:56px; border-radius:50%; background:rgba(160,124,53,0.1); color:var(--v3-navy); font-size:22px; margin-bottom:22px; transition:background .3s, color .3s; }
.v3-usp-card:hover .ico { background:var(--v3-navy); color:#fff; }
.v3-usp-card h4 { font-size:18px; line-height:1.35; font-weight:600; letter-spacing:0; color:#2b2b2b; margin:0; }
.v3-usp-nav { position:absolute; bottom:0; z-index:3; width:44px; height:44px; border-radius:50%; border:1px solid var(--v3-line); background:#fff; color:var(--v3-navy); font-size:22px; line-height:1; display:flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:0 8px 20px -10px rgba(0,0,0,0.25); transition:all .25s; }
.v3-usp-nav:hover { background:var(--v3-navy); border-color:var(--v3-navy); color:#fff; }
.v3-usp-prev { left:calc(50% - 50px); }
.v3-usp-next { left:calc(50% + 6px); }
.v3-usp-dots { position:absolute; left:0; right:0; bottom:62px !important; top:auto !important; text-align:center; }
.v3-usp-dots .swiper-pagination-bullet { width:8px; height:8px; margin:0 4px; background:var(--v3-navy); opacity:.25; transition:all .3s; }
.v3-usp-dots .swiper-pagination-bullet-active { width:24px; border-radius:4px; opacity:1; }
@media (max-width:767px) {
    .v3-usp-card { padding:26px 22px 24px; }
    .v3-usp-card h4 { font-size:17px; }
}

/* Project Highlights: background image with dark overlay */
#v3-usps { position:relative; overflow:hidden; background:#1f1a12 !important; }
#v3-usps::before { content:""; position:absolute; inset:-20px; background:url('../images/landsend/renders/10.webp') center/cover no-repeat; filter:blur(3px); }
#v3-usps::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,16,10,0.72) 0%, rgba(20,16,10,0.6) 100%); }
#v3-usps .v3-sec-title { color:#fff; }
#v3-usps .v3-sec-title .accent { color:#d9b46a; }
#v3-usps .v3-eyebrow { background:rgba(255,255,255,0.14); color:#fff; }
#v3-usps .v3-eyebrow::before { background:#d9b46a; }
#v3-usps .v3-usp-card { border-color:transparent; box-shadow:0 20px 45px -20px rgba(0,0,0,0.55); }
#v3-usps .v3-usp-dots .swiper-pagination-bullet { background:#fff; opacity:.45; }
#v3-usps .v3-usp-dots .swiper-pagination-bullet-active { background:#d9b46a; opacity:1; }
#v3-usps .v3-usp-nav { background:rgba(255,255,255,0.12); border-color:rgba(255,255,255,0.4); color:#fff; box-shadow:none; }
#v3-usps .v3-usp-nav:hover { background:#d9b46a; border-color:#d9b46a; color:#1f1a12; }

/* Amenities: photo-header cards with clean two-column lists */
.v3-ame-grid { gap:28px; }
.v3-ame-card { padding:0; background:#fff !important; border:1px solid var(--v3-line); border-radius:18px; overflow:hidden; box-shadow:0 14px 40px -24px rgba(0,0,0,0.25); transition:transform .3s, box-shadow .3s; }
.v3-ame-card:hover { transform:translateY(-4px); border-color:var(--v3-line); box-shadow:0 24px 50px -24px rgba(140,106,42,0.35); }
.v3-ame-media { position:relative; height:220px; background-size:cover; background-position:center; }
.v3-ame-media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,16,10,0) 30%, rgba(20,16,10,0.75) 100%); }
.v3-ame-media-text { position:absolute; left:28px; right:28px; bottom:22px; z-index:1; display:flex; align-items:center; gap:14px; }
.v3-ame-media-text .ico { width:46px; height:46px; border-radius:50%; background:#fff; color:var(--v3-navy); display:flex; align-items:center; justify-content:center; font-size:19px; flex-shrink:0; }
.v3-ame-media-text h4 { font-family:'GT-Ultra-Median',sans-serif; font-size:24px; font-weight:600; color:#fff; margin:0; letter-spacing:-.3px; }
.v3-ame-list { list-style:none; margin:0; padding:20px 28px 24px; display:grid; grid-template-columns:1fr 1fr; column-gap:28px; }
.v3-ame-list li { display:flex; align-items:center; gap:12px; padding:13px 0; border-bottom:1px solid #eeeeee; font-size:15px; color:#2b2b2b; }
.v3-ame-list li:last-child { border-bottom:0; }
@media (min-width:381px) { .v3-ame-list li:nth-last-child(2):nth-child(even) { border-bottom:0; } }
.v3-ame-list li .fa { width:22px; height:22px; border-radius:50%; background:rgba(160,124,53,0.12); color:var(--v3-navy); font-size:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
@media (max-width:767px) {
    .v3-ame-grid { grid-template-columns:1fr; gap:20px; }
    .v3-ame-media { height:170px; }
    .v3-ame-media-text { left:20px; right:20px; bottom:18px; }
    .v3-ame-media-text h4 { font-size:20px; }
    .v3-ame-list { padding:12px 20px 18px; column-gap:16px; }
    .v3-ame-list li { font-size:14px; gap:10px; padding:11px 0; }
}
@media (max-width:380px) { .v3-ame-list { grid-template-columns:1fr; } }

/* Amenities: grid on desktop, Swiper slider on mobile */
.v3-ame-slider { overflow:visible; }
.v3-ame-controls { display:none; }
@media (min-width:768px) {
    .v3-ame-slider .swiper-wrapper.v3-ame-grid { display:grid; transform:none !important; }
    .v3-ame-slider .swiper-slide.v3-ame-card { width:auto; }
}
@media (max-width:767px) {
    .v3-ame-slider { overflow:hidden; padding:4px 2px 14px; }
    .v3-ame-slider .swiper-wrapper.v3-ame-grid { display:flex; gap:0; }
    .v3-ame-slider .v3-ame-card:hover { transform:none; }
    .v3-ame-controls { display:flex; flex-direction:column; align-items:center; gap:16px; margin-top:14px; }
    .v3-ame-dots { position:static !important; width:auto !important; display:flex; justify-content:center; }
    .v3-ame-dots .swiper-pagination-bullet { width:8px; height:8px; margin:0 4px; background:var(--v3-navy); opacity:.25; transition:all .3s; }
    .v3-ame-dots .swiper-pagination-bullet-active { width:24px; border-radius:4px; opacity:1; }
    .v3-ame-arrows { display:flex; gap:12px; }
    .v3-ame-arrows .v3-usp-nav { position:static; transform:none; }
    .v3-ame-arrows .swiper-button-disabled { opacity:.4; cursor:default; }
}

/* Footer: gold background */
.v3-footer { background:linear-gradient(135deg, #7d5e24 0%, #8c6a2a 50%, #a8853d 100%) !important; border-top:0; color:#fff; }
.v3-footer .qr_img p,
.v3-footer .footer-content p,
.v3-footer .term-dis p { color:rgba(255,255,255,0.9); }
.v3-footer .footer-content a { color:#fff; }
.v3-footer .footer-content p.copy { color:rgba(255,255,255,0.75); }
.v3-footer .qr_img img { background:#fff; padding:6px; border-radius:6px; }

/* Buttons: periodic light-flash sweep */
.v3-hero-cta, .v3-submit, .v3-nav-cta, .v3-fp-table .btn-enquire, .v3-offcanvas-cta, .v3-sticky a, .v3-cta-btn { position:relative; overflow:hidden; isolation:isolate; }
.v3-hero-cta::after, .v3-submit::after, .v3-nav-cta::after, .v3-fp-table .btn-enquire::after, .v3-offcanvas-cta::after, .v3-sticky a::after, .v3-cta-btn::after {
    content:""; position:absolute; top:0; left:-75%; width:50%; height:100%; z-index:1; pointer-events:none;
    background:linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.55) 50%, rgba(255,255,255,0) 100%);
    transform:skewX(-20deg); animation:v3flash 3s ease-in-out infinite;
}
.v3-fp-table tr:nth-child(2) .btn-enquire::after { animation-delay:.4s; }
.v3-fp-table tr:nth-child(3) .btn-enquire::after { animation-delay:.8s; }
.v3-sticky a:nth-child(2)::after { animation-delay:.5s; }
.v3-sticky a:nth-child(3)::after { animation-delay:1s; }
@keyframes v3flash { 0% { left:-75%; } 45%, 100% { left:130%; } }
@media (prefers-reduced-motion: reduce) {
    .v3-hero-cta::after, .v3-submit::after, .v3-nav-cta::after, .v3-fp-table .btn-enquire::after, .v3-offcanvas-cta::after, .v3-sticky a::after, .v3-cta-btn::after { animation:none; display:none; }
}

/* Fixed buttons on desktop: Enquire Now bottom-left, Call Now bottom-right */
@media (min-width:768px) {
    .v3-sticky { left:24px; right:24px; flex-direction:row; justify-content:space-between; align-items:flex-end; pointer-events:none; }
    .v3-sticky a { pointer-events:auto; }
}

/* Fixed buttons on mobile: full-width gold bottom bar split in two */
@media (max-width:767px) {
    .v3-sticky { left:0; right:0; bottom:0; flex-direction:row; gap:0; background:linear-gradient(135deg, #7d5e24 0%, #8c6a2a 50%, #a8853d 100%); border-top:1px solid rgba(255,255,255,0.2); box-shadow:0 -8px 24px -12px rgba(0,0,0,0.35); padding-bottom:env(safe-area-inset-bottom); }
    .v3-sticky a, .v3-sticky a.gold { flex:1 1 0; justify-content:center; gap:8px; padding:15px 10px; background:transparent !important; color:#fff !important; border:0 !important; border-radius:0; box-shadow:none; font-size:14px; font-weight:500; letter-spacing:.5px; }
    .v3-sticky a + a { border-left:1px solid rgba(255,255,255,0.3) !important; }
    .v3-sticky a:hover, .v3-sticky a.gold:hover { transform:none; background:rgba(255,255,255,0.08) !important; color:#fff !important; }
}

/* Location cards: grid on desktop, Swiper slider on mobile */
.v3-loc-slider { overflow:visible; }
.v3-loc-controls { display:none; }
@media (min-width:768px) {
    .v3-loc-slider .swiper-wrapper.v3-loc-cards { display:grid; transform:none !important; }
    .v3-loc-slider .swiper-slide.v3-loc-card { width:auto; height:auto; }
}
@media (max-width:767px) {
    .v3-loc-slider { overflow:hidden; margin-top:24px; padding:2px 1px 6px; }
    .v3-loc-slider .swiper-wrapper.v3-loc-cards { display:flex; gap:0; margin-top:0; }
    .v3-loc-slider .swiper-slide.v3-loc-card { height:auto; padding:16px 14px; }
    .v3-loc-card:hover { transform:none; }
    .v3-loc-card .time { font-size:19px; }
    .v3-loc-controls { display:flex; flex-direction:column; align-items:center; gap:16px; margin-top:16px; }
    .v3-loc-dots { position:static !important; width:auto !important; display:flex; justify-content:center; }
    .v3-loc-dots .swiper-pagination-bullet { width:8px; height:8px; margin:0 4px; background:var(--v3-navy); opacity:.25; transition:all .3s; }
    .v3-loc-dots .swiper-pagination-bullet-active { width:24px; border-radius:4px; opacity:1; }
}
/* Location slider fix: grid column must be allowed to shrink, otherwise Swiper overflows */
.v3-loc-grid > div { min-width:0; }
@media (max-width:767px) {
    .v3-loc-slider { padding:4px 2px 12px; }
    .v3-loc-slider .swiper-slide.v3-loc-card { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:28px 22px; border:1px solid var(--v3-line); border-top:4px solid var(--v3-navy); border-left-width:1px; border-radius:16px; box-shadow:0 10px 30px -18px rgba(0,0,0,0.25); }
    .v3-loc-card .top { flex-direction:column; gap:12px; margin-bottom:10px; }
    .v3-loc-card .top .fa { width:52px; height:52px; border-radius:50%; background:rgba(160,124,53,0.12); color:var(--v3-navy); display:flex; align-items:center; justify-content:center; font-size:22px; }
    .v3-loc-card .time { font-size:26px; }
    .v3-loc-card .place { font-size:15px; }
}

/* Footer: equal space above and below the content */
.v3-footer { padding:40px 0 !important; }
.v3-footer .v3-foot-qr .qr_img p { margin-bottom:16px; }
.v3-footer .footer-content p.copy { padding-top:4px; margin-bottom:0; }
@media (max-width:767px) {
    /* extra bottom space = height of the fixed gold bottom bar, so the visible gap matches the top */
    .v3-footer { padding:32px 0 calc(32px + 52px + env(safe-area-inset-bottom)) !important; }
}

/* Configuration: table on desktop, Swiper slider of cards on mobile */
.v3-fp-mobile { display:none; }
@media (max-width:767px) {
    #v3-fp .v3-fp-table { display:none; }
    .v3-fp-mobile { display:block; position:relative; z-index:1; }
    .v3-fp-slider { overflow:hidden; padding:4px 2px 14px; }
    .v3-fp-slider .swiper-slide { height:auto; }
    .v3-fp-card { position:relative; display:flex; flex-direction:column; justify-content:space-between; gap:20px; box-sizing:border-box;
        padding:22px 20px 20px 24px; background:#fff; border-radius:16px; overflow:hidden; box-shadow:0 18px 40px -22px rgba(0,0,0,0.55); }
    .v3-fp-card::before { content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:linear-gradient(180deg, #d9b46a 0%, var(--v3-navy) 100%); }
    .v3-fp-card-row { display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
    .v3-fp-card-row .r { text-align:left; padding-top:14px; border-top:1px dashed #eadfca; width:100%; }
    .v3-fp-card .lbl { display:block; margin-bottom:5px; font-size:11px; font-weight:600; letter-spacing:1.2px; text-transform:uppercase; color:#9a8a6a; }
    .v3-fp-card .pname { display:block; font-family:'GT-Ultra-Median',sans-serif; font-size:19px; font-weight:700; line-height:1.25; color:var(--v3-navy); }
    .v3-fp-card .area { display:block; font-family:'GT-Ultra-Median',sans-serif; font-size:16px; font-weight:600; line-height:1.3; color:var(--v3-blue); white-space:nowrap; }
    .v3-fp-card .btn-enquire { position:relative; overflow:hidden; display:inline-block; align-self:flex-start; width:auto; text-align:center; padding:11px 26px; background:var(--v3-navy); color:#fff !important;
        font-size:13px; font-weight:600; letter-spacing:1px; text-transform:uppercase; border-radius:8px; text-decoration:none; }
    .v3-fp-controls { display:flex; flex-direction:column; align-items:center; gap:16px; margin-top:6px; }
    .v3-fp-dots { position:static !important; width:auto !important; display:flex; justify-content:center; }
    .v3-fp-dots .swiper-pagination-bullet { width:8px; height:8px; margin:0 4px; background:#fff; opacity:.45; transition:all .3s; }
    .v3-fp-dots .swiper-pagination-bullet-active { width:24px; border-radius:4px; background:#d9b46a; opacity:1; }
    #v3-fp .v3-usp-nav { background:rgba(255,255,255,0.12); border-color:rgba(255,255,255,0.4); color:#fff; box-shadow:none; }
    #v3-fp .v3-usp-nav:active { background:#d9b46a; border-color:#d9b46a; color:#1f1a12; }
}

/* Gallery: shorter main image on tablet & mobile */
@media (max-width:991px) {
    .v3-gal-frame .swiper-slide img { height:420px; }
}
@media (max-width:767px) {
    .v3-gal-frame .swiper-slide img { height:auto; aspect-ratio:4 / 3; max-height:300px; }
    .v3-gal-thumbs .swiper-slide img { height:60px; }
}

/* Gallery tabs: compact, single-line on mobile */
@media (max-width:767px) {
    .v3-gal-tabs { gap:6px; margin-bottom:20px; flex-wrap:nowrap; }
    .v3-gal-tab { flex:1 1 0; min-width:0; padding:9px 8px; font-size:11px; line-height:1.2; letter-spacing:.8px; white-space:nowrap; border-radius:999px; }
}

/* About stats: grid on desktop, Swiper slider on mobile */
.v3-about-left, .v3-about-grid > div { min-width:0; }
.v3-stat-controls { display:none; }
@media (min-width:768px) {
    .v3-stat-slider { overflow:visible; }
    .v3-stat-slider .swiper-wrapper.v3-about-stats { display:grid; transform:none !important; }
    .v3-stat-slider .swiper-slide.v3-about-stat { width:auto; height:auto; }
}
@media (max-width:767px) {
    .v3-stat-slider { overflow:hidden; padding:2px 1px 6px; }
    .v3-stat-slider .swiper-wrapper.v3-about-stats { display:flex; gap:0; grid-template-columns:none; }
    .v3-stat-slider .swiper-slide.v3-about-stat { height:auto; box-sizing:border-box; padding:26px 24px; text-align:center; }
    .v3-stat-controls { display:flex; flex-direction:column; align-items:center; gap:16px; margin-top:16px; }
    .v3-stat-dots { position:static !important; width:auto !important; display:flex; justify-content:center; }
    .v3-stat-dots .swiper-pagination-bullet { width:8px; height:8px; margin:0 4px; background:var(--v3-navy); opacity:.25; transition:all .3s; }
    .v3-stat-dots .swiper-pagination-bullet-active { width:24px; border-radius:4px; opacity:1; }
}

/* ===== Overview / hero: redesigned ===== */
#v3-hero { position:relative; overflow:hidden; padding:80px 0 90px; color:var(--v3-grey);
    background:radial-gradient(900px 500px at 85% 20%, rgba(217,180,106,.18), transparent 60%),
               radial-gradient(700px 400px at 0% 100%, rgba(140,106,42,.08), transparent 60%), #fffbf0; }
#v3-hero::before { content:""; display:block; position:absolute; top:0; right:0; bottom:0; left:auto; width:42%;
    background:url('../images/landsend/renders/2.webp') center/cover no-repeat; opacity:.12; filter:saturate(.6);
    -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 60%); mask-image:linear-gradient(90deg, transparent 0%, #000 60%); }
#v3-hero::after { display:none; }
#v3-hero .v3-container { position:relative; z-index:1; }
#v3-hero .v3-hero-grid { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:64px; align-items:center; }
#v3-hero .v3-tag { display:inline-flex; align-items:center; gap:10px; padding:8px 16px; margin-bottom:22px; background:#fff; border:1px solid #eadfca;
    border-radius:999px; font-size:12px; letter-spacing:1.6px; text-transform:uppercase; color:var(--v3-navy); box-shadow:0 6px 18px -12px rgba(140,106,42,.5); }
#v3-hero .v3-tag .live { width:8px; height:8px; border-radius:50%; background:#d9b46a; box-shadow:0 0 0 4px rgba(217,180,106,.25); }
#v3-hero h1 { font-size:54px; line-height:1.08; letter-spacing:-1.2px; color:#3a2c12; margin:0 0 20px; max-width:620px; }
#v3-hero h1 .accent { color:var(--v3-navy); background:none; -webkit-background-clip:initial; background-clip:initial; }
#v3-hero .v3-hero-tagline { position:relative; margin:0 0 18px; padding-left:18px; font-size:19px; font-style:italic; color:var(--v3-navy); max-width:540px; }
#v3-hero .v3-hero-tagline::before { content:""; position:absolute; left:0; top:4px; bottom:4px; width:3px; border-radius:2px; background:linear-gradient(180deg, #d9b46a, var(--v3-navy)); }
#v3-hero .v3-hero-desc { margin:0 0 34px; max-width:560px; font-size:15.5px; line-height:1.75; color:#5a5246; }

#v3-hero .v3-hero-metrics { display:grid; grid-template-columns:repeat(3, 1fr); gap:0; margin:0 0 34px; max-width:600px;
    background:#fff; border:1px solid #eadfca; border-radius:16px; box-shadow:0 18px 40px -28px rgba(140,106,42,.55); overflow:hidden; }
#v3-hero .v3-hero-metric { padding:20px 22px; background:transparent; border:0; border-radius:0; backdrop-filter:none; }
#v3-hero .v3-hero-metric + .v3-hero-metric { border-left:1px solid #eadfca; }
#v3-hero .v3-hero-metric::before { display:none; }
#v3-hero .v3-hero-metric .n { font-size:30px; color:var(--v3-navy); margin-bottom:6px; white-space:nowrap; }
#v3-hero .v3-hero-metric .n .arr { font-size:15px; color:#b08d47; margin-left:4px; vertical-align:baseline; }
#v3-hero .v3-hero-metric .l { font-size:11px; letter-spacing:1.3px; color:#7a6f5e; }

#v3-hero .v3-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px; }
#v3-hero .v3-hero-cta { gap:10px; padding:15px 28px; border-radius:999px; background-color:var(--v3-navy); color:#fff; letter-spacing:1.2px; box-shadow:0 14px 30px -14px rgba(140,106,42,.8); }
@media (hover:hover) { #v3-hero .v3-hero-cta:hover { background-color:#6f5320; } }
#v3-hero .v3-hero-call { display:inline-flex; align-items:center; gap:12px; color:#3a2c12; text-decoration:none; font-family:'GT-Ultra-Median',sans-serif; font-size:17px; line-height:1.2; }
#v3-hero .v3-hero-call small { display:block; font-family:'Gambetta',sans-serif; font-size:11px; letter-spacing:1.3px; text-transform:uppercase; color:#7a6f5e; }
#v3-hero .v3-hero-call .ico { width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#fff; border:1px solid #eadfca; color:var(--v3-navy); font-size:17px; transition:background-color .3s, color .3s, border-color .3s; }
#v3-hero .v3-hero-call:hover .ico { background:var(--v3-navy); border-color:var(--v3-navy); color:#fff; }

/* Enquiry card */
#v3-hero .v3-form { padding:0; border:0; border-radius:20px; overflow:hidden; background:#fff; box-shadow:0 40px 80px -40px rgba(80,58,18,.55), 0 0 0 1px #eee3cf; }
#v3-hero .v3-form::before { display:none; }
#v3-hero .v3-form-head { position:relative; overflow:hidden; padding:26px 30px 24px; color:#fff; background:linear-gradient(135deg, #7d5e24 0%, #8c6a2a 55%, #a8853d 100%); }
#v3-hero .v3-form-head::after { content:""; position:absolute; right:-40px; top:-40px; width:140px; height:140px; border-radius:50%; border:1px solid rgba(255,255,255,.18); box-shadow:0 0 0 22px rgba(255,255,255,.05); }
#v3-hero .v3-form-badge { display:inline-block; margin-bottom:10px; padding:4px 12px; border-radius:999px; background:rgba(255,255,255,.16); font-size:10px; letter-spacing:1.6px; text-transform:uppercase; color:#fff; }
#v3-hero .v3-form h3 { margin:0 0 6px; font-size:28px; color:#fff; }
#v3-hero .v3-form .sub { margin:0; font-size:13.5px; line-height:1.5; color:rgba(255,255,255,.85); max-width:320px; }
#v3-hero .v3-form form { padding:24px 30px 28px; }
#v3-hero .v3-field { margin-bottom:16px; }
#v3-hero .v3-field label:not(.error) { font-size:11px; letter-spacing:1.2px; color:#7a6f5e; margin-bottom:7px; }
#v3-hero .v3-field input { height:48px; background:#fbf8f2; border:1px solid #e8dfcf; border-radius:10px; color:#3a2c12; transition:border-color .25s, box-shadow .25s, background-color .25s; }
#v3-hero .v3-field input:focus { background:#fff; border-color:#b08d47; box-shadow:0 0 0 4px rgba(176,141,71,.14); }
#v3-hero .v3-field .input-wrap > .fa { color:#b08d47; }
#v3-hero .v3-consent { margin:6px 0 20px !important; color:#7a6f5e !important; }
#v3-hero .v3-submit { height:52px; border-radius:999px; letter-spacing:1.6px; box-shadow:0 14px 30px -14px rgba(140,106,42,.8); }

@media (max-width:991px) {
    #v3-hero { padding:60px 0 70px; }
    #v3-hero .v3-hero-grid { grid-template-columns:1fr; gap:44px; }
    #v3-hero::before { width:100%; opacity:.07; -webkit-mask-image:linear-gradient(180deg, #000, transparent 70%); mask-image:linear-gradient(180deg, #000, transparent 70%); }
    #v3-hero h1 { font-size:42px; }
    #v3-hero .v3-hero-metrics { max-width:none; }
}
@media (max-width:767px) {
    #v3-hero { padding:44px 0 56px; }
    #v3-hero .v3-tag { font-size:10.5px; letter-spacing:1.2px; padding:7px 13px; margin-bottom:18px; }
    #v3-hero h1 { font-size:31px; letter-spacing:-.6px; margin-bottom:16px; }
    #v3-hero .v3-hero-tagline { font-size:16.5px; }
    #v3-hero .v3-hero-desc { font-size:14.5px; line-height:1.7; margin-bottom:26px; }
    #v3-hero .v3-hero-metrics { grid-template-columns:repeat(3, 1fr); margin-bottom:26px; border-radius:14px; }
    #v3-hero .v3-hero-metric { padding:16px 10px; text-align:center; }
    #v3-hero .v3-hero-metric .n { font-size:21px; }
    #v3-hero .v3-hero-metric .n .arr { font-size:11px; margin-left:2px; }
    #v3-hero .v3-hero-metric .l { font-size:9.5px; letter-spacing:.6px; line-height:1.35; display:block; }
    #v3-hero .v3-hero-actions { gap:16px; }
    #v3-hero .v3-hero-cta { flex:1 1 100%; justify-content:center; }
    #v3-hero .v3-form-head { padding:22px 22px 20px; }
    #v3-hero .v3-form h3 { font-size:24px; }
    #v3-hero .v3-form form { padding:20px 22px 24px; }
}

/* Buttons: smooth, consistent hover */
.v3-hero-cta, .v3-submit, .v3-nav-cta, .v3-fp-table .btn-enquire, .v3-offcanvas-cta, .v3-sticky a, .v3-cta-btn {
    transition:background-color .35s cubic-bezier(.22,.61,.36,1), background-position .5s cubic-bezier(.22,.61,.36,1),
               color .35s ease, border-color .35s ease, box-shadow .35s ease, transform .35s cubic-bezier(.22,.61,.36,1);
    -webkit-backface-visibility:hidden; backface-visibility:hidden;
}
.v3-hero-cta .fa, .v3-cta-btn .fa, .v3-submit .fa { transition:transform .35s cubic-bezier(.22,.61,.36,1); }
.v3-hero-cta::after, .v3-submit::after, .v3-nav-cta::after, .v3-fp-table .btn-enquire::after, .v3-offcanvas-cta::after, .v3-sticky a::after, .v3-cta-btn::after { transition:opacity .3s ease; }
.v3-submit { background:linear-gradient(135deg, var(--v3-navy) 0%, var(--v3-blue) 50%, #6f5320 100%); background-size:200% 100%; background-position:0 0; }
@media (hover:hover) {
    .v3-hero-cta:hover, .v3-cta-btn:hover, .v3-fp-table .btn-enquire:hover, .v3-nav-cta:hover {
        background-color:#6f5320; border-color:#6f5320; color:#fff !important; transform:translateY(-2px);
        box-shadow:0 10px 24px -10px rgba(111,83,32,.55);
    }
    .v3-submit:hover { background-position:100% 0; transform:translateY(-2px); box-shadow:0 12px 26px -10px rgba(111,83,32,.55); }
    .v3-offcanvas-cta:hover { background-color:#fff; color:var(--v3-navy) !important; transform:translateY(-2px); box-shadow:0 10px 24px -12px rgba(0,0,0,.35); }
    .v3-hero-cta:hover .fa, .v3-cta-btn:hover .fa, .v3-submit:hover .fa { transform:translateX(4px); }
    .v3-hero-cta:hover::after, .v3-submit:hover::after, .v3-nav-cta:hover::after, .v3-fp-table .btn-enquire:hover::after, .v3-offcanvas-cta:hover::after, .v3-sticky a:hover::after, .v3-cta-btn:hover::after { opacity:0; }
}
@media (hover:hover) and (min-width:768px) {
    .v3-sticky a:hover, .v3-sticky a.gold:hover { background-color:#6f5320; border-color:#6f5320; color:#fff !important; transform:translateY(-3px); box-shadow:0 14px 30px -10px rgba(111,83,32,.6); }
    .v3-sticky a.wa:hover { background-color:#1ebe5b; border-color:#1ebe5b; }
}
.v3-hero-cta:active, .v3-submit:active, .v3-nav-cta:active, .v3-fp-table .btn-enquire:active, .v3-offcanvas-cta:active, .v3-cta-btn:active {
    transform:translateY(0) scale(.98); box-shadow:none; transition-duration:.1s;
}

/* Form submit loader */
.v3-form-loader { position:fixed; top:0; left:0; width:100%; height:100%; z-index:99999;
    display:flex; align-items:center; justify-content:center; padding:16px; box-sizing:border-box;
    background:rgba(255,251,240,.94); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
    opacity:0; visibility:hidden; transition:opacity .45s ease, visibility .45s ease; }
.v3-form-loader.is-active { opacity:1; visibility:visible; }
.v3-form-loader .v3-form-loader-box { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0;
    width:100%; max-width:320px; margin:0 auto; padding:32px 28px 28px; box-sizing:border-box; text-align:center;
    background:#fff; border:1px solid #f0e6d2; border-radius:20px; box-shadow:0 24px 60px -24px rgba(140,106,42,.4);
    transform:translateY(14px) scale(.96); transition:transform .45s ease; line-height:1.4; }
.v3-form-loader.is-active .v3-form-loader-box { transform:none; }
.v3-form-loader .v3-form-loader-box img { display:block; height:44px; width:auto; max-width:180px; margin:0 0 22px; }
.v3-form-loader .v3-form-loader-spin { position:relative; width:60px; height:60px; margin:0 0 20px; flex:0 0 auto; }
.v3-form-loader .v3-form-loader-ring { position:absolute; top:0; left:0; width:60px; height:60px; box-sizing:border-box;
    border-radius:50%; border:4px solid var(--v3-gold); border-top-color:var(--v3-navy); animation:v3LoaderSpin .9s linear infinite; }
.v3-form-loader .v3-form-loader-dot { position:absolute; top:50%; left:50%; width:22px; height:22px; margin:-11px 0 0 -11px;
    border-radius:50%; background:var(--v3-navy); animation:v3LoaderPulse 1.2s ease-in-out infinite; }
.v3-form-loader .v3-form-loader-title { font-family:'GT-Ultra-Median',sans-serif; font-size:19px; line-height:1.3; color:var(--v3-navy); margin:0 0 6px; padding:0; width:100%; text-align:center; }
.v3-form-loader .v3-form-loader-sub { font-size:14px; line-height:1.4; color:var(--v3-grey); margin:0; padding:0; width:100%; text-align:center; }
@keyframes v3LoaderSpin { to { transform:rotate(360deg); } }
@keyframes v3LoaderPulse { 0%,100% { transform:scale(.6); opacity:.5; } 50% { transform:scale(1); opacity:1; } }
@media (prefers-reduced-motion: reduce) { .v3-form-loader-ring, .v3-form-loader-dot { animation-duration:2.5s; } }

/* ============ Enquiry modal: refined card (matches hero enquiry form) ============ */
.v3-modal-overlay { background:rgba(36,26,8,.62); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); padding:24px; }
.v3-modal { max-width:920px; border-top:0; border-radius:22px; box-shadow:0 60px 120px -40px rgba(20,14,4,.7), 0 0 0 1px rgba(255,255,255,.08); transform:translateY(24px) scale(.97); opacity:0; transition:transform .45s cubic-bezier(.22,.61,.36,1), opacity .35s ease; }
.v3-modal-overlay.open .v3-modal { transform:none; opacity:1; }
.v3-modal-grid { grid-template-columns:1.05fr 1fr; min-height:560px; }

.v3-modal-close { top:16px; right:16px; width:40px; height:40px; border-radius:50%; background:#fff; border:1px solid #eadfca; color:#8c6a2a; font-size:24px; box-shadow:0 6px 16px -8px rgba(80,58,18,.35); transition:background-color .3s, color .3s, border-color .3s, transform .35s cubic-bezier(.22,.61,.36,1); }
.v3-modal-close:hover { background:#8c6a2a; border-color:#8c6a2a; color:#fff; transform:rotate(90deg); }

/* Image panel: let the render show through, darken only toward the copy */
.v3-modal-image::before { background:linear-gradient(180deg, rgba(30,22,6,.05) 0%, rgba(30,22,6,.25) 40%, rgba(46,33,10,.88) 100%); }
.v3-modal-image::after { display:none; }
.v3-modal-image-overlay { padding:40px 36px 36px; }
.v3-modal-eyebrow { gap:8px; padding:6px 14px; border-radius:999px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.3); color:#fff; font-size:10.5px; letter-spacing:1.8px; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); margin-bottom:18px; }
.v3-modal-eyebrow .dot { background:#e9c77f; box-shadow:0 0 10px #e9c77f; }
.v3-modal-image-title { font-size:34px; line-height:1.12; letter-spacing:-.6px; text-shadow:0 2px 20px rgba(0,0,0,.25); }
.v3-modal-image-title .accent { background:linear-gradient(135deg, #f3d999 0%, #e2b866 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.v3-modal-image-desc { color:rgba(255,255,255,.85); margin-bottom:22px; }
.v3-modal-image-stats { display:grid; grid-template-columns:repeat(3, 1fr); gap:0; padding:0; border:1px solid rgba(255,255,255,.2); border-radius:14px; background:rgba(255,255,255,.08); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); overflow:hidden; }
.v3-modal-stat { padding:14px 12px; border-left:0; text-align:center; }
.v3-modal-stat + .v3-modal-stat { border-left:1px solid rgba(255,255,255,.18); }
.v3-modal-stat .n { font-size:19px; margin-bottom:5px; white-space:nowrap; }
.v3-modal-stat .l { font-size:9.5px; letter-spacing:1.3px; color:rgba(255,255,255,.72); }

/* Form panel */
.v3-modal-form { padding:46px 40px 36px; background:#fff; }
.v3-modal-form-stamp { display:inline-flex; align-items:center; gap:7px; padding:5px 13px; border-radius:999px; background:#f6efe1; border:1px solid #eadfca; color:#8c6a2a; font-size:10px; letter-spacing:1.6px; margin-bottom:14px; }
.v3-modal-form-stamp .fa { font-size:10px; color:#b08d47; }
.v3-modal-form-title { font-size:28px; color:#3a2c12; letter-spacing:-.5px; margin-bottom:8px; }
.v3-modal-form-sub { font-size:13.5px; line-height:1.55; color:#7a6f5e; margin-bottom:24px; }
.v3-modal-form .v3-field { margin-bottom:16px; }
.v3-modal-form .v3-field label:not(.error) { font-size:11px; letter-spacing:1.2px; color:#7a6f5e; margin-bottom:7px; }
.v3-modal-form .v3-field input { height:48px; background:#fbf8f2; border:1px solid #e8dfcf; border-radius:10px; color:#3a2c12; transition:border-color .25s, box-shadow .25s, background-color .25s; }
.v3-modal-form .v3-field input:focus { background:#fff; border-color:#b08d47; box-shadow:0 0 0 4px rgba(176,141,71,.14); }
.v3-modal-form .v3-field input::placeholder { color:#b3a78f; }
.v3-modal-form .v3-field .input-wrap > .fa { color:#b08d47; }
.v3-modal-form .v3-consent { margin:4px 0 20px !important; color:#7a6f5e !important; }
.v3-modal-form .v3-submit { height:52px; border-radius:999px; letter-spacing:1.6px; box-shadow:0 14px 30px -14px rgba(140,106,42,.8); }

@media (max-width:767px) {
    .v3-modal-overlay { padding:12px; align-items:flex-end; }
    .v3-modal { margin:0; border-radius:20px; max-height:94vh; }
    .v3-modal-form { padding:30px 22px 24px !important; max-height:94vh !important; }
    .v3-modal-form-stamp { margin-right:48px; }
    .v3-modal-form-title { font-size:23px; }
    .v3-modal-form-sub { margin-bottom:20px; }
    .v3-modal-close { top:14px; right:14px; width:36px; height:36px; font-size:22px; }
}
@media (max-width:380px) {
}
@media (prefers-reduced-motion:reduce) {
    .v3-modal, .v3-modal-close { transition:none; }
}

/* Enquiry modal: compact height */
.v3-modal { max-width:860px; }
.v3-modal-grid { min-height:0; }
.v3-modal-image { min-height:0; }
.v3-modal-image-overlay { padding:28px 28px 26px; }
.v3-modal-eyebrow { margin-bottom:12px; }
.v3-modal-image-title { font-size:28px; margin-bottom:10px; }
.v3-modal-image-desc { font-size:13px; margin-bottom:16px; }
.v3-modal-stat { padding:10px 8px; }
.v3-modal-stat .n { font-size:17px; margin-bottom:3px; }
.v3-modal-form { padding:30px 32px 24px; justify-content:flex-start; }
.v3-modal-form-stamp { margin-bottom:10px; }
.v3-modal-form-title { font-size:24px; margin-bottom:4px; }
.v3-modal-form-sub { font-size:13px; margin-bottom:16px; }
.v3-modal-form .v3-field { margin-bottom:11px; }
.v3-modal-form .v3-field label:not(.error) { margin-bottom:5px; }
.v3-modal-form .v3-field input { height:42px; }
.v3-modal-form label.error { margin-top:4px; }
.v3-modal-form .v3-consent { margin:2px 0 14px !important; font-size:11.5px !important; }
.v3-modal-form .v3-submit { height:46px; }
@media (max-width:767px) {
    .v3-modal-form { padding:24px 20px 20px !important; }
    .v3-modal-form-title { font-size:21px; }
}

/* Enquiry modal: mobile layout (centered card with branded header) */
.v3-modal-form .v3-field .input-wrap > .fa { width:16px !important; text-align:center; }
.v3-modal-form .v3-field .input-wrap > .fa-mobile { font-size:19px; }
@media (max-width:767px) {
    .v3-modal-overlay { align-items:center; padding:16px; }
    .v3-modal { border-radius:18px; max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); }
    .v3-modal-form { padding:0 !important; max-height:calc(100vh - 32px) !important; max-height:calc(100dvh - 32px) !important; }
    .v3-modal-form-head { position:relative; overflow:hidden; padding:20px 20px 18px; color:#fff; background:linear-gradient(135deg, #7d5e24 0%, #8c6a2a 55%, #a8853d 100%); }
    .v3-modal-form-head::after { content:""; position:absolute; right:-40px; top:-40px; width:130px; height:130px; border-radius:50%; border:1px solid rgba(255,255,255,.18); box-shadow:0 0 0 20px rgba(255,255,255,.05); pointer-events:none; }
    .v3-modal-form-stamp { margin:0 0 10px; background:rgba(255,255,255,.16); border-color:transparent; color:#fff; font-size:9.5px; padding:4px 11px; }
    .v3-modal-form-stamp .fa { color:#f3d999; }
    .v3-modal-form-title { font-size:21px; color:#fff; margin:0 44px 4px 0; }
    .v3-modal-form-sub { font-size:12.5px; color:rgba(255,255,255,.85); margin:0; }
    .v3-modal-form form { padding:18px 20px 20px; }
    .v3-modal-close { top:12px; right:12px; width:34px; height:34px; font-size:20px; background:rgba(255,255,255,.18); border-color:rgba(255,255,255,.35); color:#fff; box-shadow:none; }
    .v3-modal-close:hover { background:#fff; color:#8c6a2a; border-color:#fff; }
    .v3-modal-form .v3-field { margin-bottom:12px; }
    .v3-modal-form .v3-field label:not(.error) { font-size:10.5px; }
    .v3-modal-form .v3-field input { height:44px; font-size:15px; }
    .v3-modal-form .v3-consent { font-size:11.5px !important; line-height:1.45 !important; }
}
@media (max-width:767px) {
    .v3-modal-form-head { padding:14px 18px 13px; }
    .v3-modal-form-head::after { width:100px; height:100px; right:-34px; top:-34px; box-shadow:0 0 0 14px rgba(255,255,255,.05); }
    .v3-modal-form-stamp { font-size:8.5px; letter-spacing:1.3px; padding:3px 9px; margin-bottom:7px; gap:5px; }
    .v3-modal-form-stamp .fa { font-size:8px; }
    .v3-modal-form-title { font-size:18px; line-height:1.2; margin:0 40px 3px 0; letter-spacing:-.3px; }
    .v3-modal-form-sub { font-size:11.5px; line-height:1.45; }
    .v3-modal-close { top:10px; right:10px; width:30px; height:30px; font-size:18px; }
}

/* Overview: tighter gap between stacked description paragraphs */
#v3-hero .v3-hero-desc:has(+ .v3-hero-desc) { margin-bottom:14px; }
