*{box-sizing:border-box;margin:0;padding:0;}
:root{--navy:#1B2F4D;--navy2:#2c4263;--orange:#E07B33;--teal:#155249;--teal2:#234a40;--sage:#9DBEA6;--ink:#33414f;--sub:#5d6770;--line:#dde3de;--bg:#eef0ee;--paper:#fff;--ease:cubic-bezier(.22,1,.36,1);}
html{scroll-behavior:smooth;}
body{background:var(--bg);font-family:'Zen Kaku Gothic New',sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;}
.en{font-family:'Red Hat Display',sans-serif;}
.wrap{max-width:1040px;margin:0 auto;padding:0 40px;}
.full{width:100%;}
.lbl{font-size:13px;font-weight:800;letter-spacing:4px;color:var(--orange-ink);margin:0 0 12px;}
.h{font-size:32px;font-weight:900;color:var(--navy);line-height:1.35;letter-spacing:.5px;margin:0;}
.h .ac{color:var(--navy);border-bottom:4px solid var(--orange);padding-bottom:1px;}
.lead{font-size:17px;line-height:1.95;color:var(--ink);font-weight:500;}
.body{font-size:16px;line-height:1.95;color:var(--ink);}
.btn{display:inline-block;background:var(--cta-bg);color:var(--cta-fg);border:2px solid var(--cta-border);font-weight:900;font-size:17px;padding:17px 38px;border-radius:9px;text-decoration:none;letter-spacing:.5px;position:relative;overflow:hidden;transition:transform .25s var(--ease),box-shadow .25s var(--ease);}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(27,47,77,.26);}
.btn .sheen{position:absolute;top:0;left:-130%;width:60%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-18deg);}
.btn:hover .sheen{animation:sheen .85s var(--ease);}
@keyframes sheen{to{left:140%;}}
.ghost{display:inline-block;border:2px solid var(--navy);color:var(--navy);font-weight:800;font-size:15px;padding:13px 26px;border-radius:9px;text-decoration:none;transition:background .25s,color .25s;}
.ghost:hover{background:var(--navy);color:#fff;}
.nav span{position:relative;cursor:pointer;}
.nav span::after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);}
.nav span:hover::after,.nav span.on::after{transform:scaleX(1);}
#prog{position:fixed;top:0;left:0;height:3px;width:0;background:var(--orange);z-index:60;transition:width .08s linear;}
.rv{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.rv.in{opacity:1;transform:none;}
.rv.d1{transition-delay:.08s;}.rv.d2{transition-delay:.16s;}.rv.d3{transition-delay:.24s;}
.rcard{position:relative;background:var(--paper);border:1px solid #c8d3cb;border-radius:13px;padding:26px 26px;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s;}
.rcard:hover{transform:translateY(-5px);box-shadow:0 14px 32px rgba(27,47,77,.12);border-color:var(--orange);}

.catbadge{display:inline-block;background:var(--badge-bg);border-radius:6px;padding:5px 14px;line-height:1.5;}
.catbadge a{color:var(--badge-fg);font-size:13px;font-weight:800;letter-spacing:1px;text-decoration:none;}
.catbadge a:hover{text-decoration:underline;}

.prose{max-width:720px;margin:0 auto;}
.prose p{font-size:16.5px;line-height:1.95;color:var(--ink);margin:0 0 1.4em;}
.prose h2{font-size:23px;font-weight:900;color:var(--navy);line-height:1.5;letter-spacing:.3px;margin:2.2em 0 .9em;padding-left:14px;border-left:5px solid var(--orange);}
.prose h2:first-child{margin-top:0;}
.prose h3{font-size:17.5px;font-weight:800;color:var(--teal);line-height:1.6;margin:1.8em 0 .6em;}
.prose ul,.prose ol{margin:0 0 1.6em;padding-left:1.4em;}
.prose li{font-size:16.5px;line-height:1.9;color:var(--ink);margin:0 0 .55em;}
.prose li::marker{color:var(--orange);}
.prose strong,.prose b{color:var(--navy);font-weight:800;}
.prose blockquote{margin:0 0 1.6em;padding:16px 22px;background:#f4f6f4;border-left:4px solid var(--sage);border-radius:0 10px 10px 0;font-size:16px;line-height:1.9;color:var(--ink);}
.prose blockquote p{margin:0;}
.lead-p{font-size:17.5px!important;line-height:2!important;color:var(--ink);font-weight:500;}
@media(max-width:860px){
  .wrap{padding:0 20px;} .h{font-size:25px;} .hero-h{font-size:30px!important;}
  .grid2{grid-template-columns:1fr!important;} .nav{display:none;}
  .prose h2{font-size:20px;} .prose p,.prose li{font-size:16px;}
}
@media(prefers-reduced-motion:reduce){.rv{opacity:1!important;transform:none!important;transition:none!important;}}
