:root {
  --coq-ink: #09080c;
  --coq-panel: #15121b;
  --coq-violet: #5d3b89;
  --coq-lilac: #c8a8ff;
  --coq-gold: #d7b77a;
  --coq-cream: #f2ece3;
  --coq-muted: #b7adb9;
}

body.home {
  background: var(--coq-ink);
  color: var(--coq-cream);
}
body.home .site-header,
body.home .site-footer {
  background: rgba(9, 8, 12, .96);
  color: var(--coq-cream);
  border-color: rgba(215,183,122,.22);
}
body.home .site-header a,
body.home .site-footer a { color: var(--coq-cream); }

.coq-nocturne-page {
  max-width: none !important;
  margin: 0 !important;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 10%, rgba(118, 67, 174, .28), transparent 29rem),
    radial-gradient(circle at 10% 38%, rgba(44, 24, 75, .48), transparent 31rem),
    var(--coq-ink);
  font-family: "DM Sans", system-ui, sans-serif;
}
.coq-nocturne-page * { box-sizing: border-box; }
.coq-nocturne-page a { color: inherit; }
.coq-shell { max-width: 1180px; margin: 0 auto; padding: 0 28px; }
.coq-eyebrow { color: var(--coq-gold); font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; }
.coq-display { font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -.045em; }
.coq-hero { min-height: 720px; display: grid; align-items: center; padding: 90px 0 110px; position: relative; }
.coq-hero:before { content:""; position:absolute; width: 540px; height:540px; border-radius:50%; right:-180px; top:40px; background: radial-gradient(circle, rgba(221,178,255,.18), rgba(83,49,132,.08) 40%, transparent 68%); filter: blur(4px); }
.coq-hero-grid { display:grid; grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr); gap: 70px; align-items:center; position:relative; z-index:1; }
.coq-hero h1 { font-size: clamp(3.8rem, 8vw, 7.8rem); line-height: .88; margin: 20px 0 28px; max-width: 760px; }
.coq-hero h1 em { color: var(--coq-lilac); font-style: italic; }
.coq-lede { max-width: 520px; color: var(--coq-muted); font-size: 1.12rem; line-height: 1.7; }
.coq-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top: 34px; }
.coq-button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding: 0 22px; border:1px solid var(--coq-gold); border-radius:999px; text-decoration:none; letter-spacing:.08em; text-transform:uppercase; font-size:.72rem; transition: transform .2s ease, background .2s ease; }
.coq-button:hover { transform: translateY(-2px); background: var(--coq-gold); color: var(--coq-ink); }
.coq-button--quiet { border-color: rgba(242,236,227,.3); color: var(--coq-muted); }
.coq-orbit { min-height: 480px; display:grid; place-items:center; position:relative; }
.coq-orbit:before, .coq-orbit:after { content:""; position:absolute; border:1px solid rgba(215,183,122,.35); border-radius:50%; transform: rotate(-28deg); }
.coq-orbit:before { width: 360px; height: 470px; }
.coq-orbit:after { width: 260px; height: 380px; border-color: rgba(200,168,255,.25); transform: rotate(24deg); }
.coq-orbit img { width: min(290px, 78%); aspect-ratio: 1; object-fit: cover; border-radius: 50%; position:relative; z-index:1; box-shadow: 0 0 80px rgba(126,70,180,.42); }
.coq-marquee { border-top:1px solid rgba(215,183,122,.25); border-bottom:1px solid rgba(215,183,122,.25); padding: 17px 0; color: var(--coq-gold); letter-spacing:.18em; text-transform:uppercase; font-size:.7rem; }
.coq-marquee span { display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.coq-section { padding: 115px 0; }
.coq-section-head { display:flex; justify-content:space-between; gap:40px; align-items:end; margin-bottom:42px; }
.coq-section h2 { font-size: clamp(2.5rem, 5vw, 5rem); line-height:.95; margin: 12px 0 0; max-width: 680px; }
.coq-section-intro { color:var(--coq-muted); max-width: 340px; line-height:1.65; }
.coq-cards { display:grid; grid-template-columns: repeat(4, 1fr); gap:14px; }
.coq-card { min-height:280px; padding:24px; display:flex; flex-direction:column; justify-content:end; border:1px solid rgba(242,236,227,.14); background: linear-gradient(145deg, rgba(93,59,137,.42), rgba(21,18,27,.72)); position:relative; overflow:hidden; }
.coq-card:before { content:""; position:absolute; width:180px; height:180px; border-radius:50%; top:-60px; right:-40px; background: radial-gradient(circle, rgba(215,183,122,.35), transparent 68%); }
.coq-card h3 { position:relative; font-family:Georgia,serif; font-size:1.55rem; font-weight:400; margin:0 0 8px; }
.coq-card p { position:relative; color:var(--coq-muted); line-height:1.5; margin:0; font-size:.9rem; }
.coq-split { display:grid; grid-template-columns: .9fr 1.1fr; gap:70px; align-items:center; }
.coq-image { width:100%; max-height:620px; object-fit:cover; border:1px solid rgba(215,183,122,.3); filter:saturate(.78) contrast(1.05); }
.coq-list { list-style:none; padding:0; margin:28px 0 0; border-top:1px solid rgba(242,236,227,.15); }
.coq-list li { padding:20px 0; border-bottom:1px solid rgba(242,236,227,.15); display:grid; grid-template-columns: 42px 1fr; gap:16px; color:var(--coq-muted); line-height:1.55; }
.coq-list strong { color:var(--coq-cream); display:block; margin-bottom:4px; }
.coq-number { color:var(--coq-gold); font-family:Georgia,serif; font-size:1.3rem; }
.coq-quote { padding: 70px 10%; border:1px solid rgba(215,183,122,.26); background: linear-gradient(120deg, rgba(93,59,137,.24), rgba(21,18,27,.7)); text-align:center; }
.coq-quote blockquote { font-family:Georgia,serif; font-size:clamp(1.8rem, 4vw, 3.4rem); line-height:1.08; margin:16px auto 28px; max-width:850px; }
.coq-cta { text-align:center; padding: 120px 20px 145px; }
.coq-cta h2 { margin-left:auto; margin-right:auto; }
.coq-fine { color:var(--coq-muted); font-size:.82rem; margin-top:18px; }
@media (max-width: 850px) {
  .coq-hero { min-height: auto; padding-top:70px; }
  .coq-hero-grid, .coq-split { grid-template-columns: 1fr; gap:45px; }
  .coq-orbit { min-height:380px; }
  .coq-cards { grid-template-columns: repeat(2, 1fr); }
  .coq-section-head { display:block; }
  .coq-section-intro { margin-top:20px; }
}
@media (max-width: 520px) {
  .coq-shell { padding:0 20px; }
  .coq-hero h1 { font-size: clamp(3.2rem, 17vw, 5rem); }
  .coq-cards { grid-template-columns:1fr; }
  .coq-section { padding:78px 0; }
  .coq-quote { padding:44px 22px; }
}

/* Gutenberg layout reset: keep the landing page wide while its content remains block-editable. */
.coq-nocturne-page {
  width: 100% !important;
  max-width: none !important;
}
.coq-nocturne-page .coq-shell {
  width: calc(100% - 56px) !important;
  max-width: 1180px !important;
}
.coq-nocturne-page .coq-shell.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.coq-nocturne-page .coq-shell .wp-block-columns,
.coq-nocturne-page .coq-shell .wp-block-group {
  max-width: none !important;
  width: 100% !important;
}
.coq-nocturne-page .coq-shell .coq-section-head,
.coq-nocturne-page .coq-shell .coq-hero-grid,
.coq-nocturne-page .coq-shell .coq-split,
.coq-nocturne-page .coq-shell .coq-cards {
  width: 100% !important;
  max-width: none !important;
}
@media (max-width: 520px) {
  .coq-nocturne-page .coq-shell { width: calc(100% - 40px) !important; }
}

/* Gutenberg buttons: style the link only, not the block wrapper, to avoid double borders. */
.coq-nocturne-page .coq-actions .wp-block-button.coq-button {
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.coq-nocturne-page .coq-actions .wp-block-button.coq-button .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 22px;
  border: 1px solid var(--coq-gold);
  border-radius: 999px;
  background: transparent;
  color: var(--coq-cream);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .72rem;
  text-decoration: none;
  transition: transform .2s ease, background .2s ease, color .2s ease;
}
.coq-nocturne-page .coq-actions .wp-block-button.coq-button .wp-block-button__link:hover {
  transform: translateY(-2px);
  background: var(--coq-gold);
  color: var(--coq-ink);
}
.coq-nocturne-page .coq-actions .wp-block-button.coq-button--quiet .wp-block-button__link {
  border-color: rgba(242,236,227,.3);
  color: var(--coq-muted);
}

/* Gutenberg list: the editable list has one content node per item, so avoid a narrow first grid column. */
.coq-nocturne-page .coq-list {
  counter-reset: coq-step;
}
.coq-nocturne-page .coq-list li {
  display: block;
  position: relative;
  padding: 20px 0 20px 48px;
  color: var(--coq-muted);
  line-height: 1.55;
}
.coq-nocturne-page .coq-list li::before {
  counter-increment: coq-step;
  content: counter(coq-step, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 20px;
  color: var(--coq-gold);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.3rem;
}
.coq-nocturne-page .coq-list li strong {
  display: block;
  color: var(--coq-cream);
  margin-bottom: 4px;
}

/* Optional editable images inside collection cards. */
.coq-nocturne-page .coq-card .wp-block-image {
  width: 100%;
  margin: 0 0 auto;
}
.coq-nocturne-page .coq-card .wp-block-image img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 1px solid rgba(215,183,122,.28);
  filter: saturate(.82) contrast(1.04);
}
