:root{--teal:#087777;--teal-2:#06615f;--subtle:#5f6f7c}
html{scroll-padding-top:92px;scroll-behavior:auto}
.skip-link{position:fixed;top:-100px;left:16px;z-index:200;background:#fff;padding:12px;color:#143746}
.skip-link:focus{top:12px}
:focus-visible{outline:3px solid #a9620c;outline-offset:4px}
.site-header{position:sticky;top:0;background:#f4f6f7;z-index:50;color:#14202c;border-bottom:1px solid #d7dee5}
.site-header .nav{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.site-header .nav-links{display:flex;gap:20px;align-items:center}
.site-header .nav-links a{color:#263546;display:inline-flex;align-items:center;min-height:44px;font-size:14px}
.site-header .nav-links .btn-primary,.btn-primary{color:#fff;background:#087777;box-shadow:none}
.site-header .nav-links .btn-primary:hover,.btn-primary:hover{background:#065c5c;color:#fff}
.menu-toggle{display:none;border:1px solid #9aabb5;border-radius:4px;background:#fff;padding:9px 12px;font:inherit;color:#14202c}
.article-head{padding-top:28px;padding-bottom:22px}
.article-head h1{font-size:clamp(25px,4vw,38px);line-height:1.5}
.article-body{padding:clamp(20px,4vw,40px)}
.article-body .point-box:first-child{margin-top:0}
.article-body a{word-break:normal;overflow-wrap:anywhere}
.article-body figure img{aspect-ratio:auto}
.article-body h2,.article-body h3{scroll-margin-top:16px}
section[id]{scroll-margin-top:0}
.toc{margin-top:18px}
.cluster-links,.resource-box{margin:24px 0;padding:22px;border:1px solid #d7dee5;background:#fff}
.cluster-links h2,.resource-box h2{font-size:19px;margin:0 0 12px}
.cluster-links ul{padding-left:20px;margin:0}
.catalog{max-width:1060px;margin:0 auto;padding:32px 20px}
.catalog h1{font-size:clamp(28px,4vw,40px);margin:0 0 14px}
.catalog-intro{max-width:760px;color:#526570}
.search-box{display:block;margin:24px 0 16px;font-weight:700}
.search-box input{display:block;width:100%;max-width:680px;margin-top:7px;border:1px solid #8c9fa8;border-radius:5px;padding:12px;font:inherit;background:#fff}
.category-tabs,.pagination{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0;padding:0;list-style:none}
.category-tabs a,.pagination a,.pagination span{display:inline-flex;min-height:44px;padding:8px 14px;background:#fff;border:1px solid #c7d3db;border-radius:4px;text-decoration:none;color:#234858}
.category-tabs [aria-current],.pagination [aria-current]{background:#163847;color:#fff}
.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.catalog-card{padding:20px;background:#fff;border:1px solid #d7dee5;border-radius:5px}
.catalog-card h2{font-size:19px;line-height:1.6;margin:8px 0}
.catalog-card p{font-size:14px;color:#526570;margin:8px 0}
.catalog-card small,.catalog-card time{font-size:12px;color:#526570}
.guide-row{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0 28px}
.guide-row a{background:#e3eef0;border:1px solid #bdd3d9;border-radius:4px;padding:12px 16px}
#search-results{background:#fff;padding:20px;border:1px solid #bbcfd6;margin:16px 0}
#search-results ul{padding-left:20px}#search-results li{margin:12px 0}
.form-shell{max-width:720px;margin:32px auto;padding:0 20px}
.form-shell label,.contact-form label{display:block;font-weight:700;margin:16px 0 6px}
.form-shell input,.contact-form input,.contact-form select,.contact-form textarea{box-sizing:border-box;width:100%;border:1px solid #8c9fa8;background:#fff;color:#14202c;padding:12px;font:inherit;border-radius:4px;min-height:46px}
.contact-form textarea{min-height:140px}
.form-shell .btn{margin-top:20px;cursor:pointer;border:0}
.form-shell .note,.form-help{font-size:13px;color:#526570;line-height:1.8}
.form-shell .file-title{background:#fff;border:1px solid #cbd8df;padding:20px;margin:20px 0}
.form-shell .file-title span{display:block;font-size:14px;margin-top:8px}
.preview-image{width:100%;max-height:380px;object-fit:contain;border:1px solid #d7dee5;background:white;margin:16px 0}
.hp-field,.form-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
[hidden]{display:none!important}
.err,.form-error{color:#a32721;background:#fff2ef;padding:12px;border-left:3px solid #a32721}
.done,.form-done{padding:24px;background:#eaf5f0;border:1px solid #7da89b}
.footer-links{flex-wrap:wrap}
.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.resource-grid section{border:1px solid #cad5dd;background:#fff;padding:20px}
.resource-grid h2{font-size:21px}.resource-grid p{font-size:14px}
.simple-page{max-width:900px;margin:40px auto;padding:0 20px}
.simple-page h1{font-size:clamp(27px,4vw,38px)}
.simple-page table{width:100%;border-collapse:collapse;background:#fff;margin:22px 0}
.simple-page th,.simple-page td{padding:12px;text-align:left;border-bottom:1px solid #d7dee5;vertical-align:top}
.simple-page th{background:#163847;color:#fff}
@media(max-width:780px){
 .menu-toggle{display:block}.site-header .nav{position:relative;flex-wrap:wrap;gap:8px;padding:10px 0}
 .site-header .nav-links{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding-bottom:8px}
 .site-header .nav-links.is-open{display:flex}.site-header .nav-links a{display:flex!important;min-height:48px;padding:8px 12px}
 .brand{font-size:13px}.brand small{font-size:10px}.brand-mark{display:none}
 .catalog-grid,.resource-grid{grid-template-columns:1fr}.catalog{padding:26px 20px}
 .article-width{width:calc(100% - 24px)}.article-body{padding:20px}.article-head{padding:22px 10px}
 .category-tabs a{font-size:13px;padding:8px 11px}.simple-page{overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
