:root{
  --moss:#315f47;
  --moss-dark:#0d3028;
  --river-deep:#2a6570;
  --river-soft:#b8d5cf;
  --gold-soft:#e8bd6b;
  --clay-soft:#ead8c9;
  --line-soft:rgba(22,49,39,.14);
  --shadow-soft:0 18px 45px rgba(19,61,50,.12);
}

body{
  background-image:
    radial-gradient(circle at 12% 8%, rgba(57,114,81,.07) 0 1px, transparent 1.5px),
    radial-gradient(circle at 82% 22%, rgba(189,93,53,.05) 0 1px, transparent 1.5px);
  background-size:26px 26px, 34px 34px;
}

.site-header,.hero{position:relative;isolation:isolate}
.site-header::after,.hero::after{content:"";position:absolute;inset:0 0 auto;height:100%;z-index:-1;pointer-events:none;opacity:.28;background:repeating-linear-gradient(126deg,transparent 0 46px,rgba(242,181,84,.13) 47px,transparent 48px 94px),radial-gradient(ellipse at 88% 18%,rgba(115,182,189,.22),transparent 34%);mask-image:linear-gradient(90deg,transparent 0,#000 20%,#000 80%,transparent 100%)}
.site-header .brand,.hero .brand{letter-spacing:.13em}
.site-nav nav a,.nav-button{transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease}
.site-nav nav a:hover{transform:translateY(-1px)}
.nav-button:hover{border-color:var(--sun);color:var(--sun);transform:translateY(-1px)}
.button{box-shadow:0 8px 20px rgba(8,37,29,.12);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.button:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(8,37,29,.2)}
.outline:hover{border-color:var(--sun);color:var(--sun);background:rgba(242,181,84,.09)}

.hero-grid{position:relative}
.hero-grid::before{content:"BOSQUE EN PIE";position:absolute;top:30px;right:0;color:rgba(242,181,84,.65);font-size:10px;letter-spacing:.22em;font-weight:800}
.hero-intro{max-width:575px}
.hero-art{box-shadow:25px 30px rgba(8,37,29,.3),inset 0 0 0 1px rgba(255,255,255,.1)}
.hero-art::after{content:"";position:absolute;inset:18px;border:1px solid rgba(242,181,84,.35);border-radius:52% 48% 40% 60%/58% 43% 57% 42%;pointer-events:none}
.hero-art p{z-index:5;left:18%;top:16%;max-width:58%;letter-spacing:.03em;text-shadow:0 2px 12px rgba(8,37,29,.25)}

.section.white,.content-section{position:relative}
.section.white::before,.content-section::before{content:"";display:block;width:72px;height:3px;margin-bottom:27px;background:linear-gradient(90deg,var(--clay),var(--sun))}
.product-card{position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.product-card::after{content:"";position:absolute;width:150px;height:150px;right:-70px;top:-70px;border:1px solid rgba(255,255,255,.24);border-radius:50%;box-shadow:0 0 0 18px rgba(255,255,255,.05),0 0 0 36px rgba(255,255,255,.04)}
.product-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-soft)}

.culture-strip{padding:102px 0;background:var(--paper);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.culture-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}
.culture-intro h2{max-width:510px;font-size:clamp(40px,5vw,62px)}
.culture-intro>p:last-child{max-width:470px;color:#5b665f;font-size:17px;line-height:1.65;margin-top:27px}
.culture-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.culture-note{min-height:245px;padding:23px 20px;border:1px solid var(--line-soft);background:#faf8f0;position:relative}
.culture-note::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--note-color,var(--moss))}
.culture-note:nth-child(2){--note-color:var(--clay)}
.culture-note:nth-child(3){--note-color:var(--river-deep)}
.culture-note span{font-size:11px;color:var(--note-color,var(--moss));font-weight:800;letter-spacing:.13em}
.culture-note h3{font-size:28px;margin:42px 0 11px}
.culture-note p{color:#66736a;font-size:13px;line-height:1.6;margin:0}

.territory{position:relative;overflow:hidden}
.territory::before{content:"";position:absolute;left:-80px;top:-75px;width:260px;height:260px;border:1px solid rgba(57,114,81,.22);border-radius:50%;box-shadow:0 0 0 24px rgba(57,114,81,.07),0 0 0 48px rgba(57,114,81,.05)}
.territory-art{box-shadow:var(--shadow-soft)}
.territory-art b{left:12%;bottom:18%;z-index:3;font-size:clamp(28px,4vw,40px);line-height:.86;text-shadow:0 2px 12px rgba(8,37,29,.25)}
.territory-art::after{content:"RÍO · BOSQUE · COMUNIDAD";position:absolute;right:28px;top:28px;color:rgba(255,255,255,.65);font-size:9px;letter-spacing:.18em;writing-mode:vertical-rl}
.contact-band{position:relative;overflow:hidden}
.contact-band::after{content:"";position:absolute;right:-80px;bottom:-145px;width:360px;height:360px;border:1px solid rgba(255,255,255,.26);border-radius:50%;box-shadow:0 0 0 30px rgba(255,255,255,.07),0 0 0 60px rgba(255,255,255,.05)}
.contact-band-grid{position:relative;z-index:1}

.inner-hero{position:relative;overflow:hidden}
.inner-hero::after{content:"";position:absolute;right:-55px;bottom:-130px;width:310px;height:310px;border:1px solid rgba(57,114,81,.22);border-radius:50%;box-shadow:0 0 0 22px rgba(57,114,81,.06),0 0 0 44px rgba(57,114,81,.04);pointer-events:none}
.inner-hero>p,.inner-hero>h1{position:relative;z-index:1}
.search{background:rgba(255,253,248,.5);padding:18px 0 25px}
.catalog-card{position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.catalog-card-image{width:calc(100% + 56px);height:150px;object-fit:cover;margin:-28px -28px 22px;filter:saturate(.92) contrast(.96);mix-blend-mode:screen;opacity:.86}
.catalog-card-image + span{position:relative}
.catalog-card::after{content:"";position:absolute;right:-55px;top:-55px;width:150px;height:150px;border:1px solid rgba(255,255,255,.2);border-radius:50%;box-shadow:0 0 0 20px rgba(255,255,255,.05)}
.catalog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft)}
.org-grid article{transition:background .2s ease,padding .2s ease}
.org-grid article:hover{background:rgba(255,253,248,.7)}
.publication-card{transition:transform .25s ease,box-shadow .25s ease}
.publication-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft)}
.site-footer{border-top:1px solid var(--line-soft)}
.site-footer .brand-mark{background:var(--forest);color:var(--paper)}

@media(max-width:900px){.culture-grid{grid-template-columns:1fr;gap:42px}}
@media(max-width:760px){.hero-grid::before{top:12px;right:auto;left:0}.hero-art p{left:19%;top:17%;max-width:62%;font-size:16px}.territory-art b{left:14%;bottom:18%;font-size:34px}.culture-strip{padding:72px 0}.culture-notes{grid-template-columns:1fr}.culture-note{min-height:0}.culture-note h3{margin-top:24px}.inner-hero::after{right:-115px}}
