/* Shared inner-page components (Nov 2026 rebuild). Tokens come from styles.css. */
.page-hero{background:var(--paper);border-bottom:1px solid var(--line)}
.page-hero-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:min(6vw,80px);align-items:center;padding-block:70px}
.page-hero.no-image .page-hero-inner{grid-template-columns:1fr;max-width:900px;margin-inline:0}
.crumbs{font-size:.82rem;color:var(--muted);margin:0 0 22px}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--forest);text-decoration:underline}
.crumbs span{margin:0 8px}
.page-hero h1{font-size:clamp(2.6rem,4.4vw,4.6rem);letter-spacing:-.05em;line-height:1.03;margin:0 0 22px;color:#0a2e20}
.page-hero .lead{font-size:clamp(1.1rem,1.4vw,1.32rem);line-height:1.5;color:#2c4337;margin:0 0 30px;max-width:620px}
.page-hero-image{border-radius:14px;overflow:hidden;aspect-ratio:16/10;background:#dfe8e2}
.page-hero-image img{width:100%;height:100%;object-fit:cover;display:block}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}

.block{padding-block:90px}
.block.alt{background:var(--paper)}
.block-head{max-width:760px;margin-bottom:44px}
.block-head h2{font-size:clamp(2.1rem,3.1vw,3.4rem);line-height:1.08;letter-spacing:-.045em;margin:0 0 14px}
.block-head p{font-size:1.13rem;color:#496053;margin:0}

.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card-grid.two{grid-template-columns:repeat(2,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:28px 28px 30px;display:flex;flex-direction:column;gap:10px}
.block.alt .card{background:#fff}
a.card{text-decoration:none;transition:border-color .15s,transform .15s}
a.card:hover{border-color:var(--lime);transform:translateY(-2px)}
.card h3{margin:0;font-size:1.18rem;letter-spacing:-.015em}
.card p{margin:0;color:#52695b;line-height:1.5;flex:1}
.card strong{color:var(--forest);font-size:.88rem;margin-top:6px}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;counter-reset:step}
.step{border-top:3px solid var(--lime);padding-top:22px}
.step span{color:#5c9c3f;font-weight:800;font-size:.9rem}
.step h3{margin:10px 0 8px;font-size:1.22rem}
.step p{margin:0;color:#52695b}

.split{display:grid;grid-template-columns:1fr 1fr;gap:min(8vw,110px);align-items:start}
.split h2{font-size:clamp(2.1rem,3.1vw,3.4rem);line-height:1.08;letter-spacing:-.045em;margin:0 0 18px}
.split p{font-size:1.1rem;color:#425b4d;line-height:1.65;margin:0 0 16px}
.tick-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.tick-list li{padding:15px 0 15px 30px;border-bottom:1px solid var(--line);position:relative;font-weight:600}
.tick-list li::before{content:"";position:absolute;left:2px;top:21px;width:9px;height:9px;border-radius:50%;background:var(--lime)}

.faq{max-width:900px}
.faq details{border-bottom:1px solid var(--line);padding:4px 0}
.faq summary{cursor:pointer;list-style:none;font-weight:700;font-size:1.1rem;padding:18px 40px 18px 0;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:14px;font-size:1.5rem;color:#5c9c3f;font-weight:400}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0 0 20px;color:#425b4d;line-height:1.6;max-width:780px}

.nudge{background:var(--forest);color:#fff;border-radius:14px;padding:44px 48px;display:flex;justify-content:space-between;align-items:center;gap:30px}
.nudge h2{font-size:clamp(1.6rem,2.3vw,2.3rem);letter-spacing:-.03em;line-height:1.15;margin:0 0 8px}
.nudge p{margin:0;color:#c7d7ca;max-width:640px}
.nudge .button{flex:none}

.single-review{max-width:900px}
.prose{max-width:820px}
.prose h2{font-size:1.6rem;letter-spacing:-.02em;margin:40px 0 12px}
.prose p,.prose li{color:#33493d;line-height:1.7}
.form-status{grid-column:1/-1;margin:0;font-weight:700}
.form-status.ok{color:#2f7a2a}
.form-status.err{color:#b3261e}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

@media(max-width:1100px){.card-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.page-hero-inner,.split{grid-template-columns:1fr;gap:34px;padding-block:50px}.split{padding-block:0}.card-grid,.card-grid.two,.steps{grid-template-columns:1fr}.block{padding-block:64px}.nudge{flex-direction:column;align-items:start;padding:32px 26px}}
/* Login to the job app */
.header-login{display:flex;align-items:center;gap:7px;flex:none;font-weight:700;font-size:.88rem;text-decoration:none;color:var(--forest);border:1.5px solid var(--forest);border-radius:6px;padding:11px 14px;white-space:nowrap}
.header-login:hover{background:var(--forest);color:#fff}
.primary-nav .nav-login{display:none}
@media(min-width:901px) and (max-width:1380px){.header-login{padding:9px 11px;font-size:.8rem}.header-cta{padding:10px 12px;font-size:.82rem}}
@media(max-width:1180px){.header-login{display:none}.primary-nav .nav-login{display:block;font-weight:800;color:var(--forest)}}
