
:root{
    --navy:#0E2436;
    --navy-dark:#071521;
    --navy-light:#173A54;

    --gold:#B99A5B;
    --gold-light:#D6BD83;

    --cream:#F6F3EC;
    --cream-dark:#EDE8DD;

    --text:#292923;
    --muted:#6D6A61;

    --border:rgba(185,154,91,.28);

    --serif:'Playfair Display',serif;
    --sans:'DM Sans',sans-serif;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    background:var(--cream);
    color:var(--text);
    font-family:var(--sans);
    line-height:1.6;
    overflow-x:hidden;
	font-size:20px;
}

body.menu-open{
    overflow:hidden;
}

a{
    text-decoration:none;
    color:inherit;
}

button,
input,
textarea,
select{
    font:inherit;
}

button{
    cursor:pointer;
}

img{
    width:100%;
    display:block;
}

.container{
    width:min(1180px, calc(100% - 48px));
    margin:auto;
}

/* =====================================================
HEADER
===================================================== */

.header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:1000;

    transition:.35s ease;

    background:rgba(246,243,236,.82);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);

    border-bottom:1px solid transparent;
}

.header.scrolled{
    border-color:var(--border);
    box-shadow:0 10px 40px rgba(7,21,33,.06);
}

.header-inner{
    height:86px;

    display:flex;
    align-items:center;
    justify-content:space-between;
}

.logo{
    display:flex;
    align-items:center;
    gap:12px;
}

.logo-symbol{
    width:55px;
    height:55px;

    display:grid;
    place-items:center;

    position:relative;
}

.logo-symbol img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.logo-text{
    color:var(--navy);
    font-family:var(--serif);
    font-size:17px;
    line-height:1.1;
}

.logo-text span{
    display:block;
    margin-top:4px;

    font-family:var(--sans);
    font-size:9px;
    letter-spacing:3px;

    color:var(--gold);
}

.nav{
    display:flex;
    align-items:center;
    gap:36px;
	font-size:18px;
}

.nav-links{
    display:flex;
    gap:30px;
	font-size:18px;
}

.nav-links a{
    background:none;
    border:0;

    color:var(--text);
    font-size:18px;
    font-weight:500;

    position:relative;
    padding:8px 0;
}

.nav-links a:after{
    content:"";

    position:absolute;
    left:0;
    bottom:0;

    width:0;
    height:1px;

    background:var(--gold);

    transition:.3s;
	font-size:18px;
}

.nav-links a:hover:after,
.nav-links a.active:after{
    width:100%;
}

.header-cta{
    background:var(--navy);
    color:white;

    border:0;

    padding:13px 20px;

    font-size:17px;
    font-weight:600;

    letter-spacing:.3px;

    transition:.3s;
}

.header-cta:hover{
    background:var(--gold);
    color:var(--navy);
}

.menu-btn{
    display:none;

    width:42px;
    height:42px;

    background:none;
    border:1px solid var(--border);
}

.menu-btn span{
    display:block;
    width:20px;
    height:1px;
    background:var(--navy);
    margin:5px auto;
}

/* =====================================================
PAGE SYSTEM
===================================================== */

/* =====================================================
HERO
===================================================== */

.hero{
    min-height:100vh;

    position:relative;

    display:flex;
    align-items:center;

    overflow:hidden;

    background:
        radial-gradient(circle at 80% 30%,rgba(185,154,91,.12),transparent 30%),
        var(--cream);
}

.hero:before{
    content:"";

    position:absolute;

    width:600px;
    height:600px;

    right:-250px;
    bottom:-250px;

    border:1px solid var(--border);
    border-radius:50%;
}

.hero:after{
    content:"";

    position:absolute;

    width:400px;
    height:400px;

    right:-120px;
    bottom:-120px;

    border:1px solid var(--border);
    border-radius:50%;
}

.hero-grid{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:80px;

    align-items:center;

    padding-top:80px;
}

.hero-copy{
    position:relative;
    z-index:2;
}

.eyebrow{
    display:flex;
    align-items:center;
    gap:12px;

    color:var(--gold);

    font-size:16px;
    font-weight:600;

    letter-spacing:2px;
    text-transform:uppercase;
}

.eyebrow:before{
    content:"";
    width:35px;
    height:1px;
    background:var(--gold);
}

.hero h1{
    font-family:var(--serif);

    color:var(--navy);

    font-size:clamp(48px,6vw,82px);

    font-weight:400;

    line-height:1.02;

    max-width:760px;

    margin:24px 0;
}

.hero h1 em{
    color:var(--gold);
}

.hero-description{
    max-width:580px;

    color:var(--muted);

    font-size:18px;
}

.hero-buttons{
    display:flex;
    gap:14px;

    margin-top:36px;
}

.btn{
    padding:15px 25px;

    border:1px solid var(--navy);

    font-size:18px;
    font-weight:600;

    transition:.3s;
}

.btn-primary{
    background:var(--navy);
    color:white;
}

.btn-primary:hover{
    background:var(--gold);
    border-color:var(--gold);
    color:var(--navy);
}

.btn-outline{
    color:var(--navy);
    background:transparent;
}

.btn-outline:hover{
    background:var(--navy);
    color:white;
}

.hero-visual{
    height:650px;

    position:relative;
}

.hero-image{
    position:absolute;

    right:0;
    top:30px;

    width:78%;
    height:590px;

    overflow:hidden;
}

.hero-image img{
    height:120%;

    object-fit:cover;

    transform:translateY(-8%);

    transition:transform .1s linear;
}

.hero-image:after{
    content:"";

    position:absolute;
    inset:0;

    background:
        linear-gradient(
            180deg,
            rgba(7,21,33,0),
            rgba(7,21,33,.5)
        );
}

.hero-card{
    position:absolute;

    left:0;
    bottom:35px;

    width:260px;

    background:var(--navy);

    color:white;

    padding:28px;

    z-index:3;

    box-shadow:20px 20px 60px rgba(7,21,33,.2);
}

.hero-card small{
    color:var(--gold-light);

    text-transform:uppercase;

    letter-spacing:2px;

    font-size:16px;
}

.hero-card strong{
    display:block;

    font-family:var(--serif);

    font-size:22px;

    font-weight:400;

    line-height:1.25;

    margin-top:12px;
}

.hero-number{
    position:absolute;

    right:0;
    bottom:0;

    font-family:var(--serif);

    color:var(--gold);

    font-size:100px;

    opacity:.35;
}

/* =====================================================
MARQUEE
===================================================== */

.marquee{
    overflow:hidden;

    background:var(--navy);

    color:var(--gold-light);

    border-top:1px solid var(--gold);
    border-bottom:1px solid rgba(255,255,255,.08);
}

.marquee-track{
    display:flex;
    width:max-content;

    animation:marquee 28s linear infinite;
}

.marquee span{
    padding:18px 35px;

    font-size:17px;

    letter-spacing:2px;

    text-transform:uppercase;
}

.marquee span:after{
    content:"✦";
    margin-left:35px;
    color:var(--gold);
}

@keyframes marquee{
    from{
        transform:translateX(0);
    }

    to{
        transform:translateX(-50%);
    }
}

/* =====================================================
INTRO
===================================================== */

.section{
    padding:120px 0;
}

.section-dark{
    background:var(--navy);
    color:white;
}

.section-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;

    gap:50px;

    margin-bottom:65px;
}

.section-title{
    font-family:var(--serif);

    font-size:clamp(38px,4vw,58px);

    font-weight:400;

    color:var(--navy);

    line-height:1.1;
}

.section-dark .section-title{
    color:white;
}

.section-intro{
    max-width:470px;

    color:var(--muted);

    font-size:20px;
}

.section-dark .section-intro{
    color:var(--gold-light);
}

.intro-layout{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:100px;
}

.intro-big{
    font-family:var(--serif);

    font-size:34px;

    line-height:1.25;

    color:var(--navy);
}

.intro-text{
    color:var(--muted);

    font-size:21px;

    max-width:650px;
}

.intro-text p+p{
    margin-top:20px;
}

/* =====================================================
STATS
===================================================== */

.stats{
    display:grid;
    grid-template-columns:repeat(4,1fr);

    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);

    margin-top:90px;
}

.stat{
    padding:35px 25px;

    border-right:1px solid var(--border);
}

.stat:last-child{
    border-right:0;
}

.stat strong{
    display:block;

    font-family:var(--serif);

    color:var(--gold);

    font-size:42px;

    font-weight:400;
}

.stat span{
    color:var(--muted);

    font-size:16px;

    text-transform:uppercase;

    letter-spacing:1px;
}

/* =====================================================
ABOUT
===================================================== */

.about-layout{
    display:grid;

    grid-template-columns:.9fr 1.1fr;

    gap:100px;

    align-items:center;
}

.about-photo{
    position:relative;

    height:650px;
}

.about-photo-main{
    width:82%;
    height:580px;

    object-fit:cover;
}

.about-photo-small{
    position:absolute;

    right:0;
    bottom:0;

    width:45%;
    height:270px;

    object-fit:cover;

    border:12px solid var(--cream);
}

.about-content .eyebrow{
    margin-bottom:20px;
}

.about-content h2{
    font-family:var(--serif);

    font-weight:400;

    color:var(--navy);

    font-size:52px;

    line-height:1.1;

    margin-bottom:25px;
}

.about-content p{
    color:var(--muted);

    margin-bottom:18px;

    max-width:600px;
}

.signature{
    margin-top:35px;

    font-family:var(--serif);

    font-style:italic;

    font-size:28px;

    color:var(--navy);
}

.signature small{
    display:block;

    font-family:var(--sans);

    font-size:15px;

    font-style:normal;

    letter-spacing:1px;

    color:var(--gold);
}

/* =====================================================
SERVICES
===================================================== */

.services-intro{
    background:var(--navy);
    padding:110px 0;
}

.services-intro h1{
    font-family:var(--serif);

    font-weight:400;

    color:white;

    font-size:70px;

    line-height:1;
}

.services-intro p{
    color:var(--gold-light);

    max-width:580px;

    margin-top:25px;

    font-size:21px;
}

.service-list{
    border-top:1px solid var(--border);
}

.service-item{
    display:grid;

    grid-template-columns:100px 1fr 1fr 60px;

    gap:40px;

    align-items:center;

    padding:32px 0;

    border-bottom:1px solid var(--border);

    transition:.4s;
}

.service-item:hover{
    padding-left:20px;
    padding-right:20px;

    background:var(--cream-dark);
}

.service-number{
    color:var(--gold);

    font-family:var(--serif);

    font-size:22px;
}

.service-name{
    font-family:var(--serif);

    font-size:27px;

    color:var(--navy);
}

.service-description{
    color:var(--muted);

    font-size:19px;
}

.service-arrow{
    width:40px;
    height:40px;

    border:1px solid var(--border);

    border-radius:50%;

    display:grid;
    place-items:center;

    color:var(--gold);

    transition:.3s;
}

.service-item:hover .service-arrow{
    background:var(--navy);
    color:white;
    transform:rotate(-45deg);
}

/* =====================================================
SERVICES TIMELINE (alternating image / content)
===================================================== */

.services-timeline{
    position:relative;
}

.services-timeline:before{
    content:"";

    position:absolute;
    left:50%;
    top:0;
    bottom:0;

    width:1px;

    background:var(--border);

    transform:translateX(-50%);
}

.timeline-row{
    display:grid;
    grid-template-columns:1fr 90px 1fr;

    align-items:center;
    gap:50px;

    padding:70px 0;
}

.timeline-row:first-child{
    padding-top:0;
}

.timeline-row:last-child{
    padding-bottom:0;
}

.timeline-media{
    position:relative;

    height:340px;

    overflow:hidden;

    border:1px solid var(--border);
}

.timeline-media img{
    width:100%;
    height:100%;

    object-fit:cover;

    display:block;
}

.timeline-marker{
    position:relative;
    z-index:1;

    width:64px;
    height:64px;

    margin:0 auto;

    display:grid;
    place-items:center;

    background:var(--navy);
    color:var(--gold-light);

    border-radius:50%;
    border:4px solid var(--cream);
    box-shadow:0 0 0 1px var(--border);

    font-family:var(--serif);
    font-size:21px;
}

.timeline-content h3{
    font-family:var(--serif);
    font-weight:400;

    color:var(--navy);

    font-size:30px;

    margin-bottom:16px;
}

.timeline-content p{
    color:var(--muted);

    font-size:19px;
}

@media(max-width:900px){

    .services-timeline:before{
        left:22px;
    }

    .timeline-row{
        display:flex;
        flex-direction:column;

        gap:20px;

        padding:0 0 60px 64px;

        position:relative;
    }

    .timeline-row:last-child{
        padding-bottom:0;
    }

    .timeline-marker{
        position:absolute;
        left:-64px;
        top:0;

        width:44px;
        height:44px;

        font-size:16px;

        border-width:3px;
    }

    .timeline-media{
        order:1;
        height:220px;
    }

    .timeline-content{
        order:2;
    }

    .timeline-content h3{
        font-size:25px;
    }
}

/* =====================================================
PROCESS
===================================================== */

.process-section{
    background:var(--cream-dark);
}

.process-grid{
    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:2px;

    background:var(--border);
}

.process-card{
    background:var(--cream);

    padding:42px 30px;

    min-height:300px;

    position:relative;

    transition:.4s;
}

.process-card:hover{
    background:var(--navy);
}

.process-card:hover h3,
.process-card:hover p{
    color:white;
}

.process-number{
    font-family:var(--serif);

    color:var(--gold);

    font-size:40px;

    margin-bottom:60px;
}

.process-card h3{
    font-family:var(--serif);

    color:var(--navy);

    font-size:23px;

    font-weight:400;

    margin-bottom:15px;
}

.process-card p{
    color:var(--muted);

    font-size:18.5px;
}

/* =====================================================
VISION PLACEHOLDER
===================================================== */

.vision-placeholder{
    border:1px dashed var(--border);

    padding:70px 40px;

    text-align:center;

    font-family:var(--serif);
    font-style:italic;

    color:var(--muted);

    font-size:22px;
}

/* =====================================================
ATTORNEY BIO
===================================================== */

.attorney-bio{
    display:grid;

    grid-template-columns:.6fr 1fr;

    gap:70px;

    align-items:center;
}

.attorney-photo-placeholder{
    width:100%;
    aspect-ratio:1;

    display:grid;
    place-items:center;

    background:var(--navy);
    color:var(--gold-light);

    font-family:var(--serif);
    font-size:64px;

    border:1px solid var(--border);
}

.attorney-role{
    color:var(--gold);

    font-weight:600;

    margin-bottom:20px;
}

.attorney-bio-content p{
    color:var(--muted);

    margin-bottom:18px;

    font-size:19px;
}

.attorney-bio-content a{
    color:var(--navy);

    text-decoration:none;

    border-bottom:1px solid var(--gold);
}

.attorney-bio-content a:hover{
    color:var(--gold);
}

/* =====================================================
VALUES
===================================================== */

.values-grid{
    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:start;
}

.values-list{
    border-top:1px solid var(--border);
}

.value{
    padding:22px 0;

    border-bottom:1px solid var(--border);

    display:grid;

    grid-template-columns:80px 1fr;

    gap:20px;
}

.value span{
    color:var(--gold);

    font-size:16px;

    letter-spacing:1px;
}

.value h3{
    font-family:var(--serif);

    color:var(--navy);

    font-weight:400;

    font-size:21px;

    margin-bottom:5px;
}

.value p{
    color:var(--muted);

    font-size:18.5px;
}

/* =====================================================
CONTACT
===================================================== */

.contact-section{
    background:var(--navy);

    color:white;
}

.contact-layout{
    display:grid;

    grid-template-columns:.8fr 1.2fr;

    gap:100px;
}

.contact-title{
    font-family:var(--serif);

    color:white;

    font-size:58px;

    font-weight:400;

    line-height:1.1;

    margin:20px 0;
}

.contact-copy{
    color:var(--gold-light);

    max-width:430px;
}

.contact-details{
    margin-top:50px;

    border-top:1px solid rgba(216,199,160,.25);
}

.contact-detail{
    padding:18px 0;

    border-bottom:1px solid rgba(216,199,160,.25);
}

.contact-detail small{
    display:block;

    color:var(--gold);

    font-size:14px;

    letter-spacing:2px;

    text-transform:uppercase;

    margin-bottom:5px;
}

.contact-detail span{
    color:white;

    font-size:19px;
}

.contact-detail span a{
    color:inherit;

    text-decoration:none;
}

.contact-detail span a:hover{
    color:var(--gold-light);
}

.contact-form{
    background:var(--cream);

    padding:45px;

    color:var(--text);
}

.contact-form h3{
    font-family:var(--serif);

    color:var(--navy);

    font-size:32px;

    font-weight:400;

    margin-bottom:30px;
}

.form-grid{
    display:grid;

    grid-template-columns:1fr 1fr;

    gap:20px;
}

.form-group{
    margin-bottom:20px;
}

.form-group.full{
    grid-column:1/-1;
}

.form-group label{
    display:block;

    color:var(--muted);

    font-size:16px;

    margin-bottom:7px;
}

.form-group input,
.form-group select,
.form-group textarea{
    width:100%;

    background:transparent;

    border:0;

    border-bottom:1px solid var(--border);

    padding:11px 2px;

    outline:0;

    color:var(--text);
}

.form-group textarea{
    resize:vertical;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
    border-color:var(--gold);
}

.form-submit{
    width:100%;

    border:0;

    background:var(--navy);

    color:white;

    padding:16px;

    font-size:17px;

    font-weight:600;

    transition:.3s;
}

.form-submit:hover{
    background:var(--gold);

    color:var(--navy);
}

.honeypot{
    position:absolute;

    left:-9999px;

    width:1px;
    height:1px;

    overflow:hidden;
}

.form-message{
    display:none;

    margin-top:15px;

    background:#d9ead3;

    color:#214d1c;

    padding:12px;

    font-size:18px;
}

.form-message.show{
    display:block;
}

.form-message.error{
    background:#f4d4d4;
    color:#7a1f1f;
}

.form-submit:disabled{
    opacity:.6;
    cursor:not-allowed;
}

/* =====================================================
CTA
===================================================== */

.final-cta{
    padding:110px 0;

    text-align:center;

    background:var(--cream);
}

.final-cta h2{
    font-family:var(--serif);

    color:var(--navy);

    font-size:60px;

    font-weight:400;

    max-width:800px;

    margin:auto;

    line-height:1.05;
}

.final-cta p{
    color:var(--muted);

    margin:20px auto 30px;

    max-width:550px;
}

/* =====================================================
FOOTER
===================================================== */

.footer{
    background:var(--navy-dark);

    color:var(--gold-light);

    padding:60px 0 25px;
}

.footer-grid{
    display:grid;

    grid-template-columns:1.5fr 1fr 1fr;

    gap:70px;

    padding-bottom:45px;

    border-bottom:1px solid rgba(216,199,160,.15);
}

.footer h4{
    color:white;

    font-size:16px;

    letter-spacing:2px;

    text-transform:uppercase;

    margin-bottom:20px;
}

.footer p,
.footer li{
    font-size:18px;

    color:rgba(216,199,160,.65);
	font-size:18px;
}

.footer ul{
    list-style:none;
}

.footer li{
    margin-bottom:10px;
}

.footer button{
    border:0;

    background:none;

    color:inherit;

	font-size:18px;
}

.footer button:hover{
    color:white;
}

.footer-bottom{
    display:flex;

    justify-content:space-between;

    gap:20px;

    padding-top:22px;

    color:rgba(216,199,160,.4);

    font-size:13px;
}

/* =====================================================
REVEAL ANIMATION
===================================================== */

.reveal{
    opacity:0;

    transform:translateY(30px);

    transition:opacity .8s ease, transform .8s ease;
}

.reveal.visible{
    opacity:1;

    transform:none;
}

/* =====================================================
PAGE HEADER
===================================================== */

.page-header{
    padding:190px 0 100px;

    background:
        radial-gradient(
            circle at 85% 20%,
            rgba(185,154,91,.14),
            transparent 30%
        ),
        var(--navy);
}

.page-header .eyebrow{
    color:var(--gold-light);
}

.page-header h1{
    color:white;

    font-family:var(--serif);

    font-weight:400;

    font-size:clamp(50px,7vw,88px);

    line-height:1;

    margin-top:20px;

    max-width:850px;
}

.page-header p{
    max-width:600px;

    color:var(--gold-light);

    margin-top:25px;
}

/* =====================================================
MODAL
===================================================== */

.modal{
    position:fixed;

    inset:0;

    z-index:2000;

    display:none;

    align-items:center;
    justify-content:center;

    background:rgba(7,21,33,.75);

    padding:20px;
}

.modal.show{
    display:flex;
}

.modal-box{
    width:min(500px,100%);

    background:var(--cream);

    padding:45px;

    position:relative;
}

.modal-close{
    position:absolute;

    right:18px;
    top:18px;

    border:0;

    background:none;

    color:var(--muted);

    font-size:22px;
}

.modal-box h3{
    font-family:var(--serif);

    color:var(--navy);

    font-size:32px;

    font-weight:400;
}

.modal-box p{
    color:var(--muted);

    font-size:19px;

    margin:8px 0 25px;
}

/* =====================================================
RESPONSIVE
===================================================== */

@media(max-width:900px){

    .nav-links{
        position:fixed;

        left:0;
        top:86px;

        width:100%;

        background:var(--cream);

        display:flex;

        flex-direction:column;

        gap:0;

        max-height:0;

        overflow:hidden;

        transition:.4s;
    }

    .nav-links.open{
        max-height:500px;

        border-bottom:1px solid var(--border);
    }

    .nav-links a{
        width:100%;

        padding:18px 25px;

        text-align:left;

        border-bottom:1px solid var(--border);
    }

    .menu-btn{
        display:block;
    }

    .header-cta{
        display:none;
    }

    .hero-grid{
        grid-template-columns:1fr;

        gap:30px;
    }

    .hero{
        padding-bottom:70px;
    }

    .hero-visual{
        height:500px;
    }

    .hero-image{
        width:85%;
        height:460px;
    }

    .intro-layout,
    .about-layout,
    .contact-layout,
    .values-grid,
    .attorney-bio{
        grid-template-columns:1fr;

        gap:50px;
    }

    .attorney-photo-placeholder{
        max-width:220px;

        margin:0 auto;
    }

    .vision-placeholder{
        padding:45px 25px;

        font-size:19px;
    }

    .stats{
        grid-template-columns:1fr 1fr;
    }

    .stat:nth-child(2){
        border-right:0;
    }

    .service-item{
        grid-template-columns:50px 1fr 40px;
        gap:15px;
    }

    .service-description{
        display:none;
    }

    .process-grid{
        grid-template-columns:1fr 1fr;
    }

    .footer-grid{
        grid-template-columns:1fr 1fr;
    }

    .contact-layout{
        gap:50px;
    }
}

@media(max-width:600px){

    .container{
        width:min(100% - 32px,1180px);
    }

    .header-inner{
        height:75px;
    }

    .nav-links{
        top:75px;
    }

    .hero-grid{
        padding-top:50px;
    }

    .hero h1{
        font-size:47px;
    }

    .hero-buttons{
        flex-direction:column;
    }

    .hero-buttons .btn{
        width:100%;
        text-align:center;
    }

    .hero-visual{
        height:430px;
    }

    .hero-image{
        width:90%;
        height:400px;
    }

    .hero-card{
        width:220px;
        padding:20px;
    }

    .hero-card strong{
        font-size:18px;
    }

    .section{
        padding:80px 0;
    }

    .section-header{
        display:block;
    }

    .section-intro{
        margin-top:20px;
    }

    .stats{
        margin-top:60px;
    }

    .stat{
        padding:25px 15px;
    }

    .stat strong{
        font-size:34px;
    }

    .about-photo{
        height:480px;
    }

    .about-photo-main{
        height:430px;
    }

    .about-content h2{
        font-size:42px;
    }

    .services-intro h1{
        font-size:52px;
    }

    .service-item{
        grid-template-columns:35px 1fr 35px;
        padding:25px 0;
    }

    .service-name{
        font-size:21px;
    }

    .process-grid{
        grid-template-columns:1fr;
    }

    .process-card{
        min-height:240px;
    }

    .contact-title{
        font-size:45px;
    }

    .contact-form{
        padding:28px 20px;
    }

    .form-grid{
        grid-template-columns:1fr;
    }

    .form-group.full{
        grid-column:auto;
    }

    .final-cta h2{
        font-size:43px;
    }

    .footer-grid{
        grid-template-columns:1fr;
        gap:35px;
    }

    .footer-bottom{
        flex-direction:column;
    }
}

