
:root{
  --ink:#0f1c22; --ink2:#33474f; --bg:#f4f6f5; --panel:#ffffff;
  --teal:#0e5c63; --teal-d:#0a4248; --amber:#e8a13a; --amber-d:#c9821f;
  --line:#d8e0de; --shadow:0 6px 20px rgba(14,28,34,.08);
  --maxw:1120px;
}
*{box-sizing:border-box}
html,body{width:100%;overflow-x:hidden;margin:0;padding:0}
body{font-family:"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.62;font-size:17px}
img{max-width:100%;height:auto;display:block}
a{color:var(--teal);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;width:100%}
.skip{position:absolute;left:-999px;top:0;background:var(--amber);color:#000;padding:8px 14px;z-index:60}
.skip:focus{left:8px;top:8px}

/* header */
.site-head{background:var(--teal-d);position:sticky;top:0;z-index:50;box-shadow:var(--shadow)}
.head-row{display:flex;align-items:center;gap:18px;min-height:62px}
.brand-logo{color:#fff;font-weight:800;font-size:1.16rem;letter-spacing:.2px;white-space:nowrap}
.brand-logo:hover{text-decoration:none}
.nav-main{margin-left:auto;display:flex;align-items:center;gap:6px;flex-wrap:nowrap}
.nav-main a{color:#dcebe9;padding:8px 11px;border-radius:7px;font-size:.95rem;white-space:nowrap}
.nav-main a:hover{background:rgba(255,255,255,.10);text-decoration:none}
.cta-mini{background:var(--amber);color:#221a07 !important;font-weight:700}
.cta-mini:hover{background:var(--amber-d);text-decoration:none}
.burger{display:none;margin-left:auto;background:transparent;border:0;cursor:pointer;
  width:42px;height:42px;flex-direction:column;justify-content:center;gap:5px;padding:8px}
.burger span{display:block;height:3px;background:#fff;border-radius:2px}

/* banner carousel */
.banner{background:var(--teal);padding:14px 0}
.bslides{position:relative;border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}
.slide{display:none;position:relative}
.slide.is-active{display:block}
.slide img{width:100%;height:auto;object-fit:contain;background:#08343a;display:block}
.slide-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;
  gap:8px;padding:22px 26px;
  background:linear-gradient(90deg,rgba(8,40,46,.86) 0%,rgba(8,40,46,.55) 46%,rgba(8,40,46,0) 78%)}
.slide-head{margin:0;color:#fff;font-size:1.32rem;font-weight:800;max-width:60%;text-shadow:0 2px 6px rgba(0,0,0,.4)}
.slide-sub{margin:0;color:#eaf3f1;font-size:1rem;max-width:54%}
.slide-cta{align-self:flex-start;background:var(--amber);color:#221a07;font-weight:700;
  padding:9px 16px;border-radius:8px}
.slide-cta:hover{background:var(--amber-d);text-decoration:none}
.bdots{display:flex;gap:8px;justify-content:center;margin-top:10px}
.bdot{width:10px;height:10px;border-radius:50%;border:0;background:rgba(255,255,255,.45);cursor:pointer}
.bdot.is-active{background:#fff}

/* crumbs */
.crumbs{background:#e9efed;border-bottom:1px solid var(--line);font-size:.9rem}
.crumbs .wrap{padding-top:9px;padding-bottom:9px}
.crumbs a{color:var(--teal)}
.crumbs .sep{margin:0 8px;color:#90a39e}
.crumbs span[aria-current]{color:var(--ink2)}

/* main */
.main-wrap{padding-top:26px;padding-bottom:46px}
h1{font-size:2.0rem;line-height:1.2;margin:.2em 0 .5em;color:var(--ink)}
h2{font-size:1.42rem;margin:1.5em 0 .5em;color:var(--teal-d)}
h3{font-size:1.16rem;margin:1.2em 0 .4em}
p{margin:.7em 0}
.lede{font-size:1.12rem;color:var(--ink2);background:var(--panel);border-left:4px solid var(--amber);
  padding:14px 18px;border-radius:8px;box-shadow:var(--shadow)}
main ul,main ol{margin:.7em 0 .9em;padding-left:1.3em}
main li{margin:.3em 0}
.checklist{list-style:none;padding-left:0}
.checklist li{position:relative;padding-left:26px;margin:.45em 0}
.checklist li::before{content:"›";position:absolute;left:6px;top:-1px;color:var(--amber-d);font-weight:800}

.hero-fig{margin:0 0 18px}
.hero-img{width:100%;height:auto;border-radius:12px;box-shadow:var(--shadow)}

/* cards */
.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:18px 0}
.card{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:16px 18px;
  display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow);transition:transform .15s}
.card:hover{transform:translateY(-3px);text-decoration:none}
.card-t{font-weight:800;color:var(--teal-d)}
.card-d{color:var(--ink2);font-size:.95rem}

/* tables */
.table-scroll{overflow-x:auto;margin:1em 0;border-radius:10px;box-shadow:var(--shadow)}
table{border-collapse:collapse;width:100%;min-width:420px;background:var(--panel)}
th,td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--line);font-size:.97rem}
thead th{background:var(--teal);color:#fff;font-weight:700}
tbody tr:nth-child(even){background:#f3f7f5}

/* cta box */
.cta-box{background:linear-gradient(135deg,var(--teal-d),var(--teal));color:#fff;border-radius:14px;
  padding:22px 24px;margin:24px 0;box-shadow:var(--shadow)}
.cta-line{margin:0 0 14px;font-size:1.08rem}
.cta-btn{display:inline-block;background:var(--amber);color:#221a07;font-weight:800;
  padding:12px 26px;border-radius:9px}
.cta-btn:hover{background:var(--amber-d);text-decoration:none}
.cta-fine{margin:12px 0 0;font-size:.82rem;color:#cfe3e0}

/* authority */
.authority{margin:24px 0}
.auth-list{padding-left:1.2em}

/* faq */
.faq{margin:26px 0}
.faq-item{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin:10px 0;
  box-shadow:var(--shadow);overflow:hidden}
.faq-item summary{cursor:pointer;padding:14px 18px;font-weight:700;color:var(--teal-d);list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";float:right;color:var(--amber-d);font-weight:800}
.faq-item[open] summary::after{content:"–"}
.faq-a{padding:0 18px 14px}
.faq-a p{margin:.3em 0}

/* notfound */
.notfound{padding:40px 0;text-align:center}

/* back to top */
.totop{position:fixed;right:20px;bottom:20px;width:46px;height:46px;border-radius:50%;
  background:var(--teal-d);color:#fff;border:0;font-size:1.3rem;cursor:pointer;box-shadow:var(--shadow);z-index:40}
.totop[hidden]{display:none}

/* footer */
.site-foot{background:#0c2a2e;color:#cbdcd9;margin-top:30px;padding:30px 0 20px}
.fbrand{font-size:1.16rem;font-weight:800;color:#fff;margin-bottom:14px}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:22px}
.fcol h3{color:#fff;font-size:1rem;margin:0 0 8px}
.fcol ul{list-style:none;padding:0;margin:0}
.fcol li{margin:.32em 0}
.fcol a{color:#bcd2cf}
.fnote{font-size:.9rem;color:#a9c2bf;margin:0}
.fdisc{font-size:.84rem;color:#90aaa6;margin:20px 0 6px;border-top:1px solid #1d3d41;padding-top:14px}
.fcopy{font-size:.84rem;color:#7e9893;margin:.3em 0 0}

@media (max-width:860px){
  body{font-size:16px}
  .wrap{padding:0 22px}
  h1{font-size:1.62rem}
  h2{font-size:1.26rem}
  .burger{display:flex}
  .nav-main{display:none;position:absolute;left:0;right:0;top:62px;flex-direction:column;
    align-items:stretch;gap:0;background:var(--teal-d);padding:8px 14px 14px;box-shadow:var(--shadow)}
  .nav-main.open{display:flex}
  .nav-main a{padding:12px 8px;border-radius:6px}
  .cta-mini{margin-top:8px;text-align:center}
  .slide img{min-height:132px}
  .slide-head{font-size:1.04rem;max-width:78%}
  .slide-sub{display:none}
  .slide-copy{padding:14px 16px}
  .slide-cta{padding:7px 13px;font-size:.9rem}
}
@media (max-width:480px){
  .slide-head{max-width:86%;font-size:.96rem}
}
