@import "tailwindcss";

:root { --navy:#10243a; --navy-deep:#081827; --yellow:#f2d31f; --cream:#f7f6f1; --ink:#182536; --muted:#66717d; --line:#dfe3e6; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--white); color:var(--ink); font-family:Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.page-shell { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }

.site-header { position:sticky; top:0; z-index:30; background:rgba(255,255,255,.97); border-bottom:1px solid rgba(16,36,58,.09); backdrop-filter:blur(12px); }
.nav-shell { width:min(1240px,calc(100% - 48px)); height:84px; margin-inline:auto; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand img { width:200px; height:auto; }
nav { display:flex; align-items:center; gap:30px; margin-left:auto; }
nav a { font-size:14px; font-weight:700; color:#344457; transition:color .2s; }
nav a:hover { color:var(--navy); }
.nav-cta { padding:13px 20px; background:var(--navy); color:white; font-size:14px; font-weight:700; }

.hero { min-height:760px; position:relative; color:white; display:flex; align-items:center; overflow:hidden; }
.hero-image,.hero-overlay { position:absolute; inset:0; width:100%; height:100%; }
.hero-image { object-fit:cover; object-position:center; }
.hero-overlay { background:linear-gradient(90deg,rgba(7,20,33,.94) 0%,rgba(9,26,43,.78) 45%,rgba(9,26,43,.24) 100%); }
.hero-content { position:relative; z-index:2; padding-bottom:90px; }
.eyebrow { margin:0 0 18px; color:#9a810d; font-size:12px; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
.eyebrow.light { color:var(--yellow); }
.hero h1 { max-width:800px; margin:0; font-family:Georgia,'Times New Roman',serif; font-size:clamp(52px,6vw,84px); line-height:.99; letter-spacing:-.045em; font-weight:500; }
.hero-copy { max-width:660px; margin:28px 0 0; color:#e6ebef; font-size:19px; line-height:1.65; }
.hero-actions { display:flex; gap:14px; margin-top:34px; flex-wrap:wrap; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 25px; font-size:14px; font-weight:800; transition:transform .2s,background .2s; }
.button:hover { transform:translateY(-2px); }
.button.primary { background:var(--yellow); color:var(--navy-deep); }
.button.ghost { border:1px solid rgba(255,255,255,.55); color:white; }
.button.ghost:hover { background:white; color:var(--navy); }
.hero-proof { position:absolute; z-index:3; bottom:0; right:0; width:min(760px,60%); min-height:116px; background:var(--yellow); color:var(--navy-deep); display:grid; grid-template-columns:repeat(3,1fr); padding:25px 46px; }
.hero-proof div { display:flex; flex-direction:column; justify-content:center; padding:0 23px; border-left:1px solid rgba(16,36,58,.2); }
.hero-proof div:first-child { border-left:0; }
.hero-proof strong { font-family:Georgia,serif; font-size:24px; }
.hero-proof span { margin-top:4px; font-size:12px; line-height:1.35; font-weight:700; }

.about { padding:130px 0; display:grid; grid-template-columns:.88fr 1.12fr; align-items:center; gap:110px; }
.about-visual { position:relative; padding-left:28px; }
.about-visual>img { position:relative; z-index:1; width:100%; height:590px; object-fit:cover; object-position:center; }
.yellow-block { position:absolute; left:0; top:-28px; width:58%; height:72%; background:var(--yellow); }
.experience-card { position:absolute; z-index:2; right:-45px; bottom:-35px; width:285px; padding:26px 28px; background:var(--navy); color:white; box-shadow:0 22px 55px rgba(10,29,48,.2); }
.experience-card span { display:block; margin-bottom:8px; color:var(--yellow); font-size:11px; text-transform:uppercase; letter-spacing:.15em; font-weight:800; }
.experience-card strong { font-family:Georgia,serif; font-size:21px; line-height:1.3; font-weight:500; }
.about-copy h2,.section-heading h2,.audience-content h2,.contact h2 { margin:0; font-family:Georgia,'Times New Roman',serif; color:var(--navy); font-weight:500; letter-spacing:-.03em; }
.about-copy h2 { font-size:clamp(40px,4vw,58px); line-height:1.08; }
.about-copy>p:not(.eyebrow) { margin:25px 0 0; color:var(--muted); font-size:17px; line-height:1.75; }
.values { display:flex; gap:10px; flex-wrap:wrap; margin-top:32px; }
.values span { padding:10px 13px; border:1px solid var(--line); color:var(--navy); font-size:12px; font-weight:800; }

.services { padding:110px 0 120px; background:var(--cream); }
.section-heading { display:grid; grid-template-columns:1.2fr .8fr; gap:100px; align-items:end; margin-bottom:56px; }
.section-heading h2 { max-width:660px; font-size:clamp(40px,4.3vw,60px); line-height:1.08; }
.section-heading>p { margin:0; color:var(--muted); font-size:16px; line-height:1.75; }
.service-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #cfd4d6; }
.service-card { position:relative; min-height:345px; padding:34px 27px; border-right:1px solid #cfd4d6; transition:background .25s,transform .25s; }
.service-card:first-child { border-left:1px solid #cfd4d6; }
.service-card:hover { background:white; transform:translateY(-5px); }
.service-number { color:#8f7809; font-family:Georgia,serif; font-size:19px; }
.service-card h3 { margin:80px 0 17px; color:var(--navy); font-family:Georgia,serif; font-size:25px; line-height:1.2; font-weight:500; }
.service-card p { margin:0; color:var(--muted); font-size:14px; line-height:1.7; }

.audiences { padding:120px 0; display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.audience-card { position:relative; min-height:600px; overflow:hidden; color:white; }
.audience-card>img,.audience-shade { position:absolute; inset:0; width:100%; height:100%; }
.audience-card>img { object-fit:cover; transition:transform .6s ease; }
.audience-card:hover>img { transform:scale(1.03); }
.audience-shade { background:linear-gradient(0deg,rgba(6,18,29,.92),rgba(6,18,29,.05) 75%); }
.audience-content { position:absolute; z-index:2; inset:auto 46px 46px; }
.audience-content h2 { color:white; font-size:40px; line-height:1.08; }
.audience-content>p:not(.eyebrow) { max-width:480px; margin:16px 0 25px; color:#e4e8eb; font-size:15px; line-height:1.65; }
.text-link { display:inline-flex; gap:12px; align-items:center; padding-bottom:7px; border-bottom:2px solid var(--yellow); font-size:14px; font-weight:800; }
.text-link span { font-size:20px; }

.contact { padding:90px 0; background:var(--navy); color:white; }
.contact-inner { display:grid; grid-template-columns:1fr auto; gap:80px; align-items:center; }
.contact h2 { color:white; font-size:clamp(38px,4vw,54px); }
.contact p:not(.eyebrow) { max-width:690px; color:#c9d2da; font-size:16px; line-height:1.7; }
.contact-actions { display:flex; flex-direction:column; align-items:center; gap:18px; }
.phone { color:white; font-size:14px; font-weight:800; }

footer { padding:68px 0 22px; background:var(--navy-deep); color:#c8d0d8; }
.footer-grid { display:grid; grid-template-columns:1.5fr 1fr .7fr; gap:80px; }
.footer-brand img { width:158px; }
.footer-brand p { max-width:320px; margin-top:22px; line-height:1.6; }
footer h3 { margin:0 0 20px; color:white; font-size:13px; text-transform:uppercase; letter-spacing:.13em; }
footer a { display:block; margin:11px 0; font-size:14px; }
footer a:hover { color:var(--yellow); }
.services-more { margin:36px 0 0; text-align:center; }
.services-hero { padding:90px 0 100px; background:var(--navy); color:white; }
.services-hero h1 { max-width:850px; margin:8px 0 20px; color:white; font-family:Georgia,serif; font-size:clamp(48px,7vw,76px); line-height:1.05; font-weight:500; letter-spacing:-.035em; }
.services-hero>div>p:last-child { max-width:740px; margin:0; color:#d2dae2; font-size:17px; line-height:1.7; }
.services-detail { padding-top:80px; padding-bottom:90px; }
.services-detail article { display:grid; grid-template-columns:70px 1fr; gap:28px; padding:42px 0; border-bottom:1px solid #dfe3e5; }
.services-detail article>span { color:#9a810d; font-size:12px; font-weight:900; }
.services-detail h2 { margin:0 0 16px; color:var(--navy); font-family:Georgia,serif; font-size:34px; font-weight:500; }
.services-detail p,.services-detail li { color:#596776; line-height:1.75; }
.services-detail ul { padding-left:20px; }
@media(max-width:620px){.services-detail article{grid-template-columns:1fr;gap:10px}.services-hero{padding:65px 0 75px}}
.footer-bottom { display:flex; justify-content:space-between; margin-top:55px; padding-top:20px; border-top:1px solid rgba(255,255,255,.13); font-size:12px; }

@media (max-width:980px) {
  nav { display:none; }
  .hero { min-height:700px; }
  .hero-proof { width:78%; }
  .about { grid-template-columns:1fr; gap:90px; }
  .about-visual { max-width:650px; }
  .experience-card { right:20px; }
  .section-heading { grid-template-columns:1fr; gap:25px; }
  .service-grid { grid-template-columns:1fr 1fr; }
  .service-card:nth-child(3) { border-left:1px solid #cfd4d6; }
  .audience-card { min-height:540px; }
  .contact-inner { grid-template-columns:1fr; gap:35px; }
  .contact-actions { align-items:flex-start; }
}
@media (max-width:680px) {
  .page-shell,.nav-shell { width:min(100% - 30px,1180px); }
  .nav-shell { height:72px; }
  .brand img { width:170px; }
  .nav-cta { padding:11px 14px; font-size:12px; }
  .hero { min-height:720px; align-items:flex-start; padding-top:100px; }
  .hero-content { padding-bottom:170px; }
  .hero h1 { font-size:49px; }
  .hero-copy { font-size:16px; }
  .hero-actions { align-items:stretch; flex-direction:column; max-width:290px; }
  .hero-proof { width:100%; grid-template-columns:repeat(3,1fr); padding:18px 8px; }
  .hero-proof div { padding:0 10px; }
  .hero-proof strong { font-size:17px; }
  .hero-proof span { font-size:10px; }
  .about { padding:90px 0; gap:75px; }
  .about-visual { padding-left:14px; }
  .about-visual>img { height:480px; }
  .yellow-block { top:-14px; }
  .experience-card { right:10px; bottom:-30px; width:250px; padding:20px; }
  .services { padding:85px 0; }
  .service-grid { grid-template-columns:1fr; }
  .service-card,.service-card:nth-child(3) { min-height:auto; border-left:1px solid #cfd4d6; border-bottom:1px solid #cfd4d6; }
  .service-card h3 { margin-top:42px; }
  .audiences { padding:85px 0; grid-template-columns:1fr; }
  .audience-card { min-height:520px; }
  .audience-content { inset:auto 24px 28px; }
  .audience-content h2 { font-size:34px; }
  .contact { padding:75px 0; }
  .footer-grid { grid-template-columns:1fr; gap:38px; }
  .footer-bottom { flex-direction:column; gap:8px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none!important; }
}

/* Vacancies */
.jobs-page,.job-detail-page { min-height:100vh; background:var(--cream); }
.jobs-hero,.job-detail-hero { background:var(--navy); color:white; }
.jobs-hero { padding:82px 0 88px; }
.jobs-hero h1,.job-detail-hero h1 { margin:0; color:white; font-family:Georgia,'Times New Roman',serif; font-weight:500; letter-spacing:-.035em; }
.jobs-hero h1 { font-size:clamp(48px,6vw,76px); }
.jobs-hero p:not(.eyebrow) { max-width:680px; margin:20px 0 0; color:#cbd4dc; font-size:18px; line-height:1.65; }
.jobs-content { padding:58px 0 100px; }
.jobs-toolbar { display:flex; align-items:center; justify-content:space-between; margin-bottom:28px; padding-bottom:22px; border-bottom:1px solid #ccd2d5; }
.jobs-toolbar strong { font-family:Georgia,serif; color:var(--navy); font-size:26px; }
.jobs-toolbar span { color:var(--muted); font-size:14px; }
.jobs-toolbar a { color:var(--navy); font-size:13px; font-weight:800; border-bottom:2px solid var(--yellow); padding-bottom:5px; }
.jobs-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.job-card { min-height:330px; display:flex; flex-direction:column; padding:32px; background:white; border:1px solid #e0e3e3; transition:transform .2s,box-shadow .2s; }
.job-card:hover { transform:translateY(-4px); box-shadow:0 18px 44px rgba(16,36,58,.09); }
.job-card-top,.job-detail-tags { display:flex; gap:8px; flex-wrap:wrap; }
.job-card-top span,.job-detail-tags span { padding:7px 9px; background:#f3f1df; color:#635717; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.job-card h2 { margin:30px 0 7px; color:var(--navy); font-family:Georgia,serif; font-size:30px; line-height:1.15; font-weight:500; }
.job-company { margin:0; color:#8a7410; font-size:13px; font-weight:800; }
.job-summary { margin:22px 0; color:var(--muted); font-size:14px; line-height:1.65; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.job-card-footer { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:auto; padding-top:20px; border-top:1px solid #e6e8e9; font-size:13px; }
.job-card-footer span { color:var(--muted); }
.job-card-footer a { color:var(--navy); font-weight:800; }
.jobs-empty { max-width:760px; margin:25px auto 0; padding:72px 45px; background:white; border:1px solid #e0e3e3; text-align:center; }
.jobs-empty>span { color:#a68e13; font-size:11px; font-weight:800; letter-spacing:.18em; }
.jobs-empty h2 { margin:18px 0; color:var(--navy); font-family:Georgia,serif; font-size:38px; font-weight:500; }
.jobs-empty p { max-width:560px; margin:0 auto 28px; color:var(--muted); line-height:1.7; }
.jobs-footer { padding:25px 0; background:var(--navy-deep); color:#c8d0d8; }
.jobs-footer .footer-bottom { margin-top:0; padding-top:0; border:0; }

.job-detail-hero { padding:48px 0 75px; }
.back-link { display:inline-block; margin-bottom:55px; color:#cbd4dc; font-size:13px; font-weight:700; }
.job-detail-hero h1 { max-width:900px; margin-top:20px; font-size:clamp(44px,6vw,72px); }
.job-detail-hero p { margin:20px 0 0; color:#d3dae0; font-size:17px; }
.job-detail-layout { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:70px; padding:75px 0 110px; align-items:start; }
.job-description { background:white; padding:48px; border:1px solid #e0e3e3; }
.job-description h2,.apply-card h2 { margin:0; color:var(--navy); font-family:Georgia,serif; font-size:28px; font-weight:500; }
.job-intro p { color:var(--muted); font-size:17px; line-height:1.8; }
.job-section { margin-top:42px; padding-top:36px; border-top:1px solid #e2e5e6; }
.job-section ul { margin:22px 0 0; padding-left:20px; color:var(--muted); }
.job-section li { margin:12px 0; padding-left:8px; line-height:1.6; }
.job-section li::marker { color:#a48b10; }
.apply-card { position:sticky; top:110px; padding:34px; background:white; border-top:5px solid var(--yellow); box-shadow:0 16px 45px rgba(16,36,58,.09); }
.apply-card p:not(.eyebrow) { color:var(--muted); line-height:1.65; }
.apply-card .button { width:100%; margin:16px 0; }
.apply-card small { display:block; color:#7a838c; line-height:1.5; }
@media (max-width:820px) {
  .jobs-grid,.job-detail-layout { grid-template-columns:1fr; }
  .job-detail-layout { gap:30px; }
  .apply-card { position:static; }
}
@media (max-width:560px) {
  .jobs-hero { padding:62px 0; }
  .jobs-toolbar { align-items:flex-start; flex-direction:column; gap:14px; }
  .job-card,.job-description { padding:26px; }
  .jobs-empty { padding:50px 24px; }
  .jobs-empty h2 { font-size:32px; }
  .job-detail-hero { padding:35px 0 55px; }
  .back-link { margin-bottom:38px; }
}

/* Vacancy administration */
.admin-login { width:min(470px,calc(100% - 32px)); margin:0 auto; padding:80px 0; }
.admin-login>img { width:210px; margin-bottom:45px; }
.admin-login h1 { margin:8px 0 12px; color:var(--navy); font-family:Georgia,serif; font-size:42px; font-weight:500; }
.admin-login>p:not(.eyebrow):not(.form-message) { color:var(--muted); line-height:1.6; }
.admin-login form { display:grid; gap:18px; margin:30px 0; padding:28px; background:white; border-top:5px solid var(--yellow); box-shadow:0 15px 45px rgba(16,36,58,.08); }
.admin-login label { color:#38485a; font-size:12px; font-weight:800; }
.admin-login input { width:100%; margin-top:8px; padding:14px; border:1px solid #cfd5d8; font:inherit; }
.admin-login>a { color:var(--navy); font-size:12px; font-weight:800; }
.admin-page { min-height:100vh; background:#f3f4f2; color:var(--ink); }
.admin-header { min-height:72px; padding:12px 34px; background:white; border-bottom:1px solid #dfe3e4; display:flex; justify-content:space-between; align-items:center; gap:25px; }
.admin-header>div { display:flex; align-items:center; gap:22px; }
.admin-header img { width:165px; }
.admin-header span { color:var(--muted); font-size:13px; }
.admin-header a:not(:first-child) { color:var(--navy); font-size:12px; font-weight:800; border-bottom:1px solid #b8c0c5; }
.admin-shell { width:min(1120px,calc(100% - 44px)); margin:0 auto; padding:55px 0 100px; }
.admin-intro { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; }
.admin-intro h1 { margin:0; font-family:Georgia,serif; color:var(--navy); font-size:56px; font-weight:500; letter-spacing:-.04em; }
.admin-intro p:not(.eyebrow) { margin:12px 0 0; color:var(--muted); }
.admin-primary { min-height:45px; padding:0 20px; border:0; background:var(--navy); color:white; font:inherit; font-size:13px; font-weight:800; cursor:pointer; }
.admin-primary:hover { background:#1b3654; }
.admin-primary:disabled { opacity:.6; cursor:wait; }
.admin-link-button { display:inline-flex; align-items:center; }
.admin-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:35px 0; }
.admin-stats div { padding:20px 24px; background:white; border:1px solid #e0e3e3; }
.admin-stats strong { display:block; font-family:Georgia,serif; color:var(--navy); font-size:31px; }
.admin-stats span { color:var(--muted); font-size:12px; font-weight:700; }
.vacancy-form { margin:0 0 38px; padding:34px; background:white; border-top:5px solid var(--yellow); box-shadow:0 15px 45px rgba(16,36,58,.08); }
.form-heading { display:flex; justify-content:space-between; gap:20px; margin-bottom:28px; padding-bottom:22px; border-bottom:1px solid #e3e6e6; }
.form-heading span { color:#9a810d; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.form-heading h2 { margin:6px 0 0; color:var(--navy); font-family:Georgia,serif; font-size:29px; font-weight:500; }
.form-heading button { align-self:flex-start; border:0; background:transparent; color:var(--muted); cursor:pointer; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:21px; }
.form-grid label { color:#38485a; font-size:12px; font-weight:800; }
.form-grid label.wide { grid-column:1/-1; }
.form-grid input,.form-grid select,.form-grid textarea { width:100%; margin-top:8px; padding:13px 14px; border:1px solid #cfd5d8; border-radius:0; background:white; color:var(--ink); font:inherit; font-size:14px; outline:none; }
.form-grid textarea { resize:vertical; line-height:1.55; }
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus { border-color:var(--navy); box-shadow:0 0 0 2px rgba(16,36,58,.08); }
.form-grid small { display:block; margin-top:6px; color:#858e97; font-weight:400; }
.question-editor { margin-top:6px; padding:25px; border:1px solid #dce1e3; background:#f8f9f8; }
.question-editor-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:22px; margin-bottom:18px; }
.question-editor-heading h3 { margin:0; color:var(--navy); font-family:Georgia,serif; font-size:23px; font-weight:500; }
.question-editor-heading p { margin:7px 0 0; color:var(--muted); font-size:12px; font-weight:400; }
.question-editor-heading button,.add-question { padding:10px 13px; border:1px solid var(--navy); background:white; color:var(--navy); font:inherit; font-size:11px; font-weight:800; cursor:pointer; }
.question-editor-row { display:grid; grid-template-columns:minmax(0,2fr) minmax(150px,.7fr); gap:12px 16px; margin-top:12px; padding:18px; border:1px solid #dde2e4; background:white; }
.question-editor-row .question-text,.question-editor-row .question-options { grid-column:1/-1; }
.question-required { display:flex; align-items:center; gap:8px; align-self:center; }
.question-required input { width:16px; margin:0; accent-color:var(--navy); }
.remove-question { justify-self:end; align-self:center; border:0; background:transparent; color:#a1493e; font:inherit; font-size:11px; font-weight:800; cursor:pointer; }
.add-question { margin-top:14px; }
.form-message { margin:20px 0 0; padding:12px 14px; background:#f4f1d7; color:#5d521b; font-size:13px; font-weight:700; }
.form-actions { display:flex; justify-content:flex-end; gap:12px; margin-top:28px; padding-top:24px; border-top:1px solid #e3e6e6; }
.form-actions>button:not(.admin-primary) { border:0; background:transparent; color:var(--muted); font-weight:700; cursor:pointer; }
.admin-list { background:white; border:1px solid #e0e3e3; }
.admin-list-heading { display:flex; justify-content:space-between; align-items:center; padding:25px 28px; border-bottom:1px solid #e2e5e6; }
.admin-list-heading h2 { margin:0; color:var(--navy); font-family:Georgia,serif; font-size:26px; font-weight:500; }
.admin-list-heading span { color:var(--muted); font-size:12px; }
.admin-vacancy-row { display:flex; justify-content:space-between; align-items:center; gap:25px; padding:25px 28px; border-bottom:1px solid #e8eaea; }
.admin-vacancy-row:last-child { border-bottom:0; }
.admin-vacancy-row h3 { margin:8px 0 5px; color:var(--navy); font-family:Georgia,serif; font-size:23px; font-weight:500; }
.admin-vacancy-row p { margin:0; color:var(--muted); font-size:12px; }
.status-pill { display:inline-flex; padding:5px 8px; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.status-pill.published { background:#e3f2e8; color:#316241; }
.status-pill.draft { background:#eeeef0; color:#626873; }
.status-pill.closed { background:#f5e4e1; color:#8a463d; }
.row-actions { display:flex; align-items:center; gap:14px; flex-shrink:0; }
.row-actions form { margin:0; }
.row-actions a,.row-actions button { border:0; background:transparent; color:var(--navy); font:inherit; font-size:12px; font-weight:800; cursor:pointer; }
.row-actions .danger { color:#a1493e; }
.admin-empty { padding:65px 30px; text-align:center; }
.admin-empty h3 { margin:0; color:var(--navy); font-family:Georgia,serif; font-size:28px; font-weight:500; }
.admin-empty p { color:var(--muted); }
.admin-empty button { margin-top:12px; }
.applicant-row { display:flex; justify-content:space-between; align-items:center; gap:25px; padding:25px 28px; border-bottom:1px solid #e8eaea; }
.applicant-row:last-child { border-bottom:0; }
.applicant-row h3 { margin:5px 0; color:var(--navy); font-family:Georgia,serif; font-size:23px; font-weight:500; }
.applicant-row p { margin:0; color:var(--muted); font-size:12px; }
.applicant-row .applicant-target { color:#8b7510; font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }
.applicant-row small { display:block; margin-top:8px; color:#929aa1; }
.applicant-actions { display:flex; align-items:center; gap:15px; flex-shrink:0; }
.applicant-actions>a { color:var(--navy); font-size:12px; font-weight:800; }
.application-status { min-width:120px; padding:9px 11px; border:1px solid #cfd6d9; background:white; color:var(--navy); font:inherit; font-size:11px; font-weight:800; }
.application-status.new { border-color:#d4ae23; background:#fff9db; }
.application-status.contacted { border-color:#79a687; background:#edf7f0; }
.admin-back { display:inline-block; margin-bottom:30px; color:var(--navy); font-size:12px; font-weight:800; }
.applicant-detail-head { display:flex; justify-content:space-between; align-items:flex-end; gap:25px; margin-bottom:30px; }
.applicant-detail-head h1 { margin:4px 0; color:var(--navy); font-family:Georgia,serif; font-size:48px; font-weight:500; }
.applicant-detail-head p:not(.eyebrow) { margin:0; color:var(--muted); font-size:13px; }
.applicant-detail-grid { display:grid; grid-template-columns:1.4fr .8fr; gap:20px; }
.detail-card { padding:30px; background:white; border:1px solid #e0e3e3; }
.detail-card h2 { margin:0 0 22px; color:var(--navy); font-family:Georgia,serif; font-size:27px; font-weight:500; }
.detail-card dl { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:0; }
.detail-card dt { color:#8a939c; font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }
.detail-card dd { margin:5px 0 0; color:#293a4d; font-size:14px; overflow-wrap:anywhere; }
.detail-card dd a { color:var(--navy); text-decoration:underline; }
.consent-note { margin:25px 0 0; padding-top:18px; border-top:1px solid #e8eaeb; color:var(--muted); font-size:11px; line-height:1.5; }
.file-downloads { display:grid; gap:10px; }
.file-downloads a { padding:14px; border:1px solid #dce1e3; color:var(--navy); font-size:13px; font-weight:800; overflow-wrap:anywhere; }
.file-downloads span { display:block; margin-top:5px; color:var(--muted); font-size:10px; font-weight:500; }
.answer-card { margin-top:20px; }
.answer-item { padding:18px 0; border-top:1px solid #e8eaeb; }
.answer-item strong { color:var(--navy); font-size:13px; }
.answer-item p { margin:8px 0 0; color:#526170; line-height:1.6; white-space:pre-wrap; }
@media (max-width:760px) {
  .admin-header { align-items:flex-start; padding:14px 18px; }
  .admin-header>div:last-child>span { display:none; }
  .admin-header>div { gap:12px; flex-wrap:wrap; }
  .admin-header img { width:145px; }
  .admin-shell { width:calc(100% - 28px); padding-top:35px; }
  .admin-intro { align-items:flex-start; flex-direction:column; }
  .admin-stats { grid-template-columns:repeat(3,1fr); }
  .vacancy-form { padding:24px 18px; }
  .form-grid { grid-template-columns:1fr; }
  .form-grid label.wide { grid-column:auto; }
  .question-editor-heading { flex-direction:column; }
  .question-editor-row { grid-template-columns:1fr; }
  .question-editor-row .question-text,.question-editor-row .question-options { grid-column:auto; }
  .admin-vacancy-row { align-items:flex-start; flex-direction:column; }
  .applicant-row,.applicant-detail-head { align-items:flex-start; flex-direction:column; }
  .applicant-actions { width:100%; justify-content:space-between; }
  .applicant-detail-grid { grid-template-columns:1fr; }
  .detail-card dl { grid-template-columns:1fr; }
}

/* Applications */
.application-page { min-height:100vh; background:#f4f5f6; }
.application-hero { padding:74px 0 80px; background:var(--navy); color:white; }
.application-hero.compact { padding:55px 0 62px; }
.application-hero h1 { margin:0; color:white; font-family:Georgia,serif; font-size:clamp(46px,6vw,72px); line-height:1.05; font-weight:500; letter-spacing:-.035em; }
.application-hero.compact h1 { font-size:clamp(38px,5vw,58px); }
.application-hero p:not(.eyebrow) { max-width:720px; margin:18px 0 0; color:#d0d8df; font-size:17px; line-height:1.65; }
.application-shell { width:min(850px,calc(100% - 32px)); margin:-30px auto 100px; position:relative; z-index:2; }
.application-form { background:white; border:1px solid #e1e4e7; box-shadow:0 18px 55px rgba(12,29,47,.1); }
.application-block { padding:40px; border-bottom:1px solid #e7eaec; }
.application-title { display:flex; gap:18px; margin-bottom:30px; }
.application-title>span { width:34px; height:34px; display:grid; place-items:center; flex:0 0 auto; background:var(--yellow); color:var(--navy); font-size:11px; font-weight:900; }
.application-title h2 { margin:0; color:var(--navy); font-family:Georgia,serif; font-size:28px; font-weight:500; }
.application-title p { margin:7px 0 0; color:#7b8591; font-size:13px; line-height:1.5; }
.application-grid { display:grid; grid-template-columns:1fr 1fr; gap:23px 18px; }
.application-grid label,.question-list label { color:#293a4d; font-size:13px; font-weight:800; }
.application-grid label.full { grid-column:1/-1; }
.application-grid input,.application-grid select,.question-list input,.question-list select,.question-list textarea { width:100%; min-height:52px; margin-top:9px; padding:13px 15px; border:1px solid #d1d7dc; border-radius:8px; background:#fbfcfd; color:var(--ink); font:inherit; font-size:14px; outline:none; }
.question-list textarea { min-height:105px; resize:vertical; }
.application-grid input:focus,.application-grid select:focus,.question-list input:focus,.question-list select:focus,.question-list textarea:focus { border-color:#58708a; box-shadow:0 0 0 3px rgba(16,36,58,.08); background:white; }
.file-input,.form-trap { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; }
.drop-zone { width:100%; min-height:205px; padding:30px; border:2px dashed #d4dae0; border-radius:12px; background:white; display:flex; align-items:center; justify-content:center; flex-direction:column; cursor:pointer; color:var(--navy); }
.drop-zone:hover { border-color:#8092a4; background:#fbfcfd; }
.upload-symbol { width:54px; height:54px; display:grid; place-items:center; margin-bottom:15px; border-radius:12px; background:#f0f2f5; color:#8b99a8; font-size:30px; }
.drop-zone strong { font-size:15px; }
.drop-zone small { max-width:520px; margin-top:9px; color:#98a2ae; font-size:12px; font-weight:400; line-height:1.5; }
.selected-files { display:flex; flex-direction:column; gap:7px; margin-top:14px; }
.selected-files span { padding:10px 12px; background:#f2f4f5; color:#536170; font-size:12px; }
.question-list { display:grid; gap:25px; }
.application-consent { padding:30px 40px; background:#fafafa; }
.application-consent label { display:flex; align-items:flex-start; gap:11px; margin:10px 0; color:#5b6774; font-size:12px; line-height:1.55; }
.application-consent input { width:17px; height:17px; margin-top:1px; accent-color:var(--navy); }
.application-error { margin:0 40px 20px; padding:13px 15px; background:#f8e8e5; color:#8d4036; font-size:13px; font-weight:700; }
.submit-application { width:calc(100% - 80px); min-height:58px; margin:10px 40px 40px; border:0; border-radius:8px; background:var(--navy); color:white; font:inherit; font-size:16px; font-weight:800; cursor:pointer; }
.submit-application:hover { background:#1a3857; }
.submit-application:disabled { opacity:.6; cursor:wait; }
.application-success { padding:70px 50px; background:white; border-top:6px solid var(--yellow); box-shadow:0 18px 55px rgba(12,29,47,.1); text-align:center; }
.success-mark { width:64px; height:64px; margin:0 auto 24px; display:grid; place-items:center; border-radius:50%; background:#e9f4ed; color:#2f7448; font-size:30px; font-weight:900; }
.application-success h1 { max-width:650px; margin:0 auto; color:var(--navy); font-family:Georgia,serif; font-size:42px; line-height:1.15; font-weight:500; }
.application-success>p:not(.eyebrow) { max-width:620px; margin:20px auto; color:var(--muted); line-height:1.7; }
.follow-box { max-width:620px; margin:32px auto; padding:25px; background:var(--cream); }
.follow-box strong,.follow-box span { display:block; }
.follow-box strong { color:var(--navy); }
.follow-box span { margin-top:7px; color:var(--muted); font-size:13px; }
.follow-box>div { display:flex; justify-content:center; gap:10px; margin-top:18px; flex-wrap:wrap; }
.follow-box a { padding:10px 14px; border:1px solid #cbd1d4; background:white; color:var(--navy); font-size:12px; font-weight:800; }
@media (max-width:620px) {
  .application-hero { padding:55px 0 65px; }
  .application-block { padding:30px 20px; }
  .application-grid { grid-template-columns:1fr; }
  .application-grid label.full { grid-column:auto; }
  .application-consent { padding:25px 20px; }
  .submit-application { width:calc(100% - 40px); margin:10px 20px 30px; }
  .application-error { margin-inline:20px; }
  .application-success { padding:50px 22px; }
  .application-success h1 { font-size:34px; }
}
