/* ================================
   FELIPE LAWN CARE SERVICE
   GLOBAL DESIGN SYSTEM
================================ */

:root{
    /* Core Brand Colors */
    --flc-black:#050605;
    --flc-ink:#0D100A;

    --flc-forest:#243815;
    --flc-forest-2:#2C4410;

    --flc-green:#507717;
    --flc-lawn:#74A828;
    --flc-lawn-light:#A7D957;

    --flc-sage:#879C57;
    --flc-mist:#CCD1C6;

    --flc-paper:#F6F6F3;
    --flc-cream:#EFEFE7;
    --flc-white:#FFFFFF;

    --flc-text:#12150E;
    --flc-muted:#5F6658;

    --flc-border:rgba(36,56,21,.16);

    /* Shadows */
    --shadow-soft:0 18px 50px rgba(13,16,10,.08);
    --shadow-medium:0 24px 70px rgba(13,16,10,.14);
    --shadow-green:0 18px 45px rgba(80,119,23,.24);

    /* Radius */
    --radius-xs:6px;
    --radius-sm:10px;
    --radius-md:14px;
    --radius-lg:22px;

    /* Layout */
    --container:1180px;
    --section-padding:110px;
    --section-padding-mobile:72px;

    /* Motion */
    --ease-smooth:cubic-bezier(.16,1,.3,1);
    --ease-premium:cubic-bezier(.77,0,.175,1);
    --duration-fast:.35s;
    --duration-normal:.65s;
    --duration-slow:1s;
}

/* ================================
   RESET
================================ */

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

html{
    scroll-behavior:smooth;
    overflow-x:hidden;
}

body{
    min-height:100vh;
    font-family:'Inter', 'Montserrat', Arial, sans-serif;
    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.72) 0%,
            rgba(246,246,243,.94) 18%,
            rgba(239,239,231,1) 52%,
            rgba(246,246,243,.96) 82%,
            rgba(255,255,255,.72) 100%
        );
    color:var(--flc-text);
    line-height:1.6;
    font-size:16px;
    overflow-x:hidden;
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
}

/* Elegant subtle paper texture */
body::before{
    content:'';
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:-2;
    opacity:.42;
    background-image:
        linear-gradient(
            115deg,
            rgba(36,56,21,.045) 0%,
            transparent 18%,
            transparent 80%,
            rgba(116,168,40,.055) 100%
        ),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.13'/%3E%3C/svg%3E");
    background-size:cover,180px 180px;
}

/* Soft vertical depth, not grid */
body::after{
    content:'';
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:-1;
    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.48) 0%,
            transparent 28%,
            rgba(36,56,21,.035) 100%
        );
}

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

img,
picture,
video,
canvas,
svg{
    display:block;
    max-width:100%;
}

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

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

button{
    border:0;
    cursor:pointer;
}

::selection{
    background:var(--flc-lawn);
    color:var(--flc-black);
}

.site-wrapper{
    position:relative;
    overflow:hidden;
}

.container{
    width:min(100% - 40px, var(--container));
    margin-inline:auto;
}

section{
    position:relative;
    padding:var(--section-padding) 0;
}

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

.section-light{
    background:rgba(255,255,255,.52);
}

.section-cream{
    background:rgba(239,239,231,.72);
}

/* ================================
   TYPOGRAPHY
================================ */

h1,
h2,
h3,
h4{
    font-weight:900;
    line-height:.98;
    letter-spacing:-.045em;
    color:inherit;
}

h1{
    font-size:clamp(3.2rem, 8vw, 7.4rem);
}

h2{
    font-size:clamp(2.3rem, 5vw, 4.8rem);
}

h3{
    font-size:clamp(1.35rem, 2vw, 2rem);
}

p{
    color:var(--flc-muted);
}

.section-dark p{
    color:rgba(255,255,255,.72);
}

.eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:22px;
    color:var(--flc-green);
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.18em;
    text-transform:uppercase;
}

.eyebrow::before{
    content:'';
    width:38px;
    height:2px;
    background:var(--flc-lawn);
}

.section-dark .eyebrow{
    color:var(--flc-lawn-light);
}

/* ================================
   BUTTONS
================================ */

.btn{
    position:relative;
    isolation:isolate;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:54px;
    padding:16px 28px;
    border-radius:var(--radius-sm);
    font-size:.95rem;
    font-weight:900;
    letter-spacing:.02em;
    overflow:hidden;
    transition:
        transform var(--duration-fast) var(--ease-smooth),
        box-shadow var(--duration-fast) var(--ease-smooth),
        border-color var(--duration-fast) var(--ease-smooth);
}

.btn::before{
    content:'';
    position:absolute;
    inset:0;
    z-index:-1;
    transform:translateX(-102%) skewX(-12deg);
    transform-origin:left;
    transition:transform .65s var(--ease-smooth);
}

.btn:hover::before{
    transform:translateX(0) skewX(-12deg);
}

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

.btn-primary{
    background:var(--flc-lawn);
    color:var(--flc-black);
    box-shadow:var(--shadow-green);
}

.btn-primary::before{
    background:var(--flc-white);
}

.btn-secondary{
    background:rgba(255,255,255,.08);
    color:var(--flc-white);
    border:1px solid rgba(255,255,255,.18);
    backdrop-filter:blur(18px);
}

.btn-secondary::before{
    background:rgba(255,255,255,.16);
}

.btn-dark{
    background:var(--flc-black);
    color:var(--flc-white);
}

.btn-dark::before{
    background:var(--flc-forest-2);
}

/* ================================
   CARDS
================================ */

.card{
    position:relative;
    background:rgba(255,255,255,.74);
    border:1px solid var(--flc-border);
    border-radius:var(--radius-md);
    box-shadow:var(--shadow-soft);
    overflow:hidden;
}

.card::after{
    content:'';
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:3px;
    background:linear-gradient(
        90deg,
        var(--flc-forest),
        var(--flc-lawn),
        var(--flc-sage)
    );
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .65s var(--ease-smooth);
}

.card:hover::after{
    transform:scaleX(1);
}

.card:hover{
    transform:translateY(-6px);
    box-shadow:var(--shadow-medium);
}

/* ================================
   IMAGE REVEAL BASE
================================ */

.image-reveal{
    position:relative;
    overflow:hidden;
}

.image-reveal img{
    width:100%;
    height:100%;
    object-fit:cover;
    transform:scale(1.08);
    transition:transform 1.4s var(--ease-smooth);
}

.image-reveal.is-visible img{
    transform:scale(1);
}

.image-reveal::after{
    content:'';
    position:absolute;
    inset:0;
    background:var(--flc-forest);
    transform:translateX(0);
    transition:transform 1s var(--ease-premium);
}

.image-reveal.is-visible::after{
    transform:translateX(102%);
}

/* ================================
   SCROLL REVEALS
================================ */

.reveal-mask{
    clip-path:inset(0 0 100% 0);
    transform:translateY(24px);
    transition:
        clip-path .9s var(--ease-premium),
        transform .9s var(--ease-premium);
}

.reveal-mask.is-visible{
    clip-path:inset(0 0 0 0);
    transform:translateY(0);
}

.reveal-line{
    position:relative;
    overflow:hidden;
}

.reveal-line::after{
    content:'';
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    height:2px;
    background:var(--flc-lawn);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .8s var(--ease-smooth);
}

.reveal-line.is-visible::after{
    transform:scaleX(1);
}

/* ================================
   PAGE TRANSITION
================================ */

.page-transition{
    position:fixed;
    inset:0;
    z-index:9999;
    display:grid;
    place-items:center;
    pointer-events:none;
    visibility:hidden;
}

.transition-bar{
    position:absolute;
    inset:0;
    background:var(--flc-black);
    transform:scaleY(0);
    transform-origin:bottom;
}

.transition-logo{
    position:relative;
    z-index:2;
    color:var(--flc-white);
    font-size:clamp(1.5rem, 4vw, 3rem);
    font-weight:900;
    letter-spacing:-.04em;
    opacity:0;
    transform:translateY(20px);
}

body.is-transitioning .page-transition{
    visibility:visible;
}

body.is-transitioning .transition-bar{
    animation:pageBarIn .75s var(--ease-premium) forwards;
}

body.is-transitioning .transition-logo{
    animation:pageLogoIn .55s var(--ease-smooth) .18s forwards;
}

body.page-loaded .transition-bar{
    transform-origin:top;
    animation:pageBarOut .8s var(--ease-premium) forwards;
}

body.page-loaded .transition-logo{
    animation:pageLogoOut .35s var(--ease-smooth) forwards;
}

@keyframes pageBarIn{
    from{ transform:scaleY(0); }
    to{ transform:scaleY(1); }
}

@keyframes pageBarOut{
    from{ transform:scaleY(1); }
    to{ transform:scaleY(0); }
}

@keyframes pageLogoIn{
    to{
        opacity:1;
        transform:translateY(0);
    }
}

@keyframes pageLogoOut{
    to{
        opacity:0;
        transform:translateY(-16px);
    }
}

/* ================================
   ANCHOR TRANSITION
================================ */

body.anchor-moving::before{
    opacity:.58;
}

.anchor-flash{
    position:fixed;
    left:0;
    right:0;
    top:0;
    height:4px;
    z-index:9998;
    background:var(--flc-lawn);
    transform:scaleX(0);
    transform-origin:left;
    pointer-events:none;
}

.anchor-flash.is-active{
    animation:anchorProgress .8s var(--ease-smooth) forwards;
}

@keyframes anchorProgress{
    0%{ transform:scaleX(0); }
    65%{ transform:scaleX(.78); }
    100%{ transform:scaleX(1); }
}

/* ================================
   SCROLL PROGRESS
================================ */

.scroll-progress{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:3px;
    z-index:9997;
    background:var(--flc-lawn);
    transform:scaleX(0);
    transform-origin:left;
}












































/* ================================
   FELIPE LAWN CARE
   NAV + HERO FROM SCRATCH
================================ */

:root{
    --flc-black:#050605;
    --flc-ink:#0D100A;
    --flc-forest:#243815;
    --flc-forest-2:#2C4410;
    --flc-green:#507717;
    --flc-lawn:#74A828;
    --flc-lawn-light:#A7D957;
    --flc-sage:#879C57;
    --flc-mist:#CCD1C6;
    --flc-paper:#F6F6F3;
    --flc-cream:#EFEFE7;
    --flc-white:#FFFFFF;
    --flc-text:#12150E;
    --flc-muted:#5F6658;
    --flc-border:rgba(36,56,21,.16);

    --ease-smooth:cubic-bezier(.16,1,.3,1);
    --ease-premium:cubic-bezier(.77,0,.175,1);

    --nav-height:78px;
    --nav-height-mobile:72px;
}

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

html{
    scroll-behavior:smooth;
    overflow-x:hidden;
}

body{
    font-family:'Inter','Montserrat',Arial,sans-serif;
    background:var(--flc-cream);
    color:var(--flc-text);
    overflow-x:hidden;
}

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

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

button{
    font:inherit;
    border:0;
    cursor:pointer;
}

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

.flc-header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:var(--nav-height);
    z-index:1000;
    pointer-events:none;
}

.flc-nav{
    height:100%;
    pointer-events:auto;
}

.flc-nav-inner{
    width:min(100% - 44px, 1220px);
    height:100%;
    margin-inline:auto;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:24px;
}

/* Logo */
.flc-brand{
    position:relative;
    z-index:1002;
    width:96px;
    display:flex;
    align-items:center;
}

.flc-brand img{
    width:100%;
    height:auto;
    filter:drop-shadow(0 12px 22px rgba(0,0,0,.35));
}

/* Desktop links */
.flc-nav-links{
    justify-self:center;
    display:flex;
    align-items:center;
    height:52px;
    padding:0 10px;
    background:rgba(5,6,5,.66);
    border:1px solid rgba(255,255,255,.12);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}

.flc-nav-links a{
    position:relative;
    display:flex;
    align-items:center;
    height:100%;
    padding:0 16px;
    color:rgba(255,255,255,.82);
    font-size:.82rem;
    font-weight:900;
    letter-spacing:.02em;
    overflow:hidden;
    transition:
        color .35s var(--ease-smooth),
        transform .35s var(--ease-smooth);
}

.flc-nav-links a::after{
    content:'';
    position:absolute;
    left:16px;
    right:16px;
    bottom:10px;
    height:2px;
    background:var(--flc-lawn);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .42s var(--ease-smooth);
}

.flc-nav-links a:hover{
    color:var(--flc-white);
    transform:translateY(-1px);
}

.flc-nav-links a:hover::after{
    transform:scaleX(1);
}

/* CTA */
.flc-nav-cta{
    position:relative;
    z-index:1002;
    min-height:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 24px;
    background:var(--flc-lawn);
    color:var(--flc-black);
    font-size:.86rem;
    font-weight:950;
    letter-spacing:.02em;
    overflow:hidden;
    box-shadow:0 18px 42px rgba(116,168,40,.28);
    transition:
        transform .35s var(--ease-smooth),
        box-shadow .35s var(--ease-smooth);
}

.flc-nav-cta::before{
    content:'';
    position:absolute;
    inset:0;
    background:var(--flc-white);
    transform:translateX(-110%) skewX(-14deg);
    transition:transform .55s var(--ease-smooth);
}

.flc-nav-cta:hover{
    transform:translateY(-3px);
    box-shadow:0 22px 52px rgba(116,168,40,.38);
}

.flc-nav-cta:hover::before{
    transform:translateX(0) skewX(-14deg);
}

/* Hamburger */
.flc-menu-toggle{
    position:relative;
    z-index:1002;
    display:none;
    width:46px;
    height:46px;
    background:rgba(5,6,5,.66);
    border:1px solid rgba(255,255,255,.16);
    backdrop-filter:blur(16px);
}

.flc-menu-toggle span{
    position:absolute;
    left:50%;
    width:21px;
    height:2px;
    background:var(--flc-white);
    transform:translateX(-50%);
    transition:
        transform .45s var(--ease-smooth),
        opacity .25s var(--ease-smooth);
}

.flc-menu-toggle span:nth-child(1){
    top:15px;
}

.flc-menu-toggle span:nth-child(2){
    top:22px;
}

.flc-menu-toggle span:nth-child(3){
    top:29px;
}

body.flc-menu-open .flc-menu-toggle span:nth-child(1){
    top:22px;
    transform:translateX(-50%) rotate(45deg);
}

body.flc-menu-open .flc-menu-toggle span:nth-child(2){
    opacity:0;
}

body.flc-menu-open .flc-menu-toggle span:nth-child(3){
    top:22px;
    transform:translateX(-50%) rotate(-45deg);
}

/* Mobile panel */
.flc-mobile-panel{
    position:fixed;
    inset:0;
    z-index:1001;
    background:
        linear-gradient(
            115deg,
            rgba(5,6,5,.98),
            rgba(13,16,10,.98) 48%,
            rgba(36,56,21,.98)
        );
    clip-path:inset(0 100% 0 0);
    visibility:hidden;
    pointer-events:none;
    transition:
        clip-path .72s var(--ease-premium),
        visibility .72s var(--ease-premium);
}

body.flc-menu-open .flc-mobile-panel{
    clip-path:inset(0 0 0 0);
    visibility:visible;
    pointer-events:auto;
}

.flc-mobile-panel-inner{
    width:min(100% - 36px, 520px);
    min-height:100svh;
    margin-inline:auto;
    padding-top:calc(var(--nav-height-mobile) + 56px);
    display:flex;
    flex-direction:column;
    gap:8px;
}

.flc-mobile-panel-inner > a{
    color:var(--flc-white);
    font-size:clamp(2rem, 9vw, 3.4rem);
    font-weight:950;
    line-height:1;
    letter-spacing:-.06em;
    transform:translateX(-28px);
    opacity:0;
    transition:
        transform .55s var(--ease-smooth),
        opacity .55s var(--ease-smooth),
        color .35s var(--ease-smooth);
}

body.flc-menu-open .flc-mobile-panel-inner > a{
    transform:translateX(0);
    opacity:1;
}

body.flc-menu-open .flc-mobile-panel-inner > a:nth-child(1){ transition-delay:.14s; }
body.flc-menu-open .flc-mobile-panel-inner > a:nth-child(2){ transition-delay:.20s; }
body.flc-menu-open .flc-mobile-panel-inner > a:nth-child(3){ transition-delay:.26s; }
body.flc-menu-open .flc-mobile-panel-inner > a:nth-child(4){ transition-delay:.32s; }
body.flc-menu-open .flc-mobile-panel-inner > a:nth-child(5){ transition-delay:.38s; }
body.flc-menu-open .flc-mobile-panel-inner > a:nth-child(6){ transition-delay:.44s; }

.flc-mobile-panel-inner > a:hover{
    color:var(--flc-lawn-light);
}

.flc-mobile-call{
    margin-top:34px;
    padding-top:24px;
    border-top:1px solid rgba(255,255,255,.16);
    opacity:0;
    transform:translateY(18px);
    transition:
        opacity .55s var(--ease-smooth),
        transform .55s var(--ease-smooth);
}

body.flc-menu-open .flc-mobile-call{
    opacity:1;
    transform:translateY(0);
    transition-delay:.52s;
}

.flc-mobile-call span{
    display:block;
    color:rgba(255,255,255,.56);
    font-size:.76rem;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
    margin-bottom:8px;
}

.flc-mobile-call a{
    color:var(--flc-lawn-light);
    font-size:1.45rem;
    font-weight:950;
}

/* Scrolled state */
.flc-header.is-scrolled .flc-nav-links{
    background:rgba(5,6,5,.82);
}

.flc-header.is-scrolled .flc-brand{
    width:82px;
}

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

.flc-hero{
    position:relative;
    height:100svh;
    max-height:100svh;
    min-height:620px;
    overflow:hidden;
    background:var(--flc-black);
    color:var(--flc-white);
    padding:0;
}

/* Elegant background, not empty black */
.flc-hero-bg{
    position:absolute;
    inset:0;
    z-index:0;
    background:
        linear-gradient(
            90deg,
            rgba(5,6,5,1) 0%,
            rgba(5,6,5,.96) 30%,
            rgba(5,6,5,.72) 58%,
            rgba(5,6,5,.42) 100%
        ),
        linear-gradient(
            120deg,
            rgba(116,168,40,.20) 0%,
            transparent 26%,
            transparent 100%
        ),
        url("/img/lawncare/l\ \(1\).jpg") center right/cover no-repeat;
}

.flc-hero-bg::after{
    content:'';
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            180deg,
            rgba(5,6,5,.22) 0%,
            rgba(5,6,5,.10) 45%,
            rgba(5,6,5,.88) 100%
        );
}

/* Main layout */
.flc-hero-inner{
    position:relative;
    z-index:2;
    width:min(100% - 44px, 1220px);
    height:100%;
    margin-inline:auto;
    padding-top:calc(var(--nav-height) + 28px);
    padding-bottom:58px;
    display:grid;
    grid-template-columns:minmax(0, .96fr) minmax(360px, .72fr);
    align-items:center;
    gap:54px;
}

/* Content */
.flc-hero-content{
    max-width:720px;
    align-self:center;
}

.flc-hero-label{
    display:inline-flex;
    align-items:center;
    gap:12px;
    margin-bottom:16px;
    color:var(--flc-lawn-light);
    font-size:.76rem;
    font-weight:950;
    letter-spacing:.17em;
    text-transform:uppercase;
}

.flc-hero-label span{
    width:42px;
    height:2px;
    background:var(--flc-lawn);
}

.flc-hero-title{
    color:var(--flc-white);
    font-size:clamp(3.4rem, 7vw, 6.35rem);
    line-height:.9;
    letter-spacing:-.075em;
    font-weight:950;
}

.flc-hero-title > span{
    display:block;
    overflow:hidden;
}

.flc-hero-title > span > span{
    display:block;
}

.flc-hero-copy{
    max-width:610px;
    margin-top:22px;
    color:rgba(255,255,255,.76);
    font-size:1.03rem;
    line-height:1.68;
}

.flc-hero-actions{
    margin-top:30px;
    display:flex;
    flex-wrap:wrap;
    gap:14px;
}

/* Buttons */
.flc-btn{
    position:relative;
    isolation:isolate;
    min-height:52px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 26px;
    font-size:.88rem;
    font-weight:950;
    overflow:hidden;
    transition:
        transform .35s var(--ease-smooth),
        box-shadow .35s var(--ease-smooth);
}

.flc-btn::before{
    content:'';
    position:absolute;
    inset:0;
    z-index:-1;
    transform:translateX(-110%) skewX(-14deg);
    transition:transform .55s var(--ease-smooth);
}

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

.flc-btn:hover::before{
    transform:translateX(0) skewX(-14deg);
}

.flc-btn-primary{
    background:var(--flc-lawn);
    color:var(--flc-black);
    box-shadow:0 18px 45px rgba(116,168,40,.28);
}

.flc-btn-primary::before{
    background:var(--flc-white);
}

.flc-btn-glass{
    color:var(--flc-white);
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.16);
    backdrop-filter:blur(18px);
}

.flc-btn-glass::before{
    background:rgba(255,255,255,.14);
}

/* Meta */
.flc-hero-meta{
    margin-top:30px;
    display:grid;
    grid-template-columns:repeat(3, auto);
    justify-content:start;
    gap:24px;
}

.flc-hero-meta div{
    position:relative;
    padding-left:16px;
}

.flc-hero-meta div::before{
    content:'';
    position:absolute;
    left:0;
    top:4px;
    width:3px;
    height:34px;
    background:var(--flc-lawn);
}

.flc-hero-meta strong{
    display:block;
    color:var(--flc-white);
    font-size:.92rem;
    font-weight:950;
    line-height:1.1;
}

.flc-hero-meta span{
    display:block;
    margin-top:4px;
    color:rgba(255,255,255,.58);
    font-size:.74rem;
    font-weight:800;
}

/* Visual project image */
.flc-hero-visual{
    position:relative;
    align-self:center;
    min-height:460px;
}

.flc-project-frame{
    position:absolute;
    inset:0;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.16);
    box-shadow:
        0 34px 90px rgba(0,0,0,.42),
        inset 0 1px 0 rgba(255,255,255,.10);
}

.flc-project-frame::before{
    content:'';
    position:absolute;
    inset:18px;
    z-index:2;
    border:1px solid rgba(255,255,255,.18);
    pointer-events:none;
}

.flc-project-frame img{
    width:100%;
    height:100%;
    object-fit:cover;
    transform:scale(1.08);
    filter:saturate(1.05) contrast(1.04);
}

.flc-project-frame::after{
    content:'';
    position:absolute;
    inset:0;
    z-index:3;
    background:var(--flc-forest);
    transform:translateX(0);
}

/* Floating cards */
.flc-floating-card{
    position:absolute;
    left:-42px;
    bottom:34px;
    width:260px;
    padding:20px;
    background:rgba(5,6,5,.72);
    border:1px solid rgba(255,255,255,.14);
    backdrop-filter:blur(20px);
    box-shadow:0 24px 60px rgba(0,0,0,.36);
}

.flc-floating-card > span{
    display:block;
    color:var(--flc-lawn-light);
    font-size:.72rem;
    font-weight:950;
    letter-spacing:.14em;
    text-transform:uppercase;
    margin-bottom:14px;
}

.flc-service-pills{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.flc-service-pills small{
    padding:7px 9px;
    color:var(--flc-white);
    background:rgba(255,255,255,.09);
    border:1px solid rgba(255,255,255,.12);
    font-size:.7rem;
    font-weight:850;
}

.flc-owner-card{
    position:absolute;
    top:34px;
    right:-24px;
    padding:16px 18px;
    background:var(--flc-lawn);
    color:var(--flc-black);
    box-shadow:0 18px 42px rgba(116,168,40,.28);
}

.flc-owner-card strong{
    display:block;
    font-size:.92rem;
    font-weight:950;
}

.flc-owner-card span{
    display:block;
    margin-top:2px;
    font-size:.72rem;
    font-weight:850;
    text-transform:uppercase;
}

/* Bottom service areas */
.flc-hero-bottom{
    position:absolute;
    left:50%;
    bottom:22px;
    z-index:3;
    width:min(100% - 44px, 1220px);
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    color:rgba(255,255,255,.62);
    font-size:.7rem;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.flc-hero-bottom span{
    position:relative;
}

.flc-hero-bottom span:not(:last-child)::after{
    content:'';
    position:absolute;
    right:-11px;
    top:50%;
    width:4px;
    height:4px;
    background:var(--flc-lawn);
    border-radius:50%;
    transform:translateY(-50%);
}



































/* ================================
   FELIPE LAWN CARE
   CONFIDENCE SECTION - CLEAN VERSION
================================ */

.flc-confidence{
    position:relative;
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:100%;
    min-height:520px;
    padding:110px 0;
    overflow:hidden;
    isolation:isolate;
    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.82) 0%,
            rgba(246,246,243,.96) 38%,
            rgba(239,239,231,1) 100%
        );
    color:var(--flc-text);
}

.flc-confidence::before{
    content:'';
    position:absolute;
    top:0;
    left:-10vw;
    width:44vw;
    height:100%;
    z-index:-2;
    background:
        linear-gradient(
            120deg,
            rgba(116,168,40,.16),
            rgba(36,56,21,.06) 56%,
            transparent 100%
        );
    clip-path:polygon(0 0, 78% 0, 100% 100%, 0 100%);
}

.flc-confidence::after{
    content:'';
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:1px;
    z-index:1;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(36,56,21,.26),
            transparent
        );
}

.flc-confidence-shell{
    position:relative;
    z-index:2;
    width:min(100% - 44px, 1220px);
    margin-inline:auto;
}

/* Header */
.flc-confidence-header{
    margin-bottom:46px;
}

.flc-confidence-kicker{
    display:inline-flex;
    align-items:center;
    gap:12px;
    margin-bottom:20px;
    color:var(--flc-green);
    font-size:.76rem;
    font-weight:950;
    letter-spacing:.17em;
    text-transform:uppercase;
}

.flc-confidence-kicker::before{
    content:'';
    width:42px;
    height:2px;
    background:var(--flc-lawn);
}

.flc-confidence-title-row{
    display:grid;
    grid-template-columns:minmax(0, .95fr) minmax(280px, .52fr);
    gap:48px;
    align-items:end;
}

.flc-confidence-title-row h2{
    color:var(--flc-text);
    font-size:clamp(2.45rem, 5.2vw, 4.85rem);
    line-height:.94;
    font-weight:950;
    letter-spacing:-.07em;
}

.flc-confidence-title-row p{
    color:var(--flc-muted);
    font-size:1.02rem;
    line-height:1.75;
}

/* Main layout */
.flc-confidence-layout{
    display:grid;
    grid-template-columns:360px minmax(0, 1fr);
    gap:18px;
    align-items:stretch;
}

/* Big offer card */
.flc-confidence-main{
    position:relative;
    min-height:100%;
    padding:30px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    overflow:hidden;
    background:var(--flc-black);
    color:var(--flc-white);
    box-shadow:0 28px 80px rgba(13,16,10,.18);
}

.flc-confidence-main::before{
    content:'';
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            135deg,
            rgba(116,168,40,.38),
            transparent 44%,
            rgba(167,217,87,.08) 100%
        );
    pointer-events:none;
}

.flc-confidence-main::after{
    content:'';
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:4px;
    background:linear-gradient(
        90deg,
        var(--flc-lawn),
        var(--flc-lawn-light),
        var(--flc-green)
    );
}

.flc-confidence-main-top,
.flc-confidence-main p,
.flc-confidence-btn{
    position:relative;
    z-index:1;
}

.flc-confidence-main-top span{
    display:block;
    margin-bottom:14px;
    color:var(--flc-lawn-light);
    font-size:.76rem;
    font-weight:950;
    letter-spacing:.15em;
    text-transform:uppercase;
}

.flc-confidence-main-top strong{
    display:block;
    max-width:260px;
    color:var(--flc-white);
    font-size:clamp(2.3rem, 4vw, 3.4rem);
    line-height:.88;
    letter-spacing:-.065em;
    font-weight:950;
}

.flc-confidence-main p{
    margin:34px 0;
    color:rgba(255,255,255,.72);
    font-size:.98rem;
    line-height:1.68;
}

.flc-confidence-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:0 22px;
    background:var(--flc-lawn);
    color:var(--flc-black);
    font-size:.86rem;
    font-weight:950;
    box-shadow:0 16px 42px rgba(116,168,40,.26);
    overflow:hidden;
    transition:
        transform .35s var(--ease-smooth),
        background .35s var(--ease-smooth);
}

.flc-confidence-btn:hover{
    transform:translateY(-3px);
    background:var(--flc-lawn-light);
}

/* Small cards */
.flc-confidence-cards{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:18px;
}

.flc-confidence-card{
    position:relative;
    min-height:250px;
    padding:28px 24px;
    overflow:hidden;
    background:rgba(255,255,255,.76);
    border:1px solid var(--flc-border);
    box-shadow:0 18px 50px rgba(13,16,10,.07);
    transition:
        transform .4s var(--ease-smooth),
        box-shadow .4s var(--ease-smooth),
        border-color .4s var(--ease-smooth);
}

.flc-confidence-card::before{
    content:'';
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            135deg,
            rgba(116,168,40,.14),
            transparent 45%
        );
    opacity:0;
    transition:opacity .4s var(--ease-smooth);
}

.flc-confidence-card::after{
    content:'';
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:3px;
    background:linear-gradient(
        90deg,
        var(--flc-forest),
        var(--flc-lawn),
        var(--flc-sage)
    );
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .55s var(--ease-smooth);
}

.flc-confidence-card:hover{
    transform:translateY(-7px);
    border-color:rgba(80,119,23,.35);
    box-shadow:0 26px 70px rgba(13,16,10,.12);
}

.flc-confidence-card:hover::before{
    opacity:1;
}

.flc-confidence-card:hover::after{
    transform:scaleX(1);
}

.flc-confidence-icon{
    position:relative;
    z-index:1;
    width:56px;
    height:56px;
    margin-bottom:24px;
    display:grid;
    place-items:center;
    background:var(--flc-black);
    color:var(--flc-lawn-light);
    box-shadow:0 16px 34px rgba(5,6,5,.16);
}

.flc-confidence-icon svg{
    width:27px;
    height:27px;
    fill:none;
    stroke:currentColor;
    stroke-width:2.2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.flc-confidence-card h3{
    position:relative;
    z-index:1;
    color:var(--flc-text);
    font-size:1.22rem;
    font-weight:950;
    line-height:1.05;
    letter-spacing:-.045em;
}

.flc-confidence-card p{
    position:relative;
    z-index:1;
    margin-top:14px;
    color:var(--flc-muted);
    font-size:.94rem;
    line-height:1.62;
}

/* Bottom contact strip */
.flc-confidence-bottom{
    position:relative;
    margin-top:18px;
    padding:24px 28px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    overflow:hidden;
    background:var(--flc-forest);
    color:var(--flc-white);
    box-shadow:0 24px 70px rgba(13,16,10,.16);
}

.flc-confidence-bottom::before{
    content:'';
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            100deg,
            rgba(116,168,40,.30),
            transparent 48%,
            rgba(167,217,87,.12) 100%
        );
    pointer-events:none;
}

.flc-confidence-bottom strong,
.flc-confidence-bottom span,
.flc-confidence-bottom a{
    position:relative;
    z-index:1;
}

.flc-confidence-bottom strong{
    display:block;
    font-size:1.1rem;
    font-weight:950;
    letter-spacing:-.035em;
}

.flc-confidence-bottom span{
    display:block;
    margin-top:4px;
    color:rgba(255,255,255,.68);
    font-size:.9rem;
}

.flc-confidence-bottom a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:0 24px;
    background:var(--flc-lawn);
    color:var(--flc-black);
    font-weight:950;
    box-shadow:0 16px 38px rgba(116,168,40,.24);
    transition:
        transform .35s var(--ease-smooth),
        background .35s var(--ease-smooth);
}

.flc-confidence-bottom a:hover{
    transform:translateY(-3px);
    background:var(--flc-lawn-light);
}

/* Animation safety:
   The section is visible by default.
   JS only adds movement, not permanent hiding. */
.flc-confidence-animate{
    opacity:1;
    transform:translateY(0);
    clip-path:inset(0 0 0 0);
}

.flc-confidence.js-ready .flc-confidence-animate{
    opacity:0;
    transform:translateY(28px);
    clip-path:inset(0 0 18% 0);
    transition:
        opacity .55s var(--ease-smooth),
        transform .85s var(--ease-smooth),
        clip-path .85s var(--ease-premium);
}

.flc-confidence.js-ready .flc-confidence-animate.is-visible{
    opacity:1;
    transform:translateY(0);
    clip-path:inset(0 0 0 0);
}











































/* ================================
   FELIPE LAWN CARE
   SERVICES SECTION
================================ */

.flc-services{
    position:relative;
    display:block;
    width:100%;
    padding:112px 0;
    overflow:hidden;
    isolation:isolate;
    background:var(--flc-black);
    color:var(--flc-white);
}

.flc-services::before{
    content:'';
    position:absolute;
    inset:0;
    z-index:-3;
    background:
        linear-gradient(
            115deg,
            rgba(5,6,5,1) 0%,
            rgba(13,16,10,.98) 48%,
            rgba(36,56,21,.98) 100%
        );
}

.flc-services::after{
    content:'';
    position:absolute;
    right:-18vw;
    top:-18%;
    width:56vw;
    height:136%;
    z-index:-2;
    background:
        linear-gradient(
            120deg,
            transparent 0%,
            rgba(116,168,40,.18) 42%,
            rgba(167,217,87,.08) 100%
        );
    clip-path:polygon(22% 0, 100% 0, 78% 100%, 0 100%);
    pointer-events:none;
}

.flc-services-shell{
    position:relative;
    z-index:2;
    width:min(100% - 44px, 1220px);
    margin-inline:auto;
}

.flc-services-header{
    margin-bottom:48px;
}

.flc-services-kicker{
    display:inline-flex;
    align-items:center;
    gap:12px;
    margin-bottom:20px;
    color:var(--flc-lawn-light);
    font-size:.76rem;
    font-weight:950;
    letter-spacing:.17em;
    text-transform:uppercase;
}

.flc-services-kicker::before{
    content:'';
    width:42px;
    height:2px;
    background:var(--flc-lawn);
}

.flc-services-title-row{
    display:grid;
    grid-template-columns:minmax(0, .95fr) minmax(280px, .52fr);
    align-items:end;
    gap:48px;
}

.flc-services-title-row h2{
    max-width:850px;
    color:var(--flc-white);
    font-size:clamp(2.45rem, 5.2vw, 4.9rem);
    font-weight:950;
    line-height:.94;
    letter-spacing:-.07em;
}

.flc-services-title-row p{
    color:rgba(255,255,255,.68);
    font-size:1.02rem;
    line-height:1.75;
}

/* Grid */
.flc-services-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:18px;
}

/* Card */
.flc-service-card{
    position:relative;
    min-height:520px;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    background:rgba(255,255,255,.065);
    border:1px solid rgba(255,255,255,.13);
    color:var(--flc-white);
    box-shadow:0 24px 70px rgba(0,0,0,.22);
    isolation:isolate;
    transition:
        transform .45s var(--ease-smooth),
        border-color .45s var(--ease-smooth),
        background .45s var(--ease-smooth),
        box-shadow .45s var(--ease-smooth);
}

.flc-service-card::before{
    content:'';
    position:absolute;
    inset:0;
    z-index:-1;
    background:
        linear-gradient(
            135deg,
            rgba(116,168,40,.18),
            transparent 42%,
            rgba(255,255,255,.03) 100%
        );
    opacity:0;
    transition:opacity .45s var(--ease-smooth);
}

.flc-service-card::after{
    content:'';
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:4px;
    background:linear-gradient(
        90deg,
        var(--flc-lawn),
        var(--flc-lawn-light),
        var(--flc-green)
    );
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .65s var(--ease-smooth);
}

.flc-service-card:hover{
    transform:translateY(-9px);
    border-color:rgba(167,217,87,.36);
    background:rgba(255,255,255,.09);
    box-shadow:0 34px 90px rgba(0,0,0,.32);
}

.flc-service-card:hover::before{
    opacity:1;
}

.flc-service-card:hover::after{
    transform:scaleX(1);
}

/* Media */
.flc-service-media{
    position:relative;
    height:220px;
    overflow:hidden;
    background:var(--flc-forest);
}

.flc-service-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    transform:scale(1.08);
    filter:saturate(1.04) contrast(1.04);
    opacity:.82;
    transition:
        transform .85s var(--ease-smooth),
        opacity .45s var(--ease-smooth);
}

.flc-service-card:hover .flc-service-media img{
    transform:scale(1);
    opacity:1;
}

.flc-service-media::after{
    content:'';
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            180deg,
            transparent 0%,
            rgba(5,6,5,.78) 100%
        );
}

.flc-service-number{
    position:absolute;
    left:18px;
    bottom:14px;
    z-index:2;
    color:rgba(255,255,255,.88);
    font-size:.78rem;
    font-weight:950;
    letter-spacing:.16em;
}

/* Content */
.flc-service-content{
    flex:1;
    padding:26px 24px 24px;
    display:flex;
    flex-direction:column;
}

.flc-service-label{
    display:inline-flex;
    width:max-content;
    margin-bottom:16px;
    color:var(--flc-lawn-light);
    font-size:.68rem;
    font-weight:950;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.flc-service-content h3{
    color:var(--flc-white);
    font-size:1.65rem;
    font-weight:950;
    line-height:1;
    letter-spacing:-.05em;
}

.flc-service-content p{
    margin-top:14px;
    color:rgba(255,255,255,.66);
    font-size:.94rem;
    line-height:1.62;
}

/* Tags */
.flc-service-tags{
    margin-top:22px;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.flc-service-tags span{
    display:inline-flex;
    padding:8px 10px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.11);
    color:rgba(255,255,255,.82);
    font-size:.7rem;
    font-weight:850;
    line-height:1;
    transition:
        background .35s var(--ease-smooth),
        color .35s var(--ease-smooth),
        border-color .35s var(--ease-smooth);
}

.flc-service-card:hover .flc-service-tags span{
    border-color:rgba(167,217,87,.22);
}

/* Card link */
.flc-service-link{
    margin-top:auto;
    padding-top:24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    color:var(--flc-lawn-light);
    font-size:.84rem;
    font-weight:950;
    letter-spacing:.02em;
}

.flc-service-link span{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    background:var(--flc-lawn);
    color:var(--flc-black);
    transition:
        transform .35s var(--ease-smooth),
        background .35s var(--ease-smooth);
}

.flc-service-card:hover .flc-service-link span{
    transform:translateX(4px);
    background:var(--flc-lawn-light);
}

/* Animation */
.flc-services-animate{
    opacity:1;
    transform:translateY(0);
    clip-path:inset(0 0 0 0);
}

.flc-services.js-ready .flc-services-animate{
    opacity:0;
    transform:translateY(30px);
    clip-path:inset(0 0 16% 0);
    transition:
        opacity .55s var(--ease-smooth),
        transform .85s var(--ease-smooth),
        clip-path .85s var(--ease-premium);
}

.flc-services.js-ready .flc-services-animate.is-visible{
    opacity:1;
    transform:translateY(0);
    clip-path:inset(0 0 0 0);
}












































/* ================================
   FELIPE LAWN CARE
   SERVICE AREAS SECTION
================================ */

.flc-areas{
    position:relative;
    display:block;
    width:100%;
    padding:112px 0;
    overflow:hidden;
    isolation:isolate;
    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.84) 0%,
            rgba(246,246,243,.96) 38%,
            rgba(239,239,231,1) 100%
        );
    color:var(--flc-text);
}

.flc-areas::before{
    content:'';
    position:absolute;
    left:-12vw;
    top:0;
    width:46vw;
    height:100%;
    z-index:-2;
    background:
        linear-gradient(
            120deg,
            rgba(116,168,40,.15),
            rgba(36,56,21,.05) 54%,
            transparent 100%
        );
    clip-path:polygon(0 0, 78% 0, 100% 100%, 0 100%);
}

.flc-areas::after{
    content:'';
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:1px;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(36,56,21,.24),
            transparent
        );
}

.flc-areas-shell{
    position:relative;
    z-index:2;
    width:min(100% - 44px, 1220px);
    margin-inline:auto;
}

/* Header */
.flc-areas-header{
    margin-bottom:48px;
}

.flc-areas-kicker{
    display:inline-flex;
    align-items:center;
    gap:12px;
    margin-bottom:20px;
    color:var(--flc-green);
    font-size:.76rem;
    font-weight:950;
    letter-spacing:.17em;
    text-transform:uppercase;
}

.flc-areas-kicker::before{
    content:'';
    width:42px;
    height:2px;
    background:var(--flc-lawn);
}

.flc-areas-title-row{
    display:grid;
    grid-template-columns:minmax(0, .95fr) minmax(280px, .52fr);
    gap:48px;
    align-items:end;
}

.flc-areas-title-row h2{
    color:var(--flc-text);
    font-size:clamp(2.45rem, 5.2vw, 4.9rem);
    font-weight:950;
    line-height:.94;
    letter-spacing:-.07em;
}

.flc-areas-title-row p{
    color:var(--flc-muted);
    font-size:1.02rem;
    line-height:1.75;
}

/* Layout */
.flc-areas-layout{
    display:grid;
    grid-template-columns:390px minmax(0, 1fr);
    gap:18px;
    align-items:stretch;
}

/* Info panel */
.flc-areas-info{
    position:relative;
    padding:30px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    background:var(--flc-black);
    color:var(--flc-white);
    overflow:hidden;
    box-shadow:0 28px 80px rgba(13,16,10,.18);
}

.flc-areas-info::before{
    content:'';
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            135deg,
            rgba(116,168,40,.34),
            transparent 44%,
            rgba(167,217,87,.08) 100%
        );
    pointer-events:none;
}

.flc-areas-info::after{
    content:'';
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:4px;
    background:
        linear-gradient(
            90deg,
            var(--flc-lawn),
            var(--flc-lawn-light),
            var(--flc-green)
        );
}

.flc-areas-info-top,
.flc-city-grid,
.flc-areas-note{
    position:relative;
    z-index:1;
}

.flc-areas-info-top > span{
    display:block;
    margin-bottom:16px;
    color:var(--flc-lawn-light);
    font-size:.76rem;
    font-weight:950;
    letter-spacing:.15em;
    text-transform:uppercase;
}

.flc-areas-info h3{
    max-width:310px;
    color:var(--flc-white);
    font-size:clamp(2rem, 3vw, 2.85rem);
    line-height:.92;
    font-weight:950;
    letter-spacing:-.06em;
}

.flc-areas-info p{
    margin-top:20px;
    color:rgba(255,255,255,.72);
    font-size:.96rem;
    line-height:1.68;
}

/* City pills */
.flc-city-grid{
    margin-top:34px;
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
}

.flc-city-pill{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:44px;
    padding:0 13px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    color:rgba(255,255,255,.86);
    font-size:.78rem;
    font-weight:900;
    overflow:hidden;
    transition:
        transform .35s var(--ease-smooth),
        border-color .35s var(--ease-smooth),
        background .35s var(--ease-smooth),
        color .35s var(--ease-smooth);
}

.flc-city-pill::after{
    content:'→';
    color:var(--flc-lawn-light);
    transform:translateX(-4px);
    opacity:.75;
    transition:
        transform .35s var(--ease-smooth),
        opacity .35s var(--ease-smooth);
}

.flc-city-pill:hover,
.flc-city-pill.is-active{
    transform:translateY(-3px);
    background:rgba(116,168,40,.18);
    border-color:rgba(167,217,87,.38);
    color:var(--flc-white);
}

.flc-city-pill:hover::after,
.flc-city-pill.is-active::after{
    transform:translateX(0);
    opacity:1;
}

/* Note */
.flc-areas-note{
    margin-top:34px;
    padding-top:24px;
    border-top:1px solid rgba(255,255,255,.14);
}

.flc-areas-note strong{
    display:block;
    color:var(--flc-white);
    font-size:.96rem;
    font-weight:950;
}

.flc-areas-note span{
    display:block;
    margin-top:6px;
    color:rgba(255,255,255,.62);
    font-size:.86rem;
    line-height:1.5;
}

/* Map */
.flc-areas-map-wrap{
    position:relative;
    min-height:620px;
    background:rgba(255,255,255,.78);
    border:1px solid var(--flc-border);
    box-shadow:0 28px 80px rgba(13,16,10,.12);
    overflow:hidden;
}

.flc-map-toolbar{
    height:64px;
    padding:0 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    background:var(--flc-white);
    border-bottom:1px solid var(--flc-border);
}

.flc-map-toolbar div{
    display:flex;
    align-items:center;
    gap:10px;
    color:var(--flc-text);
    font-size:.78rem;
    font-weight:950;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.flc-map-status-dot{
    width:10px;
    height:10px;
    border-radius:50%;
    background:var(--flc-lawn);
    box-shadow:0 0 0 6px rgba(116,168,40,.16);
}

.flc-map-toolbar a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:0 16px;
    background:var(--flc-black);
    color:var(--flc-white);
    font-size:.75rem;
    font-weight:950;
    transition:
        transform .35s var(--ease-smooth),
        background .35s var(--ease-smooth);
}

.flc-map-toolbar a:hover{
    transform:translateY(-2px);
    background:var(--flc-forest);
}

.flc-map-frame{
    position:relative;
    width:100%;
    height:calc(100% - 64px);
    min-height:556px;
    background:var(--flc-mist);
    overflow:hidden;
}

.flc-map-frame iframe{
    width:100%;
    height:100%;
    min-height:556px;
    border:0;
    display:block;
    filter:saturate(.95) contrast(1.02);
}

/* Floating card on map */
.flc-map-card{
    position:absolute;
    left:24px;
    bottom:24px;
    width:min(310px, calc(100% - 48px));
    padding:22px;
    background:rgba(5,6,5,.78);
    color:var(--flc-white);
    border:1px solid rgba(255,255,255,.16);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    box-shadow:0 24px 60px rgba(0,0,0,.26);
}

.flc-map-card span{
    display:block;
    margin-bottom:8px;
    color:var(--flc-lawn-light);
    font-size:.68rem;
    font-weight:950;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.flc-map-card strong{
    display:block;
    color:var(--flc-white);
    font-size:1.45rem;
    font-weight:950;
    letter-spacing:-.04em;
}

.flc-map-card p{
    margin-top:8px;
    color:rgba(255,255,255,.68);
    font-size:.86rem;
    line-height:1.5;
}

/* Animation */
.flc-areas-animate{
    opacity:1;
    transform:translateY(0);
    clip-path:inset(0 0 0 0);
}

.flc-areas.js-ready .flc-areas-animate{
    opacity:0;
    transform:translateY(30px);
    clip-path:inset(0 0 16% 0);
    transition:
        opacity .55s var(--ease-smooth),
        transform .85s var(--ease-smooth),
        clip-path .85s var(--ease-premium);
}

.flc-areas.js-ready .flc-areas-animate.is-visible{
    opacity:1;
    transform:translateY(0);
    clip-path:inset(0 0 0 0);
}

/* Map highlight when a city is clicked */
.flc-areas-map-wrap.is-highlighted{
    box-shadow:
        0 0 0 4px rgba(116,168,40,.24),
        0 28px 80px rgba(13,16,10,.12);
}











































/* ================================
   FELIPE LAWN CARE
   REVIEWS SECTION
================================ */

.flc-reviews{
    position:relative;
    display:block;
    width:100%;
    padding:112px 0;
    overflow:hidden;
    isolation:isolate;
    background:var(--flc-black);
    color:var(--flc-white);
}

.flc-reviews::before{
    content:'';
    position:absolute;
    inset:0;
    z-index:-3;
    background:
        linear-gradient(
            115deg,
            rgba(5,6,5,1) 0%,
            rgba(13,16,10,.98) 48%,
            rgba(36,56,21,.96) 100%
        );
}

.flc-reviews::after{
    content:'';
    position:absolute;
    left:-16vw;
    top:-20%;
    width:54vw;
    height:140%;
    z-index:-2;
    background:
        linear-gradient(
            120deg,
            rgba(116,168,40,.20),
            rgba(167,217,87,.07) 52%,
            transparent 100%
        );
    clip-path:polygon(0 0, 78% 0, 100% 100%, 0 100%);
    pointer-events:none;
}

.flc-reviews-shell{
    position:relative;
    z-index:2;
    width:min(100% - 44px, 1220px);
    margin-inline:auto;
}

/* Header */
.flc-reviews-header{
    margin-bottom:48px;
}

.flc-reviews-kicker{
    display:inline-flex;
    align-items:center;
    gap:12px;
    margin-bottom:20px;
    color:var(--flc-lawn-light);
    font-size:.76rem;
    font-weight:950;
    letter-spacing:.17em;
    text-transform:uppercase;
}

.flc-reviews-kicker::before{
    content:'';
    width:42px;
    height:2px;
    background:var(--flc-lawn);
}

.flc-reviews-title-row{
    display:grid;
    grid-template-columns:minmax(0, .95fr) minmax(280px, .52fr);
    gap:48px;
    align-items:end;
}

.flc-reviews-title-row h2{
    max-width:880px;
    color:var(--flc-white);
    font-size:clamp(2.45rem, 5.2vw, 4.9rem);
    font-weight:950;
    line-height:.94;
    letter-spacing:-.07em;
}

.flc-reviews-title-row p{
    color:rgba(255,255,255,.68);
    font-size:1.02rem;
    line-height:1.75;
}

/* Layout */
.flc-reviews-layout{
    display:grid;
    grid-template-columns:370px minmax(0, 1fr);
    gap:18px;
    align-items:stretch;
}

/* Side panel */
.flc-reviews-side{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.flc-review-score-card{
    position:relative;
    padding:30px;
    overflow:hidden;
    background:rgba(255,255,255,.075);
    border:1px solid rgba(255,255,255,.14);
    box-shadow:0 28px 80px rgba(0,0,0,.24);
}

.flc-review-score-card::before{
    content:'';
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            135deg,
            rgba(116,168,40,.25),
            transparent 46%,
            rgba(255,255,255,.04) 100%
        );
    pointer-events:none;
}

.flc-review-score-card::after{
    content:'';
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:4px;
    background:
        linear-gradient(
            90deg,
            var(--flc-lawn),
            var(--flc-lawn-light),
            var(--flc-green)
        );
}

.flc-review-score-label,
.flc-review-stars,
.flc-review-score-card h3,
.flc-review-score-card p,
.flc-review-score-card a,
.flc-review-score-card small{
    position:relative;
    z-index:1;
}

.flc-review-score-label{
    display:block;
    margin-bottom:18px;
    color:var(--flc-lawn-light);
    font-size:.72rem;
    font-weight:950;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.flc-review-stars{
    display:flex;
    color:var(--flc-lawn-light);
    font-size:1.15rem;
    letter-spacing:.08em;
    margin-bottom:20px;
}

.flc-review-score-card h3{
    color:var(--flc-white);
    font-size:clamp(1.85rem, 3vw, 2.65rem);
    line-height:.94;
    font-weight:950;
    letter-spacing:-.06em;
}

.flc-review-score-card p{
    margin-top:18px;
    color:rgba(255,255,255,.70);
    font-size:.95rem;
    line-height:1.68;
}

.flc-review-btn{
    margin-top:24px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:52px;
    background:var(--flc-lawn);
    color:var(--flc-black);
    font-size:.86rem;
    font-weight:950;
    box-shadow:0 16px 42px rgba(116,168,40,.26);
    transition:
        transform .35s var(--ease-smooth),
        background .35s var(--ease-smooth);
}

.flc-review-btn:hover{
    transform:translateY(-3px);
    background:var(--flc-lawn-light);
}

.flc-review-score-card small{
    display:block;
    margin-top:12px;
    color:rgba(255,255,255,.45);
    font-size:.72rem;
    line-height:1.45;
}

/* Reasons */
.flc-review-reasons{
    display:grid;
    gap:12px;
}

.flc-review-reason{
    position:relative;
    padding:18px;
    display:flex;
    gap:14px;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.10);
    overflow:hidden;
    transition:
        transform .35s var(--ease-smooth),
        border-color .35s var(--ease-smooth),
        background .35s var(--ease-smooth);
}

.flc-review-reason:hover{
    transform:translateY(-4px);
    background:rgba(255,255,255,.08);
    border-color:rgba(167,217,87,.28);
}

.flc-review-reason > span{
    flex:0 0 auto;
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    background:var(--flc-lawn);
    color:var(--flc-black);
    font-size:.72rem;
    font-weight:950;
}

.flc-review-reason strong{
    display:block;
    color:var(--flc-white);
    font-size:.94rem;
    font-weight:950;
    line-height:1.15;
}

.flc-review-reason p{
    margin-top:5px;
    color:rgba(255,255,255,.58);
    font-size:.82rem;
    line-height:1.45;
}

/* Elfsight widget area */
.flc-reviews-widget-wrap{
    position:relative;
    min-height:620px;
    background:rgba(255,255,255,.075);
    border:1px solid rgba(255,255,255,.14);
    box-shadow:0 28px 80px rgba(0,0,0,.24);
    overflow:hidden;
}

.flc-reviews-widget-toolbar{
    min-height:64px;
    padding:0 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    background:rgba(255,255,255,.08);
    border-bottom:1px solid rgba(255,255,255,.12);
    backdrop-filter:blur(16px);
}

.flc-reviews-widget-toolbar div{
    display:flex;
    align-items:center;
    gap:10px;
    color:var(--flc-white);
    font-size:.78rem;
    font-weight:950;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.flc-reviews-dot{
    width:10px;
    height:10px;
    border-radius:50%;
    background:var(--flc-lawn);
    box-shadow:0 0 0 6px rgba(116,168,40,.16);
}

.flc-reviews-widget-toolbar a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:0 16px;
    background:var(--flc-lawn);
    color:var(--flc-black);
    font-size:.75rem;
    font-weight:950;
    transition:
        transform .35s var(--ease-smooth),
        background .35s var(--ease-smooth);
}

.flc-reviews-widget-toolbar a:hover{
    transform:translateY(-2px);
    background:var(--flc-lawn-light);
}

.flc-elfsight-box{
    position:relative;
    min-height:556px;
    padding:22px;
    background:rgba(255,255,255,.94);
    color:var(--flc-text);
}

/* Placeholder only; remove when Elfsight is added */
.flc-elfsight-placeholder{
    min-height:512px;
    display:grid;
    place-items:center;
    text-align:center;
    border:1px dashed rgba(36,56,21,.28);
    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.86),
            rgba(246,246,243,.96)
        );
}

.flc-elfsight-placeholder span{
    display:block;
    color:var(--flc-green);
    font-size:.78rem;
    font-weight:950;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.flc-elfsight-placeholder p{
    margin-top:8px;
    color:var(--flc-muted);
    font-size:.95rem;
}

/* Bottom CTA strip */
.flc-review-cta-strip{
    position:relative;
    margin-top:18px;
    padding:24px 28px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    overflow:hidden;
    background:var(--flc-lawn);
    color:var(--flc-black);
    box-shadow:0 24px 70px rgba(0,0,0,.20);
}

.flc-review-cta-strip::before{
    content:'';
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            100deg,
            rgba(255,255,255,.32),
            transparent 42%,
            rgba(5,6,5,.08) 100%
        );
    pointer-events:none;
}

.flc-review-cta-copy,
.flc-review-cta-actions{
    position:relative;
    z-index:1;
}

.flc-review-cta-copy span{
    display:block;
    margin-bottom:4px;
    color:rgba(5,6,5,.66);
    font-size:.72rem;
    font-weight:950;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.flc-review-cta-copy strong{
    display:block;
    color:var(--flc-black);
    font-size:1.25rem;
    line-height:1.15;
    font-weight:950;
    letter-spacing:-.04em;
}

.flc-review-cta-actions{
    display:flex;
    align-items:center;
    gap:12px;
}

.flc-review-secondary,
.flc-review-phone{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 20px;
    font-size:.82rem;
    font-weight:950;
    transition:
        transform .35s var(--ease-smooth),
        background .35s var(--ease-smooth);
}

.flc-review-secondary{
    background:var(--flc-black);
    color:var(--flc-white);
}

.flc-review-phone{
    background:rgba(255,255,255,.42);
    color:var(--flc-black);
    border:1px solid rgba(5,6,5,.12);
}

.flc-review-secondary:hover,
.flc-review-phone:hover{
    transform:translateY(-3px);
}

/* Animations */
.flc-reviews-animate{
    opacity:1;
    transform:translateY(0);
    clip-path:inset(0 0 0 0);
}

.flc-reviews.js-ready .flc-reviews-animate{
    opacity:0;
    transform:translateY(30px);
    clip-path:inset(0 0 16% 0);
    transition:
        opacity .55s var(--ease-smooth),
        transform .85s var(--ease-smooth),
        clip-path .85s var(--ease-premium);
}

.flc-reviews.js-ready .flc-reviews-animate.is-visible{
    opacity:1;
    transform:translateY(0);
    clip-path:inset(0 0 0 0);
}








































/* ================================
   FELIPE LAWN CARE
   FOOTER
================================ */

.flc-footer{
    position:relative;
    display:block;
    width:100%;
    padding:92px 0 0;
    overflow:hidden;
    isolation:isolate;
    background:var(--flc-black);
    color:var(--flc-white);
}

.flc-footer::before{
    content:'';
    position:absolute;
    inset:0;
    z-index:-3;
    background:
        linear-gradient(
            115deg,
            rgba(5,6,5,1) 0%,
            rgba(13,16,10,.98) 48%,
            rgba(36,56,21,.98) 100%
        );
}

.flc-footer::after{
    content:'';
    position:absolute;
    right:-18vw;
    top:-24%;
    width:58vw;
    height:148%;
    z-index:-2;
    background:
        linear-gradient(
            120deg,
            transparent 0%,
            rgba(116,168,40,.18) 44%,
            rgba(167,217,87,.08) 100%
        );
    clip-path:polygon(22% 0, 100% 0, 78% 100%, 0 100%);
    pointer-events:none;
}

.flc-footer-shell{
    position:relative;
    z-index:2;
    width:min(100% - 44px, 1220px);
    margin-inline:auto;
}

/* Top layout */
.flc-footer-top{
    display:grid;
    grid-template-columns:1.15fr .72fr .82fr 1fr;
    gap:34px;
    align-items:start;
}

.flc-footer-brand{
    max-width:360px;
}

.flc-footer-logo{
    display:inline-flex;
    width:128px;
    margin-bottom:24px;
}

.flc-footer-logo img{
    width:100%;
    height:auto;
    filter:drop-shadow(0 16px 30px rgba(0,0,0,.36));
}

.flc-footer-brand p{
    color:rgba(255,255,255,.68);
    font-size:.95rem;
    line-height:1.72;
}

.flc-footer-offer{
    position:relative;
    margin-top:26px;
    padding:18px;
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.12);
    overflow:hidden;
}

.flc-footer-offer::before{
    content:'';
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            135deg,
            rgba(116,168,40,.22),
            transparent 50%
        );
    pointer-events:none;
}

.flc-footer-offer span,
.flc-footer-offer strong{
    position:relative;
    z-index:1;
}

.flc-footer-offer span{
    display:block;
    color:var(--flc-lawn-light);
    font-size:.68rem;
    font-weight:950;
    letter-spacing:.15em;
    text-transform:uppercase;
    margin-bottom:8px;
}

.flc-footer-offer strong{
    display:block;
    color:var(--flc-white);
    font-size:1.18rem;
    line-height:1.1;
    font-weight:950;
    letter-spacing:-.04em;
}

/* Columns */
.flc-footer-column h3,
.flc-footer-contact h3{
    margin-bottom:20px;
    color:var(--flc-white);
    font-size:1.05rem;
    font-weight:950;
    letter-spacing:-.035em;
}

.flc-footer-column ul{
    list-style:none;
    display:grid;
    gap:10px;
}

.flc-footer-column a{
    position:relative;
    display:inline-flex;
    width:max-content;
    max-width:100%;
    color:rgba(255,255,255,.66);
    font-size:.9rem;
    font-weight:800;
    transition:
        color .35s var(--ease-smooth),
        transform .35s var(--ease-smooth);
}

.flc-footer-column a::after{
    content:'';
    position:absolute;
    left:0;
    bottom:-4px;
    width:100%;
    height:2px;
    background:var(--flc-lawn);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .35s var(--ease-smooth);
}

.flc-footer-column a:hover{
    color:var(--flc-white);
    transform:translateX(4px);
}

.flc-footer-column a:hover::after{
    transform:scaleX(1);
}

/* Contact */
.flc-footer-contact-list{
    display:grid;
    gap:12px;
}

.flc-footer-contact-item{
    display:block;
    padding:16px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.10);
    transition:
        transform .35s var(--ease-smooth),
        background .35s var(--ease-smooth),
        border-color .35s var(--ease-smooth);
}

.flc-footer-contact-item:hover{
    transform:translateY(-4px);
    background:rgba(255,255,255,.085);
    border-color:rgba(167,217,87,.28);
}

.flc-footer-contact-item span{
    display:block;
    margin-bottom:5px;
    color:var(--flc-lawn-light);
    font-size:.66rem;
    font-weight:950;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.flc-footer-contact-item strong{
    display:block;
    color:rgba(255,255,255,.84);
    font-size:.9rem;
    line-height:1.35;
    font-weight:850;
    word-break:break-word;
}

/* Middle */
.flc-footer-middle{
    margin-top:54px;
    padding:24px 28px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.12);
    overflow:hidden;
}

.flc-footer-hours span,
.flc-footer-social > span{
    display:block;
    margin-bottom:7px;
    color:var(--flc-lawn-light);
    font-size:.68rem;
    font-weight:950;
    letter-spacing:.15em;
    text-transform:uppercase;
}

.flc-footer-hours strong{
    color:var(--flc-white);
    font-size:1.08rem;
    line-height:1.25;
    font-weight:950;
    letter-spacing:-.035em;
}

.flc-footer-social{
    display:flex;
    align-items:center;
    gap:18px;
}

.flc-footer-social > span{
    margin-bottom:0;
}

.flc-social-links{
    display:flex;
    align-items:center;
    gap:10px;
}

.flc-social-links a{
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    background:var(--flc-lawn);
    color:var(--flc-black);
    transition:
        transform .35s var(--ease-smooth),
        background .35s var(--ease-smooth),
        box-shadow .35s var(--ease-smooth);
}

.flc-social-links a:hover{
    transform:translateY(-4px);
    background:var(--flc-lawn-light);
    box-shadow:0 14px 34px rgba(116,168,40,.24);
}

.flc-social-links svg{
    width:21px;
    height:21px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.flc-social-links a:first-child svg,
.flc-social-links a:nth-child(2) svg{
    fill:currentColor;
    stroke:none;
}

/* Areas */
.flc-footer-areas{
    margin-top:18px;
    padding:22px 28px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.09);
}

.flc-footer-areas > span{
    flex:0 0 auto;
    color:var(--flc-lawn-light);
    font-size:.68rem;
    font-weight:950;
    letter-spacing:.15em;
    text-transform:uppercase;
}

.flc-footer-areas div{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:8px;
}

.flc-footer-areas a{
    display:inline-flex;
    align-items:center;
    min-height:36px;
    padding:0 12px;
    color:rgba(255,255,255,.74);
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.10);
    font-size:.76rem;
    font-weight:850;
    transition:
        transform .35s var(--ease-smooth),
        background .35s var(--ease-smooth),
        color .35s var(--ease-smooth),
        border-color .35s var(--ease-smooth);
}

.flc-footer-areas a:hover{
    transform:translateY(-3px);
    color:var(--flc-white);
    background:rgba(116,168,40,.18);
    border-color:rgba(167,217,87,.30);
}

/* Bottom */
.flc-footer-bottom{
    margin-top:54px;
    padding:22px 0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    border-top:1px solid rgba(255,255,255,.12);
}

.flc-footer-bottom p{
    color:rgba(255,255,255,.52);
    font-size:.78rem;
    line-height:1.5;
}

/* Animations */
.flc-footer-animate{
    opacity:1;
    transform:translateY(0);
    clip-path:inset(0 0 0 0);
}

.flc-footer.js-ready .flc-footer-animate{
    opacity:0;
    transform:translateY(28px);
    clip-path:inset(0 0 18% 0);
    transition:
        opacity .55s var(--ease-smooth),
        transform .85s var(--ease-smooth),
        clip-path .85s var(--ease-premium);
}

.flc-footer.js-ready .flc-footer-animate.is-visible{
    opacity:1;
    transform:translateY(0);
    clip-path:inset(0 0 0 0);
}












































/* ================================
   FELIPE LAWN CARE
   NEW CUSTOMER SPECIAL POPUP
================================ */

.flc-offer-modal{
    position:fixed;
    inset:0;
    z-index:2147482000;
    display:grid;
    place-items:center;
    padding:22px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:
        opacity .38s var(--ease-smooth),
        visibility .38s var(--ease-smooth);
}

.flc-offer-modal.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}

.flc-offer-backdrop{
    position:absolute;
    inset:0;
    background:rgba(5,6,5,.72);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}

.flc-offer-card{
    position:relative;
    width:min(100%, 760px);
    max-height:calc(100dvh - 44px);
    overflow:hidden;
    background:var(--flc-paper);
    color:var(--flc-text);
    box-shadow:0 40px 120px rgba(0,0,0,.42);
    transform:translateY(28px) scale(.96);
    opacity:0;
    transition:
        transform .62s var(--ease-smooth),
        opacity .42s var(--ease-smooth);
}

.flc-offer-modal.is-open .flc-offer-card{
    transform:translateY(0) scale(1);
    opacity:1;
}

/* Top */
.flc-offer-top{
    position:relative;
    min-height:190px;
    padding:46px 74px 38px;
    display:grid;
    place-items:center;
    text-align:center;
    overflow:hidden;
    background:
        linear-gradient(
            120deg,
            rgba(80,119,23,.76),
            rgba(36,56,21,.98) 52%,
            rgba(13,16,10,1)
        );
}

.flc-offer-top::before{
    content:'';
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.10),
            transparent 38%,
            rgba(116,168,40,.12)
        );
    pointer-events:none;
}

.flc-offer-eyebrow{
    position:relative;
    z-index:1;
    display:block;
    color:var(--flc-white);
    font-size:clamp(2.7rem, 7vw, 5.15rem);
    font-weight:300;
    line-height:.92;
    letter-spacing:.02em;
    text-transform:uppercase;
}

.flc-offer-top strong{
    position:relative;
    z-index:1;
    display:block;
    margin-top:10px;
    color:rgba(255,255,255,.28);
    font-size:clamp(2.4rem, 6vw, 4.55rem);
    font-weight:300;
    line-height:.9;
    letter-spacing:.06em;
    text-transform:uppercase;
}

/* Close */
.flc-offer-close{
    position:absolute;
    top:22px;
    right:22px;
    z-index:5;
    width:46px;
    height:46px;
    border:0;
    display:grid;
    place-items:center;
    cursor:pointer;
    background:rgba(255,255,255,.10);
    color:var(--flc-white);
    font-size:2.2rem;
    line-height:1;
    transition:
        transform .35s var(--ease-smooth),
        background .35s var(--ease-smooth),
        color .35s var(--ease-smooth);
}

.flc-offer-close:hover{
    transform:rotate(90deg);
    background:var(--flc-lawn);
    color:var(--flc-black);
}

/* Body */
.flc-offer-body{
    position:relative;
    min-height:520px;
    display:grid;
    place-items:center;
    overflow:hidden;
}

.flc-offer-bg{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(246,246,243,.92),
            rgba(246,246,243,.78)
        ),
        url("/img/lawncare/l (1).jpg") center center / cover no-repeat;
    filter:saturate(.9) contrast(1.02);
    transform:scale(1.04);
}

.flc-offer-content{
    position:relative;
    z-index:2;
    width:min(100% - 42px, 620px);
    margin-inline:auto;
    padding:58px 0 52px;
    text-align:center;
}

.flc-offer-pill{
    min-height:58px;
    padding:0 30px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:var(--flc-white);
    color:var(--flc-forest);
    font-size:1.45rem;
    font-weight:900;
    letter-spacing:.02em;
    text-transform:uppercase;
    box-shadow:0 18px 45px rgba(13,16,10,.08);
}

.flc-offer-content h2{
    margin-top:24px;
    color:#050605;
    font-size:clamp(2.75rem, 7vw, 5.15rem);
    line-height:.92;
    letter-spacing:-.055em;
    font-weight:950;
    text-transform:uppercase;
}

.flc-offer-content h2 span{
    display:block;
    color:var(--flc-forest);
}

.flc-offer-content p{
    max-width:480px;
    margin:22px auto 0;
    color:rgba(18,21,14,.72);
    font-size:.98rem;
    line-height:1.65;
    font-weight:750;
}

.flc-offer-btn{
    position:relative;
    isolation:isolate;
    min-height:58px;
    width:min(100%, 380px);
    margin:34px auto 0;
    padding:0 26px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:var(--flc-forest);
    color:var(--flc-white);
    border:2px solid rgba(255,255,255,.24);
    box-shadow:0 18px 45px rgba(36,56,21,.24);
    font-size:1.02rem;
    font-weight:950;
    letter-spacing:.03em;
    text-transform:uppercase;
    transition:
        transform .35s var(--ease-smooth),
        background .35s var(--ease-smooth),
        color .35s var(--ease-smooth);
}

.flc-offer-btn::before{
    content:'';
    position:absolute;
    inset:0;
    z-index:-1;
    background:var(--flc-lawn);
    transform:translateX(-110%) skewX(-14deg);
    transition:transform .55s var(--ease-smooth);
}

.flc-offer-btn:hover{
    transform:translateY(-4px);
    color:var(--flc-black);
}

.flc-offer-btn:hover::before{
    transform:translateX(0) skewX(-14deg);
}

.flc-offer-text-btn{
    margin-top:18px;
    border:0;
    background:transparent;
    color:rgba(18,21,14,.62);
    font-size:.82rem;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
    cursor:pointer;
    transition:color .35s var(--ease-smooth);
}

.flc-offer-text-btn:hover{
    color:var(--flc-forest);
}

/* Body lock */
html.flc-offer-lock,
body.flc-offer-lock{
    overflow:hidden !important;
}

/* Responsive */
@media(max-width:720px){
    .flc-offer-modal{
        padding:14px;
    }

    .flc-offer-card{
        width:100%;
        max-height:calc(100dvh - 28px);
        overflow:auto;
        overscroll-behavior:contain;
    }

    .flc-offer-top{
        min-height:150px;
        padding:38px 58px 30px;
    }

    .flc-offer-close{
        top:16px;
        right:16px;
        width:42px;
        height:42px;
        font-size:2rem;
    }

    .flc-offer-body{
        min-height:470px;
    }

    .flc-offer-content{
        width:min(100% - 28px, 100%);
        padding:46px 0 42px;
    }

    .flc-offer-pill{
        min-height:52px;
        padding:0 26px;
        font-size:1.18rem;
    }

    .flc-offer-content h2{
        margin-top:22px;
        font-size:clamp(2.45rem, 13vw, 4.2rem);
    }

    .flc-offer-content p{
        font-size:.9rem;
    }

    .flc-offer-btn{
        min-height:54px;
        font-size:.92rem;
    }
}

@media(max-width:420px){
    .flc-offer-top{
        min-height:135px;
        padding:34px 52px 26px;
    }

    .flc-offer-eyebrow{
        font-size:2.25rem;
    }

    .flc-offer-top strong{
        font-size:2rem;
    }

    .flc-offer-body{
        min-height:430px;
    }

    .flc-offer-content h2{
        font-size:2.55rem;
    }

    .flc-offer-content p{
        max-width:310px;
    }
}



































/* ================================
   RESPONSIVE
================================ */
@media(max-width:1100px){
     .flc-footer-top{
        grid-template-columns:1fr 1fr;
    }

    .flc-footer-brand{
        max-width:none;
    }
      .flc-reviews-title-row{
        grid-template-columns:1fr;
        gap:22px;
    }

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

    .flc-reviews-widget-wrap{
        min-height:auto;
    }
    .flc-areas-title-row{
        grid-template-columns:1fr;
        gap:22px;
    }

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

    .flc-areas-info{
        min-height:auto;
    }

    .flc-city-grid{
        grid-template-columns:repeat(3, minmax(0, 1fr));
    }

    .flc-areas-map-wrap{
        min-height:560px;
    }

    .flc-map-frame,
    .flc-map-frame iframe{
        min-height:496px;
    }
      .flc-services-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    .flc-services-title-row{
        grid-template-columns:1fr;
        gap:22px;
    }
       .flc-confidence-title-row{
        grid-template-columns:1fr;
        gap:22px;
    }

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

    .flc-confidence-main{
        min-height:360px;
    }

    .flc-hero-content{
        max-width:780px;
    }

    .flc-hero-visual{
        display:none;
    }

    .flc-hero-bg{
        background:
            linear-gradient(
                90deg,
                rgba(5,6,5,.95) 0%,
                rgba(5,6,5,.82) 52%,
                rgba(5,6,5,.55) 100%
            ),
            linear-gradient(
                120deg,
                rgba(116,168,40,.22) 0%,
                transparent 32%,
                transparent 100%
            ),
            url("/img/lawncare/l\ \(1\).jpg") center right/cover no-repeat;
    }
}

@media(max-width:970px){
    .flc-header{
        height:var(--nav-height-mobile);
    }

    .flc-nav-inner{
        width:min(100% - 26px, 100%);
        grid-template-columns:auto 1fr auto;
        gap:12px;
    }

    .flc-menu-toggle{
        display:block;
        order:1;
    }

    .flc-brand{
        order:2;
        justify-self:center;
        width:116px;
    }

    .flc-nav-links{
        display:none;
    }

    .flc-nav-cta{
        order:3;
        min-height:44px;
        padding:0 14px;
        font-size:.72rem;
        white-space:nowrap;
    }

    .flc-hero{
        height:100svh;
        max-height:100svh;
        min-height:620px;
    }

    .flc-hero-inner{
        width:min(100% - 28px, 100%);
        padding-top:calc(var(--nav-height-mobile) + 30px);
        padding-bottom:54px;
        align-items:center;
    }

    .flc-hero-title{
        font-size:clamp(3rem, 12vw, 5rem);
        line-height:.91;
    }

    .flc-hero-copy{
        max-width:600px;
        font-size:.98rem;
    }

    .flc-hero-bottom{
        width:min(100% - 28px, 100%);
        gap:12px;
        flex-wrap:wrap;
        bottom:16px;
        font-size:.61rem;
    }

    .flc-hero-bottom span:not(:last-child)::after{
        display:none;
    }
    :root{
        --section-padding:var(--section-padding-mobile);
    }

    .container{
        width:min(100% - 28px, var(--container));
    }

    .btn{
        width:100%;
    }
}

@media(max-width:720px){
       .flc-footer{
        padding-top:72px;
    }

    .flc-footer-shell{
        width:min(100% - 28px, 100%);
    }

    .flc-footer-top{
        grid-template-columns:1fr;
        gap:34px;
    }

    .flc-footer-logo{
        width:116px;
    }

    .flc-footer-middle{
        margin-top:42px;
        padding:22px;
        flex-direction:column;
        align-items:flex-start;
    }

    .flc-footer-social{
        width:100%;
        flex-direction:column;
        align-items:flex-start;
        gap:12px;
    }

    .flc-social-links{
        width:100%;
        display:grid;
        grid-template-columns:repeat(4, 1fr);
    }

    .flc-social-links a{
        width:100%;
    }

    .flc-footer-areas{
        padding:22px;
        flex-direction:column;
        align-items:flex-start;
    }

    .flc-footer-areas div{
        justify-content:flex-start;
    }

    .flc-footer-bottom{
        margin-top:42px;
        flex-direction:column;
        align-items:flex-start;
    }
     .flc-reviews{
        padding:78px 0;
    }

    .flc-reviews-shell{
        width:min(100% - 28px, 100%);
    }

    .flc-reviews-kicker{
        font-size:.68rem;
        letter-spacing:.13em;
    }

    .flc-reviews-kicker::before{
        width:30px;
    }

    .flc-review-score-card{
        padding:26px 22px;
    }

    .flc-reviews-widget-toolbar{
        min-height:auto;
        padding:14px;
        align-items:flex-start;
        flex-direction:column;
    }

    .flc-reviews-widget-toolbar a{
        width:100%;
    }

    .flc-elfsight-box{
        padding:14px;
        min-height:430px;
    }

    .flc-elfsight-placeholder{
        min-height:400px;
    }

    .flc-review-cta-strip{
        padding:24px 22px;
        align-items:flex-start;
        flex-direction:column;
    }

    .flc-review-cta-actions{
        width:100%;
        display:grid;
        grid-template-columns:1fr;
    }

    .flc-review-secondary,
    .flc-review-phone{
        width:100%;
    }
     .flc-areas{
        padding:78px 0;
    }

    .flc-areas-shell{
        width:min(100% - 28px, 100%);
    }

    .flc-areas-kicker{
        font-size:.68rem;
        letter-spacing:.13em;
    }

    .flc-areas-kicker::before{
        width:30px;
    }

    .flc-areas-info{
        padding:26px 22px;
    }

    .flc-city-grid{
        grid-template-columns:1fr 1fr;
        gap:9px;
    }

    .flc-areas-map-wrap{
        min-height:500px;
    }

    .flc-map-toolbar{
        height:auto;
        min-height:64px;
        padding:14px;
        align-items:flex-start;
        flex-direction:column;
    }

    .flc-map-toolbar a{
        width:100%;
    }

    .flc-map-frame{
        height:420px;
        min-height:420px;
    }

    .flc-map-frame iframe{
        min-height:420px;
    }

    .flc-map-card{
        position:relative;
        left:auto;
        bottom:auto;
        width:100%;
        border-left:0;
        border-right:0;
        border-bottom:0;
        background:var(--flc-black);
        box-shadow:none;
    }
     .flc-services{
        padding:78px 0;
    }

    .flc-services-shell{
        width:min(100% - 28px, 100%);
    }

    .flc-services-kicker{
        font-size:.68rem;
        letter-spacing:.13em;
    }

    .flc-services-kicker::before{
        width:30px;
    }

    .flc-services-grid{
        grid-template-columns:1fr;
        gap:14px;
    }

    .flc-service-card{
        min-height:auto;
    }

    .flc-service-media{
        height:210px;
    }

    .flc-service-content{
        padding:24px 22px;
    }

    .flc-service-content h3{
        font-size:1.48rem;
    }
    .flc-confidence{
        padding:78px 0;
    }

    .flc-confidence-shell{
        width:min(100% - 28px, 100%);
    }

    .flc-confidence-kicker{
        font-size:.68rem;
        letter-spacing:.13em;
    }

    .flc-confidence-kicker::before{
        width:30px;
    }

    .flc-confidence-cards{
        grid-template-columns:1fr;
        gap:14px;
    }

    .flc-confidence-card{
        min-height:auto;
        padding:24px 22px;
    }

    .flc-confidence-main{
        min-height:auto;
        padding:26px 22px;
    }

    .flc-confidence-main p{
        margin:26px 0;
    }

    .flc-confidence-bottom{
        padding:24px 22px;
        flex-direction:column;
        align-items:flex-start;
    }

    .flc-confidence-bottom a,
    .flc-confidence-btn{
        width:100%;
    }
}

@media(max-width:640px){
    .flc-trust-section{
        padding:76px 0;
    }

    .flc-trust-container{
        width:min(100% - 28px, 100%);
    }

    .flc-trust-intro{
        margin-bottom:34px;
    }

    .flc-section-kicker{
        font-size:.68rem;
        letter-spacing:.13em;
    }

    .flc-section-kicker::before{
        width:30px;
    }

    .flc-trust-grid{
        grid-template-columns:1fr;
        gap:14px;
    }

    .flc-trust-card{
        min-height:auto;
        padding:24px 22px;
    }

    .flc-trust-icon{
        width:52px;
        height:52px;
        margin-bottom:20px;
    }

    .flc-trust-strip{
        margin-top:14px;
        padding:24px 22px;
        flex-direction:column;
        align-items:flex-start;
    }

    .flc-trust-strip a{
        width:100%;
    }
     .flc-hero{
        min-height:610px;
    }

    .flc-hero-inner{
        padding-top:calc(var(--nav-height-mobile) + 24px);
        padding-bottom:36px;
    }

    .flc-hero-label{
        margin-bottom:14px;
        font-size:.66rem;
        letter-spacing:.13em;
    }

    .flc-hero-label span{
        width:30px;
    }

    .flc-hero-title{
        font-size:clamp(2.55rem, 15vw, 4.05rem);
    }

    .flc-hero-copy{
        margin-top:18px;
        font-size:.92rem;
        line-height:1.58;
    }

    .flc-hero-actions{
        display:grid;
        grid-template-columns:1fr;
        gap:11px;
    }

    .flc-btn{
        width:100%;
        min-height:50px;
    }

    .flc-hero-meta{
        margin-top:22px;
        grid-template-columns:1fr;
        gap:11px;
    }

    .flc-hero-meta div::before{
        height:26px;
    }

    .flc-hero-bottom{
        display:none;
    }
}

@media(max-width:420px){
     .flc-city-grid{
        grid-template-columns:1fr;
    }

    .flc-map-frame,
    .flc-map-frame iframe{
        height:380px;
        min-height:380px;
    }
      .flc-service-media{
        height:190px;
    }

    .flc-service-tags span{
        font-size:.66rem;
    }
   .flc-nav-inner{
        width:min(100% - 20px, 100%);
        gap:8px;
    }

    .flc-menu-toggle{
        width:42px;
        height:42px;
    }

    .flc-brand{
        width:104px;
    }

    .flc-nav-cta{
        min-height:40px;
        padding:0 11px;
        font-size:.66rem;
    }

    .flc-hero{
        min-height:590px;
    }

    .flc-hero-title{
        font-size:2.55rem;
    }

    .flc-hero-copy{
        font-size:.88rem;
    }
}



@media(max-height:720px) and (min-width:981px){
    .flc-brand{
        width:82px;
    }

    .flc-hero-inner{
        padding-top:calc(var(--nav-height) + 14px);
        padding-bottom:42px;
    }

    .flc-hero-title{
        font-size:clamp(3.1rem, 6vw, 5.25rem);
    }

    .flc-hero-copy{
        margin-top:18px;
    }

    .flc-hero-actions{
        margin-top:24px;
    }

    .flc-hero-meta{
        margin-top:24px;
    }

    .flc-hero-visual{
        min-height:400px;
    }
}


@media(prefers-reduced-motion:reduce){
    *,
    *::before,
    *::after{
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        scroll-behavior:auto !important;
        transition-duration:.01ms !important;
    }
}



.flc-service-card.is-clicked{
    border-color:var(--flc-lawn-light);
    box-shadow:0 0 0 3px rgba(167,217,87,.24), 0 34px 90px rgba(0,0,0,.32);
}

.gallery-target-active{
    outline:3px solid rgba(116,168,40,.45);
    outline-offset:8px;
    transition:outline .35s var(--ease-smooth);
}


















body:not(.is-transitioning):not(.page-loaded) .page-transition{
    visibility:hidden;
    pointer-events:none;
}

body:not(.is-transitioning):not(.page-loaded) .transition-logo{
    opacity:0;
}

body:not(.is-transitioning):not(.page-loaded) .transition-bar{
    transform:scaleY(0);
}
















/* ================================
   MOBILE HERO FIX
   Paste at the very end of style.css
================================ */

@media(max-width:970px){

    .flc-hero{
        display:block !important;
        position:relative !important;
        height:auto !important;
        min-height:100svh !important;
        max-height:none !important;
        overflow:hidden !important;
        padding:0 !important;
        background:var(--flc-black) !important;
        color:var(--flc-white) !important;
    }

    .flc-hero-bg{
        position:absolute !important;
        inset:0 !important;
        z-index:0 !important;
        min-height:100% !important;
        transform:none !important;
        background:
            linear-gradient(
                90deg,
                rgba(5,6,5,.96) 0%,
                rgba(5,6,5,.86) 52%,
                rgba(5,6,5,.62) 100%
            ),
            linear-gradient(
                180deg,
                rgba(5,6,5,.32) 0%,
                rgba(5,6,5,.10) 42%,
                rgba(5,6,5,.86) 100%
            ),
            url("/img/lawncare/l\ \(1\).jpg") center center / cover no-repeat !important;
    }

    .flc-hero-bg::after{
        content:'';
        position:absolute;
        inset:0;
        background:
            linear-gradient(
                120deg,
                rgba(116,168,40,.22) 0%,
                transparent 36%,
                transparent 100%
            );
    }

    .flc-hero-inner{
        position:relative !important;
        z-index:2 !important;
        width:min(100% - 28px, 100%) !important;
        min-height:100svh !important;
        height:auto !important;
        margin-inline:auto !important;
        padding-top:calc(var(--nav-height-mobile) + 72px) !important;
        padding-bottom:62px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
    }

    .flc-hero-content{
        position:relative !important;
        z-index:3 !important;
        width:100% !important;
        max-width:620px !important;
        align-self:auto !important;
    }

    .flc-hero-visual{
        display:none !important;
    }

    .flc-hero-label{
        display:inline-flex !important;
        margin-bottom:14px !important;
        font-size:.68rem !important;
        letter-spacing:.13em !important;
        opacity:1;
        visibility:visible;
    }

    .flc-hero-label span{
        width:30px !important;
    }

    .flc-hero-title{
        display:block !important;
        color:var(--flc-white) !important;
        font-size:clamp(2.55rem, 12vw, 4.65rem) !important;
        line-height:.91 !important;
        letter-spacing:-.065em !important;
        margin:0 !important;
        opacity:1;
        visibility:visible;
    }

    .flc-hero-title > span{
        display:block !important;
        overflow:hidden !important;
    }

    .flc-hero-title > span > span{
        display:block !important;
    }

    .flc-hero-copy{
        display:block !important;
        max-width:560px !important;
        margin-top:18px !important;
        color:rgba(255,255,255,.78) !important;
        font-size:.94rem !important;
        line-height:1.58 !important;
        opacity:1;
        visibility:visible;
    }

    .flc-hero-actions{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:12px !important;
        margin-top:24px !important;
        opacity:1;
        visibility:visible;
    }

    .flc-btn{
        width:100% !important;
        min-height:48px !important;
        padding:0 16px !important;
        font-size:.78rem !important;
        text-align:center !important;
    }

    .flc-hero-meta{
        display:grid !important;
        grid-template-columns:repeat(3, 1fr) !important;
        gap:10px !important;
        margin-top:22px !important;
        opacity:1;
        visibility:visible;
    }

    .flc-hero-meta div{
        padding-left:12px !important;
    }

    .flc-hero-meta div::before{
        height:28px !important;
        width:2px !important;
    }

    .flc-hero-meta strong{
        font-size:.78rem !important;
    }

    .flc-hero-meta span{
        font-size:.64rem !important;
        line-height:1.25 !important;
    }

    .flc-hero-bottom{
        display:none !important;
    }
}

@media(max-width:520px){

    .flc-hero-inner{
        padding-top:calc(var(--nav-height-mobile) + 54px) !important;
        padding-bottom:44px !important;
        align-items:center !important;
    }

    .flc-hero-title{
        font-size:clamp(2.35rem, 12.8vw, 3.65rem) !important;
    }

    .flc-hero-copy{
        font-size:.88rem !important;
        line-height:1.5 !important;
    }

    .flc-hero-actions{
        grid-template-columns:1fr !important;
        margin-top:20px !important;
    }

    .flc-btn{
        min-height:46px !important;
    }

    .flc-hero-meta{
        grid-template-columns:1fr !important;
        gap:8px !important;
        margin-top:18px !important;
    }

    .flc-hero-meta div{
        padding-left:12px !important;
    }

    .flc-hero-meta strong{
        font-size:.76rem !important;
    }

    .flc-hero-meta span{
        font-size:.63rem !important;
    }
}

@media(max-width:380px){

    .flc-hero-inner{
        padding-top:calc(var(--nav-height-mobile) + 44px) !important;
    }

    .flc-hero-title{
        font-size:2.28rem !important;
    }

    .flc-hero-copy{
        font-size:.84rem !important;
    }

    .flc-hero-meta{
        display:none !important;
    }
}