/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme {

    :root,
    :host {
        --font-sans: '맑은 고딕', ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
        --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
        --spacing: .25rem;
        --default-transition-duration: .15s;
        --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
        --default-font-family: var(--font-sans);
        --default-font-family: var(--font-sans);
        --default-mono-font-family: var(--font-mono)
    }
}

@layer base {

    *,
    :after,
    :before,
    ::backdrop {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    ::file-selector-button {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    html,
    :host {
        -webkit-text-size-adjust: 100%;
        tab-size: 4;
        line-height: 1.5;
        font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
        font-feature-settings: var(--default-font-feature-settings, normal);
        font-variation-settings: var(--default-font-variation-settings, normal);
        -webkit-tap-highlight-color: transparent
    }

    hr {
        height: 0;
        color: inherit;
        border-top-width: 1px
    }

    abbr:where([title]) {
        -webkit-text-decoration: underline dotted;
        text-decoration: underline dotted
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        font-size: inherit;
        font-weight: inherit
    }

    a {
        color: inherit;
        -webkit-text-decoration: inherit;
        -webkit-text-decoration: inherit;
        -webkit-text-decoration: inherit;
        -webkit-text-decoration: inherit;
        text-decoration: inherit
    }

    b,
    strong {
        font-weight: bolder
    }

    code,
    kbd,
    samp,
    pre {
        font-family: var(--default-mono-font-family, '맑은 고딕', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
        font-feature-settings: var(--default-mono-font-feature-settings, normal);
        font-variation-settings: var(--default-mono-font-variation-settings, normal);
        font-size: 1em
    }

    small {
        font-size: 80%
    }

    sub,
    sup {
        vertical-align: baseline;
        font-size: 75%;
        line-height: 0;
        position: relative
    }

    sub {
        bottom: -.25em
    }

    sup {
        top: -.5em
    }

    table {
        text-indent: 0;
        border-color: inherit;
        border-collapse: collapse
    }

    :-moz-focusring {
        outline: auto
    }

    progress {
        vertical-align: baseline
    }

    summary {
        display: list-item
    }

    ol,
    ul,
    menu {
        list-style: none
    }

    img,
    svg,
    video,
    canvas,
    audio,
    iframe,
    embed,
    object {
        vertical-align: middle;
        display: block
    }

    img,
    video {
        max-width: 100%;
        height: auto
    }

    button,
    input,
    select,
    optgroup,
    textarea {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    ::file-selector-button {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    :where(select:is([multiple], [size])) optgroup {
        font-weight: bolder
    }

    :where(select:is([multiple], [size])) optgroup option {
        padding-inline-start: 20px
    }

    ::file-selector-button {
        margin-inline-end: 4px
    }

    ::placeholder {
        opacity: 1
    }

    @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {
        ::placeholder {
            color: currentColor
        }

        @supports (color:color-mix(in lab, red, red)) {
            ::placeholder {
                color: color-mix(in oklab, currentcolor 50%, transparent)
            }
        }
    }

    textarea {
        resize: vertical
    }

    ::-webkit-search-decoration {
        -webkit-appearance: none
    }

    ::-webkit-date-and-time-value {
        min-height: 1lh;
        text-align: inherit
    }

    ::-webkit-datetime-edit {
        display: inline-flex
    }

    ::-webkit-datetime-edit-fields-wrapper {
        padding: 0
    }

    ::-webkit-datetime-edit {
        padding-block: 0
    }

    ::-webkit-datetime-edit-year-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-month-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-day-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-hour-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-minute-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-second-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-millisecond-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-meridiem-field {
        padding-block: 0
    }

    ::-webkit-calendar-picker-indicator {
        line-height: 1
    }

    :-moz-ui-invalid {
        box-shadow: none
    }

    button,
    input:where([type=button], [type=reset], [type=submit]) {
        appearance: button
    }

    ::file-selector-button {
        appearance: button
    }

    ::-webkit-inner-spin-button {
        height: auto
    }

    ::-webkit-outer-spin-button {
        height: auto
    }

    [hidden]:where(:not([hidden=until-found])) {
        display: none !important
    }
}

@layer components;

@layer utilities {
    .visible {
        visibility: visible
    }

    .relative {
        position: relative
    }

    .start {
        inset-inline-start: var(--spacing)
    }

    .end {
        inset-inline-end: var(--spacing)
    }

    .container {
        width: 100%
    }

    @media (width>=40rem) {
        .container {
            max-width: 40rem
        }
    }

    @media (width>=48rem) {
        .container {
            max-width: 48rem
        }
    }

    @media (width>=64rem) {
        .container {
            max-width: 64rem
        }
    }

    @media (width>=80rem) {
        .container {
            max-width: 80rem
        }
    }

    @media (width>=96rem) {
        .container {
            max-width: 96rem
        }
    }

    .hidden {
        display: none
    }

    .table {
        display: table
    }

    .antialiased {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale
    }

    .transition {
        transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }
}

.standard-card-wide {
    grid-column: 1/-1;
    border-right: 0 !important
}

.brand-logo {
    width: 218px;
    height: auto;
    display: block
}

.footer-logo-shell {
    background: 0 0;
    align-items: center;
    padding: 0;
    display: inline-flex
}

.footer-logo-shell .brand-logo {
    width: 225px
}

.official-mark-block {
    color: #152b45;
    background: #fffffff5;
    grid-template-columns: 126px 1fr;
    align-items: center;
    gap: 23px;
    margin-bottom: 7px;
    padding: 15px 18px;
    display: grid
}

.official-mark-block img {
    width: 126px;
    height: auto;
    display: block
}

.official-mark-block small {
    color: #73849a;
    letter-spacing: .16em;
    margin-bottom: 7px;
    font-size: 7px;
    font-weight: 700;
    display: block
}

.official-mark-block strong {
    letter-spacing: -.025em;
    font-size: 15px;
    display: block
}

.official-mark-block p {
    line-height: 1.55;
    color: #738096 !important;
    margin: 7px 0 0 !important;
    font-size: 10px !important
}

:root {
    --navy: #071f3d;
    --blue: #075fd8;
    --ink: #142033;
    --muted: #657085;
    --line: #dde3eb;
    --soft: #f4f7fb
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    color: var(--ink);
    background: #fff;
    margin: 0;
    font-family: Arial, Noto Sans KR, sans-serif
}

a {
    color: inherit;
    text-decoration: none
}

button,
input {
    font: inherit
}

.container {
    width: min(1180px, 100% - 48px);
    margin: 0 auto
}

.topbar {
    color: #aebbd0;
    letter-spacing: .02em;
    background: #06182f;
    height: 36px;
    font-size: 11px
}

.topbar-inner {
    justify-content: space-between;
    align-items: center;
    height: 100%;
    display: flex
}

.topbar-inner div {
    align-items: center;
    gap: 13px;
    display: flex
}

.topbar a:hover {
    color: #fff
}

.divider {
    background: #42526a;
    width: 1px;
    height: 10px
}

.site-header {
    z-index: 30;
    background: #fff;
    position: relative;
    box-shadow: 0 1px #0c223e14
}

.nav-row {
    align-items: center;
    height: 84px;
    display: flex
}

.brand {
    align-items: center;
    gap: 11px;
    min-width: 210px;
    display: flex
}

.brand-mark {
    border: 3px solid var(--blue);
    border-radius: 50% 50% 50% 12px;
    place-items: center;
    width: 43px;
    height: 43px;
    display: grid;
    position: relative;
    transform: rotate(-10deg)
}

.brand-mark:after {
    content: "";
    background: #34b6f2;
    border-radius: 2px;
    width: 14px;
    height: 3px;
    position: absolute;
    bottom: 7px;
    right: -7px;
    transform: rotate(34deg)
}

.brand-mark i {
    color: var(--blue);
    letter-spacing: -3px;
    font-size: 23px;
    font-style: normal;
    font-weight: 900;
    transform: rotate(10deg)
}

.brand-copy {
    flex-direction: column;
    line-height: 1;
    display: flex
}

.brand-copy strong {
    color: #0b315f;
    letter-spacing: -.03em;
    font-size: 23px
}

.brand-copy small {
    color: #4e5e70;
    letter-spacing: .35em;
    margin-top: 7px;
    font-size: 11px;
    font-weight: 700
}

.main-nav {
    flex: 1;
    justify-content: center;
    align-items: center;
    gap: 42px;
    font-size: 15px;
    font-weight: 700;
    display: flex
}

.main-nav a {
    padding: 32px 0;
    position: relative
}

.main-nav a:after {
    content: "";
    background: var(--blue);
    height: 2px;
    transition: all .2s;
    position: absolute;
    bottom: 20px;
    left: 50%;
    right: 50%
}

.main-nav a:hover {
    color: var(--blue)
}

.main-nav a:hover:after {
    left: 0;
    right: 0
}

.nav-cta {
    border: 1px solid #d8e0eb;
    border-radius: 5px;
    justify-content: space-between;
    align-items: center;
    min-width: 132px;
    padding: 13px 18px;
    font-size: 13px;
    font-weight: 700;
    display: flex
}

.nav-cta:hover {
    border-color: var(--blue);
    color: var(--blue)
}

.menu-button {
    background: 0 0;
    border: 0;
    width: 36px;
    padding: 5px;
    display: none
}

.menu-button span {
    background: #17314f;
    height: 2px;
    margin: 6px 0;
    display: block
}

.hero {
    color: #fff;
    background: radial-gradient(circle at 74% 35%, #154e8d 0, #0a315d 20%, #071f3e 51%, #061a34 100%);
    min-height: 690px;
    position: relative;
    overflow: hidden
}

.hero-grid {
    opacity: .15;
    background-image: linear-gradient(#ffffff14 1px, #0000 1px), linear-gradient(90deg, #ffffff14 1px, #0000 1px);
    background-size: 90px 90px;
    position: absolute;
    inset: 0;
    -webkit-mask-image: linear-gradient(90deg, #0000, #000 50%, #000);
    mask-image: linear-gradient(90deg, #0000, #000 50%, #000)
}

.orb {
    border-radius: 50%;
    position: absolute
}

.orb-one {
    background: #0f71de2e;
    width: 470px;
    height: 470px;
    top: 30px;
    right: -150px
}

.orb-two {
    background: #1aa8ff1f;
    width: 280px;
    height: 280px;
    bottom: -160px;
    left: 42%
}

.hero-inner {
    z-index: 2;
    grid-template-columns: 1.06fr .94fr;
    align-items: center;
    height: 570px;
    display: grid;
    position: relative
}

.hero-copy {
    padding-bottom: 25px
}

.eyebrow,
.section-kicker {
    letter-spacing: .21em;
    color: var(--blue);
    font-size: 12px;
    font-weight: 800
}

.eyebrow {
    color: #62c2ff;
    align-items: center;
    gap: 10px;
    display: flex
}

.eyebrow span {
    background: #62c2ff;
    width: 26px;
    height: 1px;
    display: block
}

.hero h1 {
    letter-spacing: -.055em;
    margin: 23px 0 22px;
    font-size: 55px;
    font-weight: 700;
    line-height: 1.2
}

.hero h1 em {
    color: #65c5ff;
    font-style: normal
}

.hero-description {
    color: #c2d0df;
    letter-spacing: -.02em;
    font-size: 17px;
    line-height: 1.8
}

.hero-actions {
    gap: 10px;
    margin-top: 36px;
    display: flex
}

.button {
    border-radius: 3px;
    justify-content: center;
    align-items: center;
    gap: 34px;
    height: 52px;
    padding: 0 25px;
    font-size: 14px;
    font-weight: 700;
    transition: all .2s;
    display: inline-flex
}

.button.primary {
    background: #0872e5
}

.button.primary:hover {
    background: #1282f7;
    transform: translateY(-2px)
}

.button.ghost {
    border: 1px solid #ffffff59
}

.button.ghost:hover {
    background: #ffffff14
}

.search-panel {
    z-index: 5;
    min-height: 120px;
    color: var(--ink);
    background: #fff;
    border-radius: 6px;
    grid-template-columns: 210px 1fr 280px;
    align-items: center;
    margin-top: -60px;
    padding: 26px 34px;
    display: grid;
    position: relative;
    box-shadow: 0 18px 55px #021a3c33
}

.search-title {
    border-right: 1px solid var(--line);
    align-items: center;
    gap: 13px;
    height: 58px;
    display: flex
}

.search-icon {
    color: var(--blue);
    font-size: 34px;
    font-weight: 300;
    line-height: 1;
    transform: rotate(-20deg)
}

.search-title strong,
.search-title small {
    display: block
}

.search-title strong {
    font-size: 15px
}

.search-title small {
    color: #99a3b2;
    letter-spacing: .12em;
    margin-top: 5px;
    font-size: 9px
}

.search-panel form {
    height: 52px;
    margin: 0 27px;
    display: flex
}

.search-panel input {
    border: 1px solid var(--line);
    color: var(--ink);
    border-right: 0;
    outline: 0;
    flex: 1;
    padding: 0 18px;
    font-size: 13px
}

.search-panel input:focus {
    border-color: #93bdec
}

.search-panel button {
    background: var(--blue);
    color: #fff;
    cursor: pointer;
    border: 0;
    width: 92px;
    font-size: 13px;
    font-weight: 700
}

.search-panel button span {
    margin-left: 8px
}

.quick-link {
    border-left: 1px solid var(--line);
    grid-template-columns: 40px 1fr 20px;
    align-items: center;
    gap: 10px;
    padding-left: 26px;
    display: grid
}

.quick-link>span {
    width: 38px;
    height: 38px;
    color: var(--blue);
    background: #edf5ff;
    border-radius: 50%;
    place-items: center;
    font-size: 20px;
    display: grid
}

.quick-link strong,
.quick-link small {
    display: block
}

.quick-link strong {
    font-size: 14px
}

.quick-link small {
    color: #98a2af;
    margin-top: 6px;
    font-size: 10px
}

.quick-link i {
    color: #7890a9;
    font-style: normal
}

.search-toast {
    color: #fff;
    background: #071f3d;
    border-radius: 4px;
    padding: 9px 14px;
    font-size: 11px;
    position: absolute;
    top: 100px;
    left: 250px;
    box-shadow: 0 8px 20px #00000029
}

.section {
    padding: 120px 0
}

.section-heading {
    justify-content: space-between;
    align-items: end;
    margin-bottom: 45px;
    display: flex
}

.section-heading h2,
.center-heading h2,
.trust-copy h2 {
    letter-spacing: -.045em;
    margin: 14px 0 0;
    font-size: 38px;
    line-height: 1.33
}

.heading-side {
    text-align: right;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.8
}

.heading-side a {
    color: var(--ink);
    border-bottom: 1px solid #adb8c5;
    gap: 28px;
    margin-top: 12px;
    padding: 8px 2px;
    font-weight: 700;
    display: inline-flex
}

.standards-section {
    background: #f7f8fa
}

.standard-grid {
    border-top: 2px solid #132f4e;
    grid-template-columns: repeat(2, 1fr);
    display: grid
}

.standard-card {
    background: 0 0;
    border-bottom: 1px solid #ccd4dd;
    grid-template-columns: 38px 142px 1fr 28px;
    align-items: center;
    gap: 20px;
    min-height: 142px;
    padding: 27px 24px 27px 18px;
    transition: all .2s;
    display: grid
}

.standard-card:nth-child(odd) {
    border-right: 1px solid #ccd4dd
}

.standard-card:hover {
    background: #fff
}

.standard-index {
    color: #8b98a7;
    letter-spacing: .08em;
    align-self: start;
    padding-top: 5px;
    font-size: 10px;
    font-weight: 700
}

.standard-code {
    flex-direction: column;
    gap: 8px;
    display: flex
}

.standard-code small {
    color: #8b98a7;
    letter-spacing: .13em;
    font-size: 7px
}

.standard-code strong {
    color: #123a65;
    letter-spacing: -.025em;
    font-size: 21px
}

.standard-info {
    border-left: 1px solid #d5dbe2;
    padding-left: 22px
}

.standard-info h3 {
    letter-spacing: -.035em;
    margin: 0 0 10px;
    font-size: 17px
}

.standard-info p {
    color: #738091;
    margin: 0;
    font-size: 11px;
    line-height: 1.65
}

.standard-arrow {
    color: #8492a2;
    font-size: 17px;
    transition: all .2s
}

.standard-card:hover .standard-arrow {
    color: #075fd8;
    transform: translate(4px)
}

.trust-section {
    color: #fff;
    background: linear-gradient(90deg, #061b36 0 50%, #fff 50% 100%);
    padding: 0;
    position: relative;
    overflow: hidden
}

.trust-section:before {
    content: "";
    background: #dfe5ec;
    width: 1px;
    position: absolute;
    top: 58px;
    bottom: 58px;
    left: 50%
}

.trust-grid {
    z-index: 2;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    width: min(1420px, 100% - 72px);
    min-height: 520px;
    display: grid;
    position: relative
}

.trust-copy {
    flex-direction: column;
    justify-content: center;
    padding: 88px 90px 88px 34px;
    display: flex
}

.section-kicker.light {
    color: #58c0ff
}

.trust-copy h2 {
    margin: 17px 0 22px;
    font-size: 43px
}

.trust-copy>p:not(.section-kicker) {
    color: #abbdd0;
    max-width: 470px;
    font-size: 14px;
    line-height: 1.9
}

.outline-light {
    border: 1px solid #ffffff59;
    margin-top: 25px
}

.outline-light:hover {
    color: var(--navy);
    background: #fff
}

.trust-points {
    color: var(--ink);
    flex-direction: column;
    justify-content: center;
    padding: 72px 34px 72px 88px;
    display: flex
}

.trust-points .official-mark-block {
    background: #fff;
    border-top: 2px solid #132f4e;
    border-bottom: 1px solid #ccd4dd;
    grid-template-columns: 184px 1fr;
    gap: 26px;
    min-height: 128px;
    margin-bottom: 0;
    padding: 22px 0 24px
}

.trust-points .official-mark-block img {
    width: 172px
}

.trust-points .official-mark-block small {
    color: #8b98a7;
    letter-spacing: .14em;
    font-size: 8px
}

.trust-points .official-mark-block strong {
    color: #123a65;
    margin-top: 8px;
    font-size: 20px
}

.trust-points .official-mark-block p {
    color: #738091 !important;
    font-size: 11px !important
}

.trust-point-grid {
    border-bottom: 1px solid #ccd4dd;
    grid-template-columns: repeat(3, 1fr);
    display: grid
}

.trust-points .trust-item {
    border-top: 0;
    border-right: 1px solid #d9e0e8;
    flex-direction: column;
    gap: 15px;
    min-height: 180px;
    padding: 26px 24px 22px;
    transition: all .2s;
    display: flex
}

.trust-points .trust-item:last-child {
    border-right: 0
}

.trust-points .trust-item:hover {
    background: #f7f8fa
}

.trust-points .trust-item>span {
    color: #8b98a7;
    letter-spacing: .08em;
    font-size: 10px;
    font-weight: 700
}

.trust-points .trust-item h3 {
    color: var(--ink);
    margin: 0 0 9px;
    font-family: Arial, Noto Sans KR, sans-serif;
    font-size: 16px;
    font-weight: 700
}

.trust-points .trust-item p {
    color: #738091;
    font-family: Arial, Noto Sans KR, sans-serif;
    font-size: 11px;
    line-height: 1.7
}

.trust-points .trust-item i {
    color: #8492a2;
    margin-top: auto;
    font-size: 15px;
    font-style: normal;
    transition: all .2s
}

.trust-points .trust-item:hover i {
    color: #075fd8;
    transform: translate(4px)
}

.process-section {
    background: #f6f8fb
}

.center-heading {
    text-align: center
}

.center-heading h2 {
    margin-top: 12px
}

.center-heading>p:last-child {
    color: var(--muted);
    margin-top: 14px;
    font-size: 13px
}

.process-row {
    text-align: center;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
    margin-top: 58px;
    display: grid
}

.process-row article {
    position: relative
}

.step-circle {
    background: #fff;
    border: 1px solid #dce4ed;
    border-radius: 50%;
    place-items: center;
    width: 92px;
    height: 92px;
    margin: 0 auto 23px;
    display: grid;
    box-shadow: 0 8px 24px #142d4d0f
}

.step-circle span {
    color: var(--blue);
    font-size: 13px;
    font-weight: 800
}

.step-circle i {
    color: #aab7c6;
    font-size: 18px;
    font-style: normal;
    position: absolute;
    right: -12px
}

.process-row h3 {
    margin: 0 0 10px;
    font-size: 16px
}

.process-row p {
    color: #7b8694;
    padding: 0 14px;
    font-size: 11px;
    line-height: 1.7
}

.process-cta {
    color: #687485;
    border-top: 1px solid #dfe5ec;
    justify-content: center;
    align-items: center;
    gap: 35px;
    margin-top: 50px;
    padding-top: 25px;
    font-size: 13px;
    display: flex
}

.process-cta a {
    color: var(--blue);
    font-weight: 800
}

.process-cta b {
    margin-left: 20px
}

.grievance-section {
    background: #fff
}

.grievance-heading {
    border-bottom: 2px solid #153553;
    justify-content: space-between;
    align-items: end;
    padding-bottom: 35px;
    display: flex
}

.grievance-heading h2 {
    letter-spacing: -.045em;
    margin: 14px 0 0;
    font-size: 38px;
    line-height: 1.33
}

.grievance-heading>p {
    color: #657085;
    text-align: right;
    margin: 0;
    font-size: 13px;
    line-height: 1.8
}

.grievance-layout {
    border-bottom: 1px solid #d9e0e8;
    grid-template-columns: .78fr 1.22fr;
    display: grid
}

.grievance-types {
    border-right: 1px solid #d9e0e8;
    padding: 42px 48px 42px 0
}

.grievance-types article+article {
    border-top: 1px solid #e0e5eb;
    margin-top: 34px;
    padding-top: 34px
}

.grievance-types span {
    color: #075fd8;
    letter-spacing: .18em;
    font-size: 9px;
    font-weight: 800
}

.grievance-types h3 {
    letter-spacing: -.03em;
    margin: 10px 0 12px;
    font-size: 20px
}

.grievance-types p {
    color: #6c7888;
    margin: 0;
    font-size: 12px;
    line-height: 1.75
}

.grievance-process {
    padding: 25px 0 25px 50px
}

.grievance-process article {
    border-bottom: 1px solid #e4e8ed;
    grid-template-columns: 48px 1fr;
    align-items: start;
    gap: 18px;
    padding: 17px 0;
    display: grid
}

.grievance-process article:last-child {
    border-bottom: 0
}

.grievance-process>article>span {
    color: #075fd8;
    letter-spacing: .08em;
    padding-top: 3px;
    font-size: 11px;
    font-weight: 800
}

.grievance-process h3 {
    letter-spacing: -.02em;
    margin: 0;
    font-size: 15px;
    display: inline
}

.grievance-process p {
    color: #788391;
    margin: 0 0 0 20px;
    font-size: 11px;
    line-height: 1.65;
    display: inline
}

.grievance-principle {
    background: #f4f7fa;
    border-left: 3px solid #075fd8;
    justify-content: space-between;
    align-items: center;
    margin-top: 30px;
    padding: 23px 27px;
    display: flex
}

.grievance-principle>div {
    align-items: center;
    gap: 24px;
    display: flex
}

.grievance-principle strong {
    color: #133454;
    white-space: nowrap;
    font-size: 13px
}

.grievance-principle p {
    color: #657384;
    margin: 0;
    font-size: 11px;
    line-height: 1.65
}

.grievance-principle a {
    color: #075fd8;
    white-space: nowrap;
    align-items: center;
    gap: 24px;
    margin-left: 30px;
    font-size: 12px;
    font-weight: 800;
    display: flex
}

.news-section {
    padding-top: 110px;
    padding-bottom: 110px
}

.news-grid {
    grid-template-columns: 1.1fr .9fr;
    gap: 65px;
    display: grid
}

.block-heading {
    justify-content: space-between;
    align-items: end;
    margin-bottom: 23px;
    display: flex
}

.block-heading h2 {
    margin: 8px 0 0;
    font-size: 34px
}

.block-heading>a {
    border: 1px solid var(--line);
    color: #617087;
    border-radius: 50%;
    place-items: center;
    width: 36px;
    height: 36px;
    display: grid
}

.notice-list {
    border-top: 2px solid #19334e
}

.notice-list>a {
    border-bottom: 1px solid var(--line);
    grid-template-columns: 53px 1fr 82px;
    align-items: center;
    gap: 10px;
    height: 68px;
    font-size: 12px;
    display: grid
}

.notice-list span {
    text-align: center;
    width: 38px;
    color: var(--blue);
    background: #eff5fc;
    padding: 5px 0;
    font-size: 10px;
    font-weight: 700
}

.notice-list strong {
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 13px;
    overflow: hidden
}

.notice-list time {
    color: #99a3b0;
    text-align: right;
    font-size: 10px
}

.support-cards {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    display: grid
}

.support-card {
    min-height: 260px;
    padding: 32px 28px;
    transition: all .2s;
    position: relative;
    overflow: hidden
}

.support-card:hover {
    transform: translateY(-4px)
}

.support-card>span {
    letter-spacing: .2em;
    opacity: .65;
    font-size: 9px;
    font-weight: 700
}

.support-card h3 {
    margin: 18px 0 13px;
    font-size: 20px
}

.support-card p {
    opacity: .72;
    font-size: 12px;
    line-height: 1.7
}

.support-card b {
    font-size: 11px;
    position: absolute;
    bottom: 29px
}

.support-card.dark {
    color: #fff;
    background: #0a2c53
}

.support-card.dark:after {
    content: "◎";
    color: #ffffff0f;
    font-size: 170px;
    position: absolute;
    bottom: -52px;
    right: -22px
}

.support-card.pale {
    color: #0b315f;
    background: #eaf4ff
}

.support-card.pale:after {
    content: "↓";
    color: #0a4d910f;
    font-size: 150px;
    font-weight: 200;
    position: absolute;
    bottom: -42px;
    right: 18px
}

footer {
    color: #5e6665;
    background: #f2efe8;
    padding: 0 0 38px;
    overflow: hidden
}

.footer-top {
    background: 0 0;
    border: 0;
    justify-content: space-between;
    align-items: center;
    min-height: 132px;
    padding-top: 26px;
    padding-bottom: 26px;
    display: flex;
    position: relative
}

.footer-top:before {
    content: "";
    z-index: 0;
    background: #f2efe8;
    position: absolute;
    inset: 0 -100vw
}

.footer-top>* {
    z-index: 1;
    position: relative
}

.footer-brand-group {
    align-items: center;
    gap: 28px;
    display: flex
}

.footer-accreditation-mark {
    flex: none;
    justify-content: center;
    align-items: center;
    width: 142px;
    height: 76px;
    display: inline-flex
}

.footer-accreditation-mark img {
    object-fit: contain;
    filter: none;
    width: 136px;
    height: auto;
    max-height: 74px;
    display: block
}

.footer-brand {
    padding-left: 28px;
    position: relative
}

.footer-brand:before {
    content: "";
    background: #d8d0c3;
    width: 1px;
    height: 44px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%)
}

.footer-brand .brand-mark {
    border-color: #7193b7
}

.footer-brand .brand-mark i,
.footer-brand .brand-copy strong {
    color: #d7e2ed
}

.footer-brand .brand-copy small {
    color: #8193a7
}

.footer-links {
    color: #626762;
    gap: 28px;
    font-size: 11px;
    display: flex
}

.footer-links a:first-child {
    color: #1b354d;
    font-weight: 700
}

.footer-bottom {
    justify-content: space-between;
    padding-top: 27px;
    font-size: 11px;
    line-height: 1.8;
    display: flex
}

.footer-bottom p {
    margin: 0 0 4px
}

.footer-bottom p span {
    margin-right: 25px
}

.footer-bottom small {
    color: #737b78
}

.top-button {
    color: #1b354d;
    border: 1px solid #c9c2b7;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 48px;
    height: 48px;
    display: flex
}

.top-button small {
    color: #69706d;
    margin-top: 2px;
    font-size: 7px
}

@media (width>=901px) and (width<=1200px) {
    .trust-grid {
        width: calc(100% - 48px)
    }

    .trust-copy {
        padding: 72px 42px 72px 12px
    }

    .trust-points {
        padding: 56px 12px 56px 42px
    }

    .trust-points .official-mark-block {
        grid-template-columns: 148px 1fr
    }

    .trust-points .official-mark-block img {
        width: 138px
    }

    .trust-points .trust-item {
        padding: 22px 14px 18px
    }
}

@media (width<=900px) {
    .main-nav {
        gap: 18px
    }

    .nav-cta {
        display: none
    }

    .hero-inner {
        grid-template-columns: 1fr
    }

    .hero-copy {
        padding-top: 15px
    }

    .search-panel {
        grid-template-columns: 170px 1fr
    }

    .quick-link {
        display: none
    }

    .standard-grid {
        grid-template-columns: 1fr
    }

    .standard-card:nth-child(odd) {
        border-right: 0
    }

    .trust-grid {
        grid-template-columns: 1fr;
        gap: 0;
        width: min(760px, 100% - 48px)
    }

    .trust-section {
        background: #fff
    }

    .trust-section:before {
        display: none
    }

    .trust-copy {
        clip-path: inset(0 -100vmax);
        background: #061b36;
        padding: 72px 0;
        box-shadow: 0 0 0 100vmax #061b36
    }

    .trust-points {
        padding: 58px 0 72px
    }

    .process-row {
        grid-template-columns: repeat(3, 1fr)
    }

    .grievance-layout {
        grid-template-columns: 1fr
    }

    .grievance-types {
        border-bottom: 1px solid #d9e0e8;
        border-right: 0;
        padding-right: 0
    }

    .grievance-process {
        padding-left: 0
    }

    .news-grid {
        grid-template-columns: 1fr
    }
}

@media (width<=680px) {
    .container {
        width: min(100% - 32px, 1180px)
    }

    .topbar {
        display: none
    }

    .nav-row {
        height: 70px
    }

    .brand {
        min-width: 0
    }

    .brand-logo {
        width: 180px
    }

    .brand-mark {
        width: 36px;
        height: 36px
    }

    .brand-mark i,
    .brand-copy strong {
        font-size: 19px
    }

    .brand-copy small {
        font-size: 9px
    }

    .menu-button {
        margin-left: auto;
        display: block
    }

    .main-nav {
        background: #fff;
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
        padding: 14px 24px;
        display: none;
        position: absolute;
        top: 70px;
        left: 0;
        right: 0;
        box-shadow: 0 15px 30px #0000001f
    }

    .main-nav.open {
        display: flex
    }

    .main-nav a {
        border-bottom: 1px solid #edf0f4;
        width: 100%;
        padding: 14px 0
    }

    .hero {
        min-height: 690px
    }

    .hero-inner {
        height: 500px
    }

    .hero h1 {
        font-size: 38px
    }

    .hero-description {
        font-size: 14px
    }

    .desktop-break {
        display: none
    }

    .hero-actions {
        flex-direction: column;
        align-items: stretch
    }

    .button {
        justify-content: space-between
    }

    .search-panel {
        grid-template-columns: 1fr;
        gap: 15px;
        margin-top: -70px;
        padding: 23px
    }

    .search-title {
        border-right: 0;
        height: auto
    }

    .search-panel form {
        height: 48px;
        margin: 0
    }

    .search-toast {
        inset: auto 23px -42px
    }

    .section {
        padding: 85px 0
    }

    .section-heading {
        flex-direction: column;
        align-items: flex-start;
        gap: 25px
    }

    .section-heading h2,
    .center-heading h2,
    .grievance-heading h2 {
        font-size: 30px
    }

    .heading-side {
        text-align: left
    }

    .standard-card {
        grid-template-columns: 28px 112px 1fr;
        min-height: 154px;
        padding: 22px 8px
    }

    .standard-info {
        padding-left: 16px
    }

    .standard-info p,
    .standard-arrow {
        display: none
    }

    .standard-code strong {
        font-size: 17px
    }

    .standard-info h3 {
        margin: 0;
        font-size: 15px
    }

    .trust-grid {
        grid-template-columns: 1fr;
        gap: 0
    }

    .trust-points {
        padding: 48px 0 65px
    }

    .trust-point-grid {
        grid-template-columns: 1fr
    }

    .trust-points .trust-item {
        border-bottom: 1px solid #d9e0e8;
        border-right: 0;
        min-height: 132px
    }

    .trust-points .trust-item:last-child {
        border-bottom: 0
    }

    .trust-copy h2 {
        font-size: 34px
    }

    .trust-points .official-mark-block {
        grid-template-columns: 100px 1fr;
        gap: 15px;
        padding: 20px 0
    }

    .trust-points .official-mark-block img {
        width: 95px
    }

    .process-row {
        grid-template-columns: 1fr 1fr;
        gap: 25px 5px
    }

    .step-circle i {
        display: none
    }

    .process-row article:last-child {
        grid-column: 1/-1
    }

    .process-cta {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px
    }

    .grievance-heading {
        flex-direction: column;
        align-items: flex-start;
        gap: 18px
    }

    .grievance-heading>p {
        text-align: left
    }

    .grievance-types {
        padding: 32px 0
    }

    .grievance-process article {
        grid-template-columns: 35px 1fr
    }

    .grievance-process p {
        margin: 7px 0 0;
        display: block
    }

    .grievance-principle,
    .grievance-principle>div {
        flex-direction: column;
        align-items: flex-start
    }

    .grievance-principle>div {
        gap: 9px
    }

    .grievance-principle a {
        margin: 16px 0 0
    }

    .news-section {
        padding-top: 80px
    }

    .support-cards {
        grid-template-columns: 1fr
    }

    .footer-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 28px
    }

    .footer-brand-group {
        gap: 16px
    }

    .footer-accreditation-mark {
        width: 116px;
        height: 64px
    }

    .footer-accreditation-mark img {
        width: 112px;
        max-height: 62px
    }

    .footer-brand {
        padding-left: 16px
    }

    .footer-logo-shell .brand-logo {
        width: min(225px, 48vw)
    }

    .footer-links {
        flex-wrap: wrap;
        gap: 15px 22px
    }

    .footer-bottom {
        gap: 20px
    }

    .footer-bottom p span {
        display: block
    }

    .top-button {
        flex: 0 0 48px
    }
}

.dropdown-nav {
    gap: 28px;
    height: 84px
}

.nav-item {
    align-items: center;
    height: 84px;
    display: flex;
    position: relative
}

.nav-item>a {
    white-space: nowrap;
    align-items: center;
    gap: 5px;
    display: flex
}

.nav-chevron {
    color: #8694a3;
    font-size: 11px
}

.nav-dropdown {
    z-index: 50;
    background: #fff;
    border: 1px solid #dfe5eb;
    min-width: 188px;
    padding: 10px;
    display: none;
    position: absolute;
    top: 76px;
    left: 50%;
    transform: translate(-50%);
    box-shadow: 0 16px 35px #09274829
}

.nav-item:hover .nav-dropdown,
.nav-item:focus-within .nav-dropdown {
    display: block
}

.main-nav .nav-dropdown a {
    color: #4f6072;
    border-bottom: 1px solid #edf1f4;
    padding: 11px 13px;
    font-size: 12px;
    font-weight: 600;
    display: block
}

.main-nav .nav-dropdown a:last-child {
    border-bottom: 0
}

.main-nav .nav-dropdown a:after {
    display: none
}

.main-nav .nav-dropdown a:hover {
    color: #0870dc;
    background: #f3f7fb
}

.main-nav>a.active,
.nav-item>a.active {
    color: #0870dc
}

.nav-cta.active {
    color: #fff;
    background: #0870dc;
    border-color: #0870dc
}

.greeting-symbol.greeting-mark img {
    object-fit: contain;
    width: 100%;
    max-height: none
}

.scope-table dd {
    white-space: pre-line
}

.promotion-download {
    background: #f7f9fb;
    border: 1px solid #dbe3ea;
    justify-content: space-between;
    align-items: center;
    margin-top: 35px;
    padding: 30px 34px;
    display: flex
}

.promotion-download span {
    color: #0870dc;
    letter-spacing: .16em;
    font-size: 8px;
    font-weight: 800
}

.promotion-download h2 {
    margin: 8px 0;
    font-size: 20px
}

.promotion-download p {
    color: #687687;
    margin: 0;
    font-size: 11px
}

.promotion-download a {
    color: #fff;
    background: #0870dc;
    justify-content: space-between;
    align-items: center;
    min-width: 175px;
    height: 48px;
    padding: 0 18px;
    font-size: 11px;
    font-weight: 800;
    display: flex
}

.cert-process.topdown-flow {
    border-top: 0;
    max-width: 790px;
    margin: 0 auto
}

.cert-process.topdown-flow article {
    background: #fff;
    border: 1px solid #d6e0e9;
    border-left: 4px solid #0870dc;
    grid-template-columns: 75px 1fr 165px;
    min-height: 122px;
    margin-bottom: 38px;
    position: relative;
    box-shadow: 0 7px 22px #0e304f0f
}

.cert-process.topdown-flow article:hover {
    background: #f8fbfe
}

.cert-process.topdown-flow article>i {
    color: #0870dc;
    font-size: 21px;
    font-style: normal;
    position: absolute;
    bottom: -31px;
    left: 50%;
    transform: translate(-50%)
}

.certificate-search-fields {
    gap: 0
}

.certificate-search-fields input {
    border-right: 1px solid #dfe4e9;
    min-width: 0
}

.certificate-search-fields input+input {
    border-left: 0
}

.partner-strip {
    background: #fff;
    border-top: 1px solid #e3e8ed;
    padding: 22px 0
}

.partner-logos {
    grid-template-columns: repeat(5, 1fr);
    gap: 14px;
    display: grid
}

.partner-logos a {
    background: #fff;
    border: 1px solid #e1e6eb;
    place-items: center;
    height: 78px;
    transition: all .2s;
    display: grid
}

.partner-logos a:hover {
    border-color: #9cb8d1;
    box-shadow: 0 6px 18px #0e304f14
}

.partner-logos img {
    object-fit: contain;
    max-width: 82%;
    max-height: 52px
}

.partner-logos a:nth-child(2) img {
    max-height: 64px
}

.english-site {
    font-family: Arial, Helvetica Neue, sans-serif
}

.english-header .dropdown-nav {
    gap: 21px;
    font-size: 13px
}

.en-hero {
    color: #fff;
    background: radial-gradient(circle at 78% 38%, #155a9d 0, #0a315d 24%, #061a34 72%);
    min-height: 620px;
    position: relative;
    overflow: hidden
}

.en-hero-inner {
    z-index: 2;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    min-height: 620px;
    display: flex;
    position: relative
}

.en-hero h1 {
    letter-spacing: -.045em;
    margin: 24px 0 22px;
    font-size: 62px;
    line-height: 1.1
}

.en-hero h1 em {
    color: #65c5ff;
    font-style: normal
}

.en-hero-inner>p:last-of-type {
    color: #c2d0df;
    max-width: 660px;
    font-size: 18px;
    line-height: 1.7
}

.en-trust {
    color: #fff;
    background: #071f3d;
    padding: 92px 0
}

.en-trust-grid {
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 95px;
    display: grid
}

.en-trust h2 {
    letter-spacing: -.035em;
    margin: 16px 0 22px;
    font-size: 42px;
    line-height: 1.25
}

.en-trust-grid>div:first-child>p:not(.section-kicker) {
    color: #afc0d2;
    max-width: 560px;
    line-height: 1.8
}

.en-mark {
    color: #142033;
    background: #fff;
    grid-template-columns: 180px 1fr;
    align-items: center;
    gap: 28px;
    padding: 30px;
    display: grid
}

.en-mark img {
    width: 100%;
    height: auto
}

.en-mark small {
    color: #7b8998;
    letter-spacing: .14em;
    font-size: 8px;
    font-weight: 800
}

.en-mark strong {
    color: #123a65;
    margin: 10px 0;
    font-size: 21px;
    display: block
}

.en-mark p {
    color: #6e7a89;
    font-size: 11px;
    line-height: 1.7
}

.en-support {
    background: #fff
}

.en-support h2 {
    margin: 14px 0 18px;
    font-size: 40px;
    line-height: 1.25
}

.en-support p {
    color: #657085;
    line-height: 1.8
}

.en-support-links {
    border-top: 2px solid #153553
}

.en-support-links a {
    border-bottom: 1px solid #dce3ea;
    justify-content: space-between;
    align-items: center;
    min-height: 76px;
    padding: 0 18px;
    display: flex
}

.en-support-links a:hover {
    color: #075fd8;
    background: #f7faff
}

.en-sub-hero {
    color: #fff;
    background: radial-gradient(circle at 80%, #174f87, #071f3d 63%);
    align-items: center;
    min-height: 330px;
    display: flex;
    position: relative;
    overflow: hidden
}

.en-sub-hero:after {
    content: "K";
    color: #ffffff09;
    font-size: 390px;
    font-weight: 900;
    position: absolute;
    top: -85px;
    right: 7%
}

.en-sub-hero .container {
    z-index: 1;
    position: relative
}

.en-sub-hero p {
    color: #62c3ff;
    letter-spacing: .2em;
    font-size: 10px;
    font-weight: 800
}

.en-sub-hero small {
    color: #c8d8e7;
    margin-top: 18px;
    font-size: 14px;
    display: block
}

.en-sub-hero h1 {
    letter-spacing: -.035em;
    margin: 14px 0;
    font-size: 44px
}

.en-sub-hero span {
    color: #b7c7d7;
    max-width: 780px;
    font-size: 15px;
    line-height: 1.7;
    display: block
}

.en-detail-grid {
    grid-template-columns: 330px 1fr;
    gap: 90px;
    display: grid
}

.en-detail aside {
    border-top: 2px solid #153553;
    padding-top: 28px
}

.en-detail aside>p {
    color: #075fd8;
    letter-spacing: .17em;
    font-size: 9px;
    font-weight: 800
}

.en-detail aside h2 {
    margin: 15px 0;
    font-size: 30px;
    line-height: 1.3
}

.en-detail aside img {
    width: 230px;
    height: auto;
    margin-top: 25px
}

.en-detail-sections {
    border-top: 1px solid #ccd5df
}

.en-detail-sections article {
    border-bottom: 1px solid #dce3ea;
    grid-template-columns: 55px 1fr;
    gap: 20px;
    padding: 34px 0;
    display: grid
}

.en-detail-sections article>span {
    color: #075fd8;
    font-size: 11px;
    font-weight: 800
}

.en-detail-sections h3 {
    margin: 0 0 13px;
    font-size: 20px
}

.en-detail-sections p {
    color: #657085;
    margin: 0;
    font-size: 14px;
    line-height: 1.9
}

.en-detail-cta {
    color: #fff;
    background: #0a315d;
    padding: 50px 0
}

.en-detail-cta .container {
    justify-content: space-between;
    align-items: center;
    display: flex
}

.en-detail-cta small {
    color: #65c5ff;
    letter-spacing: .15em;
    font-weight: 800
}

.en-detail-cta h2 {
    margin: 10px 0 0;
    font-size: 25px
}

.en-detail-cta a {
    color: #075fd8;
    background: #fff;
    justify-content: space-between;
    align-items: center;
    min-width: 210px;
    height: 56px;
    padding: 0 20px;
    font-size: 13px;
    font-weight: 800;
    display: flex
}

@media (width<=900px) {
    .english-header .dropdown-nav {
        gap: 12px
    }

    .en-trust-grid,
    .en-detail-grid {
        grid-template-columns: 1fr;
        gap: 48px
    }
}

@media (width<=680px) {

    .en-hero,
    .en-hero-inner {
        min-height: 580px
    }

    .en-hero h1 {
        font-size: 42px
    }

    .en-trust-grid {
        gap: 35px
    }

    .en-mark {
        grid-template-columns: 105px 1fr;
        gap: 18px;
        padding: 22px
    }

    .en-sub-hero {
        min-height: 300px
    }

    .en-sub-hero h1 {
        font-size: 34px
    }

    .en-detail-grid {
        gap: 35px
    }

    .en-detail-cta .container {
        flex-direction: column;
        align-items: flex-start;
        gap: 28px
    }

    .en-detail-cta a {
        width: 100%
    }
}

.trust-item {
    border-top: 1px solid #ffffff2e;
    gap: 22px;
    padding: 23px 0;
    display: flex
}

.trust-item>span {
    color: #62c3ff;
    font-size: 10px;
    font-weight: 800
}

.trust-item h3 {
    margin: 0 0 7px;
    font-size: 15px
}

.trust-item p {
    color: #bdcbd9;
    margin: 0;
    font-size: 11px
}

.process-item {
    text-align: center;
    display: block
}

.process-item:hover h3 {
    color: #0870dc
}

.lookup-panel .lookup-options {
    justify-content: space-between;
    align-items: center
}

.lookup-panel .lookup-options span {
    color: #9fb4c8;
    font-size: 10px
}

.lookup-three-fields {
    gap: 8px
}

.signboard-type-image {
    object-fit: contain;
    width: 100%;
    height: 700px
}

.certification-inquiry-form {
    margin-top: 40px
}

.site-workforce>p {
    color: #718091;
    margin: 0 0 8px;
    font-size: 10px;
    font-weight: 400
}

.site-row {
    grid-template-columns: 80px 1fr 105px auto;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
    display: grid
}

.site-row>span {
    color: #294b6c;
    font-size: 10px
}

.site-row button {
    color: #d13b48;
    background: #fff;
    border: 1px solid #d4dce4;
    height: 42px;
    padding: 0 12px
}

.add-site {
    color: #0870dc;
    background: #fff;
    border: 1px solid #0870dc;
    width: 130px;
    height: 40px;
    margin-top: 12px;
    font-size: 10px;
    font-weight: 700
}

.narrow-form {
    max-width: 980px
}

.education-application {
    margin-top: 0
}

.board-migration-note {
    color: #687687;
    background: #f2f6fa;
    border-left: 3px solid #0870dc;
    margin-top: 28px;
    padding: 18px 20px;
    font-size: 11px
}

@media (width<=900px) {
    .dropdown-nav {
        gap: 15px
    }

    .nav-item>a {
        font-size: 13px
    }

    .certificate-search-fields {
        flex-wrap: wrap;
        height: auto !important
    }

    .certificate-search-fields input {
        flex: 30%;
        height: 46px
    }

    .certificate-search-fields button {
        height: 46px
    }

    .partner-logos {
        grid-template-columns: repeat(3, 1fr)
    }

    .contact-page-grid {
        grid-template-columns: 1fr
    }

    .contact-page-grid>aside {
        grid-template-columns: repeat(3, 1fr);
        gap: 18px;
        display: grid
    }

    .contact-page-grid>aside>span,
    .contact-page-grid>aside>h2,
    .contact-page-grid>aside>p {
        grid-column: 1/-1
    }

    .contact-card {
        border-top: 1px solid #dfe4e9
    }
}

@media (width<=680px) {
    .dropdown-nav {
        height: auto
    }

    .nav-item {
        width: 100%;
        height: auto;
        display: block
    }

    .nav-item>a {
        width: 100%
    }

    .nav-chevron {
        margin-left: auto
    }

    .nav-dropdown {
        min-width: 0;
        box-shadow: none;
        border: 0;
        padding: 0 0 5px 14px;
        display: block;
        position: static;
        transform: none
    }

    .main-nav .nav-dropdown a {
        color: #718091;
        padding: 9px 10px;
        font-size: 11px
    }

    .main-nav .nav-dropdown a:last-child {
        border-bottom: 1px solid #edf0f4
    }

    .search-panel form.certificate-search-fields {
        grid-template-columns: 1fr;
        height: auto;
        display: grid
    }

    .certificate-search-fields input,
    .certificate-search-fields button {
        width: 100%;
        height: 45px;
        border: 1px solid #dfe4e9 !important
    }

    .partner-logos {
        grid-template-columns: 1fr 1fr
    }

    .partner-logos a {
        height: 68px
    }

    .promotion-download {
        flex-direction: column;
        align-items: flex-start;
        gap: 22px;
        padding: 25px
    }

    .promotion-download a {
        width: 100%
    }

    .cert-process.topdown-flow article {
        grid-template-columns: 45px 1fr;
        padding: 17px 12px
    }

    .cert-process.topdown-flow article>strong {
        text-align: left;
        grid-column: 2
    }

    .lookup-three-fields {
        grid-template-columns: 1fr;
        display: grid !important
    }

    .lookup-panel form.lookup-three-fields button {
        width: 100%;
        min-height: 52px
    }

    .signboard-type-image {
        height: auto
    }

    .signboard-choice>div {
        grid-template-columns: 1fr
    }

    .site-row {
        grid-template-columns: 1fr 90px
    }

    .site-row>span,
    .site-row button {
        grid-column: 1/-1
    }

    .contact-page-grid>aside {
        display: block
    }

    .contact-card {
        margin-top: 10px
    }
}

.about-main-nav a.active {
    color: var(--blue)
}

.sub-hero {
    color: #fff;
    background: linear-gradient(105deg, #041830f5, #073869e6), radial-gradient(circle at 78% 40%, #267cc4, #09264a);
    align-items: center;
    height: 260px;
    display: flex;
    position: relative;
    overflow: hidden
}

.sub-hero:after {
    content: "K";
    color: #ffffff09;
    font-size: 360px;
    font-weight: 900;
    position: absolute;
    top: -85px;
    right: 8%
}

.sub-hero .container {
    z-index: 1;
    position: relative
}

.sub-hero p {
    color: #63c5ff;
    letter-spacing: .22em;
    font-size: 10px;
    font-weight: 800
}

.sub-hero h1 {
    letter-spacing: -.045em;
    margin: 13px 0 15px;
    font-size: 38px
}

.sub-hero span {
    color: #aebfd1;
    font-size: 13px
}

.about-tabs {
    background: #fff;
    border-bottom: 1px solid #dfe4ea
}

.about-tabs .container {
    grid-template-columns: repeat(6, 1fr);
    display: grid
}

.about-tabs a {
    color: #5f6d7d;
    border-left: 1px solid #e2e6eb;
    place-items: center;
    height: 68px;
    font-size: 13px;
    font-weight: 700;
    display: grid;
    position: relative
}

.about-tabs a:last-child {
    border-right: 1px solid #e2e6eb
}

.about-tabs a.active {
    color: #fff;
    background: #0b315b
}

.about-content {
    min-height: 700px;
    padding: 88px 0 120px
}

.sub-heading {
    text-align: center;
    margin-bottom: 65px;
    position: relative
}

.sub-heading>p {
    color: #0b6dde;
    letter-spacing: .2em;
    margin: 0 0 12px;
    font-size: 10px;
    font-weight: 800
}

.sub-heading h1 {
    letter-spacing: -.045em;
    margin: 0;
    font-size: 36px
}

.sub-heading>div {
    color: #9aa4b1;
    gap: 8px;
    font-size: 9px;
    display: flex;
    position: absolute;
    top: 20px;
    right: 0
}

.sub-heading b {
    font-weight: 400
}

.sub-heading strong {
    color: #405066
}

.prose {
    color: #536174;
    font-size: 14px;
    line-height: 1.95
}

.prose p {
    margin: 0 0 17px
}

.greeting-grid {
    grid-template-columns: .72fr 1.28fr;
    gap: 92px;
    display: grid
}

.greeting-lead {
    border-top: 2px solid #173957;
    padding-top: 27px
}

.greeting-lead>span {
    color: #0870dc;
    letter-spacing: .18em;
    font-size: 9px;
    font-weight: 800
}

.greeting-lead h2 {
    letter-spacing: -.045em;
    margin: 15px 0;
    font-size: 32px;
    line-height: 1.5
}

.greeting-lead h2 em {
    color: #0870dc;
    font-style: normal
}

.greeting-symbol {
    aspect-ratio: 720/394;
    background: 0 0;
    border-radius: 0;
    place-items: center;
    width: min(100%, 290px);
    height: auto;
    margin-top: 28px;
    display: grid
}

.greeting-symbol img {
    width: 100%;
    height: auto
}

.greeting-prose {
    border-top: 1px solid #dce2e8;
    padding-top: 25px
}

.signature {
    color: #29394b;
    justify-content: flex-end;
    align-items: end;
    gap: 16px;
    margin-top: 35px;
    display: flex
}

.signature span {
    font-size: 12px
}

.signature strong {
    letter-spacing: .14em;
    font-size: 23px
}

.timeline {
    max-width: 870px;
    margin: 0 auto;
    position: relative
}

.timeline:before {
    content: "";
    background: #cdd5de;
    width: 1px;
    position: absolute;
    top: 9px;
    bottom: 10px;
    left: 146px
}

.timeline article {
    grid-template-columns: 115px 24px 1fr;
    gap: 20px;
    min-height: 78px;
    display: grid
}

.timeline time {
    text-align: right;
    color: #316493;
    padding-top: 3px;
    font-size: 12px;
    font-weight: 700
}

.timeline i {
    background: #176dc5;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    margin: 2px auto 0;
    position: relative
}

.timeline strong {
    font-size: 14px;
    font-weight: 600
}

.timeline p {
    color: #667487;
    margin: 8px 0 0;
    font-size: 12px
}

.principle-list {
    border-top: 2px solid #173957
}

.principle-list article {
    border-bottom: 1px solid #dde3e9;
    grid-template-columns: 65px 1fr;
    gap: 25px;
    padding: 33px 20px;
    display: grid
}

.principle-list article>span {
    color: #0870dc;
    font-size: 11px;
    font-weight: 800
}

.principle-list h3 {
    margin: 0 0 12px;
    font-size: 18px
}

.principle-list p {
    color: #5e6b7b;
    margin: 0;
    font-size: 13px;
    line-height: 1.85
}

.scope-area {
    margin-top: 90px
}

.scope-area>h2 {
    margin-bottom: 25px;
    font-size: 28px
}

.scope-area>section {
    border-top: 2px solid #193753;
    grid-template-columns: 160px 1fr;
    margin-bottom: 55px;
    display: grid
}

.scope-body {
    background: #f2f6fa;
    padding: 28px 20px
}

.scope-body strong,
.scope-body span {
    display: block
}

.scope-body strong {
    color: #0b4e8e;
    font-size: 25px
}

.scope-body span {
    color: #778798;
    margin-top: 8px;
    font-size: 10px
}

.scope-table article {
    border-bottom: 1px solid #dfe4e9;
    grid-template-columns: 170px 1fr;
    display: grid
}

.scope-table h3 {
    margin: 0;
    padding: 28px 25px;
    font-size: 16px
}

.scope-table dl {
    border-left: 1px solid #e0e5ea;
    margin: 0
}

.scope-table dl>div {
    grid-template-columns: 90px 1fr;
    display: grid
}

.scope-table dl>div+div {
    border-top: 1px solid #edf0f3
}

.scope-table dt,
.scope-table dd {
    margin: 0;
    padding: 14px 18px;
    font-size: 11px;
    line-height: 1.65
}

.scope-table dt {
    color: #6a7888;
    background: #fafbfc
}

.scope-table dd {
    white-space: pre-line;
    color: #445366
}

.declaration {
    border-top: 2px solid #163957;
    grid-template-columns: 75px 1fr;
    max-width: 920px;
    margin: 0 auto;
    padding-top: 42px;
    display: grid
}

.quote-mark {
    color: #0870dc;
    font-family: Georgia, serif;
    font-size: 84px;
    line-height: 1
}

.declaration .prose {
    font-size: 15px
}

.declaration .prose p:first-child {
    color: #17334f;
    margin-bottom: 27px;
    font-size: 17px
}

.org-wrap {
    background: #f7f9fb;
    border: 1px solid #e3e8ed;
    max-width: 820px;
    height: 470px;
    margin: 0 auto;
    position: relative
}

.org-board,
.org-president,
.org-committee,
.org-teams div {
    z-index: 2;
    border-radius: 3px;
    place-items: center;
    font-size: 14px;
    font-weight: 700;
    display: grid;
    position: absolute
}

.org-board {
    color: #fff;
    background: #0d4a83;
    width: 180px;
    height: 58px;
    top: 42px;
    left: calc(50% - 90px)
}

.org-president {
    color: #fff;
    background: #3c72a5;
    width: 170px;
    height: 54px;
    top: 142px;
    left: calc(50% - 85px)
}

.org-committee {
    color: #254b70;
    background: #e9f1f8;
    border: 1px solid #a9c2d8;
    width: 170px;
    height: 54px;
    top: 142px;
    right: 52px
}

.org-line {
    background: #acbac8;
    position: absolute
}

.org-line.v {
    width: 1px;
    left: 50%
}

.org-line.v.one {
    height: 42px;
    top: 100px
}

.org-line.v.two {
    height: 90px;
    top: 196px
}

.org-line.h {
    height: 1px;
    top: 286px;
    left: 17%;
    right: 17%
}

.org-committee:before {
    content: "";
    background: #acbac8;
    width: 67px;
    height: 1px;
    position: absolute;
    top: 27px;
    left: -67px
}

.org-teams {
    justify-content: space-between;
    display: flex;
    position: absolute;
    top: 286px;
    left: 10%;
    right: 10%
}

.org-teams div {
    color: #fff;
    background: #30a0b7;
    width: 150px;
    height: 58px;
    position: relative;
    transform: translateY(46px)
}

.org-teams div:before {
    content: "";
    background: #acbac8;
    width: 1px;
    height: 46px;
    position: absolute;
    top: -46px
}

.map-visual {
    color: #153855;
    background: #eaf0f5;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 360px;
    display: flex;
    position: relative;
    overflow: hidden
}

.map-grid {
    opacity: .55;
    background-image: linear-gradient(26deg, #0000 47%, #c9d4dd 48% 49%, #0000 50%), linear-gradient(112deg, #0000 47%, #d1dae2 48% 49%, #0000 50%);
    background-size: 150px 95px;
    position: absolute;
    inset: -40px
}

.map-pin {
    z-index: 1;
    background: #096cda;
    border-radius: 50% 50% 50% 8px;
    place-items: center;
    width: 60px;
    height: 60px;
    display: grid;
    transform: rotate(-45deg);
    box-shadow: 0 10px 25px #004a9740
}

.map-pin span {
    color: #fff;
    font-size: 26px;
    font-weight: 900;
    transform: rotate(45deg)
}

.map-visual>strong,
.map-visual>small {
    z-index: 1
}

.map-visual>strong {
    margin-top: 24px;
    font-size: 18px
}

.map-visual>small {
    color: #718194;
    margin-top: 7px
}

.location-info {
    border-top: 2px solid #173957;
    grid-template-columns: 1fr .72fr 1.28fr;
    margin-top: 38px;
    display: grid
}

.location-info article {
    border-right: 1px solid #dde3e9;
    padding: 27px 30px
}

.location-info article:last-child {
    border-right: 0
}

.location-info span {
    color: #0870dc;
    letter-spacing: .16em;
    font-size: 8px;
    font-weight: 800
}

.location-info h3 {
    margin: 10px 0;
    font-size: 16px
}

.location-info p {
    color: #627082;
    margin: 0;
    font-size: 11px;
    line-height: 1.75
}

@media (width<=900px) {
    .about-main-nav {
        display: none
    }

    .about-tabs .container {
        display: flex;
        overflow-x: auto
    }

    .about-tabs a {
        min-width: 145px;
        padding: 0 20px
    }

    .greeting-grid {
        gap: 45px
    }

    .sub-heading>div {
        display: none
    }

    .scope-area>section {
        grid-template-columns: 120px 1fr
    }

    .location-info {
        grid-template-columns: 1fr 1fr
    }

    .location-info article:last-child {
        border-top: 1px solid #dde3e9;
        grid-column: 1/-1
    }
}

@media (width<=680px) {
    .sub-hero {
        height: 220px
    }

    .sub-hero h1 {
        font-size: 31px
    }

    .about-content {
        padding: 65px 0 85px
    }

    .sub-heading {
        margin-bottom: 45px
    }

    .sub-heading h1 {
        font-size: 30px
    }

    .greeting-grid {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .greeting-symbol {
        display: none
    }

    .timeline:before {
        left: 80px
    }

    .timeline article {
        grid-template-columns: 60px 14px 1fr;
        gap: 13px;
        min-height: 95px
    }

    .timeline time {
        font-size: 10px
    }

    .scope-area>section {
        grid-template-columns: 1fr
    }

    .scope-body {
        padding: 18px
    }

    .scope-table article {
        grid-template-columns: 1fr
    }

    .scope-table h3 {
        background: #f8fafc;
        padding: 20px 18px
    }

    .scope-table dl {
        border-left: 0
    }

    .scope-table dl>div {
        grid-template-columns: 75px 1fr
    }

    .declaration {
        grid-template-columns: 1fr
    }

    .quote-mark {
        height: 55px
    }

    .org-wrap {
        height: 560px
    }

    .org-committee {
        width: 145px;
        top: 130px;
        right: 15px
    }

    .org-president {
        width: 145px;
        top: 130px;
        left: 30px
    }

    .org-line.v.one {
        display: none
    }

    .org-line.v.two {
        height: 103px;
        top: 184px
    }

    .org-board {
        top: 35px
    }

    .org-board:after {
        content: "";
        background: #acbac8;
        width: 1px;
        height: 31px;
        position: absolute;
        bottom: -31px
    }

    .org-teams {
        flex-direction: column;
        align-items: center;
        gap: 18px;
        top: 287px;
        left: 5%;
        right: 5%
    }

    .org-teams div {
        height: 50px;
        transform: translateY(30px)
    }

    .org-teams div:before,
    .org-line.h {
        display: none
    }

    .location-info {
        grid-template-columns: 1fr
    }

    .location-info article {
        border-bottom: 1px solid #dde3e9;
        border-right: 0
    }

    .location-info article:last-child {
        grid-column: auto
    }

    .map-visual {
        height: 300px
    }
}

.iso-sub-hero {
    background: linear-gradient(105deg, #041830f5, #073869e6), radial-gradient(circle at 78% 40%, #267cc4, #09264a)
}

.iso-tabs {
    background: #fff;
    border-bottom: 1px solid #dfe4ea
}

.iso-tabs .container {
    grid-template-columns: repeat(7, 1fr);
    display: grid
}

.iso-tabs a {
    color: #5c6b7c;
    border-left: 1px solid #e2e6eb;
    place-items: center;
    height: 68px;
    font-size: 12px;
    font-weight: 700;
    display: grid
}

.iso-tabs a:last-child {
    border-right: 1px solid #e2e6eb
}

.iso-tabs a.active {
    color: #fff;
    background: #0b315b
}

.iso-detail {
    padding: 90px 0 120px
}

.iso-title {
    border-bottom: 2px solid #173957;
    justify-content: space-between;
    align-items: end;
    padding-bottom: 36px;
    display: flex
}

.iso-title p {
    color: #0870dc;
    letter-spacing: .18em;
    margin: 0 0 12px;
    font-size: 9px;
    font-weight: 800
}

.iso-title h1 {
    letter-spacing: -.04em;
    margin: 0;
    font-size: 42px
}

.iso-title>div>span {
    color: #627183;
    margin-top: 11px;
    font-size: 14px;
    display: block
}

.iso-edition {
    text-align: right
}

.iso-edition small,
.iso-edition strong {
    display: block
}

.iso-edition small {
    color: #96a1ae;
    letter-spacing: .14em;
    font-size: 8px
}

.iso-edition strong {
    color: #183858;
    margin-top: 8px;
    font-size: 15px
}

.iso-lead {
    grid-template-columns: 170px 1fr;
    gap: 35px;
    margin-top: 56px;
    display: grid
}

.iso-lead>span {
    color: #0870dc;
    letter-spacing: .17em;
    padding-top: 9px;
    font-size: 9px;
    font-weight: 800
}

.iso-lead h2 {
    letter-spacing: -.04em;
    max-width: 820px;
    margin: 0;
    font-size: 28px;
    line-height: 1.5
}

.iso-intro {
    color: #576577;
    border-top: 1px solid #dfe4e9;
    margin: 30px 0 0 205px;
    padding-top: 26px;
    font-size: 14px;
    line-height: 1.9
}

.iso-intro p {
    margin: 0 0 14px
}

.iso-notice {
    background: #f2f7fc;
    border-left: 3px solid #0870dc;
    align-items: center;
    gap: 24px;
    margin: 28px 0 0 205px;
    padding: 18px 22px;
    display: flex
}

.iso-notice strong {
    color: #16426d;
    white-space: nowrap;
    font-size: 12px
}

.iso-notice p {
    color: #5c6d7f;
    margin: 0;
    font-size: 11px;
    line-height: 1.65
}

.iso-section-grid {
    border-top: 1px solid #dfe4e9;
    grid-template-columns: .8fr 1.2fr;
    gap: 65px;
    margin-top: 90px;
    padding-top: 55px;
    display: grid
}

.iso-section-title {
    align-items: flex-start;
    gap: 19px;
    margin-bottom: 30px;
    display: flex
}

.iso-section-title>span {
    color: #0870dc;
    padding-top: 5px;
    font-size: 10px;
    font-weight: 800
}

.iso-section-title small {
    color: #92a0ae;
    letter-spacing: .14em;
    font-size: 8px;
    font-weight: 700;
    display: block
}

.iso-section-title h2 {
    letter-spacing: -.035em;
    margin: 8px 0 0;
    font-size: 24px
}

.check-list {
    border-top: 2px solid #173957;
    margin: 0;
    padding: 0;
    list-style: none
}

.check-list li {
    color: #526173;
    border-bottom: 1px solid #dfe4e9;
    padding: 20px 12px 20px 34px;
    font-size: 12px;
    line-height: 1.65;
    position: relative
}

.check-list li:before {
    content: "✓";
    color: #0870dc;
    font-weight: 800;
    position: absolute;
    left: 8px
}

.requirement-list {
    border-top: 2px solid #173957
}

.requirement-list article {
    border-bottom: 1px solid #dfe4e9;
    grid-template-columns: 40px 145px 1fr;
    align-items: start;
    gap: 15px;
    padding: 20px 10px;
    display: grid
}

.requirement-list>article>span {
    color: #0870dc;
    padding-top: 3px;
    font-size: 10px;
    font-weight: 800
}

.requirement-list h3 {
    margin: 0;
    font-size: 14px
}

.requirement-list p {
    color: #6c7887;
    margin: 0;
    font-size: 11px;
    line-height: 1.65
}

.benefit-section {
    color: #fff;
    background: #08294d;
    margin-top: 95px;
    padding: 55px
}

.iso-section-title.light>span {
    color: #62c3ff
}

.iso-section-title.light small {
    color: #829ab1
}

.benefit-grid {
    border-top: 1px solid #ffffff38;
    grid-template-columns: repeat(5, 1fr);
    display: grid
}

.benefit-grid article {
    border-right: 1px solid #ffffff29;
    min-height: 135px;
    padding: 24px 20px
}

.benefit-grid article:last-child {
    border-right: 0
}

.benefit-grid span {
    color: #61c2ff;
    font-size: 9px;
    font-weight: 800
}

.benefit-grid p {
    color: #d0dbe7;
    margin: 19px 0 0;
    font-size: 12px;
    line-height: 1.7
}

.prepare-section {
    margin-top: 90px
}

.prepare-list {
    border-top: 2px solid #173957;
    grid-template-columns: repeat(5, 1fr);
    display: grid
}

.prepare-list article {
    border-bottom: 1px solid #dde3e9;
    border-right: 1px solid #dde3e9;
    min-height: 125px;
    padding: 22px 18px
}

.prepare-list article:first-child {
    border-left: 1px solid #dde3e9
}

.prepare-list span {
    color: #0870dc;
    letter-spacing: .1em;
    font-size: 8px;
    font-weight: 800;
    display: block
}

.prepare-list strong {
    margin-top: 18px;
    font-size: 12px;
    line-height: 1.65;
    display: block
}

.iso-contact {
    background: #f3f7fa;
    justify-content: space-between;
    align-items: center;
    margin-top: 90px;
    padding: 46px 50px;
    display: flex
}

.iso-contact small {
    color: #0870dc;
    letter-spacing: .15em;
    font-size: 8px;
    font-weight: 800
}

.iso-contact h2 {
    margin: 11px 0 8px;
    font-size: 24px
}

.iso-contact p {
    color: #6c7988;
    margin: 0;
    font-size: 11px
}

.iso-contact a {
    color: #fff;
    background: #0870dc;
    justify-content: space-between;
    align-items: center;
    min-width: 170px;
    height: 52px;
    padding: 0 22px;
    font-size: 12px;
    font-weight: 800;
    display: flex
}

.iso-contact a span {
    font-size: 16px
}

@media (width<=900px) {
    .iso-tabs .container {
        display: flex;
        overflow-x: auto
    }

    .iso-tabs a {
        min-width: 135px;
        padding: 0 15px
    }

    .iso-section-grid {
        grid-template-columns: 1fr
    }

    .benefit-grid {
        grid-template-columns: repeat(3, 1fr)
    }

    .benefit-grid article {
        border-bottom: 1px solid #ffffff29
    }

    .prepare-list {
        grid-template-columns: repeat(3, 1fr)
    }
}

@media (width<=680px) {
    .iso-detail {
        padding: 65px 0 85px
    }

    .iso-title {
        flex-direction: column;
        align-items: flex-start;
        gap: 23px
    }

    .iso-title h1 {
        font-size: 34px
    }

    .iso-edition {
        text-align: left
    }

    .iso-lead {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-top: 42px
    }

    .iso-lead h2 {
        font-size: 23px
    }

    .iso-intro,
    .iso-notice {
        margin-left: 0
    }

    .iso-notice {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px
    }

    .iso-section-grid {
        gap: 65px;
        margin-top: 65px
    }

    .requirement-list article {
        grid-template-columns: 30px 1fr
    }

    .requirement-list p {
        grid-column: 2
    }

    .benefit-section {
        margin-left: -16px;
        margin-right: -16px;
        padding: 45px 22px
    }

    .benefit-grid {
        grid-template-columns: 1fr
    }

    .benefit-grid article {
        border-right: 0;
        min-height: auto
    }

    .prepare-list {
        grid-template-columns: 1fr
    }

    .prepare-list article {
        border-left: 1px solid #dde3e9;
        min-height: auto
    }

    .iso-contact {
        flex-direction: column;
        align-items: flex-start;
        gap: 28px;
        padding: 35px 25px
    }

    .iso-contact a {
        width: 100%
    }
}

.info-tabs {
    background: #fff;
    border-bottom: 1px solid #dfe4ea
}

.info-tabs .container {
    grid-template-columns: repeat(6, 1fr);
    display: grid
}

.info-tabs a {
    color: #5c6b7c;
    border-left: 1px solid #e2e6eb;
    place-items: center;
    height: 68px;
    font-size: 13px;
    font-weight: 700;
    display: grid
}

.info-tabs a:last-child {
    border-right: 1px solid #e2e6eb
}

.info-tabs a.active {
    color: #fff;
    background: #0b315b
}

.info-content {
    padding: 88px 0 120px
}

.info-lead {
    border-top: 2px solid #173957;
    grid-template-columns: 165px 1fr;
    column-gap: 40px;
    margin-bottom: 55px;
    padding-top: 35px;
    display: grid
}

.info-lead>span,
.mark-guide-head span,
.fee-head span,
.terms-intro>span,
.info-section-title>span {
    color: #0870dc;
    letter-spacing: .17em;
    font-size: 9px;
    font-weight: 800
}

.info-lead h2 {
    letter-spacing: -.04em;
    margin: 0;
    font-size: 29px;
    line-height: 1.5
}

.info-lead p {
    color: #647283;
    grid-column: 2;
    font-size: 12px;
    line-height: 1.8
}

.cert-process {
    border-top: 1px solid #d8e0e8
}

.cert-process article {
    border-bottom: 1px solid #dfe4ea;
    grid-template-columns: 60px 1fr 180px;
    align-items: center;
    gap: 25px;
    min-height: 112px;
    padding: 20px 26px;
    transition: all .2s;
    display: grid
}

.cert-process article:hover {
    background: #f6f9fc
}

.cert-process>article>span {
    color: #0870dc;
    font-size: 11px;
    font-weight: 800
}

.cert-process small {
    color: #8794a3;
    letter-spacing: .12em;
    font-size: 8px;
    font-weight: 700
}

.cert-process h3 {
    margin: 7px 0;
    font-size: 17px
}

.cert-process p {
    color: #687687;
    margin: 0;
    font-size: 11px;
    line-height: 1.6
}

.cert-process>article>strong {
    color: #294b6c;
    text-align: right;
    font-size: 11px
}

.info-callout {
    background: #f1f6fa;
    border-left: 3px solid #0870dc;
    align-items: center;
    gap: 28px;
    margin-top: 35px;
    padding: 23px 27px;
    display: flex
}

.info-callout strong {
    color: #163c60;
    white-space: nowrap;
    font-size: 13px
}

.info-callout p {
    color: #627183;
    margin: 0;
    font-size: 11px;
    line-height: 1.7
}

.mark-guide-head {
    border-top: 2px solid #173957;
    grid-template-columns: minmax(0, 1fr) 500px;
    align-items: center;
    gap: 70px;
    padding-top: 40px;
    display: grid
}

.mark-guide-head h2,
.fee-head h2,
.terms-intro h2 {
    letter-spacing: -.04em;
    margin: 14px 0;
    font-size: 29px;
    line-height: 1.5
}

.mark-guide-head p,
.fee-head>p,
.terms-intro p {
    color: #647283;
    font-size: 12px;
    line-height: 1.8
}

.mark-pair-stack {
    gap: 24px;
    display: grid
}

.mark-pair {
    border-bottom: 1px solid #dfe5ec;
    grid-template-columns: 1fr 18px 1fr;
    align-items: center;
    gap: 12px;
    min-height: 118px;
    padding: 10px 0;
    display: grid
}

.mark-pair:first-child {
    border-top: 1px solid #dfe5ec
}

.mark-pair figure {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 9px;
    min-width: 0;
    margin: 0;
    display: flex
}

.mark-pair figure img {
    object-fit: contain;
    width: 172px;
    height: 76px;
    display: block
}

.mark-pair figure:nth-of-type(2) img {
    width: 158px
}

.mark-pair>span {
    color: #a8b4c1;
    text-align: center;
    font-size: 16px
}

.mark-pair figcaption {
    color: #7b8999;
    letter-spacing: .08em;
    font-size: 8px;
    font-weight: 700
}

.guide-section {
    margin-top: 75px
}

.guide-section>h2 {
    font-size: 25px
}

.rule-grid {
    border-top: 2px solid #173957;
    grid-template-columns: repeat(4, 1fr);
    display: grid
}

.rule-grid article {
    border-bottom: 1px solid #dfe4e9;
    border-right: 1px solid #dfe4e9;
    padding: 28px 23px
}

.rule-grid article:first-child {
    border-left: 1px solid #dfe4e9
}

.rule-grid span {
    color: #0870dc;
    font-size: 9px;
    font-weight: 800
}

.rule-grid h3 {
    margin: 18px 0 12px;
    font-size: 15px
}

.rule-grid p {
    color: #6c7988;
    margin: 0;
    font-size: 11px;
    line-height: 1.7
}

.use-grid {
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 65px;
    display: grid
}

.use-grid section {
    padding: 40px
}

.use-grid .allowed {
    color: #fff;
    background: #0a315b
}

.use-grid .restricted {
    color: #1b3048;
    background: #f1f4f7
}

.use-grid span {
    letter-spacing: .15em;
    color: #65c4ff;
    font-size: 9px;
    font-weight: 800
}

.use-grid .restricted span {
    color: #d13b48
}

.use-grid h2 {
    margin: 13px 0 22px;
    font-size: 22px
}

.use-grid ul {
    margin: 0;
    padding-left: 18px
}

.use-grid li {
    margin: 7px 0;
    font-size: 12px;
    line-height: 1.8
}

.maintenance-grid {
    border-top: 2px solid #173957;
    grid-template-columns: repeat(3, 1fr);
    display: grid
}

.maintenance-grid article {
    border-bottom: 1px solid #dfe4e9;
    border-right: 1px solid #dfe4e9;
    min-height: 180px;
    padding: 28px
}

.maintenance-grid article:nth-child(3n+1) {
    border-left: 1px solid #dfe4e9
}

.maintenance-grid span {
    color: #0870dc;
    font-size: 9px;
    font-weight: 800
}

.maintenance-grid h3 {
    margin: 19px 0 12px;
    font-size: 16px
}

.maintenance-grid p {
    color: #687687;
    margin: 0;
    font-size: 11px;
    line-height: 1.7
}

.change-section {
    margin-top: 85px
}

.info-section-title h2 {
    margin: 11px 0;
    font-size: 26px
}

.info-section-title p {
    color: #6b7888;
    font-size: 12px
}

.change-list {
    border-top: 2px solid #173957;
    grid-template-columns: 1fr 1fr;
    margin-top: 28px;
    display: grid
}

.change-list div {
    border-bottom: 1px solid #dfe4e9;
    grid-template-columns: 42px 1fr;
    gap: 15px;
    padding: 18px;
    display: grid
}

.change-list div:nth-child(odd) {
    border-right: 1px solid #dfe4e9
}

.change-list span {
    color: #0870dc;
    font-size: 9px;
    font-weight: 800
}

.change-list p {
    margin: 0;
    font-size: 11px
}

.status-section {
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-top: 75px;
    display: grid
}

.status-section>div {
    background: #f4f7fa;
    padding: 38px
}

.status-section>div:first-child {
    color: #fff;
    background: #0a2d54
}

.status-section span {
    color: #61c2ff;
    letter-spacing: .15em;
    font-size: 8px;
    font-weight: 800
}

.status-section h2 {
    margin: 12px 0 22px;
    font-size: 21px
}

.status-section ul {
    padding-left: 17px
}

.status-section li,
.status-section p {
    margin: 7px 0;
    font-size: 11px;
    line-height: 1.75
}

.status-section>div:first-child li {
    color: #d5dfea
}

.status-section>div:last-child p {
    color: #627183
}

.scope-detail {
    border-top: 2px solid #173957;
    grid-template-columns: 180px 1fr;
    margin-top: 35px;
    display: grid
}

.scope-label {
    background: #f1f5f8;
    padding: 30px 25px
}

.scope-label strong,
.scope-label span {
    display: block
}

.scope-label strong {
    color: #0a4c89;
    font-size: 28px
}

.scope-label span {
    color: #778696;
    margin-top: 8px;
    font-size: 10px
}

.range-tables article {
    border-bottom: 1px solid #dfe4e9;
    grid-template-columns: 160px 1fr;
    display: grid
}

.range-tables h3 {
    margin: 0;
    padding: 25px;
    font-size: 15px
}

.range-tables p {
    color: #586779;
    border-left: 1px solid #e1e6eb;
    margin: 0;
    padding: 25px;
    font-size: 11px;
    line-height: 1.7
}

.sector-details {
    border: 1px solid #dfe4e9;
    margin-top: 20px
}

.sector-details summary {
    cursor: pointer;
    justify-content: space-between;
    padding: 20px 24px;
    font-size: 12px;
    font-weight: 700;
    display: flex
}

.sector-details>div {
    grid-template-columns: repeat(3, 1fr);
    padding: 0 24px 22px;
    display: grid
}

.sector-details article {
    border-top: 1px solid #e8ecf0;
    grid-template-columns: 30px 1fr;
    gap: 10px;
    padding: 12px;
    display: grid
}

.sector-details strong {
    color: #0870dc;
    font-size: 10px
}

.sector-details p {
    margin: 0;
    font-size: 10px
}

.scope-detail.ias {
    margin-top: 65px
}

.scheme-scope {
    grid-template-columns: 1fr 1fr;
    display: grid
}

.scheme-scope article {
    border-bottom: 1px solid #dfe4e9;
    border-right: 1px solid #dfe4e9;
    padding: 30px
}

.scheme-scope h3 {
    margin: 0;
    font-size: 18px
}

.scheme-scope p {
    color: #738191;
    font-size: 11px
}

.scheme-scope ul {
    margin: 20px 0 0;
    padding-left: 17px
}

.scheme-scope li {
    font-size: 11px;
    line-height: 1.75
}

.fee-head {
    border-top: 2px solid #173957;
    grid-template-columns: 1fr .75fr;
    align-items: end;
    gap: 70px;
    padding-top: 38px;
    display: grid
}

.fee-factors {
    border-top: 1px solid #dbe2e9;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 55px;
    display: grid
}

.fee-factors article {
    border-bottom: 1px solid #dfe4e9;
    border-right: 1px solid #dfe4e9;
    min-height: 170px;
    padding: 27px
}

.fee-factors article:nth-child(3n+1) {
    border-left: 1px solid #dfe4e9
}

.fee-factors span {
    color: #0870dc;
    font-size: 9px;
    font-weight: 800
}

.fee-factors h3 {
    margin: 18px 0 12px;
    font-size: 16px
}

.fee-factors p {
    color: #687687;
    margin: 0;
    font-size: 11px;
    line-height: 1.7
}

.fee-flow {
    margin-top: 80px
}

.fee-flow>div:last-child {
    border-top: 2px solid #173957;
    grid-template-columns: repeat(4, 1fr);
    display: grid
}

.fee-flow article {
    border-bottom: 1px solid #dfe4e9;
    border-right: 1px solid #dfe4e9;
    padding: 27px 23px
}

.fee-flow article:first-child {
    border-left: 1px solid #dfe4e9
}

.fee-flow article span {
    color: #0870dc;
    font-size: 8px;
    font-weight: 800
}

.fee-flow h3 {
    margin: 17px 0 10px;
    font-size: 14px
}

.fee-flow p {
    color: #718091;
    margin: 0;
    font-size: 10px;
    line-height: 1.6
}

.fee-notes {
    color: #fff;
    background: #082b50;
    margin-top: 65px;
    padding: 40px;
    position: relative
}

.fee-notes h2 {
    margin: 0 0 20px;
    font-size: 21px
}

.fee-notes ul {
    max-width: 750px;
    padding-left: 18px
}

.fee-notes li {
    color: #ccd8e4;
    font-size: 11px;
    line-height: 1.8
}

.fee-notes a {
    background: #0870dc;
    padding: 17px 22px;
    font-size: 11px;
    font-weight: 800;
    position: absolute;
    bottom: 40px;
    right: 40px
}

.fee-notes a span {
    margin-left: 25px
}

.terms-intro {
    border-top: 2px solid #173957;
    grid-template-columns: 170px 1fr;
    column-gap: 35px;
    padding-top: 38px;
    display: grid
}

.terms-intro>span {
    padding-top: 9px
}

.terms-intro h2,
.terms-intro p {
    grid-column: 2
}

.terms-list {
    border-top: 1px solid #d7dfe7;
    margin-top: 50px
}

.terms-list article {
    border-bottom: 1px solid #dfe4e9;
    grid-template-columns: 90px 190px 1fr;
    gap: 20px;
    padding: 24px 20px;
    display: grid
}

.terms-list span {
    color: #0870dc;
    font-size: 10px;
    font-weight: 800
}

.terms-list h3 {
    margin: 0;
    font-size: 14px
}

.terms-list p {
    color: #657384;
    margin: 0;
    font-size: 11px;
    line-height: 1.7
}

@media (width<=900px) {
    .info-tabs .container {
        display: flex;
        overflow-x: auto
    }

    .info-tabs a {
        min-width: 145px;
        padding: 0 18px
    }

    .rule-grid,
    .maintenance-grid,
    .fee-factors {
        grid-template-columns: 1fr 1fr
    }

    .maintenance-grid article:nth-child(3n+1),
    .fee-factors article:nth-child(3n+1) {
        border-left: 0
    }

    .maintenance-grid article:nth-child(odd),
    .fee-factors article:nth-child(odd) {
        border-left: 1px solid #dfe4e9
    }

    .sector-details>div,
    .fee-flow>div:last-child {
        grid-template-columns: 1fr 1fr
    }
}

@media (width<=680px) {
    .info-content {
        padding: 65px 0 85px
    }

    .info-lead,
    .mark-guide-head,
    .fee-head,
    .terms-intro {
        grid-template-columns: 1fr;
        gap: 15px
    }

    .info-lead h2,
    .mark-guide-head h2,
    .fee-head h2,
    .terms-intro h2 {
        font-size: 24px
    }

    .info-lead p,
    .terms-intro h2,
    .terms-intro p {
        grid-column: 1
    }

    .cert-process article {
        grid-template-columns: 35px 1fr;
        padding: 18px 8px
    }

    .cert-process>article>strong {
        text-align: left;
        color: #0870dc;
        grid-column: 2
    }

    .mark-guide-head {
        align-items: start
    }

    .mark-pair-stack {
        margin-top: 20px
    }

    .mark-pair figure img {
        width: 132px;
        height: 68px
    }

    .mark-pair figure:nth-of-type(2) img {
        width: 120px
    }

    .rule-grid,
    .use-grid,
    .maintenance-grid,
    .change-list,
    .status-section,
    .fee-factors {
        grid-template-columns: 1fr
    }

    .rule-grid article,
    .maintenance-grid article,
    .fee-factors article {
        border-left: 1px solid #dfe4e9
    }

    .change-list div:nth-child(odd) {
        border-right: 0
    }

    .scope-detail,
    .range-tables article {
        grid-template-columns: 1fr
    }

    .range-tables p {
        border-top: 1px solid #e1e6eb;
        border-left: 0
    }

    .sector-details>div,
    .scheme-scope,
    .fee-flow>div:last-child {
        grid-template-columns: 1fr
    }

    .fee-flow article {
        border-left: 1px solid #dfe4e9
    }

    .fee-notes {
        padding: 30px 25px
    }

    .fee-notes a {
        justify-content: space-between;
        margin-top: 25px;
        display: flex;
        position: static
    }

    .terms-list article {
        grid-template-columns: 65px 1fr
    }

    .terms-list p {
        grid-column: 2
    }
}

.support-sub-hero,
.education-sub-hero {
    background: linear-gradient(105deg, #041830f5, #083b69e0), radial-gradient(circle at 78% 42%, #2887c8, #09264a)
}

.support-tabs,
.education-tabs {
    background: #fff;
    border-bottom: 1px solid #dfe4ea
}

.support-tabs .container {
    grid-template-columns: repeat(5, 1fr);
    display: grid
}

.education-tabs .container {
    grid-template-columns: repeat(4, 1fr);
    display: grid
}

.support-tabs a,
.education-tabs a {
    color: #5c6b7c;
    border-left: 1px solid #e2e6eb;
    place-items: center;
    height: 68px;
    font-size: 13px;
    font-weight: 700;
    display: grid
}

.support-tabs a:last-child,
.education-tabs a:last-child {
    border-right: 1px solid #e2e6eb
}

.support-tabs a.active,
.education-tabs a.active {
    color: #fff;
    background: #0b315b
}

.support-content,
.education-content {
    padding: 88px 0 120px
}

.support-lead,
.education-lead {
    border-top: 2px solid #173957;
    grid-template-columns: 180px 1fr;
    gap: 34px;
    margin-bottom: 55px;
    padding-top: 36px;
    display: grid
}

.support-lead>span,
.education-lead>span,
.content-title small,
.schedule-section>div>span {
    color: #0870dc;
    letter-spacing: .17em;
    padding-top: 8px;
    font-size: 9px;
    font-weight: 800
}

.support-lead h2,
.education-lead h2 {
    letter-spacing: -.04em;
    margin: 0 0 14px;
    font-size: 29px;
    line-height: 1.48
}

.support-lead p,
.education-lead p {
    color: #647283;
    max-width: 760px;
    margin: 0;
    font-size: 12px;
    line-height: 1.8
}

.board-tools {
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    display: flex
}

.board-tools>span {
    color: #687687;
    font-size: 11px
}

.board-tools b {
    color: #0870dc
}

.board-tools form {
    height: 38px;
    display: flex
}

.board-tools select,
.board-tools input {
    color: #5f6c7a;
    background: #fff;
    border: 1px solid #d5dde5;
    padding: 0 12px;
    font-size: 11px
}

.board-tools input {
    border-left: 0;
    width: 230px
}

.board-tools button {
    color: #fff;
    background: #173957;
    border: 0;
    width: 65px;
    font-weight: 700
}

.professional-board {
    border-top: 2px solid #173957
}

.professional-board .board-head,
.professional-board>a {
    grid-template-columns: 85px 1fr 110px;
    align-items: center;
    padding: 0 22px;
    display: grid
}

.professional-board .board-head {
    color: #6b7887;
    background: #f4f7f9;
    height: 50px;
    font-size: 10px
}

.professional-board>a {
    border-bottom: 1px solid #dfe4ea;
    min-height: 67px
}

.professional-board>a>span {
    color: #0870dc;
    font-size: 10px;
    font-weight: 700
}

.professional-board>a b {
    font-size: 13px
}

.professional-board>a em {
    color: #fff;
    background: #0870dc;
    margin-left: 8px;
    padding: 3px 5px;
    font-size: 7px;
    font-style: normal
}

.professional-board time {
    color: #8995a2;
    text-align: center;
    font-size: 10px
}

.pagination {
    justify-content: center;
    gap: 7px;
    margin-top: 35px;
    display: flex
}

.pagination>* {
    color: #7d8996;
    border: 1px solid #dce2e8;
    place-items: center;
    width: 34px;
    height: 34px;
    font-size: 10px;
    display: grid
}

.pagination b {
    color: #fff;
    background: #0b315b;
    border-color: #0b315b
}

.download-grid {
    border-top: 2px solid #173957;
    grid-template-columns: repeat(3, 1fr);
    display: grid
}

.download-grid article {
    border-bottom: 1px solid #dfe4e9;
    border-right: 1px solid #dfe4e9;
    min-height: 245px;
    padding: 28px
}

.download-grid article:nth-child(3n+1) {
    border-left: 1px solid #dfe4e9
}

.download-grid article>div {
    justify-content: space-between;
    display: flex
}

.download-grid article span {
    color: #0870dc;
    font-size: 9px;
    font-weight: 800
}

.download-grid article small {
    color: #9aa5af;
    font-size: 8px
}

.download-grid h3 {
    margin: 30px 0 12px;
    font-size: 16px
}

.download-grid p {
    color: #697687;
    min-height: 42px;
    font-size: 11px;
    line-height: 1.7
}

.download-grid button {
    color: #294967;
    background: #fff;
    border: 1px solid #cfd8e1;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 42px;
    padding: 0 15px;
    font-size: 10px;
    font-weight: 700;
    display: flex
}

.download-grid button b {
    color: #0870dc;
    font-size: 15px
}

.lookup-panel {
    background: #0a2e55;
    padding: 48px
}

.lookup-options {
    color: #fff;
    gap: 28px;
    margin-bottom: 20px;
    font-size: 12px;
    display: flex
}

.lookup-options input,
.inquiry-types input,
.standard-checks input,
.consent input {
    accent-color: #0870dc
}

.lookup-panel form {
    height: 58px;
    display: flex
}

.lookup-panel form input {
    border: 0;
    flex: 1;
    padding: 0 20px;
    font-size: 13px
}

.lookup-panel form button {
    color: #fff;
    background: #0870dc;
    border: 0;
    justify-content: space-between;
    align-items: center;
    width: 190px;
    padding: 0 22px;
    font-size: 12px;
    font-weight: 800;
    display: flex
}

.lookup-panel>p {
    color: #9eb2c5;
    margin: 17px 0 0;
    font-size: 10px
}

.lookup-guide {
    border-top: 2px solid #173957;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 35px;
    display: grid
}

.lookup-guide div {
    border-bottom: 1px solid #dfe4e9;
    border-right: 1px solid #dfe4e9;
    padding: 27px
}

.lookup-guide div:first-child {
    border-left: 1px solid #dfe4e9
}

.lookup-guide span,
.estimate-facts span {
    color: #0870dc;
    font-size: 9px;
    font-weight: 800
}

.lookup-guide h3,
.estimate-facts h3 {
    margin: 16px 0 10px;
    font-size: 14px
}

.lookup-guide p,
.estimate-facts p {
    color: #6b7887;
    margin: 0;
    font-size: 11px;
    line-height: 1.65
}

.signboard-layout {
    background: #f3f7fa;
    grid-template-columns: 1fr 1fr;
    display: grid
}

.signboard-preview {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 390px;
    display: flex
}

.signboard-plate {
    text-align: center;
    background: linear-gradient(145deg, #fefefe, #e9edf1);
    border: 6px solid #d1d7de;
    width: 280px;
    padding: 37px 34px;
    box-shadow: 0 18px 30px #18334f29
}

.signboard-plate img {
    width: 115px
}

.signboard-plate span {
    color: #6d7884;
    letter-spacing: .12em;
    margin: 22px 0 12px;
    font-size: 8px;
    line-height: 1.55;
    display: block
}

.signboard-plate b {
    color: #0b315b;
    font-size: 22px
}

.signboard-preview>small {
    color: #8a96a2;
    margin-top: 23px;
    font-size: 9px
}

.signboard-copy {
    color: #fff;
    background: #0a2d54;
    padding: 58px 48px
}

.signboard-copy h2 {
    margin: 0 0 24px;
    font-size: 24px
}

.signboard-copy ul {
    margin: 0;
    padding-left: 18px
}

.signboard-copy li {
    color: #d0dbe6;
    margin-bottom: 8px;
    font-size: 11px;
    line-height: 1.85
}

.signboard-copy>a {
    background: #0870dc;
    justify-content: space-between;
    align-items: center;
    height: 48px;
    margin-top: 30px;
    padding: 0 18px;
    font-size: 11px;
    font-weight: 800;
    display: flex
}

.request-form {
    border-top: 2px solid #173957;
    margin-top: 75px;
    padding-top: 35px
}

.form-title {
    align-items: end;
    gap: 24px;
    margin-bottom: 28px;
    display: flex
}

.form-title>span {
    color: #0870dc;
    letter-spacing: .16em;
    font-size: 9px;
    font-weight: 800
}

.form-title h2 {
    margin: 0;
    font-size: 25px
}

.form-title p {
    color: #84909d;
    margin: 0 0 2px auto;
    font-size: 9px
}

.form-title i,
.form-grid i,
.inquiry-form legend i {
    color: #e0394c;
    font-style: normal
}

.form-grid {
    border-top: 1px solid #d8e0e7;
    grid-template-columns: 1fr 1fr;
    display: grid
}

.form-grid>label,
.form-grid>fieldset {
    border: 0;
    border-bottom: 1px solid #e0e5ea;
    flex-direction: column;
    gap: 10px;
    margin: 0;
    padding: 20px;
    font-size: 11px;
    font-weight: 700;
    display: flex
}

.form-grid>label:nth-child(odd) {
    border-right: 1px solid #e0e5ea
}

.form-grid .full,
.form-grid>fieldset.full {
    border-right: 0;
    grid-column: 1/-1
}

.form-grid input,
.form-grid select,
.form-grid textarea {
    color: #526173;
    width: 100%;
    font: inherit;
    resize: vertical;
    background: #fff;
    border: 1px solid #d4dce4;
    padding: 13px
}

.consent {
    align-items: center;
    margin: 20px 0;
    flex-direction: row !important;
    gap: 9px !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    display: flex !important
}

.consent input {
    width: auto
}

.consent a {
    color: #0870dc;
    text-decoration: underline
}

.form-submit {
    color: #fff;
    background: #0870dc;
    border: 0;
    justify-content: space-between;
    align-items: center;
    width: 210px;
    height: 54px;
    margin-left: auto;
    padding: 0 22px;
    font-size: 12px;
    font-weight: 800;
    display: flex
}

.estimate-facts {
    border-top: 2px solid #173957;
    grid-template-columns: repeat(4, 1fr);
    display: grid
}

.estimate-facts article {
    border-bottom: 1px solid #dfe4e9;
    border-right: 1px solid #dfe4e9;
    padding: 25px
}

.estimate-facts article:first-child {
    border-left: 1px solid #dfe4e9
}

.education-lead {
    margin-bottom: 75px
}

.content-title {
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 30px;
    display: flex
}

.content-title>span {
    color: #0870dc;
    padding-top: 4px;
    font-size: 11px;
    font-weight: 800
}

.content-title small {
    padding: 0;
    display: block
}

.content-title h2 {
    margin: 8px 0 0;
    font-size: 25px
}

.course-grid {
    border-top: 2px solid #173957;
    grid-template-columns: repeat(3, 1fr);
    display: grid
}

.course-grid article {
    border-bottom: 1px solid #dfe4e9;
    border-right: 1px solid #dfe4e9;
    min-height: 260px;
    padding: 27px;
    position: relative
}

.course-grid article:nth-child(3n+1) {
    border-left: 1px solid #dfe4e9
}

.course-grid article>span {
    color: #0870dc;
    font-size: 9px;
    font-weight: 800
}

.course-grid article>strong {
    color: #0d4b84;
    margin-top: 25px;
    font-size: 18px;
    display: block
}

.course-grid h3 {
    margin: 8px 0 14px;
    font-size: 14px
}

.course-grid p {
    color: #6b7887;
    font-size: 11px;
    line-height: 1.7
}

.course-grid a {
    color: #0870dc;
    font-size: 10px;
    font-weight: 800;
    position: absolute;
    bottom: 25px;
    left: 27px
}

.education-process {
    margin-top: 85px
}

.education-process>div:last-child {
    border-top: 2px solid #173957;
    grid-template-columns: repeat(5, 1fr);
    display: grid
}

.education-process article {
    border-bottom: 1px solid #dfe4e9;
    border-right: 1px solid #dfe4e9;
    padding: 25px 21px
}

.education-process article:first-child {
    border-left: 1px solid #dfe4e9
}

.education-process article span {
    color: #0870dc;
    font-size: 8px;
    font-weight: 800
}

.education-process h3 {
    margin: 17px 0 10px;
    font-size: 14px
}

.education-process p {
    color: #718091;
    font-size: 10px;
    line-height: 1.6
}

.schedule-section {
    color: #fff;
    background: #0a2d54;
    justify-content: space-between;
    align-items: center;
    margin-top: 85px;
    padding: 42px 48px;
    display: flex
}

.schedule-section>div>span {
    color: #5dc1ff
}

.schedule-section h2 {
    margin: 10px 0;
    font-size: 24px
}

.schedule-section p {
    color: #cfdae5;
    margin: 0;
    font-size: 11px
}

.schedule-section>a {
    background: #0870dc;
    justify-content: space-between;
    align-items: center;
    min-width: 180px;
    height: 50px;
    padding: 0 20px;
    font-size: 11px;
    font-weight: 800;
    display: flex
}

.education-faq {
    margin-top: 85px
}

.education-faq details {
    border-top: 1px solid #dce3ea
}

.education-faq details:last-child {
    border-bottom: 1px solid #dce3ea
}

.education-faq summary {
    cursor: pointer;
    justify-content: space-between;
    padding: 23px 18px;
    font-size: 13px;
    font-weight: 700;
    display: flex
}

.education-faq summary span {
    color: #0870dc
}

.education-faq details p {
    color: #687687;
    margin: 0;
    padding: 0 18px 23px;
    font-size: 11px;
    line-height: 1.75
}

.contact-hero {
    color: #fff;
    background: #08294d;
    padding: 90px 0
}

.contact-hero p {
    letter-spacing: .2em;
    color: #63c4ff;
    margin: 0 0 17px;
    font-size: 9px;
    font-weight: 800
}

.contact-hero h1 {
    margin: 0 0 15px;
    font-size: 44px
}

.contact-hero span {
    color: #b8c7d6;
    font-size: 13px
}

.contact-page {
    padding: 90px 0 120px
}

.contact-page-grid {
    grid-template-columns: 310px 1fr;
    gap: 90px;
    display: grid
}

.contact-page-grid>aside>span {
    color: #0870dc;
    letter-spacing: .16em;
    font-size: 9px;
    font-weight: 800
}

.contact-page-grid>aside h2 {
    margin: 16px 0;
    font-size: 26px;
    line-height: 1.5
}

.contact-page-grid>aside>p {
    color: #6b7887;
    margin-bottom: 35px;
    font-size: 11px;
    line-height: 1.75
}

.contact-card {
    border-top: 1px solid #dfe4e9;
    padding: 20px 0
}

.contact-card small {
    color: #8794a2;
    letter-spacing: .15em;
    margin-bottom: 9px;
    font-size: 8px;
    display: block
}

.contact-card a {
    color: #173957;
    margin-top: 7px;
    font-size: 14px;
    font-weight: 800;
    display: block
}

.contact-card p {
    color: #607082;
    margin: 0;
    font-size: 11px;
    line-height: 1.7
}

.inquiry-form {
    background: #f4f7fa;
    padding: 42px
}

.inquiry-types {
    border: 1px solid #d6dee6;
    grid-template-columns: repeat(5, 1fr);
    margin-bottom: 25px;
    display: grid
}

.inquiry-types label {
    text-align: center;
    background: #fff;
    border-right: 1px solid #dfe5ea;
    padding: 15px 8px;
    font-size: 10px
}

.inquiry-types label:last-child {
    border-right: 0
}

.standard-checks {
    flex-wrap: wrap;
    gap: 10px;
    display: flex
}

.standard-checks label {
    background: #fff;
    border: 1px solid #d4dce4;
    padding: 11px 13px;
    font-size: 10px;
    font-weight: 500
}

.form-note {
    text-align: right;
    color: #8a96a2;
    margin-top: 13px;
    font-size: 9px
}

@media (width<=900px) {

    .support-tabs .container,
    .education-tabs .container {
        display: flex;
        overflow-x: auto
    }

    .support-tabs a,
    .education-tabs a {
        min-width: 150px
    }

    .download-grid,
    .course-grid {
        grid-template-columns: 1fr 1fr
    }

    .download-grid article:nth-child(3n+1),
    .course-grid article:nth-child(3n+1) {
        border-left: 0
    }

    .download-grid article:nth-child(odd),
    .course-grid article:nth-child(odd) {
        border-left: 1px solid #dfe4e9
    }

    .education-process>div:last-child {
        grid-template-columns: repeat(3, 1fr)
    }

    .estimate-facts {
        grid-template-columns: 1fr 1fr
    }

    .contact-page-grid {
        grid-template-columns: 250px 1fr;
        gap: 45px
    }

    .inquiry-types {
        grid-template-columns: 1fr 1fr
    }

    .inquiry-types label {
        border-bottom: 1px solid #dfe5ea
    }
}

@media (width<=680px) {

    .support-content,
    .education-content {
        padding: 65px 0 85px
    }

    .support-lead,
    .education-lead {
        grid-template-columns: 1fr;
        gap: 13px
    }

    .support-lead h2,
    .education-lead h2 {
        font-size: 24px
    }

    .board-tools {
        flex-direction: column;
        align-items: flex-start;
        gap: 13px
    }

    .board-tools form {
        width: 100%
    }

    .board-tools input {
        flex: 1;
        min-width: 0
    }

    .professional-board .board-head,
    .professional-board>a {
        grid-template-columns: 58px 1fr 72px;
        padding: 0 8px
    }

    .professional-board>a b {
        font-size: 11px
    }

    .download-grid,
    .lookup-guide,
    .signboard-layout,
    .course-grid,
    .estimate-facts {
        grid-template-columns: 1fr
    }

    .download-grid article,
    .course-grid article {
        border-left: 1px solid #dfe4e9
    }

    .lookup-panel {
        padding: 30px 20px
    }

    .lookup-panel form {
        flex-direction: column;
        height: auto
    }

    .lookup-panel form input,
    .lookup-panel form button {
        width: 100%;
        min-height: 52px
    }

    .lookup-guide div {
        border-left: 1px solid #dfe4e9
    }

    .signboard-copy {
        padding: 40px 25px
    }

    .form-grid {
        grid-template-columns: 1fr
    }

    .form-grid>label:nth-child(odd) {
        border-right: 0
    }

    .form-grid .full,
    .form-grid>fieldset.full {
        grid-column: auto
    }

    .form-title {
        flex-direction: column;
        align-items: flex-start;
        gap: 9px
    }

    .form-title p {
        margin: 0
    }

    .form-submit {
        width: 100%
    }

    .education-process>div:last-child {
        grid-template-columns: 1fr
    }

    .education-process article {
        border-left: 1px solid #dfe4e9
    }

    .schedule-section {
        flex-direction: column;
        align-items: flex-start;
        gap: 25px;
        padding: 35px 25px
    }

    .schedule-section>a {
        width: 100%
    }

    .contact-hero {
        padding: 65px 0
    }

    .contact-hero h1 {
        font-size: 35px
    }

    .contact-page {
        padding: 65px 0 85px
    }

    .contact-page-grid {
        grid-template-columns: 1fr;
        gap: 45px
    }

    .inquiry-form {
        padding: 27px 18px
    }

    .inquiry-types {
        grid-template-columns: 1fr
    }

    .inquiry-types label {
        text-align: left;
        border-right: 0
    }

    .standard-checks {
        flex-direction: column
    }
}

.process-item {
    text-align: center;
    display: block;
    position: relative
}

.education-tabs .container {
    display: flex
}

.education-tabs a {
    flex: 1
}

.signboard-preview {
    background: #eef3f7;
    padding: 28px
}

.signboard-type-image {
    object-fit: contain;
    width: 100%;
    height: 700px;
    display: block
}

.signboard-choice>div {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    display: grid
}

.signboard-choice label {
    background: #fff;
    border: 1px solid #d5dee7;
    grid-template-columns: 22px 1fr;
    gap: 4px 8px;
    padding: 18px;
    display: grid
}

.signboard-choice label input {
    grid-row: 1/3;
    width: auto
}

.signboard-choice label strong {
    font-size: 13px
}

.signboard-choice label span {
    color: #687687;
    font-size: 10px;
    font-weight: 500
}

.lookup-panel form.lookup-three-fields {
    gap: 8px;
    display: flex
}

.lookup-panel form.lookup-three-fields input {
    border: 0
}

.lookup-panel form.lookup-three-fields button {
    flex: 0 0 175px
}

.contact-page-grid .certification-inquiry-form {
    margin-top: 0
}

@media (width<=900px) {
    .contact-page-grid {
        grid-template-columns: 1fr
    }

    .contact-page-grid>aside {
        grid-template-columns: repeat(3, 1fr);
        gap: 18px;
        display: grid
    }

    .contact-page-grid>aside>span,
    .contact-page-grid>aside>h2,
    .contact-page-grid>aside>p {
        grid-column: 1/-1
    }
}

@media (width<=680px) {
    .signboard-type-image {
        height: auto
    }

    .signboard-choice>div {
        grid-template-columns: 1fr
    }

    .lookup-panel form.lookup-three-fields {
        grid-template-columns: 1fr;
        display: grid
    }

    .lookup-panel form.lookup-three-fields button {
        width: 100%;
        min-height: 52px
    }

    .contact-page-grid>aside {
        display: block
    }
}

.head-office-row {
    border-bottom: 1px solid #e1e6eb;
    padding: 10px 0
}

.head-office-row>span {
    color: #0870dc;
    font-weight: 800
}

.lookup-panel,
.lookup-panel * {
    color: #fff
}

.lookup-panel form input {
    color: #18334f;
    background: #fff
}

.lookup-panel form input::placeholder {
    color: #778696;
    opacity: 1
}

.lookup-panel .lookup-options strong {
    color: #fff
}

.lookup-panel .lookup-options span,
.lookup-panel>p {
    color: #bfd0df
}

.unified-certificate-search {
    grid-template-columns: 190px minmax(0, 1fr);
    padding: 26px 30px
}

.unified-certificate-search .search-title {
    border-right: 1px solid var(--line)
}

.unified-certificate-search .certificate-search-fields {
    grid-template-columns: 1fr 1fr 1fr 150px;
    gap: 8px;
    height: 52px;
    margin: 0 0 0 26px;
    display: grid
}

.unified-certificate-search .certificate-search-fields input {
    border: 1px solid var(--line);
    width: 100%;
    min-width: 0;
    padding: 0 13px
}

.unified-certificate-search .certificate-search-fields button {
    justify-content: center;
    align-items: center;
    width: 150px;
    display: flex
}

.unified-certificate-search .quick-link {
    display: none
}

@media (width<=900px) {
    .unified-certificate-search {
        grid-template-columns: 160px minmax(0, 1fr)
    }

    .unified-certificate-search .certificate-search-fields {
        grid-template-columns: 1fr 1fr;
        gap: 7px;
        height: auto !important
    }

    .unified-certificate-search .certificate-search-fields input,
    .unified-certificate-search .certificate-search-fields button {
        width: 100%;
        height: 45px
    }
}

@media (width<=680px) {
    .unified-certificate-search {
        grid-template-columns: 1fr
    }

    .unified-certificate-search .search-title {
        border-right: 0
    }

    .unified-certificate-search .certificate-search-fields {
        grid-template-columns: 1fr;
        margin: 0
    }

    .site-row.head-office-row {
        grid-template-columns: 1fr 90px
    }

    .site-row.head-office-row>span {
        grid-column: 1/-1
    }
}