/* ==========================================================
   PROPNOOK LANDING — CONSOLIDATED
   Generated: 20260915-113925
   ========================================================== */

/* ===== ORIGINAL BASE ===== */
:root{
    --green:#175a45;
    --green-dark:#103f33;
    --green-soft:#e7f0eb;
    --cream:#f7f4ed;
    --paper:#fff;
    --ink:#11181b;
    --muted:#5f6767;
    --border:#d9ddd8;
    --shadow:0 18px 50px rgba(25,38,32,.12);
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    color:var(--ink);
    background:#fff;
    font-family:
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}

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

.marketing-header{
    height:76px;
    display:flex;
    align-items:center;
    gap:30px;
    padding:0 max(5vw,24px);
    border-bottom:1px solid #e7e7e3;
    background:rgba(255,255,255,.96);
    position:sticky;
    top:0;
    z-index:50;
}

.brand{
    display:flex;
    align-items:center;
    gap:10px;
    margin-right:auto;
}

.brand-house{
    color:var(--green);
    font-size:43px;
    line-height:1;
}

.brand strong{
    display:block;
    font-size:24px;
    letter-spacing:-.6px;
}

.brand small{
    display:block;
    color:#555;
    margin-top:1px;
}

.desktop-nav{
    display:flex;
    gap:32px;
    font-size:14px;
}

.desktop-nav a:hover{
    color:var(--green);
}

.header-actions{
    display:flex;
    gap:12px;
}

.btn{
    min-height:44px;
    padding:0 22px;
    border-radius:9px;
    display:inline-flex;
    justify-content:center;
    align-items:center;
    font-weight:750;
    border:1px solid transparent;
    transition:.18s ease;
}

.btn:hover{
    transform:translateY(-1px);
}

.btn-primary{
    color:#fff;
    background:var(--green);
    box-shadow:0 8px 20px rgba(23,90,69,.15);
}

.btn-primary:hover{
    background:var(--green-dark);
}

.btn-outline{
    border-color:var(--green);
    background:#fff;
}

.btn-large{
    min-height:54px;
    padding:0 28px;
}

.hero{
    min-height:610px;
    display:grid;
    grid-template-columns:minmax(420px, .92fr) minmax(500px, 1.08fr);
    overflow:hidden;
    background:
        radial-gradient(circle at 72% 35%,rgba(211,221,211,.9),transparent 35%),
        linear-gradient(105deg,#faf9f4 0%,#f0eee7 56%,#e8ece7 100%);
}

.hero-copy{
    padding:64px 20px 34px max(5vw,48px);
    position:relative;
    z-index:3;
}

.eyebrow{
    color:var(--green-dark);
    letter-spacing:4px;
    font-size:14px;
    font-weight:650;
}

.hero h1{
    font-size:clamp(55px,6vw,82px);
    line-height:.91;
    letter-spacing:-4px;
    margin:18px 0 20px;
    max-width:650px;
}

.hero h1 span{
    color:var(--green);
}

.hero-description{
    font-size:19px;
    line-height:1.45;
    max-width:600px;
    color:#323938;
}

.hero-actions{
    display:flex;
    gap:15px;
    margin-top:27px;
}

.quick-features{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:18px;
    margin-top:40px;
    max-width:690px;
}

.quick-features div{
    text-align:center;
    font-size:13px;
}

.quick-features span{
    color:var(--green);
    display:block;
    font-size:34px;
    font-weight:900;
}

.quick-features p{
    margin:7px 0 0;
}

.hero-product{
    position:relative;
    min-height:610px;
    padding:55px 50px 30px 20px;
}

.desktop-demo{
    width:82%;
    height:390px;
    margin-left:auto;
    border-radius:20px;
    background:#161d21;
    padding:13px;
    box-shadow:0 25px 60px rgba(0,0,0,.22);
    transform:perspective(1200px) rotateY(-3deg);
}

.demo-browser{
    height:100%;
    border-radius:10px;
    overflow:hidden;
    background:#f7f8f5;
}

.browser-top{
    height:42px;
    background:#fff;
    border-bottom:1px solid #ddd;
    display:flex;
    align-items:center;
    gap:7px;
    padding:0 13px;
}

.browser-top span{
    width:8px;
    height:8px;
    background:#ccd1cc;
    border-radius:50%;
}

.browser-top b{
    margin-left:12px;
    color:var(--green);
}

.demo-title{
    padding:20px;
    font-size:22px;
    font-weight:850;
}

.demo-layout{
    display:grid;
    grid-template-columns:42% 58%;
    height:285px;
}

.property-list{
    padding:0 14px;
}

.demo-property{
    background:#fff;
    border:1px solid #e0e2de;
    border-radius:8px;
    padding:10px;
    margin-bottom:9px;
    display:grid;
    grid-template-columns:52px 1fr auto;
    align-items:center;
    gap:9px;
}

.demo-property small,
.phone-property small{
    display:block;
    color:#747b78;
    margin-top:4px;
}

.demo-photo{
    width:52px;
    height:45px;
    border-radius:6px;
    background:#d9e3dc;
    color:var(--green);
    display:grid;
    place-items:center;
    font-size:27px;
}

.map-demo{
    position:relative;
    overflow:hidden;
    background:
        linear-gradient(32deg,transparent 44%,#d8e2d6 45%,#d8e2d6 48%,transparent 49%),
        linear-gradient(-28deg,transparent 50%,#d8e2d6 51%,#d8e2d6 54%,transparent 55%),
        linear-gradient(#eef2e8,#dbe9ea);
}

.map-demo:after{
    content:"";
    position:absolute;
    width:100%;
    height:34px;
    top:45%;
    left:0;
    transform:rotate(-14deg);
    background:#c7dce0;
}

.pin{
    position:absolute;
    z-index:2;
    color:var(--green);
    font-size:25px;
}

.p1{left:18%;top:20%}
.p2{left:46%;top:18%}
.p3{left:73%;top:28%}
.p4{left:32%;top:56%}
.p5{left:60%;top:66%}
.p6{left:82%;top:55%}

.phone-demo{
    position:absolute;
    width:210px;
    height:430px;
    left:2%;
    top:102px;
    background:#fff;
    border:10px solid #12191e;
    border-radius:35px;
    box-shadow:0 25px 50px rgba(0,0,0,.27);
    z-index:5;
    padding:27px 12px 15px;
}

.phone-notch{
    position:absolute;
    width:80px;
    height:18px;
    border-radius:0 0 14px 14px;
    background:#12191e;
    top:0;
    left:55px;
}

.phone-brand{
    font-size:12px;
    color:var(--green);
    font-weight:850;
}

.phone-demo h3{
    font-size:17px;
    margin:17px 0 9px;
}

.phone-tabs{
    display:flex;
    justify-content:space-between;
    font-size:9px;
    padding:7px;
    border:1px solid #ddd;
    border-radius:7px;
}

.phone-tabs b{
    color:var(--green);
}

.phone-property{
    display:grid;
    grid-template-columns:37px 1fr auto;
    align-items:center;
    gap:7px;
    font-size:9px;
    border-bottom:1px solid #eee;
    padding:11px 0;
}

.mini-home{
    width:36px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:5px;
    background:#dfe8e0;
    color:var(--green);
    font-size:20px;
}

.phone-bottom{
    position:absolute;
    bottom:13px;
    left:15px;
    right:15px;
    display:flex;
    justify-content:space-between;
    color:var(--green);
}

.freddy-note{
    position:absolute;
    right:7%;
    bottom:25px;
    background:#f3e3ad;
    padding:18px 22px;
    transform:rotate(3deg);
    box-shadow:0 8px 20px rgba(0,0,0,.1);
    font-family:cursive;
}

.freddy-note span{
    display:block;
    margin-top:8px;
}

.features-section{
    padding:28px max(3vw,25px) 36px;
    background:#fff;
}

.section-heading{
    text-align:center;
    max-width:850px;
    margin:0 auto 26px;
}

.section-heading h2{
    margin:0 0 7px;
    font-size:29px;
    letter-spacing:-.8px;
}

.section-heading p{
    color:#555e5a;
    margin:0;
}

.feature-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:16px;
    max-width:1450px;
    margin:auto;
}

.feature-grid article{
    padding:24px 20px;
    min-height:190px;
    border:1px solid #eee;
    border-radius:13px;
    text-align:center;
    background:#fff;
    box-shadow:0 7px 22px rgba(28,44,37,.05);
}

.feature-icon{
    width:52px;
    height:52px;
    margin:0 auto 13px;
    border-radius:50%;
    background:var(--green-soft);
    color:var(--green);
    display:grid;
    place-items:center;
    font-size:28px;
}

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

.feature-grid p{
    color:#525b58;
    line-height:1.45;
    margin:0;
}

.real-life{
    min-height:290px;
    padding:35px max(5vw,45px);
    background:
        linear-gradient(90deg,#123f35 0%,#153f35 60%,#0e352d 100%);
    color:white;
    display:grid;
    grid-template-columns:42% 58%;
    overflow:hidden;
}

.real-copy h2{
    font-size:31px;
    margin:0 0 16px;
}

.real-copy p{
    margin:11px 0;
    font-size:17px;
}

.real-copy p::first-letter{
    color:#73df8a;
}

.freddy-area{
    position:relative;
    display:flex;
    justify-content:flex-end;
    align-items:flex-end;
}

.freddy-area img{
    max-height:250px;
    max-width:390px;
    object-fit:contain;
    position:relative;
    z-index:2;
}

.freddy-area blockquote{
    align-self:center;
    font-family:cursive;
    font-size:23px;
    transform:rotate(-4deg);
    margin:0 10px 50px 0;
}

.freddy-copy{
    color:#84ef8e;
    font-family:cursive;
    font-size:19px;
    transform:rotate(5deg);
    margin:0 0 80px 10px;
}

.pricing-section{
    padding:38px max(4vw,30px) 45px;
    background:#fbfaf6;
}

.pricing-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
    max-width:1250px;
    margin:auto;
}

.price-card{
    min-height:320px;
    background:white;
    border:1px solid #e0e2de;
    border-radius:14px;
    padding:26px;
    position:relative;
    display:flex;
    flex-direction:column;
}

.price-card.featured{
    border:2px solid #3ca66e;
}

.price-card h3{
    margin:0;
    font-size:23px;
}

.price{
    font-size:34px;
    font-weight:900;
    margin:7px 0;
}

.price small{
    font-size:15px;
    font-weight:500;
}

.price-card ul{
    padding:0;
    margin:18px 0 25px;
    list-style:none;
    line-height:1.9;
}

.price-card .btn{
    margin-top:auto;
}

.popular{
    position:absolute;
    right:18px;
    top:-14px;
    background:#35a55f;
    color:white;
    padding:6px 16px;
    border-radius:20px;
    font-size:12px;
    font-weight:800;
}

.coming{
    opacity:.75;
}

.coming-label{
    font-size:23px;
    font-weight:850;
    margin:8px 0;
}

.disabled{
    background:#ddd;
    color:#777;
    cursor:not-allowed;
    margin-top:auto;
}

.final-cta{
    min-height:220px;
    display:grid;
    place-items:center;
    text-align:center;
    color:#fff;
    background:
        linear-gradient(rgba(12,49,41,.72),rgba(12,49,41,.72)),
        linear-gradient(120deg,#6d918a,#274c43);
}

.final-cta small{
    font-size:18px;
}

.final-cta h2{
    margin:3px 0 19px;
    font-size:32px;
}

footer{
    min-height:105px;
    display:flex;
    align-items:center;
    gap:35px;
    padding:22px max(4vw,30px);
}

.footer-brand{
    margin-right:auto;
}

.footer-brand strong{
    display:block;
    font-size:23px;
}

.footer-brand small{
    display:block;
}

footer nav{
    display:flex;
    gap:20px;
    font-size:13px;
}

@media(max-width:1050px){

    .desktop-nav{
        display:none;
    }

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

    .hero-copy{
        padding:55px 30px;
    }

    .hero-product{
        min-height:540px;
        padding:30px;
    }

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

    .real-life{
        grid-template-columns:1fr;
    }

    .freddy-area{
        margin-top:25px;
    }
}

@media(max-width:700px){

    .marketing-header{
        height:auto;
        min-height:70px;
        padding:12px 18px;
    }

    .brand small{
        display:none;
    }

    .brand strong{
        font-size:20px;
    }

    .brand-house{
        font-size:34px;
    }

    .header-actions .btn{
        padding:0 13px;
        min-height:40px;
        font-size:13px;
    }

    .header-actions .btn-primary{
        display:none;
    }

    .hero-copy{
        padding:42px 21px 30px;
    }

    .hero h1{
        font-size:55px;
        letter-spacing:-3px;
    }

    .hero-description{
        font-size:17px;
    }

    .hero-actions{
        flex-direction:column;
        align-items:stretch;
    }

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

    .hero-product{
        min-height:465px;
        padding:20px 15px;
    }

    .desktop-demo{
        width:94%;
        height:330px;
    }

    .demo-layout{
        height:225px;
    }

    .phone-demo{
        width:175px;
        height:355px;
        top:70px;
        left:7px;
    }

    .phone-notch{
        left:38px;
    }

    .property-list{
        display:none;
    }

    .demo-layout{
        grid-template-columns:1fr;
    }

    .freddy-note{
        font-size:12px;
        right:10px;
        bottom:10px;
    }

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

    .real-life{
        padding:32px 22px;
    }

    .freddy-area{
        display:block;
        text-align:center;
    }

    .freddy-area blockquote{
        margin:20px 0;
    }

    .freddy-area img{
        width:100%;
    }

    .freddy-copy{
        margin:10px;
    }

    footer{
        display:block;
        text-align:center;
    }

    footer nav{
        flex-wrap:wrap;
        justify-content:center;
        margin:22px 0;
    }
}

/* ===== ORIGINAL PASS 2 ===== */

/* ==================================================
   PROPNOOK LANDING PAGE
   DESIGN REFINEMENT PASS 2
   ================================================== */

:root{
    --pn-green:#155943;
    --pn-green-deep:#0d4636;
    --pn-green-dark:#103b31;

    --pn-cream:#f7f5ef;
    --pn-cream-2:#efede5;
    --pn-white:#ffffff;

    --pn-text:#10181b;
    --pn-muted:#59615f;

    --pn-line:rgba(22,58,47,.12);

    --pn-shadow:
        0 20px 55px rgba(23,42,35,.12);

    --pn-shadow-soft:
        0 10px 30px rgba(23,42,35,.07);
}


/* -------------------------
   GLOBAL
   ------------------------- */

body{
    background:var(--pn-cream);
    color:var(--pn-text);
}

main{
    overflow:hidden;
}


/* -------------------------
   HEADER
   ------------------------- */

.marketing-header{
    min-height:82px;
    height:auto;

    padding-left:clamp(28px,5vw,78px);
    padding-right:clamp(28px,5vw,78px);

    background:rgba(255,255,255,.96);

    border-bottom:
        1px solid rgba(20,60,48,.08);

    backdrop-filter:blur(15px);
}

.brand{
    gap:12px;
}

.brand-house{
    width:43px;
    height:43px;

    display:grid;
    place-items:center;

    color:var(--pn-green);

    font-size:43px;
}

.brand strong{
    font-size:25px;
    letter-spacing:-.8px;
}

.brand small{
    font-size:12px;
    color:#5e6663;
}

.desktop-nav{
    gap:38px;
}

.desktop-nav a{
    font-size:14px;
    font-weight:600;
}

.header-actions{
    gap:14px;
}

.header-actions .btn{
    min-height:47px;
    padding:0 24px;
}


/* -------------------------
   HERO
   ------------------------- */

.hero{
    position:relative;

    min-height:660px;

    grid-template-columns:
        minmax(470px,.92fr)
        minmax(540px,1.08fr);

    background:
        radial-gradient(
            circle at 75% 25%,
            rgba(209,220,210,.85),
            transparent 30%
        ),
        radial-gradient(
            circle at 92% 80%,
            rgba(223,218,202,.75),
            transparent 32%
        ),
        linear-gradient(
            105deg,
            #faf9f5 0%,
            #f3f1e9 53%,
            #e8ebe4 100%
        );
}

.hero:before{
    content:"";

    position:absolute;
    inset:0;

    opacity:.25;

    background-image:
        linear-gradient(
            rgba(255,255,255,.4) 1px,
            transparent 1px
        );

    background-size:100% 90px;

    pointer-events:none;
}

.hero-copy{
    padding:
        67px
        30px
        45px
        clamp(42px,5vw,80px);
}

.eyebrow{
    font-size:14px;
    font-weight:750;

    letter-spacing:4.5px;

    color:var(--pn-green-deep);
}

.hero h1{
    max-width:650px;

    margin-top:17px;
    margin-bottom:21px;

    font-size:
        clamp(60px,5.5vw,86px);

    line-height:.91;

    letter-spacing:-4.8px;
}

.hero h1 span{
    color:var(--pn-green);
}

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

    font-size:19px;
    line-height:1.48;

    color:#313937;
}

.hero-actions{
    margin-top:28px;
}

.hero-actions .btn{
    font-size:15px;
}

.btn{
    border-radius:10px;
}

.btn-primary{
    background:
        linear-gradient(
            180deg,
            #19654c,
            #15563f
        );

    box-shadow:
        0 10px 24px rgba(21,89,67,.17);
}

.btn-primary:hover{
    background:#104b39;
}


/* -------------------------
   QUICK FEATURES
   ------------------------- */

.quick-features{
    max-width:670px;

    margin-top:42px;

    gap:16px;
}

.quick-features div{
    position:relative;
}

.quick-features span{
    width:46px;
    height:46px;

    margin:auto;

    display:grid;
    place-items:center;

    border-radius:13px;

    background:
        rgba(255,255,255,.65);

    border:
        1px solid rgba(20,80,60,.10);

    color:var(--pn-green);

    font-size:27px;
}

.quick-features p{
    margin-top:8px;

    color:#303936;

    font-size:12px;
    line-height:1.25;
}


/* -------------------------
   PRODUCT DISPLAY
   ------------------------- */

.hero-product{
    min-height:660px;

    padding:
        56px
        clamp(38px,5vw,72px)
        35px
        15px;
}

.desktop-demo{
    width:84%;
    height:410px;

    border-radius:22px;

    padding:13px;

    background:
        linear-gradient(
            145deg,
            #151d20,
            #283135
        );

    box-shadow:
        0 34px 75px rgba(16,30,24,.24);

    transform:
        perspective(1300px)
        rotateY(-2deg);
}

.demo-browser{
    border-radius:11px;

    box-shadow:
        inset 0 0 0 1px
        rgba(0,0,0,.06);
}

.browser-top{
    height:44px;
}

.demo-title{
    font-size:22px;
    letter-spacing:-.5px;
}

.demo-property{
    box-shadow:
        0 3px 8px rgba(30,50,42,.04);
}

.demo-photo{
    background:
        linear-gradient(
            145deg,
            #e8efe9,
            #d3dfd5
        );
}


/* Map styling */

.map-demo{
    background:
        linear-gradient(
            31deg,
            transparent 44%,
            #d6dfd2 45%,
            #d6dfd2 48%,
            transparent 49%
        ),
        linear-gradient(
            -28deg,
            transparent 50%,
            #d6dfd2 51%,
            #d6dfd2 54%,
            transparent 55%
        ),
        linear-gradient(
            #eef3e9,
            #dbe9ea
        );
}


/* -------------------------
   PHONE
   ------------------------- */

.phone-demo{
    width:218px;
    height:445px;

    top:105px;

    border-width:11px;

    border-radius:38px;

    box-shadow:
        0 32px 60px rgba(10,25,20,.30);
}

.phone-brand{
    font-size:12px;
}

.phone-demo h3{
    font-size:18px;
}


/* -------------------------
   FREDDY NOTE
   ------------------------- */

.freddy-note{
    right:5%;
    bottom:25px;

    min-width:150px;

    padding:20px 22px;

    color:#28302b;

    background:
        linear-gradient(
            145deg,
            #f6e8b4,
            #eedb99
        );

    box-shadow:
        0 12px 25px rgba(45,38,18,.14);

    transform:rotate(3deg);
}


/* -------------------------
   FEATURES
   ------------------------- */

.features-section{
    padding:
        34px
        clamp(28px,4vw,65px)
        46px;

    background:
        #fff;
}

.section-heading h2{
    font-size:31px;
}

.section-heading p{
    font-size:16px;
}

.feature-grid{
    gap:18px;

    max-width:1480px;
}

.feature-grid article{
    min-height:205px;

    padding:27px 21px;

    border:
        1px solid rgba(20,70,52,.08);

    border-radius:16px;

    box-shadow:
        var(--pn-shadow-soft);
}

.feature-grid article:hover{
    transform:translateY(-3px);

    box-shadow:
        0 16px 34px
        rgba(25,50,40,.10);
}

.feature-icon{
    width:56px;
    height:56px;

    background:
        linear-gradient(
            145deg,
            #edf5f0,
            #dcebe3
        );

    font-size:27px;
}

.feature-grid h3{
    font-size:17px;
}

.feature-grid p{
    font-size:14px;
}


/* -------------------------
   BUILT FOR REAL LIFE
   ------------------------- */

.real-life{
    position:relative;

    min-height:310px;

    padding:
        38px
        clamp(40px,5vw,80px);

    background:
        radial-gradient(
            circle at 77% 130%,
            rgba(76,128,105,.36),
            transparent 32%
        ),
        linear-gradient(
            105deg,
            #103f34,
            #124b3c 60%,
            #0c372e
        );

    overflow:hidden;
}

.real-life:before{
    content:"";

    position:absolute;

    left:0;
    right:0;
    bottom:0;

    height:115px;

    opacity:.22;

    background:
        linear-gradient(
            155deg,
            transparent 0 25%,
            #071e19 25% 29%,
            transparent 29% 38%,
            #071e19 38% 44%,
            transparent 44%
        );
}

.real-copy{
    position:relative;
    z-index:3;
}

.real-copy h2{
    font-size:32px;
}

.real-copy p{
    font-size:16px;
}

.freddy-area{
    min-height:230px;
}

.freddy-area img{
    max-height:275px;
    max-width:430px;

    filter:
        drop-shadow(
            0 15px 15px
            rgba(0,0,0,.25)
        );
}

.freddy-area blockquote{
    position:relative;
    z-index:4;

    font-size:22px;

    color:#f2f2e9;
}

.freddy-copy{
    position:relative;
    z-index:4;

    color:#83e78b;
}


/* -------------------------
   PRICING
   ------------------------- */

.pricing-section{
    padding:
        45px
        clamp(30px,5vw,75px)
        55px;

    background:
        linear-gradient(
            #fbfaf6,
            #f6f3ec
        );
}

.pricing-grid{
    max-width:1300px;

    gap:24px;
}

.price-card{
    min-height:365px;

    padding:29px;

    border-radius:16px;

    border:
        1px solid rgba(20,65,50,.12);

    box-shadow:
        0 8px 25px
        rgba(20,45,35,.045);
}

.price-card.featured{
    border:
        2px solid #35a76c;

    box-shadow:
        0 16px 38px
        rgba(30,110,75,.10);
}

.price-card h3{
    font-size:24px;
}

.price{
    font-size:39px;
}

.popular{
    top:-15px;

    letter-spacing:.5px;

    box-shadow:
        0 5px 12px
        rgba(30,100,65,.15);
}


/* -------------------------
   FINAL CTA
   ------------------------- */

.final-cta{
    position:relative;

    min-height:245px;

    background:
        radial-gradient(
            circle at 25% 100%,
            rgba(107,148,137,.45),
            transparent 34%
        ),
        linear-gradient(
            115deg,
            #315e55,
            #173f36 70%,
            #0f352d
        );
}

.final-cta:before{
    content:"";

    position:absolute;
    inset:0;

    opacity:.20;

    background:
        linear-gradient(
            165deg,
            transparent 0 55%,
            #c2d2cc 56% 58%,
            transparent 59%
        );
}

.final-cta > div{
    position:relative;
    z-index:2;
}

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


/* -------------------------
   FOOTER
   ------------------------- */

footer{
    min-height:120px;

    padding:
        24px
        clamp(30px,5vw,78px);

    background:#fff;

    border-top:
        1px solid rgba(20,60,45,.08);
}

.footer-brand strong{
    font-size:24px;
}

footer nav{
    gap:23px;
}

footer nav a:hover{
    color:var(--pn-green);
}


/* ==================================================
   TABLET
   ================================================== */

@media(max-width:1100px){

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

    .hero-copy{
        padding-right:
            clamp(30px,7vw,80px);
    }

    .hero-product{
        min-height:560px;
    }

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

    .feature-grid article:last-child{
        grid-column:
            1 / -1;
    }
}


/* ==================================================
   MOBILE
   ================================================== */

@media(max-width:700px){

    .marketing-header{
        min-height:70px;

        padding:
            10px 17px;
    }

    .hero{
        display:block;

        min-height:auto;
    }

    .hero-copy{
        padding:
            42px
            20px
            30px;
    }

    .eyebrow{
        font-size:11px;
        letter-spacing:3px;
    }

    .hero h1{
        font-size:
            clamp(49px,14vw,61px);

        line-height:.93;

        letter-spacing:-3.3px;
    }

    .hero-description{
        font-size:16px;
    }

    .quick-features{
        grid-template-columns:
            repeat(3,1fr);

        gap:14px;
    }

    .quick-features span{
        width:42px;
        height:42px;

        font-size:23px;
    }

    .hero-product{
        min-height:470px;

        padding:
            22px
            12px;
    }

    .desktop-demo{
        width:95%;

        height:330px;

        margin-left:auto;
    }

    .phone-demo{
        width:170px;
        height:355px;

        left:6px;
        top:75px;
    }

    .freddy-note{
        right:7px;
        bottom:9px;

        min-width:115px;

        padding:12px;

        font-size:11px;
    }

    .features-section{
        padding:
            32px
            18px;
    }

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

    .feature-grid article:last-child{
        grid-column:auto;
    }

    .real-life{
        display:block;

        padding:
            35px
            22px;
    }

    .freddy-area{
        margin-top:25px;
    }

    .pricing-section{
        padding:
            38px
            18px;
    }

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

    .price-card{
        min-height:330px;
    }

    .final-cta{
        min-height:230px;

        padding:
            30px
            20px;
    }

    footer{
        padding:
            28px
            20px;
    }
}


/* ===== ORIGINAL PASS 3 ===== */
/* ==========================================================
   PROPNOOK PUBLIC LANDING PAGE
   FINISHING PASS 3
   Visual-only refinement
   ========================================================== */

:root{
    --p3-green:#145943;
    --p3-green-dark:#0d4435;
    --p3-green-deep:#09382d;
    --p3-cream:#f8f6f0;
    --p3-paper:#ffffff;
    --p3-text:#101719;
    --p3-muted:#59625f;
}


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

.marketing-header{
    min-height:78px;
    box-shadow:0 2px 16px rgba(16,50,39,.035);
}

.brand strong{
    font-weight:850;
}

.desktop-nav a{
    position:relative;
}

.desktop-nav a:after{
    content:"";
    position:absolute;
    left:0;
    right:100%;
    bottom:-8px;
    height:2px;
    background:var(--p3-green);
    transition:right .18s ease;
}

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


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

.hero{
    min-height:675px;

    background:
        radial-gradient(
            circle at 83% 17%,
            rgba(255,255,255,.92),
            transparent 19%
        ),
        radial-gradient(
            circle at 74% 48%,
            rgba(198,216,203,.78),
            transparent 31%
        ),
        radial-gradient(
            circle at 96% 92%,
            rgba(224,213,184,.68),
            transparent 27%
        ),
        linear-gradient(
            106deg,
            #fbfaf6 0%,
            #f4f2eb 52%,
            #e6ebe4 100%
        );
}

.hero:after{
    content:"";
    position:absolute;
    width:500px;
    height:500px;
    right:-175px;
    bottom:-270px;
    border-radius:50%;
    border:70px solid rgba(255,255,255,.20);
    pointer-events:none;
}

.hero-copy{
    padding-top:72px;
}

.hero h1{
    text-wrap:balance;
    text-shadow:0 1px 0 rgba(255,255,255,.65);
}

.hero-description{
    max-width:610px;
}

.hero-actions .btn{
    min-width:145px;
}

.hero-actions .btn-primary{
    box-shadow:
        0 12px 27px rgba(15,78,57,.19);
}


/* ==========================================================
   HERO PRODUCT DISPLAY
   ========================================================== */

.hero-product{
    min-height:675px;
}

.desktop-demo{
    position:relative;
    border:1px solid rgba(255,255,255,.22);

    box-shadow:
        0 38px 80px rgba(15,30,24,.24),
        0 5px 15px rgba(15,30,24,.12);
}

.desktop-demo:after{
    content:"";
    position:absolute;
    left:8%;
    right:8%;
    bottom:-15px;
    height:15px;
    border-radius:0 0 40px 40px;
    background:linear-gradient(
        180deg,
        #333b3d,
        #151c1e
    );
    box-shadow:0 9px 18px rgba(0,0,0,.15);
}

.demo-browser{
    background:#f8faf7;
}

.browser-top{
    box-shadow:0 2px 7px rgba(20,45,35,.04);
}

.phone-demo{
    border-color:#11191c;

    box-shadow:
        0 35px 65px rgba(10,25,20,.28),
        0 7px 15px rgba(10,25,20,.13);
}

.freddy-note{
    border:1px solid rgba(113,91,30,.09);
}


/* ==========================================================
   QUICK FEATURES
   ========================================================== */

.quick-features{
    margin-top:35px;
}

.quick-features span{
    transition:
        transform .18s ease,
        box-shadow .18s ease;
}

.quick-features div:hover span{
    transform:translateY(-2px);
    box-shadow:0 8px 18px rgba(20,70,50,.08);
}


/* ==========================================================
   FEATURE SECTION
   ========================================================== */

.features-section{
    padding-top:42px;
    padding-bottom:52px;
}

.section-heading{
    margin-bottom:30px;
}

.section-heading h2{
    font-size:clamp(29px,2.5vw,36px);
    letter-spacing:-1.2px;
}

.feature-grid article{
    min-height:185px;
    padding:24px 20px;
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}

.feature-grid article:hover{
    border-color:rgba(21,89,67,.17);
}

.feature-grid h3{
    font-weight:800;
}


/* ==========================================================
   BUILT FOR REAL LIFE / FREDDY
   ========================================================== */

.real-life{
    min-height:365px;
    grid-template-columns:40% 60%;

    padding-top:48px;
    padding-bottom:0;

    background:
        radial-gradient(
            circle at 82% 105%,
            rgba(91,153,124,.30),
            transparent 31%
        ),
        radial-gradient(
            circle at 65% 0%,
            rgba(43,103,81,.26),
            transparent 30%
        ),
        linear-gradient(
            105deg,
            #0d3b30,
            #104d3c 57%,
            #0a342b
        );
}

.real-copy{
    padding-bottom:45px;
}

.real-copy h2{
    font-size:36px;
    letter-spacing:-1px;
}

.real-copy p{
    margin:13px 0;
}

.freddy-area{
    min-height:317px;
    align-items:flex-end;
    justify-content:center;
}

.freddy-area img{
    max-height:330px;
    max-width:470px;
    transform:translateY(5px);

    filter:
        drop-shadow(0 18px 18px rgba(0,0,0,.27));
}

.freddy-area blockquote{
    max-width:245px;
    font-size:23px;
    line-height:1.3;
    margin-right:18px;
    margin-bottom:120px;
}

.freddy-copy{
    font-size:21px;
    line-height:1.15;
    margin-left:10px;
    margin-bottom:120px;
}


/* ==========================================================
   PRICING
   ========================================================== */

.pricing-section{
    padding-top:52px;
    padding-bottom:66px;
}

.pricing-section .section-heading{
    margin-bottom:36px;
}

.pricing-grid{
    max-width:1180px;
    align-items:stretch;
}

.price-card{
    min-height:375px;
    padding:31px;

    transition:
        transform .18s ease,
        box-shadow .18s ease;
}

.price-card:not(.coming):hover{
    transform:translateY(-4px);
    box-shadow:0 18px 40px rgba(20,50,39,.09);
}

.price-card.featured{
    transform:scale(1.018);
}

.price-card.featured:hover{
    transform:scale(1.018) translateY(-4px);
}

.price{
    letter-spacing:-1.5px;
}

.price-card ul{
    color:#36403c;
}


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

.final-cta{
    min-height:300px;
    isolation:isolate;

    background:
        radial-gradient(
            circle at 12% 120%,
            rgba(132,177,162,.55),
            transparent 35%
        ),
        radial-gradient(
            circle at 88% -15%,
            rgba(75,125,106,.35),
            transparent 30%
        ),
        linear-gradient(
            116deg,
            #376e62 0%,
            #174b3d 52%,
            #0b382e 100%
        );
}

.final-cta:before{
    opacity:.18;

    background:
        linear-gradient(
            168deg,
            transparent 0 56%,
            rgba(224,238,231,.75) 56.3% 57.4%,
            transparent 57.7%
        ),
        linear-gradient(
            12deg,
            transparent 0 72%,
            rgba(224,238,231,.32) 72.2% 73%,
            transparent 73.2%
        );
}

.final-cta:after{
    content:"Better searches. Better decisions.";
    position:absolute;
    right:7%;
    bottom:32px;
    z-index:2;

    color:rgba(255,255,255,.60);
    font-family:cursive;
    font-size:18px;
    transform:rotate(-3deg);
}

.final-cta small{
    display:block;
    margin-bottom:4px;
    opacity:.88;
}

.final-cta h2{
    font-size:clamp(34px,3.4vw,47px);
    letter-spacing:-1.5px;
    margin-bottom:25px;
}

.final-cta .btn-primary{
    background:#16704f;
    box-shadow:0 13px 28px rgba(0,0,0,.16);
}


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

footer{
    min-height:145px;
}

.footer-brand strong{
    color:#14201d;
    font-weight:850;
}

.footer-brand small{
    color:#65706c;
    margin-top:4px;
}

footer > small{
    color:#65706c;
    white-space:nowrap;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media(max-width:1100px){

    .hero{
        min-height:auto;
    }

    .hero-product{
        min-height:570px;
    }

    .real-life{
        grid-template-columns:1fr;
        padding-bottom:0;
    }

    .real-copy{
        max-width:650px;
    }

    .freddy-area{
        min-height:300px;
    }

    .freddy-area img{
        max-height:300px;
    }

    .pricing-grid{
        max-width:900px;
    }

    .price-card.featured,
    .price-card.featured:hover{
        transform:none;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:700px){

    .marketing-header{
        min-height:68px;
    }

    .brand-house{
        width:35px;
        height:35px;
    }

    .header-actions .btn-outline{
        min-height:39px;
        padding:0 15px;
    }

    .hero-copy{
        padding-top:40px;
    }

    .hero h1{
        margin-bottom:18px;
    }

    .hero-description{
        line-height:1.5;
    }

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

    .quick-features{
        margin-top:30px;
    }

    .quick-features div:nth-child(4),
    .quick-features div:nth-child(5){
        transform:translateX(50%);
    }

    .hero-product{
        min-height:455px;
    }

    .desktop-demo{
        height:315px;
    }

    .phone-demo{
        top:68px;
        width:165px;
        height:350px;
    }

    .freddy-note{
        max-width:120px;
    }

    .features-section{
        padding-top:38px;
        padding-bottom:42px;
    }

    .feature-grid article{
        min-height:auto;
        padding:24px 20px;
    }

    .real-life{
        min-height:auto;
        padding-top:38px;
    }

    .real-copy{
        padding-bottom:15px;
    }

    .real-copy h2{
        font-size:31px;
    }

    .freddy-area{
        min-height:auto;
        display:flex;
        flex-direction:column;
        align-items:center;
    }

    .freddy-area blockquote{
        order:1;
        max-width:none;
        margin:15px 0 5px;
        font-size:20px;
        text-align:center;
    }

    .freddy-area img{
        order:2;
        width:100%;
        max-width:340px;
        max-height:280px;
        margin-top:8px;
    }

    .freddy-copy{
        order:3;
        margin:0 0 25px;
        text-align:center;
        transform:none;
    }

    .pricing-section{
        padding-top:42px;
        padding-bottom:48px;
    }

    .price-card{
        min-height:auto;
        padding:27px;
    }

    .final-cta{
        min-height:275px;
        padding-bottom:65px;
    }

    .final-cta:after{
        left:20px;
        right:20px;
        bottom:24px;
        text-align:center;
        font-size:15px;
    }

    footer{
        min-height:auto;
        padding-top:30px;
        padding-bottom:30px;
    }
}


/* ==========================================================
   VERY SMALL PHONES
   ========================================================== */

@media(max-width:420px){

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

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

    .quick-features div:nth-child(4),
    .quick-features div:nth-child(5){
        transform:none;
    }

    .quick-features div:last-child{
        grid-column:1 / -1;
    }

    .desktop-demo{
        width:98%;
        height:300px;
    }

    .phone-demo{
        width:150px;
        height:330px;
    }
}

/* ===== ORIGINAL FINAL ===== */

/* ============================================================
   PROPNOOK
   FINAL APPROVED PUBLIC LANDING PAGE
   Based on approved PropNook marketing design
   ============================================================ */

:root{
    --final-green:#145a43;
    --final-green-2:#197452;
    --final-dark:#0d4033;
    --final-deep:#08362c;
    --final-cream:#f7f4ed;
    --final-paper:#fff;
    --final-ink:#101719;
    --final-muted:#5d6663;
    --final-line:rgba(20,70,53,.12);
    --final-shadow:0 24px 65px rgba(17,42,33,.13);
}


/* ============================================================
   GLOBAL
   ============================================================ */

body{
    background:#fff;
    color:var(--final-ink);
}

main{
    overflow:hidden;
}

.btn{
    font-weight:750;
    border-radius:9px;
}

.btn-primary{
    background:linear-gradient(
        180deg,
        #197452,
        #125b43
    );

    border-color:#145e46;

    box-shadow:
        0 9px 24px rgba(18,89,65,.18);
}

.btn-primary:hover{
    background:#104f3c;
}


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

.marketing-header{
    min-height:82px;

    padding-left:clamp(30px,5vw,78px);
    padding-right:clamp(30px,5vw,78px);

    background:rgba(255,255,255,.97);

    border-bottom:
        1px solid rgba(20,60,48,.08);

    box-shadow:
        0 3px 16px rgba(20,45,36,.035);

    backdrop-filter:blur(15px);
}

.brand{
    gap:12px;
}

.brand-house{
    color:var(--final-green);
}

.brand strong{
    font-size:25px;
    font-weight:850;
    letter-spacing:-.9px;
}

.brand small{
    font-size:11px;
    color:#68706e;
}

.desktop-nav{
    gap:34px;
}

.desktop-nav a{
    font-weight:650;
}


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

.hero{
    position:relative;

    min-height:680px;

    grid-template-columns:
        minmax(450px,.91fr)
        minmax(550px,1.09fr);

    background:
        linear-gradient(
            90deg,
            rgba(249,248,244,.99) 0%,
            rgba(247,246,240,.97) 47%,
            rgba(232,238,231,.78) 100%
        );

    isolation:isolate;
}

.hero:before{
    content:"";

    position:absolute;
    inset:0;
    z-index:-2;

    background:
        radial-gradient(
            circle at 82% 35%,
            rgba(255,255,255,.94) 0 10%,
            rgba(218,228,219,.62) 32%,
            transparent 52%
        ),
        radial-gradient(
            circle at 94% 88%,
            rgba(226,211,174,.45),
            transparent 31%
        );
}

.hero:after{
    content:"";

    position:absolute;
    z-index:-1;

    width:520px;
    height:520px;

    right:-215px;
    bottom:-270px;

    border-radius:50%;

    border:
        70px solid rgba(255,255,255,.24);
}

.hero-copy{
    position:relative;
    z-index:5;

    padding:
        70px 20px
        46px
        clamp(32px,5vw,76px);
}

.eyebrow{
    color:#145641;
    font-weight:850;
    letter-spacing:5px;
    font-size:13px;
}

.hero h1{
    max-width:620px;

    margin-top:19px;

    font-size:
        clamp(60px,5.4vw,86px);

    line-height:.91;

    letter-spacing:-5px;

    text-wrap:balance;
}

.hero h1 span{
    color:#176f50;
}

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

    margin-top:25px;

    font-size:17px;
    line-height:1.55;

    color:#424b48;
}

.hero-actions{
    margin-top:28px;
    gap:14px;
}

.hero-actions .btn{
    min-height:52px;
    padding:0 26px;
}

.quick-features{
    max-width:620px;

    margin-top:38px;

    gap:15px;
}

.quick-features span{
    width:45px;
    height:45px;

    border-radius:11px;

    background:rgba(255,255,255,.82);

    border:
        1px solid rgba(21,87,66,.12);

    box-shadow:
        0 7px 20px rgba(20,60,47,.055);
}

.quick-features p{
    color:#3e4845;
}


/* ============================================================
   HERO PRODUCT PRESENTATION
   ============================================================ */

.hero-product{
    position:relative;

    min-height:680px;

    padding:
        52px
        clamp(25px,4vw,60px)
        45px
        0;
}

.desktop-demo{
    width:min(94%,720px);
    height:430px;

    top:50px;
    right:4%;

    border-radius:18px;

    border:
        9px solid #172124;

    background:#fff;

    box-shadow:
        0 36px 75px rgba(15,30,24,.25),
        0 7px 20px rgba(15,30,24,.12);
}

.desktop-demo:after{
    content:"";

    position:absolute;

    left:7%;
    right:7%;
    bottom:-19px;

    height:19px;

    border-radius:
        0 0 45px 45px;

    background:
        linear-gradient(
            #31393b,
            #151b1d
        );

    box-shadow:
        0 11px 18px rgba(0,0,0,.16);
}

.browser-top{
    min-height:52px;

    background:#fbfcfa;

    border-bottom:
        1px solid rgba(20,60,48,.09);
}

.demo-layout{
    background:#f8faf7;
}

.demo-map{
    background:
        linear-gradient(
            164deg,
            transparent 0 45%,
            rgba(180,207,215,.72) 45% 54%,
            transparent 54%
        ),
        linear-gradient(
            28deg,
            transparent 0 43%,
            rgba(207,220,205,.72) 43% 50%,
            transparent 50%
        ),
        #eef3eb;
}

.phone-demo{
    width:190px;
    height:395px;

    left:1%;
    top:94px;

    border:
        8px solid #121b1e;

    border-radius:38px;

    box-shadow:
        0 32px 65px rgba(10,25,20,.28),
        0 7px 15px rgba(10,25,20,.12);
}

.phone-notch{
    background:#121b1e;
}

.freddy-note{
    right:3%;
    bottom:35px;

    width:145px;
    min-height:110px;

    padding:18px 13px;

    background:#f6dfa0;

    box-shadow:
        0 13px 28px rgba(80,65,24,.13);

    transform:rotate(4deg);

    font-size:14px;
}


/* ============================================================
   FEATURES
   ============================================================ */

.features-section{
    padding:
        48px
        clamp(25px,5vw,75px)
        60px;

    background:#fff;
}

.section-heading{
    max-width:800px;
    margin:0 auto 34px;
}

.section-heading h2{
    font-size:
        clamp(31px,2.6vw,39px);

    letter-spacing:-1.5px;
}

.section-heading p{
    font-size:15px;
    color:#66706d;
}

.feature-grid{
    max-width:1320px;

    margin:0 auto;

    gap:18px;
}

.feature-grid article{
    min-height:190px;

    padding:27px 22px;

    border-radius:14px;

    border:
        1px solid rgba(20,60,48,.10);

    background:
        linear-gradient(
            180deg,
            #fff,
            #fdfdfc
        );

    box-shadow:
        0 10px 30px rgba(23,42,35,.055);
}

.feature-icon{
    width:48px;
    height:48px;

    background:#e4f1e9;

    color:#176247;

    border-radius:50%;
}

.feature-grid h3{
    font-weight:850;
}

.feature-grid p{
    line-height:1.45;
}


/* ============================================================
   BUILT FOR REAL LIFE
   ============================================================ */

.real-life{
    position:relative;

    min-height:430px;

    grid-template-columns:
        minmax(350px,.78fr)
        minmax(650px,1.22fr);

    padding:
        55px
        clamp(30px,5vw,76px)
        0;

    background:
        radial-gradient(
            circle at 82% 110%,
            rgba(85,160,121,.30),
            transparent 31%
        ),
        radial-gradient(
            circle at 64% -10%,
            rgba(52,117,90,.23),
            transparent 32%
        ),
        linear-gradient(
            108deg,
            #0d3d31,
            #10523e 57%,
            #08362c
        );

    overflow:hidden;
}

.real-life:before{
    content:"";

    position:absolute;

    left:-5%;
    bottom:-110px;

    width:620px;
    height:220px;

    background:
        linear-gradient(
            155deg,
            transparent 0 42%,
            rgba(4,43,34,.55) 42% 57%,
            transparent 57%
        );
}

.real-copy{
    position:relative;
    z-index:3;
}

.real-copy h2{
    font-size:39px;
    letter-spacing:-1.4px;
}

.real-copy p{
    margin:14px 0;

    font-size:16px;

    color:#f0f6f2;
}

.freddy-area{
    position:relative;

    min-height:375px;

    display:grid;

    grid-template-columns:
        minmax(220px,.7fr)
        minmax(300px,1fr)
        minmax(130px,.45fr);

    align-items:end;

    gap:10px;
}

.freddy-area blockquote{
    align-self:center;

    margin:0 0 45px;

    max-width:270px;

    font-family:cursive;

    font-size:24px;
    line-height:1.35;

    color:#e6eee8;

    transform:rotate(-2deg);
}

.freddy-area img{
    align-self:end;

    width:100%;
    max-width:450px;
    max-height:380px;

    object-fit:contain;

    transform:translateY(4px);

    filter:
        drop-shadow(
            0 20px 22px rgba(0,0,0,.28)
        );
}

.freddy-copy{
    align-self:center;

    margin:0 0 35px;

    font-family:cursive;

    font-size:22px;
    line-height:1.18;

    color:#76d08e;

    transform:rotate(5deg);
}


/* ============================================================
   PRICING
   ============================================================ */

.pricing-section{
    padding:
        60px
        clamp(25px,5vw,75px)
        75px;

    background:#f8f6f0;
}

.pricing-grid{
    max-width:1120px;

    gap:22px;
}

.price-card{
    min-height:395px;

    padding:32px;

    border-radius:14px;

    background:#fff;

    border:
        1px solid rgba(20,60,48,.11);

    box-shadow:
        0 12px 32px rgba(23,42,35,.065);
}

.price-card h3{
    font-size:24px;
    font-weight:850;
}

.price{
    font-size:42px;
    font-weight:900;
}

.price-card.featured{
    border:
        2px solid #32a865;

    box-shadow:
        0 17px 42px rgba(23,80,56,.10);

    transform:translateY(-5px);
}

.popular{
    right:18px;
    top:-16px;

    padding:7px 17px;

    border-radius:18px;

    background:#35ad68;

    box-shadow:
        0 6px 16px rgba(30,130,75,.20);
}

.price-card .btn{
    min-height:45px;
}


/* ============================================================
   FINAL CTA — APPROVED PREMIUM TREATMENT
   ============================================================ */

.final-cta{
    position:relative;

    min-height:355px;

    display:grid;
    place-items:center;

    text-align:center;

    isolation:isolate;

    background:
        radial-gradient(
            circle at 13% 115%,
            rgba(131,181,164,.55),
            transparent 37%
        ),
        radial-gradient(
            circle at 88% -15%,
            rgba(78,131,110,.36),
            transparent 31%
        ),
        linear-gradient(
            115deg,
            #397267,
            #164d3e 53%,
            #09372d
        );
}

.final-cta:before{
    content:"";

    position:absolute;
    inset:0;

    z-index:-1;

    opacity:.26;

    background:
        linear-gradient(
            168deg,
            transparent 0 56%,
            rgba(226,239,232,.72) 56.3% 57.3%,
            transparent 57.6%
        ),
        linear-gradient(
            11deg,
            transparent 0 71%,
            rgba(226,239,232,.32) 71.3% 72%,
            transparent 72.3%
        );
}

.final-cta:after{
    content:"Better searches. Brighter tomorrows.";

    position:absolute;

    right:7%;
    bottom:35px;

    font-family:cursive;

    font-size:19px;

    color:rgba(255,255,255,.67);

    transform:rotate(-3deg);
}

.final-cta > div{
    position:relative;
    z-index:2;
}

.final-cta small{
    display:block;

    margin-bottom:6px;

    font-size:16px;

    color:rgba(255,255,255,.86);
}

.final-cta h2{
    margin:0 0 27px;

    color:#fff;

    font-size:
        clamp(38px,3.6vw,52px);

    letter-spacing:-2px;
}

.final-cta .btn{
    min-height:52px;
    padding:0 27px;
}


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

footer{
    min-height:165px;

    padding:
        34px
        clamp(30px,5vw,76px);

    background:#fff;
}

.footer-brand strong{
    font-size:23px;
    font-weight:850;
}

.footer-brand small{
    margin-top:5px;

    color:#69716f;
}

footer nav{
    gap:26px;
}

footer nav a{
    font-weight:550;
}

footer > small{
    color:#65706d;
}


/* ============================================================
   TABLET
   ============================================================ */

@media(max-width:1100px){

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

    .hero-copy{
        padding-right:
            clamp(30px,5vw,76px);
    }

    .hero-product{
        min-height:570px;
        padding-left:30px;
    }

    .desktop-demo{
        right:auto;
        margin:auto;
    }

    .real-life{
        grid-template-columns:1fr;
    }

    .freddy-area{
        margin-top:15px;
    }

    .price-card.featured{
        transform:none;
    }
}


/* ============================================================
   MOBILE
   ============================================================ */

@media(max-width:700px){

    .marketing-header{
        min-height:72px;

        padding:
            12px 18px;
    }

    .brand strong{
        font-size:21px;
    }

    .brand small,
    .desktop-nav,
    .header-actions .btn-primary{
        display:none;
    }

    .brand-house{
        width:37px;
        height:37px;
        font-size:37px;
    }

    .header-actions .btn-outline{
        min-height:41px;
        padding:0 17px;
    }

    .hero{
        min-height:auto;
    }

    .hero-copy{
        padding:
            45px 22px 35px;
    }

    .eyebrow{
        font-size:12px;
        letter-spacing:4px;
    }

    .hero h1{
        font-size:
            clamp(48px,14vw,62px);

        line-height:.94;

        letter-spacing:-3.5px;
    }

    .hero-description{
        font-size:18px;
        line-height:1.55;
    }

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

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

    .quick-features{
        grid-template-columns:
            repeat(2,1fr);

        gap:25px 15px;

        margin-top:35px;
    }

    .quick-features div:last-child{
        grid-column:1 / -1;
    }

    .quick-features div:nth-child(4),
    .quick-features div:nth-child(5){
        transform:none;
    }

    .hero-product{
        min-height:485px;

        padding:
            20px 12px 30px;
    }

    .desktop-demo{
        width:96%;
        height:335px;

        top:15px;
    }

    .phone-demo{
        width:170px;
        height:355px;

        top:80px;
        left:3px;
    }

    .freddy-note{
        width:125px;
        min-height:95px;

        right:8px;
        bottom:5px;

        font-size:12px;
    }

    .features-section{
        padding:
            48px 22px;
    }

    .section-heading h2{
        font-size:34px;
    }

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

    .feature-grid article{
        min-height:auto;
    }

    .real-life{
        padding:
            40px 22px 0;
    }

    .real-copy h2{
        font-size:33px;
    }

    .freddy-area{
        min-height:auto;

        display:flex;
        flex-direction:column;

        align-items:center;
    }

    .freddy-area blockquote{
        order:1;

        margin:
            24px 0 5px;

        max-width:330px;

        text-align:center;

        font-size:21px;
    }

    .freddy-area img{
        order:2;

        width:100%;
        max-width:360px;
        max-height:300px;

        margin-top:8px;
    }

    .freddy-copy{
        order:3;

        margin:
            0 0 28px;

        text-align:center;

        transform:none;
    }

    .pricing-section{
        padding:
            48px 22px 55px;
    }

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

    .price-card{
        min-height:auto;

        padding:29px;
    }

    .final-cta{
        min-height:310px;

        padding:
            45px 22px 75px;
    }

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

    .final-cta:after{
        left:20px;
        right:20px;
        bottom:27px;

        text-align:center;

        font-size:16px;
    }

    footer{
        display:block;

        min-height:auto;

        padding:
            32px 22px;

        text-align:center;
    }

    footer nav{
        justify-content:center;
        flex-wrap:wrap;

        margin:
            25px 0;

        gap:20px 28px;
    }
}


/* ============================================================
   SMALL PHONE
   ============================================================ */

@media(max-width:420px){

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

    .desktop-demo{
        height:305px;
    }

    .phone-demo{
        width:150px;
        height:330px;
    }

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


/* ============================================================
   FINAL LOCK POLISH
   Sticky-header anchor protection + approved CTA wording
   ============================================================ */

/* Prevent sticky header from covering section headings */
#features,
#pricing,
#about{
    scroll-margin-top:105px;
}

/* Keep section content safely below sticky header */
.features-section{
    position:relative;
    z-index:1;
}

/* Restore approved PropNook wording */
.final-cta:after{
    content:"Better searches. Better decisions.";
}

@media(max-width:700px){
    #features,
    #pricing,
    #about{
        scroll-margin-top:90px;
    }
}



/* ============================================================
   PROPNOOK TARGET HERO — INSTALLED
   ============================================================ */

.hero{
    position:relative !important;
    display:grid !important;
    grid-template-columns:minmax(400px,.78fr) minmax(600px,1.22fr) !important;
    align-items:center !important;
    min-height:590px !important;
    padding:54px max(5vw,55px) 42px !important;
    overflow:hidden !important;

    background:
        linear-gradient(
            90deg,
            rgba(249,246,239,.99) 0%,
            rgba(249,246,239,.97) 27%,
            rgba(249,246,239,.72) 43%,
            rgba(249,246,239,.05) 62%,
            rgba(249,246,239,0) 100%
        ),
        url("/static/img/landing/propnook-hero-target.png")
        center right / cover no-repeat !important;
}

.hero:before,
.hero:after{
    display:none !important;
}

.hero-copy{
    position:relative !important;
    z-index:5 !important;
    width:100% !important;
    max-width:570px !important;
    padding:0 !important;
    margin:0 !important;
}

.hero h1{
    margin:0 !important;
    font-size:clamp(56px,5vw,78px) !important;
    line-height:.92 !important;
    letter-spacing:-4px !important;
}

.hero h1 span{
    color:#087654 !important;
}

.hero-description{
    max-width:535px !important;
    margin:24px 0 22px !important;
    font-size:19px !important;
    line-height:1.5 !important;
}

.hero-actions{
    display:flex !important;
    flex-direction:row !important;
    gap:14px !important;
    margin-bottom:30px !important;
}

.hero-actions .btn{
    width:auto !important;
}

.quick-features{
    grid-template-columns:repeat(5,1fr) !important;
    max-width:570px !important;
    gap:12px !important;
}

.quick-features > div,
.quick-features > div:last-child{
    grid-column:auto !important;
    transform:none !important;
}

.hero-product{
    min-height:1px !important;
    pointer-events:none !important;
}

.hero-product > *{
    display:none !important;
}

@media(max-width:700px){

    .hero{
        display:block !important;
        min-height:auto !important;
        padding:0 0 355px !important;

        background:
            linear-gradient(
                180deg,
                rgba(249,246,239,1) 0%,
                rgba(249,246,239,1) 52%,
                rgba(249,246,239,.35) 68%,
                rgba(249,246,239,0) 82%
            ),
            url("/static/img/landing/propnook-hero-target.png")
            68% bottom / auto 385px no-repeat !important;
    }

    .hero-copy{
        max-width:none !important;
        padding:38px 20px 24px !important;
    }

    .hero h1{
        font-size:clamp(45px,13vw,58px) !important;
        line-height:.94 !important;
        letter-spacing:-3px !important;
    }

    .hero-description{
        font-size:16px !important;
    }

    .hero-actions{
        flex-direction:column !important;
    }

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

    .quick-features{
        grid-template-columns:repeat(5,1fr) !important;
        gap:5px !important;
    }

    .quick-features p{
        font-size:9px !important;
    }
}

/* PROPNOOK TARGET HERO END */


/* ============================================================
   PROPNOOK PROFESSIONAL POLISH — 2026-09-15
   KEEP CURRENT DESIGN / NO HERO ART CHANGES
   ============================================================ */


/* ------------------------------------------------------------
   GLOBAL RHYTHM
   More deliberate spacing; less generated-template feeling.
   ------------------------------------------------------------ */

.features-section,
.real-life,
.pricing-section{
    position:relative;
}

.features-section,
.pricing-section{
    padding-top:76px !important;
    padding-bottom:76px !important;
}


/* ------------------------------------------------------------
   SECTION HEADINGS
   ------------------------------------------------------------ */

.section-heading{
    max-width:760px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-bottom:42px !important;
}

.section-heading h2{
    margin-bottom:12px !important;

    font-size:clamp(34px,3.5vw,48px) !important;
    line-height:1.05 !important;
    letter-spacing:-1.8px !important;
    font-weight:800 !important;
}

.section-heading p{
    max-width:650px !important;
    margin-left:auto !important;
    margin-right:auto !important;

    font-size:16px !important;
    line-height:1.65 !important;
}


/* ------------------------------------------------------------
   FEATURE CARDS
   Cleaner and less "AI SaaS template."
   ------------------------------------------------------------ */

.feature-card{
    border:1px solid rgba(15,72,55,.10) !important;
    border-radius:14px !important;

    box-shadow:
        0 1px 2px rgba(16,35,29,.03),
        0 8px 24px rgba(16,35,29,.045) !important;

    padding:26px 24px !important;

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease !important;
}

.feature-card:hover{
    transform:translateY(-2px) !important;

    border-color:rgba(15,72,55,.18) !important;

    box-shadow:
        0 2px 4px rgba(16,35,29,.04),
        0 12px 28px rgba(16,35,29,.07) !important;
}

.feature-card h3{
    margin:15px 0 8px !important;

    font-size:19px !important;
    line-height:1.2 !important;
    letter-spacing:-.35px !important;
}

.feature-card p{
    margin:0 !important;

    font-size:14px !important;
    line-height:1.55 !important;
}


/* ------------------------------------------------------------
   REAL-LIFE / FREDDY SECTION
   Keep Freddy. Improve composition only.
   ------------------------------------------------------------ */

.real-life{
    min-height:430px !important;

    padding-top:58px !important;
    padding-bottom:58px !important;
}

.real-life > *{
    position:relative;
    z-index:2;
}

.real-life h2{
    max-width:680px !important;

    margin-bottom:16px !important;

    font-size:clamp(36px,4vw,54px) !important;
    line-height:1.02 !important;
    letter-spacing:-2px !important;
}

.real-life p{
    max-width:620px !important;

    font-size:16px !important;
    line-height:1.65 !important;
}

.freddy-area{
    align-items:center !important;
}

.freddy-area img{
    filter:
        drop-shadow(0 10px 14px rgba(0,0,0,.14)) !important;
}

.freddy-area blockquote{
    max-width:390px !important;

    padding:18px 20px !important;

    border-radius:12px !important;

    box-shadow:
        0 7px 22px rgba(0,0,0,.09) !important;

    font-size:16px !important;
    line-height:1.5 !important;
}


/* ------------------------------------------------------------
   PRICING
   More product-like, less generic template.
   ------------------------------------------------------------ */

.pricing-grid{
    align-items:stretch !important;
    gap:18px !important;
}

.price-card{
    position:relative !important;

    display:flex !important;
    flex-direction:column !important;

    border:1px solid rgba(18,69,53,.12) !important;
    border-radius:14px !important;

    padding:28px 26px !important;

    box-shadow:
        0 2px 3px rgba(18,38,31,.025),
        0 10px 30px rgba(18,38,31,.045) !important;
}

.price-card.featured{
    transform:none !important;

    border:2px solid #11805c !important;

    box-shadow:
        0 12px 34px rgba(15,102,75,.11) !important;
}

.price-card h3{
    margin-bottom:12px !important;

    font-size:21px !important;
    letter-spacing:-.4px !important;
}

.price-card .price{
    margin-bottom:16px !important;
}

.price-card ul{
    margin-top:18px !important;
    margin-bottom:25px !important;
}

.price-card li{
    margin-bottom:10px !important;

    font-size:14px !important;
    line-height:1.45 !important;
}

.price-card .btn{
    margin-top:auto !important;

    min-height:48px !important;

    border-radius:8px !important;

    font-weight:750 !important;
}


/* ------------------------------------------------------------
   FINAL CTA
   Keep existing background/artwork.
   ------------------------------------------------------------ */

.final-cta{
    padding-top:64px !important;
    padding-bottom:64px !important;
}

.final-cta h2{
    max-width:720px !important;

    margin-left:auto !important;
    margin-right:auto !important;
    margin-bottom:13px !important;

    font-size:clamp(35px,4vw,50px) !important;
    line-height:1.04 !important;
    letter-spacing:-1.8px !important;
}

.final-cta p{
    max-width:620px !important;

    margin-left:auto !important;
    margin-right:auto !important;

    font-size:16px !important;
    line-height:1.55 !important;
}

.final-cta .btn{
    min-height:50px !important;

    padding-left:25px !important;
    padding-right:25px !important;

    border-radius:8px !important;
}


/* ------------------------------------------------------------
   FOOTER
   ------------------------------------------------------------ */

footer,
.site-footer{
    font-size:13px !important;
}

footer a,
.site-footer a{
    text-decoration:none !important;
}

footer a:hover,
.site-footer a:hover{
    text-decoration:underline !important;
}


/* ------------------------------------------------------------
   BUTTONS
   Consistent human-designed UI.
   ------------------------------------------------------------ */

.btn{
    border-radius:8px !important;

    box-shadow:none !important;

    transition:
        transform .15s ease,
        background-color .15s ease,
        border-color .15s ease !important;
}

.btn:hover{
    transform:translateY(-1px);
}

.btn:active{
    transform:translateY(0);
}


/* ------------------------------------------------------------
   MOBILE POLISH
   HERO IMAGE / HERO COMPOSITION NOT CHANGED.
   ------------------------------------------------------------ */

@media(max-width:700px){

    .features-section,
    .pricing-section{
        padding-top:54px !important;
        padding-bottom:54px !important;
    }

    .section-heading{
        margin-bottom:30px !important;
        padding-left:18px !important;
        padding-right:18px !important;
    }

    .section-heading h2{
        font-size:34px !important;
        letter-spacing:-1.3px !important;
    }

    .section-heading p{
        font-size:15px !important;
        line-height:1.55 !important;
    }

    .feature-card{
        padding:22px 20px !important;
        border-radius:12px !important;
    }

    .feature-card:hover{
        transform:none !important;
    }

    .real-life{
        min-height:auto !important;

        padding-top:46px !important;
        padding-bottom:46px !important;
    }

    .real-life h2{
        font-size:36px !important;
        letter-spacing:-1.5px !important;
    }

    .freddy-area blockquote{
        max-width:330px !important;

        margin-left:auto !important;
        margin-right:auto !important;
    }

    .pricing-grid{
        gap:14px !important;
    }

    .price-card{
        padding:24px 21px !important;
        border-radius:12px !important;
    }

    .final-cta{
        padding-top:52px !important;
        padding-bottom:52px !important;
    }

    .final-cta h2{
        font-size:35px !important;
        letter-spacing:-1.2px !important;
    }

}


/* ============================================================
   PROPNOOK PROFESSIONAL POLISH END
   ============================================================ */

/* ============================================================
   PROPNOOK HERO — CODE-ONLY REALISM POLISH
   Keep current image. Reduce synthetic/AI-looking details.
   ============================================================ */


/*
   We cannot alter objects baked into the PNG with CSS.
   Instead, treat the image more like real product photography:
   slightly softer, less digitally sharp, and less saturated.
*/


.hero{
    isolation:isolate !important;

    /*
       Remove the image from the hero itself so it can be
       independently processed in ::before.
    */
    background:
        linear-gradient(
            90deg,
            #f8f5ed 0%,
            #f8f5ed 31%,
            rgba(248,245,237,.93) 38%,
            rgba(248,245,237,.62) 47%,
            rgba(248,245,237,.12) 61%,
            rgba(248,245,237,0) 72%
        ) !important;
}


/*
   Current approved image remains exactly the same file.
   This layer lets us visually soften only the artwork.
*/

.hero::before{
    content:"" !important;

    display:block !important;

    position:absolute !important;
    z-index:-2 !important;

    inset:-3px !important;

    background-image:
        url("/static/img/landing/propnook-hero-target.png") !important;

    background-repeat:no-repeat !important;
    background-size:cover !important;
    background-position:center right !important;

    /*
       Small photographic correction:
       - less digital saturation
       - slightly lower contrast
       - tiny blur removes AI micro-detail
    */

    filter:
        saturate(.84)
        contrast(.94)
        brightness(.99)
        blur(.35px) !important;

    transform:scale(1.004) !important;
}


/*
   Very subtle real-camera atmosphere.
   This specifically prevents the devices, houses and mug
   from looking unnaturally crisp compared with the room.
*/

.hero::after{
    content:"" !important;

    display:block !important;

    position:absolute !important;
    z-index:-1 !important;

    inset:0 !important;

    pointer-events:none !important;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.025),
            rgba(20,30,25,.018)
        ) !important;
}


/* Keep REAL webpage content perfectly sharp */

.hero-copy{
    position:relative !important;
    z-index:5 !important;

    filter:none !important;
}


/*
   Reduce attention on tiny fake app/property details.
   The overall laptop + phone composition stays visible.
*/

.hero-product{
    position:relative !important;
    z-index:1 !important;
}


/* ------------------------------------------------------------
   MOBILE
   Preserve the current mobile composition.
   ------------------------------------------------------------ */

@media(max-width:700px){

    .hero{
        background:
            linear-gradient(
                180deg,
                #f8f5ed 0%,
                #f8f5ed 48%,
                rgba(248,245,237,.92) 56%,
                rgba(248,245,237,.35) 70%,
                rgba(248,245,237,0) 82%
            ) !important;
    }


    .hero::before{
        inset:auto -3px -3px -3px !important;

        height:390px !important;

        background-size:auto 390px !important;
        background-position:68% bottom !important;

        filter:
            saturate(.84)
            contrast(.94)
            brightness(.99)
            blur(.3px) !important;

        transform:none !important;
    }


    .hero::after{
        background:
            linear-gradient(
                180deg,
                rgba(248,245,237,0) 65%,
                rgba(10,30,23,.025) 100%
            ) !important;
    }

}

/* PROPNOOK HERO REALISM POLISH END */


/* ============================================================
   PROPNOOK CODED PRODUCT HERO
   NO GENERATED HERO IMAGE
   ============================================================ */


/* ------------------------------------------------------------
   HERO BACKGROUND

   Warm, clean room-like environment created with CSS.
   No generated image is displayed.
   ------------------------------------------------------------ */

.hero{
    position:relative !important;
    isolation:isolate !important;

    background:
        radial-gradient(
            circle at 90% 17%,
            rgba(58,113,72,.18) 0 5%,
            transparent 5.5%
        ),
        radial-gradient(
            circle at 84% 20%,
            rgba(39,92,57,.14) 0 7%,
            transparent 7.5%
        ),
        linear-gradient(
            180deg,
            #f7f4ec 0%,
            #f4f0e6 69%,
            #c79661 69.2%,
            #b47e4e 100%
        ) !important;
}


/* Disable previous hero-image pseudo layers */

.hero::before{
    content:"" !important;
    display:block !important;

    position:absolute !important;
    inset:0 !important;

    z-index:-2 !important;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.48),
            transparent 55%
        ) !important;

    filter:none !important;
    transform:none !important;
}


.hero::after{
    content:"" !important;
    display:block !important;

    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;

    height:31% !important;

    z-index:-1 !important;

    background:
        repeating-linear-gradient(
            4deg,
            rgba(90,53,26,.035) 0,
            rgba(90,53,26,.035) 1px,
            transparent 1px,
            transparent 18px
        ) !important;

    pointer-events:none !important;
}


/* ------------------------------------------------------------
   PRODUCT SCENE
   ------------------------------------------------------------ */

.coded-product-scene{
    display:block !important;

    position:relative !important;

    width:100% !important;
    height:500px !important;

    min-height:500px !important;

    overflow:visible !important;

    pointer-events:none !important;
}


.coded-product-scene > *{
    display:block !important;
}


/* ------------------------------------------------------------
   LAPTOP
   ------------------------------------------------------------ */

.coded-laptop{
    position:absolute !important;

    width:min(650px,92%) !important;
    height:405px !important;

    right:4% !important;
    top:18px !important;

    border-radius:18px 18px 8px 8px !important;

    background:#252a29 !important;

    padding:13px 13px 0 !important;

    box-shadow:
        0 30px 45px rgba(33,30,24,.22),
        0 5px 12px rgba(33,30,24,.16) !important;

    transform:perspective(1300px) rotateY(-2deg) !important;
}


.coded-laptop-screen{
    width:100% !important;
    height:100% !important;

    overflow:hidden !important;

    border-radius:10px 10px 3px 3px !important;

    background:#fff !important;
}


.coded-laptop-base{
    position:absolute !important;

    left:-7% !important;
    right:-7% !important;
    bottom:-20px !important;

    height:24px !important;

    border-radius:3px 3px 16px 16px !important;

    background:
        linear-gradient(
            180deg,
            #d8dad9,
            #aeb2b1
        ) !important;

    box-shadow:
        0 12px 13px rgba(0,0,0,.14) !important;
}


.coded-app-topbar{
    display:grid !important;

    grid-template-columns:
        auto 1fr auto !important;

    align-items:center !important;

    gap:18px !important;

    height:52px !important;

    padding:0 18px !important;

    border-bottom:1px solid #e7ebe8 !important;
}


.coded-app-brand{
    display:flex !important;
    align-items:center !important;

    gap:7px !important;

    font-size:12px !important;

    color:#143d31 !important;
}


.coded-house{
    color:#087654 !important;
}


.coded-search{
    height:29px !important;

    display:flex !important;
    align-items:center !important;

    padding:0 13px !important;

    border:1px solid #e0e5e2 !important;
    border-radius:6px !important;

    background:#f8faf9 !important;

    font-size:9px !important;

    color:#929a96 !important;
}


.coded-top-actions{
    display:flex !important;

    gap:11px !important;

    font-size:13px !important;

    color:#26342f !important;
}


.coded-app-tabs{
    display:flex !important;

    align-items:center !important;
    justify-content:space-between !important;

    height:52px !important;

    padding:0 18px !important;

    border-bottom:1px solid #edf0ee !important;

    color:#17231f !important;
}


.coded-app-tabs > strong{
    font-size:15px !important;
}


.coded-tab-buttons{
    display:flex !important;

    gap:5px !important;
}


.coded-tab-buttons span{
    padding:7px 15px !important;

    border-radius:5px !important;

    background:#f5f6f5 !important;

    font-size:9px !important;
}


.coded-tab-buttons .active{
    background:#087654 !important;
    color:#fff !important;
}


.coded-workspace{
    display:grid !important;

    grid-template-columns:43% 57% !important;

    height:calc(100% - 104px) !important;
}


/* ------------------------------------------------------------
   PROPERTY CARDS
   ------------------------------------------------------------ */

.coded-properties{
    padding:12px !important;

    overflow:hidden !important;

    background:#fafbfa !important;

    border-right:1px solid #e6ebe8 !important;
}


.coded-property{
    display:grid !important;

    grid-template-columns:105px 1fr !important;

    gap:10px !important;

    align-items:center !important;

    margin-bottom:9px !important;

    padding:8px !important;

    border:1px solid #e6ebe8 !important;
    border-radius:7px !important;

    background:#fff !important;

    box-shadow:0 2px 5px rgba(15,55,42,.04) !important;
}


.coded-property > div:last-child{
    display:flex !important;

    flex-direction:column !important;

    gap:3px !important;
}


.coded-property strong{
    font-size:10px !important;
    line-height:1.2 !important;

    color:#18241f !important;
}


.coded-property span{
    font-size:9px !important;

    color:#087654 !important;
}


.coded-property small{
    font-size:8px !important;

    color:#77817d !important;
}


/* CSS house thumbnails */

.coded-property-photo{
    position:relative !important;

    height:65px !important;

    overflow:hidden !important;

    border-radius:5px !important;

    background:
        linear-gradient(
            #bcd7df 0 55%,
            #82a66f 55% 100%
        ) !important;
}


.house-body{
    position:absolute !important;

    width:55px !important;
    height:28px !important;

    left:25px !important;
    bottom:9px !important;

    background:#eee2cd !important;

    border:
        1px solid rgba(67,53,38,.25) !important;
}


.house-roof{
    position:absolute !important;

    width:48px !important;
    height:48px !important;

    left:29px !important;
    bottom:21px !important;

    background:#80583f !important;

    transform:rotate(45deg) !important;

    border-radius:2px !important;
}


.house-body::before,
.house-body::after{
    content:"" !important;

    position:absolute !important;

    top:8px !important;

    width:10px !important;
    height:10px !important;

    background:#9ab4bb !important;

    border:2px solid #fff !important;
}


.house-body::before{
    left:8px !important;
}


.house-body::after{
    right:8px !important;
}


.house-two{
    background:
        linear-gradient(
            #c7dce3 0 55%,
            #75936b 55% 100%
        ) !important;
}


.house-two .house-body{
    background:#d7c0a4 !important;
}


.house-three .house-body{
    background:#eee8da !important;
}


/* ------------------------------------------------------------
   CODED MAP
   ------------------------------------------------------------ */

.coded-map{
    position:relative !important;

    overflow:hidden !important;

    background:
        linear-gradient(
            110deg,
            transparent 0 21%,
            rgba(141,194,219,.43) 21.5% 28%,
            transparent 28.5%
        ),
        repeating-linear-gradient(
            0deg,
            #eef1e7 0,
            #eef1e7 35px,
            #e3e7dd 36px,
            #eef1e7 37px
        ),
        repeating-linear-gradient(
            90deg,
            transparent 0,
            transparent 49px,
            #daddd4 50px,
            transparent 51px
        ) !important;
}


.coded-map-title{
    position:absolute !important;

    top:12px !important;
    left:15px !important;
    right:15px !important;

    z-index:5 !important;

    display:flex !important;
    justify-content:space-between !important;

    font-size:10px !important;

    color:#22322c !important;
}


.coded-map-title strong{
    font-size:16px !important;
}


.coded-map-title span{
    color:#7a837f !important;
}


.map-road{
    position:absolute !important;

    height:4px !important;

    border-radius:5px !important;

    background:#fff !important;

    box-shadow:0 0 0 1px #d8dbd3 !important;

    transform-origin:center !important;
}


.road-a{
    width:430px !important;
    top:120px !important;
    left:-30px !important;

    transform:rotate(21deg) !important;
}


.road-b{
    width:400px !important;
    top:225px !important;
    left:-10px !important;

    transform:rotate(-16deg) !important;
}


.road-c{
    width:350px !important;
    top:180px !important;
    left:70px !important;

    transform:rotate(64deg) !important;
}


.road-d{
    width:330px !important;
    top:270px !important;
    left:20px !important;

    transform:rotate(8deg) !important;
}


.map-pin{
    position:absolute !important;

    z-index:4 !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:23px !important;
    height:23px !important;

    border-radius:50% 50% 50% 5px !important;

    transform:rotate(-45deg) !important;

    background:#087654 !important;
    color:#fff !important;

    font-size:8px !important;

    box-shadow:0 2px 5px rgba(0,0,0,.17) !important;
}


.map-pin::first-letter{
    transform:rotate(45deg);
}


.pin-1{left:25%; top:32%;}
.pin-2{left:54%; top:24%;}
.pin-3{left:72%; top:43%;}
.pin-4{left:42%; top:60%;}
.pin-5{left:68%; top:72%;}


.map-label{
    position:absolute !important;

    z-index:3 !important;

    padding:3px 5px !important;

    border-radius:3px !important;

    background:rgba(255,255,255,.82) !important;

    font-size:9px !important;
    font-weight:700 !important;

    color:#46524d !important;
}


.label-sd{
    left:45% !important;
    top:49% !important;
}


.label-cv{
    left:56% !important;
    top:79% !important;
}


/* ------------------------------------------------------------
   PHONE
   ------------------------------------------------------------ */

.coded-phone{
    position:absolute !important;

    z-index:8 !important;

    width:185px !important;
    height:365px !important;

    left:-3% !important;
    bottom:18px !important;

    padding:22px 10px 11px !important;

    overflow:hidden !important;

    border:7px solid #343837 !important;
    border-radius:29px !important;

    background:#fff !important;

    box-shadow:
        0 20px 30px rgba(27,27,24,.24),
        0 4px 8px rgba(27,27,24,.13) !important;
}


.coded-phone-speaker{
    position:absolute !important;

    width:50px !important;
    height:5px !important;

    top:8px !important;
    left:50% !important;

    transform:translateX(-50%) !important;

    border-radius:5px !important;

    background:#232725 !important;
}


.coded-phone-header{
    display:flex !important;

    gap:4px !important;

    font-size:8px !important;

    color:#315347 !important;
}


.coded-phone-title{
    display:flex !important;

    justify-content:space-between !important;

    margin-top:13px !important;
    margin-bottom:10px !important;

    font-size:12px !important;

    color:#17241f !important;
}


.coded-phone-tabs{
    display:grid !important;

    grid-template-columns:repeat(3,1fr) !important;

    gap:3px !important;

    margin-bottom:10px !important;

    font-size:6px !important;

    text-align:center !important;
}


.coded-phone-tabs span{
    padding:5px 2px !important;

    border-radius:4px !important;

    background:#f4f6f5 !important;
}


.coded-phone-tabs .active{
    background:#e4f2eb !important;
    color:#087654 !important;
}


.coded-phone-property{
    display:grid !important;

    grid-template-columns:38px 1fr auto !important;

    align-items:center !important;

    gap:6px !important;

    padding:8px 2px !important;

    border-bottom:1px solid #edf0ee !important;
}


.mini-property{
    width:38px !important;
    height:30px !important;

    border-radius:4px !important;

    background:
        linear-gradient(
            145deg,
            transparent 0 34%,
            #80583f 35% 52%,
            transparent 53%
        ),
        linear-gradient(
            180deg,
            #c7dce3 0 48%,
            #d8c4a8 49% 78%,
            #7c9a70 79%
        ) !important;
}


.coded-phone-property div{
    display:flex !important;
    flex-direction:column !important;
}


.coded-phone-property strong{
    font-size:7px !important;
    line-height:1.2 !important;
}


.coded-phone-property small{
    margin-top:2px !important;

    font-size:6px !important;

    color:#79827e !important;
}


.coded-phone-property b{
    font-size:10px !important;

    color:#69736f !important;
}


.coded-phone-nav{
    position:absolute !important;

    left:7px !important;
    right:7px !important;
    bottom:7px !important;

    display:grid !important;

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

    padding-top:7px !important;

    border-top:1px solid #e7ebe8 !important;

    text-align:center !important;

    color:#087654 !important;
}


.coded-phone-nav span{
    display:flex !important;
    flex-direction:column !important;

    font-size:11px !important;
}


.coded-phone-nav small{
    margin-top:2px !important;

    font-size:5px !important;

    color:#6c7772 !important;
}


/* ------------------------------------------------------------
   CSS MUG
   ------------------------------------------------------------ */

.coded-mug{
    position:absolute !important;

    z-index:9 !important;

    width:132px !important;
    height:160px !important;

    right:-4% !important;
    bottom:10px !important;

    border-radius:10px 10px 26px 26px !important;

    background:
        linear-gradient(
            90deg,
            #064936,
            #087654 52%,
            #075c45
        ) !important;

    box-shadow:
        inset -9px 0 12px rgba(0,0,0,.11),
        0 13px 20px rgba(33,29,22,.20) !important;
}


.coded-mug::before{
    content:"" !important;

    position:absolute !important;

    left:4px !important;
    right:4px !important;
    top:-8px !important;

    height:17px !important;

    border-radius:50% !important;

    background:#123d32 !important;

    border:3px solid #087654 !important;
}


.coded-mug-handle{
    position:absolute !important;

    width:54px !important;
    height:75px !important;

    right:-40px !important;
    top:37px !important;

    border:14px solid #075c45 !important;
    border-left:0 !important;

    border-radius:0 40px 40px 0 !important;
}


.coded-mug-copy{
    position:absolute !important;

    left:19px !important;
    top:32px !important;

    display:flex !important;
    flex-direction:column !important;

    gap:3px !important;

    color:#fff !important;

    transform:rotate(-4deg) !important;

    font-family:Georgia,serif !important;
    font-style:italic !important;
}


.coded-mug-copy strong,
.coded-mug-copy span{
    font-size:15px !important;
    font-weight:400 !important;
}


.coded-mug-copy small{
    margin-top:8px !important;

    font-size:10px !important;
}


/* ------------------------------------------------------------
   CSS NOTE
   ------------------------------------------------------------ */

.coded-note{
    position:absolute !important;

    z-index:10 !important;

    width:120px !important;
    min-height:128px !important;

    right:-7% !important;
    bottom:-5px !important;

    display:flex !important;
    flex-direction:column !important;

    padding:18px 13px !important;

    background:#f5d46b !important;

    box-shadow:0 10px 17px rgba(44,34,19,.17) !important;

    transform:rotate(4deg) !important;

    color:#17372d !important;

    font-family:Georgia,serif !important;
    font-style:italic !important;
}


.coded-note strong,
.coded-note span{
    font-size:14px !important;
    line-height:1.2 !important;
}


.coded-note small{
    margin-top:auto !important;

    padding-top:13px !important;

    font-size:9px !important;
}


/* ------------------------------------------------------------
   RESPONSIVE
   ------------------------------------------------------------ */

@media(max-width:1200px){

    .coded-laptop{
        right:0 !important;
    }

    .coded-mug{
        right:-1% !important;
    }

    .coded-note{
        display:none !important;
    }

}


@media(max-width:900px){

    .coded-product-scene{
        transform:scale(.88) !important;
        transform-origin:center !important;
    }

}


@media(max-width:700px){

    .hero{
        padding-bottom:390px !important;

        background:
            linear-gradient(
                180deg,
                #f8f5ed 0%,
                #f8f5ed 72%,
                #c6925e 72.2%,
                #b67d49 100%
            ) !important;
    }


    .hero::before{
        background:none !important;
    }


    .hero::after{
        height:28% !important;
    }


    .coded-product-scene{
        position:absolute !important;

        left:50% !important;
        bottom:8px !important;

        width:720px !important;
        height:365px !important;
        min-height:365px !important;

        transform:
            translateX(-50%)
            scale(.62) !important;

        transform-origin:center bottom !important;
    }


    .coded-laptop{
        width:590px !important;
        height:360px !important;

        right:25px !important;
    }


    .coded-phone{
        left:25px !important;
    }


    .coded-mug{
        right:0 !important;
    }

}


/* ============================================================
   CODED HERO END
   ============================================================ */

/* ============================================================
   PROPNOOK HERO CLEANUP
   Keep existing hero. Crop distracting generated details.
   ============================================================ */

/*
   IMPORTANT:
   Same existing image.
   No replacement artwork.
   We enlarge/reposition it so the strong photographic parts
   remain while the mug/note area gets pushed off the page.
*/

.hero{
    background:
        linear-gradient(
            90deg,
            rgba(249,246,239,1) 0%,
            rgba(249,246,239,.99) 29%,
            rgba(249,246,239,.90) 38%,
            rgba(249,246,239,.48) 48%,
            rgba(249,246,239,.06) 61%,
            rgba(249,246,239,0) 70%
        ),
        url("/static/img/landing/propnook-hero-target.png")
        72% center / 118% auto no-repeat !important;

    min-height:590px !important;
}


/*
   Kill previous realism pseudo-image layers.
   We only want ONE copy of the hero artwork.
*/

.hero::before,
.hero::after{
    display:none !important;
}


/*
   Give the right edge a subtle photographic fade.
   This de-emphasizes the artificial edge details without
   blurring the whole hero.
*/

.hero-product{
    position:relative !important;
}


/*
   Keep real HTML perfectly sharp.
*/

.hero-copy,
.hero-copy *{
    filter:none !important;
}


/* ============================================================
   LARGE DESKTOP
   ============================================================ */

@media(min-width:1400px){

    .hero{
        background:
            linear-gradient(
                90deg,
                rgba(249,246,239,1) 0%,
                rgba(249,246,239,.99) 30%,
                rgba(249,246,239,.88) 39%,
                rgba(249,246,239,.38) 49%,
                rgba(249,246,239,0) 65%
            ),
            url("/static/img/landing/propnook-hero-target.png")
            75% center / 114% auto no-repeat !important;
    }

}


/* ============================================================
   TABLET
   ============================================================ */

@media(max-width:1100px){

    .hero{
        background:
            linear-gradient(
                90deg,
                rgba(249,246,239,1) 0%,
                rgba(249,246,239,.98) 38%,
                rgba(249,246,239,.55) 51%,
                rgba(249,246,239,0) 70%
            ),
            url("/static/img/landing/propnook-hero-target.png")
            69% center / auto 100% no-repeat !important;
    }

}


/* ============================================================
   MOBILE
   Keep the device scene but crop the far-right AI details.
   ============================================================ */

@media(max-width:700px){

    .hero{
        padding-bottom:345px !important;

        background:
            linear-gradient(
                180deg,
                rgba(249,246,239,1) 0%,
                rgba(249,246,239,1) 52%,
                rgba(249,246,239,.90) 59%,
                rgba(249,246,239,.20) 72%,
                rgba(249,246,239,0) 82%
            ),
            url("/static/img/landing/propnook-hero-target.png")
            59% bottom / auto 360px no-repeat !important;
    }

}


/* ============================================================
   SMALL PHONE
   ============================================================ */

@media(max-width:420px){

    .hero{
        padding-bottom:315px !important;

        background:
            linear-gradient(
                180deg,
                rgba(249,246,239,1) 0%,
                rgba(249,246,239,1) 54%,
                rgba(249,246,239,.82) 63%,
                rgba(249,246,239,0) 82%
            ),
            url("/static/img/landing/propnook-hero-target.png")
            57% bottom / auto 330px no-repeat !important;
    }

}

/* PROPNOOK HERO CLEANUP END */

/* ============================================================
   PROPNOOK FINAL CLEAN HERO RESTORE
   Removes coded-device experiment.
   Keeps approved photographic hero composition.
   ============================================================ */


/*
   ORIGINAL APPROVED HERO COMPOSITION
*/

.hero{
    position:relative !important;

    display:grid !important;

    grid-template-columns:
        minmax(420px,.78fr)
        minmax(600px,1.22fr) !important;

    align-items:center !important;

    min-height:590px !important;

    padding:
        54px
        max(5vw,55px)
        42px !important;

    overflow:hidden !important;

    isolation:auto !important;

    background:
        linear-gradient(
            90deg,
            rgba(249,246,239,.99) 0%,
            rgba(249,246,239,.97) 25%,
            rgba(249,246,239,.76) 42%,
            rgba(249,246,239,.08) 61%,
            rgba(249,246,239,0) 100%
        ),
        url("/static/img/landing/propnook-hero-target.png")
        center right / cover no-repeat !important;
}


/*
   REMOVE ALL EXPERIMENTAL OVERLAYS
*/

.hero::before,
.hero::after{
    content:none !important;
    display:none !important;
}


/*
   ORIGINAL REAL HTML COPY
*/

.hero-copy{
    position:relative !important;

    z-index:5 !important;

    width:100% !important;
    max-width:570px !important;

    padding:0 !important;
    margin:0 !important;

    filter:none !important;
}


/*
   The photographic hero already contains the device scene.
   Original CSS-generated product mockup must stay hidden.
*/

.hero-product{
    display:block !important;

    position:relative !important;

    min-height:1px !important;

    padding:0 !important;

    pointer-events:none !important;
}


.hero-product > *{
    display:none !important;
}


/*
   GUARANTEE EXPERIMENTAL CODED ELEMENTS NEVER DISPLAY
*/

.coded-product-scene,
.coded-laptop,
.coded-phone,
.coded-mug,
.coded-note{
    display:none !important;
}


/* ============================================================
   TABLET
   ============================================================ */

@media(max-width:1100px){

    .hero{
        grid-template-columns:
            minmax(370px,.9fr)
            minmax(420px,1.1fr) !important;

        min-height:570px !important;

        padding:
            45px 32px !important;

        background:
            linear-gradient(
                90deg,
                rgba(249,246,239,.99) 0%,
                rgba(249,246,239,.95) 34%,
                rgba(249,246,239,.55) 49%,
                rgba(249,246,239,0) 69%
            ),
            url("/static/img/landing/propnook-hero-target.png")
            center right / cover no-repeat !important;
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media(max-width:700px){

    .hero{
        display:block !important;

        min-height:auto !important;

        padding:
            0 0 360px !important;

        background:
            linear-gradient(
                180deg,
                rgba(249,246,239,1) 0%,
                rgba(249,246,239,1) 49%,
                rgba(249,246,239,.45) 63%,
                rgba(249,246,239,0) 78%
            ),
            url("/static/img/landing/propnook-hero-target.png")
            67% bottom / auto 390px no-repeat !important;
    }


    .hero-copy{
        max-width:none !important;

        padding:
            38px 20px
            25px !important;
    }

}


/* ============================================================
   SMALL PHONE
   ============================================================ */

@media(max-width:420px){

    .hero{
        padding-bottom:320px !important;

        background:
            linear-gradient(
                180deg,
                rgba(249,246,239,1) 0%,
                rgba(249,246,239,1) 50%,
                rgba(249,246,239,.45) 65%,
                rgba(249,246,239,0) 80%
            ),
            url("/static/img/landing/propnook-hero-target.png")
            68% bottom / auto 345px no-repeat !important;
    }

}

/* PROPNOOK FINAL CLEAN HERO RESTORE END */

/* ============================================================
   PROPNOOK — REMOVE HERO BLUR
   ============================================================ */

/* Remove every previous blur/filter treatment from hero */

.hero,
.hero::before,
.hero::after,
.hero-copy,
.hero-copy *,
.hero-product,
.hero-product * {
    filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}


/* Ensure the hero image itself renders normally */

.hero {
    image-rendering: auto !important;
}


/* Prevent old pseudo-element blur layers from appearing */

.hero::before,
.hero::after {
    filter: none !important;
}


/* REMOVE HERO BLUR END */
