/* WEDDING — blush + sage + warm gold, романтика, full-bleed cases */
body[data-niche="wedding"] {
  --blush:#F8F0EA; --blush-2:#F2E5DC; --blush-3:#E8D5C7;
  --gold:#C9A06B; --gold-deep:#9C7A47; --gold-soft:#E8D2A8;
  --sage:#8B9E80; --sage-deep:#6A7A60; --sage-soft:#D4DACE;
  --char:#3A2E2A; --char-2:#5A4A44; --slate:#7E6E68;
  --hairline:rgba(58,46,42,.12); --hairline-2:rgba(58,46,42,.22);
  --surface-page:var(--blush); --surface-card:#FFFFFF; --surface-soft:var(--blush-2);
  --text-primary:var(--char); --text-secondary:var(--slate); --border-soft:var(--hairline);
  --accent:var(--gold); --accent-dark:var(--gold-deep);
  background:var(--blush); color:var(--char); font-family:var(--font-sans);
}
body[data-niche="wedding"] h1, body[data-niche="wedding"] h2, body[data-niche="wedding"] h3 {
  font-family:'Cormorant Garamond',Georgia,serif; font-weight:400; letter-spacing:-0.005em; color:var(--char); line-height:1.05;
}
.wd-topbar { position:sticky; top:0; z-index:30; background:rgba(248,240,234,.94); backdrop-filter:saturate(160%) blur(14px); border-bottom:1px solid var(--hairline); padding:14px 0; }
.wd-topbar-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.wd-brand b { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:26px; font-weight:500; color:var(--char); }
.wd-brand b .a { color:var(--gold); }
.wd-nav { display:flex; gap:28px; }
.wd-nav a { color:var(--char-2); font-size:13px; font-weight:500; letter-spacing:.04em; text-transform:uppercase; }
.wd-nav a:hover { color:var(--gold); }
.wd-cta { display:inline-flex; padding:11px 22px; background:var(--gold); color:#fff; border-radius:999px; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; transition:background .25s; }
.wd-cta:hover { background:var(--gold-deep); }
.wd-cta.outline { background:transparent; border:1px solid var(--char); color:var(--char); }
.wd-cta.outline:hover { background:var(--char); color:var(--blush); }
@media (max-width:760px) { .wd-nav { display:none; } }

.wd-hero { position:relative; min-height:92vh; display:flex; align-items:center; padding:80px 0; overflow:hidden; }
.wd-hero-photo { position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1.05); animation:wd-z 20s ease-out forwards; background-color:var(--blush-2); filter:saturate(.85); }
@keyframes wd-z { to { transform:scale(1); } }
.wd-hero-veil { position:absolute; inset:0; background:linear-gradient(180deg, rgba(248,240,234,.2), rgba(248,240,234,.6) 60%, rgba(248,240,234,.92)); }
.wd-hero-content { position:relative; z-index:2; max-width:920px; }
.wd-hero-tag { display:inline-flex; gap:14px; align-items:center; color:var(--gold-deep); font-size:11px; letter-spacing:.36em; text-transform:uppercase; font-weight:700; margin-bottom:28px; font-family:var(--font-sans); }
.wd-hero-tag::before, .wd-hero-tag::after { content:''; width:32px; height:1px; background:var(--gold); }
.wd-hero h1 { color:var(--char); text-shadow: 0 1px 8px rgba(248,240,234,.6); font-size:clamp(50px, 8.5vw, 124px); line-height:.98; margin:0 0 28px; max-width:14ch; font-style:italic; }
.wd-hero h1 .a { color:var(--gold); }
.wd-hero p { font-family:var(--font-sans); color:var(--char-2); font-size:clamp(16px, 1.4vw, 19px); line-height:1.6; max-width:54ch; margin:0 0 36px; }
.wd-hero-row { display:flex; gap:14px; flex-wrap:wrap; }

.wd-sec { padding:clamp(80px, 10vw, 140px) 0; }
.wd-sec.bg2 { background:var(--blush-2); }
.wd-sec.bg-card { background:#fff; }
.wd-eye { color:var(--gold-deep); font-size:11px; letter-spacing:.36em; text-transform:uppercase; font-weight:700; margin-bottom:14px; display:inline-flex; align-items:center; gap:14px; font-family:var(--font-sans); }
.wd-eye::before, .wd-eye::after { content:''; width:28px; height:1px; background:var(--gold); }
.wd-h2 { font-size:clamp(38px, 5.4vw, 72px); line-height:1.05; margin:0 0 14px; }
.wd-h2 i { color:var(--gold-deep); font-style:italic; }
.wd-lead { font-family:var(--font-sans); color:var(--char-2); font-size:clamp(15px, 1.2vw, 17px); line-height:1.7; max-width:62ch; }

/* FORMATS — wedding types */
.wd-fmt { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:36px; }
.wd-fmt-card { padding:36px 28px; background:#fff; border:1px solid var(--hairline); transition:transform .25s, box-shadow .25s; }
.wd-fmt-card:hover { transform:translateY(-4px); box-shadow:0 24px 48px -16px rgba(58,46,42,.12); }
.wd-fmt-card .num { font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--gold); font-size:24px; margin-bottom:14px; }
.wd-fmt-card h3 { font-size:30px; margin:0 0 10px; line-height:1.15; font-style:italic; }
.wd-fmt-card p { color:var(--char-2); font-size:14px; line-height:1.6; margin:0; font-family:var(--font-sans); }
.wd-fmt-card-from { margin-top:18px; padding-top:14px; border-top:1px solid var(--hairline); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--slate); font-weight:700; font-family:var(--font-sans); }
.wd-fmt-card-from b { display:block; font-family:'Cormorant Garamond',serif; font-style:italic; font-size:26px; color:var(--gold-deep); margin-top:6px; text-transform:none; letter-spacing:0; font-weight:500; }
@media (max-width:1000px) { .wd-fmt { grid-template-columns:1fr 1fr; } }
@media (max-width:600px) { .wd-fmt { grid-template-columns:1fr; } }

/* CASES — full-bleed two columns */
.wd-case { display:grid; grid-template-columns:1fr 1fr; gap:0; margin-top:24px; background:#fff; }
.wd-case-photo { aspect-ratio:4/5; background-size:cover; background-position:center; background-color:var(--blush-2); }
.wd-case-body { padding:clamp(40px, 5vw, 72px); display:flex; flex-direction:column; justify-content:center; }
.wd-case-num { font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--gold-deep); font-size:22px; margin-bottom:12px; }
.wd-case-body h3 { font-size:clamp(34px, 4.8vw, 56px); margin:0 0 16px; line-height:1.1; font-style:italic; }
.wd-case-body p { font-family:var(--font-sans); color:var(--char-2); font-size:15px; line-height:1.7; margin:0 0 24px; }
.wd-case-meta { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding-top:24px; border-top:1px solid var(--hairline); }
.wd-case-meta div b { display:block; font-family:'Cormorant Garamond',serif; font-style:italic; font-size:30px; color:var(--gold-deep); margin-bottom:4px; line-height:1; font-weight:500; }
.wd-case-meta div span { color:var(--slate); font-size:11px; letter-spacing:.14em; text-transform:uppercase; font-weight:700; font-family:var(--font-sans); }
@media (max-width:900px) { .wd-case { grid-template-columns:1fr; } .wd-case-photo { aspect-ratio:4/3; } }

/* TIMELINE / process */
.wd-proc { display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin-top:36px; counter-reset:wd-s; }
.wd-proc-step { padding:32px 22px; border-right:1px solid var(--hairline); position:relative; background:#fff; }
.wd-proc-step:last-child { border-right:0; }
.wd-proc-step::before { content:counter(wd-s, decimal-leading-zero); counter-increment:wd-s; font-family:'Cormorant Garamond',serif; font-style:italic; font-size:48px; color:var(--gold); display:block; margin-bottom:14px; line-height:1; font-weight:500; }
.wd-proc-step h3 { font-size:22px; margin:0 0 8px; line-height:1.2; font-style:italic; }
.wd-proc-step p { color:var(--char-2); font-size:13px; line-height:1.5; margin:0; font-family:var(--font-sans); }
@media (max-width:1000px) { .wd-proc { grid-template-columns:1fr 1fr; } .wd-proc-step:nth-child(2n) { border-right:0; } .wd-proc-step { border-bottom:1px solid var(--hairline); } }
@media (max-width:600px) { .wd-proc { grid-template-columns:1fr; } .wd-proc-step { border-right:0; } }

/* GALLERY */
.wd-gal { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:36px; }
.wd-gal a { aspect-ratio:1/1; background-size:cover; background-position:center; background-color:var(--blush-2); transition:transform .3s; }
.wd-gal a:hover { transform:scale(1.02); z-index:1; }
@media (max-width:800px) { .wd-gal { grid-template-columns:1fr 1fr; } }

/* CONTACT form */
.wd-contact { display:grid; grid-template-columns:1fr 1fr; gap:48px; margin-top:36px; align-items:center; }
.wd-contact-form { background:#fff; border:1px solid var(--hairline); padding:40px; }
.wd-contact-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
.wd-contact-field label { display:block; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--slate); margin-bottom:6px; font-weight:700; font-family:var(--font-sans); }
.wd-contact-field input, .wd-contact-field select, .wd-contact-field textarea { width:100%; height:44px; padding:0 14px; background:var(--blush); border:1px solid var(--hairline-2); color:var(--char); font:inherit; font-size:15px; }
.wd-contact-field textarea { height:96px; padding:12px 14px; resize:vertical; }
.wd-contact-field input:focus, .wd-contact-field select:focus, .wd-contact-field textarea:focus { outline:0; border-color:var(--gold); }
.wd-contact-form button { width:100%; height:50px; background:var(--gold); color:#fff; border:0; font:inherit; font-weight:800; font-size:12px; letter-spacing:.16em; text-transform:uppercase; cursor:pointer; margin-top:8px; transition:background .25s; }
.wd-contact-form button:hover { background:var(--gold-deep); }
@media (max-width:900px) { .wd-contact { grid-template-columns:1fr; } }
@media (max-width:540px) { .wd-contact-row { grid-template-columns:1fr; } }

/* FAQ */
.wd-faq { max-width:760px; margin:36px auto 0; }
.wd-faq details { border-bottom:1px solid var(--hairline); padding:24px 0; }
.wd-faq summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; gap:24px; font-family:'Cormorant Garamond',serif; font-style:italic; font-size:24px; font-weight:500; color:var(--char); }
.wd-faq summary::-webkit-details-marker { display:none; }
.wd-faq summary::after { content:'+'; color:var(--gold); font-size:30px; transition:transform .25s; font-style:italic; }
.wd-faq details[open] summary::after { transform:rotate(45deg); }
.wd-faq details > div { padding-top:14px; color:var(--char-2); line-height:1.7; font-size:15px; font-family:var(--font-sans); }

/* FOOTER */
.wd-foot { background:var(--char); color:var(--blush); padding:64px 0 28px; }
.wd-foot-top { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:32px; margin-bottom:36px; }
.wd-foot-brand b { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:30px; color:var(--blush); display:block; }
.wd-foot-brand b .a { color:var(--gold); }
.wd-foot-brand p { color:rgba(248,240,234,.6); margin:14px 0 0; max-width:34ch; line-height:1.6; font-family:var(--font-sans); }
.wd-foot h5 { color:var(--gold); font-size:11px; letter-spacing:.26em; text-transform:uppercase; margin:0 0 14px; font-weight:700; font-family:var(--font-sans); }
.wd-foot a { color:rgba(248,240,234,.7); display:block; padding:4px 0; font-size:13px; font-family:var(--font-sans); }
.wd-foot a:hover { color:var(--gold); }
.wd-foot-bot { padding-top:20px; border-top:1px solid rgba(255,255,255,.08); display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; color:rgba(248,240,234,.4); font-size:12px; font-family:var(--font-sans); }
@media (max-width:800px) { .wd-foot-top { grid-template-columns:1fr; } }

body[data-niche="wedding"] .reveal { opacity:0; transform:translateY(14px); transition:opacity 700ms var(--ease-smooth), transform 700ms var(--ease-smooth); }
body[data-niche="wedding"] .reveal.in { opacity:1; transform:none; }
