/* Design preference: no one-sided accent borders on cards or callouts. */
header nav a{position:relative;padding:8px 6px;transition:color .15s,background .15s;border-radius:5px}
header nav a.nav-current{color:#145cb1;background:#e7f0fc}
header nav a.nav-current:after{content:'';position:absolute;height:3px;border-radius:3px;background:#2168ba;left:6px;right:6px;bottom:0}
.hero-copy .hero-qualification{font-size:clamp(19px,2vw,26px);font-weight:700;color:#416180;letter-spacing:-.035em;margin:0 0 14px;line-height:1.45;word-break:keep-all}
.hero-copy .eyebrow{margin-bottom:18px}
.fields .field h3{font-size:28px;line-height:1.4;word-break:keep-all}
.fields .field h3 a{font-size:inherit;font-weight:800}
@media(max-width:720px){.hero-copy .hero-qualification{font-size:20px}.fields .field h3{font-size:25px}.fields .field{padding-left:14px;padding-right:14px}header nav a{padding:8px 4px}}
.expert-card,.sample,.detail .sample{border-left:0!important;border-radius:0;background:transparent;padding-left:0}
.expert-card{border-top:1px solid #c8d4e2;border-bottom:1px solid #c8d4e2;padding:22px 0}
.brand strong{display:flex;align-items:center;gap:12px;white-space:nowrap}
.brand .brand-divider{display:inline-block;width:1px;height:.85em;background:#4d84c6;flex:none;transform:none}
.brand-intro{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;pointer-events:none;overflow:hidden;color:#fff;background:radial-gradient(ellipse at 70% 15%,#1c568b 0,transparent 55%),linear-gradient(135deg,#040e22,#102e55 55%,#06162d);animation:intro-out .65s 3.1s both}
.brand-intro:before{content:'';position:absolute;inset:-80%;background:linear-gradient(115deg,transparent 40%,#9bceff08 45%,#bfe7ff36 49%,#76baff09 53%,transparent 58%);transform:translateX(-35%) rotate(-12deg);animation:intro-sheen 2.7s ease-in-out both}
.brand-intro-center{text-align:center;position:relative;padding:24px}
.intro-logo{display:block;width:min(680px,85vw);height:auto;margin:-70px auto -45px;animation:intro-rise .75s both}
header .brand>span{font-size:clamp(16px,1.65vw,23px);font-weight:800}
header .brand strong{font-size:17px!important;letter-spacing:-.03em}
@media(max-width:720px){header .brand>span{font-size:14px}header .brand strong{font-size:12px!important;gap:8px}.intro-logo{margin:-25px auto -15px}}
.intro-wordmark{font:800 clamp(60px,11vw,130px)/1 Arial,sans-serif;letter-spacing:-.055em;color:#fff;text-shadow:0 2px 30px #a4d7ff30;animation:intro-rise .75s both}
.intro-company{font-size:clamp(13px,2vw,21px);letter-spacing:.24em;margin-top:18px;animation:intro-rise .75s .15s both}
.intro-tagline{font-size:clamp(20px,3vw,34px);line-height:1.55;letter-spacing:-.04em;font-weight:500;margin:36px 0 0;animation:intro-rise .7s .7s both}
@keyframes intro-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes intro-sheen{to{transform:translateX(35%) rotate(-12deg)}}
@keyframes intro-out{to{opacity:0;visibility:hidden;transform:scale(1.025)}}
.channel-hub{position:fixed;right:20px;top:114px;bottom:auto;z-index:30;display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:10px;background:#fffffff5;border:1px solid #dce5ee;border-radius:14px;box-shadow:0 4px 18px #142d4017}
.channel-title{grid-column:1/-1;font-size:12px;font-weight:700;color:#52677d;text-align:center;letter-spacing:.04em}
.channel-hub a,.channel-hub>span,.channel-hub button{display:flex;align-items:center;justify-content:center;gap:7px;font-size:13px;padding:7px 10px;min-height:44px;border-radius:8px;border:0;background:#f3f6fa;font-weight:700;color:#19334d}
.channel-hub a:hover{background:#e7eef7}.channel-mark{width:24px;height:24px;flex:none}
@media(max-width:720px){.channel-hub{right:12px;padding:5px 7px;gap:2px}.channel-title{font-size:10px}.channel-hub a,.channel-hub>span,.channel-hub button{font-size:11px;padding:5px 7px;min-height:36px;gap:5px}.channel-mark{width:20px;height:20px}}
.notice-dialog{border:1px solid #c9d7e6;border-radius:20px;padding:40px;width:min(560px,calc(100% - 32px));max-height:85vh;overflow:auto;color:#142d40;box-shadow:0 25px 100px #00132944}
.notice-dialog::backdrop{background:#04172c99;backdrop-filter:blur(5px)}
.notice-dialog h2{font-size:28px;margin:18px 0}.notice-label{font-size:12px;letter-spacing:.18em;color:#316799}.notice-text{white-space:pre-wrap;overflow-wrap:anywhere}.notice-image{max-width:100%;height:auto}.notice-close{float:right;border:0;background:transparent}.notice-hide{display:block;margin:25px 0 0;border:0;background:transparent;font-size:13px;color:#50637a}
@media(prefers-reduced-motion:reduce){.brand-intro{display:none}}
