@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--navy:#101f2b;--navy2:#1c3443;--gold:#c7a66a;--gold-light:#e7d5ad;--ink:#1c2831;--muted:#697782; --text: #243449;--bg:#f7f5f0;--line:#e6e0d5;--white:#fff;--radius:3px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:95px}
body{font-family:'DM Sans',Arial,sans-serif;color:var(--ink);line-height:1.7;background:#fff;font-size:15px}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}
.container{width:min(1210px,90%);margin-inline:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(16,31,43,.1)}
.nav{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.brand{font-size:18px;font-weight:700;letter-spacing:1.2px;color:var(--navy);white-space:nowrap}.brand span{color:#ad8746}
.nav-links{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}
.nav-links a:not(.btn){position:relative}.nav-links a:not(.btn):after{content:'';position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--gold);transition:right .25s}.nav-links a:not(.btn):hover:after{right:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 23px;border:1px solid transparent;border-radius:2px;font-weight:700;font-size:11px;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:all .25s}
.btn-gold{background:var(--gold);color:#17242d}.btn-gold:hover{background:var(--gold-light);transform:translateY(-2px)}
.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:#294252;transform:translateY(-2px)}
.btn-outline{border-color:rgba(255,255,255,.65);color:#fff;background:transparent}.btn-outline:hover{background:#fff;color:var(--navy)}
.hero{position:relative;isolation:isolate;min-height:640px;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(8,20,29,.9) 0%,rgba(10,26,37,.73) 49%,rgba(10,26,37,.22) 100%),url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=2000&q=90') center/cover no-repeat}
.hero:after{content:'';position:absolute;z-index:-1;inset:18px;border:1px solid rgba(231,213,173,.35);pointer-events:none}
.hero-inner{padding:100px 0 105px;max-width:1210px;width:90%;margin:auto}
.eyebrow{display:inline-flex;align-items:center;gap:13px;color:var(--gold-light);text-transform:uppercase;letter-spacing:3px;font-size:10px;font-weight:700;margin-bottom:23px}.eyebrow:before{content:'';width:32px;height:1px;background:currentColor}
h1,h2,.featured-copy h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-.7px}
h1{font-size:clamp(42px,6.1vw,76px);line-height:1.08;max-width:800px;margin-bottom:24px}
.hero p{max-width:610px;color:#e0e5e7;font-size:16px;line-height:1.9;margin-bottom:33px}.hero-actions{display:flex;flex-wrap:wrap;gap:13px}
.trust-strip{border-bottom:1px solid var(--line);background:#fff}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);padding:28px 0}.trust-item{text-align:center;padding:8px 15px;border-right:1px solid var(--line)}.trust-item:last-child{border:0}.trust-item strong{display:block;color:var(--navy);font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:20px}.trust-item span{font-size:10px;color:var(--muted);letter-spacing:1.1px;text-transform:uppercase}
.section{padding:100px 0}.section-alt{background:var(--bg)}.section-head{max-width:760px;text-align:center;margin:0 auto 48px}.section-head .eyebrow{color:#9a7944;margin-bottom:13px}.section-head .eyebrow:before{display:none}
h2{color:var(--navy);font-size:clamp(32px,4vw,48px);line-height:1.18;margin-bottom:18px}.section-head p,.lead{color:var(--muted);font-size:14px;line-height:1.9;max-width:680px;margin-inline:auto}
.featured{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center}.featured-image{min-height:510px;position:relative;background:#dbe2e4}.featured-image:after{content:'';position:absolute;inset:15px;border:1px solid rgba(255,255,255,.6);pointer-events:none}.featured-image img{width:100%;height:100%;min-height:510px;object-fit:cover;display:block;filter:saturate(.78)}
.pill{display:inline-block;padding:7px 12px;border:1px solid #d5c39f;color:#8d6b35;background:transparent;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1.6px;margin-bottom:18px}.featured-copy h2{text-align:left;font-size:clamp(34px,4vw,49px);margin-bottom:12px}.featured-copy .location{color:#8a6b3d;font-size:12px;letter-spacing:.5px;margin:0 0 19px}.featured-copy p{color:#5d6a73;font-size:14px;line-height:1.95;margin-bottom:16px}.check-list{list-style:none;display:grid;gap:11px;margin:22px 0 29px}.check-list li{padding-left:26px;position:relative;color:#34434d;font-size:13px}.check-list li:before{content:'✓';position:absolute;left:0;top:0;color:#aa884d;font-weight:700}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ded8cc;border:1px solid #ded8cc}.info-card{padding:36px 31px;background:var(--bg);transition:background .25s}.info-card:hover{background:#fff}.info-icon{width:48px;height:48px;border:1px solid #d4c29f;display:grid;place-items:center;color:#9a7944;font-size:22px;margin-bottom:24px}.info-card h3{font-family:'Playfair Display',Georgia,serif;font-size:22px;font-weight:500;color:var(--navy);margin-bottom:10px}.info-card p{font-size:13px;line-height:1.9;color:var(--muted)}
.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:start}.content-grid h2{text-align:left}.content-grid p{font-size:14px;line-height:1.95;color:#586671;margin-bottom:17px}.notice{padding:18px 20px;background:#f6f0e4;border-left:2px solid var(--gold);font-size:12px;line-height:1.8;color:#64543a;margin-top:22px}
.faq-list{max-width:860px;margin:0 auto;display:grid;gap:0}details{border-bottom:1px solid #ddd7cc;background:transparent;padding:21px 3px}details:first-child{border-top:1px solid #ddd7cc}summary{cursor:pointer;color:var(--navy);font-family:'Playfair Display',Georgia,serif;font-size:19px;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:15px}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-family:'DM Sans',sans-serif;font-size:22px;color:#a8874f}details[open] summary:after{content:'−'}details p{color:var(--muted);font-size:13px;line-height:1.9;padding:13px 30px 2px 0}details a{text-decoration:underline;text-underline-offset:3px}
.cta{background:var(--navy);color:#fff;padding:72px 0;position:relative;overflow:hidden}.cta:after{content:'DP';position:absolute;right:3%;bottom:-95px;font-family:'Playfair Display',Georgia,serif;font-size:300px;color:rgba(255,255,255,.035);line-height:1;pointer-events:none}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px;position:relative;z-index:1}.cta h2{color:#fff;margin-bottom:12px;font-size:clamp(31px,4vw,44px)}.cta p{color:#c6d0d5;max-width:680px;font-size:13px;line-height:1.9}
.footer{background:#09151e;color:#fff;padding:52px 0 22px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:42px;padding-bottom:35px}.footer h3{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:17px;color:#e6d5b3}.footer p,.footer a{font-size:12px;line-height:1.9;color:#aebbc3}.footer p{max-width:440px;margin-top:15px}.footer-links{display:grid;gap:8px}.footer a:hover{color:var(--gold-light)}.copyright{border-top:1px solid #ffffff1c;padding-top:19px;text-align:center;color:#84949e;font-size:11px;letter-spacing:.3px}
.modal-backdrop{position:fixed;inset:0;background:rgba(4,13,20,.82);backdrop-filter:blur(7px);z-index:200;display:none;align-items:center;justify-content:center;padding:18px;overflow-y:auto}.modal-backdrop.open{display:flex}.modal{position:relative;background:#fff;width:min(550px,100%);max-height:calc(100vh - 36px);overflow-y:auto;padding:35px;box-shadow:0 25px 90px #0005;border-top:3px solid var(--gold)}.modal-close{position:absolute;right:16px;top:15px;border:1px solid #e5e0d7;background:#f8f6f1;width:36px;height:36px;border-radius:50%;font-size:23px;cursor:pointer;color:var(--navy)}.modal h2{font-size:32px;padding-right:34px;margin-bottom:6px}.modal-intro{color:var(--muted);font-size:12px;margin-bottom:23px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:700;color:#394852;letter-spacing:.4px}.field input,.field textarea{width:100%;border:1px solid #d7dcd9;border-radius:2px;padding:13px 12px;outline:none;background:#fff;color:var(--ink);font-size:13px}.field input:focus,.field textarea:focus{border-color:#9a7944;box-shadow:0 0 0 3px #c7a66a20}.field textarea{min-height:105px;resize:vertical}.captcha-box{padding:15px;background:#f7f5f0;border:1px solid #e7e0d3}.captcha-question{font-size:12px!important;color:var(--navy)!important;margin-bottom:2px}.captcha-row{display:flex;gap:10px;align-items:center}.captcha-row input{max-width:150px}.captcha-help{font-size:10px;color:var(--muted);margin-top:7px}.form-submit{width:100%;margin-top:17px}.form-privacy{font-size:10px;color:var(--muted);line-height:1.7;margin-top:11px}.form-alert{padding:12px 14px;margin-bottom:16px;font-size:12px}.form-alert.error{background:#fff0f0;color:#a11b1b;border:1px solid #f4caca}.form-alert.success{background:#edf9f0;color:#176534;border:1px solid #bfe6c8}.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media(max-width:900px){.featured,.content-grid{grid-template-columns:1fr;gap:38px}.featured-image,.featured-image img{min-height:380px}.info-grid{grid-template-columns:1fr 1fr}.nav-links{gap:15px}.section{padding:75px 0}}
@media(max-width:620px){.nav{padding:15px 0;min-height:auto;align-items:flex-start;flex-direction:column;gap:14px}.brand{font-size:16px}.nav-links{width:100%;justify-content:space-between;gap:8px;font-size:10px}.nav-links .btn{padding:9px 10px;font-size:9px}.hero{min-height:560px}.hero:after{inset:9px}.hero-inner{padding:75px 0}.hero p{font-size:14px}.trust-grid{grid-template-columns:1fr;padding:12px 0}.trust-item{border-right:0;border-bottom:1px solid var(--line);padding:13px}.trust-item:last-child{border-bottom:0}.section{padding:58px 0}.featured-image,.featured-image img{min-height:280px}.info-grid,.footer-grid{grid-template-columns:1fr}.info-card{padding:27px}.cta-inner{align-items:flex-start;flex-direction:column}.modal{padding:27px 19px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.hero-actions .btn{width:100%}summary{font-size:17px}}
 
/* FEATURED PROJECTS */
.featured-projects {
    padding: 100px 0;
    background: #f7f5f0;
    color: #1c2831;
    font-family: 'DM Sans', Arial, sans-serif;
}

.fp-container {
    width: min(1210px, 90%);
    margin: 0 auto;
}

.fp-heading {
    max-width: 760px;
    margin: 0 auto 52px;
    text-align: center;
}

.fp-eyebrow {
    display: inline-block;
    margin-bottom: 16px;
    color: #9a7944;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;
}

.fp-heading h2 {
    margin: 0 0 18px;
    color: #101f2b;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 500;
    line-height: 1.2;
}

.fp-heading p {
    max-width: 660px;
    margin: 0 auto;
    color: #697782;
    font-size: 14px;
    line-height: 1.9;
}

.fp-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    align-items: stretch;
}

.fp-card {
    min-width: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e6e0d5;
    transition: transform .3s ease, box-shadow .3s ease;
}

.fp-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 42px rgba(16, 31, 43, .10);
}

.fp-image {
    position: relative;
    display: block;
    height: 255px;
    overflow: hidden;
    background: #e7e9e7;
}

.fp-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.fp-card:hover .fp-image img {
    transform: scale(1.06);
}

.fp-badge {
    position: absolute;
    top: 17px;
    left: 17px;
    padding: 8px 12px;
    background: #c7a66a;
    color: #17242d;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.fp-content {
    display: flex;
    flex-direction: column;
    padding: 26px;
    height: calc(100% - 255px);
}

.fp-location {
    display: block;
    margin-bottom: 12px;
    color: #947344;
    font-size: 11px;
    line-height: 1.7;
}

.fp-content h3 {
    margin: 0 0 13px;
    color: #101f2b;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 25px;
    font-weight: 500;
    line-height: 1.35;
}

.fp-content h3 a:hover {
    color: #a58247;
}

.fp-content p {
    flex-grow: 1;
    margin: 0 0 24px;
    color: #697782;
    font-size: 13px;
    line-height: 1.9;
}

.fp-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: auto;
}

.fp-btn {
    display: inline-flex;
    min-height: 45px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 14px;
    border: 1px solid transparent;
    border-radius: 2px;
    font-family: inherit;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .6px;
    text-align: center;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .25s ease, color .25s ease;
}

.fp-actions .fp-btn {
    flex: 1 1 130px;
}

.fp-btn-dark {
    background: #101f2b;
    color: #fff;
}

.fp-btn-dark:hover {
    background: #294252;
    color: #fff;
}

.fp-btn-gold {
    background: #c7a66a;
    color: #17242d;
}

.fp-btn-gold:hover {
    background: #e7d5ad;
    color: #17242d;
}

.fp-bottom {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 48px;
    padding-top: 30px;
    border-top: 1px solid #e1dbd0;
    text-align: center;
}

.fp-bottom p {
    color: #52616b;
    font-size: 14px;
}

@media (max-width: 1000px) {
    .fp-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
    }

    .fp-image {
        height: 230px;
    }

    .fp-content {
        height: calc(100% - 230px);
        padding: 23px;
    }
}

@media (max-width: 640px) {
    .featured-projects {
        padding: 60px 0;
    }

    .fp-container {
        width: 90%;
    }

    .fp-heading {
        margin-bottom: 32px;
    }

    .fp-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .fp-image {
        height: 240px;
    }

    .fp-content {
        height: auto;
        min-height: 255px;
        padding: 22px;
    }

    .fp-content h3 {
        font-size: 24px;
    }

    .fp-actions .fp-btn {
        flex: 1 1 120px;
    }

    .fp-bottom {
        flex-direction: column;
        gap: 15px;
        margin-top: 32px;
    }
}



        /* Thank you hero */
        .thankyou-hero {
            position: relative;
            overflow: hidden;
            background:
                radial-gradient(
                    circle at 85% 15%,
                    rgba(201, 154, 67, .17),
                    transparent 29%
                ),
                linear-gradient(135deg, var(--navy2), var(--navy) 65%, #173c63);
            color: var(--white);
            padding: 88px 20px 96px;
            text-align: center;
        }

        .thankyou-hero::before,
        .thankyou-hero::after {
            content: "";
            position: absolute;
            border: 1px solid rgba(255, 255, 255, .09);
            border-radius: 50%;
            pointer-events: none;
        }

        .thankyou-hero::before {
            width: 390px;
            height: 390px;
            top: -220px;
            left: -130px;
        }

        .thankyou-hero::after {
            width: 500px;
            height: 500px;
            right: -250px;
            bottom: -300px;
        }

        .thankyou-content {
            position: relative;
            z-index: 1;
            max-width: 800px;
            margin: 0 auto;
        }

        .success-icon {
            width: 96px;
            height: 96px;
            margin: 0 auto 27px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            border: 1px solid rgba(245, 230, 198, .8);
            background: rgba(201, 154, 67, .13);
            color: var(--gold-light);
            box-shadow: 0 0 0 12px rgba(255, 255, 255, .035);
        }

        .success-icon svg {
            width: 47px;
            height: 47px;
        }

        .eyebrow {
            display: inline-block;
            margin-bottom: 15px;
            color: #f1d59f;
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 3px;
            text-transform: uppercase;
        }

        .thankyou-content h1 {
            margin: 0 0 20px;
            color: var(--white);
            font-size: clamp(34px, 5vw, 55px);
            line-height: 1.16;
            letter-spacing: -1.5px;
        }

        .thankyou-content h1 span {
            color: #edc77f;
        }

        .thankyou-content > p {
            max-width: 660px;
            margin: 0 auto;
            color: #d9e3ee;
            font-size: 17px;
        }

        .success-label {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            margin-top: 28px;
            padding: 9px 17px;
            border: 1px solid rgba(255, 255, 255, .18);
            border-radius: 50px;
            background: rgba(255, 255, 255, .07);
            color: #fff;
            font-size: 13px;
        }

        .success-label span {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: #72d6a0;
        }

        /* Main confirmation card */
        .confirmation-section {
            padding: 0 20px 75px;
        }

        .confirmation-card {
            width: min(940px, 100%);
            margin: -38px auto 0;
            position: relative;
            z-index: 1;
            padding: 42px;
            border: 1px solid #e9edf2;
            border-radius: 20px;
            background: var(--white);
            box-shadow: 0 22px 65px rgba(16, 45, 79, .09);
        }

        .confirmation-card h2 {
            margin: 0 0 12px;
            color: var(--navy);
            font-size: 27px;
            line-height: 1.35;
        }

        .confirmation-card > p {
            margin: 0;
            color: var(--muted);
            font-size: 15px;
        }

        .steps-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 20px;
            margin-top: 34px;
        }

        .step {
            padding: 23px 20px;
            border: 1px solid #edf0f4;
            border-radius: 13px;
            background: #fbfcfe;
        }

        .step-number {
            display: inline-flex;
            width: 42px;
            height: 42px;
            align-items: center;
            justify-content: center;
            border-radius: 12px;
            background: var(--gold-light);
            color: var(--navy);
            font-size: 17px;
            font-weight: 800;
        }

        .step h3 {
            margin: 16px 0 7px;
            color: var(--navy);
            font-size: 16px;
        }

        .step p {
            margin: 0;
            color: var(--muted);
            font-size: 13px;
            line-height: 1.8;
        }

        /* Buttons */
        .action-buttons {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 14px;
            margin-top: 34px;
        }

        .action-btn {
            display: inline-flex;
            min-height: 51px;
            align-items: center;
            justify-content: center;
            gap: 10px;
            padding: 13px 23px;
            border: 1px solid transparent;
            border-radius: 7px;
            font-size: 14px;
            font-weight: 700;
            transition: .2s ease;
        }

        .action-btn-primary {
            background: var(--gold);
            color: #17283c;
        }

        .action-btn-primary:hover {
            background: #e0b665;
            transform: translateY(-2px);
        }

        .action-btn-secondary {
            border-color: #d8e0e9;
            background: var(--white);
            color: var(--navy);
        }

        .action-btn-secondary:hover {
            border-color: var(--navy);
            background: #f5f8fc;
        }

        /* Reassurance banner */
        .help-banner {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
            margin-top: 28px;
            padding: 26px 30px;
            border-radius: 14px;
            background: #eef3f8;
        }

        .help-banner h3 {
            margin: 0 0 5px;
            color: var(--navy);
            font-size: 17px;
        }

        .help-banner p {
            margin: 0;
            color: var(--muted);
            font-size: 13px;
        }

        .help-banner a {
            flex-shrink: 0;
            color: var(--navy);
            font-size: 14px;
            font-weight: 700;
        }

        .help-banner a:hover {
            color: #a97823;
        }
        
        
        
        
            @media (max-width: 760px) {
          
            .thankyou-hero {
                padding: 68px 20px 78px;
            }

            .thankyou-content h1 {
                letter-spacing: -.7px;
            }

            .thankyou-content > p {
                font-size: 15px;
            }

            .confirmation-card {
                padding: 28px 22px;
                border-radius: 15px;
            }

            .confirmation-card h2 {
                font-size: 23px;
            }

            .steps-grid {
                grid-template-columns: 1fr;
                gap: 13px;
            }

            .step {
                padding: 19px;
            }

            .step h3 {
                margin-top: 10px;
            }

            .help-banner {
                align-items: flex-start;
                flex-direction: column;
                padding: 23px;
            }
 
        }

        @media (max-width: 420px) {
          
            .action-buttons {
                flex-direction: column;
            }

            .action-btn {
                width: 100%;
            }

            .success-icon {
                width: 82px;
                height: 82px;
            }
        }

        @media (prefers-reduced-motion: reduce) {
            html {
                scroll-behavior: auto;
            }

            *,
            *::before,
            *::after {
                transition: none !important;
            }
        }