/* Woodlands Landscaping: example site for a Zaleeka demonstration.
   Everything is scoped under .wl so the theme's base styles never leak in or out. */

.wl{
  --pine:#1D3A2A; --pine-deep:#122619; --moss:#6D8E4E; --moss-soft:#DCE6CF;
  --clay:#C96A2B; --clay-soft:#F3DCCB; --sand:#F5EFE3; --cream:#FBF8F1;
  --ink:#1A1D18; --stone:#6B6F66; --line:#E4DDCF; --white:#FFFFFF;
  --display:'Young Serif',Georgia,'Iowan Old Style',serif;
  --body:Figtree,'Helvetica Neue',Arial,sans-serif;
  --r:18px; --r-lg:28px; --wrap:1180px;
  --shadow:0 24px 48px -28px rgba(18,38,25,.45);
  font-family:var(--body); color:var(--ink); background:var(--cream);
  line-height:1.55; font-size:17px; -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
.wl *,.wl *::before,.wl *::after{box-sizing:border-box}
.wl h1,.wl h2,.wl h3,.wl h4,.wl p,.wl ul,.wl ol,.wl figure{margin:0}
.wl ul,.wl ol{padding:0;list-style:none}
.wl img{display:block;max-width:100%;height:auto}
.wl a{color:inherit;text-decoration:none}
.wl button{font:inherit;cursor:pointer}
.wl .wrap{width:min(var(--wrap),calc(100% - 2.5rem));margin-inline:auto}
.wl h1,.wl h2,.wl h3{font-family:var(--display);font-weight:400;letter-spacing:-.01em;color:var(--pine);line-height:1.08}
.wl h2{font-size:clamp(2rem,1.3rem + 2.6vw,3.25rem)}
.wl h3{font-size:1.25rem;line-height:1.25}
.wl em{font-style:italic;color:var(--clay)}
.wl .eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--moss)}
.wl .eyebrow::before{content:"";width:28px;height:2px;background:var(--clay);border-radius:2px}
.wl .lede{font-size:1.125rem;color:var(--stone);max-width:60ch}
.wl .sec{padding-block:clamp(4rem,8vw,7rem)}
.wl .sec-head{display:grid;gap:1rem;max-width:62ch;margin-bottom:clamp(2rem,4vw,3.5rem)}
.wl .sec-head--row{max-width:none;grid-template-columns:1fr auto;align-items:end}
@media (max-width:760px){.wl .sec-head--row{grid-template-columns:1fr}}

/* buttons */
.wl .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.9rem 1.5rem;border-radius:999px;border:2px solid transparent;font-weight:700;font-size:.98rem;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;white-space:nowrap}
.wl .btn:hover{transform:translateY(-2px)}
.wl .btn--clay{background:var(--clay);color:var(--white);box-shadow:0 14px 28px -14px rgba(201,106,43,.9)}
.wl .btn--clay:hover{background:#B55B22}
.wl .btn--pine{background:var(--pine);color:var(--sand)}
.wl .btn--pine:hover{background:var(--pine-deep)}
.wl .btn--ghost{border-color:currentColor;color:var(--pine);background:transparent}
.wl .btn--ghost:hover{background:rgba(29,58,42,.06)}
.wl .btn--light{border-color:rgba(245,239,227,.5);color:var(--sand)}
.wl .btn--light:hover{background:rgba(245,239,227,.12)}
.wl .btn--sm{padding:.6rem 1.05rem;font-size:.9rem}
.wl .btn svg{width:18px;height:18px}

/* demo ribbon */
.wl-demo{background:var(--ink);color:#D9D6CB;font-size:.8rem;text-align:center;padding:.5rem 1rem;letter-spacing:.02em}
.wl-demo strong{color:#F5EFE3}

/* top bar + header */
.wl-top{background:var(--pine-deep);color:#C9D4C1;font-size:.86rem}
.wl-top .wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:40px}
.wl-top a{color:var(--sand);font-weight:700}
.wl-top span+span::before{content:"·";margin:0 .6rem;opacity:.5}
@media (max-width:640px){.wl-top .wl-top__area{display:none}}
.wl-head{position:sticky;top:0;z-index:40;background:rgba(251,248,241,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.wl-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:84px}
.wl-logo img{height:44px;width:auto}
.wl-nav{display:flex;gap:1.6rem;font-weight:600;font-size:.95rem;color:var(--pine)}
.wl-nav a{position:relative;padding-block:.25rem}
.wl-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;background:var(--clay);transition:right .2s ease}
.wl-nav a:hover::after{right:0}
.wl-head__cta{display:flex;gap:.6rem;align-items:center}
@media (max-width:980px){.wl-nav{display:none}}
@media (max-width:560px){.wl-head__cta .btn--ghost{display:none}}

/* hero */
.wl-hero{position:relative;background:var(--pine-deep);color:var(--sand);isolation:isolate;overflow:hidden}
.wl-hero__img{position:absolute;inset:0;z-index:-2}
.wl-hero__img img{width:100%;height:100%;object-fit:cover;object-position:center 60%;filter:saturate(1.05)}
.wl-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(18,38,25,.94) 0%,rgba(18,38,25,.78) 45%,rgba(18,38,25,.25) 100%)}
.wl-hero .wrap{display:grid;gap:2.5rem;padding-block:clamp(5rem,11vw,9rem) clamp(5rem,10vw,8rem);grid-template-columns:minmax(0,1fr)}
.wl-hero h1{color:var(--sand);font-size:clamp(2.6rem,1.4rem + 5.2vw,5.4rem);max-width:13ch;line-height:1.02}
.wl-hero h1 em{color:#E8A061}
.wl-hero .eyebrow{color:#B9CFA3}
.wl-hero .lede{color:#D7DCCF;font-size:1.15rem;margin-top:1.25rem}
.wl-hero__acts{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.wl-rise{opacity:0;transform:translateY(16px);animation:wl-rise .7s cubic-bezier(.2,.7,.2,1) forwards}
.wl-rise:nth-child(2){animation-delay:.1s}.wl-rise:nth-child(3){animation-delay:.2s}.wl-rise:nth-child(4){animation-delay:.3s}
@keyframes wl-rise{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.wl-rise{animation:none;opacity:1;transform:none}}

/* trust strip */
.wl-trust{background:var(--sand);border-bottom:1px solid var(--line)}
.wl-trust .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding-block:1.4rem}
.wl-trust strong{display:block;font-family:var(--display);font-weight:400;font-size:1.15rem;color:var(--pine)}
.wl-trust span{font-size:.9rem;color:var(--stone)}
@media (max-width:760px){.wl-trust .wrap{grid-template-columns:repeat(2,1fr)}}

/* intro */
.wl-intro .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:center}
@media (max-width:900px){.wl-intro .wrap{grid-template-columns:1fr}}
.wl-intro p+p{margin-top:1rem}
.wl-intro__fig{position:relative}
.wl-intro__fig img{border-radius:var(--r-lg);aspect-ratio:4/5;object-fit:cover;box-shadow:var(--shadow)}
.wl-quote{position:absolute;left:-1.5rem;bottom:2rem;background:var(--clay);color:var(--white);padding:1.1rem 1.3rem;border-radius:var(--r);max-width:280px;box-shadow:var(--shadow)}
.wl-quote p{font-family:var(--display);font-size:1.2rem;line-height:1.3}
.wl-quote small{display:block;margin-top:.5rem;font-size:.8rem;opacity:.85}
@media (max-width:900px){.wl-quote{left:1rem;right:1rem;max-width:none}}

/* services */
.wl-services{background:var(--sand)}
.wl-grid{display:grid;gap:1.4rem;grid-template-columns:repeat(4,1fr)}
@media (max-width:1100px){.wl-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:820px){.wl-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.wl-grid{grid-template-columns:1fr}}
.wl-card{background:var(--white);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}
.wl-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.wl-card img{aspect-ratio:4/3;object-fit:cover}
.wl-card__body{padding:1.2rem 1.25rem 1.4rem;display:grid;gap:.5rem}
.wl-card p{font-size:.95rem;color:var(--stone)}
.wl-card__more{margin-top:.4rem;font-weight:700;color:var(--clay);font-size:.9rem}

/* feature: heat ready */
.wl-feature{background:var(--pine);color:var(--sand)}
.wl-feature .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,5rem);align-items:center}
@media (max-width:900px){.wl-feature .wrap{grid-template-columns:1fr}}
.wl-feature h2,.wl-feature h3{color:var(--sand)}
.wl-feature .eyebrow{color:#B9CFA3}
.wl-feature .lede{color:#D7DCCF}
.wl-feature__list{display:grid;gap:.9rem;margin-top:1.6rem}
.wl-feature__list li{display:flex;gap:.8rem;align-items:flex-start}
.wl-feature__list svg{flex:none;width:22px;height:22px;color:#E8A061;margin-top:.15rem}
.wl-mosaic{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:1fr 1fr;gap:.8rem;height:min(520px,70vw)}
.wl-mosaic img{width:100%;height:100%;object-fit:cover;border-radius:var(--r)}
.wl-mosaic img:first-child{grid-row:1/3}

/* plans */
.wl-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;align-items:stretch}
@media (max-width:900px){.wl-plans{grid-template-columns:1fr}}
.wl-plan{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.8rem;display:flex;flex-direction:column;gap:1rem}
.wl-plan--hot{background:var(--pine-deep);color:var(--sand);border-color:transparent;box-shadow:var(--shadow)}
.wl-plan--hot h3{color:var(--sand)}
.wl-plan__flag{position:absolute;top:-.8rem;left:1.6rem;background:var(--clay);color:var(--white);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.35rem .8rem;border-radius:999px}
.wl-plan__freq{font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--moss)}
.wl-plan--hot .wl-plan__freq{color:#B9CFA3}
.wl-plan p{color:var(--stone);font-size:.95rem}
.wl-plan--hot p{color:#C9D4C1}
.wl-plan ul{display:grid;gap:.55rem;margin-top:.4rem;font-size:.95rem}
.wl-plan li{display:flex;gap:.6rem;align-items:flex-start}
.wl-plan li::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:var(--clay);margin-top:.5rem}
.wl-plan .btn{margin-top:auto}

/* steps */
.wl-steps{counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
@media (max-width:900px){.wl-steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.wl-steps{grid-template-columns:1fr}}
.wl-step{counter-increment:step;padding:1.6rem;border-radius:var(--r-lg);background:var(--white);border:1px solid var(--line)}
.wl-step::before{content:counter(step,decimal-leading-zero);display:block;font-family:var(--display);font-size:2.4rem;color:var(--clay);line-height:1;margin-bottom:.8rem}
.wl-step p{color:var(--stone);font-size:.95rem;margin-top:.4rem}

/* gallery */
.wl-gallery{background:var(--sand)}
.wl-masonry{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:220px;gap:.9rem}
.wl-masonry img{width:100%;height:100%;object-fit:cover;border-radius:var(--r)}
.wl-masonry img:nth-child(1){grid-row:span 2}
.wl-masonry img:nth-child(4){grid-column:span 2}
@media (max-width:760px){.wl-masonry{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}.wl-masonry img:nth-child(4){grid-column:auto}}

/* areas */
.wl-areas .wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,5rem);align-items:start}
@media (max-width:900px){.wl-areas .wrap{grid-template-columns:1fr}}
.wl-chips{display:flex;flex-wrap:wrap;gap:.6rem}
.wl-chips li{padding:.65rem 1rem;border-radius:999px;background:var(--moss-soft);color:var(--pine);font-weight:600;font-size:.95rem}
.wl-chips li.is-home{background:var(--pine);color:var(--sand)}

/* faq */
.wl-faq{display:grid;gap:.8rem;max-width:820px}
.wl-faq details{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.25rem}
.wl-faq summary{cursor:pointer;font-weight:700;color:var(--pine);list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.wl-faq summary::-webkit-details-marker{display:none}
.wl-faq summary::after{content:"+";font-family:var(--display);font-size:1.4rem;color:var(--clay);transition:transform .2s}
.wl-faq details[open] summary::after{transform:rotate(45deg)}
.wl-faq details p{margin-top:.7rem;color:var(--stone);font-size:.97rem}

/* quote */
.wl-quote-sec{background:var(--pine-deep);color:var(--sand)}
.wl-quote-sec .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:start}
@media (max-width:900px){.wl-quote-sec .wrap{grid-template-columns:1fr}}
.wl-quote-sec h2{color:var(--sand)}
.wl-quote-sec .eyebrow{color:#B9CFA3}
.wl-quote-sec .lede{color:#D7DCCF}
.wl-quote-sec ul{display:grid;gap:.6rem;margin-top:1.4rem;color:#D7DCCF}
.wl-quote-sec li{display:flex;gap:.6rem;align-items:center}
.wl-quote-sec li::before{content:"";width:10px;height:10px;border-radius:50%;background:#E8A061}
.wl-talk{margin-top:2rem;padding:1.4rem;border-radius:var(--r-lg);background:rgba(245,239,227,.08);border:1px solid rgba(245,239,227,.18)}
.wl-talk h3{color:var(--sand);font-size:1.15rem}
.wl-talk p{color:#C9D4C1;font-size:.95rem;margin-top:.3rem}
.wl-talk .btn{margin-top:.9rem}
.wl-form{background:var(--cream);color:var(--ink);border-radius:var(--r-lg);padding:1.8rem;display:grid;gap:1rem;box-shadow:var(--shadow)}
.wl-form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:560px){.wl-form .row{grid-template-columns:1fr}}
.wl-form label{display:grid;gap:.35rem;font-size:.88rem;font-weight:700;color:var(--pine)}
.wl-form input,.wl-form select,.wl-form textarea{font:inherit;padding:.8rem .95rem;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);width:100%}
.wl-form textarea{min-height:110px;resize:vertical}
.wl-form input:focus,.wl-form select:focus,.wl-form textarea:focus{outline:2px solid var(--moss);outline-offset:1px;border-color:var(--moss)}
.wl-form small{color:var(--stone);font-size:.82rem}

/* footer */
.wl-foot{background:var(--ink);color:#C9CDC2;padding-block:3.5rem 2rem;font-size:.95rem}
.wl-foot .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem}
@media (max-width:900px){.wl-foot .wrap{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.wl-foot .wrap{grid-template-columns:1fr}}
.wl-foot img{height:40px;width:auto;margin-bottom:1rem}
.wl-foot h4{color:var(--sand);font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.9rem}
.wl-foot li+li{margin-top:.45rem}
.wl-foot a:hover{color:var(--white)}
.wl-foot__legal{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:1.4rem;margin-top:1rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem;font-size:.85rem;color:#9AA094}
.wl-foot__legal a{color:#C9CDC2}

