:root {
  --ink: #050807;
  --ink-soft: #0a0f0e;
  --panel: #0d1412;
  --panel-2: #101917;
  --teal: #063b3a;
  --teal-bright: #0a5c58;
  --teal-mist: #12706b;
  --gold: #d6aa54;
  --gold-light: #f0d58a;
  --gold-deep: #8c6525;
  --ivory: #f3eee3;
  --muted: #b9b2a5;
  --line: rgba(214,170,84,.28);
  --max: 1220px;
  --serif: "Baskerville", "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ivory);
  background:
    radial-gradient(circle at 50% -20%, rgba(6,59,58,.28), transparent 36rem),
    var(--ink);
  font-family: var(--sans);
  line-height: 1.6;
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .055;
  z-index: 20;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");
}
a { color: inherit; }
img { max-width: 100%; display: block; }
button, input, textarea { font: inherit; }
::selection { background: var(--gold); color: var(--ink); }

.skip-link {
  position: fixed; left: 1rem; top: -5rem; z-index: 999;
  padding: .8rem 1rem; background: var(--gold); color: var(--ink);
}
.skip-link:focus { top: 1rem; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.site-header {
  position: fixed; inset: 0 0 auto; z-index: 50;
  height: 74px; display: flex; align-items: center; justify-content: space-between;
  padding: 0 max(1.25rem, calc((100vw - var(--max))/2));
  border-bottom: 1px solid transparent;
  transition: background .25s ease, border-color .25s ease, backdrop-filter .25s ease;
}
.site-header.is-scrolled { background: rgba(5,8,7,.87); border-color: var(--line); backdrop-filter: blur(18px); }
.header-mark {
  display: grid; place-items: center; width: 42px; height: 42px;
  text-decoration: none; color: var(--gold); font-family: var(--serif);
  border: 1px solid var(--line); border-radius: 50%; font-size: 1.02rem;
  letter-spacing: -.14em; padding-right: .12em;
}
.primary-nav { display: flex; align-items: center; gap: clamp(1rem, 2.25vw, 2rem); }
.primary-nav a {
  position: relative; text-decoration: none; color: #d9d3c7;
  font-size: .72rem; letter-spacing: .16em; text-transform: uppercase;
}
.primary-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-.58rem; height:1px; background:var(--gold); transition:right .2s ease; }
.primary-nav a:hover::after, .primary-nav a[aria-current="page"]::after { right:0; }
.primary-nav a:hover, .primary-nav a[aria-current="page"] { color: var(--gold-light); }
.header-social { display:flex; gap:.45rem; align-items:center; flex-wrap:wrap; justify-content:flex-end; }
.header-social a { display:inline-flex; align-items:center; gap:.32rem; text-decoration:none; color:var(--gold); font-family:var(--sans); font-size:.56rem; letter-spacing:.08em; text-transform:uppercase; opacity:.95; padding:.28rem .48rem; border:1px solid rgba(214,170,84,.28); border-radius:999px; }
.header-social a:hover { color:var(--gold-light); border-color:rgba(214,170,84,.6); background:rgba(214,170,84,.08); }
.social-symbol { display:inline-flex; align-items:center; justify-content:center; min-width:.9rem; font-family:var(--serif); font-size:.82rem; line-height:1; }
.menu-toggle { display:none; width:46px; height:42px; border:1px solid var(--line); background:rgba(0,0,0,.2); color:var(--ivory); }
.menu-toggle span:not(.sr-only) { display:block; width:20px; height:1px; background:currentColor; margin:5px auto; }

.hero {
  position: relative; min-height: 100svh; display: grid; place-items: center;
  padding: 7.5rem 1.25rem 4rem; isolation: isolate; overflow: hidden;
  border-bottom: 1px solid var(--line);
}
.hero::before {
  content:""; position:absolute; inset:0; z-index:-4;
  background:
    radial-gradient(ellipse at 10% 60%, rgba(5,82,78,.45), transparent 38%),
    radial-gradient(ellipse at 88% 42%, rgba(4,70,67,.5), transparent 34%),
    linear-gradient(90deg, rgba(0,0,0,.1), rgba(0,0,0,.46) 50%, rgba(0,0,0,.1));
}
.hero::after {
  content:""; position:absolute; inset:0; z-index:-3; opacity:.28;
  background-image:
    radial-gradient(circle, rgba(240,213,138,.95) 0 1px, transparent 1.4px),
    radial-gradient(circle, rgba(214,170,84,.75) 0 1px, transparent 1.4px);
  background-position: 12% 26%, 87% 31%; background-size: 82px 82px, 118px 118px;
  mask-image: linear-gradient(90deg, #000, transparent 42%, transparent 58%, #000);
}
.hero-rose { position:absolute; width:min(49vw,680px); color:var(--teal-mist); opacity:.22; z-index:-2; filter:drop-shadow(0 0 30px rgba(6,59,58,.45)); }
.hero-rose-left { left:-17%; bottom:-17%; transform:rotate(-19deg); }
.hero-rose-right { right:-14%; top:5%; transform:scaleX(-1) rotate(-10deg); }
.hero-vignette { position:absolute; inset:0; z-index:-1; box-shadow:inset 0 0 170px 90px #020403; }
.hero-inner { width:min(840px,100%); text-align:center; }
.hero-logo { width:min(590px,82vw); margin:0 auto -1.5rem; filter:drop-shadow(0 15px 35px rgba(0,0,0,.65)); }
.hero-kicker { margin:0 auto 1.25rem; color:var(--gold-light); font-family:var(--serif); font-style:italic; font-size:clamp(1rem,1.6vw,1.3rem); max-width:42rem; }
.hero-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:.85rem; }
.button {
  min-height: 48px; display:inline-flex; align-items:center; justify-content:center;
  padding:.75rem 1.35rem; text-decoration:none; text-transform:uppercase;
  letter-spacing:.16em; font-size:.7rem; border:1px solid var(--gold-deep); cursor:pointer;
  transition:transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
}
.button:hover { transform:translateY(-2px); }
.button-gold { background:linear-gradient(135deg,#9d712e,#e0ba67 52%,#8d6528); color:#090806; border-color:var(--gold-light); box-shadow:0 10px 28px rgba(138,94,27,.18); }
.button-ghost { background:rgba(5,8,7,.65); color:var(--gold-light); }
.button-ghost:hover { background:var(--gold); color:var(--ink); }
.scroll-line { position:absolute; bottom:1.25rem; left:50%; width:1px; height:45px; background:linear-gradient(var(--gold),transparent); animation:pulse 2s ease-in-out infinite; }
@keyframes pulse { 0%,100%{opacity:.3; transform:scaleY(.65)} 50%{opacity:1; transform:scaleY(1)} }

.pillars { display:grid; grid-template-columns:repeat(4,1fr); background:linear-gradient(90deg,#061d1c,#073a38 50%,#061d1c); border-bottom:1px solid var(--line); }
.pillar { min-height:150px; padding:2rem 1.4rem; text-align:center; border-right:1px solid rgba(214,170,84,.2); }
.pillar:last-child{border-right:0}
.pillar-icon { display:block; color:var(--gold); font-family:var(--serif); font-size:1.6rem; margin-bottom:.55rem; }
.pillar h2 { margin:0; font-family:var(--serif); font-weight:400; color:var(--gold-light); font-size:1rem; letter-spacing:.12em; text-transform:uppercase; }
.pillar p { margin:.55rem auto 0; color:#c4beb1; font-size:.78rem; max-width:15rem; }

.section { position:relative; padding:clamp(5rem,9vw,8.5rem) 1.25rem; }
.section-inner { width:min(var(--max),100%); margin:0 auto; }
.section-heading { text-align:center; max-width:760px; margin:0 auto 3.7rem; }
.eyebrow { color:var(--gold); font-size:.68rem; letter-spacing:.25em; text-transform:uppercase; }
.section-heading h1, .section-heading h2, .display-title { margin:.2rem 0 1rem; font-family:var(--serif); font-weight:400; color:var(--gold-light); font-size:clamp(2.35rem,5vw,4.5rem); line-height:1.02; }
.section-heading p { color:var(--muted); max-width:650px; margin-inline:auto; }
.ornament { display:flex; align-items:center; gap:.7rem; color:var(--gold); justify-content:center; margin:1.2rem auto; }
.ornament::before,.ornament::after { content:""; width:80px; height:1px; background:linear-gradient(90deg,transparent,var(--gold)); }
.ornament::after { transform:scaleX(-1); }

.featured { overflow:hidden; background:linear-gradient(180deg,#070a09,#0a100f); }
.featured::before { content:""; position:absolute; width:650px; height:650px; right:-260px; top:5%; background:radial-gradient(circle,rgba(5,82,78,.38),transparent 65%); }
.featured-grid { display:grid; grid-template-columns:minmax(270px,.85fr) minmax(0,1.15fr); gap:clamp(2.5rem,7vw,7rem); align-items:center; }
.cover-stage { position:relative; display:grid; place-items:center; min-height:610px; }
.cover-stage::before { content:""; position:absolute; width:72%; height:82%; border:1px solid var(--line); transform:translate(24px,24px); }
.cover-shell { position:relative; width:min(360px,78vw); aspect-ratio:2/3; background:linear-gradient(145deg,#111,#050505); border:1px solid rgba(214,170,84,.62); box-shadow:0 30px 80px rgba(0,0,0,.75); overflow:hidden; }
.cover-shell::before { content:""; position:absolute; inset:12px; border:1px solid rgba(214,170,84,.35); pointer-events:none; z-index:2; }
.cover-shell img { width:100%; height:100%; object-fit:contain; position:relative; z-index:3; background:#060606; }
.cover-fallback { position:absolute; inset:0; display:grid; place-items:center; text-align:center; padding:2rem; color:var(--gold); }
.cover-fallback strong { display:block; font-family:var(--serif); font-size:2rem; font-weight:400; }
.cover-fallback small { color:var(--muted); letter-spacing:.08em; }
.featured-copy { position:relative; }
.featured-copy h2 { font-family:var(--serif); font-size:clamp(2.6rem,5vw,5rem); line-height:.95; font-weight:400; margin:.35rem 0 1rem; color:var(--gold-light); }
.series-label { color:var(--gold); letter-spacing:.17em; font-size:.7rem; text-transform:uppercase; }
.book-hook { font-family:var(--serif); font-style:italic; color:#dbd4c7; font-size:1.25rem; }
.featured-copy>p:not(.series-label):not(.book-hook) { color:var(--muted); max-width:650px; }
.tropes { display:flex; flex-wrap:wrap; gap:.55rem; margin:1.7rem 0 2rem; }
.tropes span { border:1px solid var(--line); padding:.45rem .7rem; color:#d9cfbc; font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; background:rgba(6,59,58,.12); }
.actions { display:flex; flex-wrap:wrap; gap:.85rem; align-items:center; }
.text-link { color:var(--gold-light); text-decoration:none; letter-spacing:.12em; text-transform:uppercase; font-size:.7rem; border-bottom:1px solid var(--gold-deep); padding-bottom:.25rem; }

.library { background:linear-gradient(180deg,#07100f,#050807); }
.card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.story-card { position:relative; min-height:340px; padding:2.25rem; border:1px solid var(--line); background:linear-gradient(155deg,rgba(9,34,32,.84),rgba(8,10,10,.96)); overflow:hidden; }
.story-card::after { content:""; position:absolute; width:260px; height:260px; border:1px solid rgba(214,170,84,.12); border-radius:50%; right:-140px; bottom:-140px; }
.story-card-number { color:var(--gold-deep); font-family:var(--serif); font-size:3.4rem; line-height:1; }
.story-card h3 { font-family:var(--serif); color:var(--gold-light); font-size:1.6rem; font-weight:400; margin:1.5rem 0 .6rem; }
.story-card p { color:var(--muted); font-size:.92rem; }
.story-status { display:inline-block; margin-top:1.4rem; color:var(--gold); font-size:.65rem; letter-spacing:.16em; text-transform:uppercase; }

.files { background:#060908; }
.file-grid { display:grid; grid-template-columns:repeat(6,1fr); border:1px solid var(--line); }
.file-card { min-height:210px; padding:2rem 1rem; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; text-decoration:none; border-right:1px solid var(--line); background:rgba(255,255,255,.008); transition:background .2s ease, transform .2s ease; }
.file-card:last-child { border-right:0; }
.file-card:hover { background:rgba(6,59,58,.28); transform:translateY(-4px); }
.file-card span { font-family:var(--serif); color:var(--gold); font-size:2rem; }
.file-card h3 { font-family:var(--serif); color:var(--gold-light); font-size:1rem; letter-spacing:.08em; font-weight:400; text-transform:uppercase; margin:.8rem 0 .3rem; }
.file-card p { margin:0; color:var(--muted); font-size:.76rem; }

.about { overflow:hidden; background:linear-gradient(120deg,#07100f 0 42%,#0b1210 42%); }
.about-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(3rem,8vw,8rem); align-items:center; }
.author-art { min-height:520px; position:relative; display:grid; place-items:center; }
.author-art::before { content:""; position:absolute; inset:7% 10%; border:1px solid var(--line); }
.author-art::after { content:"SR"; font-family:var(--serif); font-size:clamp(8rem,20vw,18rem); color:rgba(214,170,84,.08); }
.author-art img { position:absolute; width:90%; max-height:520px; object-fit:cover; z-index:2; filter:saturate(.75) contrast(1.05); }
.about-copy h2 { font-family:var(--serif); font-size:clamp(2.5rem,5vw,4.7rem); font-weight:400; line-height:1; color:var(--gold-light); margin:.5rem 0 1.5rem; }
.about-copy p { color:var(--muted); }
.about-copy .lead { color:var(--ivory); font-family:var(--serif); font-style:italic; font-size:1.25rem; }

.newsletter { background:radial-gradient(circle at 85% 50%,rgba(6,59,58,.42),transparent 32%),#050807; }
.newsletter-box { border:1px solid var(--line); padding:clamp(2rem,6vw,4.5rem); display:grid; grid-template-columns:1fr 1.1fr; gap:3rem; align-items:center; position:relative; overflow:hidden; }
.newsletter-box::after { content:""; position:absolute; right:-150px; top:-150px; width:400px; height:400px; border:1px solid rgba(214,170,84,.12); border-radius:50%; }
.newsletter-box h2 { margin:.2rem 0 .8rem; font-family:var(--serif); color:var(--gold-light); font-size:clamp(2.2rem,4vw,3.8rem); font-weight:400; }
.newsletter-box p { color:var(--muted); }
.newsletter-form { position:relative; z-index:2; }
.form-row { display:flex; }
.form-row input { flex:1; min-width:0; min-height:50px; background:#050807; color:var(--ivory); border:1px solid var(--line); padding:0 1rem; outline:none; }
.form-row input:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(214,170,84,.08); }
.form-note { font-size:.72rem; }
.form-status { color:var(--gold-light)!important; min-height:1.4em; }

.page-hero { min-height:58svh; display:grid; place-items:center; text-align:center; padding:9rem 1.25rem 4rem; position:relative; border-bottom:1px solid var(--line); overflow:hidden; }
.page-hero::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 0%,rgba(6,59,58,.55),transparent 55%),linear-gradient(rgba(0,0,0,.25),rgba(0,0,0,.8)); z-index:-1; }
.page-hero .section-heading { margin:0; }
.content-panel { width:min(900px,100%); margin:0 auto; color:var(--muted); }
.content-panel h2 { font-family:var(--serif); color:var(--gold-light); font-size:2rem; font-weight:400; margin-top:2.5rem; }
.content-panel strong { color:var(--ivory); }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.contact-card { border:1px solid var(--line); padding:2rem; background:rgba(6,59,58,.1); }
.contact-card h2 { margin-top:0; }
.contact-form { display:grid; gap:1rem; }
.contact-form label { font-size:.7rem; letter-spacing:.15em; text-transform:uppercase; color:var(--gold); }
.contact-form input,.contact-form textarea { width:100%; background:#050807; border:1px solid var(--line); color:var(--ivory); padding:.85rem 1rem; outline:none; }
.contact-form textarea { min-height:160px; resize:vertical; }
.contact-form input:focus,.contact-form textarea:focus { border-color:var(--gold); }


.standard-social { display:flex; flex-wrap:wrap; justify-content:center; gap:.55rem; }
.standard-social a { display:inline-flex; align-items:center; gap:.32rem; color:var(--gold); text-decoration:none; text-transform:uppercase; letter-spacing:.08em; font-size:.58rem; padding:.28rem .52rem; border:1px solid rgba(214,170,84,.28); border-radius:999px; }
.standard-social a:hover { color:var(--gold-light); border-color:rgba(214,170,84,.6); background:rgba(214,170,84,.08); }
.contact-socials { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1rem; }
.contact-socials a { display:inline-flex; align-items:center; gap:.35rem; color:var(--gold); text-decoration:none; text-transform:uppercase; letter-spacing:.08em; font-size:.62rem; padding:.32rem .58rem; border:1px solid rgba(214,170,84,.28); border-radius:999px; }
.contact-socials a:hover { color:var(--gold-light); border-color:rgba(214,170,84,.6); background:rgba(214,170,84,.08); }

.site-footer { border-top:1px solid var(--line); background:#030504; padding:3rem 1.25rem 2rem; }
.footer-inner { width:min(var(--max),100%); margin:0 auto; display:grid; grid-template-columns:1fr auto auto 1fr; gap:2rem; align-items:center; }
.footer-logo { width:190px; }
.footer-nav { display:flex; flex-wrap:wrap; gap:1.2rem; justify-content:center; }
.footer-nav a { color:var(--muted); text-decoration:none; text-transform:uppercase; letter-spacing:.13em; font-size:.65rem; }
.footer-nav a:hover { color:var(--gold); }
.footer-meta { text-align:right; color:#777166; font-size:.7rem; }

.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
.reveal.is-visible { opacity:1; transform:none; }



.books-showcase { background: linear-gradient(180deg,#050807,#07100f); }
.book-list { display:grid; gap:2rem; }
.book-card {
  display:grid; grid-template-columns:minmax(240px,320px) minmax(0,1fr); gap:2rem; align-items:center;
  border:1px solid var(--line); background:linear-gradient(155deg,rgba(9,34,32,.28),rgba(8,10,10,.96));
  padding:1.35rem; position:relative; overflow:hidden;
}
.book-card::before {
  content:""; position:absolute; inset:auto -120px -120px auto; width:260px; height:260px;
  border:1px solid rgba(214,170,84,.12); border-radius:50%;
}
.book-card-cover { position:relative; display:flex; align-items:flex-start; justify-content:center; }
.book-card-cover img {
  width:auto; max-width:100%; height:auto; max-height:none; object-fit:contain; border:1px solid rgba(214,170,84,.45);
  box-shadow:0 24px 60px rgba(0,0,0,.55); background:#070707;
}
.book-card-copy h2 { font-family:var(--serif); font-weight:400; font-size:clamp(2.1rem,4vw,4rem); line-height:.95; color:var(--gold-light); margin:.2rem 0 1rem; }
.book-card-copy p { color:var(--muted); }
.book-card-alt { background:linear-gradient(155deg,rgba(6,23,27,.76),rgba(8,10,10,.98)); }

@media (max-width: 980px) {
  .header-social { display:none; }
  .pillars { grid-template-columns:repeat(2,1fr); }
  .pillar:nth-child(2){border-right:0}
  .pillar:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .featured-grid,.about-grid,.newsletter-box,.book-card { grid-template-columns:1fr; }
  .cover-stage { min-height:520px; }
  .card-grid { grid-template-columns:1fr 1fr; }
  .file-grid { grid-template-columns:repeat(3,1fr); }
  .file-card:nth-child(3){border-right:0}
  .file-card:nth-child(-n+3){border-bottom:1px solid var(--line)}
  .footer-inner { grid-template-columns:1fr; text-align:center; }
  .footer-logo { margin:auto; }
  .footer-meta { text-align:center; }
}

@media (max-width: 760px) {
  .site-header { height:66px; }
  .menu-toggle { display:block; }
  .primary-nav { position:fixed; inset:66px 0 auto; display:grid; gap:0; background:rgba(5,8,7,.97); border-bottom:1px solid var(--line); transform:translateY(-130%); transition:transform .25s ease; padding:1rem 1.25rem 1.5rem; }
  .primary-nav.is-open { transform:none; }
  .primary-nav a { padding:1rem 0; border-bottom:1px solid rgba(214,170,84,.12); font-size:.8rem; }
  .hero { min-height:92svh; }
  .hero-logo { width:min(490px,96vw); margin-bottom:-.6rem; }
  .hero-rose { width:110vw; }
  .pillars { grid-template-columns:1fr; }
  .pillar { border-right:0; border-bottom:1px solid var(--line)!important; }
  .pillar:last-child { border-bottom:0!important; }
  .featured-grid { gap:2rem; }
  .cover-stage { min-height:470px; }
  .card-grid,.contact-grid { grid-template-columns:1fr; }
  .book-card { padding:1rem; }
  .file-grid { grid-template-columns:repeat(2,1fr); }
  .file-card { border-bottom:1px solid var(--line); }
  .file-card:nth-child(odd){border-right:1px solid var(--line)}
  .file-card:nth-child(even){border-right:0}
  .form-row { flex-direction:column; gap:.75rem; }
  .button { width:100%; }
  .hero-actions .button { width:auto; }
  .section { padding-block:4.6rem; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; }
  .reveal { opacity:1; transform:none; }
}

.contact-email-link { color:var(--gold-light); font-family:var(--serif); font-size:clamp(1rem,2vw,1.35rem); overflow-wrap:anywhere; text-decoration:none; border-bottom:1px solid var(--gold-deep); padding-bottom:.18rem; }
.contact-email-link:hover { color:var(--gold); }

/* Homepage implementation based on the approved black, teal and gold mockup */
.home-compact {
  --compact-gold: #d5aa55;
  --compact-gold-soft: #efd486;
  --compact-teal: #063b3a;
  background: #030706;
  font-family: "Montserrat", var(--sans);
}
.home-compact .site-header.compact-header {
  position: relative;
  height: 58px;
  padding: 0 clamp(1.1rem, 7vw, 7.5rem);
  background: #020504;
  border-bottom: 1px solid rgba(213,170,85,.38);
}
.home-compact .compact-monogram {
  width: 35px; height: 35px; display:grid; place-items:center;
  color:var(--compact-gold); text-decoration:none; font-family:"Cinzel",var(--serif);
  font-size:.82rem; letter-spacing:-.16em; padding-right:.13em;
  border:0;
}
.home-compact .primary-nav { gap:clamp(.95rem,2.2vw,2.25rem); }
.home-compact .primary-nav a { font-family:"Montserrat",var(--sans); font-size:.62rem; letter-spacing:.17em; }
.home-compact .primary-nav a::after { bottom:-1.05rem; }
.compact-social { display:flex; align-items:center; gap:.45rem; color:var(--compact-gold); font-family:var(--sans); font-size:.56rem; text-transform:uppercase; letter-spacing:.08em; flex-wrap:wrap; justify-content:flex-end; }
.compact-social a { display:inline-flex; align-items:center; gap:.32rem; text-decoration:none; color:inherit; padding:.26rem .5rem; border:1px solid rgba(213,170,85,.28); border-radius:999px; }
.compact-social a:hover { background:rgba(213,170,85,.08); border-color:rgba(213,170,85,.55); }
.compact-social span { opacity:.9; }

.compact-hero {
  min-height:390px; position:relative; overflow:hidden; display:grid; place-items:center;
  border-bottom:1px solid rgba(213,170,85,.45);
  background:
    radial-gradient(circle at 50% 30%, rgba(12,52,50,.35), transparent 33%),
    radial-gradient(circle at 50% 90%, rgba(3,36,35,.35), transparent 40%),
    #020504;
}
.compact-hero::before {
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.35;
  background-image:radial-gradient(circle,rgba(231,188,96,.72) 0 1px,transparent 1.5px);
  background-size:76px 76px;
  mask-image:linear-gradient(90deg,#000,transparent 35%,transparent 65%,#000);
}
.compact-hero-side { position:absolute; top:0; bottom:0; width:42%; background-repeat:no-repeat; background-size:cover; opacity:.83; }
.compact-hero-left { left:0; background-image:linear-gradient(90deg,rgba(2,5,4,.05),rgba(2,5,4,.78)),url("assets/hero-desk.webp"); background-position:left center; }
.compact-hero-right { right:0; background-image:linear-gradient(270deg,rgba(2,5,4,.05),rgba(2,5,4,.75)),url("assets/hero-roses.webp"); background-position:right center; }
.compact-hero-content { position:relative; z-index:2; width:min(650px,58vw); text-align:center; padding:1.2rem 1rem .9rem; }
.compact-hero-logo { width:min(450px,100%); max-height:250px; object-fit:contain; margin:0 auto -1.4rem; filter:drop-shadow(0 14px 28px #000); }
.compact-hero-content p { font-family:var(--serif); font-style:italic; color:#d9d0c0; font-size:.95rem; line-height:1.35; margin:0 0 .8rem; }
.compact-actions { display:flex; justify-content:center; gap:.9rem; }
.home-compact .button { min-height:37px; padding:.55rem 1.45rem; font-size:.59rem; }

.compact-featured {
  min-height:220px; display:grid; grid-template-columns:minmax(250px,1fr) 190px minmax(280px,1fr);
  align-items:center; gap:2rem; padding:1rem clamp(1.5rem,12vw,13rem);
  position:relative; border-bottom:1px solid rgba(213,170,85,.38);
  background:
    linear-gradient(90deg,rgba(3,19,18,.7),rgba(3,7,6,.96) 34%,rgba(3,7,6,.96) 66%,rgba(4,25,24,.72)),
    url("assets/teal-rose-texture.webp") left center/330px auto no-repeat,
    #030706;
}
.compact-featured-copy { text-align:center; }
.mini-rule { display:flex; align-items:center; justify-content:center; gap:.7rem; color:var(--compact-gold); text-transform:uppercase; letter-spacing:.14em; font-size:.58rem; }
.mini-rule::before,.mini-rule::after { content:""; width:38px; height:1px; background:linear-gradient(90deg,transparent,var(--compact-gold)); }
.mini-rule::after { transform:scaleX(-1); }
.compact-featured h2 { font-family:"Cinzel",var(--serif); color:var(--compact-gold-soft); font-size:1.45rem; font-weight:400; letter-spacing:.08em; margin:.25rem 0 .65rem; }
.compact-featured-copy>p:not(.mini-rule) { color:#c8c0b2; font-family:var(--serif); font-size:.73rem; line-height:1.35; }
.outline-link { display:inline-flex; align-items:center; justify-content:center; min-height:30px; padding:.35rem 1.5rem; border:1px solid rgba(213,170,85,.55); text-decoration:none; color:var(--compact-gold); text-transform:uppercase; letter-spacing:.13em; font-size:.55rem; }
.outline-link:hover { background:var(--compact-gold); color:#050504; }
.compact-cover { justify-self:center; width:132px; padding:5px; border:1px solid rgba(213,170,85,.7); box-shadow:0 18px 45px #000; background:#060806; }
.compact-cover img { width:100%; height:auto; object-fit:contain; display:block; }
.compact-signatures { border-left:1px solid rgba(213,170,85,.28); padding-left:2rem; display:grid; gap:.55rem; }
.compact-signatures>div { display:grid; grid-template-columns:30px 1fr; gap:.7rem; align-items:start; }
.compact-signatures>div>span { color:var(--compact-gold); font-family:var(--serif); font-size:1.25rem; }
.compact-signatures p { margin:0; color:#bdb5a7; font-size:.61rem; line-height:1.35; }
.compact-signatures strong { display:block; color:var(--compact-gold); font-family:"Cinzel",var(--serif); font-weight:400; text-transform:uppercase; letter-spacing:.06em; font-size:.71rem; }
.compact-signatures .outline-link { justify-self:start; margin-top:.15rem; }

.compact-universe { position:relative; padding: .3rem clamp(1.5rem,9vw,10rem) .85rem; text-align:center; border-bottom:1px solid rgba(213,170,85,.38); background:linear-gradient(90deg,rgba(4,37,35,.38),#030706 30%,#030706 70%,rgba(4,30,29,.38)); }
.compact-universe h2,.compact-files h2 { display:flex; align-items:center; justify-content:center; gap:.9rem; margin:0 0 .35rem; color:var(--compact-gold); font-family:"Cinzel",var(--serif); font-size:.95rem; font-weight:400; letter-spacing:.18em; text-transform:uppercase; }
.compact-universe h2::before,.compact-universe h2::after,.compact-files h2::before,.compact-files h2::after { content:""; width:55px; height:1px; background:linear-gradient(90deg,transparent,var(--compact-gold)); }
.compact-universe h2::after,.compact-files h2::after { transform:scaleX(-1); }
.compact-universe-grid { display:grid; grid-template-columns:repeat(4,1fr); border-left:1px solid rgba(213,170,85,.3); }
.universe-item { min-height:65px; padding:.5rem 1rem; border-right:1px solid rgba(213,170,85,.3); text-decoration:none; display:flex; flex-direction:column; justify-content:center; }
.universe-item strong { color:var(--compact-gold-soft); font-family:"Cinzel",var(--serif); font-weight:400; font-size:.78rem; letter-spacing:.04em; }
.universe-item em { color:#a8a094; font-family:var(--serif); font-size:.65rem; }
.universe-item small { color:var(--compact-gold); text-transform:uppercase; letter-spacing:.13em; font-size:.49rem; margin-top:.15rem; }
.universe-button { margin-top:.55rem; }

.compact-files { position:relative; padding:.45rem clamp(1.5rem,14vw,15rem) .6rem; text-align:center; border-bottom:1px solid rgba(213,170,85,.38); background:#030706; overflow:hidden; }
.compact-files::after { content:""; position:absolute; right:0; bottom:0; width:240px; height:100%; background:linear-gradient(270deg,rgba(2,5,4,.05),#030706),url("assets/teal-pendant.webp") right center/cover no-repeat; opacity:.72; pointer-events:none; }
.compact-files-grid { position:relative; z-index:1; display:grid; grid-template-columns:repeat(6,1fr); max-width:900px; margin:auto; }
.compact-files-grid a { min-height:72px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.2rem; color:var(--compact-gold); text-decoration:none; border-right:1px solid rgba(213,170,85,.25); }
.compact-files-grid a:last-child { border-right:0; }
.compact-files-grid span { font-size:1.4rem; font-family:var(--serif); }
.compact-files-grid strong { color:#c9c1b3; text-transform:uppercase; letter-spacing:.08em; font-weight:400; font-size:.56rem; line-height:1.25; }
.compact-files-link { position:relative; z-index:1; display:inline-block; color:var(--compact-gold); text-decoration:none; text-transform:uppercase; letter-spacing:.13em; font-size:.5rem; margin-top:.2rem; }

.compact-newsletter { min-height:78px; display:grid; grid-template-columns:minmax(210px,.8fr) minmax(330px,1.25fr); align-items:center; gap:2rem; position:relative; overflow:hidden; padding:.55rem clamp(1.5rem,15vw,15rem); border-bottom:1px solid rgba(213,170,85,.38); background:linear-gradient(90deg,rgba(5,46,43,.45),#030706 32%,#030706 68%,rgba(5,41,39,.35)); }
.compact-newsletter-copy h2 { margin:0; color:var(--compact-gold-soft); font-family:"Cinzel",var(--serif); font-size:1.05rem; font-weight:400; }
.compact-newsletter-copy p { margin:.1rem 0 0; color:#aaa295; font-family:var(--serif); font-size:.57rem; line-height:1.25; font-style:italic; }
.compact-newsletter-form { display:grid; grid-template-columns:1fr auto; position:relative; z-index:2; }
.compact-newsletter-form input { min-height:34px; border:1px solid rgba(213,170,85,.42); background:#020504; color:#eee5d7; padding:0 .9rem; font-size:.61rem; letter-spacing:.08em; outline:none; }
.compact-newsletter-form .button { min-height:34px; }
.compact-newsletter-form .form-status { position:absolute; top:100%; margin:.1rem 0 0; font-size:.55rem; }

.compact-footer { min-height:74px; display:grid; grid-template-columns:185px 45px 1fr auto 160px; align-items:center; gap:1.25rem; padding:.35rem clamp(1.5rem,7vw,7rem); background:#020504; }
.compact-footer-brand img { width:140px; max-height:62px; object-fit:contain; }
.compact-footer-monogram { color:var(--compact-gold); font-family:"Cinzel",var(--serif); }
.compact-footer nav { display:flex; justify-content:center; gap:1.45rem; }
.compact-footer nav a { color:#bbb3a6; text-decoration:none; text-transform:uppercase; font-size:.54rem; letter-spacing:.12em; }
.compact-footer p { margin:0; color:#6f6a61; font-size:.5rem; text-transform:uppercase; letter-spacing:.08em; white-space:nowrap; }
.footer-social { justify-content:flex-end; }

@media (max-width: 1000px) {
  .home-compact .site-header.compact-header { position:sticky; top:0; }
  .compact-social { display:none; }
  .compact-featured { padding-inline:2rem; grid-template-columns:1fr 150px 1fr; }
  .compact-universe,.compact-files,.compact-newsletter { padding-inline:2rem; }
  .compact-footer { grid-template-columns:140px 1fr; }
  .compact-footer-monogram,.compact-footer p,.footer-social { display:none; }
  .compact-footer nav { justify-content:flex-end; }
}

@media (max-width: 760px) {
  .home-compact .site-header.compact-header { height:66px; padding-inline:1rem; }
  .home-compact .primary-nav { inset:66px 0 auto; }
  .compact-hero { min-height:520px; }
  .compact-hero-side { width:78%; opacity:.55; }
  .compact-hero-left { background-position:25% center; }
  .compact-hero-right { background-position:75% center; }
  .compact-hero-content { width:min(470px,94vw); }
  .compact-hero-logo { margin-bottom:-.7rem; }
  .compact-actions { flex-direction:column; align-items:center; }
  .compact-actions .button { width:min(280px,100%); }
  .compact-featured { grid-template-columns:1fr; padding:2rem 1.25rem; text-align:center; }
  .compact-cover { order:-1; width:170px; height:255px; }
  .compact-signatures { border-left:0; border-top:1px solid rgba(213,170,85,.28); padding:1.5rem 0 0; text-align:left; }
  .compact-signatures .outline-link { justify-self:center; }
  .compact-universe { padding:1rem; }
  .compact-universe-grid { grid-template-columns:1fr 1fr; border-top:1px solid rgba(213,170,85,.3); }
  .universe-item { border-bottom:1px solid rgba(213,170,85,.3); }
  .compact-files { padding:1rem; }
  .compact-files-grid { grid-template-columns:repeat(3,1fr); }
  .compact-files-grid a { border-bottom:1px solid rgba(213,170,85,.22); }
  .compact-newsletter { grid-template-columns:1fr; padding:1.25rem; gap:.8rem; text-align:center; }
  .compact-newsletter-form { grid-template-columns:1fr; gap:.5rem; }
  .compact-footer { grid-template-columns:1fr; text-align:center; padding:1rem; }
  .compact-footer-brand img { margin:auto; }
  .compact-footer nav { justify-content:center; flex-wrap:wrap; gap:.85rem; }
}


@media (max-width: 860px) {
  .compact-cover { width:118px; }
}
