/* Afnoora — "Dusty Rose" editorial theme, taken from Afnoora_Website_Source.zip (dist/styles.css).
   Rose #BC6C87 · Mauve #78516A · Plum #3F2436 · Blush #FFF5F7.
   Two parts: (1) site-wide overrides that give every storefront page the zip's look — serif headings,
   square buttons/inputs, announcement bar, soft footer; (2) the Home page sections, scoped under `.zh`. */

:root { --mauve:#78516A; --soft:#F6E9ED; --blush:#FFF5F7; --serif:Georgia,'Times New Roman',serif; --header-h:84px; }

/* ── (1) Site-wide ─────────────────────────────────────────── */
body { background:#fffbfb; font-family:'Segoe UI',Arial,sans-serif; }
::selection { background:#e9b6c8; color:var(--plum); }
h1, h2, .display, .font-display { font-family:var(--serif) !important; }
h1, h2, .display { font-weight:400 !important; letter-spacing:-.02em; }
.display { line-height:1.12; }
.rounded-xl, .rounded-2xl, .rounded-3xl, .rounded-lg { border-radius:2px !important; }
.btn { border-radius:0 !important; font-weight:500; font-size:.8rem; letter-spacing:.3px; }
.btn-rose, .btn-primary { background:var(--plum) !important; color:#fff9fb !important; }
.btn-rose:hover, .btn-primary:hover { background:var(--mauve) !important; }
.btn-light { background:transparent !important; border-color:var(--line) !important; color:var(--plum) !important; }
.btn-light:hover { background:var(--soft) !important; border-color:var(--mauve) !important; }
.input { border-radius:0 !important; background:#fffbfb; }
.eyebrow { color:var(--plum); letter-spacing:.2em; font-size:.66rem; }
#site-header { background:rgba(255,251,251,.96); backdrop-filter:blur(14px); border-bottom-color:rgba(232,212,220,.65); }
.nav-link { font-size:.8rem; letter-spacing:.2px; }
.announcement { background:var(--soft); text-align:center; font-size:11px; letter-spacing:1.5px; padding:8px 18px; color:var(--mauve); }
.announcement span { padding:0 16px; font-size:12px; }

/* password show/hide (js/pw-toggle.js) */
.pw-wrap { position:relative; display:block; }
.pw-wrap > input { padding-right:46px !important; }
.pw-toggle { position:absolute; top:50%; right:6px; transform:translateY(-50%); width:34px; height:34px; display:grid; place-items:center; border:0; background:transparent; color:var(--mauve); cursor:pointer; border-radius:50%; }
.pw-toggle:hover { background:var(--soft); }
.pw-toggle svg { width:19px; height:19px; }

/* soft footer */
.zfoot { background:var(--soft); color:var(--plum); margin-top:2rem; }
.zfoot a:hover { color:var(--mauve); text-decoration:underline; }
.zfoot-main { display:grid; grid-template-columns:1.3fr 1fr 1fr 1.2fr; gap:45px; padding-block:48px; }
.zfoot h4 { font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; font-weight:600; margin:0 0 16px; }
.zfoot ul { list-style:none; margin:0; padding:0; display:grid; gap:10px; font-size:.8rem; }
.zfoot-note { font-family:var(--serif); font-size:22px; line-height:1.3; margin:18px 0 0; }
.zfoot-note em { color:var(--mauve); }
.zfoot p.tag { font-size:.78rem; color:var(--muted); margin:12px 0 0; line-height:1.8; max-width:300px; }
.zfoot-bottom { display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; border-top:1px solid #ddc5d0; padding-block:17px; font-size:.7rem; color:var(--muted); }
@media (max-width:800px) { .zfoot-main { grid-template-columns:1fr 1fr; gap:30px; } }
@media (max-width:520px) { .zfoot-main { grid-template-columns:1fr; } .announcement { font-size:9px; letter-spacing:.8px; } .announcement span { padding:0 6px; } }

/* ── (2) Home (zip layout) ─────────────────────────────────── */
.zh .shell { width:min(1360px,calc(100% - 112px)); margin-inline:auto; }
.zh .section-space { padding-block:100px; }
.zh h1, .zh h2, .zh h3, .zh p { margin-top:0; }
.zh h1 { font-size:clamp(48px,5vw,76px); line-height:1.07; margin-bottom:29px; letter-spacing:-2.6px; }
.zh h2 { font-size:clamp(34px,3.4vw,50px); line-height:1.15; margin-bottom:26px; letter-spacing:-1.6px; }
.zh h1 em, .zh h2 em { font-style:italic; font-weight:400; color:var(--mauve); }
.zh .eyebrow { font-size:10px; letter-spacing:2.3px; font-weight:600; line-height:1.8; margin:0 0 25px; display:flex; align-items:center; gap:15px; text-transform:uppercase; }
.zh .eyebrow-line { width:32px; height:1px; background:var(--rose); }
.zh .button { display:inline-flex; justify-content:center; align-items:center; gap:22px; min-height:52px; padding:14px 25px; border:1px solid transparent; font-size:12px; font-weight:500; letter-spacing:.3px; cursor:pointer; transition:background .2s,color .2s,transform .2s; text-decoration:none; }
.zh .button span { font-size:19px; font-weight:400; }
.zh .button-primary { color:#fff9fb; background:var(--plum); }
.zh .button-primary:hover { background:var(--mauve); transform:translateY(-2px); }
.zh .button-outline { border-color:var(--line); background:transparent; color:var(--plum); }
.zh .button-outline:hover { background:var(--soft); border-color:var(--mauve); }
.zh .text-link { display:inline-flex; align-items:center; gap:19px; font-size:12px; border:0; border-bottom:1px solid var(--line); padding:4px 0 7px; background:transparent; color:var(--plum); cursor:pointer; text-decoration:none; }
.zh .text-link:hover { color:var(--mauve); border-color:var(--rose); }
.zh .text-link span { font-size:18px; }

.zh .hero { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; padding-top:62px; padding-bottom:72px; }
.zh .hero-description { font-size:15px; line-height:1.9; max-width:470px; color:var(--muted); margin-bottom:30px; }
.zh .hero-actions { display:flex; gap:28px; align-items:center; flex-wrap:wrap; }
.zh .hero-trust { display:flex; flex-wrap:wrap; gap:14px 26px; margin-top:38px; font-size:12px; color:var(--muted); letter-spacing:.2px; }
.zh .hero-trust span { display:inline-flex; align-items:center; gap:8px; }
.zh .hero-trust svg { width:16px; height:16px; color:var(--rose); }
.zh .studio-note { display:flex; gap:14px; align-items:center; margin-top:42px; }
.zh .studio-note svg { width:40px; height:40px; stroke:var(--mauve); stroke-width:1; fill:none; }
.zh .studio-note p { font-size:11px; line-height:1.7; letter-spacing:.3px; color:var(--muted); margin:0; }
.zh .studio-note strong { font-weight:500; color:var(--plum); }
.zh .hero-art { position:relative; padding-left:15px; }
.zh .hero-photo-wrap { position:relative; overflow:hidden; border-radius:230px 230px 5px 5px; aspect-ratio:4/5.15; background:#e7c8d2; }
.zh .hero-photo { width:100%; height:100%; object-fit:cover; object-position:center 40%; }
.zh .hero-halo { position:absolute; inset:10px -19px 45px 38px; border:1px solid #dbc0cc; border-radius:240px 240px 0 0; transform:rotate(4deg); pointer-events:none; }
.zh .detail-note { position:absolute; bottom:89px; left:-37px; display:flex; align-items:center; gap:14px; background:#fff9f5; padding:19px 22px; box-shadow:0 12px 28px #3f24360d; transform:rotate(-4deg); font-family:var(--serif); font-size:19px; line-height:1.25; }
.zh .detail-note-flower { font-size:38px; font-family:'Segoe UI',Arial,sans-serif; color:var(--rose); line-height:1; }
.zh .detail-note-line { width:22px; height:1px; background:var(--rose); }
.zh .image-caption { display:flex; justify-content:space-between; font-size:8px; letter-spacing:1.8px; margin:19px 0 0; color:var(--mauve); }
@media (min-width:1500px) { .zh .hero { gap:105px; padding-top:72px; } .zh .hero-photo-wrap { max-height:700px; } }

.zh .values-strip { border-block:1px solid var(--line); background:var(--blush); }
.zh .values-strip .shell { display:flex; align-items:center; justify-content:center; gap:60px; padding-block:22px; font-size:11px; letter-spacing:1px; flex-wrap:wrap; }
.zh .values-strip i { font-style:normal; font-size:20px; color:var(--rose); }

.zh .section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:45px; margin-bottom:42px; flex-wrap:wrap; }
.zh .section-heading h2 { margin-bottom:0; }
.zh .section-heading > .text-link { margin-bottom:8px; }
.zh .section-heading > p { font-size:13px; color:var(--muted); line-height:1.8; margin-bottom:5px; }
.zh .section-heading .eyebrow { margin-bottom:15px; }

.zh .collection-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:27px; }
.zh .collection-card { grid-column:span 2; display:block; text-decoration:none; color:inherit; }
.zh .collection-card:nth-child(n+4) { grid-column:span 3; }
.zh .collection-image { position:relative; display:block; overflow:hidden; aspect-ratio:4/5; width:100%; background:var(--soft); }
.zh .collection-card:nth-child(n+4) .collection-image { aspect-ratio:16/10; }
.zh .collection-image img { width:100%; height:100%; object-fit:cover; transition:transform .7s; }
.zh .collection-card:hover .collection-image img { transform:scale(1.04); }
.zh .collection-index { position:absolute; top:16px; left:16px; padding:6px 10px; background:rgba(255,251,251,.9); font-size:8px; letter-spacing:1.3px; line-height:1.5; text-transform:uppercase; }
.zh .round-arrow { position:absolute; right:17px; bottom:17px; width:38px; height:38px; border-radius:50%; background:#fffbfb; display:grid; place-items:center; font-size:21px; }
.zh .collection-info { padding-top:22px; }
.zh .collection-info h3 { font-family:var(--serif); font-weight:400; font-size:24px; line-height:1.3; margin:0 0 7px; letter-spacing:-.5px; }
.zh .collection-info p { font-size:12px; color:var(--muted); margin-bottom:0; }

.zh .story { background:var(--soft); padding-block:85px; }
.zh .story-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:95px; align-items:center; }
.zh .story-visual { position:relative; padding:0 0 20px; }
.zh .story-visual img { width:100%; aspect-ratio:1.1; object-fit:cover; border-radius:4px 110px 4px 4px; }
.zh .story-annotation { position:absolute; bottom:0; left:32px; padding:12px 23px; background:#fffbfb; font-family:var(--serif); font-style:italic; font-size:17px; transform:rotate(-3deg); }
.zh .story-copy .eyebrow { margin-bottom:20px; }
.zh .story-copy p:not(.eyebrow) { font-size:13px; color:var(--muted); line-height:1.95; max-width:430px; }
.zh .story-copy .text-link { margin-top:10px; }

.zh .process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:55px; margin-top:52px; }
.zh .process-grid article { padding-top:20px; border-top:1px solid var(--line); }
.zh .step-number { font-family:var(--serif); font-size:41px; font-style:italic; color:var(--rose); line-height:1; display:block; margin:0 0 22px; }
.zh .process h3 { font-family:var(--serif); font-weight:400; font-size:24px; line-height:1.3; margin-bottom:13px; letter-spacing:-.4px; }
.zh .process-grid p { font-size:12px; line-height:1.9; color:var(--muted); max-width:310px; margin:0; }

.zh .deal-card { background:var(--plum); color:#fff9fb; }

.zh .custom-section { background:var(--blush); padding-block:82px; }
.zh .custom-grid { display:grid; grid-template-columns:.85fr 1.15fr; align-items:stretch; gap:70px; }
.zh .custom-copy { padding:31px 30px 28px 0; }
.zh .custom-copy h2 { font-size:clamp(40px,4vw,56px); line-height:1.1; }
.zh .custom-copy > p:not(.eyebrow) { font-size:13px; color:var(--muted); max-width:340px; line-height:1.9; }
.zh .thread-decoration { max-width:320px; margin-top:25px; }
.zh .thread-decoration svg { width:100%; stroke:var(--rose); stroke-width:1; fill:none; }
.zh .design-form { background:#fffbfb; padding:35px; border:1px solid var(--line); }
.zh .form-heading { display:flex; justify-content:space-between; align-items:center; font-size:9px; letter-spacing:1.7px; padding-bottom:20px; margin-bottom:26px; border-bottom:1px solid var(--line); text-transform:uppercase; }
.zh .form-heading > span:last-child { font-size:21px; line-height:1; }
.zh .form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.zh .zf { margin-bottom:22px; min-width:0; }
.zh .zf label, .zh .palette-field legend { display:block; font-size:11px; font-weight:500; margin-bottom:9px; }
.zh .zf input, .zh .zf select, .zh .zf textarea { border:1px solid var(--line); border-radius:0; background:#fffbfb; padding:12px 13px; color:var(--plum); font-size:12px; line-height:1.7; width:100%; min-height:45px; outline:none; }
.zh .zf input:focus, .zh .zf select:focus, .zh .zf textarea:focus { border-color:var(--mauve); }
.zh .zf textarea { resize:vertical; min-height:100px; }
.zh .palette-field { padding:0; margin:0 0 25px; border:0; }
.zh .palette-options { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.zh .palette-choice { position:relative; display:flex; align-items:flex-start; flex-direction:column; gap:7px; cursor:pointer; padding:4px 2px; font-size:10px; color:var(--muted); }
.zh .palette-choice input { position:absolute; width:1px; height:1px; opacity:0; }
.zh .colour-circle { display:block; width:34px; height:34px; border-radius:50%; background:var(--swatch); border:1px solid #3f243617; outline:1px solid transparent; outline-offset:4px; transition:outline .15s; }
.zh .palette-choice input:checked + .colour-circle { outline-color:var(--mauve); }
.zh .palette-choice input:checked ~ span:last-child { color:var(--plum); }
.zh .form-submit { width:100%; justify-content:space-between; }
.zh .form-note { font-size:10px; line-height:1.7; color:var(--muted); margin:13px 0 0; }

.zh .closing { padding-block:80px; display:flex; align-items:center; justify-content:center; gap:65px; text-align:center; }
.zh .closing > span { font-size:30px; color:var(--rose); }
.zh .closing p { font-family:var(--serif); font-size:29px; line-height:1.4; margin:0; letter-spacing:-.8px; }
.zh .closing em { color:var(--mauve); }

.zh .newsletter { background:var(--soft); padding-block:56px; }
.zh .newsletter-row { display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap; }
.zh .newsletter h2 { font-size:30px; margin-bottom:6px; }

@media (max-width:1100px) {
  .zh .shell { width:calc(100% - 64px); }
  .zh .hero { gap:40px; } .zh .hero-art { padding-left:0; } .zh .detail-note { left:-20px; padding:15px; font-size:17px; }
  .zh .story-grid { gap:55px; } .zh .custom-grid { gap:40px; } .zh .design-form { padding:27px; } .zh .form-row { grid-template-columns:1fr; gap:0; } .zh .process-grid { gap:35px; }
}
@media (max-width:800px) {
  .zh .shell { width:calc(100% - 44px); }
  .zh .section-space { padding-block:70px; }
  .zh .hero { grid-template-columns:1fr; gap:46px; padding-top:42px; padding-bottom:45px; }
  .zh h1 { font-size:48px; letter-spacing:-2px; }
  .zh .hero-photo-wrap { aspect-ratio:4/4.9; border-radius:200px 200px 4px 4px; }
  .zh .detail-note { left:0; bottom:60px; font-size:16px; padding:14px 16px; } .zh .detail-note-line { display:none; }
  .zh .values-strip .shell { gap:22px; font-size:9px; padding-block:16px; } .zh .values-strip i { font-size:16px; }
  .zh .collection-grid { grid-template-columns:1fr 1fr; gap:16px; } .zh .collection-card, .zh .collection-card:nth-child(n+4) { grid-column:span 1; }
  .zh .collection-card:nth-child(n+4) .collection-image { aspect-ratio:4/5; } .zh .collection-info h3 { font-size:20px; }
  .zh .story { padding-block:60px; } .zh .story-grid { grid-template-columns:1fr; gap:35px; }
  .zh .process-grid { grid-template-columns:1fr; gap:26px; margin-top:30px; }
  .zh .custom-grid { grid-template-columns:1fr; gap:15px; } .zh .custom-copy { padding:0; } .zh .thread-decoration { display:none; }
  .zh .closing { padding-block:55px; gap:25px; } .zh .closing p { font-size:23px; }
}
@media (max-width:520px) {
  .zh .collection-grid { grid-template-columns:1fr; }
  .zh .palette-options { gap:8px; } .zh .design-form { padding:25px 18px; }
  .zh .zf input, .zh .zf select, .zh .zf textarea { font-size:16px; }
}
@media (prefers-reduced-motion:reduce) { .zh *, .zh *::before, .zh *::after { transition:none !important; } }
