/* Atölye: dergi düzeni; sola yaslı büyük Bodoni harfler, numaralı bölümler, keskin çizgiler. */
:root { --f-display:"Bodoni Moda",Didot,Georgia,serif; --f-head:"Bodoni Moda",Didot,Georgia,serif; --f-body:"Manrope",system-ui,sans-serif; --f-ui:"Manrope",system-ui,sans-serif; }
body { --radius:0px; --btn-radius:0px; --line:var(--ink); --shadow:none; --h2-size:clamp(1.9rem,8vw,2.6rem); --muted:color-mix(in srgb, var(--ink) 62%, var(--bg)); font-size:1rem; line-height:1.7; counter-reset:sec; }
body::before { background:var(--bg); }
.invite > section:not(.hero) { border-top:1px solid var(--ink); counter-increment:sec; }
h2 { text-align:left; font-weight:400; color:var(--ink); letter-spacing:-.01em; }
h2::before { content:"0" counter(sec) " —"; display:block; margin-bottom:10px; font:600 .72rem var(--f-ui); letter-spacing:.24em; color:var(--gold); }
.muted { text-align:left; font-style:normal; }
.message, .countdown, .contact, .foot { text-align:left; }
.orn { margin-left:0; width:120px; }
.lead { margin:0; font-size:1.25rem; line-height:1.6; font-style:normal; font-family:var(--f-display); }
.families { justify-content:flex-start; align-items:flex-start; }
.families div { text-align:left; }
.families small, .d-item small { color:var(--muted); letter-spacing:.18em; }
.amp { font-family:var(--f-display); font-style:italic; color:var(--gold); }
.actions { justify-content:flex-start; }
.btn { font-weight:600; letter-spacing:.16em; font-size:.74rem; }
.detail-card { padding:0; border:0; background:none; }
.d-item { border-top:1px solid color-mix(in srgb, var(--ink) 18%, transparent); }
.d-item svg { stroke:var(--ink); }
.d-item b { font-weight:500; font-family:var(--f-display); font-size:1.45rem; }
.d-item span { font-style:normal; }
.note p { text-align:left; border:0; padding:0; font-family:var(--f-display); font-style:italic; font-size:1.5rem; line-height:1.4; }
.rsvp form, .thanks { border:1px solid var(--ink); }
.field input, .field select, .field textarea, .choice span { font-family:var(--f-ui); font-size:1rem; border-color:color-mix(in srgb, var(--ink) 30%, transparent); }
.sign { text-align:left; font-style:normal; font-size:.9rem; letter-spacing:.2em; text-transform:uppercase; }
.sign b { font:italic 400 2.4rem/1.15 var(--f-display); letter-spacing:0; text-transform:none; color:var(--ink); }

/* Açılış: iki panel ayrılır */
.tpl-minimal .opening { background:transparent; padding:0; transition:opacity .4s linear 1s, visibility 0s 1.8s; }
.panel { position:absolute; left:0; right:0; height:50%; z-index:1; display:flex; padding:22px; background:var(--deep); color:var(--bg); transition:transform 1s cubic-bezier(.7,0,.2,1); overflow:hidden; }
.panel b { font:400 clamp(3.2rem,17vw,8rem)/.9 var(--f-display); letter-spacing:-.03em; color:color-mix(in srgb, var(--bg) 14%, transparent); }
.panel.top { top:0; align-items:flex-start; }
.panel.bottom { bottom:0; align-items:flex-end; justify-content:flex-end; border-top:1px solid color-mix(in srgb, var(--bg) 25%, transparent); }
.slate { z-index:2; display:grid; gap:14px; width:100%; padding:0 26px; text-align:left; color:var(--bg); transition:opacity .4s; }
.slate small { font:600 .7rem var(--f-ui); letter-spacing:.3em; text-transform:uppercase; color:var(--gold); }
.slate b { display:flex; flex-direction:column; font:400 clamp(3rem,15vw,5rem)/.95 var(--f-display); }
.slate i { font-style:italic; color:var(--gold); font-size:.6em; }
.slate span { font:500 .85rem var(--f-ui); letter-spacing:.06em; opacity:.75; animation:pulse 2.4s ease-in-out infinite; }
.is-opening .slate { opacity:0; }
.is-opening .panel.top { transform:translateY(-101%); transition-delay:.15s; }
.is-opening .panel.bottom { transform:translateY(101%); transition-delay:.15s; }

/* Kapak */
.hero { align-items:stretch; justify-content:flex-end; text-align:left; gap:18px; padding:30px 0 90px; }
.mast { display:flex; justify-content:space-between; position:absolute; top:24px; left:0; right:0; padding-bottom:10px; border-bottom:1px solid var(--ink); font:600 .7rem var(--f-ui); letter-spacing:.26em; text-transform:uppercase; }
.eyebrow { color:var(--gold); }
.names { align-items:flex-start; margin-top:.15em; font:400 clamp(4rem,21vw,7rem)/.95 var(--f-display); letter-spacing:-.035em; color:var(--ink); }
.names em { font:italic 400 .5em/1.2 var(--f-display); color:var(--gold); margin:.08em 0 .02em .1em; }
.mag-photo { margin:6px 0 0; aspect-ratio:4/3; overflow:hidden; filter:grayscale(.15) contrast(1.04); }
.mag-photo img { width:100%; height:100%; object-fit:cover; }
.big-date { display:flex; align-items:flex-end; gap:16px; padding-top:14px; border-top:1px solid var(--ink); }
.big-date b { font:400 clamp(3.6rem,19vw,5.6rem)/.8 var(--f-display); letter-spacing:-.04em; color:var(--primary); }
.big-date i { font-style:normal; color:var(--gold); }
.big-date div { display:grid; font:500 .8rem/1.6 var(--f-ui); letter-spacing:.08em; text-transform:uppercase; min-width:0; }
.big-date span { overflow-wrap:anywhere; }
.scroll-cue { left:auto; right:0; translate:0 0; border-color:var(--ink); }
.scroll-cue span { background:var(--ink); }

.cd { gap:0; border-block:1px solid var(--ink); }
.cd div { border:0; border-radius:0; box-shadow:none; background:none; aspect-ratio:auto; padding:18px 0; align-items:flex-start; padding-left:10px; }
.cd div + div { border-left:1px solid color-mix(in srgb, var(--ink) 20%, transparent); }
.cd b { font:400 clamp(2rem,10vw,2.8rem)/1 var(--f-display); color:var(--ink); }
.choice input:checked + span { color:var(--bg); }
