/* Case — Mastri Financial */
.case--mf { background: #0E1726; color: #EDE5D0; font-family: 'Inter Tight', sans-serif; }
.mf-eyebrow { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 1rem; letter-spacing: .14em; text-transform: uppercase; color: #C9A24A; margin: 0 0 1em; display: inline-block; }
.mf-eyebrow--ink { color: #0E1726; }
.mf-h2 { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: clamp(2.2rem, 5vw, 3.6rem); line-height: 1.05; letter-spacing: -.005em; margin: 0 0 .5em; color: #EDE5D0; }
.mf-h2--ink { color: #0E1726; }
.mf-btn { display: inline-flex; padding: 14px 28px; font-family: 'Inter Tight', sans-serif; font-weight: 600; font-size: .94rem; letter-spacing: .04em; text-decoration: none; transition: transform .25s var(--ac-ease-out), background .25s; }
.mf-btn--gold { background: #C9A24A; color: #0E1726; }
.mf-btn--gold:hover { transform: translateY(-2px); background: #D9B25A; box-shadow: 0 12px 30px -8px rgba(201,162,74,.5); }
.mf-btn--ghost { background: transparent; color: #EDE5D0; border: 1px solid rgba(237,229,208,.25); }
.mf-btn--ghost:hover { border-color: #C9A24A; color: #C9A24A; transform: translateY(-2px); }

.mf-hero { padding: clamp(80px, 12vw, 160px) 0 clamp(60px, 9vw, 100px); background: radial-gradient(60% 50% at 50% 30%, rgba(201,162,74,.08), transparent 60%), #0E1726; position: relative; overflow: hidden; }
.mf-hero__inner { position: relative; z-index: 2; max-width: 760px; }
.mf-title { font-family: 'Cormorant Garamond', serif; font-weight: 400; font-size: clamp(2.6rem, 6vw, 4.6rem); line-height: 1; letter-spacing: -.01em; margin: 0 0 24px; }
.mf-title span { display: block; }
.mf-title em { font-style: italic; color: #C9A24A; }
.mf-title__rule { width: 80px; height: 1px; background: #C9A24A; margin: 16px 0; }
.mf-sub { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: clamp(1rem, 1.4vw, 1.18rem); color: #B7BFCC; max-width: 56ch; line-height: 1.55; margin: 0 0 32px; }
.mf-sub strong { font-style: normal; color: #C9A24A; font-weight: 500; }
.mf-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; }

.mf-emblem { position: absolute; top: 50%; right: 6%; transform: translateY(-50%); width: 220px; height: 220px; display: flex; align-items: center; justify-content: center; }
@media (max-width: 1100px) { .mf-emblem { display: none; } }
.mf-emblem__ring { position: absolute; inset: 0; border: 1px solid #C9A24A; border-radius: 50%; opacity: .4; animation: mf-spin 30s linear infinite; }
.mf-emblem__ring::after { content: ''; position: absolute; inset: 20px; border: 1px dashed #C9A24A; border-radius: 50%; opacity: .5; }
@keyframes mf-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .mf-emblem__ring { animation: none; } }
.mf-emblem__inner { width: 120px; height: 120px; background: radial-gradient(circle at 30% 30%, #D9B25A 0%, #8A6A1E 100%); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: 'Cormorant Garamond', serif; font-size: 4rem; color: #0E1726; font-weight: 500; box-shadow: 0 12px 40px -10px rgba(201,162,74,.5); }
.mf-emblem__data { position: absolute; font-family: 'JetBrains Mono', monospace; font-size: .58rem; letter-spacing: .14em; color: #C9A24A; text-align: center; background: rgba(14,23,38,.9); border: 1px solid rgba(201,162,74,.3); padding: 8px 12px; border-radius: 4px; line-height: 1.3; backdrop-filter: blur(8px); }
.mf-emblem__data--1 { top: 8%; left: -20%; animation: mf-float 4s ease-in-out infinite; }
.mf-emblem__data--2 { bottom: 8%; right: -20%; animation: mf-float 4s ease-in-out infinite reverse; }
@keyframes mf-float { 50% { transform: translateY(-6px); } }
@media (prefers-reduced-motion: reduce) { .mf-emblem__data--1, .mf-emblem__data--2 { animation: none; } }

.mf-section { padding: clamp(70px, 10vw, 130px) 0; border-top: 1px solid rgba(201,162,74,.1); }
.mf-section--chrome { background: linear-gradient(180deg, #EDE5D0 0%, #D9D1BC 100%); color: #0E1726; }
.mf-split { display: grid; grid-template-columns: 1fr 1.3fr; gap: 60px; align-items: start; }
@media (max-width: 880px) { .mf-split { grid-template-columns: 1fr; gap: 24px; } }
.mf-split p { line-height: 1.7; margin: 0 0 1em; max-width: 56ch; color: #B7BFCC; font-size: 1.02rem; }
.mf-section--chrome .mf-split p { color: #2A3548; }
.mf-split p em { color: #C9A24A; font-style: italic; }

.mf-pages { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 40px; }
@media (max-width: 760px) { .mf-pages { grid-template-columns: 1fr; } }
.mf-page { background: rgba(201,162,74,.04); border-left: 2px solid #C9A24A; padding: 24px 28px; transition: background .25s, transform .25s var(--ac-ease-out); }
.mf-page:hover { background: rgba(201,162,74,.10); transform: translateX(4px); }
.mf-page h3 { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-style: italic; font-size: 1.4rem; margin: 0 0 8px; color: #C9A24A; }
.mf-page p { color: #B7BFCC; font-size: .94rem; line-height: 1.5; margin: 0; }

.mf-stack { display: grid; grid-template-columns: max-content 1fr; gap: 14px 32px; margin: 0; background: rgba(201,162,74,.04); border: 1px solid rgba(201,162,74,.2); padding: 30px; }
@media (max-width: 600px) { .mf-stack { grid-template-columns: 1fr; gap: 4px 0; } }
.mf-stack dt { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 1.05rem; color: #C9A24A; padding-top: 4px; }
.mf-stack dd { margin: 0; font-size: .98rem; color: #EDE5D0; line-height: 1.5; }
@media (max-width: 600px) { .mf-stack dd { padding-bottom: 12px; border-bottom: 1px dashed rgba(201,162,74,.1); margin-bottom: 8px; } }
