/* ===================================================
   Luluvo Zijilu — Line Art Minimal
   =================================================== */

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

:root{
  --lzi-bg: #f7f3ec;
  --lzi-bg-alt: #efe8da;
  --lzi-surface: #fffdf9;
  --lzi-ink: #29241f;
  --lzi-ink-soft: #5b5248;
  --lzi-ink-faint: #8a8074;

  --lzi-primary: #b1502f;
  --lzi-primary-dark: #8a3c22;
  --lzi-secondary: #5b6a4d;
  --lzi-accent: #c79a4c;

  --lzi-line: #d9cfbd;
  --lzi-line-strong: #b7a98d;

  --lzi-radius-sm: 4px;
  --lzi-radius-md: 12px;
  --lzi-radius-lg: 24px;
  --lzi-radius-xl: 40px;

  --lzi-shadow-sm: 0 1px 2px rgba(41,36,31,0.06);
  --lzi-shadow-md: 0 4px 10px rgba(41,36,31,0.06), 0 1px 3px rgba(41,36,31,0.08);
  --lzi-shadow-lg: 0 20px 40px -14px rgba(41,36,31,0.18), 0 4px 10px rgba(41,36,31,0.08);

  --lzi-ease: cubic-bezier(.4,0,.2,1);
  --lzi-font: 'Work Sans', sans-serif;
}

html{ scroll-behavior: smooth; }

body{
  margin:0;
  font-family: var(--lzi-font);
  background: var(--lzi-bg);
  color: var(--lzi-ink);
  line-height: 1.65;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

h1,h2,h3,h4{
  font-family: var(--lzi-font);
  font-weight: 600;
  color: var(--lzi-ink);
  line-height: 1.2;
  margin: 0 0 0.6em;
}

h1{ font-size: clamp(2.1rem, 4.6vw, 3.6rem); font-weight: 700; letter-spacing: -0.01em; }
h2{ font-size: clamp(1.6rem, 3vw, 2.5rem); }
h3{ font-size: clamp(1.15rem, 1.6vw, 1.4rem); }

p{ margin: 0 0 1em; color: var(--lzi-ink-soft); }

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

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

ul{ margin:0; padding:0; list-style:none; }

.lzi-container{
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: clamp(1.25rem, 4vw, 2.5rem);
}

.lzi-eyebrow{
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--lzi-primary);
  margin-bottom: 0.9em;
  display:inline-block;
  padding-bottom: 6px;
  border-block-end: 1px solid var(--lzi-line-strong);
}


.lzi-btn-fill, .lzi-btn-line{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5em;
  padding: 0.85em 1.7em;
  font-family: var(--lzi-font);
  font-weight: 600;
  font-size: 0.95rem;
  border-radius: var(--lzi-radius-sm);
  cursor:pointer;
  transition: all .3s var(--lzi-ease);
  min-height: 46px;
  white-space: nowrap;
}
.lzi-btn-fill{
  background: var(--lzi-ink);
  color: var(--lzi-bg);
  border: 1px solid var(--lzi-ink);
}
.lzi-btn-fill:hover{
  background: var(--lzi-primary);
  border-color: var(--lzi-primary);
  transform: translateY(-2px);
  box-shadow: var(--lzi-shadow-md);
}
.lzi-btn-line{
  background: transparent;
  color: var(--lzi-ink);
  border: 1px solid var(--lzi-ink);
}
.lzi-btn-line:hover{
  border-color: var(--lzi-primary);
  color: var(--lzi-primary);
  transform: translateY(-2px);
}
.lzi-btn-block{ width:100%; }


.lzi-header{
  position: fixed;
  inset-block-start: 0;
  inset-inline: 0;
  z-index: 500;
  background: color-mix(in srgb, var(--lzi-bg) 88%, transparent);
  backdrop-filter: blur(8px);
  border-block-end: 1px solid transparent;
  transition: padding .35s var(--lzi-ease), background .35s var(--lzi-ease), border-color .35s var(--lzi-ease);
  padding-block: 1.6rem;
}
.lzi-header.lzi-scrolled{
  padding-block: 0.7rem;
  background: color-mix(in srgb, var(--lzi-bg) 97%, transparent);
  border-block-end: 1px solid var(--lzi-line);
  box-shadow: var(--lzi-shadow-sm);
}
.lzi-nav-inner{
  max-width: 1240px;
  margin-inline: auto;
  padding-inline: clamp(1.25rem, 4vw, 2.5rem);
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.lzi-logo{
  display:flex;
  align-items:center;
  gap:0.6em;
}
.lzi-logo-mark{
  width: 40px; height:40px;
  transition: width .35s var(--lzi-ease), height .35s var(--lzi-ease);
}
.lzi-header.lzi-scrolled .lzi-logo-mark{ width: 30px; height:30px; }
.lzi-logo-text{
  font-weight: 700;
  font-size: 1.15rem;
  letter-spacing: -0.01em;
  color: var(--lzi-ink);
}
.lzi-logo-text em{ font-style: normal; color: var(--lzi-primary); }

.lzi-nav-desktop ul{ display:flex; align-items:center; gap: 2.1rem; }
.lzi-nav-desktop a{
  font-size: 0.95rem;
  font-weight: 500;
  position: relative;
  padding-block: 0.3em;
}
.lzi-nav-desktop > ul > li > a::after{
  content:"";
  position:absolute;
  inset-block-end: 0;
  inset-inline-start: 0;
  width:0%;
  height:1px;
  background: var(--lzi-primary);
  transition: width .3s var(--lzi-ease);
}
.lzi-nav-desktop > ul > li > a:hover::after,
.lzi-nav-desktop > ul > li > a.lzi-active::after{ width:100%; }
.lzi-nav-desktop > ul > li > a.lzi-active{ color: var(--lzi-primary); }

.lzi-has-dropdown{ position: relative; }
.lzi-has-dropdown > a i{ font-size: 0.65em; margin-inline-start: 0.3em; }
.lzi-dropdown{
  position:absolute;
  top: calc(100% + 14px);
  left: 50%;
  transform: translateX(-50%) translateY(-8px);
  background: var(--lzi-surface);
  border: 1px solid var(--lzi-line);
  border-radius: var(--lzi-radius-md);
  padding: 0.6rem;
  min-width: 220px;
  box-shadow: var(--lzi-shadow-lg);
  opacity:0;
  visibility:hidden;
  transition: opacity .25s var(--lzi-ease), transform .25s var(--lzi-ease), visibility .25s;
}
.lzi-has-dropdown:hover .lzi-dropdown{
  opacity:1; visibility:visible; transform: translateX(-50%) translateY(0);
}
.lzi-dropdown a{
  display:block;
  padding: 0.65em 0.8em;
  border-radius: var(--lzi-radius-sm);
  font-size: 0.9rem;
  border-block-end: 1px solid var(--lzi-line);
}
.lzi-dropdown a:last-child{ border-block-end:none; }
.lzi-dropdown a:hover{ background: var(--lzi-bg-alt); color: var(--lzi-primary); }

.lzi-burger{
  display:none;
  width: 46px; height:46px;
  border-radius: var(--lzi-radius-sm);
  border: 1px solid var(--lzi-line);
  background: var(--lzi-surface);
  cursor:pointer;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  z-index: 700;
}
.lzi-burger span{
  width: 20px; height:1px; background: var(--lzi-ink);
  transition: transform .3s var(--lzi-ease), opacity .3s var(--lzi-ease);
}
.lzi-burger.lzi-open span:nth-child(1){ transform: translateY(6px) rotate(45deg); }
.lzi-burger.lzi-open span:nth-child(2){ opacity:0; }
.lzi-burger.lzi-open span:nth-child(3){ transform: translateY(-6px) rotate(-45deg); }


.lzi-mobile-panel{
  position: fixed; inset:0;
  background: var(--lzi-ink);
  z-index: 600;
  clip-path: polygon(100% 0%, 100% 0%, 100% 0%, 100% 0%);
  transition: clip-path .7s cubic-bezier(.77,0,.18,1);
  display:flex;
  align-items:center;
  justify-content:center;
}
.lzi-mobile-panel.lzi-open{
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}
.lzi-mobile-nav{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap: 1.6rem;
  opacity:0;
  transition: opacity .4s var(--lzi-ease);
}
.lzi-mobile-nav.lzi-links-visible{ opacity:1; }
.lzi-mobile-nav a{
  color: var(--lzi-bg);
  font-size: 1.6rem;
  font-weight: 600;
  padding-bottom: 4px;
  border-bottom: 1px solid transparent;
  transition: border-color .3s var(--lzi-ease), color .3s var(--lzi-ease);
}
.lzi-mobile-nav a:hover{ border-color: var(--lzi-accent); color: var(--lzi-accent); }


.lzi-hero{
  padding-block-start: clamp(8rem, 14vw, 11rem);
  padding-block-end: 0;
  position:relative;
  background:
    radial-gradient(circle at 85% 10%, color-mix(in srgb, var(--lzi-accent) 18%, transparent), transparent 55%),
    var(--lzi-bg);
}
.lzi-hero-inner{
  max-width: 820px;
  margin-inline:auto;
  text-align:center;
  padding-inline: clamp(1.25rem, 4vw, 2.5rem);
}
.lzi-hero-sub{
  font-size: clamp(1rem, 1.3vw, 1.15rem);
  max-width: 620px;
  margin-inline:auto;
  margin-block-end: 2rem;
}
.lzi-hero-actions{
  display:flex;
  gap: 1rem;
  justify-content:center;
  flex-wrap:wrap;
  margin-block-end: 3.5rem;
}

.lzi-trust-bar{
  border-block-start: 1px solid var(--lzi-line);
  background: var(--lzi-surface);
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap: 2.4rem;
  padding-block: 1.6rem;
  padding-inline: clamp(1.25rem,4vw,2.5rem);
}
.lzi-trust-item{
  display:flex;
  align-items:center;
  gap: 0.6em;
  font-size: 0.85rem;
  color: var(--lzi-ink-soft);
  font-weight: 500;
}
.lzi-trust-item i{ color: var(--lzi-primary); font-size: 1.05rem; }


.lzi-page-hero{
  padding-block-start: clamp(7.5rem, 12vw, 9.5rem);
  padding-block-end: 3.5rem;
  border-block-end: 1px solid var(--lzi-line);
  background: var(--lzi-bg);
}
.lzi-page-hero .lzi-hero-sub{ max-width: 640px; margin-inline:0; }


.lzi-about-preview{ padding-block: clamp(3rem, 6vw, 5rem); }
.lzi-about-box{
  position:relative;
  max-width: 820px;
  margin-inline:auto;
  padding: clamp(2rem, 4vw, 3rem);
  border: 1px solid var(--lzi-line);
  border-radius: var(--lzi-radius-lg);
  background: var(--lzi-surface);
  box-shadow: var(--lzi-shadow-sm);
}
.lzi-about-box p{
  font-size: clamp(1.05rem, 1.6vw, 1.3rem);
  color: var(--lzi-ink);
  line-height: 1.7;
  margin:0;
}
.lzi-about-mark{
  position:absolute;
  inset-block-start: -1px;
  inset-inline-start: 2.5rem;
  width: 60px; height: 3px;
  background: var(--lzi-primary);
  border-radius: 2px;
}


.lzi-section-head{ max-width: 640px; margin-block-end: 3rem; }
.lzi-pad-top{ padding-block-start: 1rem; }


.lzi-how{ padding-block: clamp(4rem, 7vw, 6rem); }
.lzi-cards-wrap{
  display:grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1.8rem;
  container-type: inline-size;
}
.lzi-step-card{
  position:relative;
  border: 1px solid var(--lzi-line);
  border-radius: var(--lzi-radius-lg);
  padding: 2.2rem 1.8rem;
  background: var(--lzi-surface);
  box-shadow: var(--lzi-shadow-sm);
  transition: transform .35s var(--lzi-ease), box-shadow .35s var(--lzi-ease), border-color .35s var(--lzi-ease);
}
.lzi-step-card:hover{
  transform: translateY(-6px);
  box-shadow: var(--lzi-shadow-lg);
  border-color: var(--lzi-line-strong);
}
.lzi-step-num{
  font-size: 2.6rem;
  font-weight: 700;
  color: var(--lzi-line-strong);
  display:block;
  margin-block-end: 0.4rem;
  line-height:1;
}
.lzi-step-icon{
  width: 52px; height:52px;
  border: 1px solid var(--lzi-line-strong);
  border-radius: 50%;
  display:flex; align-items:center; justify-content:center;
  margin-block-end: 1.2rem;
  color: var(--lzi-primary);
  font-size: 1.25rem;
}
.lzi-step-card p{ font-size: 0.94rem; }
.lzi-link-arrow{
  display:inline-flex; align-items:center; gap:0.5em;
  font-size: 0.88rem; font-weight:600; color: var(--lzi-primary);
  margin-block-start: 0.6rem;
  position:relative;
}
.lzi-link-arrow i{ transition: transform .3s var(--lzi-ease); }
.lzi-link-arrow:hover i{ transform: translateX(5px); }

@container (max-width: 700px){
  .lzi-cards-wrap{ grid-template-columns: 1fr; }
}


.lzi-zigzag{ padding-block: clamp(3rem, 6vw, 5rem); }
.lzi-zig-row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items:center;
  padding-block: clamp(2.2rem, 4vw, 3.2rem);
  border-block-end: 1px solid var(--lzi-line);
}
.lzi-zig-row:last-child{ border-block-end:none; }
.lzi-zig-reverse .lzi-zig-media{ order:2; }
.lzi-zig-reverse .lzi-zig-text{ order:1; }
.lzi-zig-media{
  border-radius: var(--lzi-radius-lg);
  overflow:hidden;
  box-shadow: var(--lzi-shadow-md);
  position:relative;
  border: 1px solid var(--lzi-line);
}
.lzi-zig-media img{ width:100%; height: 320px; object-fit:cover; transition: transform .5s var(--lzi-ease); }
.lzi-zig-media:hover img{ transform: scale(1.04); }
.lzi-zig-tag{
  display:inline-block;
  font-size: 0.75rem;
  text-transform:uppercase;
  letter-spacing:0.1em;
  font-weight:600;
  color: var(--lzi-secondary);
  border: 1px solid var(--lzi-secondary);
  border-radius: 20px;
  padding: 0.3em 0.9em;
  margin-block-end: 0.9em;
}
.lzi-zig-text h3{ margin-block-end: 0.6em; }


.lzi-gallery{ padding-block: clamp(3rem, 6vw, 5rem); background: var(--lzi-bg-alt); border-block: 1px solid var(--lzi-line); }
.lzi-gallery-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 190px;
  gap: 1.2rem;
}
.lzi-g-big{ grid-column: span 2; grid-row: span 2; }
.lzi-g-item{
  position:relative;
  margin:0;
  border-radius: var(--lzi-radius-md);
  overflow:hidden;
  box-shadow: var(--lzi-shadow-md);
  border: 1px solid var(--lzi-line);
}
.lzi-g-item img{ width:100%; height:100%; object-fit:cover; transition: transform .5s var(--lzi-ease); }
.lzi-g-item:hover img{ transform: scale(1.06); }
.lzi-g-item figcaption{
  position:absolute; inset-inline:0; inset-block-end:0;
  background: linear-gradient(0deg, rgba(20,16,12,0.75), transparent);
  color:#fff;
  font-size: 0.8rem;
  padding: 1.6rem 1rem 0.8rem;
}


.lzi-cta-strip{
  padding-block: clamp(3rem, 6vw, 4.5rem);
  background: var(--lzi-ink);
  color: var(--lzi-bg);
}
.lzi-cta-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 2rem;
  flex-wrap:wrap;
}
.lzi-cta-inner h2{ color: var(--lzi-bg); margin-block-end: 0.4em; }
.lzi-cta-inner p{ color: color-mix(in srgb, var(--lzi-bg) 75%, transparent); margin:0; max-width: 480px; }
.lzi-cta-inner .lzi-btn-fill{ background: var(--lzi-accent); border-color: var(--lzi-accent); color: var(--lzi-ink); flex-shrink:0; }
.lzi-cta-inner .lzi-btn-fill:hover{ background: var(--lzi-bg); border-color: var(--lzi-bg); }


.lzi-report{ padding-block: clamp(3.5rem, 6vw, 5.5rem); border-block-end: 1px solid var(--lzi-line); }
.lzi-report-alt{ background: var(--lzi-bg-alt); }
.lzi-report-grid{
  display:grid;
  grid-template-columns: 1fr 1.15fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items:start;
}
.lzi-report-grid-reverse{ grid-template-columns: 1.15fr 1fr; }
.lzi-report-grid-reverse .lzi-report-media{ order:2; }
.lzi-report-grid-reverse .lzi-report-text{ order:1; }
.lzi-report-media{
  position: sticky; top: 110px;
  border-radius: var(--lzi-radius-lg);
  overflow:hidden;
  border: 1px solid var(--lzi-line);
  box-shadow: var(--lzi-shadow-md);
}
.lzi-report-media img{ width:100%; height: 380px; object-fit:cover; }
.lzi-report-badge{
  position:absolute; top: 1rem; left: 1rem;
  background: var(--lzi-surface);
  border: 1px solid var(--lzi-line);
  border-radius: 20px;
  padding: 0.5em 1em;
  font-size: 0.8rem;
  font-weight: 600;
  display:flex; align-items:center; gap:0.5em;
}
.lzi-report-badge i{ color: var(--lzi-primary); }
.lzi-report-facts{ margin-block-start: 1.4rem; }
.lzi-report-facts li{
  display:flex; align-items:flex-start; gap: 0.7em;
  padding-block: 0.6em;
  border-block-start: 1px solid var(--lzi-line);
  font-size: 0.92rem;
  color: var(--lzi-ink-soft);
}
.lzi-report-facts li i{ color: var(--lzi-secondary); margin-block-start: 0.2em; }


.lzi-primeros{ padding-block: clamp(3.5rem, 6vw, 5.5rem); }
.lzi-mini-grid{
  display:grid;
  grid-template-columns: repeat(2,1fr);
  gap: 1.6rem;
}
.lzi-mini-card{
  border-inline-start: 2px solid var(--lzi-primary);
  padding-inline-start: 1.4rem;
  padding-block: 0.4rem;
}
.lzi-mini-card i{ font-size: 1.4rem; color: var(--lzi-primary); margin-block-end: 0.6rem; display:block; }
.lzi-mini-card p{ font-size: 0.93rem; }


.lzi-faq{ padding-block: clamp(3.5rem, 6vw, 5.5rem); background: var(--lzi-bg-alt); border-block-start: 1px solid var(--lzi-line); }
.lzi-faq-list{ max-width: 800px; }
.lzi-faq-item{
  border-block-end: 1px solid var(--lzi-line);
  padding-block: 1.1rem;
}
.lzi-faq-item summary{
  cursor:pointer;
  font-weight: 600;
  font-size: 1.02rem;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-inline-end: 1.5rem;
}
.lzi-faq-item summary::-webkit-details-marker{ display:none; }
.lzi-faq-item summary::after{
  content:"+";
  font-size: 1.4rem;
  color: var(--lzi-primary);
  transition: transform .3s var(--lzi-ease);
}
.lzi-faq-item[open] summary::after{ transform: rotate(45deg); }
.lzi-faq-item p{ margin-block-start: 0.8rem; font-size: 0.94rem; }


.lzi-contact-section{ padding-block: clamp(3.5rem, 6vw, 5.5rem); }
.lzi-contact-grid{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap: clamp(2rem, 5vw, 4rem);
}
.lzi-info-list{ margin-block-end: 2rem; }
.lzi-info-list li{
  display:flex; align-items:flex-start; gap: 0.9em;
  padding-block: 0.8em;
  border-block-end: 1px solid var(--lzi-line);
  font-size: 0.95rem;
}
.lzi-info-list li i{ color: var(--lzi-primary); margin-block-start: 0.2em; }
.lzi-hours-table{ width:100%; border-collapse: collapse; margin-block: 1rem 0.5rem; }
.lzi-hours-table td{ padding: 0.6em 0; border-block-end: 1px solid var(--lzi-line); font-size: 0.92rem; }
.lzi-hours-table td:last-child{ text-align:end; color: var(--lzi-ink-soft); }
.lzi-hours-note{ font-size: 0.82rem; color: var(--lzi-ink-faint); }
.lzi-map-wrap{
  margin-block-start: 1.5rem;
  border-radius: var(--lzi-radius-md);
  overflow:hidden;
  border: 1px solid var(--lzi-line);
  box-shadow: var(--lzi-shadow-sm);
}

.lzi-contact-form-wrap{
  background: var(--lzi-surface);
  border: 1px solid var(--lzi-line);
  border-radius: var(--lzi-radius-lg);
  padding: clamp(1.8rem, 3vw, 2.6rem);
  box-shadow: var(--lzi-shadow-md);
}
.lzi-form{ display:flex; flex-direction:column; gap: 1.2rem; margin-block-start: 1.2rem; }
.lzi-field{ display:flex; flex-direction:column; gap: 0.5em; }
.lzi-field label{ font-size: 0.85rem; font-weight:600; color: var(--lzi-ink); }
.lzi-field input, .lzi-field textarea{
  font-family: var(--lzi-font);
  font-size: 0.95rem;
  padding: 0.85em 1em;
  border: 1px solid var(--lzi-line-strong);
  border-radius: var(--lzi-radius-sm);
  background: var(--lzi-bg);
  color: var(--lzi-ink);
  transition: border-color .3s var(--lzi-ease), box-shadow .3s var(--lzi-ease);
  min-height: 46px;
}
.lzi-field textarea{ min-height: 120px; resize: vertical; }
.lzi-field:has(input:focus), .lzi-field:has(textarea:focus){
  --focus: 1;
}
.lzi-field input:focus, .lzi-field textarea:focus{
  outline:none;
  border-color: var(--lzi-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--lzi-primary) 15%, transparent);
}
.lzi-field-checkbox{ display:flex; align-items:flex-start; gap: 0.7em; }
.lzi-field-checkbox input{ width:20px; height:20px; margin-block-start: 2px; accent-color: var(--lzi-primary); flex-shrink:0; }
.lzi-field-checkbox label{ font-size: 0.85rem; color: var(--lzi-ink-soft); }
.lzi-field-checkbox a{ color: var(--lzi-primary); text-decoration: underline; }
.lzi-form-error{ color: var(--lzi-primary-dark); font-size: 0.85rem; min-height: 1.2em; margin:0; }


.lzi-legal-section{ padding-block: clamp(7.5rem, 12vw, 9rem) clamp(4rem, 6vw, 6rem); }
.lzi-legal-container{ max-width: 800px; }
.lzi-legal-body h2{ margin-block-start: 2rem; font-size: 1.25rem; }
.lzi-legal-body p{ font-size: 0.98rem; }
.lzi-legal-body code{
  background: var(--lzi-bg-alt);
  border: 1px solid var(--lzi-line);
  padding: 0.15em 0.5em;
  border-radius: 4px;
  font-size: 0.9em;
}
.lzi-legal-lettered h2{ letter-spacing: -0.01em; }


.lzi-thanks-section{ padding-block: clamp(8rem, 14vw, 10rem) 6rem; text-align:center; }
.lzi-thanks-inner{ max-width: 560px; margin-inline:auto; }
.lzi-envelope{
  width: 140px; height: 100px;
  margin: 0 auto 3rem;
  position: relative;
}
.lzi-envelope-body{
  position:absolute; inset:0;
  background: var(--lzi-surface);
  border: 1px solid var(--lzi-line-strong);
  border-radius: var(--lzi-radius-sm);
  box-shadow: var(--lzi-shadow-md);
  overflow: visible;
}
.lzi-envelope-flap{
  position:absolute;
  top:0; left:0; width:100%; height:0;
  border-left: 70px solid transparent;
  border-right: 70px solid transparent;
  border-top: 55px solid var(--lzi-primary);
  transform-origin: top;
  animation: lzi-flap-open 2.4s ease-in-out 0.3s forwards;
  z-index: 3;
}
.lzi-envelope-letter{
  position:absolute;
  left: 20px; bottom: 6px;
  width: 100px; height: 70px;
  background: var(--lzi-bg);
  border: 1px solid var(--lzi-line-strong);
  border-radius: 3px;
  transform: translateY(0);
  animation: lzi-letter-slide 2.4s ease-in-out 0.3s forwards;
  z-index: 2;
}
@keyframes lzi-flap-open{
  0%{ transform: rotateX(0deg); }
  50%{ transform: rotateX(180deg); }
  100%{ transform: rotateX(180deg); }
}
@keyframes lzi-letter-slide{
  0%{ transform: translateY(10px); }
  55%{ transform: translateY(10px); }
  100%{ transform: translateY(-55px); }
}


.lzi-consent-card{
  position: fixed;
  top: 1.5rem; left: -420px;
  width: min(320px, 86vw);
  background: var(--lzi-surface);
  border: 1px solid var(--lzi-line);
  border-radius: var(--lzi-radius-md);
  box-shadow: var(--lzi-shadow-lg);
  padding: 1.4rem;
  z-index: 900;
  transition: left .6s var(--lzi-ease);
}
.lzi-consent-card.lzi-show{ left: 1.5rem; }
.lzi-consent-icon{
  width: 38px; height:38px;
  border: 1px solid var(--lzi-line-strong);
  border-radius: 50%;
  display:flex; align-items:center; justify-content:center;
  color: var(--lzi-primary);
  margin-block-end: 0.8rem;
}
.lzi-consent-text{ font-size: 0.85rem; color: var(--lzi-ink-soft); margin-block-end: 1.1rem; }
.lzi-consent-actions{ display:flex; gap: 0.6rem; }
.lzi-consent-actions button{ font-size: 0.8rem; padding: 0.6em 1em; min-height: 40px; flex:1; }

.lzi-modal-overlay{
  position: fixed; inset:0;
  background: rgba(20,16,12,0.55);
  display:flex; align-items:center; justify-content:center;
  z-index: 950;
  opacity:0; visibility:hidden;
  transition: opacity .35s var(--lzi-ease), visibility .35s var(--lzi-ease);
  padding: 1.5rem;
}
.lzi-modal-overlay.lzi-show{ opacity:1; visibility:visible; }
.lzi-modal{
  background: var(--lzi-surface);
  border-radius: var(--lzi-radius-lg);
  padding: clamp(1.6rem, 3vw, 2.4rem);
  max-width: 520px;
  width:100%;
  max-height: 85vh;
  overflow-y:auto;
  position:relative;
  box-shadow: var(--lzi-shadow-lg);
  border: 1px solid var(--lzi-line);
}
.lzi-modal h3{ margin-block-end: 0.5rem; }
.lzi-modal-close{
  position:absolute; top: 1rem; right: 1rem;
  width: 34px; height:34px;
  border-radius: 50%;
  border: 1px solid var(--lzi-line);
  background: transparent;
  font-size: 1.3rem;
  cursor:pointer;
  line-height:1;
  transition: border-color .3s var(--lzi-ease), color .3s var(--lzi-ease);
}
.lzi-modal-close:hover{ border-color: var(--lzi-primary); color: var(--lzi-primary); }
.lzi-modal-option{
  display:flex; align-items:flex-start; justify-content:space-between; gap:1rem;
  padding-block: 1rem;
  border-block-end: 1px solid var(--lzi-line);
}
.lzi-modal-option p{ font-size: 0.85rem; margin:0; }
.lzi-modal-option input{ width:20px; height:20px; accent-color: var(--lzi-primary); flex-shrink:0; margin-block-start: 3px; }
.lzi-modal-actions{ display:flex; gap: 0.8rem; margin-block-start: 1.4rem; }
.lzi-modal-actions button{ flex:1; }


.lzi-footer{ background: var(--lzi-ink); color: var(--lzi-bg); margin-block-start: auto; }
.lzi-footer-inner{
  display:grid;
  grid-template-columns: 1fr 1.3fr;
  gap: clamp(2.5rem, 6vw, 5rem);
  padding-block: clamp(3.5rem, 6vw, 5.5rem);
}
.lzi-footer-brand p{ color: color-mix(in srgb, var(--lzi-bg) 70%, transparent); font-size: 0.94rem; margin-block: 1.2rem 1.6rem; }
.lzi-footer-logo .lzi-logo-text{ color: var(--lzi-bg); }
.lzi-footer-brand .lzi-btn-line{ border-color: color-mix(in srgb, var(--lzi-bg) 40%, transparent); color: var(--lzi-bg); }
.lzi-footer-brand .lzi-btn-line:hover{ border-color: var(--lzi-accent); color: var(--lzi-accent); }
.lzi-footer-cols{ display:grid; grid-template-columns: repeat(3,1fr); gap: 2rem; }
.lzi-footer-col h4{ color: var(--lzi-bg); font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.1em; margin-block-end: 1.2rem; }
.lzi-footer-col a, .lzi-footer-col span{
  display:block; font-size: 0.9rem;
  color: color-mix(in srgb, var(--lzi-bg) 70%, transparent);
  margin-block-end: 0.8rem;
  transition: color .3s var(--lzi-ease);
}
.lzi-footer-col a:hover{ color: var(--lzi-accent); }
.lzi-footer-address{ line-height: 1.5; }
.lzi-footer-bottom{ border-block-start: 1px solid color-mix(in srgb, var(--lzi-bg) 15%, transparent); padding-block: 1.4rem; }
.lzi-footer-bottom p{ font-size: 0.8rem; color: color-mix(in srgb, var(--lzi-bg) 55%, transparent); margin:0; text-align:center; }


@media (max-width: 980px){
  .lzi-nav-desktop{ display:none; }
  .lzi-burger{ display:flex; }
  .lzi-cards-wrap{ grid-template-columns: 1fr; }
  .lzi-zig-row, .lzi-zig-reverse{ grid-template-columns: 1fr; }
  .lzi-zig-reverse .lzi-zig-media, .lzi-zig-reverse .lzi-zig-text{ order: initial; }
  .lzi-report-grid, .lzi-report-grid-reverse{ grid-template-columns: 1fr; }
  .lzi-report-grid-reverse .lzi-report-media, .lzi-report-grid-reverse .lzi-report-text{ order:initial; }
  .lzi-report-media{ position:static; }
  .lzi-gallery-grid{ grid-template-columns: repeat(2,1fr); grid-auto-rows: 160px; }
  .lzi-g-big{ grid-column: span 2; grid-row: span 1; }
  .lzi-contact-grid{ grid-template-columns: 1fr; }
  .lzi-footer-inner{ grid-template-columns: 1fr; }
  .lzi-footer-cols{ grid-template-columns: repeat(3,1fr); }
  .lzi-mini-grid{ grid-template-columns: 1fr; }
  .lzi-cta-inner{ flex-direction:column; align-items:flex-start; }
}

@media (max-width: 640px){
  .lzi-hero-actions{ flex-direction:column; align-items:stretch; }
  .lzi-hero-actions a{ width:100%; }
  .lzi-trust-bar{ gap: 1.2rem; justify-content:flex-start; }
  .lzi-footer-cols{ grid-template-columns: 1fr 1fr; }
  .lzi-consent-card{ width: calc(100vw - 2rem); }
  .lzi-consent-card.lzi-show{ left: 1rem; top: 1rem; }
}