/* Nocturne — dark luxury: thin serif, metallic hairlines, a slow shimmer. */
:root { --t-font-display: "Cormorant", Georgia, serif; --t-font-body: "Montserrat", system-ui, sans-serif; --t-max: 1160px; --t-radius: 4px; --t-radius-sm: 2px; --t-radius-pill: 2px; --t-shadow: none; --t-gold: var(--t-accent2); --t-size-1: 0.9rem; }
body { letter-spacing: .01em; font-weight: 300; }
strong, .t-item__title, .btn { font-weight: 500; }

.t-hero--velvet .t-cover { aspect-ratio: 21 / 7; max-height: 420px; opacity: .75; }
.t-hero--velvet .t-cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, transparent 30%, var(--t-bg)); }
/* the plaque (the Nocturne signature): a gold double frame around a centred name, the photo as a cameo above it */
.t-hero--velvet .t-hero__inner { margin-block-start: clamp(-60px, -8vw, -110px); position: relative; z-index: 1; gap: 18px; grid-template-columns: 1fr; justify-items: center; text-align: center; border: 1px solid var(--t-gold); outline: 1px solid var(--t-gold); outline-offset: 6px; padding: clamp(28px, 5vw, 56px) clamp(20px, 4vw, 48px); background: var(--t-bg); width: min(100% - 2 * var(--t-gutter) - 12px, calc(var(--t-max) - 12px)); }
.t-hero--velvet .t-hero__inner::before, .t-hero--velvet .t-hero__inner::after { content: "✦"; position: absolute; color: var(--t-gold); font-size: 14px; top: 8px; }
.t-hero--velvet .t-hero__inner::before { inset-inline-start: 10px; } .t-hero--velvet .t-hero__inner::after { inset-inline-end: 10px; }
.t-hero--velvet .t-hero__media { margin-block-start: clamp(-90px, -12vw, -140px); }
.t-hero--velvet .t-photo { width: clamp(112px, 15vw, 160px); border-radius: 50%; box-shadow: 0 0 0 1px var(--t-gold), 0 0 0 8px var(--t-bg), 0 0 0 9px var(--t-gold); }
.t-hero--velvet .t-headline, .t-hero--velvet .t-tagline { margin-inline: auto; }
.t-hero--velvet .t-meta, .t-hero--velvet .t-actions { justify-content: center; }
.t-hero--velvet .t-hero__inner > .t-stats { justify-content: center; text-align: center; width: 100%; }
.t-hero--velvet .t-eyebrow { color: var(--t-gold); letter-spacing: .32em; font-weight: 400; font-size: 11px; }
.t-hero--velvet .t-name { font-weight: 300; font-size: clamp(2.8rem, 6.5vw, 4.8rem); letter-spacing: .02em; position: relative; background: linear-gradient(100deg, var(--t-text) 0 40%, var(--t-gold) 50%, var(--t-text) 60% 100%) 0 0 / 300% 100%; -webkit-background-clip: text; background-clip: text; animation: shimmer 9s ease-in-out infinite; }
@keyframes shimmer { 0%, 70% { background-position: 100% 0; } 100% { background-position: 0 0; } }
@media (prefers-reduced-motion: reduce) { .t-hero--velvet .t-name { animation: none; background: none; -webkit-background-clip: initial; background-clip: initial; } }
.t-hero--velvet .t-headline { font-family: var(--t-font-display); font-weight: 400; font-style: italic; font-size: clamp(1.3rem, 2.4vw, 1.8rem); }
.t-hero--velvet .t-meta { letter-spacing: .14em; text-transform: uppercase; font-size: 11px; }
.t-hero--velvet .t-stats { border-block-start: 1px solid var(--t-gold); padding-block-start: 20px; gap: 28px 56px; }
.t-hero--velvet .t-stats strong { font-weight: 300; color: var(--t-gold); font-size: clamp(2.2rem, 4vw, 3.2rem); }
.t-hero--velvet .t-stats span { letter-spacing: .18em; text-transform: uppercase; font-size: 11px; }
.btn { --bs-btn-border-radius: 2px; letter-spacing: .18em; text-transform: uppercase; font-size: 11px; --bs-btn-padding-x: 1.5rem; }
.btn-primary { --bs-btn-bg: transparent; --bs-btn-color: var(--t-gold); --bs-btn-border-color: var(--t-gold); --bs-btn-hover-bg: var(--t-gold); --bs-btn-hover-color: #111; --bs-btn-hover-border-color: var(--t-gold); --bs-btn-active-bg: var(--t-gold); --bs-btn-active-color: #111; }
.btn-outline-primary { --bs-btn-color: var(--t-text); --bs-btn-border-color: var(--t-line); --bs-btn-hover-bg: transparent; --bs-btn-hover-color: var(--t-gold); --bs-btn-hover-border-color: var(--t-gold); }
.t-link { border-radius: 2px; background: transparent; letter-spacing: .06em; font-size: var(--t-size-0); }
.t-link:hover { border-color: var(--t-gold); }

.t-section__title { font-weight: 300; font-size: clamp(1.7rem, 3vw, 2.4rem); letter-spacing: .02em; display: flex; align-items: center; gap: 18px; }
.t-section__title::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, var(--t-gold), transparent); }
.t-section--summary .t-section__title { display: none; }
.t-summary { font-family: var(--t-font-display); font-size: clamp(1.35rem, 2.4vw, 1.8rem); font-weight: 300; line-height: 1.45; max-width: 52ch; }
.t-timeline__when { color: var(--t-gold); letter-spacing: .1em; text-transform: uppercase; font-size: 11px; }
.t-item__title { font-family: var(--t-font-display); font-size: var(--t-size-3); }
.card { background: var(--t-surface); border-color: var(--t-line); }
.card:hover { border-color: var(--t-gold); }
.t-card .t-item__title { font-family: var(--t-font-display); font-size: var(--t-size-4); font-weight: 400; }
.t-numbered__item::before { color: var(--t-gold); font-weight: 300; }
.t-quote { background: transparent; border: 0; border-block: 1px solid var(--t-line); border-radius: 0; padding-inline: 0; }
.t-quote blockquote { font-style: italic; font-weight: 300; font-size: clamp(1.3rem, 2.2vw, 1.7rem); }
.t-quote__mark { color: var(--t-gold); }
.t-chip { border-radius: 2px; background: transparent; letter-spacing: .08em; text-transform: uppercase; font-size: 11px; }
.t-facts { border-radius: 2px; }
.t-facts h2, .t-rail .t-section__title { font-family: var(--t-font-body); font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--t-gold); font-weight: 400; }
.t-rail .t-section__title::after { display: none; }
.t-facts .t-icon { color: var(--t-gold); }
.t-gallery__item figure { border: 1px solid var(--t-line); }
.form-control { border-radius: 2px; }
.t-footer { border-color: var(--t-line); letter-spacing: .06em; }
