/* ════════════════════════════════════════════════════════════════
   Partner page — page hero w/ floating stat cards, why-partner grid,
   who-we-partner-with grid, partnership-model swimlanes, social proof,
   enquiry form, final CTA.
   ════════════════════════════════════════════════════════════════ */

/* ── PAGE HERO ───────────────────────────────── */
.page-hero{
  padding:80px 0 0;position:relative;overflow:hidden;
  background-image:var(--page-hero-image, none);
  background-size:cover;background-position:center 35%;
}
.page-hero.no-image{background:linear-gradient(135deg,#0c1a2e 0%,var(--navy) 60%,#254f7a 100%);}
.page-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,rgba(8,18,34,.88) 0%,rgba(20,40,70,.72) 100%);z-index:0;}
.page-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;padding-bottom:0;}
.page-hero-text{padding-bottom:80px;}
.page-hero h1{font-family:'Montserrat',sans-serif;font-size:clamp(34px,5vw,64px);font-weight:900;color:#fff;line-height:1.05;letter-spacing:-.025em;margin-top:18px;}
.page-hero p{margin-top:20px;font-size:17px;color:rgba(255,255,255,.78);max-width:520px;line-height:1.65;}
.page-hero-actions{margin-top:32px;display:flex;gap:14px;flex-wrap:wrap;align-items:center;}

/* stat cards float at bottom of hero */
.hero-stat-strip{display:flex;flex-direction:column;gap:16px;padding-bottom:40px;justify-content:flex-end;}
.hero-stat-card{
  background:rgba(255,255,255,.09);backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.18);border-radius:var(--r-lg);padding:20px 24px;
}
.hsc-label{font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-lt);margin-bottom:5px;}
.hsc-val{font-family:'Montserrat',sans-serif;font-size:22px;font-weight:900;color:#fff;line-height:1;}
.hsc-sub{font-size:13px;color:rgba(255,255,255,.6);margin-top:4px;}

/* ── WHY PARTNER ─────────────────────────────── */
.why-partner{padding:100px 0;background:var(--white);}
.why-partner h2{font-family:'Montserrat',sans-serif;font-size:clamp(28px,3.5vw,46px);font-weight:900;color:var(--navy);letter-spacing:-.025em;line-height:1.1;margin-top:14px;max-width:600px;}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px;}
.why-card{border:1px solid var(--line);border-radius:var(--r-lg);padding:32px 28px;transition:box-shadow .2s,border-color .2s,transform .2s;}
.why-card:hover{box-shadow:var(--sh-lg);border-color:rgba(58,124,166,.25);transform:translateY(-3px);}
.why-icon{width:52px;height:52px;border-radius:var(--r);background:var(--blue-pale);display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.why-icon svg{width:26px;height:26px;color:var(--blue);}
.why-title{font-family:'Montserrat',sans-serif;font-size:18px;font-weight:800;color:var(--navy);margin-bottom:10px;}
.why-desc{font-size:15px;color:var(--ink-soft);line-height:1.65;}

/* ── WHO WE PARTNER WITH ─────────────────────── */
.who-section{padding:100px 0;background:var(--paper);}
.who-section h2{font-family:'Montserrat',sans-serif;font-size:clamp(28px,3.5vw,46px);font-weight:900;color:var(--navy);letter-spacing:-.025em;line-height:1.1;margin-top:14px;margin-bottom:16px;}
.who-section p.intro{max-width:580px;color:var(--ink-soft);font-size:16px;line-height:1.7;margin-bottom:56px;}
.who-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.who-card{
  display:flex;align-items:flex-start;gap:18px;background:var(--white);
  border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 24px;
  transition:box-shadow .2s,border-color .2s;
}
.who-card:hover{box-shadow:var(--sh);border-color:rgba(58,124,166,.2);}
.who-card-icon{width:48px;height:48px;border-radius:var(--r);flex-shrink:0;background:var(--navy);display:flex;align-items:center;justify-content:center;}
.who-card-icon svg{width:24px;height:24px;color:#fff;}
.who-card-text h3{font-family:'Montserrat',sans-serif;font-size:16px;font-weight:800;color:var(--navy);margin-bottom:6px;}
.who-card-text p{font-size:14.5px;color:var(--ink-soft);line-height:1.6;}

/* ── PARTNERSHIP MODELS (signature element) ──── */
.models-section{padding:100px 0;background:var(--white);}
.models-section h2{font-family:'Montserrat',sans-serif;font-size:clamp(28px,3.5vw,46px);font-weight:900;color:var(--navy);letter-spacing:-.025em;line-height:1.1;margin-top:14px;margin-bottom:56px;}
.model-tracks{display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;}
.model-track{
  display:grid;grid-template-columns:260px 1fr auto;align-items:center;gap:0;
  border-bottom:1px solid var(--line);transition:background .2s;cursor:default;
}
.model-track:last-child{border-bottom:none;}
.model-track:hover{background:var(--blue-pale);}
.model-track-label{display:flex;flex-direction:column;gap:6px;padding:32px 32px;border-right:1px solid var(--line);position:relative;}

/* coloured accent bar on left edge, driven by --track-accent custom property */
.model-track-label::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--track-accent, var(--blue));}

.track-badge{
  display:inline-block;font-family:'Montserrat',sans-serif;font-size:10px;font-weight:800;
  letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:50px;width:fit-content;
}
.badge-green{background:rgba(46,158,91,.12);color:var(--green-dk);}
.badge-blue{background:rgba(58,124,166,.12);color:var(--blue);}
.badge-navy{background:rgba(31,59,95,.1);color:var(--navy);}
.model-name{font-family:'Montserrat',sans-serif;font-size:19px;font-weight:900;color:var(--navy);}
.model-hook{font-size:13.5px;color:var(--ink-soft);margin-top:4px;}
.model-details{padding:32px 40px;}
.model-detail-list{display:grid;grid-template-columns:1fr 1fr;gap:12px 32px;}
.model-detail-item{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;color:var(--charcoal);}
.model-detail-item svg{width:16px;height:16px;color:var(--blue);flex-shrink:0;margin-top:2px;}
.model-cta{padding:32px 32px;border-left:1px solid var(--line);}
.model-cta .btn{white-space:nowrap;}

/* ── SOCIAL PROOF ─────────────────────────────── */
.partner-proof{padding:80px 0;background:var(--paper);}
.proof-inner{max-width:680px;margin:0 auto;text-align:center;}
.proof-inner .quote-mark{font-family:'Montserrat',sans-serif;font-size:80px;line-height:.7;color:var(--blue);opacity:.2;display:block;margin-bottom:16px;}
.proof-inner blockquote{font-family:'Montserrat',sans-serif;font-size:clamp(18px,2vw,24px);font-weight:700;color:var(--navy);line-height:1.5;font-style:italic;}
.proof-inner cite{display:block;margin-top:24px;font-size:14px;color:var(--ink-soft);font-style:normal;}
.proof-inner cite strong{color:var(--navy);font-weight:700;}

/* ── FORM SECTION ─────────────────────────────── */
.partner-form-section{padding:100px 0;background:var(--white);}
.partner-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
.form-intro h2{font-family:'Montserrat',sans-serif;font-size:clamp(26px,3vw,40px);font-weight:900;color:var(--navy);letter-spacing:-.02em;line-height:1.1;margin-top:14px;margin-bottom:20px;}
.form-intro p{color:var(--ink-soft);font-size:15.5px;line-height:1.7;margin-bottom:28px;}
.form-trust{display:flex;flex-direction:column;gap:14px;}
.form-trust-item{display:flex;align-items:center;gap:12px;font-size:14.5px;color:var(--charcoal);}
.form-trust-item svg{width:18px;height:18px;color:var(--blue);flex-shrink:0;}

/* form card */
.form-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:36px 32px;}
.form-card h3{font-family:'Montserrat',sans-serif;font-size:18px;font-weight:800;color:var(--navy);margin-bottom:24px;}
.form-group{margin-bottom:20px;}
.form-group label{display:block;font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:7px;}
.form-group label span{color:#E53E3E;}
.form-group input,.form-group select,.form-group textarea{
  width:100%;font-family:'Open Sans',sans-serif;font-size:15px;
  padding:12px 14px;border:1.5px solid var(--line);border-radius:var(--r);
  background:var(--white);color:var(--ink);
  transition:border-color .15s,box-shadow .15s;outline:none;
  -webkit-appearance:none;appearance:none;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(58,124,166,.12);}
.form-group textarea{min-height:100px;resize:vertical;}
.form-group select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%234A5568' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-submit{width:100%;justify-content:center;padding:15px;font-size:15px;border-radius:var(--r);margin-top:8px;}
.form-microcopy{text-align:center;font-size:12.5px;color:var(--ink-soft);margin-top:12px;}
.form-error{font-size:12.5px;color:#E53E3E;margin-top:6px;}

/* form-card swapped to its success state via a body class toggled by JS,
   or rendered directly if the controller flashed partnerEnquirySubmitted */
.form-card.is-submitted .form-card-fields{display:none;}
.partner-success-state{display:none;text-align:center;padding:32px 0;}
.form-card.is-submitted .partner-success-state{display:block;}
.partner-success-state svg{width:48px;height:48px;color:var(--green);margin:0 auto 16px;}
.partner-success-title{font-family:'Montserrat',sans-serif;font-size:18px;font-weight:800;color:var(--navy);margin-bottom:8px;}
.partner-success-text{color:var(--ink-soft);font-size:15px;line-height:1.6;}

/* ── FINAL CTA ───────────────────────────────── */
.final-cta{background:var(--navy);padding:100px 0;text-align:center;position:relative;overflow:hidden;}
.final-cta::before{content:'';position:absolute;top:-200px;left:50%;transform:translateX(-50%);width:800px;height:800px;border-radius:50%;background:radial-gradient(circle,rgba(58,124,166,.18) 0%,transparent 70%);pointer-events:none;}
.final-cta-inner{position:relative;z-index:1;}
.final-cta h2{font-family:'Montserrat',sans-serif;font-size:clamp(28px,4vw,52px);font-weight:900;color:#fff;letter-spacing:-.025em;line-height:1.1;margin-top:14px;margin-bottom:16px;}
.final-cta p{color:rgba(255,255,255,.75);font-size:17px;margin-bottom:36px;max-width:460px;margin-left:auto;margin-right:auto;line-height:1.65;}
.final-cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ── RESPONSIVE ──────────────────────────────── */
@media(max-width:1024px){
  .page-hero-inner{grid-template-columns:1fr;}
  .hero-stat-strip{flex-direction:row;flex-wrap:wrap;}
  .hero-stat-card{flex:1;min-width:180px;}
  .why-grid{grid-template-columns:1fr 1fr;}
  .model-track{grid-template-columns:200px 1fr;}
  .model-cta{display:none;}
  .partner-form-grid{grid-template-columns:1fr;gap:48px;}
}
@media(max-width:768px){
  .why-grid{grid-template-columns:1fr;}
  .who-grid{grid-template-columns:1fr;}
  .model-track{grid-template-columns:1fr;}
  .model-track-label{border-right:none;border-bottom:1px solid var(--line);}
  .model-details{padding:24px 24px;}
  .model-detail-list{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .page-hero{padding:60px 0 0;}
  .page-hero-text{padding-bottom:48px;}
}
