/* BCA-PSI.sg — global stylesheet v1 */
:root{
  --ink:#141B2D;--slate:#3C4B6B;--steel:#6B7A99;
  --rule:#D6DBE8;--paper:#F5F7FB;--white:#FFF;
  --accent:#0E4DA4;--accent-d:#0A3A7D;--accent-lt:#E7EEF9;
  --pass:#1A6E45;--pass-lt:#E4F3EC;
  --warn:#B05000;--warn-lt:#FEF0E4;
  --font-d:'DM Serif Display',Georgia,serif;
  --font-b:'Inter',system-ui,sans-serif;
  --font-m:'Roboto Mono',monospace;
  --r:6px;--r2:12px;
  --sh:0 2px 16px rgba(14,77,164,.09);
  --sh2:0 8px 40px rgba(14,77,164,.14)
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-b);color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;line-height:1.6}
/* NAV */
.site-nav{background:rgba(255,255,255,.97);border-bottom:1px solid var(--rule);padding:0 5%;display:flex;align-items:center;justify-content:space-between;height:64px;position:sticky;top:0;z-index:100;backdrop-filter:blur(8px)}
.nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.nav-logo{width:36px;height:36px;border-radius:var(--r);background:var(--accent);display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700;font-family:var(--font-m)}
.nav-name{font-size:14.5px;font-weight:600;color:var(--ink);line-height:1.2}
.nav-sub{font-size:11px;color:var(--steel);display:block}
.nav-links{display:flex;gap:22px;list-style:none}
.nav-links a{text-decoration:none;color:var(--slate);font-size:13.5px;font-weight:500;transition:.15s}
.nav-links a:hover,.nav-links a.active{color:var(--accent)}
.nav-cta{display:flex;gap:8px}
/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:var(--r);font-size:13.5px;font-weight:500;cursor:pointer;text-decoration:none;border:none;font-family:var(--font-b);transition:all .15s}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 2px 8px rgba(14,77,164,.25)}
.btn-primary:hover{background:var(--accent-d);transform:translateY(-1px)}
.btn-wa{background:#25D366;color:#fff;box-shadow:0 2px 8px rgba(37,211,102,.25)}
.btn-wa:hover{background:#1ebe5d;transform:translateY(-1px)}
.btn-ghost{color:var(--accent);border:1.5px solid var(--accent);background:transparent}
.btn-ghost:hover{background:var(--accent-lt)}
.btn-lg{padding:13px 26px;font-size:15px}
.btn-sm{padding:7px 14px;font-size:13px}
/* PAGE HERO */
.page-hero{background:linear-gradient(140deg,#060F22 0%,#0D2650 55%,#163670 100%);padding:52px 5% 44px;color:#fff}
.page-hero-inner{max-width:860px;margin:0 auto}
.page-eyebrow{font-family:var(--font-m);font-size:10.5px;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:12px;display:flex;align-items:center;gap:8px}
.page-hero h1{font-family:var(--font-d);font-size:clamp(26px,3.5vw,42px);font-weight:400;color:#fff;margin-bottom:12px;line-height:1.18}
.page-hero p{font-size:16px;color:rgba(255,255,255,.68);max-width:620px;line-height:1.75}
/* BREADCRUMB */
.breadcrumb{font-size:13px;color:var(--steel);padding:12px 5%;max-width:1120px;margin:0 auto;display:flex;gap:6px;align-items:center}
.breadcrumb a{color:var(--accent);text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}
/* SECTION */
.section{padding:64px 5%}
.section-inner{max-width:1120px;margin:0 auto}
.section-bg{background:var(--paper)}
.section-dark{background:var(--ink);color:#fff}
.eyebrow{font-family:var(--font-m);font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.section-dark .eyebrow{color:rgba(174,208,255,.7)}
h2.section-title{font-family:var(--font-d);font-size:clamp(24px,2.8vw,36px);font-weight:400;color:var(--ink);margin-bottom:14px;line-height:1.2}
.section-dark h2.section-title{color:#fff}
.section-lead{font-size:16px;color:var(--slate);max-width:640px;line-height:1.78;margin-bottom:44px}
.section-dark .section-lead{color:rgba(255,255,255,.62)}
/* TWO-COL */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.four-col{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
/* CARDS */
.card{background:var(--white);border:1px solid var(--rule);border-radius:var(--r2);padding:26px;transition:.2s}
.card:hover{box-shadow:var(--sh2);transform:translateY(-2px)}
.card.featured{border:2px solid var(--accent)}
.card h3{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:8px}
.card p{font-size:14px;color:var(--slate);line-height:1.7;margin-bottom:14px}
.card-icon{width:42px;height:42px;border-radius:var(--r);background:var(--accent-lt);border:1px solid #bcd0ef;display:flex;align-items:center;justify-content:center;font-size:19px;margin-bottom:14px}
.from{font-family:var(--font-m);font-size:13px;color:var(--accent);font-weight:500}
/* CALLOUT */
.callout{border-radius:var(--r);padding:16px 20px;margin:20px 0}
.callout-pass{background:var(--pass-lt);border:1px solid #9FDBC0;border-left:4px solid var(--pass)}
.callout-warn{background:var(--warn-lt);border:1px solid #E8BFA0;border-left:4px solid var(--warn)}
.callout-info{background:var(--accent-lt);border:1px solid #bcd0ef;border-left:4px solid var(--accent)}
.callout strong{font-size:12.5px;font-weight:700;display:block;margin-bottom:5px}
.callout-pass strong{color:var(--pass)}
.callout-warn strong{color:var(--warn)}
.callout-info strong{color:var(--accent)}
.callout p{font-size:14px;line-height:1.68;margin:0}
.callout-pass p{color:#1a5c3b}
.callout-warn p{color:#6b3400}
.callout-info p{color:#0A3A7D}
/* PROSE */
.prose p{font-size:15.5px;color:var(--slate);line-height:1.82;margin-bottom:15px}
.prose p strong{color:var(--ink)}
.prose h3{font-size:17px;font-weight:600;color:var(--ink);margin:26px 0 9px}
.prose ul,.prose ol{margin:12px 0 16px 20px}
.prose li{font-size:15px;color:var(--slate);line-height:1.75;margin-bottom:7px}
/* TABLE */
.data-table{width:100%;border-collapse:collapse;border-radius:var(--r2);overflow:hidden;box-shadow:var(--sh)}
.data-table thead{background:var(--ink)}
.data-table thead th{padding:12px 16px;text-align:left;color:rgba(255,255,255,.85);font-size:12.5px;font-weight:500}
.data-table tbody tr{border-bottom:1px solid var(--rule)}
.data-table tbody tr:last-child{border-bottom:none}
.data-table tbody tr:nth-child(even){background:var(--paper)}
.data-table tbody tr:hover{background:var(--accent-lt)}
.data-table td{padding:12px 16px;font-size:13.5px;color:var(--ink)}
.data-table td.price{font-family:var(--font-m);color:var(--accent);font-weight:500}
/* FAQ */
details.faq-item{border-bottom:1px solid var(--rule);padding:17px 0}
details.faq-item summary{font-size:15px;font-weight:600;color:var(--ink);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;list-style:none;user-select:none}
details.faq-item summary::-webkit-details-marker{display:none}
details.faq-item summary::after{content:'+';font-size:20px;color:var(--accent);font-weight:300;flex-shrink:0}
details.faq-item[open] summary::after{content:'−'}
.faq-answer{font-size:14.5px;color:var(--slate);line-height:1.78;padding-top:12px;max-width:720px}
/* CTA DARK */
.cta-dark{background:linear-gradient(140deg,#060F22,#0D2650);color:#fff;text-align:center;padding:64px 5%}
.cta-dark h2{font-family:var(--font-d);font-size:clamp(24px,3vw,38px);color:#fff;margin-bottom:14px;font-weight:400}
.cta-dark p{font-size:16px;color:rgba(255,255,255,.62);max-width:500px;margin:0 auto 28px;line-height:1.75}
.cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
/* FOOTER */
.site-footer{background:var(--ink);color:rgba(255,255,255,.5);padding:48px 5% 28px}
.footer-grid{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:24px}
.footer-brand p{font-size:13px;line-height:1.7;color:rgba(255,255,255,.4);max-width:280px;margin-top:10px}
.footer-col h4{font-size:11px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:14px}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:8px}
.footer-col a{font-size:13px;color:rgba(255,255,255,.55);text-decoration:none;transition:.15s}
.footer-col a:hover{color:#fff}
.footer-bottom{max-width:1120px;margin:0 auto;display:flex;justify-content:space-between;font-size:12px;color:rgba(255,255,255,.3);flex-wrap:wrap;gap:8px}
.footer-bottom a{color:rgba(255,255,255,.35);text-decoration:none}
/* SOCIAL BTNS */
.social-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:var(--r);font-size:12.5px;font-weight:500;text-decoration:none;color:#fff;transition:.15s}
.social-btn:hover{opacity:.85}
.soc-li{background:#0A66C2}
.soc-fb{background:#1877F2}
.soc-qr{background:#B92B27}
.soc-wa{background:#25D366}
/* WA FLOAT */
.wa-float{position:fixed;bottom:24px;right:24px;z-index:200;width:54px;height:54px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;text-decoration:none;box-shadow:0 4px 20px rgba(37,211,102,.45);transition:.2s}
.wa-float:hover{transform:scale(1.1)}
/* RESPONSIVE */
@media(max-width:960px){.nav-links{display:none}.two-col,.four-col{grid-template-columns:1fr}.three-col{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.three-col,.footer-grid{grid-template-columns:1fr}.cta-btns{flex-direction:column;align-items:center}}
