/* ================= ART DECO — GATSBY GOLD ================= */
/* Scale Up Capital Base — Shared Stylesheet */
:root {
    --ink: #172821;
    --ink-2: #243B30;
    --panel: #345443;
    --cream: #F5F8E9;
    --cream-2: #DCE8C2;
    --gold: #A6B94F;
    --gold-2: #D0DE79;
    --gold-3: #687A2E;
    --line: rgba(166, 185, 79, .35);
    --line-soft: rgba(166, 185, 79, .15);
    --emerald: #3C927B;
    --burgundy: #98526A;
}

* {
    box-sizing: border-box
}

html,
body {
    overflow-x: hidden
}

body {
    background: var(--ink);
    color: var(--cream);
    font-family: 'Cormorant Garamond', serif;
    font-size: 17px;
    line-height: 1.7;
}

h1,
h2,
h3,
h4,
h5,
.dec {
    font-family: 'Cinzel', serif;
    letter-spacing: .08em;
    text-transform: uppercase
}

.script {
    font-family: 'Poiret One', cursive;
    letter-spacing: .25em;
    text-transform: uppercase
}

a {
    text-decoration: none;
    color: inherit
}

button {
    font-family: inherit
}

/* ---- Decorative primitives ---- */
.deco-rule {
    display: flex;
    align-items: center;
    gap: 14px;
    justify-content: center;
    margin: 14px 0
}

.deco-rule::before,
.deco-rule::after {
    content: "";
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--gold), transparent);
    max-width: 120px
}

.deco-rule i {
    color: var(--gold);
    font-size: .9rem
}

.eyebrow {
    color: var(--gold);
    letter-spacing: .5em;
    font-size: .72rem;
    font-family: 'Cinzel', serif;
    text-transform: uppercase;
    font-weight: 500
}

.sec-title {
    font-size: clamp(2rem, 4vw, 3.6rem);
    color: var(--cream);
    font-weight: 700
}

.gold {
    color: var(--gold)
}

.frame {
    border: 1px solid var(--gold);
    padding: 2px;
    position: relative
}

.frame::before {
    content: "";
    position: absolute;
    inset: 6px;
    border: 1px solid var(--line);
    pointer-events: none
}

.corner-tl,
.corner-tr,
.corner-bl,
.corner-br {
    position: absolute;
    width: 26px;
    height: 26px;
    border: 2px solid var(--gold)
}

.corner-tl {
    top: -2px;
    left: -2px;
    border-right: none;
    border-bottom: none
}

.corner-tr {
    top: -2px;
    right: -2px;
    border-left: none;
    border-bottom: none
}

.corner-bl {
    bottom: -2px;
    left: -2px;
    border-right: none;
    border-top: none
}

.corner-br {
    bottom: -2px;
    right: -2px;
    border-left: none;
    border-top: none
}

/* Sunburst SVG background helpers */
.sunburst {
    position: absolute;
    pointer-events: none;
    opacity: .18
}

/* ---- BUTTONS ---- */
.btn-gold {
    background: linear-gradient(180deg, var(--gold-2), var(--gold));
    color: var(--ink);
    border: none;
    padding: .95rem 2.2rem;
    border-radius: 0;
    font-family: 'Cinzel', serif;
    letter-spacing: .25em;
    font-size: .82rem;
    font-weight: 700;
    position: relative;
    transition: .3s;
}

.btn-gold::before,
.btn-gold::after {
    content: "";
    position: absolute;
    top: 6px;
    bottom: 6px;
    width: 1px;
    background: var(--ink)
}

.btn-gold::before {
    left: 6px
}

.btn-gold::after {
    right: 6px
}

.btn-gold:hover {
    background: linear-gradient(180deg, #fff0c2, var(--gold-2));
    color: var(--ink);
    transform: translateY(-2px)
}

.btn-outline-gold {
    background: transparent;
    color: var(--gold);
    border: 1px solid var(--gold);
    padding: .95rem 2.2rem;
    border-radius: 0;
    font-family: 'Cinzel', serif;
    letter-spacing: .25em;
    font-size: .82rem;
    font-weight: 600;
    transition: .3s;
}

.btn-outline-gold:hover {
    background: var(--gold);
    color: var(--ink)
}

/* ---- NAV ---- */
.deco-nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1040;
    background: linear-gradient(180deg, rgba(11, 15, 20, .96), rgba(11, 15, 20, .86));
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--line);
    padding: .6rem 0;
}

.deco-nav .brand {
    font-family: 'Cinzel', serif;
    font-weight: 900;
    font-size: 1.4rem;
    color: var(--cream);
    letter-spacing: .2em
}

.deco-nav .brand span {
    color: var(--gold)
}

.deco-nav .brand small {
    display: block;
    font-family: 'Poiret One', cursive;
    font-size: .6rem;
    letter-spacing: .5em;
    color: var(--gold);
    margin-top: -2px;
    text-transform: uppercase
}

.deco-nav .nav-link {
    color: var(--cream) !important;
    font-family: 'Cinzel', serif;
    font-size: .72rem;
    letter-spacing: .28em;
    text-transform: uppercase;
    font-weight: 500;
    position: relative;
    padding: .5rem .9rem !important
}

.deco-nav .nav-link:hover {
    color: var(--gold) !important
}

.deco-nav .nav-link.active {
    color: var(--gold) !important;
}

.deco-nav .nav-link::after {
    content: "◆";
    position: absolute;
    top: 50%;
    right: -6px;
    transform: translateY(-50%);
    color: var(--gold);
    font-size: .4rem;
    opacity: .5
}

.deco-nav .nav-link:last-child::after {
    display: none
}

/* ---- HERO ---- */
.hero {
    min-height: 100vh;
    padding: 160px 0 100px;
    position: relative;
    background:
        radial-gradient(ellipse at 50% 100%, rgba(201, 162, 75, .15), transparent 60%),
        radial-gradient(ellipse at 20% 20%, rgba(31, 111, 92, .1), transparent 50%),
        var(--ink);
    overflow: hidden;
}

.hero-sunburst {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 1000px;
    height: 1000px;
    opacity: .08;
    background:
        conic-gradient(from 0deg, transparent 0 4deg, var(--gold) 4deg 5deg, transparent 5deg 15deg,
            var(--gold) 15deg 16deg, transparent 16deg 30deg, var(--gold) 30deg 31deg, transparent 31deg 45deg);
    border-radius: 50%;
    animation: spin 120s linear infinite;
}

@keyframes spin {
    to {
        transform: translate(-50%, -50%) rotate(360deg)
    }
}

.hero-inner {
    position: relative;
    z-index: 2;
    text-align: center;
    max-width: 960px;
    margin: 0 auto;
    padding: 0 20px
}

.hero .estd {
    font-family: 'Poiret One', cursive;
    letter-spacing: .4em;
    font-size: .85rem;
    color: var(--gold);
    margin-bottom: 1rem
}

.hero h1 {
    font-size: clamp(2rem, 4.5vw, 4rem);
    line-height: .95;
    color: var(--cream);
    font-weight: 700;
    letter-spacing: .05em;
    margin: 1rem 0;
}

.hero h1 em {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    color: var(--gold);
    text-transform: none;
    letter-spacing: 0;
    font-weight: 600
}

.hero .tagline {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 1.35rem;
    color: var(--cream-2);
    max-width: 640px;
    margin: 1.5rem auto 2.4rem
}

.hero-actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 4rem
}

.hero-crest {
    width: 100px;
    margin: 0 auto 1rem;
    display: block
}

.hero-metrics {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    margin-top: 3rem;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    padding: 1.6rem 0
}

.hero-metrics>div {
    text-align: center;
    border-right: 1px solid var(--line-soft)
}

.hero-metrics>div:last-child {
    border-right: none
}

.hero-metrics strong {
    display: block;
    font-family: 'Cinzel', serif;
    font-size: 1.6rem;
    color: var(--gold);
    font-weight: 700
}

.hero-metrics span {
    font-size: .72rem;
    letter-spacing: .3em;
    color: var(--cream-2);
    text-transform: uppercase
}

@media(max-width:767px) {
    .hero-metrics {
        grid-template-columns: repeat(2, 1fr)
    }

    .hero-metrics>div:nth-child(2) {
        border-right: none
    }
}

/* ---- SECTION SHARED ---- */
section {
    padding: 110px 0;
    position: relative
}

.sec-head {
    text-align: center;
    max-width: 820px;
    margin: 0 auto 70px
}

.sec-head p {
    color: var(--cream-2);
    font-style: italic;
    font-size: 1.15rem;
    margin-top: 1rem
}

/* ---- ABOUT: TWIN COLUMN BROADSHEET ---- */
.about {
    background: linear-gradient(180deg, var(--ink), #0e141c)
}

.about-grid {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 50px;
    align-items: start
}

@media(max-width:991px) {
    .about-grid {
        grid-template-columns: 1fr;
        gap: 30px
    }

    .about-divider {
        display: none
    }
}

.about-divider {
    width: 1px;
    background: linear-gradient(180deg, transparent, var(--gold), transparent);
    position: relative
}

.about-divider::before,
.about-divider::after {
    content: "◆";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    color: var(--gold);
    background: var(--ink);
    padding: 6px 0
}

.about-divider::before {
    top: 0
}

.about-divider::after {
    bottom: 0
}

.about-col p {
    color: var(--cream-2);
    margin-bottom: 1.2rem
}

.about-col p:first-of-type::first-letter {
    font-family: 'Cinzel', serif;
    font-size: 4.5rem;
    float: left;
    line-height: .85;
    padding: 6px 12px 0 0;
    color: var(--gold);
    font-weight: 900;
}

.about-quote {
    border-left: 2px solid var(--gold);
    padding: .4rem 0 .4rem 1.4rem;
    margin: 1.6rem 0;
    font-style: italic;
    color: var(--cream);
    font-size: 1.15rem
}

.about-signature {
    font-family: 'Poiret One', cursive;
    font-size: 1.4rem;
    color: var(--gold);
    margin-top: 2rem;
    letter-spacing: .1em
}

/* ---- PILLARS (Why us) ---- */
.pillars {
    background: #0e141c
}

.pillar-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    border: 1px solid var(--gold);
    position: relative
}

.pillar-grid .corner-tl,
.pillar-grid .corner-tr,
.pillar-grid .corner-bl,
.pillar-grid .corner-br {
    border-width: 3px
}

@media(max-width:991px) {
    .pillar-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(max-width:575px) {
    .pillar-grid {
        grid-template-columns: 1fr
    }
}

.pillar {
    padding: 3rem 2rem;
    text-align: center;
    border-right: 1px solid var(--line);
    position: relative;
    transition: .3s
}

.pillar:last-child {
    border-right: none
}

@media(max-width:991px) {
    .pillar:nth-child(2) {
        border-right: none
    }

    .pillar:nth-child(-n+2) {
        border-bottom: 1px solid var(--line)
    }
}

.pillar:hover {
    background: rgba(201, 162, 75, .05)
}

.pillar .roman {
    font-family: 'Cinzel', serif;
    font-size: 1rem;
    letter-spacing: .4em;
    color: var(--gold);
    margin-bottom: 1rem
}

.pillar .p-icon {
    width: 70px;
    height: 70px;
    border: 1px solid var(--gold);
    margin: 0 auto 1.3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gold);
    font-size: 1.5rem;
    position: relative;
    transform: rotate(45deg)
}

.pillar .p-icon i {
    transform: rotate(-45deg)
}

.pillar h3 {
    font-size: 1.05rem;
    color: var(--cream);
    margin-bottom: .8rem;
    letter-spacing: .15em
}

.pillar p {
    color: var(--cream-2);
    font-size: .98rem;
    margin: 0
}

/* ---- SERVICES SHARED ---- */
.svc {
    padding: 100px 0;
    position: relative
}

.cat-band {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 1.4rem 1.8rem;
    margin-bottom: 2.4rem;
    background: linear-gradient(90deg, rgba(201, 162, 75, .08), transparent);
    border-top: 1px solid var(--gold);
    border-bottom: 1px solid var(--line);
}

.cat-band .num {
    font-family: 'Cinzel', serif;
    color: var(--gold);
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: .1em
}

.cat-band h3 {
    margin: 0;
    font-size: 1.6rem;
    color: var(--cream);
    letter-spacing: .2em
}

.cat-band .tail {
    font-family: 'Poiret One', cursive;
    color: var(--gold);
    letter-spacing: .4em;
    font-size: .75rem;
    text-align: right;
    text-transform: uppercase
}

@media(max-width:575px) {
    .cat-band .tail {
        display: none
    }
}

/* Layout 1 — LOANS: Vault Doors (arched cards) */
.loans-vault {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 22px
}

@media(max-width:991px) {
    .loans-vault {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(max-width:575px) {
    .loans-vault {
        grid-template-columns: 1fr
    }
}

.vault {
    background: linear-gradient(180deg, #182234, #0f1622);
    border: 1px solid var(--line);
    border-top-left-radius: 50% 24px;
    border-top-right-radius: 50% 24px;
    padding: 2rem 1.4rem 1.6rem;
    position: relative;
    overflow: hidden;
    transition: .3s;
}

.vault::before {
    content: "";
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    width: 8px;
    height: 8px;
    background: var(--gold);
    border-radius: 50%;
    box-shadow: 0 0 12px var(--gold)
}

.vault:hover {
    border-color: var(--gold);
    transform: translateY(-6px)
}

.vault i {
    color: var(--gold);
    font-size: 1.6rem;
    margin: .8rem 0 .8rem;
    display: flex;
    justify-content: center;
}

.vault h4 {
    font-size: .95rem;
    color: var(--cream);
    letter-spacing: .15em;
    margin-bottom: .6rem;
    display: flex;
    justify-content: center;
}

.vault p {
    color: var(--cream-2);
    font-size: .95rem;
    margin: 0;
    line-height: 1.65
}

.loans-vault .vault:nth-child(1) {
    grid-column: span 2
}

.loans-vault .vault:nth-child(2) {
    grid-column: span 2
}

.loans-vault .vault:nth-child(3) {
    grid-column: span 2
}

.loans-vault .vault:nth-child(n+4) {
    grid-column: span 2
}

@media(max-width:991px) {
    .loans-vault .vault {
        grid-column: span 1 !important
    }
}

/* Layout 2 — INSURANCE: Fan of shields */
.ins-fan {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px
}

@media(max-width:767px) {
    .ins-fan {
        grid-template-columns: 1fr
    }
}

.shield {
    height: 300px;
    position: relative;
    padding: 2.4rem 1.8rem 2rem;
    background: linear-gradient(180deg, #141c28, #0d1420);
    clip-path: polygon(0 0, 100% 0, 100% 82%, 50% 100%, 0 82%);
    border-top: 3px solid var(--gold);
    transition: .3s;
}

.shield:hover {
    background: linear-gradient(180deg, #1a2432, #0d1420)
}

.shield .badge-num {
    margin-left: 150px;
    width: 52px;
    height: 52px;
    background: var(--gold);
    color: var(--ink);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Cinzel', serif;
    font-weight: 900;
    transform: rotate(45deg);
    margin-bottom: 1.4rem;
}

.shield .badge-num span {
    transform: rotate(-45deg)
}

.shield h4 {
    color: var(--cream);
    font-size: 1rem;
    letter-spacing: .15em;
    margin-bottom: .7rem;
    display: flex;
    justify-content: center;
}

.shield p {
    color: var(--cream-2);
    font-size: .94rem;
    margin: 0
}

/* Layout 3 — INVESTMENTS: Skyscraper columns */
.inv-city {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    align-items: end
}

@media(max-width:767px) {
    .inv-city {
        grid-template-columns: 1fr;
        align-items: stretch
    }
}

.tower {
    background: linear-gradient(180deg, #1c2638 0%, #0b1220 100%);
    border: 1px solid var(--gold);
    padding: 2.2rem 1.6rem;
    position: relative;
    text-align: center;
    transition: .3s;
}

.tower::before {
    content: "";
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 14px solid transparent;
    border-right: 14px solid transparent;
    border-bottom: 14px solid var(--gold)
}

.tower:nth-child(1) {
    min-height: 420px
}

.tower:nth-child(2) {
    min-height: 520px;
    background: linear-gradient(180deg, #243248 0%, #0b1220 100%)
}

.tower:nth-child(3) {
    min-height: 460px
}

@media(max-width:767px) {
    .tower {
        min-height: auto !important
    }
}

.tower:hover {
    border-color: var(--gold-2)
}

.tower .tk {
    color: var(--gold);
    letter-spacing: .4em;
    font-family: 'Cinzel', serif;
    font-size: .7rem;
    margin-bottom: .6rem
}

.tower h4 {
    color: var(--cream);
    font-size: 1.2rem;
    letter-spacing: .15em;
    margin: .6rem 0 1rem;
    font-family: 'Cinzel', serif
}

.tower p {
    color: var(--cream-2);
    font-size: .95rem;
    text-align: left;
    margin: 0
}

/* Layout 4 — WEALTH: Chevron ledger */
.wealth-chev {
    display: flex;
    flex-direction: column;
    gap: 14px
}

.chev-row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 24px;
    align-items: center;
    padding: 1.6rem 2rem;
    background: linear-gradient(90deg, rgba(201, 162, 75, .08), transparent);
    border-left: 4px solid var(--gold);
    position: relative;
    clip-path: polygon(0 0, calc(100% - 30px) 0, 100% 50%, calc(100% - 30px) 100%, 0 100%);
    transition: .3s;
}

.chev-row:nth-child(even) {
    background: linear-gradient(90deg, rgba(31, 111, 92, .08), transparent);
    border-left-color: var(--emerald)
}

.chev-row:hover {
    transform: translateX(6px)
}

.chev-row .num {
    font-family: 'Cinzel', serif;
    color: var(--gold);
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1;
    min-width: 70px
}

.chev-row h4 {
    margin: 0 0 .4rem;
    color: var(--cream);
    font-size: 1.05rem;
    letter-spacing: .14em
}

.chev-row p {
    margin: 0;
    color: var(--cream-2);
    font-size: .95rem
}

.chev-row .arrow {
    color: var(--gold);
    font-size: 1.2rem
}

@media(max-width:575px) {
    .chev-row {
        grid-template-columns: auto 1fr;
        clip-path: none;
        padding: 1.3rem 1.4rem
    }

    .chev-row .arrow {
        display: none
    }
}

/* Layout 5 — PAYMENTS: Chip mosaic */
.pay-mosaic {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px
}

@media(max-width:991px) {
    .pay-mosaic {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(max-width:575px) {
    .pay-mosaic {
        grid-template-columns: 1fr
    }
}

.chip {
    position: relative;
    padding: 1.8rem 1.4rem;
    background: #0e1420;
    border: 1px solid var(--line);
    background-image:
        linear-gradient(135deg, rgba(201, 162, 75, .06) 25%, transparent 25%, transparent 50%, rgba(201, 162, 75, .06) 50%, rgba(201, 162, 75, .06) 75%, transparent 75%);
    background-size: 14px 14px;
    transition: .3s;
}

.chip::after {
    content: "";
    position: absolute;
    top: 12px;
    right: 12px;
    width: 24px;
    height: 18px;
    background: var(--gold);
    border-radius: 3px;
    background-image: linear-gradient(90deg, transparent 33%, rgba(0, 0, 0, .3) 33% 66%, transparent 66%),
        linear-gradient(0deg, transparent 33%, rgba(0, 0, 0, .3) 33% 66%, transparent 66%);
}

.chip:hover {
    border-color: var(--gold);
    background-color: #131b28
}

.chip i {
    color: var(--gold);
    font-size: 1.4rem;
    margin-bottom: 1rem;
    display: block;
    margin-top: 1rem
}

.chip h4 {
    color: var(--cream);
    font-size: .92rem;
    letter-spacing: .14em;
    margin-bottom: .6rem
}

.chip p {
    color: var(--cream-2);
    font-size: .9rem;
    margin: 0
}

/* Layout 6 — DEBT: Arched double-column */
.debt-arch {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px
}

@media(max-width:991px) {
    .debt-arch {
        grid-template-columns: 1fr
    }
}

.arch {
    position: relative;
    padding: 3rem 1.8rem 2rem;
    background: linear-gradient(180deg, #161e2c, #0c1220);
    border: 1px solid var(--line);
    border-top-left-radius: 180px 60px;
    border-top-right-radius: 180px 60px;
    text-align: center;
    transition: .3s;
}

.arch::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    height: 2px;
    background: var(--gold)
}

.arch:hover {
    border-color: var(--gold);
    transform: translateY(-4px)
}

.arch .roman {
    color: var(--gold);
    font-family: 'Cinzel', serif;
    letter-spacing: .4em;
    font-size: .75rem;
    margin-bottom: 1rem
}

.arch h4 {
    color: var(--cream);
    font-size: 1.1rem;
    letter-spacing: .14em;
    margin-bottom: .9rem
}

.arch p {
    color: var(--cream-2);
    font-size: .94rem;
    text-align: left;
    margin: 0
}

/* Layout 7 — HOME WARRANTY: Estate seal */
.home-seals {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px
}

@media(max-width:991px) {
    .home-seals {
        grid-template-columns: 1fr
    }
}

.seal {
    text-align: center;
    padding: 2.6rem 1.8rem;
    position: relative;
    background: linear-gradient(180deg, #151d29, #0c1220);
    border: 1px solid var(--line);
    transition: .3s;
}

.seal .medal {
    width: 110px;
    height: 110px;
    margin: 0 auto 1.4rem;
    position: relative;
    background: conic-gradient(from 0deg, var(--gold) 0 25%, var(--gold-3) 25% 50%, var(--gold) 50% 75%, var(--gold-3) 75% 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 0 6px var(--ink), 0 0 0 7px var(--gold);
}

.seal .medal::before {
    content: "";
    position: absolute;
    inset: 8px;
    border-radius: 50%;
    background: var(--ink);
    border: 1px solid var(--gold)
}

.seal .medal i {
    position: relative;
    z-index: 2;
    color: var(--gold);
    font-size: 1.8rem
}

.seal:hover {
    border-color: var(--gold);
    transform: translateY(-6px)
}

.seal h4 {
    color: var(--cream);
    font-size: 1.05rem;
    letter-spacing: .14em;
    margin-bottom: .7rem
}

.seal p {
    color: var(--cream-2);
    font-size: .94rem;
    margin: 0
}

/* Layout 8 — AUTO WARRANTY: Speedometer dashboard */
.auto-dash {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px
}

@media(max-width:991px) {
    .auto-dash {
        grid-template-columns: 1fr
    }
}

.dash {
    background: #0b1220;
    border: 1px solid var(--line);
    padding: 1.8rem;
    position: relative;
    transition: .3s;
    border-left: 4px solid var(--gold);
}

.dash:hover {
    border-color: var(--gold);
    background: #101828
}

.dash .gauge {
    width: 80px;
    height: 40px;
    border: 2px solid var(--gold);
    border-bottom: none;
    border-radius: 80px 80px 0 0;
    margin-bottom: 1.2rem;
    position: relative;
    overflow: hidden;
}

.dash .gauge::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 2px;
    height: 32px;
    background: var(--gold);
    transform-origin: bottom center;
    transform: translateX(-50%) rotate(-30deg)
}

.dash:nth-child(2) .gauge::before {
    transform: translateX(-50%) rotate(20deg)
}

.dash:nth-child(3) .gauge::before {
    transform: translateX(-50%) rotate(60deg)
}

.dash h4 {
    color: var(--cream);
    font-size: 1.05rem;
    letter-spacing: .14em;
    margin-bottom: .7rem
}

.dash p {
    color: var(--cream-2);
    font-size: .94rem;
    margin: 0
}

/* ---- PROCESS: Compass ring ---- */
.process {
    background: linear-gradient(180deg, #0e141c, var(--ink))
}

.compass {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
    margin-top: 60px;
    position: relative
}

@media(max-width:991px) {
    .compass {
        grid-template-columns: 1fr
    }
}

.comp {
    text-align: center;
    padding: 2rem 1.2rem;
    background: linear-gradient(180deg, #141c28, #0b1220);
    border: 1px solid var(--line);
    position: relative;
    transition: .3s;
}

.comp:hover {
    border-color: var(--gold);
    transform: translateY(-4px)
}

.comp .cn {
    width: 70px;
    height: 70px;
    margin: 0 auto 1rem;
    position: relative;
    border: 1px solid var(--gold);
    transform: rotate(45deg);
    display: flex;
    align-items: center;
    justify-content: center;
}

.comp .cn span {
    transform: rotate(-45deg);
    font-family: 'Cinzel', serif;
    color: var(--gold);
    font-weight: 900;
    font-size: 1.3rem
}

.comp h4 {
    color: var(--cream);
    font-size: .95rem;
    letter-spacing: .14em;
    margin-bottom: .6rem
}

.comp p {
    color: var(--cream-2);
    font-size: .9rem;
    margin: 0;
    line-height: 1.6
}

/* ---- STATS: Coin row ---- */
.stats {
    background: var(--ink);
    position: relative;
    overflow: hidden
}

.stats::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 1200px;
    height: 1200px;
    background: radial-gradient(circle, rgba(201, 162, 75, .08), transparent 60%);
    pointer-events: none
}

.coins {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    position: relative
}

@media(max-width:991px) {
    .coins {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(max-width:575px) {
    .coins {
        grid-template-columns: 1fr
    }
}

.coin {
    aspect-ratio: 1;
    max-width: 260px;
    margin: 0 auto;
    background:
        radial-gradient(circle at 30% 30%, var(--gold-2), var(--gold) 40%, var(--gold-3) 100%);
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--ink);
    position: relative;
    box-shadow: 0 20px 40px -20px rgba(201, 162, 75, .5), inset 0 -6px 20px rgba(0, 0, 0, .3), inset 0 6px 12px rgba(255, 255, 255, .3);
    transition: .4s;
}

.coin::before {
    content: "";
    position: absolute;
    inset: 10px;
    border: 1px dashed rgba(11, 15, 20, .4);
    border-radius: 50%
}

.coin:hover {
    transform: rotate(6deg) scale(1.03)
}

.coin .cv {
    font-family: 'Cinzel', serif;
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1;
    position: relative
}

.coin .cl {
    font-size: .7rem;
    letter-spacing: .28em;
    text-transform: uppercase;
    margin-top: .4rem;
    font-weight: 700;
    position: relative
}

.coin i {
    font-size: 1.2rem;
    opacity: .7;
    margin-bottom: .4rem;
    position: relative
}

/* ---- TESTIMONIALS: Curtain stage ---- */
.testi {
    background: linear-gradient(180deg, var(--ink), #0e141c);
    position: relative
}

.stage {
    max-width: 900px;
    margin: 0 auto;
    padding: 3rem 2.4rem;
    background: linear-gradient(180deg, #141c28, #0b1220);
    border: 1px solid var(--gold);
    position: relative;
    text-align: center;
}

.stage-curtain {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 80px;
    background: repeating-linear-gradient(90deg, var(--burgundy), #4a1420 8px, var(--burgundy) 16px);
    opacity: .5
}

.stage-curtain.l {
    left: -1px;
    clip-path: polygon(0 0, 100% 0, 60% 100%, 0 100%)
}

.stage-curtain.r {
    right: -1px;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 40% 100%)
}

@media(max-width:767px) {
    .stage-curtain {
        display: none
    }
}

.stage .qmark {
    font-family: 'Cinzel', serif;
    font-size: 5rem;
    color: var(--gold);
    line-height: .5;
    margin-bottom: 1rem
}

.stage blockquote {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 1.35rem;
    color: var(--cream);
    line-height: 1.75;
    margin: 0 auto 2rem;
    max-width: 640px
}

.stage .who {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px
}

.stage .who .av {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--gold);
    color: var(--ink);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Cinzel', serif;
    font-weight: 900
}

.stage .who strong {
    display: block;
    color: var(--cream);
    font-family: 'Cinzel', serif;
    letter-spacing: .14em;
    font-size: .9rem
}

.stage .who span {
    color: var(--gold);
    font-size: .82rem;
    letter-spacing: .14em
}

.stage-nav {
    display: flex;
    justify-content: center;
    gap: 14px;
    margin-top: 2rem
}

.stage-nav button {
    width: 40px;
    height: 40px;
    border: 1px solid var(--gold);
    background: transparent;
    color: var(--gold);
    transition: .3s
}

.stage-nav button:hover {
    background: var(--gold);
    color: var(--ink)
}

.stage-nav .dot {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    padding: 0 12px
}

.stage-nav .dot i {
    width: 8px;
    height: 8px;
    background: var(--line);
    border-radius: 50%;
    transition: .3s;
    font-size: 0
}

.stage-nav .dot i.active {
    background: var(--gold)
}

/* ---- NEWSLETTER: Ticket ---- */
.news {
    background: var(--ink)
}

.ticket {
    max-width: 820px;
    margin: 0 auto;
    padding: 3rem;
    background: linear-gradient(135deg, #1a2332, #0e141c);
    border: 2px dashed var(--gold);
    position: relative;
    text-align: center;
}

.ticket::before,
.ticket::after {
    content: "";
    position: absolute;
    width: 40px;
    height: 40px;
    background: var(--ink);
    border-radius: 50%;
    border: 2px dashed var(--gold);
    top: 50%;
    transform: translateY(-50%)
}

.ticket::before {
    left: -22px
}

.ticket::after {
    right: -22px
}

.ticket .stub {
    font-family: 'Cinzel', serif;
    letter-spacing: .4em;
    color: var(--gold);
    font-size: .72rem;
    margin-bottom: .6rem
}

.ticket h3 {
    color: var(--cream);
    font-size: 2rem;
    margin-bottom: .5rem
}

.ticket p {
    color: var(--cream-2);
    font-style: italic;
    margin-bottom: 2rem
}

.ticket .form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    max-width: 650px;
    margin: 0 auto;
    text-align: left;
}

.field-group {
    display: flex;
    flex-direction: column;
    gap: .45rem;
}

.field-group.full {
    grid-column: 1 / -1;
}

.field-group label {
    color: var(--gold);
    font-family: 'Cinzel', serif;
    font-size: .72rem;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.ticket input {
    width: 100%;
    height: 48px;
    background: rgba(255, 255, 255, .04);
    border: 1px solid var(--gold);
    color: var(--cream);
    padding: .85rem 1rem;
    font-size: .95rem;
}

.ticket input:focus {
    outline: none;
    background: rgba(255, 255, 255, .08);
}

.subscribe-check {
    grid-column: 1 / -1;
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    color: var(--cream-2);
    font-size: .8rem;
    line-height: 1.5;
}

.subscribe-check input {
    width: 16px;
    height: 16px;
    margin-top: 3px;
}

.ticket .btn-gold {
    grid-column: 1 / -1;
    width: 100%;
    height: 48px;
}


/* Mobile */
@media(max-width:768px) {
    .ticket .form-row {
        grid-template-columns: 1fr;
    }
}

.ticket input:focus {
    outline: none;
    background: rgba(255, 255, 255, .08)
}

.ticket button {
    border-left: none
}

.unsub {
    background: none;
    border: none;
    color: var(--cream-2);
    font-family: 'Cinzel', serif;
    font-size: .72rem;
    letter-spacing: .3em;
    margin-top: 1rem;
    padding: 0
}

.unsub:hover {
    color: var(--gold)
}

/* ---- FAQ: Playbill ---- */
.faq {
    background: linear-gradient(180deg, #0e141c, var(--ink))
}

.playbill {
    max-width: 820px;
    margin: 60px auto 0
}

.play-q {
    width: 100%;
    text-align: left;
    background: transparent;
    border: none;
    border-bottom: 1px solid var(--line);
    padding: 1.4rem 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    color: var(--cream);
    font-family: 'Cinzel', serif;
    font-size: 1rem;
    letter-spacing: .12em;
    transition: .3s;
}

.play-q:hover,
.play-q[aria-expanded="true"] {
    color: var(--gold)
}

.play-q .num {
    color: var(--gold);
    font-weight: 900;
    min-width: 40px
}

.play-q .plus {
    color: var(--gold);
    font-size: 1.4rem;
    transition: .3s;
    font-family: serif
}

.play-q[aria-expanded="true"] .plus {
    transform: rotate(45deg)
}

.play-a {
    color: var(--cream-2);
    padding: 0 0 1.4rem 54px;
    line-height: 1.85
}

/* ---- CONTACT ---- */
.contact {
    background: var(--ink)
}

.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px
}

@media(max-width:991px) {
    .contact-grid {
        grid-template-columns: 1fr
    }
}

.contact-info {
    padding: 2.4rem;
    background: linear-gradient(180deg, #141c28, #0b1220);
    border: 1px solid var(--gold);
    position: relative
}

.contact-info h3 {
    color: var(--cream);
    font-size: 1.4rem;
    letter-spacing: .15em;
    margin-bottom: 1.5rem
}

.contact-info ul {
    list-style: none;
    padding: 0
}

.contact-info li {
    display: flex;
    gap: 14px;
    margin-bottom: 1.4rem;
    color: var(--cream);
    padding-bottom: 1.2rem;
    border-bottom: 1px solid var(--line-soft)
}

.contact-info li:last-child {
    border-bottom: none
}

.contact-info li i {
    color: var(--gold);
    font-size: 1.2rem;
    margin-top: 4px;
    width: 24px;
    text-align: center
}

.contact-info li small {
    display: block;
    color: var(--gold);
    font-family: 'Cinzel', serif;
    font-size: .7rem;
    letter-spacing: .28em;
    margin-bottom: 2px
}

.contact-form input,
.contact-form select,
.contact-form textarea {
    width: 100%;
    background: rgba(255, 255, 255, .04);
    border: 1px solid var(--line);
    color: var(--cream);
    padding: .9rem 1.2rem;
    margin-bottom: 1rem;
    font-family: inherit;
    font-size: 1rem;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
    outline: none;
    border-color: var(--gold);
    background: rgba(255, 255, 255, .08)
}

.contact-form label {
    color: var(--gold);
    font-family: 'Cinzel', serif;
    font-size: .7rem;
    letter-spacing: .28em;
    margin-bottom: .4rem;
    display: block
}

/* ---- FINAL CTA ---- */
.final-cta {
    padding: 120px 0;
    text-align: center;
    position: relative;
    background:
        radial-gradient(circle at 50% 50%, rgba(201, 162, 75, .15), transparent 60%),
        linear-gradient(180deg, #0e141c, var(--ink));
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.final-cta h2 {
    font-size: clamp(2.4rem, 5vw, 4rem);
    color: var(--cream);
    margin-bottom: 1.5rem
}

.final-cta h2 em {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    color: var(--gold);
    text-transform: none;
    letter-spacing: 0
}

.final-cta p {
    color: var(--cream-2);
    font-style: italic;
    font-size: 1.2rem;
    max-width: 640px;
    margin: 0 auto 2.4rem
}

/* ---- FOOTER ---- */
footer.deco-footer {
    background: #080c12;
    padding: 80px 0 0;
    border-top: 1px solid var(--gold)
}

.deco-footer h5 {
    color: var(--gold);
    font-family: 'Cinzel', serif;
    font-size: .85rem;
    letter-spacing: .28em;
    margin-bottom: 1.4rem
}

.deco-footer ul {
    list-style: none;
    padding: 0;
    margin: 0
}

.deco-footer li {
    margin-bottom: .7rem
}

.deco-footer a,
.deco-footer button.link-like {
    color: var(--cream-2);
    font-size: .95rem;
    transition: .2s;
    background: none;
    border: none;
    padding: 0;
    text-align: left
}

.deco-footer a:hover,
.deco-footer button.link-like:hover {
    color: var(--gold)
}

.deco-footer .foot-brand {
    font-family: 'Cinzel', serif;
    font-weight: 900;
    font-size: 1.5rem;
    letter-spacing: .2em;
    color: var(--cream)
}

.deco-footer .foot-brand span {
    color: var(--gold)
}

.deco-footer .foot-brand small {
    display: block;
    font-family: 'Poiret One', cursive;
    font-size: .65rem;
    letter-spacing: .5em;
    color: var(--gold);
    margin-top: 2px;
    text-transform: uppercase
}

.deco-footer p {
    color: var(--cream-2);
    font-size: .94rem
}

.foot-social {
    display: flex;
    gap: 12px;
    margin-top: 1.4rem
}

.foot-social a {
    width: 38px;
    height: 38px;
    border: 1px solid var(--gold);
    color: var(--gold);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .3s;
    transform: rotate(45deg)
}

.foot-social a i {
    transform: rotate(-45deg)
}

.foot-social a:hover {
    background: var(--gold);
    color: var(--ink)
}

.foot-bottom {
    margin-top: 60px;
    padding: 24px 0;
    border-top: 1px solid var(--line);
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    color: var(--cream-2);
    font-size: .85rem;
    letter-spacing: .1em
}

.foot-bottom a {
    color: var(--cream-2);
    margin: 0 .6rem
}

.foot-bottom a:hover {
    color: var(--gold)
}

/* ---- MODALS ---- */
.modal-content.deco-modal {
    background: linear-gradient(180deg, #141c28, #0b1220);
    color: var(--cream);
    border: 1px solid var(--gold);
    border-radius: 0;
}

.deco-modal .modal-header,
.deco-modal .modal-footer {
    border-color: var(--line)
}

.deco-modal .modal-title {
    font-family: 'Cinzel', serif;
    letter-spacing: .2em;
    color: var(--gold);
    font-size: 1.1rem
}

.deco-modal .btn-close {
    filter: invert(1) sepia(1) hue-rotate(30deg);
    opacity: .7
}

.deco-modal input,
.deco-modal select,
.deco-modal textarea {
    width: 100%;
    background: rgba(255, 255, 255, .04);
    border: 1px solid var(--line);
    color: var(--cream);
    padding: .8rem 1rem;
    margin-bottom: 1rem;
    font-family: inherit;
}

.deco-modal input:focus,
.deco-modal select:focus,
.deco-modal textarea:focus {
    outline: none;
    border-color: var(--gold)
}

.deco-modal label {
    color: var(--gold);
    font-family: 'Cinzel', serif;
    font-size: .7rem;
    letter-spacing: .25em;
    margin-bottom: .4rem;
    display: block
}

.success-medal {
    width: 100px;
    height: 100px;
    margin: 0 auto 1.4rem;
    background: radial-gradient(circle at 30% 30%, var(--gold-2), var(--gold) 60%, var(--gold-3));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ink);
    font-size: 2.6rem;
    box-shadow: 0 0 0 4px var(--ink), 0 0 0 5px var(--gold);
}

.policy h6 {
    color: var(--gold);
    font-family: 'Cinzel', serif;
    letter-spacing: .14em;
    font-size: .95rem;
    margin-top: 1.4rem
}

.policy p {
    color: var(--cream-2);
    font-size: .95rem;
    line-height: 1.75
}

/* ---- PAGE HEADER (for sub-pages) ---- */
.page-hero {
    min-height: 50vh;
    padding: 160px 0 80px;
    position: relative;
    background:
        radial-gradient(ellipse at 50% 100%, rgba(201, 162, 75, .15), transparent 60%),
        var(--ink);
    overflow: hidden;
    text-align: center;
}

.page-hero .hero-sunburst {
    width: 700px;
    height: 700px;
    opacity: .06;
}

.page-hero-inner {
    position: relative;
    z-index: 2;
    max-width: 860px;
    margin: 0 auto;
    padding: 0 20px;
}

.page-hero h1 {
    font-size: clamp(2rem, 4vw, 3.6rem);
    color: var(--cream);
    font-weight: 700;
    letter-spacing: .05em;
    margin: 1rem 0;
    line-height: 1.05;
}

.page-hero h1 em {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    color: var(--gold);
    text-transform: none;
    letter-spacing: 0;
    font-weight: 600;
}

.page-hero p {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 1.2rem;
    color: var(--cream-2);
    max-width: 640px;
    margin: 1.2rem auto 0;
}

/* ---- POLICY / TERMS PAGE TYPOGRAPHY ---- */
.legal-content {
    max-width: 900px;
    margin: 0 auto;
    padding: 20px;
}

.legal-content .last-updated {
    color: var(--cream-2);
    font-style: italic;
    margin-bottom: 2rem;
}

.legal-content h6 {
    color: var(--gold);
    font-family: 'Cinzel', serif;
    letter-spacing: .14em;
    font-size: 1rem;
    margin-top: 2rem;
    margin-bottom: .8rem;
}

.legal-content p {
    color: var(--cream-2);
    font-size: 1rem;
    line-height: 1.85;
    margin-bottom: 1rem;
}

/* ---- STANDALONE FORM (newsletter / unsubscribe pages) ---- */
.standalone-ticket {
    max-width: 720px;
    margin: 0 auto;
    padding: 3rem;
    background: linear-gradient(135deg, #1a2332, #0e141c);
    border: 2px dashed var(--gold);
    position: relative;
}

.standalone-ticket::before,
.standalone-ticket::after {
    content: "";
    position: absolute;
    width: 40px;
    height: 40px;
    background: var(--ink);
    border-radius: 50%;
    border: 2px dashed var(--gold);
    top: 50%;
    transform: translateY(-50%);
}

.standalone-ticket::before {
    left: -22px
}

.standalone-ticket::after {
    right: -22px
}