:root{--blue:#004369;--ink:#092f48;--magenta:#8b004b;--muted:#4e6474;--line:#dce5eb;--paper:#f5f8fa;--white:#fff;font-family:"Instrument Sans",Arial,sans-serif;color:var(--ink);background:var(--white)}
*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;flex-direction:column}a{color:inherit}a:focus-visible{outline:3px solid var(--magenta);outline-offset:5px}p{line-height:1.55}h1,h2{font-family:"Cinzel",Georgia,serif;letter-spacing:-.035em;font-weight:500;margin:0;line-height:1.04}.shell{width:min(1160px,calc(100% - 72px));margin-inline:auto}.top{border-bottom:1px solid var(--line)}.top .shell{height:83px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;align-items:center;gap:11px;font-weight:700;text-decoration:none;font-size:16px;white-space:nowrap}.brand img{border-radius:10px;width:38px;height:38px}.brand em,h1 em{color:var(--magenta);font-style:normal}.top nav a{font-size:14px;font-weight:650;text-decoration:none;padding:8px 0;border-bottom:2px solid transparent}.top nav a:hover,.top nav a[aria-current]{border-color:var(--magenta)}main{flex:1}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.78fr);align-items:center;gap:clamp(28px,7vw,100px);padding-block:clamp(64px,10vw,132px)}.hero h1{font-size:clamp(54px,8vw,108px);line-height:.94}.hero h1 span{display:block}.intro{font-size:clamp(18px,2vw,22px);color:var(--muted);max-width:34ch;margin:27px 0 31px}.cta{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;min-height:50px;padding:13px 18px;background:var(--blue);color:#fff;border-radius:7px;font-size:15px;font-weight:700;text-decoration:none}.cta:hover{background:#002f4d}.hero-mark{margin:0;display:grid;place-items:center;min-width:0}.hero-mark img{width:min(100%,420px);height:auto;mix-blend-mode:multiply}.hero-mark figcaption{margin-top:16px;font-size:12px;letter-spacing:.14em;color:var(--muted);text-align:center}.bottom{background:var(--paper);border-top:1px solid var(--line);margin-top:auto}.bottom .shell{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-block:23px;font-size:13px;color:var(--muted)}.bottom strong{color:var(--blue)}.panel{padding-block:clamp(48px,8vw,92px)}.panel h1{font-size:clamp(50px,8vw,84px)}.panel-intro{margin:15px 0 35px;color:var(--muted);font-size:18px}.tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.tool{display:flex;flex-direction:column;min-height:330px;padding:clamp(24px,4vw,41px);border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:11px;background:var(--paper)}.tool.acoustic{background:#fbf6f9;border-top-color:var(--magenta)}.tool h2{font-size:clamp(35px,4vw,52px);max-width:15ch}.tool p{margin:17px 0 25px;color:var(--muted);max-width:36ch;font-size:17px}.tool a{margin-top:auto;align-self:flex-start}.tool.acoustic .cta{background:var(--magenta)}.tool.acoustic .cta:hover{background:#650039}.category{margin:0 0 14px;color:var(--blue);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.acoustic .category{color:var(--magenta)}
@media(max-width:680px){.shell{width:calc(100% - 36px)}.top .shell{height:65px;gap:12px}.brand{font-size:14px;gap:7px}.brand img{width:31px;height:31px}.top nav a{font-size:13px}.hero{grid-template-columns:1fr;gap:32px;padding-block:50px}.hero-mark img{width:min(60vw,245px)}.hero-mark figcaption{margin-top:10px}.tools{grid-template-columns:1fr;gap:14px}.tool{min-height:265px}.bottom .shell{flex-wrap:wrap}.panel-intro{margin-bottom:23px}}

.access-form{max-width:440px}
.access-form label{display:grid;gap:.35rem;margin-bottom:1rem}
.access-form input{width:100%;padding:.65rem;font:inherit;border:1px solid #8da7bd;border-radius:.45rem;background:#fff;color:#092d44}
.access-form form{margin-bottom:1rem}
.access-table{overflow:auto}
.access-table table{width:100%;border-collapse:collapse;text-align:left}
.access-table th,.access-table td{padding:.65rem;border-bottom:1px solid #8da7bd}
.access-table form{display:inline-block;margin:.2rem}
.account-bar{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-top:2rem;overflow-wrap:anywhere}
button.cta{cursor:pointer;font:inherit}

.top nav{display:flex;align-items:center;gap:clamp(12px,2vw,24px);flex-wrap:wrap;justify-content:flex-end}
