:root {
    --purple:#281741;
    --ink:#292235;
    --muted:#77717e;
    --gold:#e3ba61;
    --cream:#f8f7f3;
    --line:#e6e2e9
}


* {
    box-sizing:border-box
}

html {
    scroll-behavior:smooth;
    scroll-padding-top:105px
}

body {
    margin:0;
    background:#fff;
    color:var(--ink);
    font-family:Inter,"Segoe UI",Arial,sans-serif;
    font-size:15px;
    line-height:1.65
}

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

button,input {
    font:inherit
}

button {
    cursor:pointer
}

svg {
    width:24px;
    height:24px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.6;
    stroke-linecap:round;
    stroke-linejoin:round
}

button,a,input,summary {
    outline-offset:5px
}

button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible {
    outline:2px solid #9a6fc2
}

h1,h2,h3,p {
    margin:0
}

h1,h2,h3 {
    line-height:1.15;
    letter-spacing:-.045em
}

h2 {
    font-size:clamp(30px,3.2vw,43px);
    font-weight:650
}

h3 {
    font-weight:650
}

em {
    font-family:Georgia,serif;
    font-weight:400;
    color:#947046
}

.shell {
    width:min(1200px,calc(100% - 96px));
    margin-inline:auto
}

.utility {
    background:var(--purple);
    color:#e4dce9;
    font-size:10px;
    letter-spacing:.11em
}

.utility .shell {
    min-height:35px;
    display:flex;
    align-items:center;
    justify-content:space-between
}

.utility a {
    letter-spacing:0;
    font-size:11px
}

.header {
    background:#fffffff5;
    position:sticky;
    top:0;
    z-index:20;
    border-bottom:1px solid #eeeaf0;
    backdrop-filter:blur(16px)
}

.navigation {
    height:91px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px
}

.brand {
    display:flex;
    align-items:center;
    gap:12px;
    flex-shrink:0
}

.brand img {
    object-fit:contain
}

.brand strong {
    font-size:28px;
    letter-spacing:-.065em;
    line-height:1.1;
    display:block;
    color:var(--purple);
    font-weight:800
}

.brand strong span {
    color:#b38a38
}

.brand small {
    font-size:8px;
    letter-spacing:.2em;
    display:block;
    margin-top:6px;
    font-weight:700
}

.navigation nav {
    display:flex;
    align-items:center;
    gap:29px;
    font-size:12px;
    font-weight:600
}

.navigation nav>a:not(.button):hover {
    color:#865aa9
}

.button {
    background:var(--purple);
    color:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:26px;
    padding:16px 24px;
    border:1px solid var(--purple);
    border-radius:6px;
    font-size:13px;
    font-weight:600;
    line-height:1.5;
    transition:background .2s,transform .2s
}

.button:hover {
    background:#45285f;
    transform:translateY(-2px)
}

.button span {
    font-size:20px;
    line-height:1
}

.button.small {
    padding:11px 18px;
    font-size:11px;
    gap:20px
}

.menu-toggle {
    display:none
}

.hero {
    background:var(--cream);
    overflow:hidden
}

.hero-grid {
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:55px;
    padding-top:68px;
    padding-bottom:62px;
    align-items:center
}

.eyebrow {
    font-size:10px;
    font-weight:750;
    letter-spacing:.15em;
    color:#7c6592;
    margin-bottom:20px
}

.hero h1 {
    font-size:clamp(40px,4.8vw,65px);
    font-weight:650;
    line-height:1.1;
    letter-spacing:-.055em
}

.hero h1 em {
    font-size:.92em;
    display:inline-block;
    margin-top:5px
}

.hero-description {
    max-width:430px;
    color:#77717a;
    font-size:14px;
    line-height:1.9;
    margin:25px 0 29px
}

.actions {
    display:flex;
    gap:22px;
    align-items:center
}

.text-link {
    font-size:12px;
    font-weight:650;
    display:inline-flex;
    gap:17px;
    align-items:center
}

.text-link:hover {
    color:#865aa9
}

.actions .text-link {
    font-size:11px
}

.hero-note {
    display:flex;
    gap:12px;
    align-items:center;
    margin-top:36px;
    color:#827a85;
    font-size:10px;
    line-height:1.6
}

.hero-note>span {
    font-size:30px;
    color:#9a7f52
}

.hero-visual {
    position:relative;
    padding:0 0 17px 13px
}

.image-frame {
    position:relative;
    height:445px;
    border-radius:110px 8px 8px 8px;
    overflow:hidden;
    background:var(--purple)
}

.image-frame:after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,transparent 30%,#1e1228d9)
}

.image-frame>img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:67% center
}

.image-caption {
    position:absolute;
    bottom:39px;
    left:34px;
    z-index:1;
    color:#fff
}

.image-caption small {
    font-size:9px;
    letter-spacing:.18em;
    color:#f5d997
}

.image-caption p {
    font-size:35px;
    line-height:1.15;
    letter-spacing:-.04em;
    margin:10px 0 15px;
    font-weight:500
}

.image-caption>small:last-child {
    font-size:8px;
    color:#ded3e9
}

.image-label {
    position:absolute;
    z-index:1;
    right:13px;
    top:18px;
    color:#fff;
    font-size:8px;
    background:#261a356e;
    border:1px solid #ffffff30;
    border-radius:20px;
    padding:4px 8px
}

.visual-stamp {
    position:absolute;
    right:-20px;
    bottom:-5px;
    background:#eee4cc;
    border:6px solid var(--cream);
    border-radius:10px;
    display:flex;
    gap:14px;
    align-items:center;
    padding:20px 23px;
    color:#6b5535;
    font-size:11px;
    line-height:1.65;
    box-shadow:0 8px 30px #2817410b
}

.visual-stamp>span {
    font-size:38px
}

.visual-spark {
    position:absolute;
    left:-15px;
    top:17px;
    color:var(--gold);
    font-size:70px;
    line-height:1;
    z-index:2
}

.hero-bottom {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    border-top:1px solid #dfdbe1;
    padding-top:21px;
    padding-bottom:21px;
    font-size:10px;
    color:#706976
}

.hero-bottom>span {
    font-size:8px;
    font-weight:700;
    letter-spacing:.13em
}

.hero-bottom>div {
    display:flex;
    gap:25px;
    align-items:center
}

.hero-bottom i {
    width:3px;
    height:3px;
    background:#c1ac8c;
    border-radius:50%
}

.hero-bottom>a {
    font-size:20px
}

.section {
    padding-block:83px
}

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

.section-heading .eyebrow {
    margin-bottom:13px
}

.section-heading>p {
    font-size:12px;
    color:var(--muted);
    line-height:1.8
}

.career-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:25px
}

.career-card {
    padding:31px 33px;
    border:1px solid var(--line);
    border-radius:9px;
    transition:background .2s,border-color .2s
}

.career-card:hover {
    border-color:#b39cc3;
    background:#faf8fc
}

.career-top {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:26px
}

.icon-box {
    width:49px;
    height:49px;
    display:grid;
    place-items:center;
    border-radius:8px;
    background:#f0ebf5;
    color:#6e4a88
}

.career-top small {
    font-size:9px;
    color:#99909e;
    letter-spacing:.1em
}

.career-card h3 {
    font-size:25px;
    margin-bottom:15px
}

.career-card>p {
    font-size:12px;
    line-height:1.85;
    color:var(--muted);
    max-width:390px
}

.career-footer {
    margin-top:27px;
    padding-top:20px;
    border-top:1px solid #eeeaf1;
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:11px;
    font-weight:600
}

.career-footer>span {
    width:30px;
    height:30px;
    border:1px solid var(--line);
    border-radius:50%;
    display:grid;
    place-items:center;
    font-size:17px
}

.vacancies {
    background:#f7f5fa;
    border-block:1px solid #ede8f1
}

.status-pill {
    font-size:10px;
    background:#fff;
    border:1px solid #e5deec;
    border-radius:20px;
    padding:7px 13px;
    color:#736580
}

.search-form {
    display:flex;
    gap:12px
}

.search-field {
    display:flex;
    flex:1;
    align-items:center;
    gap:15px;
    border:1px solid #ddd5e5;
    background:#fff;
    border-radius:6px;
    padding:0 20px
}

.search-field svg {
    width:19px;
    height:19px;
    color:#998aa5
}

.search-field input {
    width:100%;
    background:transparent;
    border:0;
    padding:17px 0;
    font-size:12px;
    min-width:0;
    color:var(--ink)
}

.search-field:focus-within {
    outline:2px solid #9a6fc2;
    outline-offset:2px
}

.search-field input:focus {
    outline:0
}

.filter-row {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin:24px 0;
    gap:16px
}

.filters {
    display:flex;
    gap:8px;
    flex-wrap:wrap
}

.filters button {
    font-size:10px;
    border:1px solid transparent;
    border-radius:5px;
    padding:9px 14px;
    background:transparent;
    color:#7b7087
}

.filters button.active {
    background:#fff;
    color:var(--purple);
    border-color:#dfd7e9;
    font-weight:650;
    box-shadow:0 2px 4px #28174105
}

.filters button span {
    margin-left:7px;
    font-size:9px;
    color:#968b9e
}

#result-count {
    font-size:10px;
    color:#8c8295
}

.empty-state {
    text-align:center;
    background:#ffffffa6;
    border:1px dashed #d8cfe2;
    border-radius:9px;
    padding:43px 24px 39px
}

.empty-icon {
    width:54px;
    height:54px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#f0eaf5;
    color:#927aa8;
    margin:0 auto 22px
}

.empty-state .eyebrow {
    font-size:8px;
    margin-bottom:12px;
    color:#947a5f
}

.empty-state h3 {
    font-size:23px;
    letter-spacing:-.035em
}

.empty-state>p:not(.eyebrow) {
    font-size:12px;
    color:#81758c;
    max-width:480px;
    margin:16px auto 20px;
    line-height:1.85
}

.empty-state .text-link {
    font-size:11px
}

.recruitment-note {
    font-size:10px;
    color:#81758c;
    text-align:center;
    margin-top:22px
}

.together-grid {
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:100px;
    align-items:center
}

.together-grid h2 {
    font-size:37px;
    line-height:1.2
}

.section-copy {
    font-size:13px;
    line-height:1.9;
    color:var(--muted);
    margin:23px 0;
    max-width:420px
}

.values article {
    display:flex;
    gap:24px;
    padding:22px 0;
    border-bottom:1px solid var(--line)
}

.values article:first-child {
    padding-top:0
}

.values article:last-child {
    border-bottom:0
}

.values article>span {
    font-size:11px;
    color:#a88a57;
    padding-top:1px
}

.values h3 {
    font-size:17px;
    margin-bottom:10px;
    letter-spacing:-.025em
}

.values p {
    font-size:12px;
    line-height:1.8;
    color:var(--muted)
}

.process {
    background:var(--cream)
}

.steps {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:32px;
    margin-top:45px
}

.steps article>span {
    display:flex;
    align-items:center;
    gap:15px;
    font-family:Georgia,serif;
    color:#a68b5e;
    font-size:30px;
    margin-bottom:24px
}

.steps article>span:after {
    content:"";
    flex:1;
    height:1px;
    background:#ded6c8
}

.steps h3 {
    font-size:17px;
    margin-bottom:13px;
    letter-spacing:-.025em
}

.steps p {
    font-size:12px;
    color:var(--muted);
    line-height:1.85
}

.faq-grid {
    display:grid;
    grid-template-columns:.8fr 1.4fr;
    gap:80px
}

.faq-grid h2 {
    font-size:42px
}

.faq-decoration {
    font-family:Georgia,serif;
    color:#e7dbe7;
    font-size:100px;
    line-height:1
}

.faq-list details {
    border-bottom:1px solid var(--line)
}

.faq-list details:first-child {
    border-top:1px solid var(--line)
}

.faq-list summary {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    cursor:pointer;
    padding:22px 0;
    font-size:13px;
    font-weight:600;
    list-style:none
}

.faq-list summary::-webkit-details-marker {
    display:none
}

.faq-list summary span {
    font-size:22px;
    color:#9d84ae;
    font-weight:400;
    transition:transform .2s
}

.faq-list details[open] summary span {
    transform:rotate(45deg)
}

.faq-list details p {
    color:var(--muted);
    font-size:12px;
    line-height:1.9;
    padding:0 35px 24px 0
}

.closing {
    position:relative;
    overflow:hidden;
    background:var(--purple);
    color:#fff;
    border-radius:10px;
    padding:48px 55px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:40px
}

.closing .eyebrow {
    color:#d0b885;
    font-size:8px;
    margin-bottom:15px
}

.closing h2 {
    font-size:36px;
    line-height:1.2
}

.button.gold {
    background:#ead09a;
    color:#342342;
    border-color:#ead09a;
    position:relative;
    z-index:1
}

.button.gold:hover {
    background:#f2dcae
}

.closing-flower {
    position:absolute;
    right:210px;
    top:-53px;
    font-size:250px;
    color:#ffffff05;
    line-height:1
}

.footer {
    padding-top:55px
}

.footer-top {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:35px;
    padding-bottom:35px
}

.footer-top .brand strong {
    font-size:25px
}

.footer-top p {
    color:var(--muted);
    font-size:11px;
    line-height:1.9
}

.footer-top>a:last-child {
    font-size:11px;
    font-weight:600
}

.footer-bottom {
    border-top:1px solid var(--line);
    display:flex;
    justify-content:space-between;
    gap:20px;
    font-size:9px;
    color:#817588;
    padding:21px 0
}

.skip-link {
    position:fixed;
    left:15px;
    top:-100px;
    z-index:100;
    padding:12px 20px;
    background:#fff;
    color:var(--purple)
}

.skip-link:focus {
    top:12px
}


@media(min-width:1500px) {
    .hero-grid {
    padding-top:82px;
    padding-bottom:77px
}

.image-frame {
    height:470px
}


}


@media(max-width:1100px) {
    .shell {
    width:calc(100% - 64px)
}

.navigation nav {
    gap:18px;
    font-size:11px
}

.hero-grid {
    gap:30px
}

.hero h1 {
    font-size:49px
}

.actions {
    flex-wrap:wrap;
    gap:16px
}

.image-frame {
    height:425px
}

.visual-stamp {
    right:-12px
}

.together-grid {
    gap:50px
}

.hero-bottom>div {
    gap:15px
}


}


@media(max-width:800px) {
    .shell {
    width:calc(100% - 40px)
}

.utility {
    font-size:8px
}

.utility a {
    font-size:9px
}

.navigation {
    height:76px
}

.brand strong {
    font-size:25px
}

.brand img {
    width:32px;
    height:42px
}

.brand small {
    font-size:7px
}

.menu-toggle {
    display:grid;
    place-items:center;
    background:transparent;
    border:1px solid var(--line);
    border-radius:6px;
    width:39px;
    height:39px;
    color:var(--purple)
}

.navigation nav {
    display:none;
    position:absolute;
    top:76px;
    left:0;
    right:0;
    padding:20px;
    background:#fff;
    border-bottom:1px solid var(--line);
    box-shadow:0 12px 18px #2817410a;
    align-items:stretch
}

.navigation nav.is-open {
    display:flex;
    flex-direction:column;
    gap:0
}

.navigation nav>a {
    padding:13px
}

.navigation nav>.button {
    margin-top:8px
}

.hero-grid {
    padding-top:42px;
    padding-bottom:38px;
    gap:37px;
    grid-template-columns:1fr 1fr
}

.hero h1 {
    font-size:39px
}

.hero-description {
    font-size:12px;
    margin-block:21px
}

.actions .button {
    font-size:11px;
    padding:13px 15px;
    gap:15px
}

.hero-note {
    margin-top:23px;
    font-size:9px
}

.image-frame {
    height:375px;
    border-top-left-radius:75px
}

.image-caption {
    left:23px;
    bottom:30px
}

.image-caption p {
    font-size:28px
}

.visual-stamp {
    padding:13px;
    font-size:9px;
    gap:8px
}

.visual-stamp>span {
    font-size:26px
}

.visual-spark {
    font-size:53px
}

.hero-bottom>span {
    font-size:7px
}

.hero-bottom>div {
    font-size:9px;
    gap:12px
}

.section {
    padding-block:60px
}

.career-card {
    padding:24px
}

.section-heading>p {
    font-size:11px
}

.career-card h3 {
    font-size:22px
}

.career-footer {
    font-size:10px;
    gap:10px
}

.together-grid {
    gap:35px
}

.together-grid h2 {
    font-size:29px
}

.values article {
    gap:15px
}

.steps {
    gap:20px
}

.steps h3 {
    font-size:15px
}

.steps p {
    font-size:11px
}

.faq-grid {
    gap:40px;
    grid-template-columns:.7fr 1.3fr
}

.closing {
    padding:35px
}

.closing h2 {
    font-size:29px
}

.footer-top {
    gap:20px
}

.footer-bottom {
    font-size:8px
}


}


@media(max-width:600px) {
    .utility .shell>span {
    font-size:7px;
    letter-spacing:.04em
}

.hero-grid {
    grid-template-columns:1fr;
    padding-top:34px;
    gap:38px
}

.hero h1 {
    font-size:clamp(43px,10vw,58px)
}

.hero-description {
    max-width:95%;
    font-size:13px
}

.hero .eyebrow {
    font-size:9px
}

.actions {
    gap:20px
}

.actions .button {
    font-size:12px;
    padding:15px 20px
}

.hero-note {
    margin-top:24px
}

.hero-visual {
    padding-left:0;
    padding-right:10px
}

.image-frame {
    height:330px;
    border-top-left-radius:80px
}

.image-frame>img {
    object-position:center 56%
}

.visual-spark {
    left:-10px
}

.visual-stamp {
    right:0;
    bottom:0;
    padding:15px 20px
}

.image-caption {
    left:27px;
    bottom:30px
}

.image-caption p {
    font-size:31px
}

.hero-bottom {
    flex-wrap:wrap;
    row-gap:12px
}

.hero-bottom>span {
    width:100%;
    font-size:7px
}

.hero-bottom>div {
    gap:15px;
    font-size:10px
}

.hero-bottom>a {
    font-size:18px
}

.section {
    padding-block:48px
}

.section-heading {
    display:block;
    margin-bottom:26px
}

.section-heading>p {
    margin-top:16px;
    font-size:12px
}

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

.career-grid {
    grid-template-columns:1fr;
    gap:16px
}

.career-top {
    margin-bottom:20px
}

.career-card h3 {
    font-size:25px
}

.career-card>p {
    font-size:12px
}

.career-footer {
    font-size:11px
}

.status-pill {
    display:inline-block;
    margin-top:18px
}

.search-form {
    gap:9px;
    flex-direction:column
}

.search-field {
    padding-inline:15px
}

.search-form>.button {
    align-self:flex-start;
    padding:12px 20px;
    font-size:12px
}

.search-field input {
    font-size:11px
}

.filter-row {
    align-items:flex-start;
    flex-direction:column;
    gap:12px
}

.filters button {
    padding:8px 10px;
    font-size:9px
}

.filters button span {
    margin-left:4px
}

#result-count {
    font-size:9px
}

.empty-state {
    padding:32px 17px
}

.empty-state h3 {
    font-size:22px;
    max-width:280px;
    margin-inline:auto
}

.empty-state>p:not(.eyebrow) {
    font-size:11px
}

.recruitment-note {
    font-size:9px;
    line-height:1.7
}

.together-grid {
    grid-template-columns:1fr;
    gap:30px
}

.together-grid h2 {
    font-size:31px
}

.section-copy {
    font-size:12px
}

.values h3 {
    font-size:17px
}

.values article {
    gap:22px
}

.steps {
    grid-template-columns:1fr 1fr;
    gap:29px 23px;
    margin-top:28px
}

.steps article>span {
    margin-bottom:15px
}

.steps p {
    font-size:12px
}

.steps h3 {
    font-size:16px
}

.faq-grid {
    grid-template-columns:1fr;
    gap:20px
}

.faq-grid h2 {
    font-size:33px
}

.faq-grid h2 br,.faq-grid .section-copy br {
    display:none
}

.faq-decoration {
    display:none
}

.faq-list summary {
    font-size:12px;
    padding-block:20px
}

.closing {
    padding:32px 26px;
    display:block
}

.closing h2 {
    font-size:29px
}

.closing .button {
    margin-top:25px;
    font-size:11px;
    padding:14px 19px
}

.closing-flower {
    right:-35px;
    top:40px
}

.footer {
    padding-top:35px
}

.footer-top {
    flex-wrap:wrap;
    justify-content:flex-start;
    gap:23px
}

.footer-top p {
    font-size:10px
}

.footer-top>a:last-child {
    width:100%;
    font-size:10px
}

.footer-bottom {
    flex-direction:column;
    gap:9px;
    padding-block:20px;
    font-size:9px
}


}


@media(prefers-reduced-motion:reduce) {
    html {
    scroll-behavior:auto
}

*,*:before,*:after {
    transition:none!important
}


}



/* Pengumuman rekrutmen dari SIMPEG */
[hidden] { display:none!important; }
.job-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px; align-items:start; }
.job-card { min-width:0; background:#fff; border:1px solid #e3dce9; border-radius:12px; overflow:hidden; box-shadow:0 5px 22px #28174105; }
.job-banner { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; background:#f1edf6; }
.job-banner-placeholder { aspect-ratio:16/9; background:linear-gradient(135deg,#281741,#72518b); color:#eed6a4; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; }
.job-banner-placeholder span { font-size:46px; font-weight:750; letter-spacing:-.04em; }
.job-banner-placeholder small { font-size:9px; letter-spacing:.15em; }
.job-body { padding:27px; }
.job-tags { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
.job-tags span { padding:6px 10px; background:#f0ebf6; color:#6a4e80; font-size:10px; border-radius:30px; font-weight:600; }
.job-tags .open { background:#e8f5ed; color:#28734d; }
.job-tags .scheduled { background:#fcf1d9; color:#87642c; }
.job-card h3 { font-size:25px; letter-spacing:-.03em; line-height:1.25; overflow-wrap:anywhere; }
.job-intro { color:var(--muted); font-size:12px; line-height:1.8; margin:15px 0 21px; }
.job-meta { display:grid; gap:13px; border-block:1px solid var(--line); padding:18px 0; }
.job-meta dt { font-size:10px; color:var(--muted); margin-bottom:5px; }
.job-meta dd { font-size:12px; font-weight:600; margin:0; overflow-wrap:anywhere; }
.job-detail { margin-top:20px; }
.job-detail summary { display:flex; justify-content:space-between; align-items:center; gap:15px; cursor:pointer; list-style:none; color:#68457f; font-size:12px; font-weight:650; padding:7px 0; }
.job-detail summary::-webkit-details-marker { display:none; }
.job-detail[open] summary { padding-bottom:18px; }
.job-description { font-size:13px; line-height:1.85; overflow-wrap:anywhere; }
.job-description p,.job-description ul,.job-description ol,.job-description h2,.job-description h3 { margin:0 0 14px; }
.job-description h2 { font-size:21px; }.job-description h3 { font-size:18px; }
.job-description ul { list-style:disc; padding-left:22px; }.job-description ol { list-style:decimal; padding-left:22px; }
.job-description a { color:#68457f; text-decoration:underline; }
.job-description .ql-align-center { text-align:center; }.job-description .ql-align-right { text-align:right; }.job-description .ql-align-justify { text-align:justify; }
.job-description .ql-font-serif { font-family:Georgia,serif; }.job-description .ql-font-mono { font-family:monospace; }
.job-description .ql-size-small { font-size:.85em; }.job-description .ql-size-large { font-size:1.25em; }.job-description .ql-size-huge { font-size:1.5em; }
.job-registration-note { border-radius:6px; padding:13px; margin-top:18px; background:#f7f4fa; font-size:11px; color:var(--muted); line-height:1.8; }
@media(max-width:800px) { .job-grid { grid-template-columns:1fr; } }
@media(max-width:600px) { .job-body { padding:21px; }.job-card h3 { font-size:23px; } }