:root { --paper:#f8f6f2; --ink:#1f1f21; --muted:#6f6f73; --gold:#c8a46b; --gold-dark:#a67c3d; --sage:#7e8a66; --line:#e8e6e1; --white:#fff; --serif:"Cormorant Garamond",Georgia,serif; --sans:"Manrope",Arial,sans-serif; --body:"Inter",Arial,sans-serif; --gold-gradient:linear-gradient(135deg,#c8a46b,#ebd4a2); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--body); line-height:1.55; -webkit-font-smoothing:antialiased; }
body.menu-open { overflow:hidden; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.collection-header { position:fixed; z-index:20; top:0; width:100%; min-height:76px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:2rem; padding:0 max(24px,calc((100vw - 1180px)/2)); color:var(--white); border-bottom:1px solid rgba(255,255,255,.28); transition:.25s ease; }
.collection-header.scrolled { color:var(--ink); background:rgba(248,246,242,.96); border-color:var(--line); box-shadow:0 8px 30px rgba(31,24,17,.07); backdrop-filter:blur(12px); }
.brand { display:flex; align-items:center; gap:.65rem; min-width:max-content; }
.brand-logo { width:44px; height:56px; object-fit:contain; flex:0 0 auto; }
.brand strong { display:flex; flex-direction:column; font-family:var(--serif); font-size:1.36rem; font-weight:500; line-height:1; text-transform:uppercase; }
.brand small { margin-top:.22rem; color:var(--gold); font-family:var(--sans); font-size:.42rem; letter-spacing:.18em; }
.collection-header nav { display:flex; justify-content:center; gap:clamp(1.3rem,3vw,2.7rem); }
.collection-header nav a { font-family:var(--sans); font-size:.74rem; font-weight:600; text-transform:uppercase; }
.button { min-height:46px; display:inline-flex; justify-content:center; align-items:center; gap:.65rem; padding:.75rem 1.2rem; border:1px solid var(--gold); border-radius:16px; font-family:var(--sans); font-size:.8rem; font-weight:600; transition:.2s ease; }
.button:hover { transform:translateY(-2px); box-shadow:0 10px 28px rgba(78,48,20,.18); }
.header-button { color:var(--white); background:var(--gold-gradient); border-color:var(--gold); }
.menu-button { display:none; width:44px; height:44px; color:inherit; background:transparent; border:0; font-size:1.1rem; }
.wedding-hero { min-height:720px; display:flex; align-items:center; padding:116px max(24px,calc((100vw - 1180px)/2)) 70px; color:var(--white); background:linear-gradient(90deg,rgba(24,19,14,.78),rgba(24,19,14,.42) 50%,rgba(24,19,14,.08)),url("../dis1/assets/hero-desktop.jpg") center 45%/cover no-repeat; }
.hero-content { max-width:640px; }
.hero-content > p,.section-title p,.custom-copy > p,.closing > p { margin:0 0:.75rem; color:#e4bd82; font-size:.72rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; }
.hero-content h1 { margin:0; font-family:var(--serif); font-size:clamp(3.5rem,6.2vw,6.5rem); font-weight:400; line-height:.98; }
.hero-content > span { display:block; max-width:590px; margin-top:1.4rem; color:#f1ede8; font-size:1rem; }
.hero-actions { display:flex; align-items:center; gap:1.3rem; margin-top:2rem; }
.primary { color:var(--white); background:var(--gold-gradient); border-color:var(--gold); }
.text-link { font-size:.82rem; border-bottom:1px solid rgba(255,255,255,.55); }
.section { padding:100px max(24px,calc((100vw - 1120px)/2)); }
.section-title { max-width:720px; margin:0 auto 3.5rem; text-align:center; }
.section-title p,.custom-copy > p { color:var(--gold-dark); }
.section-title h2,.custom-copy h2,.closing h2 { margin:0; font-family:var(--serif); font-size:clamp(2.35rem,4.2vw,4rem); font-weight:400; line-height:1.08; }
.design-grid { display:grid; gap:5rem; }
.design-card { display:grid; grid-template-columns:minmax(260px,390px) minmax(300px,1fr); align-items:center; gap:clamp(3rem,7vw,7rem); }
.design-card.reverse .preview { grid-column:2; }
.design-card.reverse .design-info { grid-column:1; grid-row:1; }
.preview { aspect-ratio:9/16; max-height:650px; overflow:hidden; border-radius:24px; box-shadow:0 25px 60px rgba(0,0,0,.12); }
.preview img { width:100%; height:100%; object-fit:cover; object-position:top; transition:transform .5s ease; }
.preview:hover img { transform:scale(1.025); }
.design-info > div { display:flex; align-items:center; gap:1rem; }
.design-info > div > span { color:var(--gold); font-family:var(--serif); font-size:1.1rem; }
.design-info h3 { margin:0; font-family:var(--serif); font-size:clamp(2.2rem,4vw,3.8rem); font-weight:400; }
.design-info > p { max-width:550px; color:var(--muted); font-family:var(--serif); font-size:1.08rem; }
.design-info ul { display:flex; flex-wrap:wrap; gap:.5rem 1.2rem; margin:1.4rem 0; padding:0; list-style:none; color:var(--muted); font-size:.78rem; }
.design-info li::before { content:"✓"; margin-right:.4rem; color:var(--gold-dark); }
.design-info > a { color:var(--gold-dark); font-size:.8rem; font-weight:600; border-bottom:1px solid var(--gold); }
.included { background:#f0eee8; }
.included-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.included-grid article { padding:1.5rem; text-align:center; }
.included-grid i { color:var(--gold-dark); font-size:1.8rem; }
.included-grid h3 { margin:.8rem 0 .35rem; font-family:var(--serif); font-size:1.25rem; font-weight:500; }
.included-grid p { margin:0; color:var(--muted); font-size:.78rem; }
.custom { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(3rem,7vw,7rem); }
.custom-photo { min-height:600px; overflow:hidden; border-radius:24px; }
.custom-photo img { width:100%; height:100%; object-fit:cover; object-position:42% center; }
.custom-copy > span { display:block; margin:1.2rem 0; color:var(--muted); }
.custom-copy ol { margin:1.5rem 0 2rem; padding:0; list-style:none; }
.custom-copy li { padding:.75rem 0; border-bottom:1px solid var(--line); }
.custom-copy li strong { display:inline-block; width:2.2rem; color:var(--gold-dark); font-family:var(--serif); }
.closing { min-height:430px; display:grid; place-content:center; justify-items:center; padding:70px 24px; color:var(--white); text-align:center; background:linear-gradient(rgba(19,16,13,.7),rgba(19,16,13,.78)),url("../dis2/assets/hero-desktop.jpg") center 42%/cover no-repeat; }
.closing h2 { max-width:750px; margin-bottom:1.8rem; }
.light-button { color:var(--ink); background:#f2dfbf; border-color:#f2dfbf; }
footer { display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:2rem; padding:30px max(24px,calc((100vw - 1120px)/2)); color:#d8d2c9; background:#111111; font-size:.75rem; }
footer .brand strong { color:var(--white); }
footer > a:last-child { color:#e4bd82; }
.reveal { opacity:0; transform:translateY(22px); transition:opacity .55s ease,transform .55s ease; }
.reveal.visible { opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}.reveal{opacity:1;transform:none}*,*::before,*::after{transition-duration:.01ms!important} }
@media (max-width:800px) {
  .collection-header { min-height:68px; grid-template-columns:1fr auto; padding-inline:18px; color:var(--ink); background:rgba(248,246,242,.97); border-color:var(--line); }
  .brand-logo { width:36px; height:46px; }
  .menu-button { display:grid; place-items:center; }
  .header-button { display:none; }
  .collection-header nav { position:fixed; inset:68px 0 auto; display:grid; gap:0; padding:.7rem 18px 1.2rem; color:var(--ink); background:var(--paper); border-bottom:1px solid var(--line); opacity:0; visibility:hidden; transform:translateY(-10px); transition:.2s ease; }
  .collection-header nav.open { opacity:1; visibility:visible; transform:none; }
  .collection-header nav a { padding:.8rem 0; border-bottom:1px solid var(--line); }
  .wedding-hero { min-height:680px; align-items:flex-end; padding:110px 20px 60px; background-image:linear-gradient(0deg,rgba(24,19,14,.86),rgba(24,19,14,.15) 75%),url("../dis1/assets/hero-mobile.jpg"); background-position:center top; text-align:center; }
  .hero-content { margin:0 auto; }
  .hero-content h1 { font-size:3.6rem; }
  .hero-actions { justify-content:center; }
  .design-card,.custom { grid-template-columns:1fr; }
  .design-card { max-width:620px; margin:0 auto; gap:2rem; }
  .design-card.reverse .preview,.design-card.reverse .design-info { grid-column:auto; grid-row:auto; }
  .design-card.reverse .preview { order:0; }
  .design-card.reverse .design-info { order:1; }
  .preview { width:min(100%,360px); margin:0 auto; }
  .design-info { text-align:center; }
  .design-info > div,.design-info ul { justify-content:center; }
  .included-grid { grid-template-columns:repeat(2,1fr); }
  .custom-photo { min-height:480px; }
  footer { grid-template-columns:1fr; text-align:center; justify-items:center; }
}
@media (max-width:520px) {
  .section { padding:72px 18px; }
  .hero-content h1 { font-size:3rem; }
  .hero-actions { display:grid; gap:1rem; }
  .design-grid { gap:4rem; }
  .preview { width:84%; max-height:none; }
  .included-grid { grid-template-columns:1fr 1fr; gap:.2rem; }
  .included-grid article { padding:1rem .5rem; }
  .custom-photo { min-height:380px; }
  .closing { min-height:500px; align-content:end; padding-bottom:60px; background-image:linear-gradient(0deg,rgba(19,16,13,.93),rgba(19,16,13,.2) 74%),url("../dis2/assets/hero-mobile.jpg"); background-position:center top; }
}
