@font-face{font-family:'Frank Ruhl Libre';font-style:normal;font-weight:300 900;font-display:swap;src:url(fonts/FrankRuhlLibre-hebrew.woff2) format('woff2');unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F}
@font-face{font-family:'Frank Ruhl Libre';font-style:normal;font-weight:300 900;font-display:swap;src:url(fonts/FrankRuhlLibre-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Suez One';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/SuezOne-hebrew.woff2) format('woff2');unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F}
@font-face{font-family:'Suez One';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/SuezOne-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/CormorantGaramond-400i.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url(fonts/CormorantGaramond-500i.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/CormorantGaramond-400.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/CormorantGaramond-500.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/CormorantGaramond-600.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Jost';font-style:normal;font-weight:300;font-display:swap;src:url(fonts/Jost-300.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/Jost-400.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/Jost-500.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Jost';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/Jost-600.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Pinyon Script';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/PinyonScript-400.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root{
  --bg:#fbf7f2; --paper:#fff; --ink:#2b2226; --muted:#6c5f63; --plum:#7a4b53; --plum-d:#5e3540; --gold:#b8914a; --line:#eadfd5;
  --radius:16px; --shadow:0 10px 30px rgba(60,35,40,.12);
  --serif: "Cormorant Garamond", "Frank Ruhl Libre", "Didot", "Bodoni 72", Georgia, "Times New Roman", serif;
  --script: "Pinyon Script", "Snell Roundhand", "Apple Chancery", "Brush Script MT", "Segoe Script", cursive;
  --sans: "Jost", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 var(--sans);overflow-x:hidden}
img{max-width:100%;display:block;height:auto}
a{color:var(--plum)}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.15;margin:0 0 .5em;color:var(--ink)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:0;background:var(--plum);color:#fff;padding:.5em 1em;z-index:10}
.skip:focus{left:8px;top:8px}
[hidden]{display:none !important}

/* header / footer */
.site-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem clamp(1rem,4vw,3rem);background:rgba(251,247,242,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:.4rem;text-decoration:none;color:var(--ink)}
.brand-mark{color:var(--gold);font-size:1.2rem}
.brand-name{font-family:var(--serif);font-size:1.35rem;font-weight:600;letter-spacing:.01em}
.site-header nav{display:flex;align-items:center;gap:1.1rem}
.site-header nav a{text-decoration:none;color:var(--muted);font-size:.95rem}
.site-header nav a.btn{color:#fff}
.site-footer{text-align:center;padding:3rem 1.25rem 2.5rem;color:var(--muted);border-top:1px solid var(--line);margin-top:3rem}
.site-footer .brand-name{color:var(--ink);margin:0 0 .3rem}
.site-footer p{margin:.25rem auto;max-width:36rem}
.site-footer .fine{font-size:.8rem}
.site-footer.slim{padding:1.5rem;margin-top:1.5rem;font-size:.9rem}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:48px;padding:.75rem 1.4rem;border-radius:999px;border:1.5px solid var(--plum);background:var(--plum);color:#fff;font:600 1rem/1.1 var(--sans);text-decoration:none;cursor:pointer;transition:background .15s,transform .1s}
.btn:hover{background:var(--plum-d)}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.6;cursor:wait}
.btn-ghost{background:transparent;color:var(--plum)}
.btn-ghost:hover{background:rgba(122,75,83,.08)}
.btn-light{background:#fff;color:var(--plum);border-color:#fff}
.btn-light:hover{background:#f6ece4}
.btn-small{min-height:38px;padding:.45rem 1rem;font-size:.9rem}
.btn-block{width:100%}
.linkish{background:none;border:0;color:var(--plum);text-decoration:underline;font:inherit;cursor:pointer;padding:.5rem 0}

/* hero */
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center;max-width:1180px;margin:0 auto;padding:clamp(2rem,6vw,5rem) clamp(1.25rem,4vw,3rem)}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;color:var(--gold);font-weight:700;margin:0 0 1rem}
.hero h1{font-size:clamp(2.4rem,5.5vw,4.2rem)}
.hero h1 em{font-family:var(--script);font-style:normal;color:var(--plum);font-weight:400}
.lede{font-size:1.12rem;color:var(--muted);max-width:34rem}
.hero-cta{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.6rem 0}
.ticks{list-style:none;padding:0;margin:0;display:grid;gap:.35rem;color:var(--muted);font-size:.95rem}
.ticks li::before{content:"✓";color:var(--gold);font-weight:700;margin-right:.5rem}
.hero-art{display:flex;justify-content:center}
.stack{position:relative;width:min(100%,380px);aspect-ratio:4/5}
.stack img{position:absolute;width:62%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:10px;box-shadow:var(--shadow);border:6px solid #fff}
.stack .s1{left:0;top:8%;transform:rotate(-8deg)}
.stack .s3{right:0;top:8%;transform:rotate(8deg)}
.stack .s2{left:19%;top:0;z-index:2}

/* designs */
.designs{max-width:1180px;margin:0 auto;padding:2rem clamp(1.25rem,4vw,3rem)}
.section-head{text-align:center;margin-bottom:1.25rem}
.section-head h2,.how h2{font-size:clamp(1.9rem,4vw,2.8rem)}
.section-head p{color:var(--muted);margin:0}
.filters{display:flex;gap:.5rem;overflow-x:auto;padding:.25rem .1rem 1rem;scrollbar-width:none;justify-content:center;flex-wrap:wrap}
.chip{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:.5rem 1rem;font:500 .92rem var(--sans);cursor:pointer;white-space:nowrap;min-height:40px}
.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.tile{position:relative;display:block;text-decoration:none;color:var(--ink);background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 2px 10px rgba(60,35,40,.08);transition:transform .2s,box-shadow .2s}
.tile:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.tile img{width:100%;height:auto;aspect-ratio:2/3;object-fit:cover}
.tile-meta{display:block;padding:.8rem .9rem .2rem}
.tile-name{display:block;font-family:var(--serif);font-size:1.2rem;font-weight:600}
.tile-cats{display:block;font-size:.78rem;color:var(--muted)}
.tile-cta{display:block;padding:0 .9rem .9rem;color:var(--plum);font-weight:600;font-size:.9rem}

/* how */
.how{max-width:1000px;margin:2rem auto;padding:2rem clamp(1.25rem,4vw,3rem);text-align:center}
.steps{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.steps li{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem 1.25rem}
.steps .num{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--plum);color:#fff;font-weight:700;margin-bottom:.6rem}
.steps h3{font-size:1.35rem}
.steps p{margin:0;color:var(--muted)}
.cta-band{background:linear-gradient(135deg,var(--plum),#4a2a33);color:#fff;text-align:center;padding:3.5rem 1.25rem;margin-top:2rem}
.cta-band h2{color:#fff;font-size:clamp(1.7rem,4vw,2.5rem)}

/* invitation card */
.card{position:relative;aspect-ratio:2/3;width:100%;background-size:cover;background-position:center;border-radius:6px;box-shadow:0 12px 34px rgba(40,25,30,.22);color:var(--ink);overflow:hidden;container-type:inline-size}
.card-inner{position:absolute;inset:13% 15%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.2em;font-size:clamp(11px,4.1cqw,22px)}
.card p{margin:0}
.bsd{position:absolute;top:-6%;right:-4%;font-family:var(--serif);font-size:.85em;opacity:.8}
.c-kicker{font-family:var(--serif);font-style:italic;font-size:1.05em;opacity:.9}
.c-names{color:var(--accent);margin:.25em 0 .2em;font-size:2.6em;line-height:1.05;font-weight:400;font-family:var(--serif);word-break:break-word}
.font-script .c-names{font-family:var(--script)}
.font-sans .c-names{font-family:var(--sans);font-weight:300;letter-spacing:.04em;text-transform:uppercase;font-size:2em}
.c-line{font-family:var(--serif);font-size:1.05em}
.c-when{margin-top:.9em !important;font-family:var(--sans);text-transform:uppercase;letter-spacing:.12em;font-size:.72em;font-weight:600}
.c-venue{font-family:var(--serif);font-size:1.15em;font-weight:600;margin-top:.5em !important}
.c-addr{font-size:.75em;opacity:.85}
.c-msg{margin-top:.9em !important;font-family:var(--serif);font-style:italic;font-size:.95em}

/* create */
.create{max-width:1180px;margin:0 auto;padding:1.5rem clamp(1rem,4vw,3rem)}
.create-head{text-align:center;margin-bottom:1.25rem}
.create-head h1{font-size:clamp(2rem,4vw,2.8rem)}
.create-head p{color:var(--muted);margin:0}
.create-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem;align-items:start}
.preview-col{position:sticky;top:80px}
.preview{max-width:440px;margin:0 auto}
.editor fieldset{border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:1rem 1.1rem 1.1rem;margin:0 0 1rem}
.editor legend{font-family:var(--serif);font-size:1.2rem;font-weight:600;padding:0 .4rem}
label{display:block;font-size:.88rem;font-weight:600;color:var(--muted);margin:.6rem 0 0}
input,select,textarea{display:block;width:100%;margin-top:.3rem;font:16px/1.4 var(--sans);color:var(--ink);background:#fff;border:1px solid #d9cbc0;border-radius:10px;padding:.7rem .8rem;min-height:46px}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--plum);outline:2px solid rgba(122,75,83,.25);outline-offset:0}
label.check{display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--ink)}
label.check input{width:20px;height:20px;min-height:0;margin:0}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.hint{font-size:.85rem;color:var(--muted);margin:.5rem 0 0}
.picker{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin-top:.8rem}
.pick{border:2px solid transparent;border-radius:10px;padding:0;background:none;cursor:pointer;text-align:center;font:500 .72rem var(--sans);color:var(--muted)}
.pick img{width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:8px}
.pick span{display:block;padding:.25rem 0}
.pick.on{border-color:var(--plum);color:var(--ink)}
.form-error{color:#a3292f;font-weight:600;margin:.5rem 0}
.done{max-width:640px;margin:2rem auto 0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);text-align:center}
.share-box{margin-top:1rem;text-align:left}
.share-box.private{border-top:1px dashed var(--line);padding-top:1rem;margin-top:1.25rem}
.share-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.8rem}

/* event */
.event{max-width:520px;margin:0 auto;padding:1.25rem 1rem}
.event-card .card{border-radius:4px}
.details,.rsvp{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;margin-top:1.25rem}
.detail-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:1rem}
.rsvp h2{font-size:1.8rem;text-align:center;margin-bottom:.2rem}
.rsvp #rsvp-by{text-align:center}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.9rem}
.seg label{margin:0;position:relative}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:flex;align-items:center;justify-content:center;min-height:48px;border:1.5px solid #d9cbc0;border-radius:12px;color:var(--ink);font-weight:600;text-align:center;padding:.4rem;cursor:pointer}
.seg input:checked+span{border-color:var(--plum);background:rgba(122,75,83,.08);color:var(--plum)}
.seg input:focus-visible+span{outline:3px solid var(--gold);outline-offset:2px}
.rsvp form .btn{margin-top:1rem}
.rsvp-done{text-align:center}
.rsvp-done .big{font-family:var(--serif);font-size:1.6rem;margin:.2rem 0}
.loading,.missing{text-align:center;padding:4rem 1rem;color:var(--muted)}

/* manage */
.manage{max-width:720px;margin:0 auto;padding:2rem 1rem}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:1rem 0}
.stats div{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1rem;text-align:center}
.stats strong{display:block;font-family:var(--serif);font-size:2.2rem;color:var(--plum)}
.stats span{font-size:.85rem;color:var(--muted)}
.m-actions{display:flex;gap:.6rem;flex-wrap:wrap}
.rsvp-list{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.5rem}
.rsvp-list li{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.8rem 1rem}
.rsvp-list p{margin:.2rem 0 0;color:var(--muted);font-size:.9rem}
.rsvp-list .tag{white-space:nowrap;font-size:.8rem;font-weight:700;padding:.25rem .6rem;border-radius:999px;background:#eef3e6;color:#47602c}
.rsvp-list li.no .tag{background:#f6e7e7;color:#8a2f35}
.rsvp-list li.empty{color:var(--muted);justify-content:center}

/* responsive */
@media (max-width:900px){
  .gallery{grid-template-columns:repeat(3,1fr)}
  .create-grid{grid-template-columns:minmax(0,1fr);gap:1.5rem}
  .preview-col{position:static}
  .preview{max-width:340px}
}
@media (max-width:720px){
  .site-header nav a:not(.btn){display:none}
  .hero{grid-template-columns:1fr;gap:1.5rem;text-align:center;padding-top:1.75rem}
  .hero-art{order:-1}
  .stack{width:min(78%,300px)}
  .lede{margin-left:auto;margin-right:auto}
  .hero-cta{justify-content:center}
  .hero-cta .btn{flex:1 1 100%}
  .ticks{justify-items:center}
  .filters{justify-content:flex-start;flex-wrap:nowrap;margin:0 -1.25rem;padding-left:1.25rem;padding-right:1.25rem}
  .gallery{grid-template-columns:repeat(2,1fr);gap:.8rem}
  .tile-name{font-size:1.05rem}
  .steps{grid-template-columns:1fr}
  .picker{grid-template-columns:repeat(4,1fr);gap:.4rem}
  .pick span{font-size:.65rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none !important;scroll-behavior:auto !important}}

/* artwork-specific text areas (October redesign): keep words inside each design's quiet centre */
.card .card-inner{text-shadow:0 0 .6em var(--halo,rgba(255,252,246,.85))}
.tpl-gold-deco{--halo:rgba(14,26,48,.7)}
.tpl-gold-deco .card-inner{inset:16% 16% 11%}
.tpl-blush-wash .card-inner{inset:22% 13% 22%}
.tpl-color-block .card-inner{inset:15% 21% 16%}
.tpl-color-block .c-names{font-size:1.7em}
.tpl-terracotta-arch .card-inner{inset:11% 15% 39%;font-size:clamp(9px,3.5cqw,19px);gap:.1em}
.tpl-sage-line .card-inner{inset:16% 19% 26% 21%}
.tpl-sage-line .bsd{position:static;margin-bottom:.4em}
.tpl-pressed-bloom .card-inner{inset:26% 20% 24% 21%;font-size:clamp(10px,3.7cqw,20px)}
.tpl-dusk-riso .card-inner{inset:22% 15% 20%}
.tpl-pomegranate-line .card-inner{inset:17% 19% 27% 17%}
.font-sans .c-names{letter-spacing:.08em}
.c-names{font-weight:400}
.font-script .c-names{font-size:3em;line-height:1.1}

.tpl-marble-gold .card-inner{inset:20% 16% 20%}
.tpl-emerald-gold{--halo:rgba(10,40,28,.6)}
.tpl-emerald-gold .card-inner{inset:20% 20% 14%}

.c-when .nw{white-space:nowrap}

/* Simcha collection (Oct 2026): each design carries its own text area (inline inset) */
.gallery-sub{grid-column:1/-1;margin:1.6rem 0 .2rem;text-align:center;font:500 .8rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.picker-filters{display:flex;gap:.4rem;overflow-x:auto;margin:.8rem -.2rem 0;padding:0 .2rem .2rem;scrollbar-width:none}
.picker-filters::-webkit-scrollbar{display:none}
.picker-filters .chip{min-height:34px;padding:.35rem .8rem;font-size:.8rem}

.card.boxed .card-inner{gap:.12em;overflow:hidden;padding:0 .2em}
.card.boxed .bsd{position:static;margin-bottom:.35em;font-size:.8em}
.card.boxed .c-names{font-size:2.3em;margin:.18em 0 .12em}
.card.boxed.font-script .c-names{font-size:2.7em}
.card.boxed.font-sans .c-names{font-size:1.75em}
.card.boxed .c-when{margin-top:.7em !important}
.card.boxed .c-msg{margin-top:.7em !important}
.card.dark{--halo:rgba(10,8,6,.65)}
.tile img,.pick img{aspect-ratio:3/4}
.tile-sub{display:block;font-size:.72rem;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-top:.1rem}
.subfilters{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center;margin:-.4rem 0 1.1rem}
.subfilters .chip{min-height:34px;padding:.35rem .85rem;font-size:.82rem;background:transparent}
.subfilters .chip.on{background:var(--plum);border-color:var(--plum);color:#fff}
.occ-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin:0 0 2.2rem}
.occ-card{position:relative;display:block;border-radius:var(--radius);overflow:hidden;text-decoration:none;color:#fff;aspect-ratio:3/4;box-shadow:0 2px 10px rgba(60,35,40,.1);background:#ddd;cursor:pointer;border:0;padding:0;font:inherit;text-align:left}
.occ-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.occ-card:hover img{transform:scale(1.04)}
.occ-card span{position:absolute;left:0;right:0;bottom:0;padding:2.4rem .8rem .75rem;background:linear-gradient(transparent,rgba(25,15,18,.78))}
.occ-card b{display:block;font-family:var(--serif);font-size:1.25rem;font-weight:600;line-height:1.1}
.occ-card small{display:block;font:500 .72rem var(--sans);letter-spacing:.08em;text-transform:uppercase;opacity:.9;margin-top:.2rem}
.gallery-head{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:.4rem 0 .1rem}
.gallery-head h3{margin:0;font-size:1.5rem}
.gallery-head small{color:var(--muted);font-size:.85rem}
@media (max-width:980px){.occ-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){
  .occ-grid{grid-template-columns:repeat(2,1fr);gap:.7rem}
  .occ-card b{font-size:1.1rem}
  .subfilters{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;margin:-.4rem -1.25rem 1rem;padding:0 1.25rem;scrollbar-width:none}
  .subfilters::-webkit-scrollbar{display:none}
  .filters::-webkit-scrollbar{display:none}
}

/* gallery previews show sample wording on each design */
.tile-card{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;background:#eee}
.tile-card .card{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);border-radius:0;box-shadow:none}
.card .card-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;aspect-ratio:auto}
.card .card-inner{z-index:1}
.tile .card-bg{aspect-ratio:auto}
.tile-card .card-inner{pointer-events:none}
.tile-new{position:absolute;top:.55rem;left:.55rem;z-index:2;background:rgba(255,255,255,.92);color:var(--plum);font:600 .66rem var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:.22rem .5rem;border-radius:99px;box-shadow:0 1px 4px rgba(0,0,0,.12)}

/* ---------- Yiddish (אידיש) ---------- */
/* language switch in the header */
.ui-toggle{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:.35rem .8rem;min-height:36px;font:600 .9rem "Frank Ruhl Libre",var(--sans);cursor:pointer;white-space:nowrap}
.ui-toggle:lang(en){font-family:var(--sans);font-weight:500}
/* invitation-wording switch above the gallery */
.card-lang{display:flex;align-items:center;justify-content:center;gap:.4rem;flex-wrap:wrap;margin:0 auto 1rem;font-size:.9rem;color:var(--muted)}
.card-lang span{margin-inline-end:.2rem;font-weight:500}
.card-lang button{border:1.5px solid #d9cbc0;background:#fff;color:var(--ink);border-radius:999px;min-height:40px;padding:.3rem 1.1rem;font:600 .95rem var(--sans);cursor:pointer}
.card-lang button:lang(yi){font-family:"Frank Ruhl Libre",serif;font-size:1.05rem}
.card-lang button.on{background:var(--plum);border-color:var(--plum);color:#fff}
.field{margin:.6rem 0 0}
.flabel{display:block;font-size:.88rem;font-weight:600;color:var(--muted)}
.seg-lang{margin-top:.35rem}
.seg-lang span:lang(yi){font-family:"Frank Ruhl Libre",serif;font-size:1.1rem}
.words-yi textarea[name],.words-yi input[name=names]{font-family:"Frank Ruhl Libre",var(--sans);font-size:17px}

/* the invitation card in Yiddish: right to left, Frank Ruhl Libre with a heavy display title */
.card.lang-yi .card-inner{font-family:"Frank Ruhl Libre","Noto Serif Hebrew","Times New Roman",serif;line-height:1.3}
.card.lang-yi .bsd{font-family:"Frank Ruhl Libre",serif;font-weight:500;right:-4%;left:auto}
.card.lang-yi .c-kicker{font-family:inherit;font-style:normal;font-weight:500;font-size:1em;line-height:1.35}
.card.lang-yi .c-names{font-family:"Frank Ruhl Libre",serif;font-weight:900;letter-spacing:0;text-transform:none;line-height:1.1}
.card.lang-yi.font-script .c-names,.card.lang-yi.font-sans .c-names{font-family:"Suez One","Frank Ruhl Libre",serif;font-weight:400}
.card.lang-yi.boxed .c-names,.card.lang-yi.boxed.font-script .c-names{font-size:2.35em}
.card.lang-yi.boxed.font-sans .c-names{font-size:2.1em}
.card.lang-yi .c-line{font-family:inherit;font-weight:500;line-height:1.35}
.card.lang-yi .c-when{font-family:inherit;text-transform:none;letter-spacing:0;font-size:.9em;font-weight:700;line-height:1.4}
.card.lang-yi .c-venue{font-family:inherit;font-weight:700}
.card.lang-yi .c-addr{font-family:var(--sans);font-size:.72em}
.card.lang-yi .c-msg{font-family:inherit;font-style:normal;font-weight:500;line-height:1.35}

/* the site's own pages in Yiddish */
html[lang=yi] body{font-family:"Frank Ruhl Libre",var(--sans)}
html[lang=yi] h1,html[lang=yi] h2,html[lang=yi] h3,html[lang=yi] legend,html[lang=yi] .occ-card b{font-family:"Frank Ruhl Libre",var(--serif);font-weight:700}
html[lang=yi] .hero h1 em{font-family:"Suez One","Frank Ruhl Libre",serif;font-size:1.05em}
html[lang=yi] input,html[lang=yi] select,html[lang=yi] textarea,html[lang=yi] .chip,html[lang=yi] .btn,html[lang=yi] .tile-new,html[lang=yi] .occ-card small,html[lang=yi] .seg span{font-family:"Frank Ruhl Libre",var(--sans)}
html[lang=yi] .btn{font-weight:700;font-size:1.02rem}
html[lang=yi] .eyebrow,html[lang=yi] .occ-card small,html[lang=yi] .tile-new,html[lang=yi] .gallery-head small{letter-spacing:0;text-transform:none}
html[lang=yi] .occ-card{text-align:right}
html[lang=yi] .tile-new{left:auto;right:.55rem}
html[lang=yi] .ticks li::before{margin-right:0;margin-left:.5rem}
html[lang=yi] .tile-name{display:block;text-align:right}
html[lang=yi] label,html[lang=yi] .flabel{font-size:.95rem}
html[lang=yi] .site-header .brand-name,html[lang=yi] .site-footer .brand-name{direction:ltr}
input[type=date],input[type=time],input[readonly]{direction:ltr}
html[lang=yi] input[type=date],html[lang=yi] input[type=time]{text-align:right}
html[lang=yi] .share-box{text-align:right}
.card.lang-yi .c-kicker,.card.lang-yi .c-line,.card.lang-yi .c-msg{text-wrap:balance}
html[dir=rtl] .skip{left:auto;right:-999px}
html[dir=rtl] .skip:focus{right:8px;left:auto}
.editor fieldset{min-width:0;min-inline-size:0}
html[dir=rtl] input[dir=auto]:placeholder-shown,html[dir=rtl] textarea[dir=auto]:placeholder-shown{direction:rtl;text-align:right}

/* ---------- watermark (unpaid preview) ---------- */
.card .wm{position:absolute;inset:-20%;z-index:3;display:flex;flex-direction:column;justify-content:space-around;align-items:center;transform:rotate(-28deg);pointer-events:none;user-select:none}
.card .wm span{font:700 7.5cqw/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;color:rgba(255,255,255,.5);-webkit-text-stroke:.28cqw rgba(60,35,40,.34);text-shadow:0 0 1.2cqw rgba(0,0,0,.08)}
.wm-note{display:flex;align-items:center;justify-content:center;gap:.4rem;font-size:.85rem;color:var(--muted);margin:.6rem 0 0;text-align:center}

/* ---------- order page (checkout + delivery) ---------- */
.order{max-width:1080px;margin:0 auto;padding:1.25rem clamp(1rem,4vw,2.5rem) 2.5rem}
.order-grid{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:2.25rem;align-items:start}
.order-card{position:sticky;top:84px}
.order-card .card{border-radius:4px}
.order-card .linkish{display:block;margin:.6rem auto 0;text-align:center}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem 1.3rem;box-shadow:var(--shadow);margin-bottom:1.25rem}
.panel h1{font-size:clamp(1.8rem,4.5vw,2.4rem);margin:0 0 .4rem;line-height:1.1}
.panel h2{font-size:1.45rem;margin:0 0 .3rem}
.step-tag{display:inline-block;font:600 .78rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:0 0 .4rem}
.price{color:var(--plum);white-space:nowrap}
.incl{list-style:none;padding:0;margin:.6rem 0 1rem;display:grid;gap:.35rem}
.incl li{padding-inline-start:1.6rem;position:relative}
.incl li::before{content:"✓";position:absolute;inset-inline-start:0;color:var(--gold);font-weight:700}
.pay-btn{margin-top:1rem;font-size:1.08rem}
.secure{font-size:.82rem;color:var(--muted);text-align:center;margin:.6rem 0 0}
.notice{border-radius:12px;padding:.85rem 1rem;margin:.8rem 0;font-size:.95rem;line-height:1.45}
.notice.soon{background:#fbf3e4;border:1px solid #ecd9b4;color:#5b4520}
.notice.ok{background:#eef6ef;border:1px solid #cfe3d1;color:#24502c}
.notice.err{background:#fbeeee;border:1px solid #efcdcd;color:#7c2328}
.code{font:700 1.15rem/1 ui-monospace,Menlo,monospace;letter-spacing:.1em;background:#f5efe9;border-radius:8px;padding:.25rem .5rem;direction:ltr;unicode-bidi:isolate}
.dl-row{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:.9rem 0}
.dl-row .btn[aria-disabled=true]{opacity:.5;pointer-events:none}
.poster-status{display:flex;align-items:center;gap:.6rem;color:var(--muted);font-size:.92rem;margin:.4rem 0}
.spin{width:18px;height:18px;border:2.5px solid #e6d8cc;border-top-color:var(--plum);border-radius:50%;animation:spin .8s linear infinite;flex:none}
@keyframes spin{to{transform:rotate(360deg)}}
.send-box{border-top:1px dashed var(--line);margin-top:1.2rem;padding-top:1rem}
.send-row{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:end}
.send-row .btn{min-height:46px}
.sent-list{list-style:none;padding:0;margin:.6rem 0 0;display:grid;gap:.3rem;font-size:.92rem}
.sent-list .ok{color:#24502c}.sent-list .spam-tip{color:#5d5458;font-size:.86rem}.sent-list .bad{color:#7c2328}
.self-share{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.7rem}
.self-share .btn{padding:.6rem .5rem;font-size:.9rem;min-height:44px}
.linkish{background:none;border:0;padding:.3rem;color:var(--plum);font:600 .92rem var(--sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.inactive{background:#fbf3e4;border:1px solid #ecd9b4;border-radius:var(--radius);padding:1rem 1.1rem;margin-top:1.25rem;text-align:center;color:#5b4520}

/* ---------- reviews ---------- */
.reviews{max-width:1000px;margin:0 auto;padding:3rem clamp(1rem,4vw,2.5rem) 1rem}
.rv-summary{display:flex;align-items:center;justify-content:center;gap:.6rem;flex-wrap:wrap;margin:.2rem 0 0;color:var(--muted)}
.rv-avg{font:600 2rem/1 var(--serif);color:var(--ink)}
.stars{color:var(--gold);letter-spacing:.08em;white-space:nowrap;direction:ltr;unicode-bidi:isolate}
.stars .off{color:#ddd0c4}
.rv-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;margin:1.5rem 0;padding:0;list-style:none}
.rv{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.15rem}
.rv p{margin:.45rem 0 0;line-height:1.5;white-space:pre-line;overflow-wrap:anywhere}
.rv-meta{display:flex;justify-content:space-between;gap:.5rem;align-items:center;font-size:.85rem;color:var(--muted);margin-top:.6rem}
.rv-meta strong{color:var(--ink)}
.rv-badge{font-size:.75rem;color:#24502c;background:#eef6ef;border-radius:999px;padding:.1rem .5rem;white-space:nowrap}
.rv-empty{text-align:center;color:var(--muted);background:#fff;border:1px dashed var(--line);border-radius:var(--radius);padding:1.4rem;grid-column:1/-1}
.rv-form{max-width:560px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem 1.2rem 1.3rem}
.rv-form h3{margin:0;font-family:var(--serif);font-size:1.45rem}
.star-pick{display:flex;gap:.2rem;margin-top:.4rem;direction:ltr;justify-content:flex-start}
[dir=rtl] .star-pick{justify-content:flex-end}
.star-pick button{background:none;border:0;padding:.1rem .15rem;font-size:2.1rem;line-height:1;color:#ddd0c4;cursor:pointer;min-width:44px;min-height:44px}
.star-pick button.on{color:var(--gold)}
.star-pick button:focus-visible{outline:3px solid var(--gold);outline-offset:1px;border-radius:6px}
.hp{position:absolute!important;inset-inline-start:0;top:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;opacity:0}
.rv-form{position:relative}
.hero-rating{display:inline-flex;align-items:center;gap:.45rem;margin-top:1rem;color:var(--muted);text-decoration:none;font-size:.95rem}
.hero-rating strong{color:var(--ink)}

/* ---------- owner page ---------- */
.owner{max-width:980px;margin:0 auto;padding:1.25rem clamp(1rem,4vw,2rem) 3rem}
.owner h1{font-size:2rem;margin:.2rem 0 1rem}
.o-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin-bottom:1.2rem}
.o-stats div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.8rem;text-align:center}
.o-stats b{display:block;font:600 1.6rem/1.1 var(--serif)}
.o-stats span{font-size:.8rem;color:var(--muted)}
.o-tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem}
.o-list{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}
.o-item{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.85rem 1rem}
.o-item .row{display:flex;justify-content:space-between;gap:.6rem;align-items:flex-start;flex-wrap:wrap}
.o-item .acts{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.6rem}
.o-item .btn{min-height:38px;padding:.4rem .9rem;font-size:.88rem}
.o-item.hidden-rv{opacity:.6}
.pill{display:inline-block;font:600 .75rem var(--sans);border-radius:999px;padding:.15rem .6rem;background:#f1e9e2;color:var(--ink);white-space:nowrap}
.pill.paid{background:#e3f1e5;color:#24502c}.pill.wait{background:#fbf0d9;color:#6b4e12}.pill.unpaid{background:#f1e9e2;color:#6c5f63}
.o-set fieldset{border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:1rem 1.1rem 1.1rem;margin:0 0 1rem}
.o-set legend{font-family:var(--serif);font-size:1.25rem;font-weight:600;padding:0 .4rem}
.o-set .how{font-size:.86rem;color:var(--muted);background:#faf6f1;border-radius:10px;padding:.7rem .85rem;margin:.6rem 0 0;line-height:1.5}
.o-set .how ol{margin:.3rem 0 0;padding-inline-start:1.2rem}
.saved-hint{font-size:.8rem;color:#24502c;font-weight:600}
.radio-list label{display:flex;gap:.55rem;align-items:flex-start;font-weight:500;color:var(--ink);margin:.55rem 0 0}
.radio-list input{width:20px;height:20px;min-height:0;margin:.1rem 0 0;flex:none}
@media (max-width:820px){
  .order-grid{grid-template-columns:1fr;gap:1.1rem}
  .order-card{position:static;max-width:360px;margin:0 auto;width:100%}
  .o-stats{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:420px){ .self-share{grid-template-columns:1fr 1fr 1fr} .self-share .btn{font-size:.82rem} }

/* wording-nusach */
.card .c-kicker,.card .c-line,.card .c-msg{white-space:pre-line}

/* pay-manual */
.pay-way{margin:0 0 .8rem}.pay-way p{margin:0 0 .5rem}.pay-addr{font-weight:700;word-break:break-all}.btn-sm{padding:.25rem .7rem;min-height:32px;font-size:.85rem;vertical-align:middle}

/* top-previews */
.stack .hero-card{position:absolute;display:block;width:62%;aspect-ratio:3/4;border-radius:10px;box-shadow:var(--shadow);border:6px solid #fff;overflow:hidden;background:#eee}
.hero-card .card,.occ-card .occ-mini .card,.pick .pick-card .card{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);border-radius:0;box-shadow:none}
.hero-card .card-inner,.occ-mini .card-inner,.pick-card .card-inner{pointer-events:none}
.occ-card .occ-mini{position:absolute;inset:0;display:block;overflow:hidden;padding:0;background:none;transition:transform .4s}
.occ-card:hover .occ-mini{transform:scale(1.04)}
.occ-card .occ-mini span{position:static;padding:0;background:none}
.occ-card .occ-label{padding:1.6rem .7rem .6rem;background:linear-gradient(transparent,rgba(25,15,18,.82) 55%)}
.pick .pick-card{position:relative;display:block;width:100%;aspect-ratio:3/4;overflow:hidden;border-radius:8px;background:#eee;padding:0}
.pick .pick-card span{display:inline;padding:0;font:inherit}

/* ---------- video invitations ---------- */
.kind-set{border-color:var(--gold)}
.seg-kind span{flex-direction:column;gap:.1rem;min-height:62px}
.seg-kind small{font-weight:500;color:var(--muted)}
.seg-kind input:checked+span small{color:var(--plum)}
.music-wrap{margin-top:.8rem}
.music-wrap .hint{margin-top:0}
.music-list{display:grid;gap:.45rem;margin-top:.45rem}
.track{display:flex;align-items:center;gap:.6rem;margin:0;padding:.45rem .5rem .45rem .8rem;border:1.5px solid #d9cbc0;border-radius:12px;cursor:pointer;background:#fff}
.track{position:relative}
.track input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;inset-inline-start:0;top:0}
.track.on,.track:has(input:checked){border-color:var(--plum);background:rgba(122,75,83,.07)}
.track:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:2px}
.track .tname{flex:1;display:flex;flex-direction:column;line-height:1.25}
.track .tname b{font-weight:600}
.track .tname small{font-family:"Frank Ruhl Libre",serif;font-size:.95rem;color:var(--muted)}
.track .play{flex:none;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--plum);background:#fff;color:var(--plum);font-size:.95rem;cursor:pointer;display:grid;place-items:center}
.track .play.playing{background:var(--plum);color:#fff}
.vprev{max-width:440px;margin:.9rem auto 0}
.vprog{margin:.6rem 0 0;display:flex;align-items:center;gap:.6rem}
.vprog .bar{flex:1;height:8px;border-radius:99px;background:var(--line);overflow:hidden}
.vprog .bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--plum));border-radius:99px;transition:width .15s linear}
.vprog span{font-size:.85rem;color:var(--muted);min-width:3.2em;text-align:end}
.vstage{max-width:340px;margin:0 auto}
.video-canvas{display:block;width:100%;height:auto;aspect-ratio:9/16;border-radius:12px;box-shadow:var(--shadow);background:#222}
.vid-box{border:1.5px solid var(--gold);border-radius:var(--radius);padding:1rem;margin:0 0 1rem;background:#fffdf8}
.vid-box h2{margin:0 0 .2rem;font-size:1.35rem}
.vid-box .vstage{margin:.6rem auto}
.v-player{display:block;width:100%;max-width:340px;margin:.6rem auto;aspect-ratio:9/16;border-radius:12px;background:#111}
.music-line{margin:.2rem 0;font-size:.95rem;color:var(--muted)}
.btn-card{background:#1a1f36;border-color:#1a1f36}
.pay-card{padding-bottom:.4rem;border-bottom:1px solid var(--line);margin-bottom:.6rem}
.ev-play{max-width:440px;margin:.8rem auto 0}
.ev-video{display:block;width:100%;max-width:420px;margin:0 auto;aspect-ratio:9/16;border-radius:12px;background:#111}
.kind-v{color:var(--plum)}
.kind-toggle{max-width:440px;margin:0 auto 1rem}
.kind-toggle span{gap:.35rem}
.tile-badge{position:absolute;top:.5rem;inset-inline-end:.5rem;z-index:3;background:rgba(255,255,255,.92);border-radius:99px;padding:.15rem .45rem;font-size:1rem;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.video-band{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;align-items:center;max-width:1180px;margin:0 auto;padding:clamp(1.5rem,5vw,3.5rem) clamp(1.25rem,4vw,3rem);background:linear-gradient(135deg,#fff8ec,#f6ece6);border-radius:24px}
.video-band h2{font-size:clamp(1.9rem,4.2vw,3rem);margin:.2rem 0 .6rem}
.badge-new{display:inline-block;background:var(--plum);color:#fff;border-radius:99px;padding:.05rem .6rem;font-size:.8rem;letter-spacing:.06em;margin-inline-end:.3rem}
.vb-music{list-style:none;padding:0;margin:1rem 0;display:flex;flex-wrap:wrap;gap:.4rem}
.vb-music li{background:#fff;border:1px solid var(--line);border-radius:99px;padding:.3rem .75rem;font-size:.92rem}
.vb-video{position:relative;justify-self:center;width:min(300px,78vw)}
.vb-video video{display:block;width:100%;aspect-ratio:9/16;border-radius:18px;box-shadow:var(--shadow);background:#222;object-fit:cover}
.vb-sound{position:absolute;bottom:.7rem;inset-inline-end:.7rem;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.9);font-size:1.15rem;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.2)}
@media (max-width:900px){.video-band{grid-template-columns:1fr;gap:1.5rem;margin:0 .75rem;text-align:center}.vb-music{justify-content:center}.video-band .hero-cta{justify-content:center}}

/* ---------- Oct 28: design looks (typography variety) ---------- */
.card.look-caps .c-names{font-family:var(--sans);font-weight:500;text-transform:uppercase;letter-spacing:.16em;font-size:1.55em;line-height:1.2}
.card.look-caps .c-kicker{font-family:var(--sans);font-style:normal;text-transform:uppercase;letter-spacing:.14em;font-size:.72em;line-height:1.6}
.card.look-italic .c-names{font-family:var(--serif);font-style:italic;font-weight:500;font-size:2.5em}
.card.look-classic .c-names{font-family:var(--serif);font-weight:600;font-size:2.15em;letter-spacing:.02em}
.card.look-classic .c-names::before,.card.look-classic .c-names::after{content:"";display:block;width:2.2em;height:1px;margin:.18em auto;background:currentColor;opacity:.55}
.card.look-display .c-names{font-family:"Suez One",var(--serif);font-weight:400;font-size:2.1em;letter-spacing:.01em;line-height:1.08}
.card.look-display .c-kicker{font-style:normal;font-family:var(--sans);font-weight:500}
.card.look-left .card-inner{align-items:flex-start;text-align:start}
.card.look-left .c-names{text-align:start}
.card.lang-yi.look-caps .c-names,.card.lang-yi.look-italic .c-names,.card.lang-yi.look-classic .c-names{font-family:"Frank Ruhl Libre",serif;font-style:normal;font-weight:900;text-transform:none;letter-spacing:0;font-size:2.2em}
.card.lang-yi.look-display .c-names{font-family:"Suez One","Frank Ruhl Libre",serif;font-size:2.2em}
.card.lang-yi.look-caps .c-kicker{font-family:inherit;text-transform:none;letter-spacing:0;font-size:1em}
/* ---------- status posters (9:16) ---------- */
.card.poster{aspect-ratio:9/16}
.card.poster .card-inner{gap:.3em}
.card.poster .c-kicker{font-family:var(--serif);font-style:italic;font-size:1.35em;color:var(--accent);letter-spacing:.03em}
.card.poster .c-names{font-size:3.2em;line-height:1.04;margin:.08em 0;color:var(--ink)}
.card.poster.font-script .c-names{font-size:3.6em;color:var(--accent)}
.card.poster.font-sans .c-names{font-size:2.5em;font-weight:500;letter-spacing:.06em}
.card.poster .c-line{font-size:1.35em;margin-top:.35em;font-family:var(--serif);font-weight:600}
.card.poster .c-msg{font-size:1em;margin-top:.5em}
.card.poster.lang-yi .c-names,.card.poster.lang-yi.font-script .c-names,.card.poster.lang-yi.font-sans .c-names{font-family:"Suez One","Frank Ruhl Libre",serif;font-weight:400;font-size:2.9em;letter-spacing:0;text-transform:none}
.card.poster.lang-yi .c-kicker{font-family:"Frank Ruhl Libre",serif;font-style:normal;font-weight:700;font-size:1.4em}
.card.poster.lang-yi .c-line{font-family:"Frank Ruhl Libre",serif;font-weight:700}
.card .brand-sig{position:absolute;z-index:2;right:4%;bottom:2.4%;margin:0;padding:.45em .9em;border-radius:99px;font:600 2.7cqw/1 var(--sans);letter-spacing:.08em;color:var(--ink);background:rgba(255,252,246,.62);white-space:nowrap}
.card.dark .brand-sig{background:rgba(0,0,0,.38);color:#f6ecd6}
.tile-card.is-poster,.pick .pick-card.is-poster{aspect-ratio:9/16}
.tile-card.is-poster .card,.pick .pick-card.is-poster .card{top:0;transform:none}
.badge-price{display:inline-block;margin-inline-start:.4rem;padding:.1rem .5rem;border-radius:99px;background:var(--plum);color:#fff;font:600 .8rem var(--sans)}
/* ---------- status posters band (home) ---------- */
.poster-band{max-width:1100px;margin:0 auto;padding:2.5rem 1.25rem 1rem}
.poster-band .section-head{text-align:center}
.poster-row{display:grid;grid-auto-flow:column;grid-auto-columns:42%;gap:.8rem;overflow-x:auto;padding:.4rem .2rem 1rem;scroll-snap-type:x mandatory;scrollbar-width:none}
.poster-row::-webkit-scrollbar{display:none}
.poster-row .tile{scroll-snap-align:start}
@media(min-width:700px){.poster-row{grid-auto-columns:19%}}
.poster-band .hero-cta{justify-content:center}
/* ---------- contact ---------- */
.contact-block{max-width:40rem;margin:2.5rem auto 0;padding:2rem 1.25rem;text-align:center;background:#fff;border-radius:var(--radius);box-shadow:0 2px 12px rgba(60,35,40,.08)}
.contact-block h2{margin:0 0 .4rem}
.contact-block p{margin:0 auto 1rem;color:var(--muted);max-width:30rem}
.contact-links{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}
.contact-btn{display:inline-flex;align-items:center;gap:.4rem;min-height:44px}
.foot-contact{display:flex;flex-wrap:wrap;gap:.35rem .9rem;justify-content:center;align-items:center;margin:.6rem auto !important;font-size:.95rem}
.foot-contact .fc-h{font-weight:600;color:var(--ink)}
.foot-contact a.fc{color:var(--plum);text-decoration:none;font-weight:500;white-space:nowrap}
.foot-contact a.fc:hover{text-decoration:underline}

/* video styles (home row + designer picker) */
.vstyles-band{max-width:1100px;margin:0 auto;padding:2.2rem 1rem 1rem}
.vstyles-band h2{margin:.2rem 0 .4rem}
.vs-row{display:grid;grid-auto-flow:column;grid-auto-columns:42%;gap:.75rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.6rem .1rem 1rem;-webkit-overflow-scrolling:touch}
@media (min-width:700px){.vs-row{grid-auto-flow:row;grid-template-columns:repeat(4,1fr);overflow:visible}}
.vs-tile{scroll-snap-align:start;display:flex;flex-direction:column;gap:.4rem;text-decoration:none;color:inherit;font-weight:600;font-size:.92rem;text-align:center}
.vs-tile video{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:14px;background:#2a2320;box-shadow:0 6px 18px rgba(40,25,20,.18)}
.vstyle-list{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin:.4rem 0 .2rem}
.vs-opt{position:relative;display:flex;flex-direction:column;gap:.25rem;cursor:pointer;font-size:.74rem;line-height:1.2;text-align:center}
.vs-opt input{position:absolute;opacity:0;pointer-events:none}
.vs-opt video{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:10px;background:#2a2320;border:2px solid transparent}
.vs-opt.on video{border-color:var(--accent,#b8862f);box-shadow:0 0 0 2px rgba(184,134,47,.25)}
.vs-opt.on span{font-weight:700}
.vs-opt input:focus-visible + video{outline:2px solid var(--accent,#b8862f);outline-offset:2px}

/* black line icons (replace emoji) */
.ico{display:inline-block;width:1.15em;height:1.15em;vertical-align:-.2em;stroke:#111;flex:none}
.btn:not(.btn-ghost) .ico,.dark .ico,.vb-sound .ico{stroke:currentColor}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* phone side menu */
.menu-btn{display:none;background:none;border:0;padding:.35rem;margin:0;cursor:pointer;line-height:0;border-radius:8px}
.menu-btn .ico{width:26px;height:26px}
@media (max-width:720px){.menu-btn{display:inline-flex}}
.side-menu{position:fixed;inset:0;z-index:100}
.side-menu[hidden]{display:none}
.sm-scrim{position:absolute;inset:0;background:rgba(20,14,12,.38)}
.sm-panel{position:absolute;top:0;bottom:0;inset-inline-end:0;width:min(78vw,300px);background:#fbf7f2;box-shadow:-8px 0 24px rgba(0,0,0,.18);display:flex;flex-direction:column;gap:.2rem;padding:3.6rem 1.2rem 1.5rem;animation:smIn .22s ease-out}
[dir=rtl] .sm-panel{animation-name:smInR}
@keyframes smIn{from{transform:translateX(100%)}to{transform:none}}
@keyframes smInR{from{transform:translateX(-100%)}to{transform:none}}
.sm-panel a{display:block;padding:.85rem .4rem;border-bottom:1px solid rgba(0,0,0,.08);color:#111;text-decoration:none;font-size:1.08rem}
.sm-panel a.btn{margin-top:1rem;border:0;text-align:center;color:#fff}
.sm-close{position:absolute;top:.8rem;inset-inline-end:.8rem;background:none;border:0;padding:.4rem;cursor:pointer;line-height:0}
.sm-close .ico{width:24px;height:24px}
html.menu-open{overflow:hidden}
.videos-page .video-band{margin-top:1rem}

/* owner: one-tap sending + card (auto) flag */
.btn-wa{background:#1f8f4e;border-color:#1f8f4e;color:#fff}
.btn-wa:hover,.btn-wa:focus-visible{background:#18753f;border-color:#18753f;color:#fff}
.send-sheet{border:0;border-radius:16px;padding:1.2rem;width:min(92vw,420px);box-shadow:0 20px 60px rgba(30,20,25,.35)}
.send-sheet::backdrop{background:rgba(20,12,16,.45)}
.send-sheet h2{margin:0 0 .4rem}
.send-sheet .btn{margin:.35rem 0}
.flag-auto{color:#8a5a00;font-weight:600}

/* ---------- receipts ---------- */
.rcpt{--r-ink:#111;--r-muted:#6b6259;--r-line:#e4d9c6;background:#fffdf8;color:var(--r-ink);border:1px solid var(--r-line);border-top:5px solid #111;border-radius:6px;padding:22px 20px 18px;box-shadow:0 8px 26px rgba(30,22,15,.08);font-family:var(--sans);text-align:start;position:relative}
.rcpt::after{content:"";position:absolute;inset:6px;border:1px solid rgba(17,17,17,.08);border-radius:3px;pointer-events:none}
.rcpt p{margin:0}
.rcpt-head{text-align:center;padding-bottom:14px;border-bottom:1px solid var(--r-line)}
.rcpt-brand{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:25px;letter-spacing:.14em;text-transform:uppercase;line-height:1.1;color:#111}
.rcpt-contact{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px;margin-top:8px!important;font-size:13px;color:var(--r-muted)}
.rcpt-contact span{display:inline-flex;align-items:center;gap:5px}
.rcpt-ico{width:16px;height:16px;flex:none}
.rcpt-titlerow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 8px}
.rcpt-title{font-family:var(--serif);font-weight:600;font-size:30px;letter-spacing:.06em;margin:0;color:#111}
.rcpt-stamp{display:inline-flex;align-items:center;gap:6px;border:1.5px solid #111;border-radius:999px;padding:4px 12px 4px 9px;font-weight:600;font-size:14px;letter-spacing:.04em;text-transform:uppercase}
[dir=rtl] .rcpt-stamp{padding:4px 9px 4px 12px;text-transform:none}
.rcpt-meta{margin:0 0 14px;padding:0}
.rcpt-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px dashed var(--r-line);font-size:15px}
.rcpt-row dt{color:var(--r-muted)}
.rcpt-row dd{margin:0;text-align:end;font-weight:500;overflow-wrap:anywhere}
.rcpt-items{border:1px solid var(--r-line);border-radius:4px;background:#fff}
.rcpt-ihead{display:flex;justify-content:space-between;padding:7px 12px;background:#111;color:#f7f1e6;font-size:12px;letter-spacing:.12em;text-transform:uppercase;border-radius:3px 3px 0 0}
[dir=rtl] .rcpt-ihead{letter-spacing:0;font-size:13px}
.rcpt-item{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px}
.rcpt-item strong{display:block;font-weight:600;font-size:15px}
.rcpt-item small{display:block;color:var(--r-muted);font-size:13.5px;margin-top:2px;overflow-wrap:anywhere}
.rcpt-amt{font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.rcpt-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:12px;padding:12px 2px 4px;border-top:2px solid #111;font-family:var(--serif);font-size:22px;font-weight:600}
.rcpt-total small{font-family:var(--sans);font-size:12px;color:var(--r-muted);font-weight:500}
.rcpt-thanks{text-align:center;font-family:var(--serif);font-style:italic;font-size:20px;margin-top:16px!important}
[dir=rtl] .rcpt-thanks{font-style:normal}
.rcpt-foot{text-align:center;font-size:12.5px;color:var(--r-muted);margin-top:6px!important}
.rcpt-print{box-shadow:none;padding:30px 30px 24px}
.rcpt-panel h2{font-size:24px;margin-bottom:12px}
.rcpt-panel .dl-row{margin-top:14px}
.rcpt-jump{margin-inline-start:6px;font-weight:600;color:inherit}
.rcpt-main{max-width:560px;margin:0 auto;padding:22px 16px 48px}
.rcpt-actions{display:grid;gap:10px;margin-top:18px;text-align:center}
@media (max-width:380px){.rcpt{padding:18px 14px 14px}.rcpt-brand{font-size:21px}.rcpt-title{font-size:26px}}
@media print{
  @page{margin:14mm}
  body.rcpt-page{background:#fff}
  .rcpt-page .site-header,.rcpt-page .rcpt-actions,.rcpt-page .skip{display:none!important}
  .rcpt-page .rcpt-main{padding:0;max-width:none}
  .rcpt{box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* ---------- launch special banner (home + designer) and free checkout ---------- */
.promo-banner{display:flex;align-items:center;gap:.9rem;max-width:1100px;margin:.9rem auto .3rem;padding:.85rem 1.1rem;width:calc(100% - 2rem);box-sizing:border-box;background:#fffaf0;border:1.5px solid #111;border-radius:14px;box-shadow:0 6px 0 #111;color:#111;text-decoration:none;position:relative;overflow:hidden}
.promo-banner[hidden]{display:none}
.promo-banner::before{content:"";position:absolute;inset:4px;border:1px solid rgba(17,17,17,.18);border-radius:10px;pointer-events:none}
.promo-banner:hover{transform:translateY(-1px)}
.promo-banner:focus-visible{outline:3px solid #b8914a;outline-offset:3px}
.pb-ico{flex:0 0 auto;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1.5px solid #111;background:#fff}
.pb-ico .ico{width:26px;height:26px}
.pb-txt{flex:1 1 auto;display:flex;flex-direction:column;min-width:0;line-height:1.15}
.pb-k{font:600 .72rem/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#6b5a3a}
.pb-h{font:700 1.32rem/1.15 var(--serif);color:#111;margin:.1rem 0}
.pb-sub{font:400 .82rem/1.3 var(--sans);color:#5f5650}
.pb-left{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:64px;padding:.45rem .7rem;border-radius:12px;background:#111;color:#fffaf0;font:500 .72rem/1.1 var(--sans);letter-spacing:.06em;text-transform:uppercase;text-align:center}
.pb-left b{font:700 1.5rem/1 var(--serif);letter-spacing:0;color:#f3e3bd}
html[lang=yi] .pb-k{letter-spacing:.02em}
html[lang=yi] .pb-h{font-family:"Frank Ruhl Libre",var(--serif)}
html[lang=yi] .pb-left{text-transform:none;letter-spacing:0}
@media (max-width:480px){.promo-banner{gap:.65rem;padding:.75rem .8rem;margin-top:.7rem;width:calc(100% - 1.4rem)}.pb-ico{width:40px;height:40px}.pb-ico .ico{width:22px;height:22px}.pb-h{font-size:1.14rem}.pb-sub{font-size:.76rem}.pb-left{min-width:56px;padding:.4rem .5rem}.pb-left b{font-size:1.3rem}}
.price-now .was{color:#8a7f78;font-weight:400;text-decoration-thickness:1.5px}
.price-now .free-word{color:#111}
.btn.btn-free{background:#111;border-color:#111;color:#fffaf0}
.secure .promo-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .6rem;border:1.5px solid #111;border-radius:999px;background:#fffaf0;color:#111;font-weight:600;margin-bottom:.25rem}
.secure .promo-chip .ico{width:16px;height:16px}
.notice.promo-ok{background:#fffaf0;border:1.5px solid #111;color:#111}
.notice.promo-ok .ico{width:18px;height:18px;vertical-align:-3px}
.pill.free{background:#111;color:#fffaf0;border:1px solid #111}
.o-promo{border:1.5px solid #111;border-radius:14px;background:#fffaf0;padding:1rem 1.1rem;margin:1rem 0}
.o-promo h2{margin:0 0 .3rem;font-size:1.25rem}
.o-promo .meter{height:10px;border-radius:99px;background:#eadfd5;overflow:hidden;margin:.5rem 0 .7rem}
.o-promo .meter i{display:block;height:100%;background:#111;border-radius:99px}
.o-promo .row2{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;align-items:flex-end}
.o-promo label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}
.o-promo label.check{flex-direction:row;align-items:center;gap:.5rem}
.o-promo input[type=number]{width:6.5rem}
.o-promo .msg{font-size:.88rem;margin:.5rem 0 0}
