:root{
  --forest:#3E7C34;        /* verde botánico profundo — cliente */
  --forest-deep:#2C5324;   /* verde casi negro */
  --moss:#5A7A4E;          /* verde musgo medio */
  --sage:#8FA97E;          /* salvia clara */
  --leaf:#B7CBA4;          /* hoja tierna */
  --beige:#F5F0E8;         /* beige — cliente */
  --beige-deep:#EBE3D4;
  --sand:#E3D8C3;
  --clay:#B07B54;          /* terracota / tiesto */
  --clay-soft:#D6B294;
  --bloom:#D98BA0;         /* flor rosada acento */
  --ink:#20261C;
  --muted:#5F6656;
  --line:#DDD4C2;
  --white:#FFFDF8;
  --shadow:0 26px 64px -32px rgba(30,61,27,.5);
  --shadow-soft:0 14px 42px -26px rgba(30,61,27,.4);
  --font-display:'Fraunces',Georgia,serif;
  --font-script:'Cormorant Garamond',Georgia,serif;
  --font-body:'Jost',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--ink);background:var(--beige);line-height:1.75;font-weight:300;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;line-height:1.04;letter-spacing:-.012em;color:var(--forest-deep)}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
section{position:relative}
::selection{background:var(--forest);color:var(--beige)}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;transition:none}*{animation:none!important}}

.wrap{max-width:1260px;margin:0 auto;padding:0 2rem}
.eyebrow{font-family:var(--font-body);font-weight:500;font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:var(--moss);display:inline-flex;align-items:center;gap:.7rem}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--clay)}
.eyebrow.c::before{display:none}
.script{font-family:var(--font-script);font-style:italic;color:var(--clay);font-weight:500}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font-family:var(--font-body);font-weight:500;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;padding:1.05rem 2rem;border-radius:100px;cursor:pointer;border:1px solid transparent;transition:.3s;line-height:1;min-height:48px}
.btn svg{width:16px;height:16px}
.btn-primary{background:var(--forest);color:var(--beige)}
.btn-primary:hover{background:var(--forest-deep);transform:translateY(-2px);box-shadow:var(--shadow-soft)}
.btn-ghost{background:transparent;color:var(--forest-deep);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--forest);background:var(--white)}
.btn-clay{background:var(--clay);color:var(--white)}
.btn-clay:hover{background:#9a663f;transform:translateY(-2px)}

/* ===== CONTACT BAR ===== */
.topbar{background:var(--forest-deep);color:var(--beige)}
.topbar .static{display:flex;justify-content:center;align-items:center;gap:2.6rem;padding:.62rem 2rem;font-size:.78rem;letter-spacing:.03em;font-weight:400}
.topbar .static a,.topbar .static span{color:var(--beige);display:inline-flex;align-items:center;gap:.45rem;opacity:.9}
.topbar .static a:hover{opacity:1}
.topbar svg{width:14px;height:14px;stroke:var(--leaf)}
.ticker-wrap{display:none;overflow:hidden;white-space:nowrap}
.ticker{display:inline-flex;align-items:center;animation:ticker 28s linear infinite;padding:.6rem 0}
.ticker .ticker-dup{display:inline-flex;align-items:center;gap:.4rem;margin:0 1.5rem;font-size:.78rem;color:var(--beige);opacity:.95}
.ticker svg{width:13px;height:13px;stroke:var(--leaf)}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ===== NAV ===== */
header.site{position:sticky;top:0;z-index:60}
.nav{background:rgba(245,240,232,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;padding:.85rem 2rem;max-width:1260px;margin:0 auto}
.brand{display:flex;align-items:center;gap:.75rem}
.brand img{width:52px;height:52px;border-radius:50%;object-fit:cover;box-shadow:var(--shadow-soft);background:var(--white)}
.brand .fallmark{width:50px;height:50px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--sage),var(--forest) 72%);display:none;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--shadow-soft)}
.brand .fallmark svg{width:26px;height:26px;stroke:var(--beige);fill:none}
.brand .bt strong{display:block;font-family:var(--font-display);font-weight:600;font-size:1.32rem;color:var(--forest-deep);letter-spacing:-.01em;line-height:1}
.brand .bt span{font-family:var(--font-body);font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:var(--moss)}
.menu{display:flex;align-items:center;gap:2rem}
.menu a{font-size:.77rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);position:relative;transition:.25s}
.menu a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--clay);transition:.3s}
.menu a:hover{color:var(--forest-deep)}.menu a:hover::after{width:100%}
.menu a.active{color:var(--forest-deep)}.menu a.active::after{width:100%}
.nav-cta{display:flex;align-items:center;gap:1rem}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
.burger span{width:24px;height:2px;background:var(--forest-deep);transition:.3s;border-radius:2px}

/* ===== HERO ===== */
.hero{padding:4rem 0 4.5rem;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:
   radial-gradient(760px 540px at 84% 6%,rgba(176,123,84,.16),transparent 60%),
   radial-gradient(680px 560px at 6% 94%,rgba(90,122,78,.26),transparent 62%);
   pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:3.6rem;align-items:center;position:relative}
.hero-copy .eyebrow{margin-bottom:1.6rem}
.hero h1{font-size:clamp(2.9rem,6.4vw,5.3rem);letter-spacing:-.028em}
.hero h1 em{font-family:var(--font-script);font-style:italic;color:var(--clay);font-weight:500}
.hero-sub{font-size:1.12rem;color:var(--muted);max-width:31rem;margin:1.7rem 0 2.2rem;font-weight:300;line-height:1.72}
.hero-cta{display:flex;gap:.9rem;flex-wrap:wrap}
.hero-trust{display:flex;gap:2.4rem;margin-top:2.6rem;padding-top:1.9rem;border-top:1px solid var(--line)}
.hero-trust .t strong{display:block;font-family:var(--font-display);font-size:1.85rem;color:var(--forest);font-weight:600;line-height:1}
.hero-trust .t span{font-size:.7rem;letter-spacing:.05em;color:var(--muted);text-transform:uppercase}

/* ===== HERO GLASSHOUSE (CSS/SVG botanical — sin stock) ===== */
.glasshouse{position:relative;aspect-ratio:4/5;border-radius:260px 260px 28px 28px;overflow:hidden;
   background:linear-gradient(165deg,#3a5f30,#1e3d1b 78%);box-shadow:var(--shadow)}
.glasshouse .glass{position:absolute;inset:0;background:
   repeating-linear-gradient(90deg,rgba(245,240,232,.06) 0 1px,transparent 1px 84px),
   repeating-linear-gradient(0deg,rgba(245,240,232,.05) 0 1px,transparent 1px 120px);pointer-events:none}
.glasshouse .sun{position:absolute;width:200px;height:200px;left:56%;top:8%;border-radius:50%;
   background:radial-gradient(circle,rgba(214,178,148,.5),transparent 68%);filter:blur(6px)}
.glasshouse svg.flora{position:absolute;inset:0;width:100%;height:100%}
.leaf-sway{transform-origin:bottom center;animation:sway 8s ease-in-out infinite}
.leaf-sway.b{animation-duration:10s;animation-delay:-2s}
.leaf-sway.c{animation-duration:11s;animation-delay:-4s}
@keyframes sway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
.gh-badge{position:absolute;background:var(--white);border-radius:16px;padding:.85rem 1.1rem;box-shadow:var(--shadow-soft);display:flex;align-items:center;gap:.7rem;max-width:220px}
.gh-badge .ic{width:40px;height:40px;border-radius:12px;background:var(--leaf);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.gh-badge .ic svg{width:20px;height:20px;stroke:var(--forest-deep);fill:none}
.gh-badge strong{display:block;font-family:var(--font-display);color:var(--forest-deep);font-size:.94rem;font-weight:600;line-height:1.15}
.gh-badge span{font-size:.72rem;color:var(--muted)}
.gh-badge.one{left:-20px;bottom:30px}
.gh-badge.two{right:-16px;top:26px}
.gh-badge.two .ic{background:var(--clay-soft)}
.gh-badge.two .ic svg{stroke:var(--clay)}

/* ===== MARQUEE STRIP ===== */
.strip{background:var(--forest-deep);color:var(--beige);overflow:hidden;padding:1.05rem 0}
.strip-track{display:inline-flex;white-space:nowrap;animation:ticker 36s linear infinite}
.strip-track span{font-family:var(--font-script);font-style:italic;font-size:1.5rem;margin:0 2.2rem;opacity:.92;display:inline-flex;align-items:center;gap:2.2rem}
.strip-track span::after{content:"❦";color:var(--clay-soft);font-style:normal;font-size:1rem}

/* ===== SECTION BASE ===== */
.sec{padding:6rem 0}
.sec-head{max-width:46rem;margin-bottom:3.4rem}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-head h2{font-size:clamp(2.1rem,4.2vw,3.4rem);margin:1.1rem 0 1rem}
.sec-head h2 em{font-family:var(--font-script);font-style:italic;color:var(--clay)}
.sec-head p{color:var(--muted);font-size:1.05rem;font-weight:300}

/* ===== COLECCION (diferencial) ===== */
.coleccion{background:linear-gradient(180deg,var(--beige),var(--beige-deep))}
.col-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.plant{position:relative;border-radius:20px;overflow:hidden;min-height:380px;display:flex;flex-direction:column;justify-content:flex-end;padding:1.7rem;color:var(--white);box-shadow:var(--shadow-soft);transition:.45s cubic-bezier(.2,.7,.2,1)}
.plant:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.plant .art{position:absolute;inset:0;z-index:0}
.plant .art svg{width:100%;height:100%}
.plant::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 34%,rgba(20,38,17,.72));z-index:1}
.plant .tag{position:absolute;top:1.1rem;left:1.1rem;z-index:2;background:rgba(245,240,232,.92);color:var(--forest-deep);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:.34rem .8rem;border-radius:100px}
.plant .in{position:relative;z-index:2}
.plant h3{color:var(--white);font-size:1.5rem;margin-bottom:.35rem}
.plant p{font-size:.9rem;opacity:.9;font-weight:300;line-height:1.55}
.plant .price{margin-top:.9rem;font-family:var(--font-body);font-weight:500;font-size:.82rem;letter-spacing:.05em;display:inline-flex;align-items:center;gap:.5rem}
.plant .price em{font-style:normal;color:var(--leaf)}

/* backgrounds botánicos por planta */
.bg-monstera{background:linear-gradient(160deg,#2f5a2a,#173416)}
.bg-tropical{background:linear-gradient(160deg,#3d6b34,#204021)}
.bg-suculenta{background:linear-gradient(160deg,#5a7150,#31402b)}
.bg-interior{background:linear-gradient(160deg,#417039,#1f3c1c)}
.bg-colgante{background:linear-gradient(160deg,#4a7040,#26401f)}
.bg-rara{background:linear-gradient(160deg,#274d24,#0f2a10)}

/* ===== ROBERTO / FILOSOFIA ===== */
.filo{background:var(--forest-deep);color:var(--beige)}
.filo h2,.filo h3{color:var(--beige)}
.filo-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:4rem;align-items:center}
.filo-portrait{aspect-ratio:1;border-radius:24px;position:relative;overflow:hidden;box-shadow:var(--shadow);background:linear-gradient(150deg,#3d6b34,#1e3d1b)}
.filo-portrait .init{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:clamp(5rem,13vw,9.5rem);color:rgba(245,240,232,.92);font-weight:600}
.filo-portrait svg.flora{position:absolute;inset:0;opacity:.4}
.filo-portrait .pill{position:absolute;bottom:20px;left:20px;background:var(--beige);border-radius:100px;padding:.5rem 1.1rem;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--forest);font-weight:600}
.filo-txt .eyebrow{color:var(--leaf)}.filo-txt .eyebrow::before{background:var(--clay-soft)}
.filo-txt h2{font-size:clamp(2rem,3.8vw,3.1rem);margin:1rem 0 1.3rem}
.filo-txt h2 em{font-family:var(--font-script);font-style:italic;color:var(--clay-soft)}
.filo-txt p{color:rgba(245,240,232,.82);font-size:1.06rem;margin-bottom:1.1rem;font-weight:300}
.filo-txt .sign{font-family:var(--font-script);font-style:italic;font-size:2.1rem;color:var(--clay-soft);margin-top:1.2rem}
.filo-list{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.6rem}
.filo-list span{background:rgba(245,240,232,.08);border:1px solid rgba(245,240,232,.2);border-radius:100px;padding:.5rem 1.05rem;font-size:.78rem;color:var(--beige);letter-spacing:.02em}

/* ===== SERVICIOS ===== */
.servicios{background:var(--beige)}
.serv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.serv{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:2.1rem 1.9rem;transition:.35s}
.serv:hover{border-color:var(--sage);transform:translateY(-4px);box-shadow:var(--shadow-soft)}
.serv .ic{width:52px;height:52px;border-radius:15px;background:var(--beige-deep);display:flex;align-items:center;justify-content:center;margin-bottom:1.2rem}
.serv .ic svg{width:26px;height:26px;stroke:var(--forest);fill:none;stroke-width:1.6}
.serv h3{font-size:1.35rem;margin-bottom:.55rem}
.serv p{color:var(--muted);font-size:.96rem;font-weight:300}

/* ===== EXTERIORES (transformación) ===== */
.ext{background:var(--forest-deep);color:var(--beige);overflow:hidden}
.ext .sec-head h2{color:var(--beige)}.ext .sec-head p{color:rgba(245,240,232,.75)}
.ext .sec-head .eyebrow{color:var(--leaf)}.ext .sec-head .eyebrow::before{background:var(--clay-soft)}
.ext-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem}
.ext-card{position:relative;border-radius:22px;overflow:hidden;min-height:320px;display:flex;flex-direction:column;justify-content:flex-end;padding:2rem;box-shadow:var(--shadow-soft)}
.ext-card .art{position:absolute;inset:0;z-index:0}
.ext-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(15,30,12,.8));z-index:1}
.ext-card .in{position:relative;z-index:2}
.ext-card h3{color:var(--white);font-size:1.6rem;margin-bottom:.4rem}
.ext-card p{color:rgba(245,240,232,.85);font-size:.95rem;font-weight:300}
.ext-a{background:linear-gradient(150deg,#4a7040,#1e3d1b)}
.ext-b{background:linear-gradient(150deg,#3a5f30,#173416)}
.ext-c{background:linear-gradient(150deg,#5a7150,#2f4a28)}
.ext-d{background:linear-gradient(150deg,#417039,#1a3618)}

/* ===== PROCESO ===== */
.proceso{background:var(--beige-deep)}
.step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.step{position:relative;padding-top:1rem}
.step .n{font-family:var(--font-display);font-size:3.2rem;color:var(--leaf);font-weight:600;line-height:1;margin-bottom:.6rem}
.step h3{font-size:1.2rem;margin-bottom:.5rem}
.step p{color:var(--muted);font-size:.92rem;font-weight:300}

/* ===== STATS ===== */
.stats{background:var(--forest);color:var(--beige)}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center}
.stat strong{display:block;font-family:var(--font-display);font-size:clamp(2.6rem,5vw,3.8rem);font-weight:600;line-height:1;color:var(--beige)}
.stat .lb{font-size:.86rem;letter-spacing:.04em;margin-top:.6rem;color:var(--leaf);font-weight:500}
.stat .dt{font-size:.78rem;color:rgba(245,240,232,.65);margin-top:.4rem;font-weight:300;line-height:1.5}

/* ===== TESTIMONIO placeholder transparente ===== */
.testi{background:var(--beige)}
.testi-card{max-width:720px;margin:0 auto;text-align:center;background:var(--white);border:1px dashed var(--sage);border-radius:24px;padding:3rem 2.4rem;box-shadow:var(--shadow-soft)}
.testi-card .q{font-family:var(--font-script);font-style:italic;font-size:clamp(1.5rem,3vw,2rem);color:var(--forest-deep);line-height:1.4;margin-bottom:1.4rem}
.testi-card p{color:var(--muted);font-size:.98rem;font-weight:300;margin-bottom:1.6rem}
.testi-card .stars{color:var(--clay);letter-spacing:.2em;font-size:1.1rem;margin-bottom:1rem}

/* ===== FAQ ===== */
.faqs{background:var(--beige-deep)}
.faq{border-bottom:1px solid var(--line)}
.faq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:1.5rem 0;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;font-family:var(--font-display);font-size:1.15rem;color:var(--forest-deep);font-weight:500}
.faq-q .pl{flex-shrink:0;width:26px;height:26px;position:relative;transition:.3s}
.faq-q .pl::before,.faq-q .pl::after{content:"";position:absolute;background:var(--clay);top:50%;left:50%;transform:translate(-50%,-50%)}
.faq-q .pl::before{width:14px;height:2px}.faq-q .pl::after{width:2px;height:14px;transition:.3s}
.faq.open .pl::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-a p{color:var(--muted);font-size:.98rem;font-weight:300;padding-bottom:1.5rem;max-width:46rem}

/* ===== CTA BAND ===== */
.cta-band{background:linear-gradient(135deg,var(--forest),var(--forest-deep));color:var(--beige);text-align:center;padding:5.5rem 0}
.cta-band h2{color:var(--beige);font-size:clamp(2.2rem,4.5vw,3.4rem);margin-bottom:1rem}
.cta-band h2 em{font-family:var(--font-script);font-style:italic;color:var(--clay-soft)}
.cta-band p{color:rgba(245,240,232,.82);font-size:1.1rem;max-width:36rem;margin:0 auto 2.2rem;font-weight:300}
.cta-band .btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* ===== INTERNAL PAGE HEADER ===== */
.pagehead{background:linear-gradient(160deg,var(--forest-deep),#173416);color:var(--beige);padding:4rem 0 3.5rem;text-align:center}
.pagehead .eyebrow{color:var(--leaf);justify-content:center}.pagehead .eyebrow::before{background:var(--clay-soft)}
.pagehead h1{color:var(--beige);font-size:clamp(2.4rem,5vw,3.8rem);margin:1rem 0 .8rem}
.pagehead h1 em{font-family:var(--font-script);font-style:italic;color:var(--clay-soft)}
.pagehead p{color:rgba(245,240,232,.8);max-width:38rem;margin:0 auto;font-weight:300}

/* ===== CONTACT FORM ===== */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
form#contact-form{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:2.4rem}
form#contact-form label{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 .4rem;font-weight:500}
form#contact-form input,form#contact-form textarea,form#contact-form select{width:100%;padding:.9rem 1rem;border:1px solid var(--line);border-radius:12px;font-family:var(--font-body);font-size:1rem;background:var(--beige);color:var(--ink);margin-bottom:1.2rem;font-weight:300}
form#contact-form input:focus,form#contact-form textarea:focus,form#contact-form select:focus{outline:none;border-color:var(--forest)}
form#contact-form button{width:100%}
.contact-info{padding-top:.5rem}
.contact-info h3{font-size:1.6rem;margin-bottom:1rem}
.contact-info .row{display:flex;gap:.9rem;align-items:flex-start;margin-bottom:1.3rem}
.contact-info .row .ic{width:44px;height:44px;border-radius:12px;background:var(--beige-deep);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact-info .row .ic svg{width:20px;height:20px;stroke:var(--forest);fill:none}
.contact-info .row strong{display:block;color:var(--forest-deep);font-family:var(--font-display);font-weight:600}
.contact-info .row span{color:var(--muted);font-size:.95rem}

/* ===== FOOTER ===== */
footer{background:var(--forest-deep);color:var(--beige);padding:4.5rem 0 2rem}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:2.5rem;padding-bottom:2.6rem;border-bottom:1px solid rgba(245,240,232,.15)}
.foot-brand .brand{margin-bottom:1.2rem}
.foot-brand .brand .bt strong{color:var(--beige)}.foot-brand .brand .bt span{color:var(--leaf)}
.foot-brand p{color:rgba(245,240,232,.72);font-size:.92rem;font-weight:300;max-width:26rem}
.foot-social{display:flex;gap:.7rem;margin-top:1.3rem}
.foot-social a{width:38px;height:38px;border-radius:10px;background:rgba(245,240,232,.08);display:flex;align-items:center;justify-content:center;transition:.3s}
.foot-social a:hover{background:var(--clay)}
.foot-social svg{width:18px;height:18px;stroke:var(--beige);fill:none}
.foot-col h4{color:var(--leaf);font-family:var(--font-body);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;margin-bottom:1.2rem}
.foot-col a,.foot-col p{display:block;color:rgba(245,240,232,.72);font-size:.92rem;font-weight:300;margin-bottom:.7rem;transition:.25s}
.foot-col a:hover{color:var(--clay-soft)}
.foot-bottom{padding-top:1.8rem;text-align:center;color:rgba(245,240,232,.55);font-size:.82rem;font-weight:300}
.foot-bottom a{color:var(--leaf)}

/* ===== WHATSAPP FLOAT + MOBILE CTA ===== */
.wa-float{position:fixed;right:20px;bottom:84px;z-index:80;width:56px;height:56px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px -8px rgba(37,211,102,.6);transition:.3s}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:30px;height:30px;fill:var(--white)}
.mobile-cta{display:none;position:fixed;left:0;right:0;bottom:0;z-index:75;background:rgba(30,61,27,.97);backdrop-filter:blur(8px);padding:.7rem .9rem;gap:.7rem;border-top:1px solid rgba(245,240,232,.15)}
.mobile-cta .btn{flex:1;padding:.85rem 1rem;font-size:.74rem}

/* ===== RESPONSIVE ===== */
@media (max-width:980px){
  .hero-grid,.filo-grid,.contact-grid{grid-template-columns:1fr;gap:2.4rem}
  .filo-portrait{max-width:420px;margin:0 auto}
  .col-grid,.serv-grid,.step-grid{grid-template-columns:repeat(2,1fr)}
  .ext-grid{grid-template-columns:1fr}
  .stat-grid{grid-template-columns:repeat(2,1fr);gap:2.4rem}
  .foot-grid{grid-template-columns:1fr 1fr;gap:2rem}
}
@media (max-width:768px){
  .wrap{padding:0 1.2rem}
  .topbar .static{display:none}
  .ticker-wrap{display:block}
  .menu{position:fixed;inset:0 0 0 auto;width:min(80vw,320px);background:var(--beige);flex-direction:column;justify-content:center;gap:1.6rem;transform:translateX(100%);transition:.35s;box-shadow:var(--shadow);padding:2rem}
  .menu.open{transform:none}
  .menu a{font-size:1rem}
  .burger{display:flex}
  .nav-cta .btn{display:none}
  .sec{padding:4rem 0}
  .hero{padding:2.5rem 0 3rem}
  .hero-trust{gap:1.4rem;flex-wrap:wrap}
  .glasshouse{max-width:400px;margin:0 auto;border-radius:180px 180px 22px 22px}
  .gh-badge.one{left:0}.gh-badge.two{right:0}
  .col-grid,.serv-grid,.step-grid,.stat-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr;gap:2rem;text-align:center}
  .foot-brand .brand,.foot-social{justify-content:center}
  .foot-social{justify-content:center}
  .mobile-cta{display:flex}
  .wa-float{bottom:76px}
  body{padding-bottom:64px}
  .cta-band .btns{flex-direction:column}
  .cta-band .btns .btn{width:100%}
}
@media (max-width:480px){
  .hero h1{font-size:clamp(2.4rem,10vw,3rem)}
}

/* ============================ TIENDA / SHOP (Osyris ecommerce) ============================ */
.nav-cart{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--forest-deep);transition:.25s}
.nav-cart:hover{color:var(--clay)}
.nav-cart svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8}
.cart-badge{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--clay);color:#fff;font-family:var(--font-body);font-size:.66rem;font-weight:600;display:none;align-items:center;justify-content:center;line-height:1}

.shop{background:var(--beige);padding:3.4rem 0 5rem}
.shop-filters{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-bottom:2.8rem}
.shop-filters button{font-family:var(--font-body);font-weight:500;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;padding:.6rem 1.2rem;border-radius:100px;border:1px solid var(--line);background:var(--white);color:var(--muted);cursor:pointer;transition:.25s}
.shop-filters button:hover{border-color:var(--sage);color:var(--forest-deep)}
.shop-filters button.active{background:var(--forest);border-color:var(--forest);color:var(--beige)}
.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem}
.pcard{background:var(--white);border:1px solid var(--line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;transition:.35s cubic-bezier(.2,.7,.2,1)}
.pcard:hover{transform:translateY(-6px);box-shadow:var(--shadow-soft);border-color:var(--sage)}
.pcard .ph{aspect-ratio:4/5;overflow:hidden;background:var(--beige-deep);position:relative}
.pcard .ph img{width:100%;height:100%;object-fit:cover;transition:.6s}
.pcard:hover .ph img{transform:scale(1.05)}
.pcard .ph .cat-tag{position:absolute;top:.9rem;left:.9rem;background:rgba(245,240,232,.92);color:var(--forest-deep);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;padding:.32rem .75rem;border-radius:100px}
.pcard .body{padding:1.4rem 1.4rem 1.6rem;display:flex;flex-direction:column;flex:1}
.pcard h3{font-size:1.28rem;margin-bottom:.4rem}
.pcard .desc{color:var(--muted);font-size:.9rem;font-weight:300;line-height:1.5;margin-bottom:1rem;flex:1}
.pcard .price{font-family:var(--font-body);font-weight:600;font-size:1.02rem;color:var(--forest);margin-bottom:1rem}
.pcard .price .iva{display:block;font-size:.68rem;font-weight:400;color:var(--muted);letter-spacing:.02em;margin-top:.15rem}
.pcard .price.quote{color:var(--clay)}
.pcard .actions{display:flex;gap:.6rem}
.pcard .actions .btn{flex:1;padding:.8rem 1rem;font-size:.72rem}
.shop-empty{text-align:center;padding:4rem 0;color:var(--muted)}

/* ===== PDP ===== */
.pdp{background:var(--beige);padding:3rem 0 5rem}
.pdp-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.4rem;align-items:start}
.pdp-media{border-radius:24px;overflow:hidden;background:var(--beige-deep);box-shadow:var(--shadow-soft);aspect-ratio:4/5}
.pdp-media img{width:100%;height:100%;object-fit:cover}
.pdp-info .eyebrow{margin-bottom:1rem}
.pdp-info h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:1rem}
.pdp-info .pdp-price{font-family:var(--font-body);font-weight:600;font-size:1.5rem;color:var(--forest);margin:1.2rem 0}
.pdp-info .pdp-price.quote{color:var(--clay)}
.pdp-info .pdp-price .iva{display:block;font-size:.8rem;font-weight:400;color:var(--muted);margin-top:.2rem}
.pdp-info .pdp-desc{color:var(--muted);font-size:1.04rem;font-weight:300;line-height:1.75;margin-bottom:1.8rem}
.pdp-qty{display:flex;align-items:center;gap:1rem;margin-bottom:1.6rem}
.pdp-qty .qbtn{width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:var(--white);cursor:pointer;font-size:1.3rem;color:var(--forest-deep);display:flex;align-items:center;justify-content:center}
.pdp-qty input{width:56px;text-align:center;font-family:var(--font-body);font-size:1.1rem;font-weight:600;border:1px solid var(--line);border-radius:12px;padding:.7rem 0;background:var(--white);color:var(--ink)}
.pdp-cta{display:flex;gap:.9rem;flex-wrap:wrap}
.pdp-note{margin-top:1.6rem;padding-top:1.4rem;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem;font-weight:300;display:flex;flex-direction:column;gap:.5rem}
.pdp-note span{display:inline-flex;align-items:center;gap:.5rem}
.pdp-note svg{width:16px;height:16px;stroke:var(--moss);fill:none;flex-shrink:0}

/* ===== CART / CHECKOUT ===== */
.cartsec{background:var(--beige);padding:3rem 0 5rem;min-height:52vh}
#cart-page a[href],#checkout-form label{font-family:var(--font-body)}
.co-grid{display:grid;grid-template-columns:1fr 400px;gap:3rem;align-items:start}
.co-form{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:2.2rem}
.co-form h2{font-size:1.5rem;margin-bottom:1.4rem}
.co-form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.co-form label{display:block;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 .35rem;font-weight:500}
.co-form input,.co-form textarea{width:100%;padding:.85rem 1rem;border:1px solid var(--line);border-radius:12px;font-family:var(--font-body);font-size:1rem;background:var(--beige);color:var(--ink);margin-bottom:1rem;font-weight:300}
.co-form input:focus,.co-form textarea:focus{outline:none;border-color:var(--forest)}
.co-summary{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:2rem;position:sticky;top:110px}
.co-summary h2{font-size:1.35rem;margin-bottom:1.2rem}
.co-line{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;font-size:.92rem;color:var(--muted);border-bottom:1px solid var(--line)}
.co-line:last-of-type{border:none}
.co-total{display:flex;justify-content:space-between;padding:1.1rem 0 0;margin-top:.5rem;border-top:2px solid var(--forest-deep);font-family:var(--font-display);font-size:1.3rem;font-weight:600;color:var(--forest-deep)}
.co-form button[type=submit]{width:100%;margin-top:.6rem}
.co-legal{font-size:.76rem;color:var(--muted);font-weight:300;text-align:center;margin-top:1rem;line-height:1.5}
.co-msg{max-width:640px;margin:0 auto;text-align:center;background:var(--white);border:1px solid var(--line);border-radius:24px;padding:3rem 2.4rem;box-shadow:var(--shadow-soft)}
.co-msg svg{width:56px;height:56px;margin:0 auto 1.2rem;display:block;stroke:var(--moss);fill:none}
.co-msg.err svg{stroke:var(--clay)}
.co-msg h2{font-size:1.9rem;margin-bottom:.8rem}
.co-msg p{color:var(--muted);font-weight:300;margin-bottom:1.6rem;line-height:1.7}
.co-msg .btns{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}

@media (max-width:900px){.co-grid{grid-template-columns:1fr;gap:2rem}.co-summary{position:static}.pdp-grid{grid-template-columns:1fr;gap:2.2rem}}
@media (max-width:768px){.prod-grid{grid-template-columns:1fr}.co-form .row{grid-template-columns:1fr}}
@media (max-width:980px){.prod-grid{grid-template-columns:repeat(2,1fr)}}
