/* LifeIndex — Corporate Design System v2
   Two-color system: Navy #0f2044 + Accent #1d6ef5
   Background: #f0f2f7 (not white) — eye-friendly
   NOTE: No hardcoded text. All text from lang/en.php
*/

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root {
    /* ── Two primary colors ── */
    --navy:         #0f2044;
    --navy-deep:    #091530;
    --navy-mid:     #1a3260;
    --navy-soft:    #243a70;
    --accent:       #1d6ef5;
    --accent-h:     #1558cc;
    --accent-light: #e8f0fe;

    /* ── Neutrals ── */
    --bg:           #f0f2f7;   /* page background — not white */
    --surface:      #ffffff;
    --surface-2:    #f7f9fc;
    --border:       #dde3ef;
    --text:         #0d1b38;
    --text-2:       #3d4f70;
    --text-3:       #6b7a99;

    /* ── Status ── */
    --green:        #0a8a4e;
    --red:          #c9222a;

    /* ── Typography ── */
    --font:         'Inter', -apple-system, sans-serif;

    /* ── Radius ── */
    --r-s:    6px;
    --r-m:    12px;
    --r-l:    18px;
    --r-xl:   26px;
    --r-pill: 999px;

    /* ── Shadow ── */
    --sh-1: 0 1px 4px rgba(15,32,68,.07);
    --sh-2: 0 4px 16px rgba(15,32,68,.09);
    --sh-3: 0 8px 32px rgba(15,32,68,.12);

    /* ── Layout ── */
    --w: 1160px;
    --hh: 64px;
}

html{font-size:16px;scroll-behavior:smooth}
body{
    font-family:var(--font);
    background:var(--bg);
    color:var(--text);
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
}
a{color:var(--accent);text-decoration:none;transition:color .15s}
a:hover{color:var(--accent-h)}
img{max-width:100%;display:block}
ul,ol{list-style:none}

/* ═══ LAYOUT ═══ */
.wrap{max-width:var(--w);margin:0 auto;padding:0 28px}

/* ═══ HEADER ═══ */
.site-header-outer{
    position:sticky;
    top:10px;
    z-index:500;
    padding:0 4%;
}
.site-header{
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(20px) saturate(160%);
    -webkit-backdrop-filter:blur(20px) saturate(160%);
    border:1px solid rgba(221,227,239,.7);
    border-radius:var(--r-xl);
    box-shadow:var(--sh-3), 0 0 0 1px rgba(29,110,245,.04);
    height:var(--hh);
    display:flex;
    align-items:center;
    padding:0 clamp(12px,2vw,24px);
    gap:4px;
    min-width:0;
}
.site-header>*{min-width:0}
.site-logo{
    font-size:1.2rem;
    font-weight:800;
    color:var(--navy);
    letter-spacing:-1px;
    margin-right:28px;
    white-space:nowrap;
    flex-shrink:0;
}
.site-logo b{color:var(--accent)}
.site-logo img{height:24px;width:auto;display:block;border-radius:6px}

.site-nav{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:1px;
    flex:1 1 auto;
    min-width:0;
    margin-left:auto;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
}
.site-nav::-webkit-scrollbar{display:none}
@media(max-width:1150px){
    .hdr-actions{display:none}
}
.site-nav a{
    font-size:.76rem;
    font-weight:600;
    color:var(--text-2);
    padding:6px 11px;
    border-radius:999px;
    transition:all .15s;
    white-space:nowrap;
}
.site-nav a:hover{color:var(--navy);background:var(--bg)}
.site-nav a.active{color:#fff;background:var(--navy);font-weight:700}

.hdr-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:12px}

/* ═══ BUTTONS ═══ */
.btn{
    display:inline-flex;align-items:center;gap:6px;
    font-family:var(--font);font-weight:600;
    border-radius:var(--r-pill);border:none;cursor:pointer;
    transition:all .18s;text-decoration:none;white-space:nowrap;line-height:1;
}
.btn:hover{text-decoration:none}
.btn-sm {font-size:.8rem; padding:7px 18px}
.btn-md {font-size:.875rem; padding:10px 22px}
.btn-lg {font-size:1rem;   padding:13px 30px}
.btn-xl {font-size:1.05rem;padding:15px 36px}

.btn-primary{background:var(--accent);color:#fff;box-shadow:0 2px 8px rgba(29,110,245,.3)}
.btn-primary:hover{background:var(--accent-h);color:#fff;box-shadow:0 4px 16px rgba(29,110,245,.4);transform:translateY(-1px)}

.btn-navy{background:var(--navy);color:#fff;box-shadow:0 2px 8px rgba(15,32,68,.25)}
.btn-navy:hover{background:var(--navy-deep);color:#fff;transform:translateY(-1px)}

.btn-white{background:#fff;color:var(--navy);box-shadow:0 2px 8px rgba(0,0,0,.12)}
.btn-white:hover{background:var(--bg);color:var(--navy-deep);transform:translateY(-1px)}

.btn-outline{background:transparent;color:var(--accent);border:1.5px solid var(--accent)}
.btn-outline:hover{background:var(--accent-light)}

.btn-ghost-white{background:rgba(255,255,255,.12);color:#fff;border:1.5px solid rgba(255,255,255,.22);backdrop-filter:blur(4px)}
.btn-ghost-white:hover{background:rgba(255,255,255,.2);color:#fff}

/* ═══ HERO ═══ */
.hero{
    margin:16px 4% 0;
    background:linear-gradient(135deg, var(--navy-deep) 0%, var(--navy) 45%, var(--navy-mid) 80%, #1a4a9e 100%);
    border-radius:var(--r-xl);
    padding:64px 64px 64px 64px;
    position:relative;
    overflow:visible;
    color:#fff;
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:48px;
    min-height:380px;
}
.hero::before{
    content:'';position:absolute;inset:0;border-radius:inherit;
    background:
        radial-gradient(ellipse 50% 80% at 100% 0%, rgba(29,110,245,.25) 0%, transparent 60%),
        radial-gradient(ellipse 40% 50% at 0% 100%, rgba(29,110,245,.12) 0%, transparent 50%);
    pointer-events:none;
}
.hero::after{
    content:'';position:absolute;inset:0;border-radius:inherit;
    background-image:radial-gradient(rgba(255,255,255,.04) 1px, transparent 1px);
    background-size:28px 28px;
    pointer-events:none;
}
.hero__left{position:relative;z-index:1}
.hero__right{position:relative;z-index:1;display:flex;align-items:center;justify-content:center}
.hero__title{
    font-size:clamp(1.8rem,3.5vw,3rem);
    font-weight:800;
    color:#fff;
    line-height:1.12;
    letter-spacing:-1.5px;
    margin-bottom:16px;
}
.hero__title span{color:#93c5fd}
.hero__sub{
    font-size:1rem;
    color:rgba(255,255,255,.65);
    line-height:1.65;
    margin-bottom:32px;
    max-width:440px;
}
.hero__search{
    display:flex;gap:8px;
    max-width:460px;
    margin-bottom:24px;
    position:relative;
}
/* Live suggestions — always above following content */
#hq-list{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:9999;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-l);box-shadow:var(--sh-3);overflow:hidden auto;max-height:340px}
#hq-list.open{display:block}
.hq-group{font-size:.65rem;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--text-3);padding:10px 14px 4px}
.hq-item{display:flex;align-items:center;gap:10px;padding:9px 14px;font-size:.86rem;font-weight:600;color:var(--navy);cursor:pointer}
.hq-item i:first-child{color:var(--accent)}
.hq-item em{font-style:normal;font-weight:400;color:var(--text-3);font-size:.76rem}
.hq-item .bi-arrow-up-right{margin-left:auto;font-size:.72rem;color:var(--text-3)}
.hq-item.active,.hq-item:hover{background:var(--accent-light)}
.hq-empty{padding:12px 14px;font-size:.82rem;color:var(--text-3)}
.hero__search input{
    flex:1;
    background:rgba(255,255,255,.1);
    backdrop-filter:blur(8px);
    border:1.5px solid rgba(255,255,255,.2);
    border-radius:var(--r-pill);
    padding:13px 22px;
    font-size:.93rem;
    font-family:var(--font);
    color:#fff;
    outline:none;
    transition:all .18s;
}
.hero__search input::placeholder{color:rgba(255,255,255,.45)}
.hero__search input:focus{border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.15)}
.hero__search button{
    background:#fff;color:var(--navy);
    font-family:var(--font);font-weight:700;font-size:.88rem;
    border:none;border-radius:var(--r-pill);
    padding:13px 26px;cursor:pointer;
    transition:all .18s;white-space:nowrap;
}
.hero__search button:hover{background:var(--bg);transform:translateY(-1px)}
.hero__btns{display:flex;gap:10px;flex-wrap:wrap}

/* Hero SVG chart */
.hero-chart{width:100%;max-width:360px;filter:drop-shadow(0 8px 24px rgba(0,0,0,.3))}

/* ═══ TICKER ═══ */
.ticker{
    margin:20px 4% 0;
    background:#fff;
    border:1px solid var(--border);
    border-radius:var(--r-l);
    box-shadow:var(--sh-1);
    display:flex;
    align-items:stretch;
    overflow-x:auto;
    scrollbar-width:none;
}
.ticker::-webkit-scrollbar{display:none}
.ticker-item{
    display:flex;flex-direction:column;justify-content:center;
    padding:16px 28px;
    border-right:1px solid var(--border);
    flex:1 1 0;
    min-width:120px;
}
.ticker-item:last-child{border-right:none}
.t-label{font-size:.67rem;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.t-val{font-size:1.18rem;font-weight:800;color:var(--navy);letter-spacing:-.5px}
.t-src{font-size:.62rem;color:var(--text-3);margin-top:2px;font-weight:500}

/* ═══ SECTIONS ═══ */
.section{padding:56px 4%}
.section-dark{background:var(--navy);color:#fff}
.section-mid{background:var(--surface-2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}

/* 90% width rounded card sections */
.section-card{
    margin:0 auto 28px;
    width:90%;
    border-radius:var(--r-xl);
    overflow:hidden;
}
.section-card--navy{
    background:linear-gradient(160deg, var(--navy-mid) 0%, var(--navy) 60%, var(--navy-deep) 100%);
    position:relative;
}
.section-card--navy::before{
    content:'';position:absolute;inset:0;
    background-image:radial-gradient(rgba(255,255,255,.04) 1px, transparent 1px);
    background-size:24px 24px;
    pointer-events:none;
}
.section-card--navy::after{
    content:'';position:absolute;
    top:-80px;right:-60px;
    width:280px;height:280px;
    background:radial-gradient(circle, rgba(29,110,245,.18) 0%, transparent 65%);
    border-radius:50%;
    pointer-events:none;
}
.section-card__inner{position:relative;z-index:1;padding:52px 56px}

/* Footer card */
.footer-card{
    margin:0 auto;
    width:90%;
    border-radius:var(--r-xl) var(--r-xl) 0 0;
    background:var(--navy-deep);
    overflow:hidden;
    padding:48px 56px 32px;
    color:rgba(255,255,255,.6);
}

.sec-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px;gap:16px}
.sec-title{font-size:1.45rem;font-weight:800;color:var(--navy);letter-spacing:-.5px;line-height:1.2}
.section-dark .sec-title{color:#fff}
.sec-sub{font-size:.85rem;color:var(--text-3);margin-top:5px;font-weight:400}
.section-dark .sec-sub{color:rgba(255,255,255,.55)}
.sec-link{font-size:.82rem;font-weight:600;color:var(--accent);flex-shrink:0;white-space:nowrap}
.section-dark .sec-link{color:#93c5fd}
.sec-link:hover{color:var(--accent-h)}

/* ═══ CATEGORY LIST (no white boxes) ═══ */
.cat-list{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
    gap:1px;
    background:var(--border);
    border:1px solid var(--border);
    border-radius:var(--r-l);
    overflow:hidden;
}
.cat-item{
    background:var(--surface);
    padding:20px 24px;
    display:flex;
    align-items:center;
    gap:14px;
    transition:all .15s;
    text-decoration:none;
    position:relative;
}
.cat-item:hover{
    background:var(--accent-light);
    z-index:1;
    text-decoration:none;
}
.cat-item:hover .cat-name{color:var(--accent)}
.cat-icon{
    width:38px;height:38px;flex-shrink:0;
    background:var(--bg);
    border-radius:var(--r-m);
    display:flex;align-items:center;justify-content:center;
    font-size:1.1rem;
    transition:background .15s;
}
.cat-item:hover .cat-icon{background:var(--accent-light)}
.cat-body{flex:1;min-width:0;overflow:hidden}
.cat-name{font-size:.88rem;font-weight:700;color:var(--navy);line-height:1.3;transition:color .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cat-src{font-size:.7rem;color:var(--text-3);margin-top:2px;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.35;display:block;word-break:break-word}
.cat-arrow{
    font-size:.9rem;color:var(--border);flex-shrink:0;
    transition:transform .15s,color .15s;
}
.cat-item:hover .cat-arrow{transform:translateX(3px);color:var(--accent)}

/* ═══ STATES ═══ */
.state-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
    gap:7px;
}
.state-card{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--r-m);
    padding:10px 14px;
    display:flex;align-items:center;gap:9px;
    font-size:.84rem;font-weight:500;color:var(--text);
    transition:all .15s;text-decoration:none;
}
.state-card:hover{
    border-color:var(--accent);
    color:var(--accent);
    background:var(--accent-light);
    text-decoration:none;
    box-shadow:var(--sh-1);
}
.st-abbr{
    font-size:.65rem;font-weight:800;
    color:var(--accent);
    background:var(--accent-light);
    border-radius:4px;padding:2px 6px;
    letter-spacing:.5px;flex-shrink:0;
    transition:all .15s;
}
.state-card:hover .st-abbr{background:var(--accent);color:#fff}

/* dark section states */
.section-card--navy .state-card{
    background:rgba(255,255,255,.06);
    border-color:rgba(255,255,255,.1);
    color:rgba(255,255,255,.85);
}
.section-card--navy .state-card:hover{
    background:rgba(29,110,245,.25);
    border-color:rgba(29,110,245,.5);
    color:#fff;
    box-shadow:0 2px 12px rgba(29,110,245,.2);
}
.section-card--navy .st-abbr{
    background:rgba(29,110,245,.3);
    color:#93c5fd;
    border:1px solid rgba(29,110,245,.4);
}
.section-card--navy .state-card:hover .st-abbr{background:var(--accent);color:#fff;border-color:var(--accent)}

/* ═══ TAGS ═══ */
.tag-cloud{display:flex;flex-wrap:wrap;gap:8px}
.tag{
    background:var(--surface);
    border:1.5px solid var(--border);
    border-radius:var(--r-pill);
    padding:7px 17px;
    font-size:.8rem;font-weight:500;color:var(--text-2);
    transition:all .15s;text-decoration:none;white-space:nowrap;
}
.tag:hover{background:var(--navy);border-color:var(--navy);color:#fff;text-decoration:none}

/* section-mid & dark section tags */
.section-dark .tag,
.section-card--navy .tag{
    background:rgba(255,255,255,.08);
    border-color:rgba(255,255,255,.15);
    color:rgba(255,255,255,.75);
}
.section-dark .tag:hover,
.section-card--navy .tag:hover{background:var(--accent);border-color:var(--accent);color:#fff}

.footer-card .site-logo{color:#fff;display:inline-block;margin-bottom:10px;font-size:1.25rem}
.footer-card .site-logo b{color:var(--accent)}
.footer-card .footer-grid{
    display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:32px;
    padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:18px;align-items:start;
}
.footer-brand p{font-size:.82rem;color:rgba(255,255,255,.5);line-height:1.6;max-width:260px}
.footer-brand .footer-tagline{font-weight:600;color:rgba(255,255,255,.7)}
.footer-brand .footer-note{font-size:.74rem;color:rgba(255,255,255,.35);margin-top:10px;line-height:1.5}
.footer-legal{font-size:.68rem!important;color:rgba(255,255,255,.32)!important;line-height:1.6!important;margin-top:14px!important;max-width:300px!important;border-top:1px solid rgba(255,255,255,.06);padding-top:12px}
.footer-legal a{color:rgba(255,255,255,.45);text-decoration:underline;text-underline-offset:2px;text-decoration-color:rgba(255,255,255,.15)}
.footer-legal a:hover{color:#fff;text-decoration-color:rgba(255,255,255,.5)}
.footer-col{display:flex;flex-direction:column;gap:4px}
.footer-col-title{font-size:.68rem;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:rgba(255,255,255,.9);margin-bottom:10px}
.footer-col a{font-size:.8rem;font-weight:400;color:rgba(255,255,255,.5);line-height:1.7;transition:color .15s}
.footer-col a:hover{color:#fff}
.footer-card .footer-copy{display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;align-items:center;padding-top:2px}
.footer-card .footer-copy span{font-size:.72rem;color:rgba(255,255,255,.3);line-height:1.5}

/* sec-head + sec-title — shared */
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px;gap:16px}
.sec-head--center{flex-direction:column;align-items:center;text-align:center}
.sec-title{font-size:1.45rem;font-weight:800;color:var(--navy);letter-spacing:-.5px;line-height:1.2}
.sec-title--white{color:#fff}
.sec-sub{font-size:.9rem;color:var(--text-3);margin-top:6px;font-weight:400;max-width:520px}
.sec-sub--white{color:rgba(255,255,255,.55)}
.sec-link{font-size:.82rem;font-weight:600;color:var(--accent);flex-shrink:0;white-space:nowrap;text-decoration:none}
.sec-link--white{color:#93c5fd}
.sec-link:hover{color:var(--accent-h);text-decoration:none}
.sec-link--white:hover{color:#fff}
.ad-wrap{padding:8px 4%;text-align:center}
.ad-slot{width:100%;overflow:hidden;background:transparent}
.ad-slot--hdr{min-height:90px}
.ad-slot--mid{min-height:100px;margin:20px 0}
.ad-slot--ftr{min-height:90px}
.ad-slot--header,.ad-slot--footer{min-height:90px;max-width:970px;margin-left:auto;margin-right:auto}
.ad-slot--content,.ad-slot--content-top,.ad-slot--content-mid,.ad-slot--content-bot{min-height:250px;margin:20px 0}
.ad-slot--sidebar{min-height:250px}
@media(min-width:901px){.ad-slot--sidebar{min-height:600px}}
.ad-slot--sticky{
    position:fixed;bottom:0;left:0;right:0;z-index:400;
    background:#fff;border-top:1px solid var(--border);min-height:50px;display:none;
}

/* ═══ FOOTER ═══ */
.site-footer{
    background:var(--navy-deep);
    color:rgba(255,255,255,.6);
    padding:48px 4% 28px;
}
.footer-grid{
    display:grid;
    grid-template-columns:1fr auto;
    gap:40px;
    padding-bottom:28px;
    border-bottom:1px solid rgba(255,255,255,.07);
    margin-bottom:20px;
    align-items:start;
}
.footer-brand .site-logo{color:#fff;margin-bottom:8px;display:inline-block}
.footer-brand p{font-size:.8rem;color:rgba(255,255,255,.45);max-width:260px;line-height:1.6}
.footer-nav{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.footer-nav a{font-size:.8rem;color:rgba(255,255,255,.5);transition:color .15s}
.footer-nav a:hover{color:#fff}
.footer-copy{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:center}
.footer-copy p{font-size:.75rem;color:rgba(255,255,255,.3)}

/* ═══ MOBILE NAV ═══ */
.mob-nav{
    display:none;
    position:fixed;bottom:0;left:0;right:0;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(12px);
    border-top:1px solid var(--border);
    z-index:600;
    padding:4px 0 env(safe-area-inset-bottom,6px);
}
.mob-nav ul{display:flex;justify-content:space-around;align-items:center}
.mob-nav a{
    display:flex;flex-direction:column;align-items:center;gap:2px;
    font-size:.6rem;font-weight:600;color:var(--text-3);
    padding:5px 10px;border-radius:var(--r-m);
    transition:color .15s;text-decoration:none;
}
.mob-nav a:hover,.mob-nav a.active{color:var(--accent)}
.mob-nav .ni{font-size:1.1rem;line-height:1}

/* ═══ BADGE ═══ */
.badge{
    display:inline-flex;align-items:center;
    font-size:.65rem;font-weight:700;
    background:var(--accent-light);color:var(--accent);
    border-radius:var(--r-pill);
    padding:2px 8px;
}

/* ═══ AI FAQ (visible, centered card) ═══ */
.faq-ai{width:100%;max-width:640px;margin:22px auto 0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-l);box-shadow:var(--sh-1);padding:8px 20px 12px;box-sizing:border-box}
.faq-ai h2{font-size:1rem;font-weight:800;color:var(--navy);text-align:center;margin:12px 0 6px;letter-spacing:-.3px}
.faq-ai h2::before{content:'\25CF  ';color:var(--accent);font-size:.7rem;vertical-align:2px}
.faq-ai details{border-top:1px solid var(--border);padding:0}
.faq-ai details:first-of-type{border-top:none}
.faq-ai summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;font-size:.86rem;font-weight:700;color:var(--navy);padding:11px 0}
.faq-ai summary::-webkit-details-marker{display:none}
.faq-ai summary::after{content:'+';margin-left:auto;color:var(--accent);font-weight:800;font-size:1rem;line-height:1}
.faq-ai details[open] summary::after{content:'\2212'}
.faq-ai details p{font-size:.83rem;color:var(--text-2);line-height:1.65;margin:0 0 10px;word-break:break-word}

/* ═══ UTILS ═══ */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}

/* ═══ RESPONSIVE ═══ */
@media(max-width:900px){
    .site-nav{display:none}
    .hdr-actions{display:none}
    .site-header{justify-content:center}
    .site-logo{margin-right:0}
    .mob-nav{display:block}
    body{padding-bottom:62px}
    .hero{grid-template-columns:1fr;padding:44px 28px;gap:32px}
    .hero__right{display:none}
    .hero__title{letter-spacing:-1px}
    .ad-slot--sticky{display:block;top:0;bottom:auto;border-top:none;border-bottom:1px solid var(--border)}
    .page-body{margin-bottom:75px}
    .cc-grid{grid-template-columns:1fr 1fr;gap:8px}
    .cc-grid-ad{grid-column:span 2;min-height:250px}
    .section-card{width:94%}
    .section-card__inner{padding:40px 28px}
    .footer-card{width:94%;padding:40px 28px 28px;border-radius:var(--r-xl) var(--r-xl) 0 0}
    .footer-card .footer-grid{grid-template-columns:1fr 1fr;gap:28px}
    .footer-brand{grid-column:1 / -1;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:4px}
}
@media(max-width:600px){
    .hero{margin:10px 10px 0;padding:36px 20px}
    .section{padding:40px 12px}
    .ticker{margin:14px 10px 0;display:grid;grid-template-columns:1fr 1fr;overflow:visible}
    .ticker-item{padding:12px 14px;min-width:0;border-right:none;border-bottom:1px solid var(--border)}
    .ticker-item:nth-last-child(-n+2){border-bottom:none}
    .ticker-item:nth-child(odd){border-right:1px solid var(--border)}
    .t-val{font-size:1rem}
    .cat-list{grid-template-columns:1fr}
    .state-grid{grid-template-columns:1fr 1fr}
    .hero__search{flex-direction:column}
    .hero__btns{flex-direction:row}
    .hero__btns .btn{flex:1;justify-content:center;padding:12px 8px;font-size:.85rem}
    .section-card{width:96%}
    .section-card__inner{padding:28px 18px}
    .footer-card{width:100%;border-radius:0;padding:32px 16px 24px}
    .footer-card .footer-grid{grid-template-columns:1fr 1fr;gap:20px}
    .footer-brand{grid-column:1 / -1}
}

/* Native dropdowns readable everywhere (dark-themed selects) */
select option,select optgroup{color:#0f2044;background:#fff}

/* ═══ GLOBAL MOBILE SAFETY (all tool pages) ═══ */
canvas{max-width:100%}
div:has(>canvas){position:relative;min-width:0}
@media(max-width:700px){
    div[style*="grid-template-columns:1fr 1fr"],
    div[style*="grid-template-columns: 1fr 1fr"],
    div[style*="grid-template-columns:1.2fr .8fr"],
    div[style*="grid-template-columns:1.1fr .9fr"],
    div[style*="grid-template-columns:1.15fr .85fr"],
    .calc-grid{grid-template-columns:1fr !important}
    .data-table{display:block;overflow-x:auto;width:100%;max-width:100%}
    table{display:block;overflow-x:auto;width:100%;max-width:100%}
    .compare-bar{max-width:94vw;flex-wrap:wrap;justify-content:center}
    .filter-bar{flex-direction:column;align-items:stretch}
    .filter-bar input,.filter-bar select{width:100%}
}
@media(max-width:500px){
    .calc-result{grid-template-columns:1fr !important}
    .detail-cards{grid-template-columns:repeat(2,1fr) !important}
}

/* ═══ INNER PAGE HERO ═══ */
.page-hero{
    background:linear-gradient(135deg, var(--navy-deep) 0%, var(--navy) 55%, var(--navy-mid) 100%);
    width:90%;max-width:var(--w);margin:14px auto 0;
    border-radius:28px;
    padding:48px 4% 44px;
    position:relative;overflow:hidden;
}
.page-hero::after{
    content:'';position:absolute;inset:0;
    background-image:radial-gradient(rgba(255,255,255,.04) 1px, transparent 1px);
    background-size:24px 24px;pointer-events:none;
}
.page-hero__inner{position:relative;z-index:1;max-width:var(--w);margin:0 auto}
.page-hero__icon{font-size:2.2rem;color:#93c5fd;margin-bottom:12px;line-height:1}
.page-hero__title{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800;color:#fff;letter-spacing:-1px;line-height:1.15;margin-bottom:10px}
.page-hero__sub{font-size:1rem;color:rgba(255,255,255,.65);max-width:560px;line-height:1.6}

/* Breadcrumb */
.breadcrumb{margin-bottom:14px}
.breadcrumb ol{display:flex;flex-wrap:wrap;gap:4px;align-items:center;list-style:none}
.breadcrumb__item{font-size:.78rem;color:rgba(255,255,255,.5);display:flex;align-items:center;gap:4px}
.breadcrumb__item::after{content:'›';color:rgba(255,255,255,.25);margin-left:4px}
.breadcrumb__item:last-child::after{display:none}
.breadcrumb__item a{color:rgba(255,255,255,.65);transition:color .15s}
.breadcrumb__item a:hover{color:#fff}
.breadcrumb__item--active{color:rgba(255,255,255,.85);font-weight:600}

/* ═══ INNER PAGE CONTENT ═══ */
.page-body{padding:40px 4%;max-width:var(--w);margin:0 auto}
.page-body--wide{padding:40px 4%}

/* Data table */
.data-table{width:100%;border-collapse:collapse;font-size:.875rem}
.data-table th{background:var(--navy);color:#fff;padding:10px 14px;text-align:left;font-weight:600;font-size:.78rem;letter-spacing:.3px}
.data-table td{padding:10px 14px;border-bottom:1px solid var(--border);color:var(--text-2)}
.data-table tr:hover td{background:var(--accent-light)}
.data-table tr:last-child td{border-bottom:none}

/* Source badge */
.src-badge{
    display:inline-flex;align-items:center;gap:5px;
    font-size:.7rem;font-weight:600;color:var(--text-3);
    background:var(--bg);border:1px solid var(--border);
    border-radius:var(--r-pill);padding:3px 10px;
    margin-top:6px;
}
.src-badge i{color:var(--accent)}

/* Card grid for inner pages */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.info-card{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--r-l);
    padding:22px 20px;
}
.info-card__label{font-size:.72rem;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px}
.info-card__value{font-size:1.5rem;font-weight:800;color:var(--navy);letter-spacing:-.5px}
.info-card__sub{font-size:.75rem;color:var(--text-3);margin-top:4px}

/* Alert / notice */
.notice{
    background:var(--accent-light);
    border:1px solid rgba(29,110,245,.2);
    border-radius:var(--r-m);
    padding:14px 18px;
    font-size:.875rem;
    color:var(--navy);
    display:flex;align-items:flex-start;gap:10px;
    margin-bottom:24px;
}
.notice i{color:var(--accent);flex-shrink:0;margin-top:2px}

/* Responsive inner pages */
@media(max-width:600px){
    .page-hero{padding:36px 16px 32px}
    .page-body{padding:28px 14px}
    .card-grid{grid-template-columns:1fr 1fr}
}
