:root{--yellow:#c79a62;--red:#a72d37;--blue:#4b504f;--ink:#252728;--muted:#6d6a65;--line:#d8d0c5;--paper:#fbf8f2;--soft:#eee9e1;--green:#6f7c75;--shell:1200px;color:var(--ink);background:var(--soft);font-family:Arial,Helvetica,sans-serif;scroll-behavior:smooth}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{background:var(--soft)}
body,button,input{font:inherit}
a{color:inherit}
.shell{width:min(var(--shell),calc(100% - 48px));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.label{margin:0;color:var(--red);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.label.light{color:#ddc19c}

.site-header{position:sticky;z-index:30;top:0;border-bottom:1px solid var(--line);background:#fbf8f2f2;backdrop-filter:blur(12px)}
.header-inner{display:flex;min-height:72px;align-items:center;gap:30px}
.brand{display:flex;align-items:center;gap:10px;margin-right:auto;text-decoration:none}
.brand>b{display:grid;width:48px;height:38px;place-items:center;color:#fff;background:var(--red);font-size:16px;letter-spacing:.05em}
.brand>span{display:flex;flex-direction:column;font-size:16px;font-weight:800;letter-spacing:.08em}
.brand small{margin-top:3px;color:var(--muted);font-size:9px;font-weight:600;letter-spacing:.14em}
.main-nav{display:flex;gap:24px}
.main-nav a{padding-block:27px;color:#4d4b47;font-size:11px;font-weight:700;text-decoration:none}
.main-nav a:hover{color:var(--red)}
.top-cta{padding:12px 16px;border:1px solid var(--ink);font-size:10px;font-weight:800;text-decoration:none;text-transform:uppercase}
.top-cta:hover{color:#fff;background:var(--ink)}
.nav-toggle{display:none;width:42px;padding:8px;border:0;background:transparent}
.nav-toggle>span:not(.sr-only){display:block;height:2px;margin:5px 0;background:var(--ink)}

.hero{padding:64px 0;background:linear-gradient(90deg,var(--paper) 0 67%,#c8a678 67%)}
.hero-grid{display:grid;min-height:520px;grid-template-columns:1.65fr .8fr;gap:56px;align-items:stretch}
.hero-copy{display:flex;align-items:flex-start;flex-direction:column;justify-content:center}
.hero h1,.section-head h2,.materials-head h2,.learning h2,.questions h2,.help h2,.page-heading h1{margin:16px 0;font-weight:760;letter-spacing:-.045em;line-height:1.02}
.hero h1{max-width:800px;font-size:clamp(50px,6vw,78px)}
.hero-copy>p:not(.label){max-width:690px;margin:14px 0 0;color:var(--muted);font-size:18px;line-height:1.6}
.hero-actions{display:flex;gap:12px;margin-top:35px}
.btn{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:0 21px;border:1px solid transparent;font-size:11px;font-weight:800;text-decoration:none;text-transform:uppercase}
.btn.primary{color:#fff;background:var(--red)}
.btn.primary:hover{background:#84232b}
.btn.secondary{border-color:var(--line);background:var(--paper)}
.btn.secondary:hover{border-color:var(--ink)}
.btn.yellow{color:var(--ink);background:var(--yellow)}
.btn.dark{color:#fff;background:var(--ink)}

.hero-panel{display:flex;flex-direction:column;padding:25px;color:#fff;background:#292b2c;box-shadow:0 18px 45px #28252224}
.hero-panel header{display:flex;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid #ffffff30}
.hero-panel header span{font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.hero-panel header b{font-size:12px}
.metric{display:flex;align-items:end;gap:18px;margin:35px 0}
.metric strong{font-size:72px;letter-spacing:-.07em;line-height:.8}
.metric span{color:#bfc6d0;font-size:11px;line-height:1.4}
.mini-chart{display:flex;height:155px;align-items:end;gap:9px;padding:16px 0 0;border-bottom:1px solid #ffffff55}
.mini-chart i{display:block;flex:1;background:var(--yellow)}
.mini-chart i:nth-child(2n){background:var(--red)}
.hero-panel footer{display:flex;justify-content:space-between;margin-top:auto;padding-top:25px;color:#aeb6c2;font-size:9px;text-transform:uppercase}

.topics{padding:88px 0;background:var(--soft)}
.section-head{display:grid;grid-template-columns:1.35fr .65fr;gap:70px;align-items:end;margin-bottom:34px}
.section-head h2,.materials-head h2,.learning h2,.questions h2,.help h2{font-size:clamp(38px,4.5vw,58px)}
.section-head>p{margin:0 0 8px;color:var(--muted);font-size:14px;line-height:1.65}
.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.topic-grid a{min-height:210px;padding:25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);text-decoration:none;transition:.2s ease}
.topic-grid a:hover{z-index:2;box-shadow:0 12px 30px #40382f20;transform:translateY(-3px)}
.topic-grid span{color:var(--red);font-size:12px;font-weight:800}
.topic-grid h3{margin:40px 0 14px;font-size:23px}
.topic-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}

.materials{padding:88px 0;color:#fff;background:var(--ink)}
.materials-head{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:34px}
.materials-head h2{color:#fff}
.material-search{position:relative;display:block;width:min(360px,100%)}
.material-search input{width:100%;height:50px;padding:0 44px 0 15px;border:1px solid #ffffff55;outline:0;color:#fff;background:transparent}
.material-search input::placeholder{color:#aeb6c2}
.material-search b{position:absolute;top:7px;right:13px;color:var(--yellow);font-size:27px}
.material-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.material-card{display:flex;min-height:285px;flex-direction:column;padding:25px;border:1px solid #ffffff28;background:#303233}
.material-card[hidden]{display:none}
.material-card header{display:flex;align-items:center;justify-content:space-between}
.material-card header span{color:var(--yellow);font-size:15px;font-weight:800}
.material-card header p{margin:0;color:#98a2b3;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.material-card h3{margin:38px 0 16px;font-size:23px;line-height:1.1}
.material-card h3 a{text-decoration:none}
.material-card>div{color:#b7c0cc;font-size:13px;line-height:1.55}
.read-link{margin-top:auto;padding-top:22px;color:#fff;font-size:10px;font-weight:800;text-decoration:none;text-transform:uppercase}
.read-link span{margin-left:12px;color:var(--yellow)}
.material-empty{padding:35px;border:1px solid #ffffff35;color:#b7c0cc;text-align:center}

.learning{padding:90px 0;background:var(--paper)}
.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;align-items:start}
.learning .split>div>p:not(.label){color:var(--muted);font-size:15px;line-height:1.7}
.learning ol{margin:0;padding:0;border-top:2px solid var(--ink);list-style:none}
.learning li{display:grid;grid-template-columns:50px 1fr 35px;gap:18px;align-items:center;padding:24px 5px;border-bottom:1px solid var(--line)}
.learning li>b{color:var(--red);font-size:13px}
.learning h3{margin:0 0 7px;font-size:20px}
.learning li p{margin:0;color:var(--muted);font-size:13px}
.learning li>span{color:var(--red);font-size:21px;text-align:right}

.laws{padding:88px 0;background:var(--soft)}
.update-list{border-top:2px solid var(--ink)}
.update-list article{display:grid;min-height:88px;grid-template-columns:120px 1fr 40px;gap:25px;align-items:center;border-bottom:1px solid var(--line)}
.update-list time{color:var(--red);font-size:11px;font-weight:800}
.update-list h3{margin:0;font-size:18px}
.update-list h3 a,.update-list article>a{text-decoration:none}
.update-list article>a{color:var(--red);font-size:20px;text-align:right}

.questions{padding:90px 0;color:#fff;background:var(--blue)}
.qa-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}
.questions h2{color:#fff}
.questions .qa-grid>div:first-child>p:not(.label){max-width:550px;color:#e3dfd8;line-height:1.65}
.qa-demo{border:1px solid #ffffff66;background:#ffffff0d}
.qa-demo>div{padding:25px;border-bottom:1px solid #ffffff44}
.qa-demo>div:last-child{border-bottom:0}
.qa-demo span{color:var(--yellow);font-size:9px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.qa-demo p{margin:12px 0 0;font-size:17px;line-height:1.5}

.help{padding:65px 0;background:#c8a678}
.help-row{display:grid;grid-template-columns:1.1fr .8fr auto;gap:55px;align-items:center}
.help h2{margin-bottom:0;font-size:38px}
.help-row>p{color:#4f4438;font-size:14px;line-height:1.6}

.site-footer{color:#bbb6ae;background:#202223}
.footer-inner{display:grid;min-height:150px;grid-template-columns:1fr auto auto;gap:35px;align-items:center;font-size:11px}
.footer-inner strong{color:#fff;font-size:16px}
.footer-inner>div p{margin:7px 0 0}
.footer-inner nav{display:flex;gap:17px}
.footer-inner a{text-decoration:none}
.footer-inner a:hover{color:var(--yellow)}

.content-page{min-height:72vh;padding:55px 0 80px;background:var(--soft)}
.breadcrumbs{display:flex;gap:7px;margin-bottom:16px;color:var(--muted);font-size:11px}
.breadcrumbs a{text-decoration:none}
.paper-panel{padding:55px;background:var(--paper);box-shadow:0 12px 35px #40382f15}
.page-heading{max-width:950px;padding-bottom:30px;border-bottom:1px solid var(--line)}
.page-heading h1{font-size:clamp(40px,5vw,68px);overflow-wrap:anywhere}
.page-heading>p:last-child:not(.label){max-width:760px;color:var(--muted);font-size:16px;line-height:1.6}
.page-body{padding-top:35px;color:#394150;font:16px/1.75 Georgia,serif;overflow-wrap:anywhere}
.page-body>:first-child{margin-top:0}
.page-body h2,.page-body h3{margin-top:1.7em;color:var(--ink);font-family:Arial,sans-serif;line-height:1.15}
.page-body a{color:var(--blue)}
.page-body img{width:auto;max-width:100%;height:auto;margin:22px auto}
.page-body .legacy-image img{width:100%;max-height:680px;object-fit:contain;background:#eee9e1}
.page-body table{width:100%;border-collapse:collapse}
.page-body th,.page-body td{padding:10px;border:1px solid var(--line);text-align:left}
.page-body iframe{max-width:100%}
.page-return{display:flex;justify-content:space-between;gap:25px;margin-top:45px;padding:22px;color:#fff;background:var(--ink);font-size:11px}
.page-return a{color:var(--yellow);text-decoration:none}
.cookie{position:fixed;z-index:50;right:16px;bottom:16px;left:16px;display:flex;width:min(900px,calc(100% - 32px));align-items:center;justify-content:space-between;gap:22px;margin:auto;padding:16px 18px;border:1px solid var(--line);background:var(--paper);box-shadow:0 14px 40px #0004;font-size:12px}
.cookie[hidden]{display:none}
.cookie>div:first-child{display:flex;flex-direction:column}
.cookie button{padding:9px 13px;border:1px solid var(--ink);background:transparent;cursor:pointer}
.cookie button[data-cookie-choice="accept"]{color:#fff;background:var(--red)}

@media(max-width:980px){.nav-toggle{display:block}
.main-nav{position:absolute;top:72px;right:0;left:0;display:none;flex-direction:column;gap:0;padding:10px 24px 24px;border-bottom:1px solid var(--line);background:var(--paper)}
.main-nav.is-open{display:flex}
.main-nav a{padding:13px 0}
.hero{background:linear-gradient(var(--paper) 0 72%,#c8a678 72%)}
.hero-grid{grid-template-columns:1fr}
.hero-panel{min-height:400px}
.section-head,.split,.qa-grid{grid-template-columns:1fr;gap:25px}
.topic-grid,.material-grid{grid-template-columns:repeat(2,1fr)}
.help-row{grid-template-columns:1fr 1fr}
.help-row .btn{justify-self:start}
.footer-inner{grid-template-columns:1fr auto}
.footer-inner>p{grid-column:1/-1}
}

@media(max-width:680px){.shell{width:calc(100% - 28px)}
.header-inner{min-height:66px}
.main-nav{top:66px}
.brand small,.top-cta{display:none}
.hero{padding:45px 0}
.hero-grid{gap:35px}
.hero h1{font-size:43px}
.hero-copy>p:not(.label){font-size:16px}
.hero-actions{align-items:stretch;flex-direction:column;width:100%}
.hero-panel{min-height:360px}
.topics,.materials,.learning,.laws,.questions{padding:65px 0}
.topic-grid,.material-grid{grid-template-columns:1fr}
.materials-head{align-items:stretch;flex-direction:column}
.material-search{width:100%}
.material-card{min-height:245px}
.update-list article{grid-template-columns:80px 1fr 30px;gap:12px}
.update-list h3{font-size:15px}
.help-row{grid-template-columns:1fr;gap:18px}
.footer-inner{display:flex;min-height:0;align-items:flex-start;flex-direction:column;padding:32px 0}
.footer-inner nav{flex-wrap:wrap}
.paper-panel{padding:34px 22px}
.page-heading h1{font-size:39px}
.page-body{font-size:15px}
.page-return,.cookie{align-items:stretch;flex-direction:column}
.breadcrumbs{flex-wrap:wrap}
}
