
    :root {
        --v2-sage: #5d7a5e;
        --v2-sage-dark: #3f5640;
        --v2-cream: #f3ecd8;
        --v2-sand: #ebe1c4;
        --v2-clay: #c89878;
        --v2-bark: #2d3a2e;
        --v2-soft: #faf6ec;
    }
    body { background:#faf6ec; color:#2d3a2e; font-family:'Outfit',sans-serif; }
    .v2-serif { font-family:'Cormorant Garamond', serif; letter-spacing:.5px; }

    .v2-nav { position:fixed; top:0; left:0; right:0; z-index:100; background:rgba(250,246,236,0.92); backdrop-filter:blur(12px); border-bottom:1px solid rgba(93,122,94,0.12); padding:14px 0; }
    .v2-nav-inner { display:flex; align-items:center; justify-content:space-between; max-width:1320px; margin:0 auto; padding:0 30px; }
    .v2-nav-logos { display:flex; align-items:center; gap:18px; }
    .v2-nav-logos img { height:42px; width:auto; }
    .v2-nav-sep { width:1px; height:32px; background:rgba(93,122,94,0.25); }
    .v2-nav-links { display:flex; align-items:center; gap:28px; list-style:none; padding:0; margin:0; }
    .v2-nav-links li a { font-size:13px; font-weight:500; color:var(--v2-bark); text-decoration:none; letter-spacing:.4px; transition:color .25s; }
    .v2-nav-links li a:hover { color:var(--v2-sage); }
    .v2-nav-cta { background:var(--v2-sage); color:#fff !important; padding:10px 22px; border-radius:30px; transition:background .25s; }
    .v2-nav-cta:hover { background:var(--v2-sage-dark); color:#fff !important; }
    .v2-burger { display:none; background:none; border:none; font-size:24px; color:var(--v2-bark); }

    .v2-hero { position:relative; padding:60px 0 50px; background:linear-gradient(120deg,#f3ecd8 0%,#ebe1c4 100%); overflow:hidden; }
    .v2-hero::before { content:""; position:absolute; right:-150px; top:-100px; width:600px; height:600px; border-radius:50%; background:radial-gradient(circle, rgba(93,122,94,0.18) 0%, transparent 70%); }
    .v2-hero::after { content:""; position:absolute; left:-200px; bottom:-200px; width:700px; height:700px; border-radius:50%; background:radial-gradient(circle, rgba(200,152,120,0.15) 0%, transparent 70%); }
    .v2-hero-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:60px; align-items:center; max-width:1320px; margin:0 auto; padding:0 30px; position:relative; z-index:2; }
    .v2-eyebrow { display:inline-flex; align-items:center; gap:10px; background:rgba(93,122,94,0.1); color:var(--v2-sage-dark); padding:8px 18px; border-radius:30px; font-size:12px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:25px; }
    .v2-eyebrow .dot { width:7px; height:7px; border-radius:50%; background:var(--v2-sage); animation:v2pulse 2s infinite; }
    @keyframes v2pulse { 0%,100% {opacity:1;} 50% {opacity:.4;} }
    .v2-hero h1 { font-family:'Cormorant Garamond',serif; font-size:64px; line-height:1.05; font-weight:600; color:var(--v2-bark); margin:0 0 20px; }
    .v2-hero h1 em { font-style:italic; color:var(--v2-sage); }
    .v2-hero p.lead { font-size:18px; line-height:1.7; color:#4a5a4b; max-width:520px; margin-bottom:32px; }
    .v2-hero-stats { display:flex; gap:40px; flex-wrap:wrap; }
    .v2-hero-stat { padding-left:18px; border-left:2px solid var(--v2-sage); }
    .v2-hero-stat .n { font-family:'Cormorant Garamond',serif; font-size:36px; font-weight:600; color:var(--v2-bark); line-height:1; display:block; }
    .v2-hero-stat .l { font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:#6a7a6c; }

    .v2-form-card { background:#fff; border-radius:20px; padding:34px 30px; box-shadow:0 30px 80px -30px rgba(45,58,46,0.25); position:relative; }
    .v2-form-card::before { content:""; position:absolute; top:-12px; left:30px; right:30px; height:4px; background:linear-gradient(90deg,var(--v2-sage), var(--v2-clay)); border-radius:2px; }
    .v2-form-card h3 { font-family:'Cormorant Garamond',serif; font-size:30px; color:var(--v2-bark); margin:0 0 6px; font-weight:600; }
    .v2-form-card .sub { font-size:14px; color:#6a7a6c; margin-bottom:24px; }
    .v2-field { margin-bottom:16px; }
    .v2-field label { display:block; font-size:11px; letter-spacing:1.2px; text-transform:uppercase; color:#6a7a6c; margin-bottom:6px; font-weight:600; }
    .v2-field-wrap { position:relative; }
    .v2-field-wrap .fa { position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--v2-sage); font-size:14px; }
    .v2-field input, .v2-field select { width:100%; height:46px; border:1px solid rgba(93,122,94,0.25); background:#faf6ec; padding:0 14px 0 38px; border-radius:10px; font-size:14px; color:var(--v2-bark); outline:none; transition:all .2s; font-family:inherit; }
    .v2-field input:focus, .v2-field select:focus { border-color:var(--v2-sage); background:#fff; }
    .v2-consent { display:flex; gap:8px; align-items:flex-start; font-size:12px; color:#6a7a6c; margin:14px 0 18px; }
    .v2-consent input { margin-top:3px; accent-color:var(--v2-sage); }
    .v2-submit { width:100%; background:var(--v2-sage); color:#fff; border:none; height:50px; border-radius:10px; font-size:14px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; cursor:pointer; transition:all .25s; }
    .v2-submit:hover { background:var(--v2-sage-dark); transform:translateY(-2px); }

    .v2-section { padding:50px 0; }
    .v2-container { max-width:1320px; margin:0 auto; padding:0 30px; }
    .v2-sec-eyebrow { display:flex; justify-content:center; align-items:center; gap:14px; margin-bottom:18px; }
    .v2-sec-eyebrow .line { width:50px; height:1px; background:var(--v2-clay); }
    .v2-sec-eyebrow span { font-size:12px; letter-spacing:3px; text-transform:uppercase; color:var(--v2-clay); font-weight:600; }
    .v2-sec-title { font-family:'Cormorant Garamond',serif; font-size:48px; font-weight:600; color:var(--v2-bark); text-align:center; margin:0 0 12px; line-height:1.1; }
    .v2-sec-title em { font-style:italic; color:var(--v2-sage); }
    .v2-sec-desc { text-align:center; font-size:16px; line-height:1.7; color:#6a7a6c; max-width:680px; margin:0 auto 60px; }

    .v2-usps-section { background:#fff; }
    .v2-usp-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:30px; }
    .v2-usp { padding:42px 28px; background:linear-gradient(180deg,#faf6ec 0%,#fff 100%); border-radius:16px; text-align:center; border:1px solid rgba(93,122,94,0.1); transition:all .35s ease; position:relative; overflow:hidden; }
    .v2-usp::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--v2-sage),var(--v2-clay)); transform:scaleX(0); transform-origin:left; transition:transform .4s ease; }
    .v2-usp:hover { transform:translateY(-8px); box-shadow:0 20px 50px -20px rgba(45,58,46,0.25); }
    .v2-usp:hover::before { transform:scaleX(1); }
    .v2-usp-emoji { font-size:42px; margin-bottom:14px; }
    .v2-usp h4 { font-family:'Cormorant Garamond',serif; font-size:22px; color:var(--v2-bark); margin:0 0 10px; font-weight:600; }
    .v2-usp p { font-size:14px; color:#6a7a6c; line-height:1.6; margin:0; }

    .v2-gal-section { background:linear-gradient(180deg, #faf6ec 0%, #f3ecd8 100%); }
    .v2-gal-tabs { display:flex; justify-content:center; gap:6px; margin-bottom:40px; flex-wrap:wrap; }
    .v2-gal-tab { background:transparent; border:1px solid rgba(93,122,94,0.3); color:var(--v2-sage-dark); padding:10px 26px; border-radius:30px; font-size:12px; letter-spacing:2px; text-transform:uppercase; font-weight:600; cursor:pointer; transition:all .25s; }
    .v2-gal-tab.active, .v2-gal-tab:hover { background:var(--v2-sage); color:#fff; border-color:var(--v2-sage); }
    .v2-gal-panel { display:none; }
    .v2-gal-panel.active { display:block; }
    .v2-gal-main { border-radius:20px; overflow:hidden; box-shadow:0 30px 80px -30px rgba(45,58,46,0.3); }
    .v2-gal-main .swiper-slide img { width:100%; height:560px; object-fit:cover; display:block; }
    .v2-gal-thumbs { margin-top:18px; }
    .v2-gal-thumbs .swiper-slide { cursor:pointer; opacity:.5; transition:opacity .2s; border-radius:10px; overflow:hidden; }
    .v2-gal-thumbs .swiper-slide-thumb-active { opacity:1; }
    .v2-gal-thumbs .swiper-slide img { width:100%; height:90px; object-fit:cover; display:block; }

    .v2-ame-section { background:#fff; }
    .v2-ame-cols { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
    .v2-ame-col { background:linear-gradient(180deg, #faf6ec 0%, #fff 100%); border-radius:18px; padding:38px 32px; border:1px solid rgba(93,122,94,0.12); transition:transform .3s; }
    .v2-ame-col:hover { transform:translateY(-6px); }
    .v2-ame-col h3 { font-family:'Cormorant Garamond',serif; font-size:28px; color:var(--v2-sage-dark); margin:0 0 8px; font-weight:600; }
    .v2-ame-col .cat-sub { font-size:12px; color:var(--v2-clay); letter-spacing:2px; text-transform:uppercase; font-weight:600; margin-bottom:24px; display:block; }
    .v2-ame-list { list-style:none; padding:0; margin:0; }
    .v2-ame-list li { display:flex; align-items:center; gap:14px; padding:14px 0; border-bottom:1px dashed rgba(93,122,94,0.18); font-size:15px; color:var(--v2-bark); }
    .v2-ame-list li:last-child { border-bottom:none; }
    .v2-ame-list li .fa { width:34px; height:34px; border-radius:50%; background:rgba(93,122,94,0.1); color:var(--v2-sage); display:flex; align-items:center; justify-content:center; font-size:14px; flex-shrink:0; }

    .v2-fp-section { background:linear-gradient(180deg,#f3ecd8 0%, #faf6ec 100%); }
    .v2-fp-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
    .v2-fp-card { background:#fff; border-radius:18px; padding:36px 30px; border:1px solid rgba(93,122,94,0.12); position:relative; transition:all .35s; overflow:hidden; }
    .v2-fp-card.featured { background:linear-gradient(165deg, var(--v2-sage-dark) 0%, var(--v2-sage) 100%); color:#fff; transform:scale(1.04); box-shadow:0 25px 65px -20px rgba(63,86,64,0.5); }
    .v2-fp-card:not(.featured):hover { transform:translateY(-6px); box-shadow:0 25px 65px -25px rgba(45,58,46,0.25); }
    .v2-fp-badge { display:inline-block; background:rgba(93,122,94,0.1); color:var(--v2-sage-dark); padding:6px 14px; border-radius:20px; font-size:11px; letter-spacing:1.5px; text-transform:uppercase; font-weight:600; margin-bottom:18px; }
    .v2-fp-card.featured .v2-fp-badge { background:rgba(255,255,255,0.18); color:#fff; }
    .v2-fp-card h3 { font-family:'Cormorant Garamond',serif; font-size:30px; font-weight:600; margin:0 0 6px; }
    .v2-fp-type { font-size:13px; color:#6a7a6c; margin-bottom:24px; }
    .v2-fp-card.featured .v2-fp-type { color:rgba(255,255,255,0.78); }
    .v2-fp-detail { display:flex; justify-content:space-between; padding:12px 0; border-top:1px solid rgba(93,122,94,0.15); }
    .v2-fp-card.featured .v2-fp-detail { border-color:rgba(255,255,255,0.18); }
    .v2-fp-detail .l { font-size:11px; letter-spacing:1.3px; text-transform:uppercase; color:#6a7a6c; }
    .v2-fp-card.featured .v2-fp-detail .l { color:rgba(255,255,255,0.65); }
    .v2-fp-detail .v { font-size:14px; font-weight:600; color:var(--v2-bark); }
    .v2-fp-card.featured .v2-fp-detail .v { color:#fff; }
    .v2-fp-btn { display:block; text-align:center; width:100%; margin-top:24px; padding:13px; background:var(--v2-sage); color:#fff !important; border-radius:10px; text-decoration:none; font-size:13px; letter-spacing:1.3px; text-transform:uppercase; font-weight:600; transition:all .25s; }
    .v2-fp-card.featured .v2-fp-btn { background:var(--v2-cream); color:var(--v2-sage-dark) !important; }
    .v2-fp-btn:hover { background:var(--v2-sage-dark); transform:translateY(-2px); }
    .v2-fp-card.featured .v2-fp-btn:hover { background:#fff; }

    .v2-loc-section { background:#fff; }
    .v2-loc-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
    .v2-loc-cards { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-top:30px; }
    .v2-loc-card { background:linear-gradient(180deg,#faf6ec,#fff); border:1px solid rgba(93,122,94,0.15); border-radius:14px; padding:24px 22px; display:flex; gap:16px; align-items:center; transition:all .3s; }
    .v2-loc-card:hover { border-color:var(--v2-sage); transform:translateX(4px); }
    .v2-loc-icon { width:48px; height:48px; border-radius:14px; background:rgba(93,122,94,0.1); color:var(--v2-sage); display:flex; align-items:center; justify-content:center; font-size:20px; flex-shrink:0; }
    .v2-loc-time { display:block; font-family:'Cormorant Garamond',serif; font-size:22px; font-weight:600; color:var(--v2-bark); line-height:1.1; }
    .v2-loc-name { font-size:13px; color:#6a7a6c; }
    .v2-loc-map { border-radius:20px; overflow:hidden; box-shadow:0 30px 80px -30px rgba(45,58,46,0.3); }

    .v2-about-section { background:linear-gradient(135deg, var(--v2-sage-dark) 0%, var(--v2-sage) 100%); color:#fff; position:relative; overflow:hidden; }
    .v2-about-section::before { content:""; position:absolute; right:-200px; top:-200px; width:600px; height:600px; border-radius:50%; background:radial-gradient(circle, rgba(255,255,255,0.08) 0%, transparent 70%); }
    .v2-about-section .v2-sec-title, .v2-about-section .v2-sec-title em { color:#fff; }
    .v2-about-section .v2-sec-title em { color:var(--v2-cream); }
    .v2-about-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; position:relative; z-index:2; }
    .v2-about-left p { font-size:16px; line-height:1.8; color:rgba(255,255,255,0.85); margin-bottom:18px; }
    .v2-about-badges { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
    .v2-about-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,0.13); padding:10px 18px; border-radius:30px; font-size:13px; font-weight:500; backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,0.2); }
    .v2-about-badge .fa { color:var(--v2-cream); }
    .v2-about-stats { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
    .v2-about-stat { background:rgba(255,255,255,0.1); backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,0.18); border-radius:18px; padding:30px 26px; text-align:center; }
    .v2-about-stat .n { font-family:'Cormorant Garamond',serif; font-size:46px; font-weight:600; color:#fff; line-height:1; display:block; margin-bottom:8px; }
    .v2-about-stat .n .suf { color:var(--v2-cream); }
    .v2-about-stat .l { font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,0.75); }

    .v2-faq-section { background:#faf6ec; }
    .v2-faq-wrap { max-width:820px; margin:0 auto; }
    .v2-faq-item { background:#fff; border-radius:14px; margin-bottom:14px; border:1px solid rgba(93,122,94,0.12); overflow:hidden; transition:all .25s; }
    .v2-faq-item.open { box-shadow:0 15px 40px -15px rgba(45,58,46,0.18); }
    .v2-faq-q { padding:22px 28px; display:flex; justify-content:space-between; align-items:center; cursor:pointer; font-family:'Cormorant Garamond',serif; font-size:21px; font-weight:600; color:var(--v2-bark); }
    .v2-faq-q .fa { color:var(--v2-sage); transition:transform .3s; font-size:14px; }
    .v2-faq-item.open .v2-faq-q .fa { transform:rotate(45deg); }
    .v2-faq-a { max-height:0; overflow:hidden; transition:max-height .35s ease, padding .25s; padding:0 28px; }
    .v2-faq-item.open .v2-faq-a { max-height:300px; padding:0 28px 24px; }
    .v2-faq-a p { font-size:15px; line-height:1.7; color:#6a7a6c; margin:0; }

    .v2-contact-section { background:#fff; padding:50px 0; position:relative; }
    .v2-contact-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:60px; align-items:center; }
    .v2-contact-left h2 { font-family:'Cormorant Garamond',serif; font-size:48px; line-height:1.1; color:var(--v2-bark); margin:0 0 20px; font-weight:600; }
    .v2-contact-left h2 em { color:var(--v2-sage); font-style:italic; }
    .v2-contact-left p { font-size:17px; line-height:1.7; color:#6a7a6c; max-width:520px; margin-bottom:32px; }
    .v2-contact-info { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
    .v2-contact-info-card { padding:20px; background:#faf6ec; border-radius:14px; border:1px solid rgba(93,122,94,0.12); }
    .v2-contact-info-card .ico { width:40px; height:40px; background:var(--v2-sage); color:#fff; border-radius:10px; display:flex; align-items:center; justify-content:center; margin-bottom:12px; font-size:16px; }
    .v2-contact-info-card strong { display:block; font-size:13px; color:var(--v2-bark); margin-bottom:4px; }
    .v2-contact-info-card span { font-size:13px; color:#6a7a6c; line-height:1.5; }

    .v2-sticky { position:fixed; right:24px; bottom:24px; z-index:200; display:flex; flex-direction:column; gap:12px; }
    .v2-sticky a { display:flex; align-items:center; gap:10px; padding:14px 22px; background:var(--v2-sage); color:#fff !important; border-radius:50px; text-decoration:none; font-size:13px; font-weight:600; letter-spacing:.5px; box-shadow:0 12px 30px -8px rgba(63,86,64,0.5); transition:all .25s; }
    .v2-sticky a.wa { background:#25D366; box-shadow:0 12px 30px -8px rgba(37,211,102,0.5); }
    .v2-sticky a:hover { transform:translateY(-3px); }
    .v2-sticky a .fa { font-size:16px; }

    .v2-footer { background:var(--v2-bark); color:rgba(255,255,255,0.7); padding:60px 0 24px; }
    .v2-footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr; gap:40px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,0.1); }
    .v2-footer h5 { font-family:'Cormorant Garamond',serif; font-size:18px; color:#fff; margin:0 0 16px; font-weight:600; }
    .v2-footer ul { list-style:none; padding:0; margin:0; }
    .v2-footer ul li { margin-bottom:9px; font-size:13px; }
    .v2-footer ul li a { color:rgba(255,255,255,0.6); text-decoration:none; transition:color .2s; }
    .v2-footer ul li a:hover { color:var(--v2-cream); }
    .v2-footer .disclaimer { padding-top:24px; font-size:11px; line-height:1.7; color:rgba(255,255,255,0.4); }
    .v2-footer .copy { text-align:center; padding-top:20px; font-size:12px; color:rgba(255,255,255,0.35); }

    @media(max-width:991px){
        .v2-nav-links { display:none; }
        .v2-burger { display:block; }
        .v2-hero-grid, .v2-loc-grid, .v2-about-grid, .v2-contact-grid { grid-template-columns:1fr; gap:40px; }
        .v2-usp-grid { grid-template-columns:repeat(2,1fr); }
        .v2-ame-cols, .v2-fp-grid { grid-template-columns:1fr; }
        .v2-fp-card.featured { transform:none; }
        .v2-hero h1 { font-size:44px; }
        .v2-sec-title, .v2-contact-left h2 { font-size:36px; }
        .v2-footer-grid { grid-template-columns:1fr 1fr; }
    }
    @media(max-width:575px){
        .v2-usp-grid, .v2-contact-info { grid-template-columns:1fr; }
        .v2-about-stats { grid-template-columns:1fr 1fr; }
        .v2-loc-cards { grid-template-columns:1fr; }
        .v2-hero h1 { font-size:36px; }
        .v2-sec-title, .v2-contact-left h2 { font-size:28px; }
        .v2-footer-grid { grid-template-columns:1fr; }
        .v2-sticky { right:14px; bottom:14px; }
        .v2-sticky a { padding:12px 16px; font-size:12px; }
    }

.v2-modal-overlay { position:fixed; inset:0; background:rgba(45,58,46,0.55); 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; }
.v2-modal-overlay.open { opacity:1; pointer-events:auto; }
.v2-modal { background:#fff; border-radius:22px; width:100%; max-width:960px; max-height:92vh; overflow:hidden; box-shadow:0 50px 120px -30px rgba(45,58,46,0.45); position:relative; transform:translateY(20px) scale(.98); transition:transform .35s ease; }
.v2-modal-overlay.open .v2-modal { transform:translateY(0) scale(1); }
.v2-modal-close { position:absolute; top:18px; right:18px; z-index:5; width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,0.92); border:1px solid rgba(93,122,94,0.2); color:#2d3a2e; font-size:22px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all .25s; font-family:'Outfit',sans-serif; line-height:1; padding:0; }
.v2-modal-close:hover { background:var(--v2-sage); color:#fff; border-color:var(--v2-sage); transform:rotate(90deg); }
.v2-modal-grid { display:grid; grid-template-columns:1fr 1fr; min-height:520px; max-height:92vh; }

.v2-modal-image { position:relative; background-image:url('../images/exterior/3rdfold_HiReso_BeachAerialDayView_04-15-20261.jpg'); background-size:cover; background-position:center; min-height:300px; }
.v2-modal-image::before { content:""; position:absolute; inset:0; background:linear-gradient(160deg, rgba(63,86,64,0.25) 0%, rgba(45,58,46,0.75) 70%, rgba(45,58,46,0.88) 100%); }
.v2-modal-image-overlay { position:absolute; inset:0; padding:40px 36px; display:flex; flex-direction:column; justify-content:flex-end; color:#fff; z-index:2; }
.v2-modal-eyebrow { display:inline-flex; align-items:center; gap:10px; padding:6px 14px; background:rgba(255,255,255,0.15); backdrop-filter:blur(8px); border-radius:30px; font-size:11px; letter-spacing:2px; text-transform:uppercase; color:#fff; font-weight:600; margin-bottom:18px; width:fit-content; border:1px solid rgba(255,255,255,0.25); }
.v2-modal-image-title { font-family:'Cormorant Garamond',serif; font-size:36px; line-height:1.1; font-weight:600; margin:0 0 14px; }
.v2-modal-image-title em { font-style:italic; color:var(--v2-cream); }
.v2-modal-image-desc { font-size:14px; line-height:1.6; color:rgba(255,255,255,0.85); margin:0 0 22px; max-width:380px; }
.v2-modal-image-bullets { display:flex; flex-direction:column; gap:10px; padding-top:18px; border-top:1px solid rgba(255,255,255,0.18); }
.v2-modal-image-bullets span { font-size:13px; color:rgba(255,255,255,0.9); display:flex; align-items:center; gap:10px; }
.v2-modal-image-bullets .fa { color:var(--v2-cream); width:18px; }

.v2-modal-form { padding:46px 40px; overflow-y:auto; background:#fff; display:flex; flex-direction:column; justify-content:center; }
.v2-modal-form-stamp { display:inline-block; align-self:flex-start; padding:5px 12px; background:rgba(93,122,94,0.1); color:var(--v2-sage-dark); font-size:10px; letter-spacing:1.5px; text-transform:uppercase; font-weight:700; border-radius:20px; margin-bottom:14px; }
.v2-modal-form-title { font-family:'Cormorant Garamond',serif; font-size:32px; line-height:1.15; color:var(--v2-bark); font-weight:600; margin:0 0 6px; }
.v2-modal-form-sub { font-size:14px; color:#6a7a6c; margin:0 0 26px; }
.v2-optional { font-size:11px; color:var(--v2-clay); font-weight:400; text-transform:none; letter-spacing:0; }

.v2-modal-form label.error,
.v2-form-card label.error,
.v2-contact-section label.error { display:block; color:#b54a3a; font-size:12px; margin:6px 0 0; font-weight:500; letter-spacing:.2px; }

@media(max-width:767px) {
    .v2-modal-grid { grid-template-columns:1fr; }
    .v2-modal-image { min-height:200px; max-height:220px; }
    .v2-modal-image-overlay { padding:24px 24px 22px; }
    .v2-modal-image-title { font-size:24px; }
    .v2-modal-image-desc { font-size:13px; }
    .v2-modal-image-bullets { display:none; }
    .v2-modal-form { padding:32px 26px; }
    .v2-modal-form-title { font-size:24px; }
    .v2-modal { border-radius:18px; max-height:95vh; }
    .v2-modal-form { max-height:60vh; }
}
@media(max-width:380px) {
    .v2-modal-overlay { padding:8px; }
    .v2-modal-image { min-height:160px; max-height:170px; }
}

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

.v2-consent { display:flex !important; gap:10px !important; align-items:flex-start !important; font-size:12px !important; color:#6a7a6c !important; margin:14px 0 18px !important; line-height:1.5 !important; }
.v2-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(--v2-sage); cursor:pointer; }
.v2-consent span { flex:1 1 auto; }

.v2-form-card .v2-field input,
.v2-form-card .v2-field select,
.v2-modal-form .v2-field input,
.v2-modal-form .v2-field select { padding-left:40px !important; padding-right:14px !important; width:100% !important; box-sizing:border-box !important; }

.v2-form-card .v2-field-wrap, .v2-modal-form .v2-field-wrap { position:relative; }
.v2-form-card .v2-field-wrap > .fa,
.v2-modal-form .v2-field-wrap > .fa { position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--v2-sage); font-size:14px; z-index:1; pointer-events:none; width:auto !important; height:auto !important; }
.v2-price-line { font-size:14px; color:var(--v2-clay); letter-spacing:.5px; margin:0 0 24px; font-weight:500; }
.v2-price-line em { font-style:italic; color:var(--v2-bark); font-weight:600; }

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

.v2-offcanvas { position:fixed; inset:0; z-index:300; pointer-events:none; }
.v2-offcanvas-overlay { position:absolute; inset:0; background:rgba(45,58,46,0.55); backdrop-filter:blur(4px); opacity:0; transition:opacity .4s cubic-bezier(.4,0,.2,1); pointer-events:none; }
.v2-offcanvas-panel { position:absolute; top:0; right:0; height:100%; width:100%; max-width:100vw; background:linear-gradient(180deg, var(--v2-soft) 0%, #fff 100%); 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(45,58,46,0.35); pointer-events:auto; }
.v2-offcanvas.open { pointer-events:auto; }
.v2-offcanvas.open .v2-offcanvas-overlay { opacity:1; pointer-events:auto; }
.v2-offcanvas.open .v2-offcanvas-panel { transform:translateX(0); }
.v2-offcanvas-head { display:flex; align-items:center; justify-content:space-between; padding-bottom:22px; border-bottom:1px solid rgba(93,122,94,0.15); margin-bottom:24px; }
.v2-offcanvas-logos { display:flex; align-items:center; gap:14px; }
.v2-offcanvas-logos img { height:34px; width:auto; }
.v2-offcanvas-close { width:38px; height:38px; border:1px solid rgba(93,122,94,0.25); background:transparent; color:var(--v2-bark); font-size:24px; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; font-family:inherit; line-height:1; padding:0; transition:all .3s; }
.v2-offcanvas-close:hover { background:var(--v2-sage); color:#fff; border-color:var(--v2-sage); transform:rotate(90deg); }
.v2-offcanvas-eyebrow { display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.v2-offcanvas-eyebrow .line { width:30px; height:1px; background:var(--v2-clay); }
.v2-offcanvas-eyebrow span { font-size:11px; letter-spacing:2.5px; text-transform:uppercase; color:var(--v2-clay); font-weight:600; }
.v2-offcanvas-nav { display:flex; flex-direction:column; gap:2px; flex:1; }
.v2-offcanvas-nav a { display:block; padding:14px 0; font-family:'Cormorant Garamond',serif; font-size:24px; color:var(--v2-bark); text-decoration:none; border-bottom:1px solid rgba(93,122,94,0.1); font-weight:500; transition:color .25s, padding-left .25s; opacity:0; transform:translateX(20px); }
.v2-offcanvas.open .v2-offcanvas-nav a { animation:v2navIn .5s cubic-bezier(.4,0,.2,1) forwards; }
.v2-offcanvas.open .v2-offcanvas-nav a:nth-child(1){animation-delay:.15s}
.v2-offcanvas.open .v2-offcanvas-nav a:nth-child(2){animation-delay:.2s}
.v2-offcanvas.open .v2-offcanvas-nav a:nth-child(3){animation-delay:.25s}
.v2-offcanvas.open .v2-offcanvas-nav a:nth-child(4){animation-delay:.3s}
.v2-offcanvas.open .v2-offcanvas-nav a:nth-child(5){animation-delay:.35s}
.v2-offcanvas.open .v2-offcanvas-nav a:nth-child(6){animation-delay:.4s}
@keyframes v2navIn { to { opacity:1; transform:translateX(0); } }
.v2-offcanvas-nav a:hover { color:var(--v2-sage); padding-left:6px; }
.v2-offcanvas-nav a:last-child { border-bottom:none; }
.v2-offcanvas-foot { padding-top:22px; border-top:1px solid rgba(93,122,94,0.15); margin-top:18px; }
.v2-offcanvas-cta { display:block; width:100%; text-align:center; padding:15px; background:var(--v2-sage); color:#fff !important; text-decoration:none; border-radius:30px; font-size:13px; letter-spacing:1.5px; text-transform:uppercase; font-weight:600; margin-bottom:18px; transition:all .25s; }
.v2-offcanvas-cta:hover { background:var(--v2-sage-dark); transform:translateY(-2px); }
.v2-offcanvas-contact { display:flex; justify-content:space-between; gap:10px; }
.v2-offcanvas-contact a { flex:1; text-align:center; padding:10px; font-size:12px; color:var(--v2-bark); border:1px solid rgba(93,122,94,0.25); border-radius:8px; transition:all .25s; }
.v2-offcanvas-contact a:hover { background:var(--v2-sage); color:#fff; border-color:var(--v2-sage); }
.v2-offcanvas-contact a .fa { margin-right:6px; color:var(--v2-sage); }
.v2-offcanvas-contact a:hover .fa { color:#fff; }
body.v2-menu-open { overflow:hidden; }
@media(max-width:991px) {
    .v2-burger { display:flex; }
}

/* V2 full-width offcanvas inner layout tuning */
.v2-offcanvas-panel { padding:30px 24px 32px; }
.v2-offcanvas-head, .v2-offcanvas-eyebrow, .v2-offcanvas-nav, .v2-offcanvas-foot { max-width:560px; margin-left:auto; margin-right:auto; width:100%; }
.v2-offcanvas-nav { justify-content:center; flex:1; }
.v2-offcanvas-nav a { font-size:28px; padding:18px 0; text-align:center; border-bottom:1px solid rgba(93,122,94,0.12); }
@media(min-width:600px) {
    .v2-offcanvas-nav a { font-size:34px; padding:22px 0; }
}
html, body { overflow-x:hidden; }

/* Banner carousel */
.v2-banner-section { margin-top:0; line-height:0; padding-top:70px; }
.v2-banner-section .carousel,
.v2-banner-section .carousel-inner,
.v2-banner-section .carousel-item { line-height:0; }
.v2-banner-img { display:block !important; width:100%; height:auto; max-height:none; object-fit:cover; }

@media(max-width:767px) {
    .v2-banner-section { padding-top:66px; }
}

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