/* 3DPreneur 200 recruitment campaign */
.campaign-page { background: var(--paper, #f7f8f4); }
.campaign-page .nav { max-width: 1220px; }
.campaign-hero { padding: 9.75rem 0 5.5rem; overflow: hidden; position: relative; }
.campaign-hero::before { content: ""; position: absolute; width: 1px; height: 82%; top: 7rem; left: calc(50% - 570px); background: #d7e6dc; }
.campaign-hero::after { content: ""; position: absolute; width: 10px; height: 10px; top: 10.5rem; left: calc(50% - 574px); border-radius: 50%; background: var(--green, #13b866); box-shadow: 0 0 0 7px #f7f8f4; }
.campaign-hero-grid, .principle-layout, .readiness-layout, .campaign-cta-layout { display: grid; grid-template-columns: minmax(0, 1.03fr) minmax(390px, .97fr); gap: clamp(2.5rem, 6vw, 7rem); align-items: center; }
.campaign-hero-copy { position: relative; z-index: 1; padding-left: 3rem; }
.campaign-chip { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .55rem; margin: 1.5rem 0 1.6rem; padding: .5rem .82rem; border: 1px solid #a9ddc1; color: #147144; font-size: .76rem; letter-spacing: .01em; background: #f5fff8; }
.campaign-chip strong { color: #0d7e46; }
.campaign-hero h1 { max-width: 680px; margin: 0; color: #13231b; font-size: clamp(3.05rem, 5.35vw, 5.7rem); line-height: .98; letter-spacing: -.072em; }
.campaign-hero h1 em { color: var(--green, #13b866); font-style: normal; }
.campaign-lead { max-width: 650px; margin: 1.7rem 0 1.9rem; font-size: 1.11rem; line-height: 1.65; color: #405349; }
.campaign-hero-actions { display: flex; flex-wrap: wrap; gap: .7rem; }
.campaign-hero-note { max-width: 630px; margin: 1.4rem 0 0; padding-left: 1rem; border-left: 3px solid var(--green, #13b866); color: #59695f; font-size: .83rem; line-height: 1.55; }
.campaign-hero-media { position: relative; min-height: 530px; background: #e8f8ed; }
.campaign-hero-media img { width: 100%; height: 530px; object-fit: cover; display: block; }
.campaign-media-badge { position: absolute; top: 1.2rem; left: 1.2rem; display: inline-flex; align-items: center; gap: .5rem; padding: .55rem .7rem; background: #13231b; color: white; font-size: .67rem; letter-spacing: .12em; font-weight: 700; }
.campaign-count-card { position: absolute; right: -1.1rem; bottom: 1.5rem; display: grid; gap: .15rem; padding: 1.15rem 1.35rem; min-width: 198px; background: var(--green, #13b866); color: #092719; }
.campaign-count-card b { font: 800 1.75rem/1 "Plus Jakarta Sans", sans-serif; letter-spacing: -.06em; }
.campaign-count-card span { font-size: .71rem; line-height: 1.45; text-transform: uppercase; letter-spacing: .1em; }
.principle-layout { align-items: start; }
.principle-statement h2, .readiness-copy h2, .faq-intro h2 { margin: .65rem 0 0; color: #13231b; font-size: clamp(2.35rem, 4vw, 4rem); line-height: 1.04; letter-spacing: -.06em; }
.principle-statement h2 span, .readiness-copy h2 span, .faq-intro h2 span { color: var(--green, #13b866); }
.principle-copy { padding-top: .7rem; }
.principle-copy .lead { margin: 0; color: #405349; font-size: 1.16rem; line-height: 1.65; }
.principle-rule { margin-top: 1.5rem; padding: 1rem 1.1rem; background: #eaf8ee; border-left: 3px solid var(--green, #13b866); color: #1e5635; font-size: .91rem; line-height: 1.5; }
.print-gallery { background: #f0f7f1; }
.print-gallery-grid { display: grid; grid-template-columns: 1.35fr .82fr .82fr; gap: 1rem; margin-top: 3rem; }
.print-gallery-grid figure { position: relative; min-height: 330px; margin: 0; overflow: hidden; background: #d9e9dc; }
.print-gallery-grid figure img { display: block; width: 100%; height: 100%; min-height: 330px; object-fit: cover; transition: transform .6s ease; }
.print-gallery-grid figure:hover img { transform: scale(1.035); }
.print-gallery-grid figure::after { content: ""; position: absolute; inset: 42% 0 0; background: linear-gradient(transparent, rgba(10, 26, 17, .78)); pointer-events: none; }
.print-gallery-grid figcaption { position: absolute; right: 1rem; bottom: 1rem; left: 1rem; z-index: 1; display: grid; gap: .28rem; color: #fff; }
.print-gallery-grid figcaption b { color: #9af0b9; font-size: .68rem; letter-spacing: .14em; }
.print-gallery-grid figcaption span { font-size: .9rem; line-height: 1.35; }
.print-gallery-feature { min-height: 420px !important; }
.print-gallery-feature img { min-height: 420px !important; }
.candidate-fit { background: #13231b; color: white; }
.candidate-fit .section-header h2, .candidate-fit .section-header .lead { color: white; }
.candidate-fit .section-header .lead { opacity: .76; }
.candidate-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 3rem; background: #395046; border: 1px solid #395046; }
.candidate-grid article { min-height: 225px; padding: 1.55rem 1.35rem; background: #1d3026; }
.candidate-grid span { color: var(--green, #13b866); font-size: .75rem; font-weight: 800; letter-spacing: .13em; }
.candidate-grid h3 { margin: .85rem 0 .65rem; color: white; font-size: 1.3rem; }
.candidate-grid p { margin: 0; color: #c9d6ce; font-size: .92rem; line-height: 1.6; }
.fit-split { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 1px; background: #395046; }
.fit-split > div { padding: 1.15rem 1.35rem; }
.fit-good { background: #0f6f41; }.fit-not { background: #24342b; }
.fit-split b { display: block; margin-bottom: .45rem; font-size: .7rem; letter-spacing: .13em; }.fit-split p { margin: 0; color: white; font-size: .9rem; line-height: 1.5; }
.campaign-engine { background: #eef8f1; }
.channel-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1rem; margin-top: 3rem; }
.channel-grid article { min-height: 286px; padding: 1.35rem 1.1rem; background: #fff; border-top: 3px solid #b9e8cb; display: flex; flex-direction: column; }
.channel-grid span { color: var(--green, #13b866); font-weight: 800; font-size: .72rem; letter-spacing: .12em; }.channel-grid h3 { margin: .9rem 0 .7rem; color: #13231b; font-size: 1.15rem; line-height: 1.18; }.channel-grid p { margin: 0; color: #52635a; font-size: .88rem; line-height: 1.55; }.channel-grid small { margin-top: auto; padding-top: 1rem; color: #16834a; font-size: .69rem; font-weight: 700; text-transform: uppercase; letter-spacing: .075em; }
.recruitment-funnel { overflow: hidden; }
.recruitment-steps { display: grid; grid-template-columns: repeat(6, 1fr); gap: 0; margin: 3rem 0 1rem; padding: 0; list-style: none; border-top: 1px solid #c9d8ce; }
.recruitment-steps li { position: relative; padding: 2rem 1rem 1rem 0; min-height: 218px; border-left: 1px solid #c9d8ce; }
.recruitment-steps li:first-child { border-left: none; }.recruitment-steps li::before { content: ""; position: absolute; top: -6px; left: -5px; width: 11px; height: 11px; border-radius: 50%; background: var(--green, #13b866); }.recruitment-steps li:first-child::before { left: 0; }
.recruitment-steps b { display: block; color: var(--green, #13b866); font-size: .72rem; letter-spacing: .13em; }.recruitment-steps h3 { margin: .7rem 0 .55rem; color: #13231b; font-size: 1.08rem; }.recruitment-steps p { margin: 0; color: #59695f; font-size: .84rem; line-height: 1.52; }
.funnel-note { max-width: 720px; margin: 0; color: #6e7c74; font-size: .82rem; line-height: 1.55; }
.campaign-calendar { background: #13231b; }.campaign-calendar .section-header h2, .campaign-calendar .section-header .lead { color: white; }.campaign-calendar .section-header .lead { color: #c6d7cd; }
.calendar-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 3rem; background: #40554a; }.calendar-grid article { padding: 1.5rem; background: #1f3128; min-height: 255px; }.calendar-grid article:nth-child(2) { background: #0f7444; }.calendar-grid p { margin: 0; color: var(--green, #13b866); font-size: .72rem; letter-spacing: .13em; font-weight: 800; }.calendar-grid article:nth-child(2) p { color: #d3ffe3; }.calendar-grid h3 { margin: .9rem 0 .85rem; color: white; font-size: 1.45rem; }.calendar-grid ul { margin: 0; padding-left: 1.05rem; color: #d4e3da; font-size: .87rem; line-height: 1.68; }
.readiness-layout { align-items: start; }.readiness-copy { position: sticky; top: 8rem; }.readiness-copy .lead { margin: 1.15rem 0 1.25rem; color: #405349; font-size: 1.08rem; line-height: 1.62; }.readiness-disclosure { max-width: 485px; padding: 1rem; background: #f0f6f1; border-left: 3px solid #8dd9aa; color: #607167; font-size: .82rem; line-height: 1.58; }
.readiness-panel { padding: 1.5rem; background: #13231b; }.readiness-form { display: grid; gap: .95rem; }.readiness-form label { display: grid; gap: .4rem; color: #dbe8df; font-weight: 600; font-size: .86rem; }.readiness-form select { width: 100%; padding: .83rem .9rem; border: 1px solid #3c5547; border-radius: 0; background: #21362b; color: white; font: inherit; font-weight: 400; }.readiness-form select:focus { outline: 2px solid var(--green, #13b866); outline-offset: 2px; }.readiness-form .button { justify-content: center; margin-top: .45rem; }.readiness-result { margin-top: .8rem; padding: 1.2rem; border: 1px solid #3d5b4b; color: #dcebe1; background: #1c2d24; font-size: .93rem; line-height: 1.58; }.readiness-result strong { display: block; margin-bottom: .35rem; color: #6ee49c; font-size: 1.05rem; }.readiness-result small { display: block; margin-top: .7rem; color: #aec1b5; font-size: .76rem; }
.faq-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 6vw; align-items: start; }.faq-list { border-top: 1px solid #d0ddd4; }.faq-list details { border-bottom: 1px solid #d0ddd4; }.faq-list summary { padding: 1.2rem 2rem 1.2rem 0; color: #13231b; cursor: pointer; font: 700 1rem/1.35 "Plus Jakarta Sans", sans-serif; list-style: none; position: relative; }.faq-list summary::after { content: "+"; position: absolute; right: .15rem; top: 1.02rem; color: var(--green, #13b866); font: 500 1.5rem/1 Inter, sans-serif; }.faq-list details[open] summary::after { content: "−"; }.faq-list p { margin: 0 1.8rem 1.3rem 0; color: #59695f; font-size: .92rem; line-height: 1.65; }
.campaign-cta { background: #0f7444; color: white; }.campaign-cta-layout { align-items: center; }.campaign-cta h2 { margin: .65rem 0 1rem; color: white; font-size: clamp(2.3rem, 4vw, 4.35rem); line-height: 1.03; letter-spacing: -.06em; }.campaign-cta h2 span { color: #bef5d1; }.campaign-cta p { max-width: 650px; color: #dcfae6; font-size: 1.03rem; line-height: 1.6; }.campaign-cta-note { padding: 1.35rem; background: #13231b; }.campaign-cta-note strong { color: #79e7a5; font-size: .77rem; letter-spacing: .12em; text-transform: uppercase; }.campaign-cta-note p { margin: .75rem 0 1rem; color: #d5e7db; font-size: .9rem; }.campaign-cta-note a { color: #79e7a5; font-size: .89rem; font-weight: 700; }
@media (max-width: 980px) { .campaign-hero::before, .campaign-hero::after { display: none; }.campaign-hero-copy { padding-left: 0; }.campaign-hero-grid, .principle-layout, .readiness-layout, .campaign-cta-layout, .faq-layout { grid-template-columns: 1fr; }.campaign-hero-media { max-width: 700px; }.print-gallery-grid { grid-template-columns: 1fr 1fr; }.print-gallery-feature { grid-column: 1 / -1; }.candidate-grid { grid-template-columns: repeat(2, 1fr); }.channel-grid { grid-template-columns: repeat(3, 1fr); }.channel-grid article { min-height: 235px; }.recruitment-steps { grid-template-columns: repeat(3, 1fr); }.recruitment-steps li:nth-child(4) { border-left: none; }.readiness-copy { position: static; }.faq-intro { max-width: 620px; } }
@media (max-width: 660px) { .campaign-hero { padding: 7.5rem 0 3.5rem; }.campaign-hero h1 { font-size: clamp(2.75rem, 14vw, 4rem); }.campaign-hero-media, .campaign-hero-media img { min-height: 380px; height: 380px; }.campaign-count-card { right: .8rem; bottom: 1rem; }.print-gallery-grid { grid-template-columns: 1fr; }.print-gallery-feature { grid-column: auto; }.print-gallery-grid figure, .print-gallery-feature, .print-gallery-grid figure img, .print-gallery-feature img { min-height: 290px !important; height: 290px; }.candidate-grid, .channel-grid, .calendar-grid, .fit-split { grid-template-columns: 1fr; }.candidate-grid article { min-height: auto; }.channel-grid { gap: .8rem; }.channel-grid article { min-height: auto; }.recruitment-steps { grid-template-columns: 1fr; gap: 0; border-left: 1px solid #c9d8ce; margin-left: .3rem; }.recruitment-steps li, .recruitment-steps li:nth-child(4) { min-height: auto; padding: 1rem 1rem 1rem 1.25rem; border-left: none; border-bottom: 1px solid #dce8df; }.recruitment-steps li::before, .recruitment-steps li:first-child::before { left: -6px; top: 1.25rem; }.calendar-grid article { min-height: auto; }.campaign-hero-actions .button { width: 100%; justify-content: center; }.campaign-cta-note { margin-top: .7rem; }.campaign-chip { font-size: .68rem; }.campaign-hero-note { font-size: .78rem; } }
