:root{--teal:#2f96ad;--teal-dark:#0c6072;--teal-deep:#073d49;--orange:#f5a028;--cream:#f7f4ed;--white:#fff;--ink:#143038;--muted:#667b80;--line:rgba(13,72,84,.14);--shadow:0 24px 60px rgba(8,48,57,.14);--radius:26px;--container:min(1180px,calc(100% - 40px));}

*{box-sizing:border-box}

html{
    scroll-behavior:smooth;
    max-width:100%;
    overflow-x:hidden;
}

body{
    margin:0;
    max-width:100%;
    overflow-x:hidden;
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color:var(--ink);
    background:#fff;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
}

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

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

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

.container{
    width:var(--container);
    margin-inline:auto;
}

.skip-link{
    position:fixed;
    left:16px;
    top:-60px;
    background:#fff;
    color:#000;
    padding:10px 16px;
    z-index:9999;
    border-radius:8px;
    box-shadow:var(--shadow);
}

.skip-link:focus{
    top:16px;
}

.site-header{
    position:fixed;
    inset:0 0 auto;
    z-index:1000;
    transition:.3s;
    background:linear-gradient(180deg,rgba(0,34,42,.55),transparent);
}

.site-header.scrolled{
    background:rgba(255,255,255,.95);
    backdrop-filter:blur(16px);
    box-shadow:0 8px 30px rgba(6,45,54,.1);
}

.header-inner{
    height:92px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}

.brand{
    width:84px;
    height:76px;
    display:grid;
    place-items:center;
    background:#fff;
    border-radius:0 0 18px 18px;
    box-shadow:0 10px 30px rgba(0,0,0,.1);
    overflow:hidden;
}

.brand img{
    width:72px;
}

.main-nav{
    display:flex;
    align-items:center;
    gap:28px;
    color:#fff;
    font-weight:700;
    font-size:.94rem;
}

.site-header.scrolled .main-nav{
    color:var(--ink);
}

.main-nav a{
    position:relative;
}

.main-nav a:not(.nav-cta)::after{
    content:"";
    position:absolute;
    left:0;
    right:100%;
    bottom:-6px;
    height:2px;
    background:var(--orange);
    transition:.25s;
}

.main-nav a:hover::after{
    right:0;
}

.nav-cta{
    padding:12px 18px;
    background:var(--orange);
    color:#122f37!important;
    border-radius:999px;
}

.menu-toggle{
    display:none;
    border:0;
    background:none;
    width:46px;
    height:46px;
    padding:10px;
}

.menu-toggle span{
    display:block;
    height:2px;
    background:currentColor;
    margin:6px 0;
    transition:.25s;
}

.hero{
    min-height:900px;
    height:100svh;
    position:relative;
    display:grid;
    align-items:center;
    color:#fff;
    overflow:hidden;
}

.hero-media{
    position:absolute;
    inset:0;
    background:url('../img/sections/hero.webp') center/cover no-repeat;
    transform:scale(1.02);
}

.hero-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg,rgba(2,38,47,.88) 0%,rgba(2,45,54,.66) 47%,rgba(2,45,54,.2) 78%),
        linear-gradient(0deg,rgba(4,40,48,.55),transparent 45%);
}

.hero-content{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(320px,.55fr);
    gap:70px;
    align-items:center;
    padding-top:70px;
}

.hero-copy{
    max-width:780px;
}

.eyebrow{
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:.77rem;
    font-weight:900;
    color:#fff;
    margin:0 0 14px;
}

.eyebrow.dark{
    color:var(--teal-dark);
}

.hero h1{
    font-size:clamp(3rem,6vw,6.3rem);
    line-height:.98;
    letter-spacing:-.055em;
    margin:0 0 26px;
    max-width:900px;
}

.hero h1 strong{
    color:#fff;
    position:relative;
}

.hero h1 strong::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:.02em;
    height:.12em;
    background:var(--orange);
    z-index:-1;
    transform:skewX(-10deg);
}

.hero-copy>p:not(.eyebrow){
    font-size:clamp(1.05rem,1.5vw,1.32rem);
    max-width:660px;
    color:rgba(255,255,255,.9);
}

.hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin:34px 0;
}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:54px;
    padding:0 24px;
    border-radius:999px;
    border:1px solid transparent;
    font-weight:900;
    cursor:pointer;
    transition:.25s;
}

.btn-primary{
    background:var(--orange);
    color:#17323a;
    box-shadow:0 14px 30px rgba(245,160,40,.23);
}

.btn-primary:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 36px rgba(245,160,40,.32);
}

.btn-ghost{
    border-color:rgba(255,255,255,.55);
    color:#fff;
    background:rgba(255,255,255,.07);
    backdrop-filter:blur(8px);
}

.hero-highlights{
    list-style:none;
    margin:46px 0 0;
    padding:0;
    display:flex;
    gap:42px;
}

.hero-highlights li{
    display:grid;
}

.hero-highlights strong{
    font-size:1.55rem;
    line-height:1.1;
}

.hero-highlights span{
    font-size:.8rem;
    text-transform:uppercase;
    letter-spacing:.12em;
    color:rgba(255,255,255,.7);
}

.hero-card{
    align-self:end;
    margin-bottom:90px;
    background:rgba(255,255,255,.92);
    color:var(--ink);
    border-radius:var(--radius);
    padding:34px;
    box-shadow:var(--shadow);
    backdrop-filter:blur(12px);
}

.hero-card .badge{
    display:inline-flex;
    background:#e8f6f8;
    color:var(--teal-dark);
    padding:7px 12px;
    border-radius:999px;
    font-weight:900;
    font-size:.76rem;
    text-transform:uppercase;
    letter-spacing:.09em;
}

.hero-card h2{
    font-size:2rem;
    line-height:1.08;
    margin:20px 0;
}

.hero-card ul{
    padding-left:20px;
}

.hero-card li::marker{
    color:var(--orange);
}

.hero-card a{
    font-weight:900;
    color:var(--teal-dark);
}

.scroll-hint{
    position:absolute;
    z-index:2;
    bottom:28px;
    left:50%;
    translate:-50% 0;
    width:44px;
    height:44px;
    border:1px solid rgba(255,255,255,.5);
    border-radius:50%;
    display:grid;
    place-items:center;
    color:#fff;
    animation:bounce 2s infinite;
}

@keyframes bounce{
    50%{
        transform:translateY(7px);
    }
}

.trust-strip{
    background:#fff;
    border-bottom:1px solid var(--line);
}

.trust-grid{
    min-height:120px;
    display:grid;
    grid-template-columns:180px 150px 1fr;
    align-items:center;
    gap:34px;
}

.trust-grid>div:first-child img{
    max-width:160px;
}

.trust-grid>div:nth-child(2) img{
    max-height:72px;
    margin:auto;
}

.trust-text{
    border-left:1px solid var(--line);
    padding-left:34px;
    display:grid;
}

.trust-text strong{
    font-size:1.1rem;
}

.trust-text span{
    color:var(--muted);
}

.section{
    padding:110px 0;
}

.split-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
}

.split-grid.reverse .section-copy{
    order:2;
}

.split-grid.reverse .image-frame{
    order:1;
}

.section-copy h2,
.section-heading h2,
.partners-section h2{
    font-size:clamp(2.35rem,4vw,4.4rem);
    line-height:1.03;
    letter-spacing:-.045em;
    margin:0 0 24px;
}

.section-copy>p{
    font-size:1.08rem;
    color:var(--muted);
}

.image-frame{
    margin:0;
    position:relative;
}

.image-frame img{
    width:100%;
    aspect-ratio:8/5;
    object-fit:cover;
    border-radius:var(--radius);
    box-shadow:var(--shadow);
}

.image-frame::before{
    content:"";
    position:absolute;
    inset:24px -24px -24px 24px;
    border:2px solid var(--orange);
    border-radius:var(--radius);
    z-index:-1;
}

.image-frame figcaption{
    position:absolute;
    left:26px;
    right:26px;
    bottom:22px;
    background:rgba(5,48,58,.82);
    color:#fff;
    padding:14px 18px;
    border-radius:14px;
    font-weight:800;
    backdrop-filter:blur(8px);
}

.feature-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin-top:38px;
}

.feature-row article{
    padding:22px;
    border-radius:20px;
    background:var(--cream);
}

.feature-row span{
    color:var(--orange);
    font-weight:900;
}

.feature-row h3{
    margin:8px 0 4px;
}

.feature-row p{
    margin:0;
    color:var(--muted);
    font-size:.92rem;
}

.amenities{
    background:var(--teal-deep);
    color:#fff;
    position:relative;
    overflow:hidden;
}

.amenities::before{
    content:"";
    position:absolute;
    width:520px;
    height:520px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(47,150,173,.35),transparent 68%);
    right:-130px;
    top:-160px;
}

.section-heading{
    max-width:800px;
    margin-bottom:52px;
}

.section-heading.light{
    color:#fff;
}

.section-heading>p:not(.eyebrow){
    font-size:1.08rem;
    color:var(--muted);
}

.amenities .section-heading>p:not(.eyebrow){
    color:rgba(255,255,255,.7);
}

.amenities-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.amenity-card{
    padding:30px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:22px;
    background:rgba(255,255,255,.06);
    backdrop-filter:blur(8px);
    transition:.25s;
}

.amenity-card:hover{
    transform:translateY(-5px);
    background:rgba(255,255,255,.1);
}

.amenity-icon{
    display:grid;
    place-items:center;
    width:50px;
    height:50px;
    border-radius:16px;
    background:var(--orange);
    color:var(--ink);
    font-size:1.7rem;
    font-weight:900;
}

.amenity-card h3{
    font-size:1.25rem;
    margin:18px 0 5px;
}

.amenity-card p{
    margin:0;
    color:rgba(255,255,255,.72);
}

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

.check-list{
    list-style:none;
    padding:0;
    margin:28px 0;
}

.check-list li{
    position:relative;
    padding-left:34px;
    margin:12px 0;
    font-weight:700;
}

.check-list li::before{
    content:"✓";
    position:absolute;
    left:0;
    top:0;
    color:var(--teal-dark);
    font-weight:900;
}

.text-link{
    color:var(--teal-dark);
    font-weight:900;
}

.projects{
    background:#fff;
}

.project-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:28px;
}

.project-card{
    display:grid;
    grid-template-columns:.92fr 1.08fr;
    min-height:480px;
    border:1px solid var(--line);
    border-radius:var(--radius);
    overflow:hidden;
    background:var(--cream);
    box-shadow:0 18px 50px rgba(10,60,70,.08);
}

.project-card img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.project-card div{
    padding:36px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.project-card span{
    color:var(--teal-dark);
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.1em;
    font-size:.75rem;
}

.project-card h3{
    font-size:2rem;
    line-height:1.08;
    margin:12px 0;
}

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

.project-card small{
    margin-top:auto;
    color:var(--muted);
    border-top:1px solid var(--line);
    padding-top:18px;
}

.masterplan{
    background:var(--teal-deep);
    color:#fff;
}

.masterplan-grid{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    grid-template-rows:300px 300px;
    gap:18px;
}

.master-item{
    border:0;
    padding:0;
    border-radius:22px;
    overflow:hidden;
    cursor:zoom-in;
    background:#173;
    position:relative;
}

.master-item:first-child{
    grid-row:span 2;
}

.master-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.35s;
}

.master-item:hover img{
    transform:scale(1.035);
}

.video-section{
    background:#fff;
}

.video-frame{
    border-radius:var(--radius);
    overflow:hidden;
    box-shadow:var(--shadow);
    background:#000;
}

.video-frame video{
    display:block;
    width:100%;
    aspect-ratio:16/9;
}

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

.gallery-filters{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:30px;
}

.gallery-filters button{
    border:1px solid var(--line);
    background:#fff;
    padding:10px 16px;
    border-radius:999px;
    font-weight:800;
    color:var(--ink);
    cursor:pointer;
}

.gallery-filters button.active{
    background:var(--teal-dark);
    color:#fff;
    border-color:var(--teal-dark);
}

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
}

.gallery-card{
    border:0;
    padding:0;
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 8px 26px rgba(8,58,68,.09);
    cursor:zoom-in;
    text-align:left;
    transition:.25s;
}

.gallery-card:hover{
    transform:translateY(-4px);
    box-shadow:0 16px 34px rgba(8,58,68,.14);
}

.gallery-card[hidden]{
    display:none;
}

.gallery-card img{
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
}

.gallery-card span{
    display:block;
    padding:14px 16px;
    font-weight:800;
    font-size:.9rem;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.cta-banner{
    min-height:620px;
    display:grid;
    place-items:center;
    position:relative;
    color:#fff;
    overflow:hidden;
}

.cta-bg{
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg,rgba(3,48,57,.92),rgba(3,48,57,.25)),
        url('../img/sections/cta.webp') center/cover no-repeat;
}

.cta-content{
    position:relative;
    z-index:1;
    max-width:760px;
    margin-left:max(20px,calc((100vw - 1180px)/2));
    justify-self:start;
}

.cta-content h2{
    font-size:clamp(3rem,6vw,6rem);
    line-height:.95;
    letter-spacing:-.055em;
    margin:0 0 20px;
}

.cta-content p:not(.eyebrow){
    font-size:1.25rem;
    max-width:600px;
}

.lead-section{
    background:#fff;
}

.lead-grid{
    display:grid;
    grid-template-columns:.72fr 1.28fr;
    gap:70px;
    align-items:start;
}

.lead-copy{
    position:sticky;
    top:130px;
}

.contact-box{
    display:grid;
    margin:34px 0;
    padding:24px;
    border-radius:20px;
    background:var(--teal-deep);
    color:#fff;
}

.contact-box span{
    font-size:.78rem;
    text-transform:uppercase;
    letter-spacing:.12em;
    color:rgba(255,255,255,.7);
}

.contact-box a{
    font-size:1.35rem;
    font-weight:900;
    margin-top:7px;
}

.privacy-note{
    font-size:.9rem!important;
}

.lead-form{
    background:var(--cream);
    padding:38px;
    border-radius:var(--radius);
    box-shadow:var(--shadow);
}

.form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}

.form-grid label{
    display:grid;
    gap:8px;
    font-weight:800;
    font-size:.9rem;
}

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

.form-grid input,
.form-grid select,
.form-grid textarea{
    width:100%;
    border:1px solid #cbd7d9;
    background:#fff;
    border-radius:12px;
    padding:14px 15px;
    color:var(--ink);
    outline:none;
}

.form-grid input:focus,
.form-grid select:focus,
.form-grid textarea:focus{
    border-color:var(--teal);
    box-shadow:0 0 0 4px rgba(47,150,173,.13);
}

.form-grid [aria-invalid="true"]{
    border-color:#c0392b;
}

.checkbox{
    grid-template-columns:20px 1fr!important;
    align-items:start;
    font-weight:500!important;
}

.checkbox input{
    width:18px;
    height:18px;
    margin-top:3px;
}

.checkbox a{
    text-decoration:underline;
}

.honeypot{
    position:absolute!important;
    left:-9999px!important;
}

.form-submit{
    margin-top:24px;
    width:100%;
    border:0;
}

.lead-form small{
    display:block;
    text-align:center;
    color:var(--muted);
    margin-top:12px;
}

.form-status{
    display:none;
    margin-bottom:20px;
    padding:14px;
    border-radius:12px;
    font-weight:800;
}

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

.form-status.success{
    background:#e0f4e8;
    color:#145c31;
}

.form-status.error{
    background:#fde7e4;
    color:#8a291e;
}

.partners-section{
    padding:100px 0;
    background:var(--cream);
    text-align:center;
}

.partners-section h2{
    max-width:800px;
    margin:0 auto 50px;
}

.partners-grid{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:70px;
    flex-wrap:wrap;
}

.partners-grid img{
    max-height:110px;
    max-width:240px;
    object-fit:contain;
}

.partners-grid .mardan-logo{
    max-height:210px;
}

.slogan-image{
    display:block;
    width:100%;
    max-width:850px;
    height:auto;
    margin:60px auto 0;
}

.site-footer{
    background:#052f39;
    color:#fff;
    padding:70px 0 26px;
}

.footer-grid{
    display:grid;
    grid-template-columns:1.4fr .8fr .8fr;
    gap:60px;
}

.footer-grid>div{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
}

.footer-grid img{
    background:#fff;
    border-radius:18px;
    padding:10px;
}

.footer-grid h2{
    font-size:1rem;
    text-transform:uppercase;
    letter-spacing:.1em;
    color:var(--orange);
    margin:0 0 8px;
}

.footer-grid p{
    max-width:350px;
    color:rgba(255,255,255,.7);
}

.footer-bottom{
    display:flex;
    justify-content:space-between;
    gap:30px;
    border-top:1px solid rgba(255,255,255,.12);
    padding-top:24px;
    margin-top:50px;
    color:rgba(255,255,255,.55);
    font-size:.82rem;
}

.whatsapp-float{
    position:fixed;
    z-index:900;
    right:22px;
    bottom:22px;
    background:#22c55e;
    color:#fff;
    border-radius:999px;
    padding:14px 19px;
    font-weight:900;
    box-shadow:0 14px 34px rgba(0,0,0,.22);
}

.lightbox{
    position:fixed;
    inset:0;
    background:rgba(1,18,22,.94);
    z-index:3000;
    display:grid;
    grid-template-columns:70px 1fr 70px;
    align-items:center;
    color:#fff;
    padding:30px;
}

.lightbox[hidden]{
    display:none;
}

.lightbox figure{
    margin:0;
    display:grid;
    place-items:center;
    gap:14px;
    max-height:92vh;
}

.lightbox img{
    max-width:100%;
    max-height:80vh;
    border-radius:14px;
}

.lightbox figcaption{
    font-weight:800;
    text-align:center;
}

.lightbox button{
    border:0;
    background:rgba(255,255,255,.12);
    color:#fff;
    width:52px;
    height:52px;
    border-radius:50%;
    font-size:2rem;
    cursor:pointer;
}

.lightbox-close{
    position:absolute;
    right:24px;
    top:24px;
}

.reveal{
    opacity:1;
    transform:translateY(26px);
    transition:transform .65s ease;
}

.reveal.is-visible{
    transform:none;
}

@media (max-width:1050px){
    .hero-content{
        grid-template-columns:1fr;
        gap:20px;
    }

    .hero-card{
        max-width:430px;
        margin:0 0 70px;
    }

    .hero{
        height:auto;
        min-height:900px;
        padding:120px 0 40px;
    }

    .project-card{
        grid-template-columns:1fr;
        min-height:0;
    }

    .project-card img{
        height:360px;
    }

    .gallery-grid{
        grid-template-columns:repeat(3,1fr);
    }

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

    .lead-copy{
        position:static;
    }

    .cta-content{
        margin-left:20px;
    }
}

@media (max-width:820px){
    :root{
        --container:min(100% - 28px,1180px);
    }

    .site-header{
        background:rgba(255,255,255,.96);
        box-shadow:0 6px 24px rgba(0,0,0,.08);
    }

    .header-inner{
        height:76px;
    }

    .brand{
        height:70px;
        width:74px;
    }

    .brand img{
        width:64px;
    }

    .menu-toggle{
        display:block;
        color:var(--ink);
        z-index:2;
    }

    .main-nav{
        position:fixed;
        inset:76px 14px auto;
        background:#fff;
        color:var(--ink);
        border-radius:18px;
        padding:22px;
        display:grid;
        gap:18px;
        box-shadow:var(--shadow);
        transform:translateY(-20px);
        opacity:0;
        pointer-events:none;
        transition:.25s;
    }

    .main-nav.open{
        transform:none;
        opacity:1;
        pointer-events:auto;
    }

    .hero{
        min-height:860px;
    }

    .hero-content{
        padding-top:70px;
    }

    .hero-card{
        display:none;
    }

    .hero-highlights{
        gap:24px;
    }

    .trust-grid{
        grid-template-columns:1fr 1fr;
        padding:22px 0;
    }

    .trust-text{
        grid-column:1/-1;
        border-left:0;
        border-top:1px solid var(--line);
        padding:18px 0 0;
    }

    .section{
        padding:80px 0;
    }

    .split-grid,
    .split-grid.reverse{
        grid-template-columns:1fr;
        gap:48px;
    }

    .split-grid.reverse .section-copy,
    .split-grid.reverse .image-frame{
        order:initial;
    }

    .feature-row{
        grid-template-columns:1fr;
    }

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

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

    .masterplan-grid{
        grid-template-columns:1fr;
        grid-template-rows:320px repeat(3,220px);
    }

    .master-item:first-child{
        grid-row:auto;
    }

    .gallery-grid{
        grid-template-columns:repeat(2,1fr);
    }

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

    .footer-grid>div:first-child{
        grid-column:1/-1;
    }

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

    .lightbox{
        grid-template-columns:52px 1fr 52px;
        padding:18px;
    }

    .lightbox button{
        width:44px;
        height:44px;
    }
}

@media (max-width:767px){
    .slogan-image{
        display:block;
        width:100%;
        max-width:100%;
        height:auto;
        margin:0 auto;
    }
}

@media (max-width:560px){
    .hero{
        min-height:780px;
    }

    .hero h1{
        font-size:3.35rem;
    }

    .hero-actions{
        display:grid;
    }

    .hero-actions .btn{
        width:100%;
    }

    .hero-highlights{
        justify-content:space-between;
        gap:10px;
    }

    .hero-highlights strong{
        font-size:1.2rem;
    }

    .trust-grid{
        gap:20px;
    }

    .trust-grid>div:first-child img{
        max-width:140px;
    }

    .section-copy h2,
    .section-heading h2,
    .partners-section h2{
        font-size:2.55rem;
    }

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

    .project-card img{
        height:420px;
    }

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

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

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

    .lead-form{
        padding:24px;
    }

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

    .footer-grid>div:first-child{
        grid-column:auto;
    }

    .whatsapp-float{
        right:14px;
        bottom:14px;
        width:56px;
        height:56px;
        padding:0;
        display:grid;
        place-items:center;
        font-size:0;
    }

    .whatsapp-float::after{
        content:"✆";
        font-size:1.45rem;
        line-height:1;
    }

    .lightbox{
        grid-template-columns:1fr;
        padding:14px;
    }

    .lightbox-prev,
    .lightbox-next{
        position:absolute;
        top:50%;
        z-index:2;
    }

    .lightbox-prev{
        left:10px;
    }

    .lightbox-next{
        right:10px;
    }

    .lightbox img{
        max-height:72vh;
    }

    .image-frame::before{
        inset:14px -10px -14px 10px;
    }

    .partners-grid{
        gap:35px;
    }

    .slogan-image{
        width:100%;
        max-width:100%;
        height:auto;
        margin:40px auto 0;
    }
}

@media (prefers-reduced-motion:reduce){
    html{
        scroll-behavior:auto;
    }

    .reveal{
        opacity:1;
        transform:none;
        transition:none;
    }

    .scroll-hint{
        animation:none;
    }
}

/* Atualização de conteúdo comercial — Mirante do Vale */

.sales-overview{
    padding:64px 0;
    background:linear-gradient(135deg,#f4efe3,#fff);
    border-bottom:1px solid var(--line);
}

.sales-overview-grid{
    display:grid;
    grid-template-columns:1.2fr .9fr .95fr;
    gap:28px;
    align-items:stretch;
}

.sales-overview-copy,
.sales-benefits,
.sales-address{
    border-radius:24px;
    padding:30px;
    background:#fff;
    box-shadow:0 14px 38px rgba(8,48,57,.08);
}

.sales-overview-copy h2{
    font-size:clamp(2rem,3.1vw,3.35rem);
    line-height:1.02;
    letter-spacing:-.04em;
    margin:0 0 16px;
}

.sales-overview-copy p:last-child{
    color:var(--muted);
    margin-bottom:0;
}

.sales-benefits{
    display:grid;
    align-content:center;
    gap:12px;
    background:var(--teal-deep);
}

.sales-benefits span{
    display:flex;
    align-items:center;
    gap:12px;
    color:#fff;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.sales-benefits span::before{
    content:"✓";
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    border-radius:50%;
    background:var(--orange);
    color:var(--ink);
    flex:0 0 auto;
}

.sales-address{
    font-style:normal;
    display:grid;
    align-content:center;
    gap:7px;
    border:1px solid var(--line);
}

.sales-address strong{
    color:var(--teal-dark);
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:.8rem;
}

.sales-address span{
    font-weight:750;
}

.sales-address a{
    margin-top:12px;
    color:var(--teal-dark);
    font-weight:900;
}

.destination-section{
    padding-top:0;
    background:var(--cream);
}

.destination-grid{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    align-items:stretch;
    border-radius:var(--radius);
    overflow:hidden;
    background:var(--teal-deep);
    box-shadow:var(--shadow);
}

.destination-visual{
    border:0;
    padding:0;
    background:#0b5364;
    cursor:zoom-in;
    min-height:500px;
}

.destination-visual img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.destination-copy{
    padding:64px;
    color:#fff;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
}

.destination-copy h2{
    font-size:clamp(2.4rem,4vw,4.3rem);
    line-height:1.02;
    letter-spacing:-.045em;
    margin:0 0 22px;
}

.destination-copy p:not(.eyebrow){
    color:rgba(255,255,255,.76);
    font-size:1.08rem;
    margin-bottom:28px;
}

.project-options-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px;
}

.project-option-card{
    border:1px solid var(--line);
    border-radius:var(--radius);
    overflow:hidden;
    background:var(--cream);
    box-shadow:0 18px 50px rgba(10,60,70,.08);
}

.project-option-card>button{
    display:block;
    border:0;
    padding:0;
    width:100%;
    background:#fff;
    cursor:zoom-in;
    overflow:hidden;
}

.project-option-card img{
    width:100%;
    aspect-ratio:1400/1080;
    object-fit:cover;
    transition:transform .35s;
}

.project-option-card>button:hover img{
    transform:scale(1.025);
}

.project-option-body{
    padding:30px;
}

.project-option-body>span{
    display:block;
    color:var(--teal-dark);
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.1em;
    font-size:.76rem;
}

.project-option-body h3{
    font-size:2.5rem;
    line-height:1;
    margin:10px 0 22px;
    color:var(--ink);
}

.technical-list{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px 20px;
    list-style:none;
    margin:0;
    padding:0;
}

.technical-list li{
    position:relative;
    padding-left:22px;
    color:var(--muted);
    font-weight:700;
}

.technical-list li::before{
    content:"•";
    position:absolute;
    left:0;
    color:var(--orange);
    font-size:1.4em;
    line-height:1;
}

.project-disclaimer{
    margin:30px 0 0;
    padding:18px 22px;
    border-left:4px solid var(--orange);
    background:var(--cream);
    color:var(--muted);
    border-radius:0 14px 14px 0;
}

.presentation-section{
    background:#eef7f8;
}

.presentation-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
}

.presentation-card{
    border:0;
    padding:0;
    border-radius:20px;
    background:#fff;
    overflow:hidden;
    text-align:left;
    cursor:zoom-in;
    box-shadow:0 10px 30px rgba(8,58,68,.1);
    transition:.25s;
}

.presentation-card:hover{
    transform:translateY(-5px);
    box-shadow:0 18px 38px rgba(8,58,68,.16);
}

.presentation-card img{
    width:100%;
    aspect-ratio:1400/1080;
    object-fit:cover;
}

.presentation-card span{
    display:grid;
    gap:4px;
    padding:16px 18px;
    font-weight:900;
    color:var(--ink);
}

.presentation-card small{
    color:var(--teal-dark);
    font-size:.72rem;
    text-transform:uppercase;
    letter-spacing:.12em;
}

.footer-grid{
    grid-template-columns:1.2fr .7fr .7fr .9fr;
}

.footer-bottom span:last-child{
    max-width:760px;
    text-align:right;
}

@media (max-width:1050px){
    .sales-overview-grid{
        grid-template-columns:1fr 1fr;
    }

    .sales-overview-copy{
        grid-column:1/-1;
    }

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

    .destination-visual{
        min-height:0;
    }

    .destination-copy{
        padding:48px;
    }

    .presentation-grid{
        grid-template-columns:repeat(2,1fr);
    }

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

    .footer-grid>div:first-child{
        grid-column:1/-1;
    }
}

@media (max-width:820px){
    .sales-overview{
        padding:46px 0;
    }

    .sales-overview-grid{
        grid-template-columns:1fr;
    }

    .sales-overview-copy{
        grid-column:auto;
    }

    .project-options-grid{
        grid-template-columns:1fr;
    }

    .technical-list{
        grid-template-columns:1fr 1fr;
    }

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

    .destination-copy{
        padding:38px 28px;
    }

    .footer-bottom span:last-child{
        text-align:left;
    }
}

@media (max-width:560px){
    .sales-overview-copy,
    .sales-benefits,
    .sales-address{
        padding:24px;
    }

    .technical-list{
        grid-template-columns:1fr;
    }

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

    .project-option-body h3{
        font-size:2.15rem;
    }

    .destination-copy h2{
        font-size:2.5rem;
    }

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

    .footer-grid>div:first-child{
        grid-column:auto;
    }
}

/* Atualização visual v2: logomarca, lupa nas imagens e crédito do desenvolvedor */

.header-inner{
    height:104px;
}

.brand{
    width:104px;
    height:100px;
    padding:3px 8px 5px;
    overflow:visible;
}

.brand img{
    width:86px;
    max-height:92px;
    height:auto;
    object-fit:contain;
}

button[data-lightbox-src],
.gallery-card{
    position:relative;
}

button[data-lightbox-src]::after,
.gallery-card::after{
    content:"";
    position:absolute;
    top:14px;
    right:14px;
    width:42px;
    height:42px;
    border-radius:50%;
    z-index:5;
    pointer-events:none;
    background:
        rgba(255,255,255,.94)
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230c6072' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m20 20-4.6-4.6'/%3E%3Cpath d='M10.5 7.5v6M7.5 10.5h6'/%3E%3C/svg%3E")
        center/22px 22px no-repeat;
    box-shadow:0 8px 20px rgba(3,48,57,.24);
    transition:transform .2s ease,background-color .2s ease;
}

button[data-lightbox-src]:hover::after,
.gallery-card:hover::after,
button[data-lightbox-src]:focus-visible::after,
.gallery-card:focus-visible::after{
    transform:scale(1.08);
    background-color:#fff;
}

button[data-lightbox-src]:focus-visible,
.gallery-card:focus-visible{
    outline:3px solid var(--orange);
    outline-offset:4px;
}

.developer-credit{
    margin-top:24px;
    padding-top:22px;
    border-top:1px solid rgba(255,255,255,.1);
    text-align:center;
    color:rgba(255,255,255,.62);
    font-size:.84rem;
}

.developer-credit a{
    margin-left:.25em;
    color:#fff;
    font-weight:800;
    text-decoration:underline;
    text-decoration-color:var(--orange);
    text-underline-offset:4px;
}

.developer-credit a:hover,
.developer-credit a:focus-visible{
    color:var(--orange);
}

@media (max-width:820px){
    .header-inner{
        height:88px;
    }

    .brand{
        width:90px;
        height:84px;
        padding:2px 6px 3px;
    }

    .brand img{
        width:77px;
        max-height:80px;
    }

    .main-nav{
        inset:88px 14px auto;
    }

    .hero-content{
        padding-top:88px;
    }
}

@media (max-width:560px){
    button[data-lightbox-src]::after,
    .gallery-card::after{
        top:10px;
        right:10px;
        width:38px;
        height:38px;
        background-size:20px 20px;
    }

    .developer-credit{
        font-size:.8rem;
    }
}
/* História da Mardan */
.history-section{
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at 8% 18%,rgba(47,150,173,.12),transparent 30%),
        linear-gradient(180deg,#fff 0%,#f7faf9 100%);
}

.history-section::before{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    right:-210px;
    bottom:-230px;
    border:70px solid rgba(245,160,40,.1);
    border-radius:50%;
    pointer-events:none;
}

.history-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);
    gap:76px;
    align-items:start;
}

.history-brand{
    position:sticky;
    top:130px;
    min-height:570px;
    padding:44px;
    border-radius:var(--radius);
    background:
        linear-gradient(160deg,rgba(255,255,255,.08),transparent 45%),
        var(--teal-deep);
    color:#fff;
    box-shadow:var(--shadow);
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

.history-brand::after{
    content:"";
    position:absolute;
    inset:auto 34px 34px auto;
    width:86px;
    height:86px;
    border-right:3px solid var(--orange);
    border-bottom:3px solid var(--orange);
    opacity:.9;
}

.history-logo-wrap{
    width:100%;
    max-width:330px;
    margin:30px auto;
    padding:24px 20px;
    background:#fff;
    border-radius:22px;
    box-shadow:0 18px 38px rgba(0,0,0,.18);
}

.history-logo-wrap img{
    width:100%;
    height:auto;
}

.history-signature{
    display:grid;
    gap:2px;
    padding-right:74px;
}

.history-signature strong{
    font-size:1.5rem;
    line-height:1.2;
}

.history-signature span{
    color:rgba(255,255,255,.72);
    font-weight:700;
}

.history-copy h2{
    max-width:820px;
    margin:0 0 28px;
    font-size:clamp(2.45rem,4.5vw,4.8rem);
    line-height:1.02;
    letter-spacing:-.05em;
}

.history-copy>p:not(.eyebrow){
    margin:0 0 21px;
    color:var(--muted);
    font-size:1.08rem;
}

.history-highlights{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
    margin-top:38px;
}

.history-highlights article{
    min-height:168px;
    padding:24px;
    border:1px solid var(--line);
    border-radius:20px;
    background:rgba(255,255,255,.78);
    box-shadow:0 14px 34px rgba(8,48,57,.07);
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

.history-highlights strong{
    color:var(--teal-dark);
    font-size:1.22rem;
    line-height:1.2;
}

.history-highlights span{
    color:var(--muted);
    font-size:.92rem;
    line-height:1.45;
}

@media (max-width:1050px){
    .main-nav{
        gap:14px;
        font-size:.84rem;
    }

    .nav-cta{
        padding:10px 14px;
    }

    .history-grid{
        gap:48px;
    }

    .history-brand{
        padding:34px;
    }

    .history-highlights{
        grid-template-columns:1fr;
    }

    .history-highlights article{
        min-height:0;
        gap:16px;
    }
}

@media (max-width:820px){
    .history-grid{
        grid-template-columns:1fr;
    }

    .history-brand{
        position:relative;
        top:auto;
        min-height:460px;
    }

    .history-logo-wrap{
        max-width:300px;
    }
}

@media (max-width:560px){
    .history-brand{
        min-height:410px;
        padding:28px;
    }

    .history-logo-wrap{
        max-width:250px;
        margin:20px auto;
        padding:18px;
    }

    .history-copy h2{
        font-size:2.55rem;
    }

    .history-copy>p:not(.eyebrow){
        font-size:1rem;
    }
}


/* Ajustes comerciais e visuais - julho/2026 */
.project-image-showcase{
    position:relative;
    display:grid;
    grid-template-columns:1.35fr .65fr;
    grid-template-rows:1fr 1fr;
    gap:4px;
    height:clamp(360px,38vw,520px);
    overflow:hidden;
    background:#dfe8e9;
}

.project-showcase-item{
    position:relative;
    display:block;
    width:100%;
    height:100%;
    padding:0;
    border:0;
    overflow:hidden;
    background:#dfe8e9;
    cursor:zoom-in;
}

.project-showcase-main{grid-row:1 / 3;}

.project-image-showcase .project-showcase-item img{
    width:100%;
    height:100%;
    aspect-ratio:auto;
    object-fit:cover;
    object-position:center;
    transition:transform .35s ease;
}

.project-image-showcase .project-showcase-item:hover img{transform:scale(1.025);}

.illustrative-badge{
    position:absolute;
    z-index:8;
    left:12px;
    top:12px;
    display:inline-flex;
    align-items:center;
    max-width:calc(100% - 76px);
    padding:7px 10px;
    border-radius:999px;
    background:rgba(3,48,57,.86);
    color:#fff;
    font-size:.68rem;
    line-height:1.1;
    font-weight:850;
    letter-spacing:.015em;
    pointer-events:none;
    box-shadow:0 7px 18px rgba(0,0,0,.16);
    backdrop-filter:blur(6px);
}

.hero>.illustrative-badge,
.cta-banner>.illustrative-badge{
    left:auto;
    right:22px;
    top:auto;
    bottom:22px;
    max-width:min(360px,calc(100% - 44px));
}

.image-frame>.illustrative-badge{top:14px;left:14px;}
.project-image-showcase>.illustrative-badge{top:12px;left:12px;}

.image-legal-notice{
    margin:28px 0 0;
    padding:20px 22px;
    border-left:4px solid var(--orange);
    border-radius:0 14px 14px 0;
    background:#fff;
    color:var(--muted);
    font-size:.92rem;
    line-height:1.65;
    box-shadow:0 10px 28px rgba(8,58,68,.07);
}

.whatsapp-float{
    position:fixed;
    z-index:2500;
    right:22px;
    bottom:22px;
    display:inline-flex;
    align-items:center;
    gap:10px;
    min-height:56px;
    padding:0 20px 0 15px;
    border-radius:999px;
    background:#22c55e;
    color:#fff;
    font-weight:900;
    box-shadow:0 14px 34px rgba(0,0,0,.25);
    transition:transform .22s ease,box-shadow .22s ease,background .22s ease;
}

.whatsapp-float svg{
    width:29px;
    height:29px;
    fill:currentColor;
    flex:0 0 auto;
}

.whatsapp-float:hover,
.whatsapp-float:focus-visible{
    color:#fff;
    background:#16a34a;
    transform:translateY(-3px);
    box-shadow:0 18px 38px rgba(0,0,0,.3);
}

.lightbox figure{position:relative;}
.lightbox figure::after{
    content:"Imagens meramente ilustrativas.";
    position:absolute;
    right:12px;
    bottom:48px;
    padding:7px 10px;
    border-radius:999px;
    background:rgba(3,48,57,.88);
    color:#fff;
    font-size:.72rem;
    font-weight:850;
    pointer-events:none;
}

@media (max-width:820px){
    .project-image-showcase{height:430px;}
    .whatsapp-float{right:14px;bottom:14px;min-height:52px;padding:0 16px 0 13px;font-size:.88rem;}
    .whatsapp-float svg{width:26px;height:26px;}
    .hero>.illustrative-badge,.cta-banner>.illustrative-badge{right:14px;bottom:14px;}
}

@media (max-width:560px){
    .project-image-showcase{
        grid-template-columns:1fr 1fr;
        grid-template-rows:1.35fr .65fr;
        height:480px;
    }
    .project-showcase-main{grid-column:1 / 3;grid-row:1;}
    .illustrative-badge{font-size:.62rem;padding:6px 8px;max-width:calc(100% - 66px);}
    .whatsapp-float span{display:none;}
    .whatsapp-float{width:56px;height:56px;min-height:56px;padding:0;justify-content:center;}
    .lightbox figure::after{right:8px;bottom:44px;font-size:.64rem;}
}
