.cz{position:relative;color:var(--cream);overflow:hidden;isolation:isolate;
  padding:clamp(4rem,8vw,7rem) clamp(1.2rem,4vw,2rem)}

.cz-bg{position:absolute;inset:0;z-index:-2;background:#1c1612 url("../img/gallery-01.jpg") center/cover no-repeat}
.cz::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(24,18,13,.88),rgba(24,18,13,.82) 45%,rgba(24,18,13,.92)),
             radial-gradient(90% 110% at 50% -10%,rgba(163,87,51,.22),transparent 60%)}

.cz::after{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:min(320px,60vw);height:1px;z-index:0;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.65}

.cz-in{position:relative;max-width:820px;margin:0 auto;text-align:center}

.cz-eyebrow{display:inline-flex;align-items:center;gap:.7rem;font-family:'Montserrat',sans-serif;
  font-size:.64rem;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--gold)}
.cz-eyebrow::before,.cz-eyebrow::after{content:"";width:28px;height:1px;background:var(--gold);opacity:.7}
.cz-in h2{font-family:'Yeseva One',serif;font-weight:400;font-size:clamp(1.9rem,4.2vw,3rem);
  letter-spacing:.02em;line-height:1.2;margin:1.1rem 0 .9rem;color:#fff;
  text-shadow:0 4px 30px rgba(0,0,0,.5)}
.cz-in h2 em{font-style:italic;color:var(--gold-deep)}
.cz-sub{font-family:'Montserrat',sans-serif;font-weight:300;font-size:clamp(.94rem,1.4vw,1.06rem);
  color:rgba(246,244,240,.8);line-height:1.75;max-width:520px;margin:0 auto clamp(2rem,4vw,2.8rem)}

.cz-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem;margin-bottom:clamp(1.8rem,3.2vw,2.4rem)}
.cz-chip{display:inline-flex;align-items:center;gap:.55rem;font-family:'Montserrat',sans-serif;
  font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(246,244,240,.88);background:rgba(20,14,9,.35);border:1px solid rgba(236,200,154,.35);
  padding:.85rem 1.45rem;border-radius:40px;cursor:pointer;-webkit-tap-highlight-color:transparent;
  min-height:46px;backdrop-filter:blur(8px);
  transition:background .28s,border-color .28s,color .28s,transform .28s,box-shadow .28s}
.cz-chip svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;flex:none}
.cz-chip:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-1px)}
.cz-chip.on{background:var(--rust);border-color:var(--rust);color:#fff;
  box-shadow:0 14px 30px -14px rgba(163,87,51,.75)}

.cz-card{position:relative;background:#fbf9f4;color:var(--night);border-radius:12px;text-align:left;
  box-shadow:0 50px 100px -46px rgba(0,0,0,.85);padding:clamp(1.3rem,2.8vw,2rem)}

.cz-card::before{content:"";position:absolute;top:0;left:clamp(1.2rem,10%,3rem);right:clamp(1.2rem,10%,3rem);
  height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}

.cz-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));
  gap:.9rem;margin-bottom:1rem}
.cz-f{display:flex;flex-direction:column;gap:.3rem;background:#fff;border:1px solid #e7e1d5;
  border-radius:9px;padding:.72rem .95rem;transition:border-color .25s,box-shadow .25s;min-width:0;overflow:hidden}
.cz-f:focus-within{border-color:var(--rust);box-shadow:0 0 0 3px rgba(163,87,51,.1)}
.cz-f label{font-family:'Montserrat',sans-serif;font-size:.56rem;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:#9a7d5f}
.cz-f input,.cz-f select{border:0;background:none;outline:none;width:100%;min-width:0;
  font-family:'Yeseva One',serif;font-size:1.05rem;color:var(--forest);min-height:32px}
@media(pointer:coarse){.cz-f input,.cz-f select{min-height:38px}}
.cz-f input[type=date]{font-size:.98rem;-webkit-appearance:none;appearance:none}
.cz-f input::placeholder{color:#c9bda9;font-family:'Montserrat',sans-serif;font-size:.9rem}
.cz-f select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23A35733' fill='none' stroke-width='1.6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .2rem center;padding-right:1.2rem;cursor:pointer}

.cz-g{display:none}
.cz-g.on{display:contents}

.cz-send{display:flex;align-items:center;justify-content:center;gap:.65rem;width:100%;
  font-family:'Montserrat',sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:#fff;background:#1faa55;border:0;border-radius:9px;
  padding:1.15rem 1.4rem;cursor:pointer;min-height:54px;
  box-shadow:0 18px 36px -18px rgba(31,170,85,.55);
  transition:background .25s,transform .25s,box-shadow .25s}
.cz-send:hover{background:#178c45;transform:translateY(-2px);box-shadow:0 24px 44px -18px rgba(31,170,85,.6)}
.cz-send svg{width:20px;height:20px;fill:currentColor;flex:none}
.cz-alt{display:block;text-align:center;font-family:'Montserrat',sans-serif;font-size:.72rem;
  color:#8d8069;margin-top:.9rem}
.cz-alt a{color:var(--rust);font-weight:600;border-bottom:1px solid rgba(163,87,51,.35);transition:border-color .2s}
@media(pointer:coarse){.cz-alt a{display:inline-block;min-height:40px;line-height:40px}}
.cz-alt a:hover{border-color:var(--rust)}

@media(max-width:560px){
  .cz-chips{gap:.45rem}
  .cz-chip{padding:.75rem 1.05rem;font-size:.62rem;letter-spacing:.1em}
  .cz-fields{grid-template-columns:1fr 1fr}
  .cz-f.wide{grid-column:1 / -1}
}
@media(prefers-reduced-motion:reduce){
  .cz-chip:hover,.cz-send:hover{transform:none}
}
