/* join.css — page-specific styles. Shared chrome (colours, nav, footer,
   fonts, buttons, animations) lives in site.css. */

/* NAV */
  .nav{position:fixed;top:0;left:0;right:0;z-index:40;background:rgba(251,253,251,.78);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
/* PAGE HERO */
  .phero{position:relative;padding:150px 0 64px;overflow:hidden;background:#ffffff}
.phero .b{position:absolute;border-radius:50%;filter:blur(8px);z-index:0}
.phero .b1{width:340px;height:340px;background:radial-gradient(circle,rgba(255,210,74,.5),transparent 65%);top:-80px;right:-40px}
.phero .b2{width:300px;height:300px;background:radial-gradient(circle,rgba(124,198,232,.3),transparent 65%);bottom:-120px;left:-60px}
.phero .wrap{position:relative;z-index:1}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-display);font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--green)}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--yellow-deep);border-radius:2px}
.phero h1{font-size:clamp(2.3rem,5.4vw,3.7rem);line-height:1.08;color:var(--green-darker);font-weight:700;margin:16px 0 16px;max-width:17ch}
.phero p{color:var(--muted);font-size:1.08rem;line-height:1.7;max-width:60ch}
.phero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.btn-pri{display:inline-flex;align-items:center;gap:10px;background:var(--green);color:#fff;font-weight:700;padding:14px 28px;border-radius:999px;font-size:1rem;box-shadow:0 18px 36px -18px rgba(34,101,80,.9);transition:transform .25s}
.btn-pri:hover{transform:translateY(-2px)}
.btn-pri svg,.btn-ghost svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.btn-ghost{display:inline-flex;align-items:center;gap:9px;background:#fff;color:var(--green-darker);font-weight:600;padding:14px 24px;border-radius:999px;font-size:1rem;border:1px solid var(--line)}
.phero-stats{display:flex;gap:38px;flex-wrap:wrap;margin-top:36px}
.phero-stats .st b{display:block;font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--green-darker);line-height:1}
.phero-stats .st span{font-size:.84rem;color:var(--muted);font-weight:500}
.phero-stats .st b .u{color:var(--yellow-deep)}
.pad{padding:64px 0;position:relative;z-index:1}
.sec-head{text-align:center;max-width:62ch;margin:0 auto 44px}
.sec-head h2{font-size:clamp(1.7rem,3.6vw,2.5rem);color:var(--green-darker);font-weight:700;line-height:1.12;margin-bottom:12px}
.sec-head p{color:var(--muted);line-height:1.7}
/* WHY cards */
  .why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.wcard{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px 22px;box-shadow:0 30px 60px -50px rgba(18,46,35,.5);opacity:0;transform:translateY(24px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.wcard.in{opacity:1;transform:none}
.w-ico{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;margin-bottom:16px;background:color-mix(in srgb,var(--c) 15%,#fff)}
.w-ico svg{width:25px;height:25px;stroke:var(--c);fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.wcard h3{font-size:1.05rem;color:var(--green-darker);margin-bottom:8px}
.wcard p{font-size:.9rem;color:var(--muted);line-height:1.6}
/* TRACKS */
  .tracks{background:linear-gradient(180deg,#eef7f1,#f7fcf9);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.track-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.tcard{position:relative;background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px 24px;overflow:hidden;box-shadow:0 30px 60px -50px rgba(18,46,35,.45);opacity:0;transform:translateY(24px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.tcard.in{opacity:1;transform:none}
.tcard::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--c)}
.t-top{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.t-ico{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--c) 16%,#fff)}
.t-ico svg{width:24px;height:24px;color:var(--c);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.tcard h3{font-size:1.1rem;color:var(--green-darker)}
.t-mode{font-size:.74rem;font-weight:700;color:var(--c);text-transform:uppercase;letter-spacing:.06em}
.tcard p{font-size:.9rem;color:var(--muted);line-height:1.62;margin-bottom:14px}
.t-skills{display:flex;flex-wrap:wrap;gap:7px}
.t-skills span{font-size:.72rem;font-weight:600;color:var(--green-darker);background:var(--cream);border:1px solid var(--line);border-radius:999px;padding:5px 11px}
/* STEPS */
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:step}
.step{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px 22px 24px;opacity:0;transform:translateY(24px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.step.in{opacity:1;transform:none}
.step::before{counter-increment:step;content:counter(step);position:absolute;top:-18px;left:22px;width:42px;height:42px;border-radius:13px;background:var(--green);color:#fff;font-family:var(--font-display);font-weight:700;font-size:1.2rem;display:grid;place-items:center;box-shadow:0 14px 26px -12px rgba(34,101,80,.8)}
.step:nth-child(2)::before{background:var(--yellow-deep)}
.step:nth-child(3)::before{background:#2f88bc}
.step:nth-child(4)::before{background:#7d6bc4}
.step h3{font-size:1.02rem;color:var(--green-darker);margin:10px 0 8px}
.step p{font-size:.88rem;color:var(--muted);line-height:1.6}
/* APPLY FORM */
  .apply{padding:20px 0 80px;scroll-margin-top:92px}
.enq-card{display:grid;grid-template-columns:.85fr 1.15fr;background:#fff;border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:0 50px 90px -56px rgba(18,46,35,.6)}
.enq-info{position:relative;padding:44px 38px;background:linear-gradient(160deg,var(--green-deep),var(--green));color:#fff;overflow:hidden}
.enq-info::after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(255,210,74,.34),transparent 65%);bottom:-110px;right:-60px}
.enq-info .eyebrow{color:#ffe9a8}
.enq-info .eyebrow::before{background:var(--yellow)}
.enq-info h2{position:relative;z-index:1;font-size:1.7rem;margin:14px 0 16px;line-height:1.18}
.enq-points{position:relative;z-index:1;list-style:none;display:flex;flex-direction:column;gap:14px;margin-top:22px}
.enq-points li{display:flex;gap:12px;font-size:.95rem;color:rgba(255,255,255,.92);line-height:1.5}
.enq-points svg{flex:none;width:22px;height:22px;stroke:var(--yellow);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;margin-top:1px}
.enq-form{padding:42px 38px}
.enq-form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin-bottom:16px}
.field label{display:block;font-size:.85rem;font-weight:600;color:var(--ink);margin-bottom:7px}
.field input,.field select,.field textarea{width:100%;font-family:inherit;font-size:.95rem;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(44,128,103,.14)}
.field textarea{resize:vertical;min-height:110px}
.enq-btn{width:100%;border:0;cursor:pointer;background:var(--green);color:#fff;font-family:inherit;font-weight:700;font-size:1rem;padding:15px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 18px 36px -18px rgba(34,101,80,.9);transition:transform .2s}
.enq-btn:hover{transform:translateY(-2px)}
.enq-btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.enq-note{font-size:.78rem;color:var(--muted);margin-top:14px;line-height:1.5}
/* CTA + FOOTER */
  .ctaband{margin:10px 0 80px}
.ctaband .inner{position:relative;overflow:hidden;border-radius:30px;padding:54px 48px;text-align:center;background:linear-gradient(135deg,var(--green-deep),var(--green));box-shadow:0 50px 90px -50px rgba(18,46,35,.7)}
.ctaband .inner::before{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(255,210,74,.4),transparent 65%);top:-100px;right:-40px}
.ctaband h2{position:relative;z-index:1;color:#fff;font-size:clamp(1.7rem,3.6vw,2.5rem);font-weight:700;margin-bottom:12px}
.ctaband h2 .serif{color:var(--yellow)}
.ctaband p{position:relative;z-index:1;color:rgba(255,255,255,.86);max-width:54ch;margin:0 auto 26px;line-height:1.6}
.ctaband .btn{position:relative;z-index:1;display:inline-flex;align-items:center;gap:10px;background:var(--btn-yellow);color:var(--green-darker);font-weight:700;padding:15px 30px;border-radius:999px;font-size:1rem;box-shadow:0 18px 36px -16px rgba(0,0,0,.4)}
.ctaband .btn svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:980px){
.why-grid{grid-template-columns:1fr 1fr}
.track-grid{grid-template-columns:1fr 1fr}
.steps{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
.enq-card{grid-template-columns:1fr}
}
@media(max-width:560px){
.why-grid,.track-grid,.steps,.foot-grid{grid-template-columns:1fr}
.enq-form .row{grid-template-columns:1fr}
.phero-stats{gap:24px}
}
@media(prefers-reduced-motion:reduce){
.wcard,.tcard,.step{opacity:1;transform:none}
}
