@font-face{font-family:Archivo;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/archivo-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:Archivo;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/archivo-latin-800-normal.woff2) format('woff2')}
@font-face{font-family:Archivo;font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/archivo-latin-900-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-600-normal.woff2) format('woff2')}
:root{--navy:#0B3558;--navy-2:#072640;--acc:#00C0C0;--acc-dark:#00706F;--ink:#1B2A36;--muted:#3E5462;--line:#D3DEE3;--soft:#F2F6F7;--pale:#D6E4EA}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--ink);font:17px/1.55 'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif}
img{max-width:100%;display:block}
a{color:var(--acc-dark)}a:hover{color:var(--navy)}
:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
h1,h2,h3,.arch{font-family:Archivo,system-ui,sans-serif}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;z-index:10;background:#fff;padding:8px 12px}
.btn{display:inline-flex;align-items:center;min-height:48px;padding:0 24px;border-radius:6px;font-weight:600;text-decoration:none;border:0;font:inherit;font-weight:600;cursor:pointer}
.btn-acc{background:var(--acc);color:var(--navy-2)}.btn-acc:hover{background:#2fd3d3;color:var(--navy-2)}
.btn-line{border:2px solid #fff;color:#fff}.btn-line:hover{background:#fff;color:var(--navy)}
.btn-navy{background:var(--navy);color:#fff;min-height:44px;padding:0 20px}.btn-navy:hover{background:var(--navy-2);color:#fff}
header.top{background:var(--navy-2);color:#fff}
header.top .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding-top:16px;padding-bottom:16px}
.brand{font-family:Archivo,sans-serif;font-weight:800;font-size:15px;letter-spacing:.14em;color:#fff;text-decoration:none}
.brand span,.acc{color:var(--acc)}
nav.menu{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:15px}
nav.menu a{color:var(--pale);text-decoration:none}nav.menu a:hover{color:#fff;text-decoration:underline}
.hero{background-color:var(--navy);background-image:linear-gradient(rgba(0,192,192,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(0,192,192,.07) 1px,transparent 1px);background-size:28px 28px;color:#fff}
.hero .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:48px 56px;padding-top:64px;padding-bottom:88px}
.hero-text{flex:1 1 460px;min-width:0;display:flex;flex-direction:column;gap:22px}
.eyebrow{margin:0;font-size:15px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--acc)}
.title{margin:0;display:flex;flex-direction:column;line-height:.95}
.title .t1{font-weight:800;font-size:clamp(22px,2.6vw,30px);letter-spacing:.28em}
.title .t2{font-weight:900;font-size:clamp(72px,10vw,128px);letter-spacing:-.02em;color:var(--acc)}
.title .t3{font-weight:800;font-size:clamp(30px,3.9vw,46px);letter-spacing:.05em}
.sub{margin:0;font-family:Archivo,sans-serif;font-weight:700;font-size:clamp(22px,2.4vw,28px);line-height:1.2}
.lead{margin:0;font-size:19px;color:var(--pale);max-width:560px}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.hero-cover{flex:0 1 320px;display:flex;justify-content:center;margin:0 auto}
.hero-cover img{width:100%;max-width:320px;height:auto;aspect-ratio:640/909;border-radius:3px 8px 8px 3px;box-shadow:18px 22px 0 rgba(0,192,192,.22),0 24px 48px rgba(0,0,0,.45)}
section.block .wrap{padding-top:80px;padding-bottom:80px}
.h2{margin:0;font-weight:800;font-size:clamp(28px,3.4vw,40px);color:var(--navy);line-height:1.1}
.intro{display:flex;flex-direction:column;gap:12px;max-width:720px;margin-bottom:36px}
.intro p{margin:0;font-size:18px;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.card{display:flex;flex-direction:column;gap:12px;padding:28px;border:1px solid var(--line);border-top:4px solid var(--acc);border-radius:10px;background:#fff;scroll-margin-top:24px}
.card:target{outline:3px solid var(--acc);outline-offset:4px}
.card .cap{margin:0;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--acc-dark)}
.card h3{margin:0;font-weight:700;font-size:24px;color:var(--navy);line-height:1.2}
.card p{margin:0;flex-grow:1}
.card .btn{align-self:flex-start}
.soft{background:var(--soft)}
.two{display:flex;flex-wrap:wrap;gap:48px}
.two>div{flex:1 1 400px;min-width:0;display:flex;flex-direction:column;gap:18px}
.two p{margin:0;font-size:18px}
.notice{display:flex;flex-direction:column;gap:12px;padding:22px 24px;background:#fff;border-left:4px solid var(--acc);border-radius:6px}
.notice .n1{margin:0;font-family:Archivo,sans-serif;font-weight:700;font-size:20px;color:var(--navy)}
.notice .n2{margin:0;font-size:16px;color:var(--muted)}
.notice .btn{align-self:flex-start;min-height:44px;padding:0 20px}
.toc h3{margin:0;font-weight:700;font-size:20px;color:var(--navy)}
.toc ol{margin:0;padding-left:26px;display:flex;flex-direction:column;gap:6px;font-size:16px}
.author .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:40px 48px}
.author img{flex:0 0 auto;width:240px;height:240px;object-fit:cover;object-position:50% 20%;border-radius:50%;background:var(--navy);border:6px solid var(--acc)}
.author .txt{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:14px}
.author .txt p{margin:0;font-size:18px}
.author h2{margin:0;font-weight:800;font-size:34px;color:var(--navy)}
.social{display:flex;flex-wrap:wrap;gap:18px;font-weight:600}
.contact{background:var(--navy);color:#fff}
.contact .two>div:first-child p{color:var(--pale)}
.contact .two>div:first-child a{color:var(--acc)}
form.f,.ok{display:flex;flex-direction:column;gap:16px;background:#fff;color:var(--ink);padding:32px;border-radius:10px}
.row{display:flex;flex-wrap:wrap;gap:16px}.row label{flex:1 1 220px}
form.f label.fld{display:flex;flex-direction:column;gap:6px;font-size:15px;font-weight:600}
form.f input[type=text],form.f input[type=email],form.f input[type=tel],form.f select,form.f textarea{min-height:46px;padding:0 12px;border:1px solid #9FB3BD;border-radius:6px;font:inherit;font-weight:400;background:#fff;color:var(--ink);width:100%}
form.f textarea{padding:10px 12px;resize:vertical}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.chk input{width:20px;height:20px;margin:2px 0 0;flex:0 0 auto}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.legal-mini{margin:0;font-size:13px;line-height:1.5;color:var(--muted)}
.err{margin:0;padding:12px 14px;border-radius:6px;background:#FDECEC;color:#8A1C1C;font-size:15px}
.ok{border-top:4px solid var(--acc)}
.ok .o1{margin:0;font-family:Archivo,sans-serif;font-weight:800;font-size:26px;color:var(--navy)}
.ok p{margin:0}
footer.foot{background:var(--navy-2);color:var(--pale);font-size:14px}
footer.foot .wrap{display:flex;flex-direction:column;gap:18px;padding-top:40px;padding-bottom:40px}
footer.foot .r{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px}
footer.foot nav{display:flex;flex-wrap:wrap;gap:8px 20px}
footer.foot a{color:var(--pale)}
footer.foot p{margin:0;max-width:820px}
.doc .wrap{max-width:820px;padding-top:56px;padding-bottom:72px}
.doc h1{margin:0 0 8px;font-weight:800;font-size:clamp(30px,4vw,42px);color:var(--navy);line-height:1.1}
.doc h2{margin:36px 0 10px;font-weight:700;font-size:22px;color:var(--navy)}
.doc p,.doc li{font-size:17px}
.doc table{border-collapse:collapse;width:100%;font-size:16px}
.doc td{border-top:1px solid var(--line);padding:10px 12px 10px 0;vertical-align:top}
.doc td:first-child{width:34%;font-weight:600;color:var(--navy)}
.upd{color:var(--muted);font-size:15px;margin:0}
mark.pend{background:#FFF1B8;color:#5C4400;padding:0 4px;border-radius:3px}
@media (max-width:560px){.hero .wrap{padding-top:40px;padding-bottom:64px}section.block .wrap{padding-top:56px;padding-bottom:56px}form.f,.ok{padding:22px}.author img{width:180px;height:180px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
