.header-ui__box-10 { width: 2.5rem; height: 2.5rem; }

.hero-tide__band { min-height: 34rem; display: flex; align-items: center; }
.hero-tide__waves { height: 11rem; }
.hero-tide__wave { position: absolute; left: 0; bottom: 0; width: 200%; height: 100%; }
.hero-tide__wave--1 { animation: hero-tide-drift 22s linear infinite; }
.hero-tide__wave--2 { animation: hero-tide-drift 16s linear infinite reverse; height: 85%; }
.hero-tide__wave--3 { animation: hero-tide-drift 28s linear infinite; height: 60%; }

.hero-tide__copy > * { opacity: 0; transform: translateY(1.5rem); animation: hero-tide-rise 900ms cubic-bezier(.2, .8, .2, 1) forwards; }
.hero-tide__copy > *:nth-child(2) { animation-delay: 140ms; }
.hero-tide__copy > *:nth-child(3) { animation-delay: 280ms; }
.hero-tide__title { letter-spacing: -0.02em; }

.hero-tide__chip { max-width: 14rem; overflow-wrap: anywhere; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); animation: hero-tide-float 6s ease-in-out infinite; }
.hero-tide__chip--0 { top: 66% !important; left: 2% !important; }
.hero-tide__chip--1 { top: 14% !important; left: auto !important; right: 2%; animation-delay: -3s; }

@keyframes hero-tide-drift { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes hero-tide-rise { to { opacity: 1; transform: none; } }
@keyframes hero-tide-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }

@media (prefers-reduced-motion: reduce) {
    .hero-tide__wave, .hero-tide__chip { animation: none; }
    .hero-tide__copy > * { animation: none; opacity: 1; transform: none; }
}

/* the floating chips sit at the section edges from xl up: keep the copy narrow enough that a long headline never runs under them */
@media (min-width: 1200px) { .hero-tide__copy { max-width: 44rem; margin-left: auto; margin-right: auto; } }

/* wpg-hidden: utility classes are renamed in production builds, so hidden states must not rely on .hidden / .d-none alone */
.hero-tide[hidden], .hero-tide [hidden], .hero-tide .hidden.d-none { display: none !important; }

.content-trio-showcase__image {
    display: block;
    width: 100%;
    height: 10rem;
    object-fit: cover;
}

.content-trio-showcase__image--tall {
    height: 14rem;
}

.content-trio-showcase__image--short {
    height: 8rem;
}

.content-trio-showcase__card-lift {
    transition: transform 180ms ease;
}

.content-trio-showcase__card-lift:hover {
    transform: translateY(-0.25rem);
}

.content-flex-min {
    min-width: 0;
}

.content-trio-showcase__float {
    animation: content-trio-showcase-float 7s ease-in-out infinite;
}

.content-trio-showcase__rail {
    width: 100%;
    height: 0.25rem;
}

.content-trio-showcase__thumb {
    width: 7rem;
    height: 5rem;
}

.content-trio-showcase__badge {
    width: 2.5rem;
    height: 2.5rem;
}

@media (min-width: 768px) {
    .content-trio-showcase__rail {
        width: 0.25rem;
        height: auto;
    }
}

@keyframes content-trio-showcase-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(0.5rem); }
}

.content-trio-showcase__dot {
    width: 0.5rem;
    height: 0.5rem;
}

.content-trio-showcase__float {
    width: 6rem;
    height: 6rem;
}

@media (min-width: 768px) {
    .content-trio-showcase__offset {
        margin-top: 2.5rem;
    }
}

/* Bootstrap: grid + gap (row gutters often collapse) */
.tips-detailed__bs-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
}

@media (min-width: 768px) {
    .tips-detailed__bs-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.tips-detailed__subtitle-max {
    max-width: 42rem;
}

.tips-detailed__thumb {
    width: 3rem;
    height: 3rem;
}

.tips-detailed__cta-thumb {
    width: 2rem;
    height: 2rem;
}

.tips-detailed__min-shrink {
    min-width: 0;
}

/* glossary gazette — multi-column flow (not CSS grid), brick avoid breaks, footnote icon */
.glossary-gazette__columns {
    column-count: 1;
    column-gap: 1.25rem;
}

@media (min-width: 768px) {
    .glossary-gazette__columns {
        column-count: 2;
        column-gap: 1.5rem;
    }
}

@media (min-width: 1200px) {
    .glossary-gazette__columns {
        column-count: 3;
    }
}

.glossary-gazette__brick {
    break-inside: avoid;
    margin-bottom: 1rem;
}

.glossary-gazette__note-ico {
    width: 3.25rem;
    height: 3.25rem;
}

.glossary-gazette__note-icon {
    font-size: 1.25rem;
    line-height: 1;
}

