/* Public landing only: shared Serena colours and type, no application forms. */
.landing-public { margin:0; background:#fbf9f3; color:#243d30; font-family:var(--font-sans); line-height:1.6; -webkit-text-size-adjust:100%; }
.landing-public *, .landing-public *::before, .landing-public *::after { box-sizing:border-box; }
.landing-public :is(h1,h2,h3,p,ol) { margin:0; }
.landing-public :is(h1,h2,h3) { font-family:var(--font-serif); font-weight:500; letter-spacing:-.035em; line-height:1.12; color:inherit; }
.landing-public h2 { font-size:clamp(30px,3.25vw,44px); }
.landing-public h3 { font-size:23px; }
.landing-public a { color:inherit; text-decoration:none; }
.landing-public a:hover { text-decoration:underline; text-underline-offset:5px; }
.landing-public :is(a,summary):focus-visible { outline:3px solid #a6543e; outline-offset:5px; border-radius:4px; }
.landing-public :is(section,main,[id="top"]) { scroll-margin-top:100px; }
.landing-public em { color:#a6543e; font-weight:500; }
.lp-wrap { width:min(100% - 96px,1160px); margin-inline:auto; }
.lp-skip { position:fixed; top:12px; left:12px; padding:12px 20px; background:white; color:#243d30; z-index:100; transform:translateY(-160%); }
.lp-skip:focus { transform:translateY(0); }
.lp-announcement { background:#243d30; color:#fffdf5; padding:9px 16px; text-align:center; font-size:13px; }
.lp-status-dot { display:inline-block; width:6px; height:6px; background:#d3c69c; border-radius:50%; margin-right:8px; vertical-align:middle; }
.lp-header { position:sticky; top:0; z-index:20; background:#fbf9f3; border-bottom:1px solid #dedfd5; }
.lp-nav { min-height:80px; display:flex; gap:28px; align-items:center; justify-content:space-between; }
.lp-logo { font:500 34px var(--font-serif); letter-spacing:-2px; white-space:nowrap; }
.lp-logo span { color:#b7684b; }
.lp-nav-links { display:flex; gap:24px; align-items:center; font-size:14px; }
.lp-nav a { display:inline-flex; align-items:center; min-height:48px; }
.lp-account { border:1px solid #b8c2b1; border-radius:8px; padding:8px 15px; gap:12px; font-size:13px; font-weight:600; }
.lp-eyebrow { color:#5a6b5b; font-size:12px; font-weight:600; letter-spacing:1.6px; text-transform:uppercase; }
.lp-hero { display:grid; grid-template-columns:1.17fr 1fr; gap:64px; align-items:center; padding-block:64px 52px; }
.lp-hero h1 { font-size:clamp(46px,5.2vw,72px); line-height:1.04; margin:24px 0; }
.lp-hero h1.lp-title-candidate { font-size:clamp(38px,4.1vw,58px); }
.lp-lead { color:#526251; font-size:18px; max-width:520px; }
.lp-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px; margin-top:28px; }
.lp-button { display:inline-flex; align-items:center; justify-content:center; gap:22px; padding:15px 23px; min-height:54px; border-radius:9px; font-size:16px; font-weight:600; line-height:1.4; text-align:center; }
.lp-button-main { background:#263f31; color:#fffdf6 !important; border:1px solid #263f31; box-shadow:0 3px 4px #263f3110; }
.lp-button-main:hover { background:#36553f; text-decoration:none !important; }
.lp-button span { font-size:21px; line-height:1; }
.lp-text-link { display:inline-flex; align-items:center; min-height:48px; gap:10px; font-weight:600; font-size:14px; text-decoration:underline !important; text-underline-offset:5px; text-decoration-color:#adb8a4 !important; }
.lp-hero-note { color:#5a6858; font-size:13px; margin-top:12px !important; }
.lp-hero-help { display:inline-flex; align-items:center; min-height:44px; font-size:13px; text-decoration:underline !important; text-underline-offset:4px; }
.lp-hero-foot { border-top:1px solid #dce0d3; margin-top:30px; padding-top:20px; display:flex; flex-wrap:wrap; gap:12px 24px; color:#596655; font-size:13px; }
.lp-hero-foot span::before { content:'✓'; margin-right:7px; }
.lp-hero-visual, .lp-method-visual { margin:0; min-width:0; }
.lp-hero-visual img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; border-radius:80px 18px 18px 18px; background:#e7e6d9; }
.lp-hero-visual figcaption { margin-top:16px; font-family:var(--font-serif); font-size:19px; line-height:1.4; }
.lp-hero-visual figcaption span { display:block; font-family:var(--font-sans); font-size:11px; color:#64705d; margin-top:5px; }
.lp-journey { display:grid; grid-template-columns:260px 1fr; border:1px solid #dce1d4; border-radius:16px; background:white; overflow:hidden; margin-bottom:48px; }
.lp-journey-head { padding:28px; background:#eaf0e2; }
.lp-journey-head h2 { margin-top:14px; font-size:29px; }
.lp-steps { list-style:none; padding:28px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.lp-steps li { display:flex; flex-direction:column; gap:12px; padding:0; }
.lp-step-number { color:#8d543b; font-family:var(--font-serif); font-size:22px; line-height:1.25; }
.lp-steps h3 { font-family:var(--font-sans); letter-spacing:0; font-size:15px; font-weight:600; line-height:1.4; }
.lp-steps p { font-size:14px; color:#5a6858; margin-top:5px; }
.lp-journey-foot { grid-column:1/-1; padding:14px 28px; border-top:1px solid #e7e9e0; font-size:13px; color:#53634f; }
.lp-journey-foot a { display:inline-flex; align-items:center; min-height:44px; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.lp-section { padding-block:72px; }
.lp-section-heading { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:end; margin-bottom:36px; }
.lp-section-heading h2 { margin-top:15px; }
.lp-section-heading > p { color:#5a6858; font-size:16px; max-width:450px; }
.lp-jobs-section { border-top:1px solid #dce0d3; }
.lp-jobs { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
.lp-jobs article { border-top:1px solid #b6c0ab; padding-top:18px; }
.lp-job-icon { display:flex; align-items:center; justify-content:center; width:58px; height:58px; background:#eaf0e2; border-radius:14px; color:#456347; }
.lp-jobs article:nth-child(2) .lp-job-icon { background:#f0e6d8; color:#80563b; }
.lp-jobs article:nth-child(3) .lp-job-icon { background:#f4e5dc; color:#975641; }
.lp-jobs article:nth-child(4) .lp-job-icon { background:#e6ebde; color:#4f6448; }
.lp-jobs h3 { margin:16px 0 10px; font-size:27px; }
.lp-jobs p { font-size:14px; color:#5a6858; }
.lp-method { background:#253f31; color:#fcf9ef; padding-block:64px; }
.lp-method-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:100px; align-items:center; }
.lp-method .lp-eyebrow { color:#c5d2b9; }
.lp-method h2 { margin:16px 0 24px; }
.lp-method em { color:#e0b298; }
.lp-method p { color:#d3ddcd; font-size:15px; }
.lp-method-visual img { display:block; width:100%; height:auto; aspect-ratio:4/3; border-radius:12px; background:#314b39; }
.lp-method-visual figcaption { color:#c0cdb6; font-size:11px; margin-top:9px; }
.lp-method-lead { font-size:17px !important; color:#fcf9ef !important; margin-bottom:28px !important; }
.lp-method-note { margin-top:28px !important; border-left:2px solid #b0bd9c; padding-left:18px; font-size:13px !important; }
.lp-method-points article { display:flex; gap:24px; padding:0 0 22px; }
.lp-method-points article + article { padding-top:22px; border-top:1px solid #4d6552; }
.lp-method-points article:last-child { padding-bottom:0; }
.lp-method-points article > span { font-size:13px; color:#dbc4ac; padding-top:3px; }
.lp-method-points h3 { font-family:var(--font-sans); font-size:17px; font-weight:600; letter-spacing:-.01em; margin-bottom:9px; }
.lp-family { display:grid; grid-template-columns:1fr 1fr; gap:80px; padding:42px; background:#f0eee3; border:1px solid #deded0; border-radius:16px; }
.lp-phase { display:inline-block; color:#715333; background:#e8dfc9; font-size:12px; font-weight:600; padding:5px 10px; border-radius:5px; }
.lp-family h2 { font-size:36px; margin:18px 0; }
.lp-family p { color:#596553; font-size:15px; }
.lp-family-modes { display:flex; flex-wrap:wrap; gap:8px; margin:22px 0; }
.lp-family-modes span { border:1px solid #c9cfbc; background:#fbfaf3; font-size:12px; border-radius:5px; padding:6px 10px; }
.lp-small { font-size:13px !important; color:#5a6858; }
.lp-family-intro > .lp-text-link { margin-left:12px; }
.lp-family-process h3 { font-family:var(--font-sans); font-size:16px; font-weight:600; letter-spacing:0; margin:4px 0 20px; }
.lp-family-process ol { padding-left:19px; }
.lp-family-process li { padding:0 0 20px 8px; color:#7e553e; }
.lp-family-process li::marker { font-size:13px; }
.lp-family-process strong { color:#354b38; font-size:15px; font-weight:600; }
.lp-family-process li p { font-size:14px; margin-top:4px; }
.lp-family-process > p { padding-top:18px; border-top:1px solid #d3d7c6; }
.lp-candidate-cta { display:grid; grid-template-columns:1fr auto; gap:40px; align-items:center; border-block:1px solid #d5dccb; padding:42px 0; }
.lp-candidate-cta h2 { margin:14px 0; }
.lp-candidate-cta p { color:#586952; }
.lp-mg { font-style:italic; font-size:13px; color:#66765e; margin-top:9px !important; }
.lp-candidate-actions { display:flex; flex-direction:column; gap:12px; align-items:center; }
.lp-faq { display:grid; grid-template-columns:1fr 1.5fr; gap:80px; }
.lp-faq h2 { margin:16px 0 24px; }
.lp-faq-intro > p:not(.lp-eyebrow):not(.lp-mg) { color:#5a6858; font-size:15px; }
.lp-faq details { border-bottom:1px solid #dbe0d0; }
.lp-faq details:first-child { border-top:1px solid #dbe0d0; }
.lp-faq summary { list-style:none; cursor:pointer; font-size:15px; font-weight:600; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:20px 0; min-height:56px; }
.lp-faq summary::-webkit-details-marker { display:none; }
.lp-faq summary span { font-size:22px; font-weight:400; }
.lp-faq details[open] summary span { transform:rotate(45deg); }
.lp-faq details > p { padding:0 22px 22px 0; font-size:14px; color:#586751; }
.lp-footer { padding:48px 0 26px; background:#eaf0e2; border-top:1px solid #dbe1d2; }
.lp-footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:56px; }
.lp-footer-grid h2 { font-family:var(--font-sans); font-size:14px; font-weight:600; letter-spacing:0; margin-bottom:14px; }
.lp-footer-grid a:not(.lp-logo) { display:block; width:fit-content; padding-block:8px; font-size:14px; }
.lp-footer-grid p { color:#56664e; font-size:14px; margin-top:12px; }
.lp-footer-bottom { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; border-top:1px solid #cdd7c0; padding-top:20px; margin-top:32px; font-size:12px; color:#53664c; }
.lp-footer-bottom nav { display:flex; gap:24px; }
.lp-mobile-action { display:none; }
@media (max-width:1100px) {
  .lp-wrap { width:calc(100% - 64px); }
  .lp-nav-links { gap:16px; }
  .lp-nav-links a:first-child { display:none; }
  .lp-hero { gap:40px; padding-block:48px 56px; }
  .lp-hero-actions { gap:12px; }
  .lp-journey { grid-template-columns:1fr; }
  .lp-journey-head { padding:24px 28px; }
  .lp-journey-head h2 br { display:none; }
  .lp-method-grid { gap:48px; }
  .lp-family { gap:40px; padding:32px; }
}
@media (max-width:760px) {
  .landing-public { padding-bottom:calc(84px + env(safe-area-inset-bottom,0px)); }
  .lp-wrap { width:calc(100% - 40px); }
  .lp-announcement { font-size:11px; padding:8px 10px; }
  .lp-nav { min-height:70px; gap:16px; }
  .lp-logo { font-size:30px; }
  .lp-nav-links { display:none; }
  .lp-account { font-size:12px; padding:8px 12px; gap:8px; }
  .lp-hero { grid-template-columns:1fr; gap:32px; padding-block:34px 40px; }
  .lp-hero h1 { font-size:clamp(42px,10vw,64px); margin-block:18px; }
  .lp-eyebrow { font-size:11px; letter-spacing:1.2px; }
  .lp-lead { font-size:16px; }
  .lp-hero-actions { margin-top:23px; gap:10px 22px; }
  .lp-hero-foot { margin-top:18px; padding-top:16px; gap:10px 20px; font-size:12px; }
  .lp-hero-visual img { aspect-ratio:4/3; border-top-left-radius:52px; }
  .lp-hero-visual figcaption { font-size:17px; margin-top:12px; }
  .lp-journey { margin-bottom:36px; }
  .lp-journey-head { padding:23px 22px; }
  .lp-journey-head h2 { font-size:29px; margin-top:10px; }
  .lp-journey-head h2 br { display:initial; }
  .lp-steps { display:block; padding:4px 22px; }
  .lp-steps li { flex-direction:row; padding-block:18px; gap:12px; }
  .lp-steps li + li { border-top:1px solid #e7e9e0; }
  .lp-step-number { flex:0 0 30px; }
  .lp-journey-foot { padding:16px 22px; }
  .lp-section { padding-block:44px; }
  .lp-section-heading { grid-template-columns:1fr; gap:18px; margin-bottom:28px; }
  .lp-section-heading > p { font-size:15px; }
  .lp-jobs { grid-template-columns:1fr 1fr; gap:26px 22px; }
  .lp-jobs h3 { font-size:24px; margin:12px 0 8px; }
  .lp-jobs p { font-size:13px; }
  .lp-method { padding-block:40px; }
  .lp-method-grid { grid-template-columns:1fr; gap:30px; }
  .lp-method h2 { margin-bottom:18px; }
  .lp-method-note { margin-top:18px !important; }
  .lp-method-points article { gap:17px; }
  .lp-family { grid-template-columns:1fr; gap:28px; padding:24px; }
  .lp-family h2 { font-size:30px; }
  .lp-family-process { padding-top:24px; border-top:1px solid #d1d6c5; }
  .lp-candidate-cta { grid-template-columns:1fr; gap:24px; padding-block:32px; }
  .lp-candidate-actions { align-items:stretch; }
  .lp-candidate-actions .lp-text-link { justify-content:center; text-align:center; }
  .lp-candidate-actions .lp-small { text-align:center; }
  .lp-faq { grid-template-columns:1fr; gap:28px; }
  .lp-faq h2 { margin-bottom:18px; }
  .lp-footer { padding-block:32px 22px; }
  .lp-footer-grid { grid-template-columns:1fr 1fr; gap:24px 18px; }
  .lp-footer-grid > div:first-child { grid-column:1/-1; }
  .lp-footer-grid a:not(.lp-logo) { min-height:44px; font-size:13px; overflow-wrap:anywhere; }
  .lp-footer-bottom { margin-top:24px; }
  .lp-footer-bottom nav a { display:inline-flex; align-items:center; min-height:44px; }
  .lp-mobile-action { position:fixed; bottom:0; inset-inline:0; z-index:30; display:flex; align-items:center; gap:12px; padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px)); background:#fbf9f3; border-top:1px solid #d6decb; box-shadow:0 -4px 16px #263f3108; }
  .lp-mobile-action .lp-button { flex:1; min-width:0; font-size:14px; padding:14px 16px; gap:16px; }
  .lp-mobile-secondary { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:8px; font-size:13px; font-weight:600; }
  .landing-public :is(a,summary) { scroll-margin-bottom:110px; }
}
@media (max-width:360px) {
  .lp-wrap { width:calc(100% - 32px); }
  .lp-account { font-size:11px; padding-inline:9px; }
  .lp-button { font-size:14px; padding-inline:16px; gap:12px; }
  .lp-family { padding:20px; }
}
@media (prefers-reduced-motion:reduce) { .landing-public *, .landing-public *::before, .landing-public *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
