:root{--navy:#07213c;--navy2:#0a2f54;--blue:#1f6fb6;--sky:#eaf4ff;--orange:#f5822f;--ink:#102033;--muted:#5f7186;--line:#d8e4ef;--bg:#f4f8fc;--card:#ffffff;--radius:22px;--shadow:0 16px 40px rgba(7,33,60,.08);--max:1240px}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Inter,DM Sans,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.65}
img{max-width:100%;display:block} a{text-decoration:none;color:inherit} .wrap{width:min(var(--max),calc(100% - 32px));margin:0 auto}
.topbar{background:linear-gradient(90deg,var(--navy),var(--navy2));color:#fff;font-size:.93rem}.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:11px 0;flex-wrap:wrap}.topbar .brandline{font-weight:600}.topbar .contact-links{display:flex;align-items:center;gap:0;flex-wrap:wrap}.topbar .contact-links a{color:#fff;opacity:.96;display:inline-flex;align-items:center}.topbar .contact-links a+a:before{content:"•";margin:0 10px;color:rgba(255,255,255,.6)}
header.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.nav-shell{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0}.brand{display:flex;align-items:center;gap:14px;min-width:0}.brand img{width:62px;height:62px;object-fit:contain}.brand h1{margin:0 0 4px;font-size:1.02rem;font-weight:800;letter-spacing:.02em}.brand p{margin:0;color:var(--muted);font-size:.94rem}.nav-right{display:flex;align-items:center;gap:18px;min-width:0}
.menu-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 12px;min-width:46px;min-height:44px;cursor:pointer;box-shadow:var(--shadow)} .menu-toggle span,.menu-toggle span:before,.menu-toggle span:after{display:block;width:20px;height:2px;background:var(--ink);position:relative;border-radius:2px;content:""} .menu-toggle span:before{position:absolute;top:-6px}.menu-toggle span:after{position:absolute;top:6px}
nav.main-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap} nav.main-nav a{padding:10px 12px;border-radius:12px;white-space:nowrap;font-weight:500} nav.main-nav a:hover{background:#f4f8fc} nav.main-nav a.active{background:var(--sky);color:var(--blue);font-weight:700} nav.main-nav a.quote{background:linear-gradient(135deg,#ff9d48,var(--orange));color:#fff;font-weight:700;border-radius:999px;padding:12px 18px;box-shadow:0 10px 22px rgba(245,130,47,.18)}
.hero{background:linear-gradient(135deg,var(--navy) 0%, #0a375e 62%, #0e4978 100%);color:#fff;padding:62px 0 46px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:38px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);font-size:.84rem;text-transform:uppercase;letter-spacing:.05em}.eyebrow:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 6px rgba(245,130,47,.16)} .hero h2{margin:18px 0 16px;font-size:clamp(2.8rem,6vw,5rem);line-height:.95;letter-spacing:-.04em;max-width:9ch}.hero p{margin:0;font-size:1.08rem;color:#dce7f3;max-width:62ch}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:14px;font-weight:700}.btn-primary{background:linear-gradient(135deg,#ff9d48,var(--orange));color:#fff}.btn-secondary{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.18);color:#fff}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}.stat-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:16px}.stat-card strong{display:block;margin-bottom:6px}.hero-image img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:24px;box-shadow:0 24px 50px rgba(0,0,0,.18)}
.section{padding:72px 0}.section.alt{background:#fff}.section h2{margin:0 0 12px;font-size:clamp(2rem,4vw,3rem);line-height:1.02;letter-spacing:-.04em}.lead-center{max-width:70ch;color:var(--muted);margin:0 0 28px}.grid-2,.grid-3,.grid-4{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);height:100%}.card h3{margin:0 0 10px;font-size:1.18rem;line-height:1.24}.card p{margin:0;color:var(--muted)}.prod-card{display:flex;flex-direction:column}.prod-card .desc{min-height:115px}.media-frame{margin-top:18px;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:linear-gradient(180deg,#ffffff,#eef4fa);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:18px}.media-frame img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.media-frame.cover{padding:0}.media-frame.cover img{width:100%;height:100%;object-fit:cover}.simple-card{min-height:230px}
.partner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.partner-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px}.partner-logo-wrap{height:112px;padding:18px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#fff,#f9fbfe);display:flex;align-items:center;justify-content:center}.partner-logo-wrap img{max-width:86%;max-height:72px;object-fit:contain}
.page-hero{padding:50px 0 24px;background:#eef4fa;border-bottom:1px solid var(--line)}.page-hero h2{margin:0 0 12px;font-size:clamp(2.1rem,4vw,3.4rem);line-height:1.02;letter-spacing:-.04em}.page-hero p{margin:0;max-width:74ch;color:var(--muted)}.breadcrumb{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.92rem;color:var(--muted);margin-bottom:16px}
.footer-cta{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;padding:34px 0;margin-top:28px}.footer-cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}footer.site-footer{background:#fff;border-top:1px solid var(--line);padding:28px 0 40px}.footer-grid{display:grid;grid-template-columns:1.2fr .9fr .9fr 1.2fr;gap:24px}.footer-grid h4{margin:0 0 10px;font-size:1rem}.footer-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.footer-grid p,.footer-grid li,.footer-grid a{color:var(--muted)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-top:22px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:.92rem}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:20px}.contact-panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:var(--shadow)}.contact-panel .contact-item{padding:14px 0;border-bottom:1px solid var(--line)}.contact-panel .contact-item:last-child{border-bottom:0} form{display:grid;gap:14px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}label{display:grid;gap:7px;font-weight:700}input,select,textarea{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;font:inherit}textarea{min-height:160px;resize:vertical}.notice{padding:12px 14px;border-radius:12px}.notice.success{background:#ecfdf3;color:#166534;border:1px solid #b7e7c7}.notice.error{background:#fff1f2;color:#b42318;border:1px solid #fecdd3}
.table-like{display:grid;gap:12px}.table-like .row{display:grid;grid-template-columns:180px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
@media (max-width:1180px){.menu-toggle{display:inline-flex;align-items:center;justify-content:center}.nav-right{display:flex;flex-direction:column;align-items:stretch;gap:12px;flex:1}nav.main-nav{display:none;width:100%;flex-direction:column;align-items:stretch;padding-top:10px;border-top:1px solid var(--line)}nav.main-nav.open{display:flex}nav.main-nav a{padding:12px 10px}nav.main-nav a.quote{margin-top:8px;text-align:center}.hero-grid{grid-template-columns:1fr}.grid-4,.grid-3,.partner-grid{grid-template-columns:repeat(2,1fr)}.contact-grid,.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.topbar .wrap{flex-direction:column;align-items:flex-start}.topbar .contact-links{display:grid;gap:6px}.topbar .contact-links a+a:before{content:none;margin:0}.section,.hero{padding:56px 0}.page-hero{padding:36px 0 18px}.grid-2,.grid-3,.grid-4,.partner-grid,.contact-grid,.footer-grid,.form-grid,.hero-stats{grid-template-columns:1fr}.hero h2{font-size:clamp(2.4rem,11vw,4rem)}.prod-card .desc{min-height:0}.brand img{width:54px;height:54px}.brand h1{font-size:1rem}.brand p{font-size:.88rem}.table-like .row{grid-template-columns:1fr}}


/* V9.8 image-system correction */
.prod-card .desc{min-height:130px}
.media-frame{background:linear-gradient(180deg,#ffffff,#edf4fb);padding:22px}
.media-frame img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.media-frame.cover{padding:0}
.media-frame.cover img{width:100%;height:100%;object-fit:cover}
.home-category-grid .prod-card .media-frame{aspect-ratio:16/9}
.products-grid-main .prod-card .media-frame{aspect-ratio:16/9}
.products-grid-main .simple-card{min-height:250px}
@media (max-width:760px){
  .prod-card .desc{min-height:0}
  .media-frame{padding:16px}
}


/* V10 polish overrides */
:root{--max:1320px}
.topbar{font-size:.9rem}
.topbar .wrap{padding:10px 0}
.site-header{box-shadow:0 1px 0 rgba(7,33,60,.04)}
.nav-shell{gap:16px;padding:14px 0}
.brand{flex:0 0 260px;max-width:260px}
.brand img{width:54px;height:54px}
.brand h1{font-size:1rem}
.brand p{font-size:.9rem;line-height:1.35}
.nav-right{flex:1;justify-content:flex-end}
nav.main-nav{justify-content:flex-end;gap:2px;flex-wrap:nowrap}
nav.main-nav a{padding:10px 10px;font-size:.96rem}
nav.main-nav a.quote{padding:11px 16px}
.hero{padding:52px 0 44px}
.hero-grid{grid-template-columns:1.05fr .95fr;gap:34px}
.hero h2{font-size:clamp(2.9rem,5.7vw,5rem);max-width:8.5ch}
.hero p{max-width:58ch}
.hero-stats{margin-top:22px}
.stat-card{padding:14px}
.section{padding:68px 0}
.section h2{font-size:clamp(2.1rem,4vw,3.2rem)}
.home-category-grid .prod-card,.products-grid-main .prod-card{padding:22px}
.prod-card .desc{min-height:104px}
.media-frame{aspect-ratio:16/9;padding:18px;background:linear-gradient(180deg,#ffffff,#f1f6fb)}
.media-frame img{width:auto;height:auto;max-width:100%;max-height:100%}
.media-frame.cover{padding:0}
.media-frame.cover img{width:100%;height:100%;object-fit:cover}
.partner-grid{gap:18px}
.partner-logo-wrap{height:104px}
.footer-cta{padding:30px 0}
.footer-grid{grid-template-columns:1.1fr .95fr .95fr 1.1fr}
.footer-bottom{padding-top:18px}
@media (max-width:1260px){
  .brand{flex:0 0 235px;max-width:235px}
  nav.main-nav a{padding:9px 8px;font-size:.92rem}
  nav.main-nav a.quote{padding:10px 14px}
}
@media (max-width:1180px){
  .brand{flex:1;max-width:none}
  nav.main-nav{flex-wrap:wrap}
}
@media (max-width:760px){
  .hero{padding:42px 0 30px}
  .hero-grid{gap:22px}
  .hero h2{font-size:clamp(2.4rem,11vw,4rem)}
  .brand{gap:10px}
  .brand img{width:48px;height:48px}
}

.kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:24px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}
.kpi strong{display:block;font-size:1.65rem;line-height:1;margin-bottom:8px}
.authority-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.doc-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px;height:100%}
.doc-card h3{margin:0}
.doc-card p{margin:0;color:var(--muted)}
.doc-card ul{margin:0;padding-left:18px;color:var(--muted)}
.doc-card li{margin:4px 0}
.resource-search{display:grid;gap:14px}
.resource-search input{padding:14px 16px;border-radius:16px;border:1px solid var(--line);font-size:1rem}
.file-list{display:grid;gap:10px}
.file-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.file-meta{color:var(--muted);font-size:.92rem}
.partner-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;align-items:center}
.logo-showcase{background:linear-gradient(180deg,#fff,#f7fbff);border:1px solid var(--line);border-radius:22px;padding:28px;display:flex;align-items:center;justify-content:center;min-height:220px;box-shadow:var(--shadow)}
.logo-showcase img{max-width:80%;max-height:110px;object-fit:contain}
.bullet-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.bullet-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}
.cta-band{background:linear-gradient(135deg,#f2f8ff,#ffffff);border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:var(--shadow)}
.link-list{display:grid;gap:10px}
.link-list a{color:var(--blue);font-weight:700}
.placeholder-note{font-size:.95rem;color:var(--muted);padding:12px 14px;border:1px dashed var(--line);border-radius:14px;background:#fafcff}
@media (max-width:1180px){.kpi-strip,.authority-grid,.partner-hero-grid,.bullet-grid{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.kpi-strip,.authority-grid,.partner-hero-grid,.bullet-grid{grid-template-columns:1fr}.file-row{display:grid}}

/* V11.1 UI/UX Pro Max polish */
:root{
  --surface:#ffffff;
  --surface-2:#f8fbff;
  --text:#102033;
  --text-soft:#607186;
  --line-2:#e6edf5;
  --blue-50:#eff6ff;
  --blue-100:#dbeafe;
  --blue-600:#2563eb;
  --blue-700:#1d4ed8;
  --navy-900:#08213c;
  --shadow-soft:0 10px 30px rgba(8,33,60,.06);
  --shadow-hover:0 18px 40px rgba(8,33,60,.10);
}
html{font-size:16px}
body{color:var(--text);background:linear-gradient(180deg,#f3f8fc 0%,#f8fbfd 320px,#f5f8fc 100%)}
.wrap{width:min(var(--max),calc(100% - 40px))}
.topbar{font-size:.88rem}
.topbar .wrap{padding:10px 0}
header.site-header{backdrop-filter:saturate(140%) blur(10px); background:rgba(255,255,255,.94)}
.nav-shell{padding:14px 0}
.brand{gap:12px;min-width:250px;flex:0 0 auto}
.brand img{width:58px;height:58px}
.brand h1{font-size:1rem;line-height:1.1;letter-spacing:.015em}
.brand p{font-size:.88rem;line-height:1.35;max-width:240px}
.nav-right{flex:1;justify-content:flex-end}
nav.main-nav{gap:2px;justify-content:flex-end}
nav.main-nav a{font-size:.95rem;padding:10px 11px;border-radius:12px;transition:all .18s ease;color:#203247}
nav.main-nav a:hover{background:#f3f8fc;color:var(--navy-900)}
nav.main-nav a.active{background:var(--blue-50);color:var(--blue-700)}
nav.main-nav a.quote{padding:12px 18px;box-shadow:0 12px 24px rgba(245,130,47,.18)}
.hero{padding:72px 0 56px;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;inset:auto auto -90px -80px;width:320px;height:320px;border-radius:999px;background:radial-gradient(circle,#1f6fb622,transparent 65%)}
.hero-grid{grid-template-columns:1.02fr .98fr;gap:42px}
.hero h2{font-size:clamp(3rem,6.2vw,5.3rem);line-height:.94;max-width:8.8ch}
.hero p{font-size:1.08rem;line-height:1.72;max-width:60ch}
.hero-image img{border-radius:28px;border:1px solid rgba(255,255,255,.18)}
.eyebrow{font-size:.8rem;padding:11px 16px}
.stat-card{border-radius:20px}
.section{padding:78px 0}
.section h2{font-size:clamp(2.15rem,4.4vw,3.25rem);margin-bottom:14px}
.lead-center{font-size:1.03rem;line-height:1.72;max-width:72ch}
.card,.doc-card,.partner-card,.bullet-card,.kpi,.contact-panel{box-shadow:var(--shadow-soft);transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.card:hover,.doc-card:hover,.partner-card:hover,.bullet-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);border-color:#d7e5f1}
.card h3,.doc-card h3{letter-spacing:-.02em}
.home-category-grid .card,.authority-grid .doc-card{background:linear-gradient(180deg,#ffffff,#fbfdff)}
.prod-card p{color:var(--text-soft);line-height:1.7}
.home-category-grid .card img{display:none}
.media-frame{margin-top:18px;aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:linear-gradient(180deg,#fff,#eff5fb);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:20px}
.media-frame img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.media-frame.cover{padding:0}
.media-frame.cover img{width:100%;height:100%;object-fit:cover}
.small-tag{display:inline-flex;align-items:center;gap:8px;background:var(--blue-50);border:1px solid var(--blue-100);color:var(--blue-700);padding:7px 11px;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.page-hero{padding:56px 0 32px;background:linear-gradient(180deg,#eef5fb,#f7fbff);border-bottom:1px solid var(--line)}
.page-hero h2{font-size:clamp(2.3rem,4.5vw,3.6rem)}
.page-hero p{font-size:1.03rem;line-height:1.72;max-width:76ch}
.breadcrumb{font-size:.9rem}
.authority-grid,.partner-grid,.bullet-grid,.resource-grid,.solutions-grid{gap:22px}
.kpi-strip{gap:20px}
.kpi span{color:var(--text-soft);line-height:1.6}
.file-row{background:linear-gradient(180deg,#fff,#fbfdff)}
.file-row strong{letter-spacing:-.01em}
.file-row .btn{white-space:nowrap}
.footer-cta{padding:38px 0;background:linear-gradient(135deg,var(--navy-900),#0a375e 66%,#104a74 100%)}
.footer-cta h3{letter-spacing:-.02em}
footer.site-footer{background:#fff}
.footer-grid{align-items:start}
.footer-grid h4{font-size:1.02rem;margin-bottom:12px}
.footer-grid ul{gap:10px}
.footer-grid a:hover{color:var(--blue-700)}
.footer-bottom{font-size:.9rem}
.link-list a{display:inline-flex;align-items:center}
.link-list a:before{content:"→";margin-right:8px;color:var(--blue-700)}
.placeholder-note, .cta-band{background:linear-gradient(180deg,#fff,#f8fbff)}
@media (max-width:1320px){
  nav.main-nav a{font-size:.9rem;padding:10px 9px}
  .brand{min-width:220px}
  .brand p{max-width:210px}
}
@media (max-width:1180px){
  .brand{min-width:0}
  .nav-shell{align-items:flex-start}
  .nav-right{width:100%}
}
@media (max-width:760px){
  .wrap{width:min(var(--max),calc(100% - 28px))}
  .hero{padding:56px 0 44px}
  .hero h2{font-size:clamp(2.45rem,12vw,4rem)}
  .page-hero{padding:42px 0 22px}
  .brand img{width:52px;height:52px}
  .brand p{max-width:none}
}

/* V11.2 accessibility and request-flow polish */
.skip-link{position:absolute;left:16px;top:-56px;padding:12px 16px;border-radius:12px;background:var(--navy);color:#fff;font-weight:700;z-index:200;box-shadow:var(--shadow)}
.skip-link:focus{top:16px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #93c5fd;outline-offset:3px}
.notice.info{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}
.form-help{margin:0;color:var(--text-soft);font-size:.96rem;line-height:1.7}
.field-span-2{grid-column:span 2}
.search-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;color:var(--text-soft);font-size:.95rem}
.empty-state{padding:18px;border:1px dashed var(--line);border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbff);color:var(--text-soft)}
@media (max-width:760px){
  .field-span-2{grid-column:span 1}
  .search-meta{display:grid}
}
