:root{
  --verde-bosco:#15362C;
  --arancio-bruciato:#D35400;
  --sabbia:#F4EFE6;
  --pietra:#6B6A66;
  --antracite:#0B0E0C;
  --oro:#C8A24A;

  --green: var(--verde-bosco);
  --terracotta: var(--arancio-bruciato);
  --sand: var(--sabbia);
  --ivory:#FFFDF9;
  --charcoal: var(--antracite);
  --stone: var(--pietra);

  --text: var(--antracite);
  --muted: rgba(11,14,12,.72);
  --line: rgba(11,14,12,.12);

  --radius: 18px;
  --radius-lg: 26px;

  --shadow: 0 18px 46px rgba(11,14,12,.14);
  --shadow-soft: 0 10px 28px rgba(11,14,12,.10);

  --max: 1200px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color: var(--text);
  background: var(--ivory);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background: rgba(211,84,0,.22)}

.container{max-width:var(--max);margin:0 auto;padding:0 18px}
.section{padding:clamp(56px, 7vw, 70px) 0}
.section-tight{padding:clamp(42px, 5vw, 54px) 0}
.section-gap{margin-top:22px}
.section-gap-sm{margin-top:16px}
.inline-actions{margin-top:18px;display:flex;flex-wrap:wrap;gap:12px}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:14px;
  padding:7px 12px;
  border-radius:999px;
  background: rgba(255,255,255,.7);
  border:1px solid rgba(21,54,44,.10);
  color: var(--green);
  font-size:.8rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
h1,h2,h3{letter-spacing:-.03em}
h2{
  font-size: clamp(1.35rem, 1.05rem + 1vw, 1.8rem);
  color: var(--green);
  margin-bottom: 14px;
}
.section-intro{
  max-width: 820px;
  color: var(--muted);
  margin-bottom: 26px;
  font-size: 1.02rem;
}

.bg-sand{
  background:
    radial-gradient(900px 500px at 20% 0%, rgba(211,84,0,.10), transparent 60%),
    radial-gradient(900px 520px at 85% 25%, rgba(21,54,44,.12), transparent 62%),
    linear-gradient(180deg, var(--sand), var(--ivory));
}
.bg-charcoal{
  color: rgba(255,255,255,.94);
  background:
    radial-gradient(1000px 520px at 15% 0%, rgba(211,84,0,.24), transparent 60%),
    radial-gradient(1000px 560px at 90% 20%, rgba(156,178,156,.18), transparent 65%),
    linear-gradient(180deg, #1b1b1b, #141414);
}
.bg-charcoal h2{color: rgba(255,255,255,.92)}
.bg-charcoal .section-intro{color: rgba(255,255,255,.78)}

header{
  position: sticky;
  top:0;
  z-index: 100;
  backdrop-filter: blur(12px);
  background: rgba(251,247,240,.88);
  border-bottom: 1px solid rgba(0,0,0,.10);
}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0}
.logo{display:flex;align-items:center;gap:12px;min-width:0;max-width:calc(100% - 72px)}
.logo-image{
  display:block;
  width:min(100%, 420px);
  height:auto;
  max-height:62px;
  object-fit:contain;
}
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
}
.logo-symbol{
  width:38px;height:38px;border-radius:14px;
  background:
    linear-gradient(135deg, rgba(31,77,55,1), rgba(21,54,44,.7)),
    linear-gradient(135deg, rgba(211,84,0,.95), rgba(211,84,0,.65));
  box-shadow: 0 14px 34px rgba(21,54,44,.22);
  position: relative;
  overflow:hidden;
}
.logo-symbol:after{
  content:"";
  position:absolute;inset:-40%;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.35), transparent 55%);
  transform: rotate(18deg);
}
.logo-text{font-weight:900;color:var(--green);font-size:1.08rem;line-height:1.1}

nav{display:none}
.nav-links{display:flex;gap:16px;align-items:center;font-size:.93rem}
.nav-links a{
  padding:9px 12px;border-radius:999px;
  transition: transform .15s ease, background .2s ease, border-color .2s ease;
  border:1px solid transparent;
}
.nav-links a:hover{background: rgba(21,54,44,.08);transform: translateY(-1px)}
.nav-links a.active{background: rgba(211,84,0,.12);border-color: rgba(211,84,0,.22)}

.nav-toggle{
  background: rgba(255,255,255,.65);
  border: 1px solid rgba(0,0,0,.15);
  border-radius: 14px;
  padding: 10px 12px;
  display:flex;flex-direction:column;gap:4px;cursor:pointer;
}
.nav-toggle span{width:18px;height:2px;background: var(--text)}
.nav-mobile{display:none;background: rgba(251,247,240,.92);border-top:1px solid rgba(0,0,0,.08)}
.nav-mobile.open{display:block}
.nav-mobile-links{display:flex;flex-direction:column;gap:8px;padding:12px 18px 18px}
.nav-mobile-links a{padding:10px 12px;border-radius:14px}
.nav-mobile-links a:hover{background: rgba(21,54,44,.08)}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:12px 18px;
  border-radius:999px;
  border:1px solid transparent;
  font-weight:750;
  letter-spacing:-.01em;
  cursor:pointer;
  transition: transform .15s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
  user-select:none;
  text-align:center;
}
.btn:active{transform: translateY(1px)}
.btn-primary{
  background: var(--green);
  color: rgba(255,255,255,.96);
  box-shadow: 0 14px 34px rgba(21,54,44,.22);
}
.btn-primary:hover{box-shadow: 0 18px 40px rgba(21,54,44,.24)}
.btn-accent{
  background: var(--terracotta);
  color: rgba(255,255,255,.96);
  box-shadow: 0 14px 34px rgba(211,84,0,.26);
}
.btn-accent:hover{box-shadow: 0 18px 40px rgba(211,84,0,.25)}
.btn-ghost{
  background: rgba(255,255,255,.72);
  border-color: rgba(11,14,12,.16);
}
.btn-ghost:hover{background: rgba(255,255,255,.82);border-color: rgba(0,0,0,.18)}
.btn-secondary{
  background: rgba(255,255,255,.12);
  color: rgba(255,255,255,.96);
  border-color: rgba(255,255,255,.22);
}
.btn-secondary:hover{background: rgba(255,255,255,.18)}

.hero{
  padding:clamp(52px, 8vw, 78px) 0 clamp(46px, 7vw, 64px);
  background:
    radial-gradient(1200px 600px at 15% 10%, rgba(211,84,0,.14), transparent 60%),
    radial-gradient(1200px 640px at 88% 12%, rgba(21,54,44,.16), transparent 62%),
    linear-gradient(180deg, var(--sand), var(--ivory));
  border-bottom:1px solid rgba(0,0,0,.10);
}
.hero-grid{display:grid;grid-template-columns:1fr;gap:22px;align-items:center}
.hero h1{
  font-size: clamp(2rem, 1.3rem + 2.3vw, 3.1rem);
  color: var(--green);
  line-height: 1.08;
  margin-bottom: 12px;
}
.hero-subtitle{
  margin-top:8px;
  margin-bottom:10px;
  color:var(--green);
  font-size:clamp(1.05rem, .9rem + .6vw, 1.25rem);
}
.hero p{
  color: var(--muted);
  font-size: clamp(1rem, .98rem + .22vw, 1.08rem);
  max-width: 820px;
}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.hero-points{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin-top:20px;
}
.point-card{
  padding:14px 15px;
  border-radius:18px;
  background: rgba(255,255,255,.62);
  border:1px solid rgba(0,0,0,.08);
  box-shadow: var(--shadow-soft);
}
.point-card strong{
  display:block;
  margin-bottom:4px;
  color: var(--green);
}
.point-card span{
  display:block;
  color: var(--muted);
  font-size:.95rem;
}

.fusion-card{
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.10);
  box-shadow: var(--shadow-soft);
  background: rgba(255,255,255,.65);
}
.fusion-top{display:flex;gap:10px;padding:14px 14px 0;flex-wrap:wrap}
.chip{
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 12px;border-radius:999px;
  background: rgba(255,255,255,.75);
  border:1px solid rgba(0,0,0,.08);
  font-size:.86rem;
  color: rgba(31,31,31,.80);
}
.dot{width:9px;height:9px;border-radius:999px;background:var(--terracotta);display:inline-block}
.dot.gold{background:var(--oro)}
.dot.green{background:var(--green)}
.fusion-media{padding:14px}
.media-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.media-photo{
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.08);
  box-shadow: var(--shadow-soft);
}
.media-photo img{
  width:100%;
  aspect-ratio: 16 / 11;
  object-fit: cover;
}
.media{
  border-radius:16px;
  min-height:180px;
  border:1px dashed rgba(0,0,0,.18);
  background:
    linear-gradient(180deg, rgba(255,255,255,.55), rgba(243,236,225,.55)),
    radial-gradient(500px 260px at 30% 10%, rgba(211,84,0,.14), transparent 60%),
    radial-gradient(500px 260px at 90% 30%, rgba(21,54,44,.12), transparent 60%);
  display:flex;align-items:flex-end;justify-content:space-between;
  padding:12px;
  color: rgba(31,31,31,.78);
  font-weight:750;
}
.media small{font-weight:600;opacity:.8}
.fusion-caption{
  padding:0 14px 14px;
  color: rgba(31,31,31,.70);
  font-size:.92rem;
}

.divider{
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(11,14,12,.12), transparent);
}
.split-intro{
  display:grid;
  gap:14px;
  align-items:end;
}
.editorial-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}
.feature-panel{
  border-radius: var(--radius-lg);
  padding:22px;
  border:1px solid rgba(0,0,0,.08);
  background:
    radial-gradient(800px 240px at 15% 0%, rgba(211,84,0,.08), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.72));
  box-shadow: var(--shadow-soft);
}
.feature-panel h3{
  font-size:1.2rem;
  margin-bottom:8px;
}
.feature-panel p{color:var(--muted)}

.grid-3{display:grid;grid-template-columns:1fr;gap:16px}
.grid-2{display:grid;grid-template-columns:1fr;gap:16px}
.block{
  border-radius: var(--radius-lg);
  padding:18px;
  border:1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.70);
  box-shadow: var(--shadow-soft);
}
.block h3{font-size:1.08rem;margin-bottom:8px}
.block p{color:var(--muted)}
.block.dark{
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.10);
}
.block.dark p{color: rgba(255,255,255,.82)}

.pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
  padding:7px 11px;
  border-radius:999px;
  background: rgba(21,54,44,.08);
  border:1px solid rgba(21,54,44,.10);
  color: var(--green);
  font-size:.82rem;
  font-weight:700;
}
.bg-charcoal .pill{
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.12);
  color: rgba(255,255,255,.92);
}
.mini{
  width:8px;
  height:8px;
  border-radius:999px;
  display:inline-block;
  background: currentColor;
}

.badge-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.tag{
  display:inline-flex;align-items:center;
  padding:6px 12px;border-radius:999px;
  font-size:.82rem;
  border:1px solid rgba(0,0,0,.10);
  background: rgba(255,255,255,.70);
}
.tag.orange{border-color: rgba(211,84,0,.22);background: rgba(211,84,0,.10);color:#7b3a15}
.tag.green{border-color: rgba(21,54,44,.22);background: rgba(21,54,44,.10);color:#113124}

.card{
  border-radius: var(--radius-lg);
  overflow:hidden;
  border:1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.78);
  box-shadow: var(--shadow-soft);
  transition: transform .18s ease, box-shadow .25s ease;
  height:100%;
}
.card:hover{transform: translateY(-2px);box-shadow: var(--shadow)}
.card .thumb{
  height:170px;
  background:
    linear-gradient(180deg, rgba(0,0,0,.0), rgba(0,0,0,.04)),
    radial-gradient(900px 380px at 20% 15%, rgba(211,84,0,.20), transparent 60%),
    radial-gradient(900px 380px at 85% 10%, rgba(21,54,44,.16), transparent 62%);
}
.thumb-photo{
  width:100%;
  height:170px;
  object-fit:cover;
}
.card .body{padding:16px;display:flex;flex-direction:column;gap:10px;min-height:100%}
.card h3{font-size:1.08rem;margin-bottom:8px}
.card p{color:var(--muted);font-size:.96rem}
.meta{color: rgba(31,31,31,.70);font-size:.88rem;margin:8px 0 10px}
.process-strip{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin-top:22px;
}
.process-step{
  padding:16px;
  border-radius:20px;
  background: rgba(255,255,255,.72);
  border:1px solid rgba(0,0,0,.08);
}
.process-step span{
  display:inline-flex;
  margin-bottom:8px;
  color: var(--terracotta);
  font-weight:900;
  font-size:.84rem;
  letter-spacing:.08em;
}
.process-step strong{
  display:block;
  margin-bottom:5px;
  color: var(--green);
}
.process-step p{color:var(--muted);font-size:.94rem}

.page-hero{
  padding:clamp(42px, 7vw, 56px) 0 clamp(34px, 5vw, 46px);
  background:
    radial-gradient(1000px 520px at 18% 0%, rgba(211,84,0,.16), transparent 60%),
    radial-gradient(1000px 560px at 90% 20%, rgba(21,54,44,.14), transparent 65%),
    linear-gradient(180deg, var(--sand), var(--ivory));
  border-bottom:1px solid rgba(0,0,0,.10);
}
.page-hero h1{
  font-size: clamp(1.85rem, 1.25rem + 1.9vw, 2.4rem);
  color: var(--green);
  margin-bottom:10px;
}
.page-hero p{color:var(--muted);max-width:900px}
.page-hero-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
  align-items:center;
}
.page-visual{
  margin-top:20px;
  border-radius:20px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.08);
  box-shadow: var(--shadow-soft);
}
.page-visual img{
  width:100%;
  aspect-ratio: 16 / 8;
  max-height:420px;
  object-fit:cover;
}

.filters{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 22px}
.filter-btn{
  padding:10px 14px;border-radius:999px;
  background: rgba(255,255,255,.7);
  border:1px solid rgba(0,0,0,.12);
  cursor:pointer;
  font-weight:750;
  transition: background .2s ease, transform .15s ease, border-color .2s ease;
}
.filter-btn:hover{background: rgba(21,54,44,.08);border-color: rgba(21,54,44,.22)}
.filter-btn.active{background: rgba(211,84,0,.10);border-color: rgba(211,84,0,.25)}

.contact-grid{display:grid;grid-template-columns:1fr;gap:16px}
.contact-details a{text-decoration:underline;text-decoration-thickness:1px}
.form-card{
  border-radius: var(--radius-lg);
  padding:18px;
  background: rgba(255,255,255,.80);
  border:1px solid rgba(0,0,0,.10);
  box-shadow: var(--shadow-soft);
}
form{display:grid;gap:12px}
label{font-size:.88rem;color: rgba(31,31,31,.84);font-weight:700}
input,select,textarea{
  width:100%;
  padding:11px 12px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.16);
  background: rgba(255,255,255,.86);
  outline:none;
  font-size:.98rem;
}
input:focus,select:focus,textarea:focus{border-color: rgba(21,54,44,.45);box-shadow: 0 0 0 4px rgba(21,54,44,.10)}
textarea{min-height:120px;resize:vertical}
.small{font-size:.82rem;color: rgba(31,31,31,.68)}
.conditional-field[hidden]{display:none!important}
.field-note{margin-top:6px}
.form-actions{display:flex;flex-wrap:wrap;gap:12px}

.hero-badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}
.badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background: rgba(255,255,255,.72);
  border:1px solid rgba(0,0,0,.08);
  font-size:.9rem;
}

.cta-band{
  border-radius: var(--radius-lg);
  padding:18px;
  background:
    radial-gradient(900px 420px at 20% 0%, rgba(211,84,0,.25), transparent 60%),
    radial-gradient(900px 460px at 90% 20%, rgba(21,54,44,.22), transparent 65%),
    linear-gradient(180deg, rgba(21,54,44,.98), rgba(20,20,20,.98));
  color: rgba(255,255,255,.93);
  box-shadow: var(--shadow);
  border:1px solid rgba(255,255,255,.10);
}
.cta-band p{opacity:.9;margin-top:8px}
.cta-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}

.legal-content{
  display:grid;
  gap:14px;
}
.legal-content p{max-width:900px;color:var(--muted)}

footer{
  background:#121212;
  color: rgba(255,255,255,.90);
  padding:26px 0;
  margin-top:24px;
}
.footer-inner{display:flex;flex-direction:column;gap:10px}
footer a{color: rgba(243,236,225,.92);text-decoration:underline;text-decoration-thickness:1px}
.footer-note{color: rgba(255,255,255,.88)}

@media (max-width: 859px){
  .inline-actions,
  .hero-actions,
  .cta-actions,
  .form-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .inline-actions .btn,
  .hero-actions .btn,
  .cta-actions .btn,
  .form-actions .btn{
    width:100%;
  }

  .page-visual img{
    aspect-ratio: 4 / 3;
  }
}

@media (max-width: 639px){
  .container{padding:0 16px}
  .topbar{gap:10px;padding:12px 0}
  .logo{max-width:calc(100% - 62px)}
  .logo-image{max-height:52px}
  .hero-grid{gap:18px}
  .fusion-top{gap:8px}
  .chip{font-size:.8rem;padding:6px 10px}
  .block,
  .form-card,
  .cta-band{
    padding:16px;
  }
  .page-visual{
    border-radius:18px;
  }
  .page-visual img{
    max-height:none;
  }
  .footer-inner{
    align-items:flex-start;
  }
}

@media (min-width: 640px) and (max-width: 859px){
  .hero-grid{gap:24px}
  .grid-2{grid-template-columns:repeat(2,1fr)}
  .hero-points,
  .editorial-grid,
  .process-strip{grid-template-columns:repeat(2,1fr)}
  .page-visual img{
    aspect-ratio: 16 / 9;
  }
}

@media (min-width: 860px){
  nav{display:block}
  .nav-toggle{display:none}
  .hero-grid{grid-template-columns:1.2fr .8fr;gap:26px}
  .grid-3{grid-template-columns:repeat(3,1fr)}
  .grid-2{grid-template-columns:repeat(2,1fr)}
  .contact-grid{grid-template-columns:1.05fr 1.2fr;align-items:start}
  .footer-inner{flex-direction:row;justify-content:space-between;align-items:center}
  .media{min-height:210px}
  .card .body{padding:18px}
  .split-intro{grid-template-columns:minmax(280px,.7fr) minmax(0,1fr)}
  .editorial-grid{grid-template-columns:repeat(2,1fr)}
  .process-strip{grid-template-columns:repeat(4,1fr)}
  .page-hero-layout{grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr)}
  .page-visual{margin-top:0}
}

@media (min-width: 860px) and (max-width: 1099px){
  .hero-grid{grid-template-columns:1fr}
  .page-visual img{
    aspect-ratio: 16 / 8;
  }
}

@media (min-width: 1100px){
  .hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)}
}

#bg-canvas{
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  pointer-events: none;
  opacity: .55;
}
@media (prefers-reduced-motion: reduce){
  #bg-canvas{display:none}
  html{scroll-behavior:auto}
}
