/* Finance Tip — Banner Zone (wide & short zone, used for banner-top /
 * banner-bottom / triple-v layouts).
 *
 * Spiral-bound notebook turned sideways: the binding runs VERTICALLY
 * along the LEFT edge of the paper, with the spiral coil straddling
 * the left border. "FINANCE TIP" sits on the binding strip, one word
 * per line. Body content fills the right portion of the paper. */

.finance-banner-wrap {
    width: 100cqw;
    height: 100cqh;
    container-type: size;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    overflow: visible;
    background: transparent;
    color: var(--text);
    font-family: 'Geist Mono', 'Roboto Mono', monospace;
}

.finance-banner-paper {
    position: relative;
    width: 80%;
    height: 80%;
    /* Shift the paper right so the spiral overhang on the LEFT side
     * doesn't push the visual group off-center horizontally. */
    margin-left: 2cqw;
    box-sizing: border-box;
    background: #FFF;
    border: 1.2cqmin solid var(--text);
    border-radius: 0;
    display: grid;
    grid-template-columns: 22cqw 1fr;
    grid-template-rows: 1fr 12cqh;
    grid-template-areas:
        "banner paper"
        "banner footer";
    overflow: visible;
    box-shadow: 0 1.2cqmin 2.4cqmin rgba(0, 0, 0, 0.32);
}

/* Left-side spiral binding strip — full height, themed bar color. */
.finance-banner-banner-block {
    grid-area: banner;
    position: relative;
    background: var(--bar);
    border-right: 0.5cqmin solid var(--text);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
    padding: 4cqh 2cqw;
    box-sizing: border-box;
}

/* Vertical spiral coil straddling the LEFT border of the paper. The
 * SVG natural aspect is portrait (98.6 / 325.2 ≈ 0.303), matching the
 * tall narrow binding strip. */
.finance-banner-spirals {
    position: absolute;
    top: 50%;
    left: -1.2cqmin;
    height: 90%;
    aspect-ratio: 99 / 325;
    transform: translate(-50%, -50%);
    background: url("../img/spiral_binding_banner.8dbbe5fe018c.svg") center / 100% 100% no-repeat;
    pointer-events: none;
}

/* "FINANCE TIP" stacked vertically inside the binding strip — one word
 * per line, sized by the JS auto-fit so the longest word fills the
 * strip width. */
.finance-banner-banner-fit {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.3em;
    line-height: 1;
    font-size: 3.5cqmin;
    width: max-content;
    max-width: 100%;
    text-align: center;
    margin-left: 3cqw;
}

.finance-banner-wrap .finance-banner-header {
    font-family: 'Geist Mono', 'Roboto Mono', monospace;
    font-size: 1em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--text);
    line-height: 1;
    white-space: nowrap;
    text-align: center;
}

/* Right side — body content. */
.finance-banner-paper-block {
    grid-area: paper;
    padding: 4cqh 4cqw 1cqh;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: var(--text);
    overflow: hidden;
    position: relative;
}

.finance-banner-wrap .finance-banner-body {
    font-size: inherit;
    line-height: 1.35;
    font-family: 'Georgia', serif;
    text-align: start;
}

.finance-banner-wrap .finance-banner-headline {
    font-family: 'Cormorant Garamond', 'Georgia', serif;
    font-size: 1.35em;
    font-weight: 700;
    line-height: 1.08;
    color: var(--text);
    letter-spacing: -0.005em;
    margin-bottom: 0.25em;
}

.finance-banner-wrap .finance-banner-headline-icon {
    color: var(--accent);
    font-size: 0.85em;
    margin-right: 0.4em;
    vertical-align: baseline;
}

.finance-banner-wrap .finance-banner-category {
    font-family: 'Georgia', serif;
    font-size: 0.62em;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: var(--accent);
    opacity: 0.95;
    margin-bottom: 0.7em;
    font-style: normal;
    line-height: 1;
}

.finance-banner-wrap .finance-banner-text {
    font-family: 'Georgia', serif;
    font-size: 1em;
    line-height: 1.7;
    color: var(--text);
    background-image: linear-gradient(
        to bottom,
        transparent 0,
        transparent calc(1.7em - 0.15cqmin),
        var(--bar) calc(1.7em - 0.15cqmin),
        var(--bar) 1.7em
    );
    background-size: 100% 1.7em;
    background-repeat: repeat-y;
    background-position: 0 0.18em;
}

.finance-banner-wrap .finance-banner-source {
    font-family: 'Georgia', serif;
    font-size: 0.7em;
    line-height: 1.35;
    margin-top: 0.6em;
    color: var(--text);
    opacity: 0.7;
    text-align: start;
}

/* Disclaimer along the bottom of the body portion. */
.finance-banner-footer-block {
    grid-area: footer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4cqw;
    position: relative;
    border-top: 0.2cqmin dashed var(--bar);
}

.finance-banner-wrap .finance-banner-disclaimer {
    font-family: 'Geist Mono', 'Roboto Mono', monospace;
    font-size: 3.6cqmin;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: var(--accent);
    opacity: 0.85;
    line-height: 1;
    text-align: center;
}
