:root {
    --navy:#102b42;
    --navy-deep:#0a2033;
    --teal:#12665d;
    --saffron:#f4b868;
    --ink:#1b3345;
    --muted:#687986;
    --paper:#f5f7f8;
    --line:#dfe6e9;
    --bs-primary:#12665d;
    --bs-primary-rgb:18,102,93;
    --bs-body-color:#1b3345;
    --bs-body-font-family:"Noto Sans Devanagari","Nirmala UI",Arial,sans-serif
}
body {
    background:#fff;
    font-size:1rem;
    line-height:1.65
}
a {
    color:var(--teal);
    text-decoration:none
}
a:hover {
    text-decoration:underline
}
h1,h2,h3,h4 {
    line-height:1.35;
    letter-spacing:-.025em;
    color:var(--ink)
}
h2 {
    font-weight:700
}
button,input,textarea,select {
    font:inherit
}
.container-xl {
    max-width:1280px;
    padding-left:32px;
    padding-right:32px
}
.btn {
    border-radius:7px;
    padding:.7rem 1.2rem;
    font-weight:600;
    font-size:.9rem;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    white-space:normal
}
.btn-sm {
    padding:.4rem .8rem;
    font-size:.8rem
}
.btn-primary {
    --bs-btn-bg:var(--teal);
    --bs-btn-border-color:var(--teal);
    --bs-btn-hover-bg:#0a4e47;
    --bs-btn-hover-border-color:#0a4e47;
    --bs-btn-active-bg:#0a4e47;
    --bs-btn-active-border-color:#0a4e47
}
.btn-outline-primary {
    --bs-btn-color:var(--teal);
    --bs-btn-border-color:#a4bdb8;
    --bs-btn-hover-bg:var(--teal);
    --bs-btn-hover-border-color:var(--teal);
    --bs-btn-active-bg:var(--teal)
}
.btn-saffron {
    background:var(--saffron);
    color:var(--navy-deep);
    border:1px solid var(--saffron)
}
.btn-saffron:hover {
    background:#ffc883
}
.btn-lg {
    padding:.9rem 1.4rem
}
.skip-link {
    position:absolute;
    top:-100px;
    left:10px;
    background:#fff;
    padding:15px;
    z-index:200
}
.skip-link:focus {
    top:10px
}
a:focus-visible,button:focus-visible {
    outline:3px solid #ca7422;
    outline-offset:4px
}
.utility-bar {
    background:#f0f3f4;
    border-top:4px solid var(--saffron);
    font-size:.72rem;
    color:#566775;
    padding:7px 0
}
.utility-bar a {
    color:var(--muted)
}
.utility-bar a.selected {
    font-weight:700;
    color:var(--navy)
}
.text-tools {
    gap:10px
}
.text-tools button {
    background:none;
    border:0;
    padding:0 2px;
    font-size:.76rem;
    color:var(--navy)
}
.muted-divider {
    color:#bac6ce
}
.main-header {
    padding:22px 0
}
.brand {
    display:flex;
    gap:14px;
    align-items:center;
    color:var(--ink)
}
.brand:hover {
    text-decoration:none
}
.brand-mark {
    width:58px;
    height:64px;
    display:grid;
    place-items:center;
    background:var(--navy);
    color:var(--saffron);
    font-family:serif;
    font-size:2.3rem;
    border-radius:18px 18px 25px 25px;
    border:3px double #d9ba85;
    box-shadow:0 0 0 3px #eef1f1
}
.brand strong {
    display:block;
    font-size:1.28rem;
    font-weight:750
}
.brand small {
    display:block;
    font-size:.76rem;
    margin-top:3px;
    color:var(--muted)
}
.public-nav {
    border-top:1px solid var(--line);
    padding:0
}
.navbar-nav {
    justify-content:space-between
}
.public-nav .nav-link {
    padding:16px 4px!important;
    font-size:.83rem;
    color:#4b5c69;
    position:relative
}
.public-nav .nav-link.active {
    color:var(--teal);
    font-weight:700
}
.public-nav .nav-link.active:after {
    content:"";
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    height:3px;
    background:var(--teal)
}
.hero {
    background:var(--navy-deep);
    color:#fff;
    padding:68px 0 60px;
    position:relative;
    overflow:hidden
}
.hero-grid {
    position:absolute;
    inset:0;
    background-image:linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px);
    background-size:55px 55px
}
.hero:after {
    content:"";
    position:absolute;
    width:700px;
    height:700px;
    border:1px solid #ffffff08;
    border-radius:50%;
    right:-180px;
    top:-200px;
    pointer-events:none
}
.eyebrow {
    color:var(--teal);
    font-size:.7rem;
    font-weight:750;
    letter-spacing:.12em;
    text-transform:uppercase;
    margin-bottom:15px;
    line-height:1.7
}
.eyebrow.light {
    color:#bacdce
}
.eyebrow.light>span {
    display:inline-block;
    height:7px;
    width:7px;
    background:var(--saffron);
    border-radius:50%;
    margin-right:9px
}
.hero-heading {
    font-size:clamp(2rem,3.6vw,3.1rem);
    font-weight:700;
    color:white;
    white-space:pre-line;
    line-height:1.4;
    max-width:700px;
    margin-bottom:22px;
    letter-spacing:-.04em
}
.hero-copy {
    color:#bdcbd3;
    max-width:580px;
    font-size:1rem;
    line-height:1.9
}
.hero-assurances {
    display:flex;
    gap:23px;
    flex-wrap:wrap;
    margin-top:30px;
    font-size:.72rem;
    color:#b7cbc9
}
.identity-card {
    max-width:390px;
    margin:auto;
    background:linear-gradient(145deg,#203e51,#173346);
    border:1px solid #ffffff24;
    border-radius:16px;
    padding:22px 26px 0;
    box-shadow:0 25px 70px #0002;
    position:relative;
    z-index:1
}
.identity-top {
    display:flex;
    align-items:center;
    gap:10px;
    color:#c8d6dc
}
.label-small {
    font-size:.75rem
}
.shield-symbol {
    color:var(--saffron);
    font-size:1.6rem
}
.small-lock {
    margin-left:auto;
    color:#c4d9d4
}
.identity-illustration {
    height:132px;
    position:relative;
    margin-top:12px;
    display:flex;
    justify-content:center;
    align-items:center
}
.person-head {
    position:absolute;
    width:38px;
    height:38px;
    background:#a5bcbf;
    border-radius:50%;
    top:26px;
    z-index:1
}
.person-body {
    position:absolute;
    width:77px;
    height:46px;
    background:#789da3;
    border-radius:40px 40px 12px 12px;
    top:72px;
    z-index:1
}
.privacy-ring {
    position:absolute;
    inset:0;
    margin:auto;
    border:1px dashed #a2c3c72a;
    border-radius:50%
}
.ring-one {
    width:120px;
    height:120px
}
.ring-two {
    width:180px;
    height:180px;
    top:0;
    bottom:0
}
.protected-check {
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    background:var(--saffron);
    border:4px solid #1d394b;
    color:#122d40;
    border-radius:50%;
    position:absolute;
    top:88px;
    left:calc(50% + 21px);
    z-index:2;
    font-size:.8rem
}
.alias-tag {
    border:1px solid #ffffff18;
    border-radius:7px;
    padding:13px 15px;
    margin:17px 0 22px;
    background:#0a20335c
}
.alias-tag small {
    color:#a6c2c4;
    font-size:.65rem;
    display:block
}
.alias-tag strong {
    display:block;
    color:#e8d6b3;
    font-family:monospace;
    letter-spacing:.08em;
    margin-top:4px;
    font-size:1.02rem
}
.identity-card h2 {
    color:#fff;
    font-size:1.1rem
}
.identity-card p {
    font-size:.75rem;
    color:#b5c8d1;
    margin-top:10px
}
.identity-bottom {
    border-top:1px solid #ffffff17;
    margin-top:23px;
    padding:13px 0;
    display:flex;
    gap:9px;
    align-items:center;
    font-size:.65rem;
    color:#a9c2bf
}
.identity-bottom>span:last-child {
    margin-left:auto
}
.live-dot {
    display:inline-block;
    width:6px;
    height:6px;
    background:#5daa8d;
    border-radius:50%
}
.emergency-strip {
    background:#fff5e8;
    border-bottom:1px solid #f4dfc4;
    font-size:.75rem;
    padding:13px 0;
    color:#69513a
}
.emergency-strip strong {
    display:inline-grid;
    place-items:center;
    width:18px;
    height:18px;
    border:1px solid #a97541;
    border-radius:50%;
    margin-right:7px
}
.emergency-strip a {
    color:#795531;
    display:flex;
    gap:18px
}
.emergency-strip b {
    font-size:1rem
}
.section {
    padding:68px 0
}
.section-heading {
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:end;
    margin-bottom:32px
}
.section-heading h2 {
    font-size:1.55rem;
    max-width:660px;
    margin-bottom:0
}
.section-heading .eyebrow {
    margin-bottom:10px
}
.section-number {
    font-family:monospace;
    font-size:.9rem;
    color:#96a5ae
}
.service-card {
    height:100%;
    border:1px solid var(--line);
    border-radius:10px;
    padding:25px 22px;
    display:block;
    color:var(--ink);
    position:relative;
    transition:transform .2s,box-shadow .2s
}
.service-card:hover {
    transform:translateY(-4px);
    box-shadow:0 12px 30px #102b4210;
    text-decoration:none;
    border-color:#a8c3bd
}
.service-icon {
    width:40px;
    height:40px;
    border-radius:10px;
    background:#eaf2ef;
    display:grid;
    place-items:center;
    color:var(--teal);
    font-size:1.4rem;
    margin-bottom:24px
}
.service-card h3 {
    font-size:1rem;
    font-weight:700;
    margin-bottom:10px
}
.service-card p {
    font-size:.79rem;
    color:var(--muted);
    margin-bottom:18px;
    max-width:90%
}
.card-arrow {
    color:var(--teal)
}
.section-tint {
    background:#f3f6f5
}
.display-title {
    font-size:2rem;
    margin-bottom:20px
}
.text-secondary {
    color:var(--muted)!important
}
.pillar-card {
    padding:24px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:8px;
    height:100%
}
.pillar-number {
    display:inline-block;
    font-family:monospace;
    color:#62928a;
    font-size:.8rem;
    margin-bottom:14px
}
.pillar-card h3 {
    font-size:1rem;
    font-weight:700
}
.pillar-card p {
    font-size:.8rem;
    color:var(--muted);
    margin:10px 0 0
}
.text-link {
    font-size:.8rem;
    font-weight:700;
    white-space:nowrap
}
.process-item>span {
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    background:var(--navy);
    color:#ebd4ad;
    border-radius:50%;
    font-family:monospace;
    font-size:.75rem;
    margin-bottom:18px
}
.process-item h3 {
    font-size:.9rem;
    font-weight:700
}
.process-item p {
    font-size:.75rem;
    color:var(--muted);
    line-height:1.8
}
.stats-band {
    background:var(--navy);
    padding:38px 0;
    color:#b7ccd3
}
.stats-band strong {
    color:#f6e3c0;
    font-size:2rem;
    font-weight:500;
    display:block
}
.stats-band span {
    font-size:.8rem;
    display:block;
    margin-top:6px
}
.notice-card {
    padding:25px;
    border-top:2px solid #d6e2dd
}
.notice-card small {
    font-size:.7rem;
    color:var(--muted)
}
.notice-card h3 {
    font-size:1rem;
    margin-top:14px;
    font-weight:700
}
.notice-card p {
    font-size:.8rem;
    color:var(--muted)
}
footer {
    background:#0d2436;
    color:#b1c0ca;
    padding:40px 0 0;
    font-size:.8rem
}
footer strong {
    color:#ecf2f4;
    font-size:.9rem
}
.footer-links {
    display:flex;
    gap:22px;
    justify-content:end;
    flex-wrap:wrap
}
.footer-links a {
    color:#bbcbd1;
    font-size:.75rem
}
.footer-bottom {
    border-top:1px solid #ffffff15;
    margin-top:30px;
    padding:18px 0;
    display:flex;
    justify-content:space-between;
    gap:30px;
    font-size:.65rem
}
.footer-bottom span {
    max-width:60%;
    text-align:right
}
.page-banner {
    background:var(--navy);
    padding:42px 0;
    color:#b9c9d3
}
.page-banner h1 {
    color:#fff;
    font-size:2rem;
    font-weight:700;
    margin-bottom:12px
}
.page-banner p {
    max-width:780px;
    margin-bottom:0;
    font-size:.9rem
}
.panel {
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
    overflow:hidden;
    box-shadow:0 2px 3px #102b4202
}
.help-card {
    padding:28px;
    background:#eaf1ef;
    border:1px solid #d5e3dd;
    border-radius:10px
}
.help-card h2,.help-card h3 {
    font-size:1.3rem;
    font-weight:700
}
.help-card p {
    color:#576c72;
    font-size:.85rem
}
.process-list article {
    display:flex;
    gap:20px;
    padding:20px 0;
    border-bottom:1px solid var(--line)
}
.process-list article>span {
    display:grid;
    place-items:center;
    width:35px;
    height:35px;
    background:#edf4f1;
    border-radius:50%;
    color:var(--teal);
    flex-shrink:0
}
.process-list h3 {
    font-size:1.1rem
}
.process-list p {
    font-size:.9rem;
    color:var(--muted);
    margin:0
}
.blank-field {
    padding:15px 0
}
.blank-field>div {
    border-bottom:1px dotted #a5b0b5;
    height:45px
}
.auth-section {
    background:var(--paper);
    padding:60px 0
}
.auth-shell {
    max-width:1000px;
    margin:auto;
    border-radius:15px;
    display:grid;
    grid-template-columns:1fr 1fr;
    background:#fff;
    border:1px solid var(--line);
    overflow:hidden
}
.auth-aside {
    background:var(--navy);
    color:#b7c8d1;
    padding:50px 40px
}
.auth-aside h1 {
    color:#fff;
    font-size:2rem;
    margin-bottom:24px
}
.auth-aside p {
    font-size:.9rem;
    line-height:1.9
}
.auth-feature {
    border-top:1px solid #ffffff1a;
    padding:16px 0;
    display:flex;
    align-items:center;
    gap:20px;
    font-size:.85rem
}
.auth-feature>span {
    font-family:monospace;
    color:var(--saffron);
    font-size:.72rem
}
.auth-aside small {
    font-size:.75rem
}
.auth-form {
    padding:45px 40px
}
.auth-form h2 {
    font-size:1.6rem
}
.auth-form>p {
    font-size:.8rem
}
.form-symbol {
    width:43px;
    height:43px;
    display:grid;
    place-items:center;
    background:#e9f2ef;
    border-radius:12px;
    color:var(--teal);
    font-size:1.5rem;
    margin-bottom:20px
}
.form-label {
    font-size:.82rem;
    font-weight:600;
    margin-bottom:8px
}
.form-control,.form-select {
    border-color:#ccd8dc;
    border-radius:6px;
    min-height:46px;
    font-size:.9rem;
    padding:10px 12px
}
.form-control:focus,.form-select:focus {
    border-color:#589d91;
    box-shadow:0 0 0 .2rem #12665d15
}
.form-check-input:checked {
    background-color:var(--teal);
    border-color:var(--teal)
}
.form-text {
    font-size:.73rem;
    line-height:1.8
}
.auth-bottom {
    border-top:1px solid var(--line);
    margin-top:25px;
    padding-top:22px;
    font-size:.8rem
}
.auth-bottom a {
    font-weight:700;
    display:block;
    margin-top:5px
}
.verification-card {
    max-width:530px
}
.otp-field {
    text-align:center;
    letter-spacing:.65em;
    font-family:monospace;
    font-size:1.7rem
}
.workspace {
    background:var(--paper)
}
.workspace .main-header {
    background:#fff
}
.portal-nav {
    background:var(--navy);
    font-size:.85rem
}
.portal-nav a {
    color:#bdcdd6;
    padding:14px 19px;
    border-bottom:3px solid transparent
}
.portal-nav a.active {
    color:#fff;
    border-bottom-color:var(--saffron);
    background:#ffffff08
}
.portal-nav a:hover {
    text-decoration:none;
    background:#ffffff0a
}
.workspace-meta {
    display:flex;
    justify-content:space-between;
    gap:20px;
    color:var(--muted);
    font-size:.68rem
}
.workspace-meta>span:first-child {
    letter-spacing:.08em;
    display:flex;
    gap:9px;
    align-items:center
}
.portal-section {
    padding:30px 0 65px
}
.page-heading {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:25px;
    margin-bottom:28px
}
.page-heading .eyebrow {
    margin-bottom:10px
}
.page-heading h1 {
    font-size:1.85rem;
    font-weight:750;
    margin-bottom:7px
}
.page-heading p {
    font-size:.85rem;
    color:var(--muted);
    margin-bottom:0
}
.alias-banner {
    border:1px solid #d9e4e5;
    background:#eef4f4;
    color:#48656c;
    padding:12px 17px;
    border-radius:7px;
    font-size:.8rem;
    margin-bottom:24px
}
.metric-card {
    background:#fff;
    padding:21px 20px 0;
    border:1px solid var(--line);
    border-radius:9px;
    height:100%
}
.metric-card>span {
    display:block;
    font-size:.72rem;
    color:var(--muted);
    min-height:26px
}
.metric-card>strong {
    display:block;
    font-size:2rem;
    font-weight:600;
    margin:8px 0 18px;
    line-height:1
}
.metric-line {
    height:3px;
    background:#dbe7e5;
    width:35px
}
.metric-line.approved {
    background:#589883
}
.metric-line.under_hearing {
    background:#e2b57c
}
.metric-line.rejected {
    background:#d59595
}
.panel-heading {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    padding:21px 24px;
    border-bottom:1px solid var(--line)
}
.panel-heading h2 {
    font-size:1rem;
    font-weight:700;
    margin:0
}
.panel-heading a {
    font-size:.75rem;
    font-weight:600
}
.portal-table {
    font-size:.8rem;
    margin:0
}
.portal-table th {
    background:#f9fafb;
    font-weight:600;
    color:#6f818a;
    font-size:.7rem;
    padding:13px 21px;
    white-space:nowrap
}
.portal-table td {
    padding:18px 21px;
    vertical-align:middle;
    border-color:#ebeff1
}
.portal-table td small {
    display:block;
    color:var(--muted);
    font-size:.68rem;
    margin-top:5px
}
.table-action {
    height:30px;
    width:30px;
    border:1px solid var(--line);
    display:grid;
    place-items:center;
    border-radius:6px
}
.status {
    font-size:.65rem;
    border:1px solid #e0e6e8;
    background:#f4f6f7;
    border-radius:5px;
    padding:5px 8px;
    display:inline-flex;
    gap:6px;
    white-space:nowrap;
    align-items:center;
    color:#5b707c
}
.status>span {
    font-size:.4rem
}
.status-submitted {
    background:#ecf4f8;
    border-color:#d2e3ed;
    color:#3b6d84
}
.status-approved {
    background:#ebf4ef;
    border-color:#d1e5d8;
    color:#376d4b
}
.status-under_hearing,.status-threat_analysis {
    background:#fff6e7;
    border-color:#efdfc0;
    color:#896422
}
.status-rejected {
    background:#fbefef;
    border-color:#ead4d4;
    color:#9b5151
}
.empty-state {
    padding:45px 15px;
    text-align:center;
    font-size:.85rem;
    color:var(--muted)
}
.emergency-card {
    padding:26px;
    border:1px solid #e9dece;
    background:#faf5ed;
    border-radius:9px
}
.emergency-card b {
    font-family:monospace;
    font-size:1.5rem;
    color:#8c683d
}
.emergency-card p {
    color:#7b6d5c;
    font-size:.78rem;
    margin:10px 0 15px
}
.bar-row {
    display:flex;
    align-items:center;
    gap:20px;
    font-size:.8rem;
    margin-bottom:15px
}
.bar-row>span {
    width:140px
}
.bar-track {
    height:8px;
    border-radius:4px;
    background:#edf1f1;
    flex:1;
    overflow:hidden
}
.bar-track>div {
    height:100%;
    background:#4a8b7e;
    border-radius:4px
}
.bar-row strong {
    font-size:.8rem;
    width:35px;
    text-align:right
}
.report-bar {
    margin-bottom:24px;
    font-size:.8rem
}
.form-sidebar {
    position:sticky;
    top:25px;
    padding:20px 0
}
.form-sidebar>a {
    display:flex;
    gap:12px;
    align-items:center;
    padding:13px 0;
    font-size:.8rem;
    color:#5f717d
}
.form-sidebar>a>span {
    font-family:monospace;
    color:#8b9c9f;
    font-size:.7rem
}
.form-section {
    padding:28px;
    margin-bottom:22px;
    scroll-margin-top:20px
}
.form-section h2 {
    font-size:1.1rem;
    display:flex;
    gap:13px;
    align-items:center;
    margin-bottom:25px
}
.form-section h2>span {
    color:var(--teal);
    font-family:monospace;
    font-size:.75rem;
    background:#edf4f1;
    padding:6px 8px;
    border-radius:5px
}
.form-section>p {
    font-size:.8rem
}
.choice-card {
    display:flex;
    gap:12px;
    align-items:center;
    border:1px solid var(--line);
    padding:16px;
    border-radius:7px;
    font-size:.83rem;
    cursor:pointer
}
.choice-card:has(input:checked) {
    background:#f0f7f4;
    border-color:#8fbbac
}
.choice-card .form-check-input {
    margin:0;
    flex-shrink:0
}
.form-actions {
    display:flex;
    justify-content:end;
    gap:12px;
    flex-wrap:wrap;
    margin:30px 0
}
.record-tabs {
    display:flex;
    gap:5px;
    border-bottom:1px solid var(--line);
    margin-bottom:25px
}
.record-tabs a {
    font-size:.85rem;
    padding:12px 20px
}
.record-tabs a.active {
    border-bottom:3px solid var(--teal);
    font-weight:700
}
.record-details {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:23px;
    margin-bottom:0
}
.record-details dt {
    font-size:.72rem;
    font-weight:500;
    color:var(--muted);
    margin-bottom:5px
}
.record-details dd {
    font-size:.85rem;
    font-weight:600;
    margin-bottom:0;
    overflow-wrap:anywhere;
    white-space:pre-line
}
.narrative {
    border-top:1px solid var(--line);
    margin-top:20px;
    padding-top:15px
}
.narrative small {
    font-size:.72rem;
    color:var(--muted)
}
.narrative p {
    font-size:.9rem;
    white-space:pre-line;
    margin-top:6px
}
.pre-line {
    white-space:pre-line;
    overflow-wrap:anywhere
}
.timeline {
    list-style:none;
    padding:0 0 0 20px;
    margin:0;
    border-left:1px solid #c9d9d3
}
.timeline li {
    position:relative;
    padding:0 0 25px 7px
}
.timeline li:before {
    content:"";
    position:absolute;
    left:-25px;
    top:6px;
    height:9px;
    width:9px;
    border-radius:50%;
    background:#679d8c;
    box-shadow:0 0 0 4px white
}
.timeline strong {
    font-size:.82rem;
    display:block
}
.timeline small {
    font-size:.67rem;
    color:var(--muted);
    display:block;
    margin-top:5px
}
.timeline p {
    font-size:.78rem;
    margin:10px 0 0;
    color:#5c707c;
    white-space:pre-line
}
.timeline li:last-child {
    padding-bottom:0
}
.message {
    border:1px solid var(--line);
    padding:20px;
    border-radius:9px;
    margin-bottom:18px;
    background:#f8faf9;
    font-size:.85rem
}
.message-own {
    background:#eef5f3;
    border-color:#d5e5df
}
.message small {
    font-size:.65rem;
    color:var(--muted)
}
.master-row {
    border-bottom:1px solid var(--line);
    padding:17px 0;
    font-size:.85rem
}
.master-row summary {
    cursor:pointer
}
.master-row form {
    padding-bottom:12px
}
.nav-tabs .nav-link {
    color:var(--teal);
    font-size:.9rem
}
.lead {
    font-size:1.05rem;
    line-height:1.9
}
.pagination {
    font-size:.8rem
}
.high-contrast {
    filter:contrast(1.35)
}
@media(min-width:1400px) {
    .hero {
    padding:80px 0
}

}
@media(max-width:991px) {
    .hero {
    padding:45px 0
}
.identity-card {
    max-width:450px
}
.hero-heading {
    max-width:650px
}
.public-nav {
    padding:10px 0
}
.public-nav .nav-link {
    padding:10px 5px!important
}
.navbar-nav {
    padding:10px 0
}
.form-sidebar {
    position:static;
    display:none
}
.auth-aside,.auth-form {
    padding:35px 28px
}
.section {
    padding:45px 0
}
.portal-nav a {
    padding:12px;
    font-size:.8rem
}
.portal-nav a.ms-auto {
    margin-left:0!important
}

}
@media(max-width:575px) {
    .container-xl {
    padding-left:20px;
    padding-right:20px
}
.brand strong {
    font-size:1rem
}
.brand small {
    font-size:.6rem;
    max-width:190px
}
.brand-mark {
    width:42px;
    height:49px;
    font-size:1.6rem;
    flex-shrink:0
}
.brand {
    gap:10px
}
.main-header {
    padding:17px 0
}
.main-header .btn {
    font-size:.75rem;
    padding:.5rem .7rem
}
.utility-bar {
    font-size:.62rem
}
.utility-bar .gap-3 {
    gap:9px!important
}
.hero-heading {
    font-size:2rem
}
.hero-copy {
    font-size:.9rem
}
.hero-assurances {
    gap:10px;
    font-size:.65rem
}
.hero .btn-lg {
    width:100%
}
.section-heading {
    align-items:start
}
.section-heading h2 {
    font-size:1.25rem
}
.section-heading .text-link {
    font-size:.7rem
}
.service-card {
    padding:20px
}
.section-number {
    display:none
}
.footer-links {
    justify-content:start
}
.footer-bottom {
    display:block
}
.footer-bottom span {
    display:block;
    max-width:none;
    text-align:left;
    margin-top:12px
}
.auth-shell {
    display:block
}
.auth-aside {
    padding:30px
}
.auth-aside h1 {
    font-size:1.6rem
}
.auth-feature,.auth-aside small {
    display:none!important
}
.auth-form {
    padding:30px
}
.auth-section {
    padding:30px 0
}
.page-heading {
    align-items:start;
    flex-direction:column;
    gap:16px
}
.page-heading h1 {
    font-size:1.5rem
}
.record-details {
    grid-template-columns:1fr
}
.form-section {
    padding:22px
}
.form-actions>.btn {
    flex:1
}
.portal-section {
    padding-top:25px
}
.workspace-meta {
    font-size:.58rem
}
.portal-table td,.portal-table th {
    padding:13px 15px
}
.page-banner h1 {
    font-size:1.6rem
}

}
@media print {
    .utility-bar,.main-header,.public-nav,.portal-nav,footer,.workspace-meta,.page-heading>.btn,.page-heading>div:last-child:not(:first-child),.no-print,.form-actions,.skip-link {
    display:none!important
}
body,.workspace {
    background:white!important;
    font-size:10pt
}
.portal-section,.section {
    padding:10px 0
}
.container-xl {
    max-width:none;
    padding:0
}
.panel {
    box-shadow:none;
    break-inside:avoid
}
.page-heading {
    margin-bottom:20px
}
.col-lg-8,.col-lg-4 {
    width:100%
}
.alert {
    font-size:10pt
}
.page-banner {
    background:white;
    color:black;
    padding:10px 0
}
.page-banner h1 {
    color:black
}
.page-banner .eyebrow {
    color:black
}
a {
    color:black
}
.blank-field>div {
    height:35px
}
.hero {
    color:black
}
.metric-card {
    break-inside:avoid
}

}

@media(max-width:575px) {
    .row.g-5 {
    --bs-gutter-x:2rem
}

}

