/* =========================================================================
   ILBRC / CEHDAR 2027 – Design Overhaul (loaded LAST so it wins the cascade)
   Palette
   Primary        Deep Purple   #403090
   Secondary      Blue          #3070B0
   Accent         Teal          #08B0B8
   CEHDAR Yellow  #F8B848
   CEHDAR Green   #30B028
   Supporting     Tan           #C09870
   Text / BG      #000 / #FFF
   ========================================================================= */

:root {
    --c-primary: #403090;
    --c-primary-600: #352878;
    --c-primary-050: #ece8fb;
    --c-secondary: #3070B0;
    --c-accent: #08B0B8;
    --c-yellow: #F8B848;
    --c-green: #30B028;
    --c-tan: #C09870;
    --c-ink: #101018;
    --c-muted: #5b5b6a;
    --c-bg: #ffffff;
    --c-bg-soft: #f7f6fc;
    --grad-hero: linear-gradient(120deg, rgba(64,48,144,.85) 0%, rgba(48,112,176,.72) 40%, rgba(8,176,184,.55) 100%);
    --grad-primary: linear-gradient(135deg, #403090 0%, #3070B0 60%, #08B0B8 100%);
    --grad-cehdar: linear-gradient(135deg, #F8B848 0%, #30B028 100%);
    --shadow-soft: 0 10px 30px rgba(64,48,144,.12);
    --shadow-lift: 0 20px 45px rgba(16,16,24,.18);
    --radius-lg: 22px;
    --radius-md: 14px;
}

/* ---------- Global tone-overrides for existing theme classes ---------- */
body { color: var(--c-ink); background: var(--c-bg); }
a { color: var(--c-primary); }
a:hover { color: var(--c-accent); }

.text-gold, .text-green { color: var(--c-primary) !important; }
.divider-gold { background: var(--grad-primary) !important; height: 4px; border-radius: 4px; width: 72px; margin: .75rem 0 1.25rem; }

.btn-gold {
    background: var(--grad-primary) !important;
    border: none !important;
    color: #fff !important;
    box-shadow: 0 8px 20px rgba(64,48,144,.35);
    transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.btn-gold:hover { transform: translateY(-2px); filter: brightness(1.05); box-shadow: 0 14px 30px rgba(64,48,144,.45); color:#fff !important; }

.btn-outline-gold {
    background: transparent !important;
    color: var(--c-primary) !important;
    border: 2px solid var(--c-primary) !important;
    transition: all .25s ease;
}
.btn-outline-gold:hover { background: var(--c-primary) !important; color: #fff !important; }

.btn-green { background: var(--c-green) !important; border-color: var(--c-green) !important; color: #fff !important; }
.btn-green:hover { background: #268b20 !important; color:#fff !important; }

.btn-cehdar {
    background: var(--grad-cehdar); color: #1b1b1b; border:0;
    padding: .7rem 1.4rem; border-radius: 999px; font-weight: 700;
    box-shadow: 0 10px 24px rgba(248,184,72,.35);
    transition: transform .25s ease, box-shadow .25s ease;
}
.btn-cehdar:hover { transform: translateY(-2px); box-shadow: 0 16px 30px rgba(48,176,40,.35); }

.section-title { color: var(--c-primary); position: relative; }
.section-title::after {
    content: ""; display:block; height:4px; width:88px; margin-top:.7rem;
    background: var(--grad-primary); border-radius: 4px;
}

.card-elevated {
    background: #fff; border-radius: var(--radius-md);
    box-shadow: var(--shadow-soft);
    transition: transform .3s ease, box-shadow .3s ease;
}
.card-elevated:hover { transform: translateY(-4px); box-shadow: var(--shadow-lift); }

.section-alt { background: var(--c-bg-soft) !important; }

/* ---------- Top bar ---------- */
.top-bar {
    background: var(--grad-primary) !important;
    color: #fff !important;
    font-size: .88rem;
    padding: .45rem 0;
}
.top-bar a { color: #fff; text-decoration: none; }
.top-bar a:hover { color: var(--c-yellow); }

/* ---------- Navbar ---------- */
.site-navbar {
    background: #fff;
    border-bottom: 1px solid rgba(64,48,144,.08);
    box-shadow: 0 2px 14px rgba(64,48,144,.06);
    position: sticky; top: 0; z-index: 1030;
}
.site-navbar .navbar { padding: .55rem 0; }
.site-navbar .navbar-brand { display: inline-flex; align-items: center; gap: .65rem; font-weight: 800; color: var(--c-primary); }
.site-navbar .navbar-brand span { background: var(--grad-primary); -webkit-background-clip: text; background-clip:text; -webkit-text-fill-color: transparent; }
.site-navbar .nav-link {
    color: var(--c-ink) !important;
    font-weight: 600;
    padding: .55rem .9rem !important;
    position: relative;
    transition: color .2s ease;
}
.site-navbar .nav-link:hover, .site-navbar .nav-link.active { color: var(--c-primary) !important; }
.site-navbar .nav-link::after {
    content:""; position:absolute; left:.9rem; right:.9rem; bottom:.35rem; height:2px;
    background: var(--grad-primary); transform: scaleX(0); transform-origin: left;
    transition: transform .25s ease;
}
.site-navbar .nav-link:hover::after, .site-navbar .nav-link.active::after { transform: scaleX(1); }
.site-navbar .dropdown-menu {
    border: 0; border-radius: 14px; padding: .5rem;
    box-shadow: 0 20px 40px rgba(64,48,144,.18);
    animation: menuIn .18s ease-out;
}
@keyframes menuIn { from { opacity:0; transform: translateY(6px);} to { opacity:1; transform: none; } }
.site-navbar .dropdown-item {
    border-radius: 10px; padding: .55rem .85rem; font-weight: 500; color: var(--c-ink);
}
.site-navbar .dropdown-item:hover, .site-navbar .dropdown-item:focus {
    background: var(--c-primary-050); color: var(--c-primary);
}
.site-navbar .dropdown-item i { color: var(--c-accent); margin-right: .4rem; }

/* Styling for dropdown submenus (two-level menus) */
.site-navbar .dropdown-submenu {
    position: relative;
}

.site-navbar .dropdown-submenu > .dropdown-toggle::after {
    transform: rotate(-90deg);
    margin-left: auto;
  }

/* Hover-open dropdowns on desktop */
@media (min-width: 1200px) {
    .site-navbar .nav-item.dropdown:hover > .dropdown-menu { display: block; }
    .site-navbar .nav-item.dropdown > .dropdown-menu { margin-top: 0; }

    /* Nested dropdown (submenu) styling */
    .site-navbar .dropdown-submenu:hover > .dropdown-menu { display: block; }
    .site-navbar .dropdown-submenu > .dropdown-menu {
        top: 0;
        left: 100%;
        margin-left: .5rem;
        margin-top: -.5rem;
    }
}

/* CTA button in navbar */
.site-navbar .btn-gold { padding: .5rem 1.2rem; border-radius: 999px; }

/* Dropdown button styling */
.btn-group .btn-gold.dropdown-toggle {
    border-radius: 14px;
    padding: .6rem 1.2rem !important;
}

.btn-group .dropdown-menu {
    border: 0;
    border-radius: 14px;
    padding: .5rem;
    box-shadow: 0 20px 40px rgba(64,48,144,.18);
    animation: menuIn .18s ease-out;
}

.btn-group .dropdown-item {
    border-radius: 10px;
    padding: .55rem .85rem;
    font-weight: 500;
    color: var(--c-ink);
}

.btn-group .dropdown-item:hover,
.btn-group .dropdown-item:focus {
    background: var(--c-primary-050);
    color: var(--c-primary);
}

.btn-group .dropdown-item i {
    color: var(--c-accent);
    margin-right: .4rem;
}

/* ---------- HERO (video-style hero: image + animated gradient overlay) ---------- */
.overhaul-hero {
    position: relative;
    min-height: 88vh;
    display: flex; align-items: center;
    overflow: hidden;
    color: #fff;
    isolation: isolate;
}
.overhaul-hero .hero-media {
    position: absolute; inset: 0;
    background-image: url('/banner/ILBRC%20homeIMAGE.jpeg');
    background-size: cover; background-position: center;
    transform: scale(1.08);
    animation: kenBurns 22s ease-in-out infinite alternate;
    /* Brighten & warm the image slightly for a livelier feel */
    filter: brightness(1.08) saturate(1.1) contrast(1.02);
    z-index: -3;
}
@keyframes kenBurns {
    0%   { transform: scale(1.08) translate(0,0); }
    100% { transform: scale(1.18) translate(-2%, -1%); }
}
.overhaul-hero::before {
    content:""; position:absolute; inset:0; z-index:-2;
    background:
        linear-gradient(120deg, rgba(40,25,90,.82) 0%, rgba(48,112,176,.70) 45%, rgba(8,176,184,.55) 100%),
        /* Bottom-up dark scrim for text legibility */
        linear-gradient(to top, rgba(10,8,30,.55) 0%, rgba(10,8,30,.25) 40%, transparent 70%);
}
.overhaul-hero::after {
    content:""; position:absolute; inset:0; z-index:-1;
    background:
        radial-gradient(55% 55% at 15% 20%, rgba(8,176,184,.30), transparent 60%),
        radial-gradient(45% 45% at 85% 80%, rgba(248,184,72,.22), transparent 60%),
        radial-gradient(40% 40% at 50% 50%, rgba(48,176,40,.15), transparent 70%);
    animation: auraShift 14s ease-in-out infinite alternate;
    filter: blur(6px);
}
@keyframes auraShift {
    0%   { transform: translate(0,0); opacity: .9; }
    100% { transform: translate(3%, -2%); opacity: 1; }
}

.overhaul-hero .hero-inner { position: relative; padding: 4.5rem 0 3.5rem; width:100%; }

/* Content column: soft frosted backdrop so text always reads over image */
.overhaul-hero .hero-copy {
    max-width: 600px;
    padding: 1.6rem 1.75rem;
    background: linear-gradient(135deg, rgba(20,14,55,.55) 0%, rgba(20,14,55,.25) 100%);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 20px;
    box-shadow: 0 30px 60px rgba(10,8,30,.35);
}

.overhaul-hero .hero-tag {
    display: inline-block;
    background: rgba(255,255,255,.15);
    border: 1px solid rgba(255,255,255,.4);
    color: #fff !important;
    padding: .4rem 1rem;
    border-radius: 999px;
    letter-spacing: .14em;
    font-size: .78rem; font-weight: 700;
    backdrop-filter: blur(6px);
    text-transform: uppercase;
}

/* Tighter, more disciplined H1 stack */
.overhaul-hero h1 {
    font-family: 'Playfair Display', serif;
    font-weight: 800;
    font-size: clamp(1.7rem, 3.4vw, 2.8rem);
    line-height: 1.1;
    margin: .9rem 0 .85rem;
    color: #ffffff !important;
    text-shadow: 0 2px 4px rgba(0,0,0,.55), 0 8px 32px rgba(0,0,0,.45);
    letter-spacing: -.01em;
}
.overhaul-hero h1 .edition {
    display: block;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: .42em;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--c-yellow);
    margin-bottom: .35rem;
    text-shadow: 0 2px 12px rgba(0,0,0,.5);
}
.overhaul-hero h1 .theme-line {
    display: block;
    font-size: 1em;
    line-height: 1.05;
}
.overhaul-hero h1 .accent { color: var(--c-yellow); }

.overhaul-hero .lead {
    max-width: 540px;
    color: rgba(255,255,255,.96) !important;
    font-size: .98rem;
    line-height: 1.55;
    margin-bottom: 0;
    text-shadow: 0 2px 10px rgba(0,0,0,.4);
}
.overhaul-hero .hero-cta { display:flex; gap:.75rem; flex-wrap:wrap; margin-top: 1.5rem; }

@media (max-width: 576px) {
    .overhaul-hero .hero-copy { padding: 1.4rem 1.25rem; border-radius: 18px; }
    .overhaul-hero h1 { font-size: clamp(1.7rem, 8vw, 2.4rem); }
}

/* Logo lockup on hero */
.hero-logos {
    margin-top: 2.5rem;
    display: flex; align-items: center; gap: 1rem; flex-wrap: nowrap;
    padding: 1rem 1.25rem;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 16px;
    backdrop-filter: blur(10px);
    max-width: 100%;
    width: fit-content;
    animation: floatIn 1s .3s ease-out backwards;
}
.hero-logos .lockup-label { color: #fff; opacity:.85; font-size:.75rem; letter-spacing:.14em; text-transform: uppercase; white-space: nowrap; flex: 0 0 auto; }
.hero-logos img {
    height: 56px; width: auto; max-width: 140px; object-fit: contain; background: #fff;
    padding: 6px 10px; border-radius: 10px;
    box-shadow: 0 6px 18px rgba(0,0,0,.25);
    transition: transform .3s ease;
    flex: 0 0 auto;
}
.hero-logos img:hover { transform: translateY(-3px) scale(1.03); }
.hero-logos .logo-divider { width:1px; height:40px; background: rgba(255,255,255,.4); }

@keyframes floatIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }

/* Scroll cue */
.hero-scroll-cue {
    position:absolute; bottom: 1.5rem; left:50%; transform: translateX(-50%);
    color:#fff; opacity:.85; font-size:.75rem; letter-spacing:.2em;
}
.hero-scroll-cue .dot {
    display:block; width:22px; height:36px; margin: .4rem auto 0;
    border: 2px solid #fff; border-radius: 14px; position:relative;
}
.hero-scroll-cue .dot::before {
    content:""; position:absolute; top:6px; left:50%; transform: translateX(-50%);
    width:3px; height:8px; background:#fff; border-radius: 3px;
    animation: scrollDot 1.6s ease-in-out infinite;
}
@keyframes scrollDot {
    0%,100% { opacity:0; transform: translate(-50%, 0); }
    50%     { opacity:1; transform: translate(-50%, 8px); }
}

/* ---------- Welcome address blocks (Chair / President) ---------- */
.welcome-block { padding: 5rem 0; }
.welcome-block > .container { max-width: 1320px; }
.welcome-block.alt { background: var(--c-bg-soft); }
.welcome-card {
    display: grid;
    grid-template-columns: minmax(220px, 320px) 1fr;
    gap: 2.5rem;
    align-items: center;
    background: #fff;
    padding: 2rem;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-soft);
    position: relative;
    overflow: hidden;
}
.welcome-card::before {
    content:""; position:absolute; top:0; left:0; width:6px; height:100%;
    background: var(--grad-primary);
}
.welcome-card.cehdar::before { background: var(--grad-cehdar); }
.welcome-portrait {
    aspect-ratio: 3/4; border-radius: 18px; overflow: hidden;
    background: var(--grad-primary);
    display:flex; align-items:center; justify-content:center;
    color:#fff; font-family: 'Playfair Display', serif; font-size: 3rem;
    box-shadow: 0 15px 35px rgba(64,48,144,.25);
    position: relative;
}
.welcome-card.cehdar .welcome-portrait { background: var(--grad-cehdar); color: #1b1b1b; }
.welcome-portrait img { width:100%; height:100%; object-fit: cover; display:block; }
.welcome-eyebrow {
    color: var(--c-accent); font-weight:700; letter-spacing:.14em; text-transform: uppercase; font-size:.8rem;
}
.welcome-card.cehdar .welcome-eyebrow { color: var(--c-green); }
.welcome-title { font-family: 'Playfair Display', serif; font-size: clamp(1.6rem, 2.5vw, 2.2rem); color: var(--c-primary); margin: .3rem 0 1rem; }
.welcome-card.cehdar .welcome-title { color: #a06a00; }
.welcome-body p { color: var(--c-muted); line-height: 1.75; }
.welcome-sign { margin-top: 1rem; font-weight: 700; color: var(--c-ink); }
.welcome-sign small { display:block; font-weight: 500; color: var(--c-muted); }

@media (max-width: 768px) {
    .welcome-card { grid-template-columns: 1fr; gap: 1.5rem; padding: 1.5rem; }
    .welcome-portrait { max-width: 240px; margin: 0 auto; }
}

/* ---------- Countdown ---------- */
.countdown-section {
    padding: 5rem 0;
    background: var(--grad-primary);
    color: #fff; position: relative; overflow: hidden;
}
.countdown-section::before {
    content:""; position:absolute; inset:0;
    background:
        radial-gradient(circle at 20% 30%, rgba(248,184,72,.25), transparent 40%),
        radial-gradient(circle at 80% 70%, rgba(48,176,40,.25), transparent 40%);
    animation: auraShift 14s ease-in-out infinite alternate;
    pointer-events:none;
}
.countdown-section .container { position: relative; }
.countdown-eyebrow { text-align:center; letter-spacing:.2em; text-transform: uppercase; opacity:.85; font-size:.85rem; }
.countdown-heading {
    text-align:center; font-family:'Playfair Display', serif; font-size: clamp(1.8rem, 3.5vw, 2.8rem);
    margin: .5rem 0 2rem;
}
.countdown-grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem;
    max-width: 900px; margin: 0 auto;
}
.countdown-cell {
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.25);
    backdrop-filter: blur(10px);
    border-radius: var(--radius-lg);
    padding: 1.5rem 1rem;
    text-align: center;
    transition: transform .3s ease;
    position: relative; overflow: hidden;
}
.countdown-cell::before {
    content:""; position:absolute; top:-2px; left:-2px; right:-2px; bottom:-2px;
    background: conic-gradient(from 0deg, var(--c-yellow), var(--c-accent), var(--c-green), var(--c-yellow));
    z-index:-1; border-radius: var(--radius-lg);
    opacity:0; transition: opacity .3s ease;
    animation: spinBorder 6s linear infinite;
}
.countdown-cell:hover::before { opacity: .6; }
@keyframes spinBorder { to { transform: rotate(1turn); } }
.countdown-num {
    font-family:'Playfair Display', serif; font-size: clamp(2.4rem, 5vw, 4rem); font-weight: 800; line-height: 1;
    display:inline-block; transition: transform .4s ease;
}
.countdown-num.flip { animation: flipNum .5s ease; }
@keyframes flipNum { 0%{transform: rotateX(0);} 50%{transform: rotateX(90deg); opacity:0;} 100%{transform: rotateX(0); opacity:1;} }
.countdown-label { display:block; margin-top:.3rem; letter-spacing:.14em; text-transform:uppercase; font-size:.75rem; opacity:.85; }
.countdown-meta {
    text-align:center; margin-top: 2rem; font-size:.95rem;
}
.countdown-meta strong { color: var(--c-yellow); }
@media (max-width: 576px) { .countdown-grid { grid-template-columns: repeat(2, 1fr); } }

/* ---------- Theme / About strip ---------- */
.theme-strip {
    padding: 4rem 0;
    background:
        linear-gradient(135deg, rgba(64,48,144,.03), rgba(8,176,184,.05));
}
.theme-badge {
    display:inline-block; background: var(--grad-cehdar); color:#1b1b1b;
    padding:.35rem 1rem; border-radius:999px; font-weight:700; letter-spacing:.08em; font-size:.8rem;
}
.theme-quote {
    font-family:'Playfair Display', serif;
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    color: var(--c-primary); line-height: 1.25; margin: 1rem 0 1.5rem;
}
.fact-pill {
    display:inline-flex; align-items:center; gap:.6rem;
    background:#fff; padding:.75rem 1.1rem; border-radius:999px;
    box-shadow: var(--shadow-soft); font-weight:600; color: var(--c-ink);
}
.fact-pill i { color: var(--c-accent); font-size: 1.2rem; }

/* ---------- Sponsors strip on home ---------- */
.sponsors-strip { padding: 4rem 0; text-align:center; }
.sponsors-strip .sponsor-grid {
    display:flex; flex-wrap:wrap; justify-content:center; gap: 1.5rem;
    margin: 2rem 0;
}
.sponsors-strip .sponsor-grid img {
    height: 70px; width: auto; max-width: 180px; object-fit: contain;
    filter: grayscale(1) opacity(.7);
    transition: filter .3s ease, transform .3s ease;
}
.sponsors-strip .sponsor-grid img:hover { filter: none; transform: translateY(-3px) scale(1.05); }

/* ---------- Section reveal-on-scroll (works with existing .section blocks) ---------- */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .8s ease, transform .8s ease; }
.reveal.in { opacity: 1; transform: none; }

/* ---------- Improved footer ---------- */
.site-footer.site-footer-v2 {
    background: linear-gradient(135deg, #1a1533 0%, #201a45 50%, #0f2a4a 100%) !important;
    color: #dcdaf0 !important;
    position: relative; overflow:hidden;
}
.site-footer.site-footer-v2::before {
    content:""; position:absolute; inset:0;
    background:
        radial-gradient(circle at 10% 0%, rgba(8,176,184,.15), transparent 40%),
        radial-gradient(circle at 90% 100%, rgba(248,184,72,.10), transparent 40%);
    pointer-events:none;
}
.site-footer .footer-accent { height:4px; background: var(--grad-primary); }
.site-footer .footer-brand-name { color:#fff; font-weight:800; font-size:1.15rem; }
.site-footer .footer-brand-sub { color:#a9a4c9; }
.site-footer .footer-heading {
    color:#fff; font-weight:700; text-transform:uppercase; letter-spacing:.12em; font-size:.85rem;
    padding-bottom:.6rem; border-bottom: 2px solid rgba(255,255,255,.08); margin-bottom: 1rem;
}
.site-footer .footer-links a, .site-footer .footer-contact a {
    color:#c8c4e6; text-decoration:none; transition: color .2s ease, transform .2s ease;
    display:inline-flex; align-items:center; gap:.35rem;
}
.site-footer .footer-links a:hover, .site-footer .footer-contact a:hover {
    color: var(--c-yellow); transform: translateX(3px);
}
.site-footer .footer-links li { margin-bottom:.4rem; }
.site-footer .fc-ico {
    width:32px; height:32px; border-radius:8px; display:inline-flex; align-items:center; justify-content:center;
    background: rgba(255,255,255,.06); color: var(--c-yellow); margin-right:.6rem;
}
.site-footer .footer-social a {
    width:38px; height:38px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
    background: rgba(255,255,255,.08); color:#fff; margin-right:.4rem; transition: all .2s ease;
}
.site-footer .footer-social a:hover { background: var(--grad-primary); transform: translateY(-2px); }
.site-footer .footer-bottom {
    border-top: 1px solid rgba(255,255,255,.08);
    padding: 1rem 0 .5rem; margin-top: 2rem; color:#a9a4c9;
}

/* ---------- Themed inner-page hero (Media, Exhibition, etc.) ---------- */
.page-hero {
    padding: 6rem 0 4rem; color:#fff; text-align:center; position:relative; overflow:hidden;
    background: var(--grad-primary);
}
.page-hero::before {
    content:""; position:absolute; inset:0;
    background:
        radial-gradient(circle at 20% 30%, rgba(248,184,72,.20), transparent 40%),
        radial-gradient(circle at 80% 70%, rgba(48,176,40,.20), transparent 40%);
    animation: auraShift 12s ease-in-out infinite alternate;
}
.page-hero .container { position:relative; }
.page-hero h1 { font-family: 'Playfair Display', serif; font-size: clamp(2rem, 4vw, 3rem); }
.page-hero p { max-width: 720px; margin: .5rem auto 0; opacity:.9; }

.coming-soon-card {
    max-width: 720px; margin: -3rem auto 4rem; padding: 3rem 2rem;
    background: #fff; border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lift); text-align:center; position:relative; z-index: 2;
}
.coming-soon-card .cs-icon {
    width:72px; height:72px; border-radius:50%; margin: 0 auto 1rem;
    display:inline-flex; align-items:center; justify-content:center;
    background: var(--grad-primary); color:#fff; font-size:2rem;
    animation: pulseRing 2.4s ease-in-out infinite;
}
@keyframes pulseRing {
    0%,100% { box-shadow: 0 0 0 0 rgba(64,48,144,.45); }
    50%     { box-shadow: 0 0 0 18px rgba(64,48,144,0); }
}
.coming-soon-card h2 { color: var(--c-primary); font-family: 'Playfair Display', serif; }

/* =========================================================================
   PHASE 2 OVERRIDES — retheme legacy classes (About / Contact / Sponsors /
   Registration) to the 2027 palette. Loaded last so specificity wins.
   ========================================================================= */

/* Legacy hero classes used by About, Contact, Sponsors "Become", etc. */
.hero,
.section-hero,
.registration-hero,
.become-hero {
    background: var(--grad-primary) !important;
    color: #fff !important;
    position: relative;
    overflow: hidden;
    isolation: isolate;
}
.hero::after,
.section-hero::after,
.registration-hero::after,
.become-hero::after {
    content: ""; position: absolute; inset: 0; z-index: -1;
    background:
        radial-gradient(60% 60% at 20% 30%, rgba(8,176,184,.28), transparent 60%),
        radial-gradient(50% 50% at 85% 75%, rgba(248,184,72,.22), transparent 60%),
        radial-gradient(45% 45% at 55% 55%, rgba(48,176,40,.18), transparent 70%);
    animation: auraShift 12s ease-in-out infinite alternate;
    pointer-events: none;
}
.hero h1,
.section-hero h1,
.registration-hero h1,
.become-hero h1 {
    color: #fff !important;
    font-family: 'Playfair Display', serif !important;
    text-shadow: 0 4px 24px rgba(0,0,0,.3);
}
.hero .lead,
.section-hero .lead,
.registration-hero .lead,
.become-hero .lead { color: rgba(255,255,255,.94) !important; opacity: 1 !important; }
.hero .hero-tag,
.section-hero .hero-tag,
.registration-hero .hero-tag,
.become-hero .become-hero-tag {
    background: rgba(255,255,255,.14) !important;
    border: 1px solid rgba(255,255,255,.35) !important;
    color: #fff !important;
    backdrop-filter: blur(6px);
    letter-spacing: .12em;
}
.adinkra-accent { opacity: .10 !important; }

/* About page: kickers, headings, pillar cards, theme chips */
.about-kicker { background: rgba(64,48,144,.08) !important; color: var(--c-primary) !important; border-color: rgba(64,48,144,.2) !important; }
.about-kicker i, .about-h i.text-gold, .about-h i { color: var(--c-accent) !important; }
.about-h, .contact-info-head h3, .contact-form-head h3, .about-lead-text { color: var(--c-primary) !important; }
.contact-kicker { background: rgba(8,176,184,.08) !important; color: var(--c-accent) !important; border-color: rgba(8,176,184,.25) !important; }
.pillar-card { border-radius: 16px !important; border: 1px solid rgba(64,48,144,.08) !important; transition: transform .3s ease, box-shadow .3s ease; }
.pillar-card:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(64,48,144,.15) !important; }
.pillar-icon {
    width: 56px; height: 56px; border-radius: 14px;
    background: var(--grad-primary) !important; color: #fff !important;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 1.5rem; margin-bottom: 1rem;
}
.pillar-card h5 { color: var(--c-primary) !important; }
.theme-chip {
    background: #fff !important; border: 1px solid rgba(64,48,144,.12) !important;
    color: var(--c-ink) !important; border-radius: 999px !important;
    box-shadow: 0 4px 12px rgba(64,48,144,.06);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.theme-chip:hover { transform: translateY(-2px); border-color: var(--c-accent) !important; box-shadow: 0 8px 20px rgba(8,176,184,.18); }
.theme-chip i { color: var(--c-accent) !important; }
.glance-card {
    background: #fff !important; border-radius: var(--radius-lg) !important;
    box-shadow: var(--shadow-soft) !important;
    border: 1px solid rgba(64,48,144,.06) !important;
}
.glance-head i, .glance-list i, .glance-head h5 { color: var(--c-primary) !important; }

/* Contact page cards + form */
.contact-info-card, .contact-form-card {
    background: #fff !important; border-radius: var(--radius-lg) !important;
    box-shadow: var(--shadow-soft) !important;
    border: 1px solid rgba(64,48,144,.06) !important;
    padding: 2rem !important;
}
.contact-info-head i.ph-fill, .contact-form-head i.ph-fill { color: var(--c-accent) !important; }
.contact-line { transition: background .2s ease, transform .2s ease; border-radius: 12px; padding: .6rem .5rem; text-decoration: none; }
.contact-line:hover { background: var(--c-primary-050); transform: translateX(3px); }
.contact-ic {
    width: 42px; height: 42px; border-radius: 12px;
    background: var(--grad-primary) !important; color: #fff !important;
    display: inline-flex; align-items: center; justify-content: center; font-size: 1.1rem;
    margin-right: .8rem;
}
.contact-line strong { color: var(--c-primary) !important; }
.contact-socials a {
    width: 40px; height: 40px; border-radius: 50%;
    background: var(--c-primary-050) !important; color: var(--c-primary) !important;
    display: inline-flex; align-items: center; justify-content: center;
    margin-right: .4rem; transition: all .2s ease;
}
.contact-socials a:hover { background: var(--grad-primary) !important; color: #fff !important; transform: translateY(-2px); }
.contact-form .form-control, .contact-form .form-select {
    border: 1.5px solid rgba(64,48,144,.15) !important;
    border-radius: 10px !important; padding: .7rem .9rem !important;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.contact-form .form-control:focus, .contact-form .form-select:focus {
    border-color: var(--c-primary) !important;
    box-shadow: 0 0 0 4px rgba(64,48,144,.12) !important;
}
.contact-form .form-label { color: var(--c-primary); font-weight: 600; }
.contact-form .form-label i { color: var(--c-accent) !important; margin-right: .3rem; }

/* Sponsors: Become-a-Sponsor CTA card (the dark one in screenshot) */
.sponsor-cta {
    background: linear-gradient(135deg, #ffffff 0%, #f7f6fc 100%) !important;
    border: 1px solid rgba(64,48,144,.10) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: 0 20px 50px rgba(64,48,144,.15) !important;
    color: var(--c-ink) !important;
    position: relative; overflow: hidden;
    padding: 3rem 2.5rem !important;
    margin-top: 3rem;
}
.sponsor-cta::before {
    content: ""; position: absolute; top:0; left:0; right:0; height: 6px;
    background: var(--grad-primary);
}
.sponsor-cta-glow {
    position: absolute; width: 320px; height: 320px; border-radius: 50%;
    background: radial-gradient(circle, rgba(8,176,184,.25), transparent 70%);
    top: -80px; right: -80px; filter: blur(30px); pointer-events: none;
    animation: auraShift 10s ease-in-out infinite alternate;
}
.sponsor-cta-inner { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 2rem; align-items: center; }
.sponsor-cta-icon {
    width: 96px; height: 96px; border-radius: 24px;
    background: var(--grad-cehdar) !important; color: #1b1b1b !important;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 3rem;
    box-shadow: 0 15px 35px rgba(248,184,72,.35);
    animation: iconFloat 3.5s ease-in-out infinite;
}
@keyframes iconFloat { 0%,100%{transform:translateY(0) rotate(-2deg);} 50%{transform:translateY(-6px) rotate(2deg);} }
.sponsor-cta-body h2 {
    color: var(--c-primary) !important;
    font-family: 'Playfair Display', serif !important;
    font-size: clamp(1.6rem, 3vw, 2.2rem) !important;
    margin-bottom: .5rem;
}
.sponsor-cta-body p { color: var(--c-muted) !important; font-size: 1.05rem; margin-bottom: 1.25rem; }
.sponsor-cta-actions { display: flex; gap: .75rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
.sponsor-cta-actions .btn-premium-accent {
    background: var(--grad-primary) !important; color: #fff !important;
    border: 0 !important; padding: .75rem 1.5rem !important;
    border-radius: 999px !important; font-weight: 600 !important;
    text-decoration: none !important;
    box-shadow: 0 10px 24px rgba(64,48,144,.35);
    transition: transform .25s ease, box-shadow .25s ease;
    display: inline-flex; align-items: center; gap: .5rem;
}
.sponsor-cta-actions .btn-premium-accent:hover { transform: translateY(-2px); box-shadow: 0 16px 32px rgba(64,48,144,.45); color: #fff !important; }
.sponsor-cta-actions .btn-outline-gold {
    background: transparent !important;
    color: var(--c-primary) !important;
    border: 2px solid var(--c-primary) !important;
    padding: .65rem 1.4rem !important; border-radius: 999px !important;
    font-weight: 600 !important; text-decoration: none !important;
    display: inline-flex; align-items: center; gap: .5rem;
    transition: all .25s ease;
}
.sponsor-cta-actions .btn-outline-gold:hover {
    background: var(--c-primary) !important; color: #fff !important;
    text-decoration: none !important;
}
.sponsor-tiers-preview { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; align-items: center; }
.sponsor-tiers-preview > div { display: inline-flex; align-items: center; gap: .5rem; font-weight: 600; color: var(--c-ink) !important; }

/* Sponsor tier chips */
.sponsor-tier {
    display: inline-block; padding: .3rem .85rem; border-radius: 999px;
    font-weight: 800; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase;
    box-shadow: 0 4px 10px rgba(0,0,0,.08);
}
.sponsor-tier.tier-platinum { background: linear-gradient(135deg, #E5E4E2, #B7B7B7) !important; color: #333 !important; }
.sponsor-tier.tier-gold     { background: var(--grad-cehdar) !important; color: #1b1b1b !important; }
.sponsor-tier.tier-silver   { background: linear-gradient(135deg, #DCDCDC, #9C9C9C) !important; color: #333 !important; }
.sponsor-tier.tier-bronze   { background: linear-gradient(135deg, var(--c-tan), #8f6a48) !important; color: #fff !important; }

@media (max-width: 720px) {
    .sponsor-cta-inner { grid-template-columns: 1fr; text-align: center; }
    .sponsor-cta-icon { margin: 0 auto; }
    .sponsor-cta-actions { justify-content: center; }
}

/* Registration overrides */
.registration-hero { background: var(--grad-primary) !important; }
.registration-page h3, .reg-section-title, .section-heading, .step-heading {
    color: var(--c-primary) !important;
}
.registration-page h3 i, .reg-section-title i, .section-heading i { color: var(--c-accent) !important; }
.text-green, .text-gold { color: var(--c-primary) !important; }
.text-green i, .text-gold i { color: var(--c-accent) !important; }

.ticket-card { border: 2px solid rgba(64,48,144,.15) !important; transition: all .25s ease; }
.ticket-card:hover { border-color: var(--c-accent) !important; box-shadow: 0 10px 28px rgba(8,176,184,.15) !important; transform: translateY(-3px); }
.ticket-card.is-selected {
    border-color: var(--c-primary) !important;
    background: linear-gradient(180deg, #f6f2ff 0%, #ffffff 100%) !important;
    box-shadow: 0 12px 32px rgba(64,48,144,.20) !important;
}
.ticket-card.is-selected::after {
    background: var(--c-primary) !important;
    box-shadow: 0 4px 10px rgba(64,48,144,.35) !important;
}

.confirm-summary {
    background: #f7f6fc !important;
    border-color: rgba(64,48,144,.12) !important;
    border-radius: var(--radius-md) !important;
}
.confirm-summary .cs-row { border-bottom-color: rgba(64,48,144,.08) !important; }
.confirm-summary .cs-row > i {
    background: var(--c-primary-050) !important;
    color: var(--c-primary) !important;
}
.confirm-summary .cs-k { color: var(--c-muted) !important; }
.confirm-summary .cs-v { color: var(--c-primary) !important; }
.confirm-summary .cs-row.cs-total {
    background: linear-gradient(90deg, rgba(64,48,144,.06), rgba(8,176,184,.06)) !important;
    border-top-color: rgba(64,48,144,.15) !important;
}
.confirm-summary .cs-row.cs-total .cs-v { color: var(--c-primary) !important; font-size: 1.25rem !important; }

/* Green side-panel on Registration page */
.registration-aside, .reg-summary-aside, .reg-side, .side-panel-dark, .info-panel-green, .reg-side-panel {
    background: var(--grad-primary) !important;
    color: #fff !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: var(--shadow-lift) !important;
}
.registration-aside i, .reg-summary-aside i, .reg-side-panel i { color: var(--c-yellow) !important; }
.registration-aside strong, .reg-summary-aside strong { color: var(--c-yellow) !important; }

/* Premium buttons + inputs used on Sponsors & Registration */
.btn-premium, .btn-premium-accent {
    background: var(--grad-primary) !important; color: #fff !important;
    border: 0 !important; border-radius: 999px !important; font-weight: 600 !important;
    padding: .7rem 1.4rem !important;
    box-shadow: 0 8px 20px rgba(64,48,144,.30);
    transition: transform .25s ease, box-shadow .25s ease;
    text-decoration: none !important;
    display: inline-flex; align-items: center; gap: .5rem;
}
.btn-premium:hover, .btn-premium-accent:hover {
    transform: translateY(-2px); color: #fff !important;
    box-shadow: 0 14px 30px rgba(64,48,144,.42);
}
.input-premium, .textarea-premium, .select-premium {
    border: 1.5px solid rgba(64,48,144,.15) !important;
    border-radius: 10px !important;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.input-premium:focus, .textarea-premium:focus, .select-premium:focus {
    border-color: var(--c-primary) !important;
    box-shadow: 0 0 0 4px rgba(64,48,144,.12) !important;
    outline: none !important;
}
.label-premium { color: var(--c-primary) !important; font-weight: 600 !important; }
.label-premium i { color: var(--c-accent) !important; }

/* Typewriter effect */
[data-typewriter] {
    display: inline-block;
    white-space: pre-wrap;
    border-right: 3px solid var(--c-yellow);
    animation: caretBlink .9s steps(2) infinite;
    min-height: 1.1em;
}
[data-typewriter].tw-done { border-right-color: transparent; animation: none; }
@keyframes caretBlink { 50% { border-right-color: transparent; } }

/* ================================================================
   Welcome video sections beneath each address
   ================================================================ */
.welcome-media-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
    max-width: 960px;
    margin: 1rem auto 0;
}
.welcome-video {
    padding: .9rem;
    background: #fff;
    border: 1px solid rgba(64,48,144,.10);
    border-radius: 16px;
    box-shadow: var(--shadow-soft);
}
.welcome-video-label {
    font-weight: 700;
    color: var(--c-primary);
    margin-bottom: .5rem;
    display: flex; align-items: center; gap: .5rem;
    font-size: .95rem;
}
.welcome-video-label::before {
    content: "\25B6";
    color: var(--c-yellow);
    font-size: .75rem;
}
.welcome-video .video-frame {
    position: relative;
    aspect-ratio: 16 / 9;
    border-radius: 12px;
    overflow: hidden;
    background: #0a0820;
    max-width: 420px;
}
.welcome-video video {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    object-fit: cover;
}

/* Uniform welcome cards: portrait + text + compact side video */
.welcome-card,
.welcome-card.cehdar {
    display: grid;
    grid-template-columns: 200px 1fr 340px;
    gap: 1.75rem;
    align-items: start;
    max-width: 1280px;
    margin: 0 auto;
    padding: 1.75rem 2rem;
    background: #fff;
    border-radius: 22px;
    box-shadow: var(--shadow-soft);
    border-left: 5px solid var(--c-primary);
}
.welcome-card.cehdar { border-left-color: var(--c-yellow); }
.welcome-card .welcome-portrait {
    width: 180px;
    aspect-ratio: 1 / 1;
    border-radius: 14px;
    overflow: hidden;
    background: var(--grad-primary);
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-weight: 800; font-size: 2.2rem;
}
.welcome-card.cehdar .welcome-portrait { background: var(--grad-cehdar); }
.welcome-card .welcome-portrait img { width: 100%; height: 100%; object-fit: cover; }
.welcome-card .welcome-body { min-width: 0; }
.welcome-card .welcome-side-video {
    width: 320px;
    padding: .75rem;
    background: #f7f6fc;
    border: 1px solid rgba(64,48,144,.10);
    border-radius: 14px;
}
.welcome-card .welcome-side-video .video-frame {
    position: relative;
    aspect-ratio: 16 / 9;
    border-radius: 10px;
    overflow: hidden;
    background: #0a0820;
}
.welcome-card .welcome-side-video video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.welcome-card .welcome-side-video .welcome-video-label { margin-bottom: .5rem; font-size: .85rem; }
@media (max-width: 991px) {
    .welcome-card, .welcome-card.cehdar { grid-template-columns: 160px 1fr; }
    .welcome-card .welcome-side-video { grid-column: 1 / -1; width: 100%; }
}
@media (max-width: 640px) {
    .welcome-card, .welcome-card.cehdar { grid-template-columns: 1fr; }
    .welcome-card .welcome-portrait { width: 140px; margin: 0 auto; }
}

/* ================================================================
   intl-tel-input harmonization with .input-premium
   ================================================================ */
.iti { display: block !important; width: 100%; }
.iti__flag-container { z-index: 5; }
.iti input.input-premium,
.iti input[type=tel].input-premium {
    padding-left: 92px !important;
}
.iti--separate-dial-code .iti__selected-flag {
    background: #f7f6fc;
    border-right: 1px solid rgba(64,48,144,.15);
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
    padding: 0 10px;
}
.iti--separate-dial-code .iti__selected-dial-code {
    color: var(--c-primary);
    font-weight: 700;
    margin-left: 6px;
}
.iti__country-list {
    max-height: 260px;
    border-radius: 12px;
    box-shadow: var(--shadow-lift);
    border: 1px solid rgba(64,48,144,.12);
}

/* ================================================================
   Sponsors / Become page \u2013 differentiated tier cards, accessible
   ================================================================ */
.tier-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
    margin-top: 1.25rem;
}
.tier-card {
    position: relative;
    display: flex; flex-direction: column;
    padding: 1.25rem 1.1rem 1.1rem;
    background: #fff;
    border: 2px solid rgba(64,48,144,.12);
    border-radius: 16px;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    outline: none;
}
.tier-card:hover, .tier-card:focus-visible {
    transform: translateY(-3px);
    box-shadow: var(--shadow-lift);
    border-color: var(--c-primary);
}
.tier-card input[type=radio] {
    position: absolute; opacity: 0; pointer-events: none;
}
.tier-card .tier-head {
    display: flex; align-items: center; justify-content: space-between;
    gap: .5rem;
    margin-bottom: .35rem;
}
.tier-card .tier-name {
    font-weight: 800; font-size: 1.05rem; letter-spacing: .02em; text-transform: uppercase;
}
.tier-card .tier-price {
    font-family: 'Playfair Display', serif;
    font-size: 1.35rem; font-weight: 700; color: var(--c-primary);
}
.tier-card .tier-tag {
    display: inline-block; font-size: .72rem; font-weight: 700;
    padding: .2rem .55rem; border-radius: 999px;
    background: rgba(64,48,144,.08); color: var(--c-primary);
    margin-bottom: .5rem;
}
.tier-card .tier-desc { color: var(--c-muted); font-size: .9rem; margin: 0 0 .6rem; }
.tier-card .tier-perks { list-style: none; padding: 0; margin: 0; }
.tier-card .tier-perks li {
    position: relative; padding-left: 1.4rem; margin-bottom: .35rem;
    font-size: .88rem; line-height: 1.35; color: #2a2a3a;
}
.tier-card .tier-perks li::before {
    content: "\2713"; position: absolute; left: 0; top: 0;
    width: 1rem; height: 1rem; border-radius: 50%;
    background: var(--c-green); color: #fff;
    font-size: .7rem; font-weight: 800;
    display: flex; align-items: center; justify-content: center;
}
.tier-card.is-selected {
    border-color: var(--c-primary);
    box-shadow: 0 0 0 4px rgba(64,48,144,.15), var(--shadow-lift);
}
.tier-card .tier-check {
    position: absolute; top: .75rem; right: .75rem;
    width: 22px; height: 22px; border-radius: 50%;
    border: 2px solid rgba(64,48,144,.3);
    background: #fff;
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: .75rem;
}
.tier-card.is-selected .tier-check {
    background: var(--c-primary); border-color: var(--c-primary);
}
.tier-card.is-selected .tier-check::before { content: "\2713"; }

/* Tier accents */
.tier-card.tier-platinum { border-top: 4px solid #6b7a8f; }
.tier-card.tier-platinum .tier-tag { background: #e6ecf3; color: #3c4a5e; }
.tier-card.tier-gold { border-top: 4px solid var(--c-yellow); }
.tier-card.tier-gold .tier-tag { background: #fdf1d5; color: #8a6100; }
.tier-card.tier-silver { border-top: 4px solid #b7bcc3; }
.tier-card.tier-silver .tier-tag { background: #eef0f3; color: #4a5058; }
.tier-card.tier-bronze { border-top: 4px solid #c78952; }
.tier-card.tier-bronze .tier-tag { background: #fbe9d8; color: #7a4315; }

/* ================================================================
   Dynamic tier perks panel (Sponsors/Become)
   ================================================================ */
.perk-tier-head { display:flex; align-items:center; justify-content:space-between; gap:.75rem; margin:.5rem 0 .35rem; }
.perk-tier-badge { display:inline-block; padding:.35rem .8rem; border-radius:999px; font-weight:800; font-size:.85rem; letter-spacing:.06em; text-transform:uppercase; background:#ece8fb; color:var(--c-primary); }
.perk-tier-badge.tier-platinum { background:#e6ecf3; color:#3c4a5e; }
.perk-tier-badge.tier-gold { background:#fdf1d5; color:#8a6100; }
.perk-tier-badge.tier-silver { background:#eef0f3; color:#4a5058; }
.perk-tier-badge.tier-bronze { background:#fbe9d8; color:#7a4315; }
.perk-tier-price { font-family:'Playfair Display',serif; font-size:1.5rem; font-weight:800; color:var(--c-primary); }
.perk-tier-desc { color:var(--c-muted); margin:0 0 .75rem; font-size:.95rem; }
.perk-list.is-animating li { animation: perkFadeIn .35s ease both; }
.perk-list.is-animating li:nth-child(1){animation-delay:.02s}
.perk-list.is-animating li:nth-child(2){animation-delay:.08s}
.perk-list.is-animating li:nth-child(3){animation-delay:.14s}
.perk-list.is-animating li:nth-child(4){animation-delay:.20s}
.perk-list.is-animating li:nth-child(5){animation-delay:.26s}
.perk-list.is-animating li:nth-child(6){animation-delay:.32s}
.perk-list.is-animating li:nth-child(7){animation-delay:.38s}
@keyframes perkFadeIn { from { opacity:0; transform:translateX(-8px);} to { opacity:1; transform:none;} }

.tier-picker-strip { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1rem; }
.tier-pick { flex:1 1 130px; border:2px solid rgba(64,48,144,.15); background:#fff; border-radius:12px; padding:.55rem .7rem; font-weight:700; text-align:center; cursor:pointer; transition:all .2s ease; display:flex; flex-direction:column; align-items:center; line-height:1.15; color: var(--c-ink); }
.tier-pick small { display:block; font-weight:600; color:var(--c-muted); font-size:.78rem; margin-top:.15rem; }
.tier-pick:hover { transform:translateY(-2px); box-shadow:var(--shadow-soft); }
.tier-pick.is-selected { border-color:var(--c-primary); background:linear-gradient(135deg, rgba(64,48,144,.08), rgba(8,176,184,.08)); box-shadow:0 0 0 3px rgba(64,48,144,.12); }
.tier-pick.tier-platinum.is-selected { border-color:#6b7a8f; }
.tier-pick.tier-gold.is-selected { border-color:var(--c-yellow); }
.tier-pick.tier-silver.is-selected { border-color:#b7bcc3; }
.tier-pick.tier-bronze.is-selected { border-color:#c78952; }

/* ================================================================
   Contact page — animations & polish
   ================================================================ */
.contact-section { position:relative; overflow:hidden; }
.contact-section::before, .contact-section::after {
    content:""; position:absolute; border-radius:50%; filter:blur(60px); opacity:.35; pointer-events:none; z-index:0;
}
.contact-section::before { width:360px; height:360px; background:radial-gradient(circle, rgba(8,176,184,.55), transparent 70%); top:-120px; left:-100px; animation: contactFloat 12s ease-in-out infinite; }
.contact-section::after  { width:420px; height:420px; background:radial-gradient(circle, rgba(248,184,72,.45), transparent 70%); bottom:-160px; right:-140px; animation: contactFloat 14s ease-in-out infinite reverse; }
.contact-section > .container { position:relative; z-index:1; }
@keyframes contactFloat { 0%,100% { transform:translate(0,0);} 50% { transform:translate(20px,-30px);} }

.contact-info-card, .contact-form-card { transition: transform .3s ease, box-shadow .3s ease; }
.contact-info-card:hover, .contact-form-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lift); }

.contact-info-head .ph-fill.ph-headset { animation: headsetPulse 2.4s ease-in-out infinite; display:inline-block; transform-origin: center; }
@keyframes headsetPulse { 0%,100%{transform:scale(1);} 50%{transform:scale(1.08) rotate(-4deg);} }

.contact-line { transition: transform .25s ease, background .25s ease; }
.contact-line:hover { transform: translateX(6px); background: rgba(64,48,144,.04); border-radius: 10px; }
.contact-line .contact-ic { transition: transform .3s ease; }
.contact-line:hover .contact-ic { transform: scale(1.12) rotate(-6deg); }

.contact-socials a { transition: transform .25s ease, background .25s ease, color .25s ease; }
.contact-socials a:hover { transform: translateY(-3px) scale(1.08); background: var(--grad-primary); color:#fff; }

.contact-form .form-control { transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.contact-form .form-control:focus { transform: translateY(-1px); box-shadow: 0 0 0 4px rgba(64,48,144,.12); border-color: var(--c-primary); }
.contact-form .col-md-6, .contact-form .col-12 { animation: contactFieldIn .5s ease both; }
.contact-form .col-md-6:nth-child(1){animation-delay:.05s}
.contact-form .col-md-6:nth-child(2){animation-delay:.12s}
.contact-form .col-12:nth-of-type(1){animation-delay:.18s}
.contact-form .col-12:nth-of-type(2){animation-delay:.24s}
.contact-form .col-12:nth-of-type(3){animation-delay:.30s}
@keyframes contactFieldIn { from { opacity:0; transform:translateY(10px);} to { opacity:1; transform:none;} }

.btn-gold { position:relative; overflow:hidden; }
.btn-gold::after {
    content:""; position:absolute; top:0; left:-120%; width:60%; height:100%;
    background:linear-gradient(120deg, transparent, rgba(255,255,255,.55), transparent);
    transform:skewX(-20deg);
}
.btn-gold:hover::after { animation: btnShine .9s ease; }
@keyframes btnShine { from { left:-120%; } to { left:140%; } }

/* ================================================================
   Clickable tier tiles inside "What you get" card
   ================================================================ */
.tier-price-grid-select { display:grid; grid-template-columns: repeat(2, 1fr); gap:.75rem; margin-top:1rem; }
.tier-price-grid-select .tier-price {
    all: unset;
    box-sizing: border-box;
    display:flex; flex-direction:column; align-items:center; gap:.4rem;
    padding: .85rem 1rem;
    border-radius: 14px;
    border: 2px solid rgba(64,48,144,.12);
    background:#fff;
    cursor:pointer;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
    text-align:center;
}
.tier-price-grid-select .tier-price:hover,
.tier-price-grid-select .tier-price:focus-visible {
    transform: translateY(-3px);
    box-shadow: var(--shadow-lift);
    border-color: var(--c-primary);
    outline: none;
}
.tier-price-grid-select .tier-price strong { font-size:1.05rem; color:var(--c-primary); }
.tier-price-grid-select .tier-price.is-selected {
    background: linear-gradient(135deg, rgba(64,48,144,.10), rgba(8,176,184,.10));
    box-shadow: 0 0 0 3px rgba(64,48,144,.18), var(--shadow-lift);
}
.tier-price-grid-select .tier-price.tier-platinum.is-selected { border-color:#6b7a8f; }
.tier-price-grid-select .tier-price.tier-gold.is-selected { border-color: var(--c-yellow); }
.tier-price-grid-select .tier-price.tier-silver.is-selected { border-color:#b7bcc3; }
.tier-price-grid-select .tier-price.tier-bronze.is-selected { border-color:#c78952; }
.tier-click-hint { color: var(--c-muted); font-size:.85rem; margin:.75rem 0 .25rem; display:flex; align-items:center; gap:.4rem; }
.tier-click-hint .ph { color: var(--c-primary); }

/* ================================================================
   Welcome card refinements: compact side video + Read more
   ================================================================ */
.welcome-card .welcome-side-video { width: 300px; padding: .6rem; align-self: start; }
.welcome-card .welcome-side-video .video-frame {
    aspect-ratio: 4 / 5; /* taller, narrower to match portrait style */
    max-height: 360px;
}
.welcome-card .welcome-side-video video { object-fit: cover; background:#0a0820; }

/* Long-body collapse with fade + Read more toggle */
.welcome-body .welcome-copy {
    position: relative;
    max-height: 22em;
    overflow: hidden;
    transition: max-height .4s ease;
}
.welcome-body .welcome-copy.is-expanded { max-height: 200em; }
.welcome-body .welcome-copy::after {
    content: "";
    position: absolute; left: 0; right: 0; bottom: 0; height: 4.5em;
    background: linear-gradient(to bottom, rgba(255,255,255,0), #ffffff 90%);
    pointer-events: none;
    transition: opacity .3s ease;
}
.welcome-body .welcome-copy.is-expanded::after { opacity: 0; }
.welcome-read-more {
    display: inline-flex; align-items: center; gap: .35rem;
    margin-top: .25rem; padding: .5rem .95rem;
    background: linear-gradient(135deg, var(--c-primary), var(--c-secondary));
    color: #fff; border: 0; border-radius: 999px;
    font-weight: 600; font-size: .85rem; letter-spacing: .02em;
    cursor: pointer;
    box-shadow: 0 6px 16px rgba(64,48,144,.25);
    transition: transform .15s ease, box-shadow .2s ease, filter .2s ease;
}
.welcome-read-more:hover { transform: translateY(-1px); filter: brightness(1.05); }
.welcome-read-more .ph { transition: transform .25s ease; }
.welcome-read-more[aria-expanded="true"] .ph { transform: rotate(180deg); }

/* Contact page — email-first refinement */
.contact-info-card { font-family: 'Inter', system-ui, sans-serif; }
.contact-info-card .contact-info-head h3 {
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 700; letter-spacing: -.01em;
}
.contact-line small {
    text-transform: uppercase; letter-spacing: .14em;
    font-size: .7rem; font-weight: 700; color: var(--c-muted);
}
.contact-line strong {
    font-weight: 600; font-size: 1.02rem; color: var(--c-ink);
    letter-spacing: -.005em;
}
.contact-line.contact-line-primary {
    background: linear-gradient(135deg, rgba(64,48,144,.06), rgba(8,176,184,.06));
    border: 1px solid rgba(64,48,144,.12);
    border-radius: 14px; padding: .85rem 1rem;
}
.contact-line.contact-line-primary strong {
    font-size: 1.15rem; color: var(--c-primary); font-weight: 700;
}
.contact-line.contact-line-primary .contact-ic {
    background: var(--grad-primary); color: #fff;
}


