:root {
  --black: #090807;
  --black-soft: #100e0b;
  --panel: #15110d;
  --espresso: #211a15;
  --gold: #c9a66f;
  --gold-light: #ead0a1;
  --gold-dim: #806846;
  --ivory: #f0e7d9;
  --muted: #a99c88;
  --line: rgba(201, 166, 111, .28);
  --serif: "Bodoni Moda", "Didot", "Bodoni MT", "Times New Roman", serif;
  --sans: "Manrope", "Helvetica Neue", Arial, sans-serif;
  --page-pad: clamp(1.25rem, 5.8vw, 6rem);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; background: var(--black); }
body { margin: 0; color: var(--ivory); background: var(--black); font-family: var(--sans); font-size: 14px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body.drawer-open, body.modal-open { overflow: hidden; }
::selection { color: var(--black); background: var(--gold-light); }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }
button, a, input { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, summary:focus-visible { outline: 1px solid var(--gold-light); outline-offset: 4px; }
img { display: block; max-width: 100%; }
.skip-link { position: fixed; top: -80px; left: 1rem; z-index: 999; padding: .7rem 1rem; color: var(--black); background: var(--gold-light); }
.skip-link:focus { top: 1rem; }
.announcement { min-height: 32px; display: flex; gap: 1.2rem; align-items: center; justify-content: center; border-bottom: 1px solid var(--line); color: var(--gold); font-size: 9px; letter-spacing: .22em; text-transform: uppercase; }
.announcement i { padding: 0 .35rem; font-style: normal; color: var(--gold-light); }
.announcement-line { display: block; width: clamp(20px, 4vw, 56px); height: 1px; background: var(--gold-dim); }
.site-header { min-height: 92px; padding: 0 var(--page-pad); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 2rem; border-bottom: 1px solid rgba(201,166,111,.12); position: relative; z-index: 20; background: rgba(9,8,7,.94); }
.nav { display: flex; align-items: center; gap: clamp(1rem, 2.6vw, 2.8rem); }
.nav a, .cart-trigger { color: #d9cbb6; font-size: 10px; letter-spacing: .08em; transition: color .25s ease; }
.nav a:hover, .cart-trigger:hover, .footer-links a:hover, .footer-legal:hover { color: var(--gold-light); }
.nav-right { justify-content: flex-end; }
.cart-trigger { border: 0; background: transparent; padding: .65rem 0; cursor: pointer; }
.cart-count { color: var(--gold); margin-left: .3rem; }
.wordmark { display: inline-flex; flex-direction: column; align-items: center; font-family: var(--serif); font-size: clamp(1.6rem, 2.3vw, 2.2rem); font-weight: 400; letter-spacing: .105em; line-height: 1.05; white-space: nowrap; }
.wordmark > span { color: var(--gold); display: contents; }
.wordmark small { margin-top: .55rem; font-family: var(--sans); color: var(--gold); font-size: 7px; letter-spacing: .34em; }
.icon-button { width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--line); background: transparent; color: var(--gold-light); cursor: pointer; }
.menu-toggle { display: none; }
.hero { min-height: min(720px, calc(100svh - 124px)); padding: clamp(3.6rem, 7vw, 7rem) var(--page-pad) clamp(2.2rem, 4vw, 4rem); display: grid; grid-template-columns: minmax(300px, .9fr) minmax(400px, 1.1fr); align-items: center; position: relative; overflow: hidden; isolation: isolate; }
.hero::before { content: ""; position: absolute; z-index: -2; inset: 0; background: radial-gradient(ellipse at 71% 50%, rgba(93,58,28,.18), transparent 38%), linear-gradient(110deg, #090807 0%, #0b0907 40%, #15100b 100%); }
.hero::after { content: ""; position: absolute; z-index: -1; width: 52vw; aspect-ratio: 1; right: -15vw; top: -35%; border: 1px solid rgba(201,166,111,.08); border-radius: 50%; box-shadow: 0 0 0 70px rgba(201,166,111,.015), 0 0 0 140px rgba(201,166,111,.012); }
.hero-copy { position: relative; z-index: 3; max-width: 570px; padding-bottom: 1rem; }
.eyebrow { display: flex; align-items: center; gap: .7rem; margin: 0 0 1.5rem; color: var(--gold); font-size: 9px; font-weight: 600; letter-spacing: .23em; line-height: 1.5; text-transform: uppercase; }
.eyebrow-mark { width: 20px; height: 1px; display: inline-block; background: var(--gold); }
.hero h1, h2, h3, p { margin-top: 0; }
.hero h1 { margin-bottom: 1.5rem; font-family: var(--serif); font-weight: 400; font-size: clamp(3.5rem, 7.2vw, 7.2rem); letter-spacing: -.065em; line-height: .87; }
h1 em, h2 em { color: var(--gold-light); font-weight: 400; }
.hero h1 em { display: inline-block; margin-top: .08em; font-style: italic; letter-spacing: -.06em; }
.hero-description { max-width: 350px; color: #c8bcaa; font-size: 13px; line-height: 1.8; }
.hero-actions { margin-top: 2.2rem; display: flex; align-items: center; flex-wrap: wrap; gap: 1.2rem 1.8rem; }
.button { min-height: 48px; padding: .8rem 1.25rem; display: inline-flex; align-items: center; justify-content: space-between; gap: 2rem; border: 1px solid transparent; cursor: pointer; font-size: 9px; font-weight: 700; letter-spacing: .12em; line-height: 1.3; text-transform: uppercase; transition: background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease; }
.button:hover { transform: translateY(-2px); }
.button-gold { color: #15100a; background: var(--gold-light); border-color: var(--gold-light); }
.button-gold:hover { background: #f4dfb7; border-color: #f4dfb7; }
.button-outline { color: var(--gold-light); border-color: var(--gold-dim); background: transparent; }
.button-outline:hover { background: rgba(201,166,111,.09); border-color: var(--gold-light); }
.text-link { display: inline-flex; align-items: center; gap: .8rem; padding: .5rem 0; color: #cbb99d; border: 0; border-bottom: 1px solid var(--gold-dim); background: none; font-size: 10px; letter-spacing: .07em; cursor: pointer; transition: color .25s ease, border-color .25s ease; }
.text-link:hover { color: var(--gold-light); border-color: var(--gold-light); }
.hero-footnote { margin-top: clamp(3rem, 6vw, 5.8rem); display: flex; align-items: center; gap: .8rem; color: #9f8c70; font-size: 8px; letter-spacing: .2em; }
.tiny-rule { display: inline-block; width: 34px; height: 1px; background: var(--gold-dim); }
.hero-visual { min-width: 0; position: relative; min-height: 440px; display: flex; align-items: center; justify-content: center; }
.hero-visual img { position: relative; z-index: 1; width: min(100%, 560px); max-height: 530px; object-fit: contain; filter: drop-shadow(0 35px 50px rgba(0,0,0,.65)); mix-blend-mode: screen; }
.hero-aura { position: absolute; width: 76%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(171,116,59,.15) 0, rgba(171,116,59,.04) 42%, transparent 70%); }
.hero-seal { position: absolute; top: 4%; right: 1%; width: 88px; height: 88px; border: 1px solid var(--gold-dim); border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: .25rem; color: var(--gold); font-size: 6px; letter-spacing: .24em; text-align: center; transform: rotate(12deg); }
.hero-seal b { font-size: 1.2rem; font-weight: 400; }
.hero-image-note { position: absolute; right: -1%; bottom: 5%; color: var(--gold); font-size: 8px; letter-spacing: .2em; line-height: 1.6; }
.hero-index { position: absolute; bottom: 1.5rem; left: var(--page-pad); display: flex; align-items: center; gap: .7rem; color: #7c6a50; font-size: 8px; letter-spacing: .18em; }
.hero-index i { display: inline-block; width: 36px; height: 1px; background: var(--gold-dim); }
.gold-rule { height: 1px; background: linear-gradient(90deg, transparent, var(--gold-dim) 18%, var(--line) 50%, var(--gold-dim) 82%, transparent); }
.section-shell { padding-left: var(--page-pad); padding-right: var(--page-pad); }
.product-section { padding-top: clamp(4.5rem, 8vw, 8rem); padding-bottom: clamp(5rem, 9vw, 8rem); }
.section-kicker { display: flex; justify-content: space-between; align-items: center; padding-bottom: 1.1rem; border-bottom: 1px solid var(--line); color: var(--gold-dim); font-size: 8px; letter-spacing: .2em; }
.product-layout { padding-top: 2rem; display: grid; grid-template-columns: minmax(240px, .95fr) minmax(280px, .9fr) minmax(130px, .42fr); gap: clamp(1.2rem, 3vw, 3rem); align-items: center; }
.product-art { position: relative; min-height: 330px; margin: 0; overflow: hidden; background: var(--panel); border: 1px solid rgba(201,166,111,.17); }
.product-art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 65%, rgba(0,0,0,.6)); pointer-events: none; }
.product-art img { width: 100%; height: 100%; min-height: 330px; object-fit: cover; object-position: 52% 50%; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.product-art:hover img { transform: scale(1.035); }
.product-art figcaption { position: absolute; z-index: 1; bottom: 1rem; left: 1rem; right: 1rem; display: flex; justify-content: space-between; color: var(--gold-light); font-size: 7px; letter-spacing: .18em; }
.product-copy { padding: 1rem 0; }
.product-copy .eyebrow { margin-bottom: 1.2rem; }
.eyebrow-dot { width: 3px; height: 3px; margin: 0 .4rem; border-radius: 50%; background: var(--gold); }
.product-copy h2, .manifesto h2, .principles h2, .ritual h2, .faq-section h2, .final-cta h2 { font-family: var(--serif); font-weight: 400; font-size: clamp(2.5rem, 4.5vw, 4.6rem); letter-spacing: -.05em; line-height: .98; }
.product-copy h2 { margin-bottom: 1rem; }
.product-subtitle { margin: 0 0 1rem; color: var(--gold-light); font-size: 10px; letter-spacing: .1em; }
.body-copy { max-width: 440px; color: #b9ad9b; font-size: 12px; line-height: 1.9; }
.product-facts { margin: 1.5rem 0 1.8rem; border-top: 1px solid var(--line); }
.product-facts > div { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid rgba(201,166,111,.14); font-size: 10px; }
.product-facts span { color: #98876d; }
.product-facts strong { color: #d5c5ac; font-weight: 500; text-align: right; }
.add-to-cart { width: 100%; }
.micro-note { margin: .9rem 0 0; color: #857968; font-size: 9px; line-height: 1.7; }
.product-detail { min-height: 330px; border: 1px solid rgba(201,166,111,.17); background: var(--panel); }
.product-detail img { height: 270px; width: 100%; object-fit: cover; }
.detail-caption { padding: .8rem .7rem; display: flex; align-items: center; justify-content: space-between; gap: .5rem; color: var(--gold); font-size: 7px; letter-spacing: .14em; }
.detail-asterisk { font-size: 1.1rem; }
.manifesto { display: grid; grid-template-columns: minmax(220px, .95fr) minmax(300px, 1.05fr) 110px; align-items: center; min-height: 430px; background: linear-gradient(100deg, #0d0a08, #14100c 68%, #0a0807); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); overflow: hidden; }
.manifesto-photo { height: 100%; min-height: 430px; overflow: hidden; position: relative; }
.manifesto-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 50%, #100d0a 100%); }
.manifesto-photo img { height: 100%; width: 100%; min-height: 430px; object-fit: cover; object-position: center; filter: saturate(.72) contrast(1.05); }
.manifesto-copy { padding: 4rem clamp(2rem, 5vw, 5rem); }
.manifesto-copy .eyebrow { margin-bottom: 1.5rem; }
.manifesto h2 { margin-bottom: 2.1rem; font-size: clamp(2.7rem, 4.5vw, 4.8rem); }
.manifesto-body { max-width: 390px; margin-left: clamp(0rem, 5vw, 5rem); color: #c8bba9; font-size: 12px; line-height: 1.85; }
.manifesto-body p { margin-bottom: .9rem; }
.manifesto-signature { margin-top: 1.6rem; color: var(--gold-light); font-size: 10px; letter-spacing: .15em; }
.manifesto-signature span { display: inline-block; margin-top: .3rem; color: #b5a58d; font-size: 10px; letter-spacing: .02em; }
.manifesto-side-note { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .9rem; color: var(--gold-dim); font-size: 7px; letter-spacing: .2em; writing-mode: vertical-rl; }
.manifesto-side-note i { height: 32px; width: 1px; background: var(--gold-dim); }
.principles { padding-top: clamp(4.5rem, 8vw, 7.5rem); padding-bottom: clamp(4.5rem, 8vw, 7.5rem); }
.principles-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; padding-bottom: 2rem; border-bottom: 1px solid var(--line); }
.principles-heading .eyebrow { align-self: start; margin-top: .6rem; }
.principles h2 { margin: 0; flex: 1; font-size: clamp(2.4rem, 4.5vw, 4rem); text-align: right; }
.principle-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.principle { min-height: 220px; padding: 1.5rem clamp(.8rem, 2vw, 2rem) 1rem; border-right: 1px solid var(--line); position: relative; }
.principle:first-child { padding-left: 0; }
.principle:last-child { border-right: 0; padding-right: 0; }
.principle-number { color: #79674d; font-size: 8px; letter-spacing: .15em; }
.principle-icon { display: block; margin: 1.4rem 0 1.2rem; color: var(--gold); font-family: var(--serif); font-size: 2rem; font-weight: 400; }
.principle h3 { margin-bottom: .7rem; color: var(--gold-light); font-family: var(--serif); font-size: clamp(1.4rem, 2vw, 1.9rem); font-weight: 400; letter-spacing: -.025em; }
.principle p { max-width: 220px; margin-bottom: 0; color: #a99d8b; font-size: 11px; line-height: 1.8; }
.ritual { padding-top: clamp(4.5rem, 8vw, 7.5rem); padding-bottom: clamp(4.5rem, 8vw, 7.5rem); background: #0e0c09; border-top: 1px solid rgba(201,166,111,.12); }
.ritual-heading { display: grid; grid-template-columns: minmax(260px, .9fr) minmax(260px, 1fr); column-gap: 3rem; align-items: end; margin-bottom: 2.4rem; }
.ritual-heading .eyebrow { grid-column: 1 / -1; }
.ritual-heading h2 { margin: 0; }
.ritual-heading > p:last-child { max-width: 300px; margin: 0 0 .2rem; color: #a99d8b; font-size: 12px; line-height: 1.85; }
.ritual-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .7rem; }
.ritual-card { min-width: 0; }
.ritual-card img { width: 100%; aspect-ratio: 4 / 5.1; object-fit: cover; filter: saturate(.65) brightness(.8); border: 1px solid rgba(201,166,111,.18); transition: filter .4s ease, transform .4s ease; }
.ritual-card:hover img { filter: saturate(.9) brightness(1); transform: translateY(-4px); }
.ritual-card div { padding-top: .8rem; }
.ritual-card span { color: var(--gold); font-size: 8px; letter-spacing: .16em; }
.ritual-card p { margin: .25rem 0 0; color: #c8bcaa; font-family: var(--serif); font-size: clamp(.95rem, 1.4vw, 1.2rem); line-height: 1.35; }
.quote-band { min-height: 220px; padding: 3rem var(--page-pad); display: flex; align-items: center; justify-content: center; gap: clamp(2rem, 7vw, 8rem); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: radial-gradient(ellipse at 50% 110%, rgba(108,73,39,.25), transparent 50%), linear-gradient(110deg, #0b0907, #17110b 50%, #0a0807); position: relative; overflow: hidden; }
.quote-band::before, .quote-band::after { content: ""; position: absolute; width: 40vw; height: 1px; background: linear-gradient(90deg, transparent, var(--gold-dim), transparent); top: 50%; }
.quote-band::before { left: -10%; transform: rotate(-24deg); }
.quote-band::after { right: -10%; transform: rotate(24deg); }
.quote-decoration { color: var(--gold-dim); font-family: var(--serif); font-size: 3rem; }
.quote-band p { position: relative; z-index: 1; margin: 0; font-family: var(--serif); font-size: clamp(2rem, 4.4vw, 4.3rem); letter-spacing: -.03em; line-height: .98; text-align: center; }
.quote-band p em { color: var(--gold-light); font-weight: 400; }
.quote-band > span { color: var(--gold); font-size: 8px; letter-spacing: .25em; }
.faq-section { padding-top: clamp(5rem, 9vw, 8rem); padding-bottom: clamp(5rem, 9vw, 8rem); display: grid; grid-template-columns: minmax(240px, .8fr) minmax(350px, 1.2fr); gap: clamp(3rem, 9vw, 10rem); }
.faq-section h2 { margin-bottom: 1.4rem; }
.faq-intro { max-width: 300px; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.3rem 0; color: #e8dcc8; font-family: var(--serif); font-size: clamp(1.15rem, 1.8vw, 1.5rem); cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { color: var(--gold); font-family: var(--sans); font-size: 1.1rem; transition: transform .2s ease; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details p { max-width: 540px; padding: 0 2rem 1.4rem 0; margin: 0; color: #a99d8b; font-size: 12px; line-height: 1.9; }
.final-cta { min-height: 410px; padding: 5rem var(--page-pad); display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2rem; background: radial-gradient(ellipse at 50% 100%, rgba(135,92,45,.25), transparent 60%), linear-gradient(110deg, #0a0806, #17110b 53%, #090807); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); position: relative; overflow: hidden; }
.final-cta::before { content: ""; position: absolute; width: 520px; aspect-ratio: 1; border: 1px solid rgba(201,166,111,.12); border-radius: 50%; right: -100px; top: -200px; box-shadow: 0 0 0 45px rgba(201,166,111,.02), 0 0 0 90px rgba(201,166,111,.015); }
.final-cta-inner { position: relative; z-index: 1; }
.final-cta .eyebrow { justify-content: center; }
.final-cta h2 { margin-bottom: 2rem; font-size: clamp(2.7rem, 6vw, 5.8rem); text-align: center; }
.final-cta .button { margin: 0 auto; display: flex; width: fit-content; min-width: 230px; }
.final-orbit { position: relative; z-index: 1; width: clamp(100px, 13vw, 170px); aspect-ratio: 1; border: 1px solid var(--gold-dim); border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .8rem; color: var(--gold); font-size: 7px; letter-spacing: .2em; transform: rotate(-12deg); }
.final-orbit b { font-weight: 400; font-size: 2.2rem; }
.site-footer { padding: 2.5rem var(--page-pad) 1.2rem; background: #080706; }
.footer-main { display: grid; grid-template-columns: auto minmax(200px, 1fr) minmax(260px, .75fr); align-items: start; gap: clamp(2rem, 5vw, 6rem); padding-bottom: 2.5rem; }
.footer-wordmark { font-size: 1.65rem; align-items: flex-start; }
.footer-wordmark small { font-size: 6px; }
.footer-links { display: flex; align-items: flex-start; flex-wrap: wrap; gap: .8rem 1.4rem; padding-top: .5rem; }
.footer-links a, .footer-legal { color: #b8a88f; font-size: 9px; }
.footer-legal { border: 0; padding: 0; background: transparent; cursor: pointer; }
.newsletter label { display: block; margin-bottom: .8rem; color: var(--gold-light); font-family: var(--serif); font-size: 1.2rem; }
.newsletter-input { display: flex; border-bottom: 1px solid var(--gold-dim); }
.newsletter-input input { min-width: 0; width: 100%; padding: .8rem 0; border: 0; outline: none; background: transparent; color: var(--ivory); font-size: 11px; }
.newsletter-input input::placeholder { color: #796d5b; }
.newsletter-input button { width: 44px; flex: 0 0 44px; border: 0; background: transparent; color: var(--gold-light); font-size: 1.2rem; cursor: pointer; }
.form-message { min-height: 18px; margin: .55rem 0 0; color: var(--gold); font-size: 9px; line-height: 1.6; }
.footer-bottom { padding-top: 1.2rem; border-top: 1px solid rgba(201,166,111,.15); display: flex; justify-content: space-between; gap: 1rem; color: #766a58; font-size: 8px; letter-spacing: .13em; }
.footer-bottom a { color: var(--gold-dim); }
.legal-note { max-width: 780px; margin: 1rem 0 0; color: #91836e; font-size: 10px; line-height: 1.8; }
.cart-backdrop, .modal-backdrop { position: fixed; z-index: 80; inset: 0; background: rgba(0,0,0,.68); backdrop-filter: blur(4px); }
.cart-backdrop[hidden], .modal-backdrop[hidden] { display: none; }
.cart-drawer { position: fixed; z-index: 81; top: 0; right: 0; height: 100dvh; width: min(480px, 100%); padding: 1.5rem clamp(1.2rem, 4vw, 2rem); display: flex; flex-direction: column; background: #100d09; border-left: 1px solid var(--line); transform: translateX(102%); transition: transform .35s cubic-bezier(.2,.75,.2,1); }
.cart-drawer.is-open { transform: translateX(0); }
.cart-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding-bottom: 1.4rem; border-bottom: 1px solid var(--line); }
.cart-header .eyebrow { margin-bottom: .7rem; font-size: 8px; }
.cart-header h2 { margin: 0; font-family: var(--serif); font-size: 2rem; font-weight: 400; }
.cart-header h2 span { color: var(--gold); font-family: var(--sans); font-size: 10px; }
.close-cart, .legal-modal-close { font-family: var(--serif); font-size: 1.6rem; }
.cart-content { overflow-y: auto; flex: 1; }
.cart-empty { min-height: 300px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.empty-mark { color: var(--gold); font-size: 2.5rem; }
.cart-empty h3 { margin: .8rem 0 .2rem; font-family: var(--serif); font-size: 1.8rem; font-weight: 400; }
.cart-empty p { color: #a99d8b; font-size: 11px; }
.cart-empty .text-link { margin-top: .8rem; }
.cart-item { padding: 1.4rem 0; display: grid; grid-template-columns: 82px 1fr auto; gap: 1rem; border-bottom: 1px solid var(--line); }
.cart-item img { width: 82px; height: 100px; object-fit: cover; background: var(--panel); }
.cart-item h3 { margin: .2rem 0 .35rem; font-family: var(--serif); font-size: 1.25rem; font-weight: 400; }
.cart-item p { margin: 0; color: #a99d8b; font-size: 10px; }
.qty-control { display: inline-flex; align-items: center; gap: .8rem; margin-top: .85rem; border: 1px solid var(--line); }
.qty-control button { width: 28px; height: 28px; border: 0; background: transparent; color: var(--gold-light); cursor: pointer; }
.qty-control span { color: var(--ivory); font-size: 11px; }
.remove-item { align-self: start; border: 0; background: transparent; color: #9c896f; font-size: 1.2rem; cursor: pointer; }
.cart-footer { border-top: 1px solid var(--line); padding-top: 1rem; }
.cart-disclaimer, .checkout-message { color: #94846c; font-size: 10px; line-height: 1.8; }
.cart-checkout { width: 100%; justify-content: center; }
.checkout-message { margin: .6rem 0 0; color: var(--gold-light); }
.toast { position: fixed; z-index: 100; left: 50%; bottom: 1.5rem; max-width: calc(100vw - 2rem); padding: .9rem 1.2rem; transform: translate(-50%, 20px); border: 1px solid var(--gold-dim); background: #17120c; color: var(--gold-light); font-size: 11px; line-height: 1.5; opacity: 0; pointer-events: none; transition: opacity .25s ease, transform .25s ease; }
.toast.is-visible { opacity: 1; transform: translate(-50%, 0); }
.legal-modal { width: min(520px, calc(100% - 2rem)); position: fixed; z-index: 91; top: 50%; left: 50%; transform: translate(-50%, -50%); padding: clamp(1.5rem, 5vw, 3rem); background: #110d09; border: 1px solid var(--gold-dim); box-shadow: 0 30px 100px rgba(0,0,0,.55); }
.legal-modal-close { position: absolute; right: 1rem; top: 1rem; border: 0; }
.legal-modal h2 { margin: 0 0 1rem; font-family: var(--serif); font-size: 2rem; font-weight: 400; }
.legal-modal p:not(.eyebrow) { margin-bottom: 1.5rem; color: #b9ad9b; font-size: 12px; line-height: 1.9; }
.reveal { opacity: 1; transform: none; }
.js-ready .reveal { opacity: 0; transform: translateY(18px); transition: opacity .75s ease, transform .75s cubic-bezier(.2,.7,.2,1); }
.js-ready .reveal.is-visible { opacity: 1; transform: none; }
@media (min-width: 1500px) { .hero { max-width: 1800px; margin: 0 auto; } }
@media (max-width: 1000px) {
  :root { --page-pad: clamp(1.4rem, 4vw, 3rem); }
  .site-header { gap: 1rem; }
  .nav { gap: 1rem; }
  .hero { grid-template-columns: minmax(290px, .9fr) minmax(320px, 1.1fr); }
  .hero-visual { min-height: 390px; }
  .product-layout { grid-template-columns: minmax(220px, .9fr) minmax(260px, 1fr); }
  .product-art, .product-art img { min-height: 310px; }
  .product-detail { display: none; }
  .manifesto { grid-template-columns: minmax(190px, .75fr) minmax(300px, 1.25fr) 50px; }
  .manifesto-copy { padding: 3rem 2.5rem; }
  .footer-main { grid-template-columns: auto 1fr; }
  .newsletter { grid-column: 1 / -1; max-width: 480px; justify-self: end; width: 100%; }
}
@media (max-width: 700px) {
  html { scroll-padding-top: 82px; }
  .announcement { min-height: 28px; gap: .65rem; font-size: 7px; letter-spacing: .13em; }
  .announcement-line { width: 16px; }
  .site-header { min-height: 74px; padding: 0 1.1rem; grid-template-columns: 42px 1fr 42px; gap: .5rem; }
  .menu-toggle { display: inline-flex; flex-direction: column; gap: 5px; grid-column: 1; grid-row: 1; border: 0; }
  .menu-toggle span { width: 20px; height: 1px; background: var(--gold-light); transition: transform .2s ease; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3px) rotate(-45deg); }
  .wordmark { grid-column: 2; grid-row: 1; justify-self: center; font-size: 1.5rem; letter-spacing: .085em; }
  .wordmark small { margin-top: .35rem; font-size: 6px; }
  .nav-left { position: absolute; z-index: 22; top: 100%; left: 0; right: 0; display: none; padding: 1rem 1.5rem 1.5rem; border-bottom: 1px solid var(--line); background: #0c0a08; flex-direction: column; align-items: stretch; gap: 0; }
  .nav-left.is-open { display: flex; }
  .nav-left a { padding: .9rem 0; border-bottom: 1px solid rgba(201,166,111,.12); font-size: 11px; }
  .nav-right { grid-column: 3; grid-row: 1; justify-content: flex-end; }
  .nav-right > a { display: none; }
  .cart-trigger { display: flex; align-items: center; gap: .25rem; padding: .5rem 0; font-size: 0; }
  .cart-trigger::before { content: "♧"; font-size: 1.25rem; }
  .cart-count { font-size: 9px; }
  .hero { min-height: 0; padding: 3.6rem 1.3rem 2.5rem; display: flex; flex-direction: column; align-items: stretch; }
  .hero-copy { max-width: 100%; }
  .eyebrow { margin-bottom: 1.15rem; font-size: 8px; letter-spacing: .19em; }
  .hero h1 { font-size: clamp(3.7rem, 15vw, 6rem); line-height: .87; margin-bottom: 1.2rem; }
  .hero-description { max-width: 310px; font-size: 12px; }
  .hero-actions { margin-top: 1.7rem; align-items: flex-start; gap: .6rem 1.2rem; }
  .button { min-height: 46px; gap: 1.2rem; font-size: 8px; }
  .hero-actions .button { padding: .8rem .9rem; }
  .hero-actions .text-link { font-size: 9px; }
  .hero-visual { min-height: 0; height: clamp(270px, 85vw, 420px); margin: 1rem -1rem 0; }
  .hero-visual img { width: 100%; max-height: 100%; object-fit: contain; }
  .hero-seal { width: 65px; height: 65px; right: 4%; top: 7%; font-size: 5px; }
  .hero-image-note { right: 4%; bottom: 2%; font-size: 7px; }
  .hero-footnote { margin-top: 1.5rem; font-size: 7px; }
  .hero-index { bottom: .7rem; left: 1.3rem; }
  .product-section { padding-top: 3.5rem; padding-bottom: 4rem; }
  .section-kicker { font-size: 7px; letter-spacing: .13em; }
  .product-layout { padding-top: 1.2rem; display: flex; flex-direction: column; align-items: stretch; gap: 1.7rem; }
  .product-art, .product-art img { min-height: 0; height: auto; aspect-ratio: 1.2 / 1; }
  .product-art img { object-fit: cover; }
  .product-copy { padding: 0; }
  .product-copy h2, .manifesto h2, .principles h2, .ritual h2, .faq-section h2, .final-cta h2 { font-size: clamp(2.8rem, 12vw, 4.1rem); }
  .product-facts { margin: 1.2rem 0 1.3rem; }
  .product-detail { display: grid; grid-template-columns: 1fr; min-height: 0; }
  .product-detail img { height: 160px; }
  .manifesto { grid-template-columns: 1fr; position: relative; }
  .manifesto-photo { min-height: 0; height: 260px; }
  .manifesto-photo img { min-height: 0; height: 100%; object-position: center 60%; }
  .manifesto-photo::after { background: linear-gradient(180deg, transparent 55%, #100d0a 100%); }
  .manifesto-copy { padding: .5rem 1.3rem 3rem; }
  .manifesto h2 { margin-bottom: 1.4rem; }
  .manifesto-body { margin-left: 0; }
  .manifesto-side-note { display: none; }
  .principles { padding-top: 3.8rem; padding-bottom: 3.8rem; }
  .principles-heading { display: block; }
  .principles h2 { text-align: left; }
  .principle-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .principle { min-height: 205px; padding: 1rem .9rem 1.4rem; border-bottom: 1px solid var(--line); }
  .principle:nth-child(odd) { padding-left: 0; border-right: 1px solid var(--line); }
  .principle:nth-child(even) { border-right: 0; }
  .principle:nth-child(3), .principle:nth-child(4) { border-bottom: 0; padding-top: 1.4rem; }
  .principle h3 { font-size: 1.45rem; }
  .principle p { font-size: 10px; }
  .ritual { padding-top: 3.8rem; padding-bottom: 3.8rem; }
  .ritual-heading { display: block; margin-bottom: 1.5rem; }
  .ritual-heading h2 { margin-bottom: 1rem; }
  .ritual-heading > p:last-child { font-size: 11px; }
  .ritual-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.2rem .7rem; }
  .ritual-card:last-child { display: none; }
  .ritual-card img { aspect-ratio: 4 / 4.8; }
  .ritual-card p { font-size: 1rem; }
  .quote-band { min-height: 190px; padding: 2rem 1.2rem; gap: 1rem; flex-direction: column; }
  .quote-decoration { font-size: 1.7rem; }
  .quote-band p { font-size: 2.5rem; }
  .quote-band > span { font-size: 7px; }
  .faq-section { padding-top: 4rem; padding-bottom: 4rem; display: block; }
  .faq-intro { margin-bottom: 2rem; }
  .faq-list summary { font-size: 1.15rem; }
  .final-cta { min-height: 330px; display: block; padding: 4rem 1.3rem; }
  .final-cta .eyebrow { font-size: 7px; }
  .final-cta h2 { font-size: clamp(2.6rem, 11vw, 3.7rem); }
  .final-orbit { display: none; }
  .site-footer { padding: 2rem 1.3rem 1rem; }
  .footer-main { grid-template-columns: 1fr; gap: 1.8rem; padding-bottom: 1.5rem; }
  .footer-wordmark { align-items: flex-start; }
  .footer-links { gap: .8rem 1.1rem; }
  .newsletter { grid-column: auto; justify-self: stretch; }
  .newsletter label { font-size: 1.15rem; }
  .footer-bottom { flex-wrap: wrap; font-size: 7px; line-height: 1.6; }
  .footer-bottom span:nth-child(2) { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .js-ready .reveal { opacity: 1; transform: none; }
}

/* Commerce, ritual-builder and game interfaces — original BRUMO dark-luxury system */
.club-section { padding-top: clamp(4.5rem,8vw,7.5rem); padding-bottom: clamp(4.5rem,8vw,7.5rem); background:#0c0a08; border-top:1px solid rgba(201,166,111,.12); }
.club-heading { display:grid; grid-template-columns:minmax(240px,.9fr) minmax(280px,1fr); gap:3rem; align-items:end; margin-bottom:2.3rem; }
.club-heading h2 { margin:0; font-family:var(--serif); font-size:clamp(2.6rem,4.6vw,4.8rem); font-weight:400; letter-spacing:-.055em; line-height:.98; }
.club-heading .body-copy { margin:0; }
.offer-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.offer-card { min-height:350px; padding:1.35rem 1.2rem 1.45rem; display:flex; flex-direction:column; align-items:flex-start; border-right:1px solid var(--line); background:linear-gradient(180deg,rgba(201,166,111,.025),transparent 55%); }
.offer-card:first-child { padding-left:0; }
.offer-card:last-child { border-right:0; padding-right:0; }
.offer-card-featured { background:linear-gradient(180deg,rgba(201,166,111,.08),rgba(201,166,111,.015) 70%,transparent); }
.offer-index { font-size:8px; color:var(--gold-dim); letter-spacing:.18em; }
.offer-symbol { width:52px; height:52px; display:grid; place-items:center; margin:1.65rem 0 1.15rem; border:1px solid var(--gold-dim); border-radius:50%; color:var(--gold-light); font-family:var(--serif); font-size:1.6rem; }
.offer-card h3 { margin:0 0 .7rem; font-family:var(--serif); font-size:clamp(1.35rem,1.9vw,1.75rem); font-weight:400; color:var(--ivory); line-height:1.1; }
.offer-card p { margin:0 0 1.1rem; max-width:260px; color:#a99d8b; font-size:10px; line-height:1.85; }
.offer-status { margin-top:auto; margin-bottom:.7rem; color:var(--gold-dim); font-size:7px; letter-spacing:.13em; line-height:1.6; }
.offer-selection { margin:1.3rem 0 0; color:#95856d; font-size:10px; line-height:1.8; }
.ritual-maker { padding:clamp(4.5rem,8vw,7rem) 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:radial-gradient(ellipse at 74% 50%,rgba(113,73,37,.18),transparent 42%),#090807; }
.ritual-maker-inner { display:grid; grid-template-columns:minmax(260px,.85fr) minmax(380px,1.15fr); gap:clamp(2rem,6vw,6rem); align-items:center; }
.ritual-maker-copy h2 { margin:0 0 1.2rem; font-family:var(--serif); font-size:clamp(2.6rem,4.5vw,4.8rem); line-height:.98; font-weight:400; letter-spacing:-.055em; }
.ritual-maker-copy>p:not(.eyebrow) { max-width:370px; color:#b9ad9b; font-size:12px; line-height:1.9; }
.ritual-maker-note { display:inline-block; margin-top:1.2rem; color:var(--gold-dim); font-size:8px; letter-spacing:.16em; }
.ritual-maker-ui { display:grid; grid-template-columns:minmax(160px,.85fr) minmax(220px,1.15fr); border:1px solid var(--line); background:#0f0c09; }
.ritual-options { display:flex; flex-direction:column; border-right:1px solid var(--line); }
.ritual-option { width:100%; min-height:83px; display:grid; grid-template-columns:23px 1fr; align-content:center; gap:.23rem .65rem; padding:.8rem 1rem; border:0; border-bottom:1px solid rgba(201,166,111,.13); background:transparent; color:var(--ivory); text-align:left; cursor:pointer; }
.ritual-option:last-child { border-bottom:0; }
.ritual-option>span { grid-row:span 2; padding-top:.15rem; color:var(--gold-dim); font-size:8px; }
.ritual-option b { font-family:var(--serif); font-size:1.08rem; font-weight:400; }
.ritual-option small { color:#91836e; font-size:9px; }
.ritual-option.is-selected { background:linear-gradient(90deg,rgba(201,166,111,.12),transparent); box-shadow:inset 2px 0 var(--gold); }
.ritual-option.is-selected b { color:var(--gold-light); }
.ritual-result { min-height:330px; padding:1.6rem; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.ritual-result-label,.game-status-label { color:var(--gold); font-size:8px; letter-spacing:.2em; }
.ritual-result h3 { margin:1rem 0 .55rem; font-family:var(--serif); font-size:clamp(1.9rem,3vw,2.7rem); font-weight:400; line-height:1.05; }
.ritual-result>p:not(.ritual-share-status) { min-height:42px; color:#b9ad9b; font-size:11px; line-height:1.8; }
.ritual-result-actions { display:flex; flex-wrap:wrap; gap:.5rem 1rem; align-items:center; margin-top:1.1rem; }
.ritual-result-actions .button { min-height:42px; padding:.65rem .8rem; gap:.6rem; font-size:8px; }
.ritual-share-status { min-height:30px; margin:.75rem 0 0; color:var(--gold-light); font-size:9px; line-height:1.7; }
.games-section { padding-top:clamp(4.5rem,8vw,7.5rem); padding-bottom:clamp(4.5rem,8vw,7.5rem); }
.games-heading { display:grid; grid-template-columns:minmax(260px,1fr) minmax(280px,.85fr); gap:3rem; align-items:end; margin-bottom:2.5rem; }
.games-heading h2 { margin:0; font-family:var(--serif); font-size:clamp(2.8rem,5vw,5rem); line-height:.95; font-weight:400; letter-spacing:-.055em; }
.games-heading .body-copy { margin:0 0 .9rem; }
.games-edition { font-size:8px; color:var(--gold); letter-spacing:.2em; }
.games-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; align-items:stretch; }
.game-panel { min-width:0; padding:1.35rem; border:1px solid var(--line); background:linear-gradient(160deg,rgba(201,166,111,.055),transparent 52%),#0c0a08; display:flex; flex-direction:column; align-items:stretch; }
.game-topline { display:flex; justify-content:space-between; gap:.6rem; color:var(--gold-dim); font-size:7px; letter-spacing:.12em; }
.game-symbol { width:44px; height:44px; display:grid; place-items:center; margin:1.35rem 0 .85rem; border:1px solid var(--gold-dim); border-radius:50%; color:var(--gold-light); font-family:var(--serif); font-size:1.5rem; }
.game-panel h3 { margin:0 0 .55rem; font-family:var(--serif); font-size:1.65rem; font-weight:400; color:var(--ivory); }
.game-panel>p:not(.game-status) { min-height:52px; margin:0 0 1rem; color:#a99d8b; font-size:10px; line-height:1.8; }
.timer-face { margin:.2rem 0 .85rem; padding:1rem; border:1px solid rgba(201,166,111,.22); background:#090807; display:flex; align-items:baseline; justify-content:center; gap:.6rem; }
.timer-face output { color:var(--gold-light); font-family:var(--serif); font-size:2.9rem; font-variant-numeric:tabular-nums; line-height:1; }
.timer-face span { color:var(--gold-dim); font-size:7px; letter-spacing:.14em; }
.game-buttons { display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; }
.game-buttons .button { min-height:41px; padding:.6rem .8rem; gap:.7rem; font-size:7.5px; }
.game-buttons .button:disabled,.game-share:disabled { opacity:.38; cursor:not-allowed; transform:none; }
.game-status { min-height:44px; margin:.8rem 0 .7rem; color:#a99d8b; font-size:9px; line-height:1.7; }
.game-meta { display:flex; justify-content:space-between; gap:.6rem; padding:.75rem 0; margin-top:auto; border-top:1px solid var(--line); color:var(--gold-dim); font-size:7px; letter-spacing:.1em; }
.game-meta strong { color:var(--gold-light); font-size:9px; letter-spacing:0; }
.game-share { align-self:flex-start; margin-top:.25rem; font-size:9px; }
.memory-stats { display:flex; justify-content:space-between; gap:1rem; padding:.7rem 0; color:var(--gold-dim); font-size:8px; letter-spacing:.1em; }
.memory-stats strong { color:var(--gold-light); margin-left:.35rem; }
.memory-board { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.4rem; margin:.2rem 0 .8rem; }
.memory-card { min-width:0; aspect-ratio:1 / 1; display:grid; place-items:center; border:1px solid var(--gold-dim); background:linear-gradient(135deg,#20170e,#0a0807); color:var(--gold-light); font-family:var(--serif); font-size:clamp(1.2rem,2vw,1.7rem); cursor:pointer; transition:background .18s ease,transform .18s ease,border-color .18s ease; }
.memory-card:hover { transform:translateY(-2px); border-color:var(--gold-light); }
.memory-card.is-flipped { background:#3a2916; }
.memory-card.is-matched { background:rgba(201,166,111,.15); border-color:var(--gold-light); color:var(--ivory); }
.quiz-progress { margin:.25rem 0 1rem; display:flex; flex-direction:column; gap:.5rem; color:var(--gold-dim); font-size:7px; letter-spacing:.15em; }
.quiz-progress-track { height:2px; background:#2b2217; }
.quiz-progress-track i { display:block; height:100%; width:33.333%; background:var(--gold); transition:width .2s ease; }
.game-panel h4 { margin:0 0 .8rem; font-family:var(--serif); font-weight:400; font-size:1.35rem; line-height:1.25; color:var(--ivory); }
.quiz-options { display:grid; gap:.45rem; }
.quiz-option { min-height:42px; padding:.7rem .8rem; display:flex; align-items:center; text-align:left; border:1px solid rgba(201,166,111,.22); background:#100d09; color:#cbbda7; cursor:pointer; font-size:9px; line-height:1.5; transition:background .2s ease,border-color .2s ease; }
.quiz-option:hover { background:rgba(201,166,111,.1); border-color:var(--gold); color:var(--gold-light); }
.quiz-result { padding:1rem; margin-top:.5rem; border:1px solid var(--gold-dim); background:rgba(201,166,111,.05); }
.quiz-result h4 { margin:.65rem 0; color:var(--gold-light); font-size:1.7rem; }
.quiz-result p { color:#b9ad9b; font-size:10px; line-height:1.8; }
.games-footnote { display:flex; gap:1rem; align-items:flex-start; padding:1.15rem 0; margin-top:1rem; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.games-footnote-mark { color:var(--gold); font-size:1.2rem; }
.games-footnote p { max-width:950px; margin:0; color:#82745e; font-size:8px; letter-spacing:.08em; line-height:1.8; }
.games-conversion { margin-top:1.5rem; padding:1.3rem 1.5rem; border:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:1.5rem; background:linear-gradient(100deg,rgba(201,166,111,.07),transparent); }
.games-conversion .eyebrow { margin-bottom:.4rem; font-size:7px; }
.games-conversion p { margin:0; color:#c4b69f; font-family:var(--serif); font-size:1.15rem; line-height:1.4; }
.games-conversion-actions { display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; }
.games-conversion-actions .button { min-height:42px; padding:.65rem .85rem; gap:.8rem; font-size:7px; }
[hidden] { display:none !important; }
@media(max-width:1000px){
  .offer-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .offer-card:nth-child(2){border-right:0; padding-right:0;}
  .offer-card:nth-child(3){padding-left:0; border-right:1px solid var(--line);}
  .offer-card:nth-child(4){border-right:0; padding-right:0;}
  .offer-card{min-height:320px;border-bottom:1px solid var(--line);}
  .offer-card:nth-child(n+3){border-bottom:0;}
  .ritual-maker-inner{grid-template-columns:1fr;}
  .games-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .game-quiz{grid-column:1/-1;}
  .game-quiz .quiz-options{grid-template-columns:repeat(2,minmax(0,1fr));}
  .games-heading{grid-template-columns:1fr 1fr;gap:2rem;}
}
@media(max-width:700px){
  .club-section,.ritual-maker,.games-section{padding-top:3.8rem;padding-bottom:3.8rem;}
  .club-heading,.games-heading{grid-template-columns:1fr;gap:1.2rem;margin-bottom:1.6rem;}
  .club-heading h2,.games-heading h2{font-size:clamp(2.8rem,12vw,4.2rem);}
  .offer-card{padding:1.15rem .9rem;min-height:320px;}
  .offer-card:first-child,.offer-card:nth-child(3){padding-left:0;}
  .offer-card:nth-child(2),.offer-card:nth-child(4){padding-right:0;}
  .offer-card h3{font-size:1.35rem;}
  .offer-card p{font-size:9px;}
  .ritual-maker-inner{display:block;}
  .ritual-maker-copy{margin-bottom:1.8rem;}
  .ritual-maker-copy h2{font-size:clamp(2.8rem,12vw,4.2rem);}
  .ritual-maker-ui{grid-template-columns:1fr;}
  .ritual-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-right:0;border-bottom:1px solid var(--line);}
  .ritual-option{min-height:76px;padding:.7rem .75rem;border-right:1px solid rgba(201,166,111,.13);}
  .ritual-option:nth-child(even){border-right:0;}
  .ritual-option:nth-child(3),.ritual-option:nth-child(4){border-bottom:0;}
  .ritual-result{min-height:270px;padding:1.2rem;}
  .ritual-result h3{font-size:2rem;}
  .games-grid{grid-template-columns:1fr;}
  .game-quiz{grid-column:auto;}
  .game-panel{padding:1.15rem;}
  .game-panel>p:not(.game-status){min-height:0;}
  .game-quiz .quiz-options{grid-template-columns:1fr;}
  .memory-card{font-size:1.7rem;}
  .games-conversion{align-items:flex-start;flex-direction:column;padding:1.1rem;}
  .games-conversion-actions{width:100%;}
  .games-conversion-actions .button{justify-content:center;flex:1;}
}

/* BRUMO direct contact + creator / product ecosystem */
.contact-section{position:relative;isolation:isolate;overflow:hidden;padding-top:clamp(4.5rem,8vw,7.5rem);padding-bottom:2rem;border-top:1px solid var(--line);background:radial-gradient(ellipse at 11% 38%,rgba(128,83,42,.13),transparent 37%),linear-gradient(115deg,#0b0907 0%,#100c08 52%,#080706 100%)}
.contact-section::before{content:"";position:absolute;z-index:-1;width:clamp(260px,38vw,620px);aspect-ratio:1;right:-15%;top:-17%;border:1px solid rgba(201,166,111,.11);border-radius:50%;box-shadow:0 0 0 35px rgba(201,166,111,.018),0 0 0 75px rgba(201,166,111,.012),0 0 0 120px rgba(201,166,111,.008);pointer-events:none}
.contact-topline{display:flex;justify-content:space-between;gap:1rem;padding-bottom:1.15rem;margin-bottom:clamp(2rem,5vw,4.5rem);border-bottom:1px solid var(--line);color:var(--gold-dim);font-size:8px;letter-spacing:.19em}
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.92fr);gap:clamp(2rem,7vw,7rem);align-items:center}
.contact-intro{position:relative;min-width:0}
.contact-intro h2{max-width:750px;margin:1.1rem 0 1.5rem;font-family:var(--serif);font-size:clamp(3.3rem,6.5vw,6.8rem);font-weight:400;letter-spacing:-.065em;line-height:.88;color:var(--ivory)}
.contact-intro h2 em,.ecosystem-heading h3 em{color:var(--gold-light);font-weight:400}
.contact-lead{max-width:420px;margin:0 0 1.8rem;color:#b8aa94;font-size:12px;line-height:1.95}
.contact-primary{display:inline-flex;min-height:48px;gap:1rem}
.contact-aside-mark{position:absolute;right:1%;bottom:0;display:flex;width:94px;height:94px;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;border:1px solid rgba(201,166,111,.42);border-radius:50%;color:var(--gold-dim);font-size:6px;letter-spacing:.16em;transform:rotate(-12deg);opacity:.82}
.contact-aside-mark b{font-family:var(--serif);font-size:1.7rem;font-weight:400;color:var(--gold-light)}
.contact-side{display:grid;gap:.8rem;min-width:0}
.contact-detail-card{position:relative;padding:1.35rem clamp(1rem,2vw,1.7rem) 1.2rem;border:1px solid rgba(201,166,111,.24);background:linear-gradient(135deg,rgba(201,166,111,.065),rgba(201,166,111,.012) 58%,rgba(0,0,0,.12));transition:border-color .25s ease,transform .25s ease}
.contact-detail-card:hover{border-color:rgba(219,184,125,.68);transform:translateY(-2px)}
.contact-card-top{display:flex;align-items:center;gap:.7rem;color:var(--gold-dim);font-size:7px;letter-spacing:.17em;line-height:1.5}
.contact-mini-icon{width:32px;height:32px;display:grid;place-items:center;border:1px solid rgba(201,166,111,.4);border-radius:50%;color:var(--gold-light);flex:0 0 32px}
.contact-mini-icon svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.contact-label{margin:1.05rem 0 .35rem;color:#95856d;font-size:8px;letter-spacing:.08em}
.contact-email{display:inline-block;max-width:100%;color:var(--ivory);font-family:var(--serif);font-size:clamp(1.1rem,2vw,1.55rem);overflow-wrap:anywhere;text-decoration:none;line-height:1.3;transition:color .2s ease}
.contact-email:hover{color:var(--gold-light)}
.contact-phone-title{margin:.1rem 0 .3rem;color:var(--ivory);font-family:var(--serif);font-size:1.55rem;line-height:1.25}
.contact-phone-number{display:inline-block;color:var(--gold-light);font-variant-numeric:tabular-nums;letter-spacing:.025em}.contact-phone-number:hover{color:var(--ivory)}
.contact-phone-actions{display:flex;flex-wrap:wrap;gap:.25rem 1.15rem;align-items:center}
.contact-note{max-width:450px;margin:.55rem 0 .9rem;color:#938671;font-size:9px;line-height:1.8}
.contact-card-link{display:inline-flex;align-items:center;gap:.8rem;padding-top:.7rem;border-top:1px solid rgba(201,166,111,.14);color:var(--gold-light);font-size:8px;letter-spacing:.09em;text-decoration:none}
.contact-card-link span{font-size:13px;transition:transform .2s ease}
.contact-card-link:hover span{transform:translate(3px,-3px)}
.contact-ecosystem{display:grid;grid-template-columns:minmax(160px,.7fr) repeat(2,minmax(240px,1fr));gap:1rem;align-items:stretch;margin-top:clamp(3.2rem,6vw,5.8rem);padding-top:2rem;border-top:1px solid var(--line)}
.ecosystem-heading{padding:.3rem 1.4rem .3rem 0}
.ecosystem-heading .eyebrow{margin-bottom:.8rem}
.ecosystem-heading h3{margin:0 0 .7rem;font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.65rem);font-weight:400;letter-spacing:-.045em;line-height:.99}
.ecosystem-heading>p:last-child{margin:0;color:#958671;font-size:9px;line-height:1.8}
.ecosystem-card{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) 18px;gap:1rem;align-items:center;min-height:126px;padding:1.1rem 1rem;border:1px solid rgba(201,166,111,.25);background:linear-gradient(115deg,rgba(201,166,111,.06),rgba(201,166,111,.01));text-decoration:none;transition:background .25s ease,border-color .25s ease,transform .25s ease}
.ecosystem-card:hover{border-color:rgba(219,184,125,.72);background:linear-gradient(115deg,rgba(201,166,111,.11),rgba(201,166,111,.025));transform:translateY(-3px)}
.ecosystem-symbol{width:46px;height:46px;display:grid;place-items:center;color:var(--gold-light)}
.ecosystem-symbol svg{display:block;width:100%;height:100%;stroke:currentColor;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}
.osgard-symbol svg{stroke-width:1.1}
.ecosystem-copy{display:flex;flex-direction:column;gap:.35rem;min-width:0}
.ecosystem-copy small{color:var(--gold-dim);font-size:6px;letter-spacing:.13em;line-height:1.6}
.ecosystem-copy strong{font-family:var(--serif);font-size:clamp(1.05rem,1.8vw,1.45rem);font-weight:400;letter-spacing:.025em;color:var(--ivory);overflow-wrap:anywhere;line-height:1.2}
.ecosystem-copy strong span{color:var(--gold-light)}
.ecosystem-copy em{font-style:normal;color:#958671;font-size:8px;line-height:1.65}
.ecosystem-arrow{align-self:start;color:var(--gold-light);font-size:1rem;transition:transform .2s ease}
.ecosystem-card:hover .ecosystem-arrow{transform:translate(2px,-2px)}
.contact-signature{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:2rem;color:#70614c;font-size:6px;letter-spacing:.22em;text-align:center}
.signature-rule{width:clamp(25px,8vw,110px);height:1px;background:rgba(201,166,111,.25)}
.footer-bottom{align-items:center}
.footer-osa-credit{display:inline-flex;align-items:center;gap:.55rem;color:var(--gold-dim);text-decoration:none;white-space:nowrap}
.footer-osa-credit>span{font-size:6px;letter-spacing:.11em}
.footer-osa-credit b{display:inline-flex;align-items:center;gap:.22rem;font-family:var(--serif);font-size:1rem;font-weight:400;letter-spacing:.04em;color:var(--ivory)}
.footer-osa-credit i{padding:.15rem .25rem;border:1px solid rgba(201,166,111,.5);font-family:var(--sans);font-size:7px;font-style:normal;color:var(--gold-light)}
.footer-osa-credit:hover b{color:var(--gold-light)}
@media(max-width:1000px){.contact-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:2rem}.contact-aside-mark{width:72px;height:72px;right:0;font-size:5px}.contact-ecosystem{grid-template-columns:1fr 1fr}.ecosystem-heading{grid-column:1/-1;display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap}.ecosystem-heading .eyebrow{width:100%;margin-bottom:0}.ecosystem-heading h3{margin:0}.ecosystem-heading>p:last-child{max-width:220px}.footer-bottom{flex-wrap:wrap;row-gap:.85rem}}
@media(max-width:700px){.contact-section{padding-top:3.8rem}.contact-topline{font-size:6px;letter-spacing:.13em}.contact-layout{grid-template-columns:1fr;gap:2rem}.contact-intro h2{font-size:clamp(3.1rem,14vw,5rem)}.contact-lead{font-size:11px;max-width:340px}.contact-aside-mark{width:65px;height:65px;right:.15rem;bottom:.1rem;opacity:.58}.contact-aside-mark b{font-size:1.25rem}.contact-primary{max-width:calc(100% - 78px);padding:.75rem .8rem;font-size:8px}.contact-detail-card{padding:1.1rem}.contact-ecosystem{grid-template-columns:1fr;gap:.7rem;margin-top:3rem}.ecosystem-heading{display:block;padding:0 0 .6rem}.ecosystem-heading .eyebrow{margin-bottom:.65rem}.ecosystem-heading h3{margin-bottom:.65rem}.ecosystem-heading>p:last-child{max-width:300px}.ecosystem-card{min-height:112px;grid-template-columns:42px minmax(0,1fr) 16px;padding:.9rem;gap:.8rem}.ecosystem-symbol{width:40px;height:40px}.ecosystem-copy strong{font-size:1.25rem}.ecosystem-copy small{font-size:6px}.contact-signature{font-size:5px;letter-spacing:.14em;gap:.6rem}.signature-rule{width:18px}.footer-bottom{align-items:flex-start;gap:.7rem 1rem}.footer-osa-credit{order:3;width:100%;padding-top:.7rem;border-top:1px solid rgba(201,166,111,.1)}.footer-bottom>a:last-child{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.contact-detail-card,.ecosystem-card,.ecosystem-arrow,.contact-card-link span,.footer-osa-credit b{transition:none!important}}
