/* ============================================================================
   Celebriza · shared studio styles  (LIGHT editorial — matches the landing)
   One source of truth for catalog / editor / AI Studio. Premium, calm, sharp.
   ========================================================================== */
:root{
  --bg:#F5F3EE; --bg2:#FFFFFF; --bg3:#FBFAF7; --beige:#ECE8E1; --sand:#F0EBE2;
  --ink:#1F1B17; --ink-soft:#5A534A; --ink-faint:rgba(31,27,23,.46); --ink-ghost:rgba(31,27,23,.30);
  --line:rgba(31,27,23,.12); --line-strong:rgba(31,27,23,.22);
  --gold:#9C7B3E; --gold-soft:#B8A27A; --gold-2:#C9B490; --bronze:#B98472; --sage:#97A091;
  --serif:'Cormorant Garamond',Georgia,serif; --sans:'DM Sans',sans-serif;
  --ease:cubic-bezier(.25,.1,.25,1); --ease-reveal:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:300;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
::selection{background:var(--gold-soft);color:var(--bg2);}

/* ── Nav ── */
.cz-nav{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;
  padding:18px clamp(18px,5vw,56px);background:rgba(245,243,238,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);}
.cz-logo{font-family:var(--serif);font-size:24px;letter-spacing:.02em;color:var(--ink);font-weight:500;}
.cz-logo .za{color:var(--gold);font-style:italic;}
.cz-nav-right{display:flex;align-items:center;gap:clamp(12px,3vw,26px);}
.cz-nav-link{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);transition:color .3s var(--ease);}
.cz-nav-link:hover{color:var(--ink);}

/* ── Buttons (sharp, landing-style) ── */
.cz-btn{font-family:var(--sans);font-size:11px;letter-spacing:.14em;font-weight:500;text-transform:uppercase;
  padding:13px 26px;border-radius:0;cursor:pointer;transition:all .35s var(--ease);display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;white-space:nowrap;}
.cz-btn--primary{background:var(--ink);color:var(--bg);border-color:var(--ink);}
.cz-btn--primary:hover{background:var(--bronze);border-color:var(--bronze);}
.cz-btn--gold{background:var(--gold-soft);color:var(--ink);border-color:var(--gold-soft);}
.cz-btn--gold:hover{background:var(--gold-2);border-color:var(--gold-2);}
.cz-btn--ghost{background:transparent;color:var(--ink);border-color:var(--line-strong);}
.cz-btn--ghost:hover{border-color:var(--ink);}
.cz-btn[disabled]{opacity:.5;cursor:not-allowed;}
.cz-btn--block{width:100%;}

/* ── Eyebrow / headings ── */
.cz-eyebrow{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--bronze);}
.cz-h1{font-family:var(--serif);font-weight:300;font-size:clamp(34px,6vw,64px);line-height:1.05;color:var(--ink);letter-spacing:-.01em;}
.cz-h1 em{font-style:italic;color:var(--gold);}
.cz-lede{font-size:15px;line-height:1.7;color:var(--ink-soft);font-weight:300;}

/* ── Reveal animation ── */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease-reveal),transform .9s var(--ease-reveal);}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-d1{transition-delay:.06s;}.reveal-d2{transition-delay:.12s;}.reveal-d3{transition-delay:.18s;}.reveal-d4{transition-delay:.24s;}

/* ── Form controls (no overflow on mobile) ── */
.cz-field{margin-bottom:18px;min-width:0;}
.cz-field label{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px;}
.cz-field .cz-help{display:block;font-size:11.5px;color:var(--ink-faint);margin-top:7px;line-height:1.5;}
.cz-input{display:block;width:100%;max-width:100%;min-width:0;background:var(--bg2);border:1px solid var(--line-strong);border-radius:3px;
  color:var(--ink);font-family:var(--sans);font-size:14px;font-weight:400;padding:12px 14px;transition:border-color .25s var(--ease),box-shadow .25s var(--ease);}
.cz-input::placeholder{color:var(--ink-faint);}
.cz-input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(156,123,62,.12);}
textarea.cz-input{resize:vertical;min-height:84px;line-height:1.6;}
input[type=date].cz-input,input[type=time].cz-input,input[type=datetime-local].cz-input{-webkit-appearance:none;appearance:none;}
select.cz-input{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2 4l4 4 4-4' fill='none' stroke='%239C7B3E' stroke-width='1.4'/></svg>");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;}

/* chips */
.cz-chip{font-size:12px;letter-spacing:.04em;padding:9px 16px;border:1px solid var(--line-strong);border-radius:40px;color:var(--ink-soft);cursor:pointer;user-select:none;background:var(--bg2);transition:all .25s var(--ease);}
.cz-chip:hover{border-color:var(--gold);color:var(--ink);}
.cz-chip.on{background:var(--ink);border-color:var(--ink);color:var(--bg);font-weight:500;}

/* spinner */
.cz-spin{width:18px;height:18px;border:2px solid var(--line-strong);border-top-color:var(--gold);border-radius:50%;animation:cz-spin .8s linear infinite;display:inline-block;}
@keyframes cz-spin{to{transform:rotate(360deg);}}
