/* Native Careers hub, opportunity details, and application journey. */

.octa-careers,
.octa-career-role,
.octa-career-apply {
	--oc-ink: #102725;
	--oc-green: #144f48;
	--oc-green-hover: #1c665d;
	--oc-mint: #b8ead5;
	--oc-lime: #d9f77e;
	--oc-cream: #f5f3ea;
	--oc-line: #d8ded7;
	--oc-muted: #64736f;
	background: #fafaf7;
	color: var(--oc-ink);
}

.octa-careers-shell { width: min(calc(100% - 48px), 1180px); margin-inline: auto; }
.octa-careers :is(h1,h2,h3,h4), .octa-career-role :is(h1,h2,h3,h4), .octa-career-apply :is(h1,h2,h3,h4) { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; letter-spacing: -.035em; }

.octa-careers-hero { padding-block: clamp(64px,8vw,118px); background: var(--oc-cream); overflow: hidden; }
.octa-careers-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.75fr); gap:clamp(50px,8vw,110px); align-items:center; }
.octa-careers-eyebrow,.octa-careers-kicker,.octa-careers-section-heading > div > p,.octa-careers-campus header > p,.octa-careers-closing p,.octa-career-role-summary > p,.octa-career-related header > p,.octa-career-apply aside > p { margin:0 0 18px; color:#347c70; font-size:10px; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
.octa-careers-hero h1 { max-width:780px; margin:0; font-size:clamp(51px,6.7vw,88px); line-height:.96; }
.octa-careers-hero-copy > p:not(.octa-careers-eyebrow) { max-width:680px; margin:31px 0 0; color:#526460; font-size:clamp(17px,1.7vw,21px); line-height:1.7; }
.octa-careers-hero-actions { display:flex; flex-wrap:wrap; gap:18px 30px; align-items:center; margin-top:34px; }
.octa-careers-button,.octa-careers-closing a,.octa-career-role-apply > a { display:inline-flex; gap:13px; align-items:center; padding:16px 23px; background:var(--oc-green); color:#fff; font-size:12px; font-weight:800; text-decoration:none; }
.octa-careers-button:hover,.octa-careers-button:focus-visible,.octa-careers-closing a:hover,.octa-careers-closing a:focus-visible,.octa-career-role-apply > a:hover,.octa-career-role-apply > a:focus-visible { background:var(--oc-green-hover); }
.octa-careers-text-link { display:inline-flex; gap:11px; color:var(--oc-green-hover); font-size:12px; font-weight:800; text-decoration:none; }
.octa-careers-text-link:hover,.octa-careers-text-link:focus-visible { text-decoration:underline; }
.octa-careers-hero-visual { position:relative; min-height:510px; background:var(--oc-green); }
.octa-careers-hero-visual img { display:block; width:100%; height:510px; object-fit:cover; mix-blend-mode:luminosity; opacity:.87; }
.octa-careers-hero-visual > div { position:absolute; right:-1px; bottom:-1px; display:flex; min-width:190px; padding:24px; background:var(--oc-lime); flex-direction:column; }
.octa-careers-hero-visual strong { font:400 38px/1 Georgia,serif; }
.octa-careers-hero-visual span { margin-top:8px; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }

.octa-careers-intro { padding-block:clamp(78px,9vw,126px); }
.octa-careers-intro-grid { display:grid; grid-template-columns:1fr .75fr; gap:clamp(50px,8vw,110px); margin-bottom:clamp(55px,7vw,88px); }
.octa-careers-intro-grid h2 { max-width:700px; margin:0; font-size:clamp(39px,5vw,65px); line-height:1; }
.octa-careers-intro-grid > p { margin:8px 0 0; color:var(--oc-muted); font-size:16px; line-height:1.8; }
.octa-careers-reasons { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--oc-line); border-left:1px solid var(--oc-line); }
.octa-careers-reasons article { min-height:260px; padding:28px; border-right:1px solid var(--oc-line); border-bottom:1px solid var(--oc-line); }
.octa-careers-reasons article > span { color:#3c8277; font:italic 11px Georgia,serif; }
.octa-careers-reasons h3 { margin:58px 0 13px; font-size:25px; line-height:1.08; }
.octa-careers-reasons p { margin:0; color:var(--oc-muted); font-size:13px; line-height:1.65; }

.octa-careers-opportunities { padding-block:clamp(78px,9vw,126px); background:var(--oc-green); color:#fff; scroll-margin-top:80px; }
.octa-careers-section-heading { display:grid; grid-template-columns:1fr .65fr; gap:clamp(50px,8vw,110px); align-items:end; margin-bottom:70px; }
.octa-careers-section-heading > div > p { color:var(--oc-lime); }
.octa-careers-section-heading h2 { max-width:700px; margin:0; font-size:clamp(41px,5.2vw,67px); line-height:1; }
.octa-careers-section-heading > p { margin:0; color:#c3d9d5; font-size:15px; line-height:1.75; }
.octa-careers-role-group { display:grid; grid-template-columns:260px 1fr; border-top:1px solid rgba(255,255,255,.22); }
.octa-careers-role-group + .octa-careers-role-group { margin-top:75px; }
.octa-careers-role-group > header { padding:27px 38px 0 0; }
.octa-careers-role-group > header span { color:var(--oc-lime); font:italic 12px Georgia,serif; }
.octa-careers-role-group > header h3 { margin:30px 0 12px; font-size:31px; }
.octa-careers-role-group > header strong { color:#99b8b2; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.octa-careers-role-list { border-left:1px solid rgba(255,255,255,.22); }
.octa-careers-role-list a { display:grid; grid-template-columns:180px 1fr 120px; gap:25px; align-items:center; min-height:104px; padding:22px 0 22px 34px; border-bottom:1px solid rgba(255,255,255,.22); color:#fff; text-decoration:none; }
.octa-careers-role-list a:hover,.octa-careers-role-list a:focus-visible { background:rgba(217,247,126,.09); }
.octa-careers-role-list a > span,.octa-careers-role-list small { color:#a9c5c0; font-size:9px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.octa-careers-role-list h4 { margin:0; font-size:26px; }
.octa-careers-role-list small { display:flex; gap:15px; justify-content:space-between; padding-right:5px; }
.octa-careers-role-list b { color:var(--oc-lime); font-size:16px; }

.octa-careers-campus { padding-block:clamp(80px,10vw,135px); background:var(--oc-cream); }
.octa-careers-campus-grid { display:grid; grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr); gap:clamp(55px,9vw,125px); }
.octa-careers-campus header { position:sticky; top:120px; align-self:start; }
.octa-careers-campus h2 { margin:0; font-size:clamp(39px,4.7vw,62px); line-height:1; }
.octa-careers-campus-list { border-top:1px solid #ddd8ca; }
.octa-careers-campus-list article { display:grid; grid-template-columns:52px 1fr; gap:24px; padding:31px 0; border-bottom:1px solid #ddd8ca; }
.octa-careers-campus-list article > span { color:#3c8277; font:italic 11px Georgia,serif; }
.octa-careers-campus-list h3 { margin:0 0 10px; font-size:25px; }
.octa-careers-campus-list p { margin:0; color:var(--oc-muted); font-size:14px; line-height:1.65; }
.octa-careers-closing { padding-block:70px; background:var(--oc-mint); }
.octa-careers-closing > div { display:flex; gap:45px; align-items:end; justify-content:space-between; }
.octa-careers-closing h2 { max-width:700px; margin:0; font-size:clamp(37px,4.5vw,59px); line-height:1; }

/* Opportunity detail. */
.octa-career-role-hero,.octa-career-apply-hero { padding-block:clamp(62px,8vw,108px); background:var(--oc-green); color:#fff; }
.octa-career-breadcrumb { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:43px; color:#b7d2cd; font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.octa-career-breadcrumb a { color:inherit; text-decoration:none; }
.octa-career-breadcrumb a:hover,.octa-career-breadcrumb a:focus-visible { color:var(--oc-lime); text-decoration:underline; }
.octa-career-role-hero-grid { display:grid; grid-template-columns:1fr 365px; gap:clamp(50px,8vw,112px); align-items:end; }
.octa-career-role-hero .octa-careers-eyebrow,.octa-career-apply-hero .octa-careers-eyebrow { color:var(--oc-lime); }
.octa-career-role-hero h1,.octa-career-apply-hero h1 { max-width:820px; margin:0; font-size:clamp(50px,6.5vw,84px); line-height:.98; }
.octa-career-role-facts { display:grid; background:var(--oc-mint); color:var(--oc-ink); }
.octa-career-role-facts > div { display:grid; grid-template-columns:105px 1fr; gap:20px; padding:22px 24px; align-items:center; }
.octa-career-role-facts > div + div { border-top:1px solid rgba(16,39,37,.18); }
.octa-career-role-facts span { color:#41645e; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.octa-career-role-facts strong { font:400 18px/1.2 Georgia,serif; }
.octa-career-role-layout { display:grid; grid-template-columns:minmax(0,1fr) 325px; gap:clamp(55px,9vw,125px); padding-block:clamp(72px,9vw,125px); align-items:start; }
.octa-career-role-summary { display:grid; grid-template-columns:150px 1fr; gap:35px; padding-bottom:65px; border-bottom:1px solid var(--oc-line); }
.octa-career-role-summary > p { padding-top:8px; }
.octa-career-role-summary > div { color:#415551; font:400 clamp(21px,2.3vw,28px)/1.65 Georgia,serif; }
.octa-career-role-summary > div > :first-child,.octa-career-role-prose > :first-child { margin-top:0; }
.octa-career-role-summary > div > :last-child,.octa-career-role-prose > :last-child { margin-bottom:0; }
.octa-career-role-section { display:grid; grid-template-columns:65px 1fr; gap:30px; padding-block:60px; border-bottom:1px solid var(--oc-line); }
.octa-career-role-section > span { padding-top:10px; color:#3c8277; font:italic 11px Georgia,serif; }
.octa-career-role-section h2 { margin:0 0 27px; font-size:clamp(31px,3.7vw,46px); line-height:1.05; }
.octa-career-role-prose { color:#556762; font-size:15px; line-height:1.78; }
.octa-career-role-prose ul { margin:0; padding-left:21px; }
.octa-career-role-prose li + li { margin-top:10px; }
.octa-career-role-apply { position:sticky; top:110px; padding:34px; background:var(--oc-cream); border-top:4px solid var(--oc-lime); }
.octa-career-role-apply > p { margin:0 0 17px; color:#347c70; font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.octa-career-role-apply h2 { margin:0 0 28px; font-size:31px; line-height:1.07; }
.octa-career-role-apply > a { justify-content:space-between; }
.octa-career-role-apply small { display:block; margin-top:18px; color:var(--oc-muted); font-size:11px; line-height:1.6; }
.octa-career-related { padding-block:75px; background:var(--oc-ink); color:#fff; }
.octa-career-related header { display:flex; justify-content:space-between; align-items:end; margin-bottom:35px; }
.octa-career-related header > p { color:var(--oc-mint); }
.octa-career-related h2 { margin:0; font-size:42px; }
.octa-career-related > div > div { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.2); border-left:1px solid rgba(255,255,255,.2); }
.octa-career-related a { display:flex; min-height:185px; padding:27px; border-right:1px solid rgba(255,255,255,.2); border-bottom:1px solid rgba(255,255,255,.2); color:#fff; text-decoration:none; flex-direction:column; }
.octa-career-related a span { color:#9fbbb6; font-size:9px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.octa-career-related a strong { margin-top:auto; font:400 25px/1.15 Georgia,serif; }
.octa-career-related a b { margin-top:15px; color:var(--oc-lime); }

/* Application. */
.octa-career-apply-hero-grid { display:grid; grid-template-columns:1fr .65fr; gap:clamp(50px,8vw,110px); align-items:end; }
.octa-career-apply-hero-grid > p { margin:0; color:#c8ddd9; font-size:16px; line-height:1.75; }
.octa-career-apply-body { padding-block:clamp(70px,9vw,120px); }
.octa-career-apply-layout { display:grid; grid-template-columns:300px minmax(0,1fr); gap:clamp(55px,9vw,125px); align-items:start; }
.octa-career-apply-layout > aside { position:sticky; top:110px; }
.octa-career-apply-layout > aside h2 { margin:0; font-size:37px; line-height:1.05; }
.octa-career-apply-layout > aside ol { margin:38px 0 0; padding:0; list-style:none; border-top:1px solid var(--oc-line); }
.octa-career-apply-layout > aside li { display:grid; grid-template-columns:37px 1fr; gap:14px; padding:20px 0; border-bottom:1px solid var(--oc-line); color:#50625e; font-size:13px; line-height:1.55; }
.octa-career-apply-layout > aside li span { color:#347c70; font:italic 10px Georgia,serif; }
.octa-career-privacy { margin:25px 0 0; color:var(--oc-muted); font-size:11px; line-height:1.65; }

.octa-ca-hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.octa-ca-notice { margin:0 0 25px; padding:15px 17px; border-left:3px solid currentColor; background:#fdf0ef; color:#9d2a22; font-size:14px; }
.octa-ca-form fieldset { margin:0; padding:0 0 55px; border:0; }
.octa-ca-form fieldset + fieldset { padding-top:55px; border-top:1px solid var(--oc-line); }
.octa-ca-form legend { width:100%; margin:0 0 32px; padding:0; font:400 32px/1.1 Georgia,serif; letter-spacing:-.03em; }
.octa-ca-form legend span { display:inline-block; margin-right:20px; color:#347c70; font:italic 11px Georgia,serif; vertical-align:middle; }
.octa-ca-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px 28px; }
.octa-ca-field { margin:0; }
.octa-ca-field--wide { grid-column:1/-1; }
.octa-ca-field > label { display:block; margin-bottom:8px; color:#2f4541; font-size:12px; font-weight:800; }
.octa-ca :is(input[type=text],input[type=email],input[type=tel],input[type=url],input[type=file],select,textarea) { width:100%; padding:14px; border:1px solid #b8c3bf; border-radius:0; background:#fff; color:var(--oc-ink); font:inherit; font-size:14px; }
.octa-ca input[type=file] { padding:11px; }
.octa-ca textarea { resize:vertical; }
.octa-ca :is(input,select,textarea):focus-visible { outline:2px solid var(--oc-green); outline-offset:1px; border-color:var(--oc-green); }
.octa-ca .has-error :is(input,select,textarea) { border-color:#9d2a22; }
.octa-ca-error { display:block; margin-top:7px; color:#9d2a22; font-size:12px; }
.octa-ca-consent label { display:flex; gap:12px; align-items:flex-start; font-weight:400; line-height:1.6; }
.octa-ca-consent input { width:auto; margin-top:4px; }
.octa-ca-consent a { color:var(--oc-green-hover); }
.octa-ca-submit-row { display:flex; gap:30px; justify-content:space-between; align-items:center; padding-top:35px; border-top:1px solid var(--oc-line); }
.octa-ca-submit-row > p { max-width:450px; margin:0; color:var(--oc-muted); font-size:11px; line-height:1.6; }
.octa-ca-submit-row button { display:inline-flex; gap:14px; padding:17px 24px; border:0; border-radius:0; background:var(--oc-green); color:#fff; font:inherit; font-size:12px; font-weight:800; cursor:pointer; white-space:nowrap; }
.octa-ca-submit-row button:hover,.octa-ca-submit-row button:focus-visible { background:var(--oc-green-hover); }
.octa-ca-success { padding:clamp(32px,6vw,65px); background:var(--oc-mint); }
.octa-ca-success > p:first-child { margin:0 0 18px; color:#347c70; font-size:10px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.octa-ca-success h2 { max-width:640px; margin:0; font-size:clamp(38px,5vw,61px); line-height:1; }
.octa-ca-success h2 + p { max-width:640px; margin:25px 0; color:#45615c; line-height:1.7; }
.octa-ca-success a { color:var(--oc-green); font-size:12px; font-weight:800; }

@media(max-width:960px){
	.octa-careers-hero-grid,.octa-careers-intro-grid,.octa-careers-section-heading,.octa-careers-campus-grid,.octa-career-role-hero-grid,.octa-career-apply-hero-grid { grid-template-columns:1fr; }
	.octa-careers-hero-visual { max-width:620px; }
	.octa-careers-reasons { grid-template-columns:repeat(2,1fr); }
	.octa-careers-role-group { grid-template-columns:1fr; }
	.octa-careers-role-group > header { padding-bottom:28px; }
	.octa-careers-role-list { border-left:0; }
	.octa-careers-campus header,.octa-career-role-apply,.octa-career-apply-layout > aside { position:static; }
	.octa-career-role-layout { grid-template-columns:1fr; }
	.octa-career-role-apply { max-width:500px; }
	.octa-career-apply-layout { grid-template-columns:1fr; }
	.octa-career-apply-layout > aside { display:grid; grid-template-columns:1fr 1fr; gap:20px 45px; }
	.octa-career-apply-layout > aside > p:first-child { grid-column:1/-1; }
}

@media(max-width:650px){
	.octa-careers-shell { width:min(calc(100% - 32px),1180px); }
	.octa-careers-hero { padding-block:55px 72px; }
	.octa-careers-hero h1,.octa-career-role-hero h1,.octa-career-apply-hero h1 { font-size:clamp(40px,12vw,58px); }
	.octa-careers-hero-visual,.octa-careers-hero-visual img { min-height:0; height:auto; aspect-ratio:4/5; }
	.octa-careers-reasons { grid-template-columns:1fr; }
	.octa-careers-reasons article { min-height:220px; }
	.octa-careers-role-list a { grid-template-columns:1fr; gap:8px; padding:22px 4px; }
	.octa-careers-role-list small { justify-content:flex-start; }
	.octa-careers-closing > div,.octa-ca-submit-row { align-items:flex-start; flex-direction:column; }
	.octa-career-role-summary { grid-template-columns:1fr; gap:5px; }
	.octa-career-role-section { grid-template-columns:1fr; gap:8px; }
	.octa-career-related > div > div { grid-template-columns:1fr; }
	.octa-career-apply-layout > aside { display:block; }
	.octa-ca-grid { grid-template-columns:1fr; }
	.octa-ca-field--wide { grid-column:auto; }
}
