@import url('https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600;700&display=swap');

/* ============================================================
   VENTURESHIP — redesign preview stylesheet
   New direction: cream base, royal blue #1A55CF, violet #4361EE,
   Instrument Sans, sharp corners, hairline dividers.
   Loaded LAST so it re-skins the existing pages, and it also
   fully styles the rebuilt homepage (the .rd-* sections).
   ============================================================ */

:root{
  --cream:#F5F1E8;
  --ink:#0A1628;
  --navy:#1A55CF;
  --violet:#4361EE;
  --azure:#EBF3FB;
  --dark:#091220;
  --sand:#E3DDD0;
  --white:#FFFFFF;
  --font:'Instrument Sans', -apple-system, "Helvetica Neue", Arial, sans-serif;
}

/* ---- remap the legacy design tokens to the new palette so every
   existing page adopts the new colours automatically ---- */
:root{
  --paper:#F5F1E8;      --paper-soft:#FFFFFF;   --paper-deep:#EFE9DC;
  --paper-mute:#E3DDD0; --line:#E3DDD0;
  --ink-body:#0A1628;   --ink-soft:#45506A;     --ink-muted:#8A93A6;
  --mint:#4361EE;       --mint-bg:#E7EBFF;       --mint-text:#4361EE;
  --chip-text:#4361EE;  --sunrise:#4361EE;
  --cream-on-ink:#FFFFFF; --cream-on-ink-soft:rgba(255,255,255,0.62);
}
/* NOTE: --ink stays near-black #0A1628 for text; dark section backgrounds are
   set to royal blue explicitly via the .section--ink override below. */

/* ============ GLOBAL BASE / RE-THEME (all pages) ============ */
*,*::before,*::after{ box-sizing:border-box; border-radius:0 !important; }
html{ scroll-behavior:smooth; }
body{
  font-family:var(--font) !important;
  background:var(--cream) !important;
  color:var(--ink) !important;
  letter-spacing:-0.01em;
  -webkit-font-smoothing:antialiased;
}
/* neutralise the old hidden custom cursor for the preview */
.cursor{ display:none !important; }
body, body *{ cursor:auto !important; }

h1,h2,h3,h4,h5,.h1,.h2,.h3,.h4{ font-family:var(--font) !important; color:var(--ink); font-weight:700 !important; letter-spacing:-0.035em; line-height:1.06; }
p,li,a,span,label,input,select,textarea,button,.lead,.eyebrow{ font-family:var(--font) !important; }
a{ color:var(--violet); }
/* every yellow accent carries a soft shadow like the hero word */
.rd-step__n{ text-shadow:0 6px 20px rgba(10,22,40,0.38); }

/* dark sections -> royal blue, talent-coded sections -> violet */
.section--ink{ background:var(--navy) !important; color:var(--white) !important; }
#for-students.section--ink, #for-talent.section--ink{ background:var(--violet) !important; }
.section--ink .h1,.section--ink .h2,.section--ink .h3,
.section--ink h1,.section--ink h2,.section--ink h3,
.section--ink p,.section--ink li,.section--ink .lead{ color:var(--white) !important; }
.section--paper-deep{ background:var(--paper-deep) !important; }

/* eyebrows / ornaments */
.eyebrow,.section-ornament,.aspirational__eyebrow,.hero-ornament,.uni-strip__label{
  color:var(--violet) !important; text-transform:uppercase; letter-spacing:0.18em;
}
.section--ink .section-ornament,.section--ink .eyebrow{ color:rgba(255,255,255,0.7) !important; }
.aspirational em{ color:var(--violet) !important; font-style:normal !important; }

/* buttons */
.btn{ font-family:var(--font) !important; font-weight:600; letter-spacing:-0.01em; }
.btn--primary{ background:var(--violet) !important; color:var(--white) !important; border:1px solid var(--violet) !important; }
.btn--primary:hover{ background:var(--ink) !important; border-color:var(--ink) !important; }
.btn--ghost{ background:transparent !important; color:var(--violet) !important; border:1px solid var(--sand) !important; }
.btn--ghost:hover{ background:var(--violet) !important; color:var(--white) !important; border-color:var(--violet) !important; }
.btn--outline{ background:transparent !important; border:1px solid currentColor !important; }
.btn--on-ink{ background:rgba(255,255,255,0.12) !important; color:var(--white) !important; border:1px solid transparent !important; }
.btn--on-ink:hover{ background:var(--white) !important; color:var(--ink) !important; }

/* wordmark split: Venture (violet) + ship (navy); white on dark */
.brand__wordmark{ font-weight:700; letter-spacing:-0.03em; }
.brand__wordmark .wm-a{ color:var(--violet); }
.brand__wordmark .wm-b{ color:var(--navy); }
.section--ink .brand__wordmark .wm-a,.section--ink .brand__wordmark .wm-b,
.footer .brand__wordmark .wm-a,.footer .brand__wordmark .wm-b,
.nav--scrolled .brand__wordmark .wm-a{ /* keep colour on light nav */ }

/* nav */
.nav{ background:rgba(245,241,232,0.94) !important; border-bottom:1px solid var(--sand) !important; -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
.nav__links a{ color:var(--ink) !important; opacity:0.65; }
.nav__links a:hover{ opacity:1; }
/* mobile menu: only show when actually opened, and make the hamburger visible */
.nav__toggle span{ background:var(--ink) !important; }
.nav__mobile{ display:none !important; }
.nav.is-open .nav__mobile{ display:flex !important; background:var(--ink) !important; }
.nav__mobile a{ color:var(--white) !important; }

/* hairlines / borders across the site */
.compare-card,.step,.value-row,.upcoming-card,.brief-card,.route-card,.card,
.footer,.uni-strip,table,td,th,.faq details,.cta-band{ border-color:var(--sand) !important; }

/* forms (talent + contact) */
.form__input,.form__select,.form__textarea,.cb__input,input[type=text],
input[type=email],input[type=url],select,textarea{
  border:1px solid var(--sand) !important; background:var(--white) !important; color:var(--ink) !important;
  font-family:var(--font) !important;
}
.form__input:focus,.form__select:focus,.form__textarea:focus,.cb__input:focus,
input:focus,select:focus,textarea:focus{ outline:none !important; border-color:var(--violet) !important; box-shadow:0 0 0 3px rgba(67,97,238,0.15) !important; }
.form__label,label{ color:var(--ink) !important; }
.cb__dropdown{ border:1px solid var(--sand) !important; background:var(--white) !important; }
.req,.form .req{ color:var(--violet) !important; }

/* match Talent + How it works hero heading to the large About-page size */
.page-head--hero-lg .h1{ font-size:var(--t-h1) !important; line-height:1.04 !important; }

/* legal tables */
table{ border-collapse:collapse; }
th{ background:var(--paper-deep) !important; color:var(--ink) !important; }
th,td{ border:1px solid var(--sand) !important; }

/* footer -> dark */
.footer{ background:var(--dark) !important; color:rgba(255,255,255,0.68) !important; }
.footer h4{ color:var(--white) !important; }
.footer a{ color:rgba(255,255,255,0.68) !important; }
.footer a:hover{ color:var(--white) !important; }
.footer__legal{ color:rgba(255,255,255,0.4) !important; }
.footer .brand__logo{ filter:brightness(0) invert(1); opacity:0.9; }

/* legacy homepage bits that might linger elsewhere */
.uni-strip{ background:var(--violet) !important; border-block:1px solid rgba(255,255,255,0.15) !important; }
.uni-strip__label,.uni-word{ color:var(--white) !important; }
.compare-card--mint{ background:var(--azure) !important; border-color:var(--violet) !important; }
.step{ background:transparent !important; }
.step__number,.preview-refine .dual-process .step__number{ color:var(--violet) !important; opacity:1 !important; }
.preview-refine .dual-process .step__number::before{ background:var(--violet) !important; }

/* ============================================================
   REBUILT HOMEPAGE — self-contained .rd-* sections
   ============================================================ */
.rd-wrap{ max-width:1200px; margin:0 auto; padding:0 40px; }
.rd-eyebrow{ display:inline-block; font-size:10px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--violet); margin-bottom:20px; }
.rd-eyebrow--dark{ color:var(--violet); }
.rd-h2{ font-size:clamp(28px,3.5vw,48px); font-weight:700; letter-spacing:-0.04em; line-height:0.98; color:var(--ink); margin:0 0 48px; }
.rd-violet{ color:var(--violet) !important; }
.rd-navy{ color:var(--navy) !important; }
.rd-yellow{ color:#DFFF00 !important; text-shadow:0 8px 26px rgba(10,22,40,0.40); }

/* HERO */
.rd-hero{ background:var(--cream); padding:92px 0 84px; border-bottom:1px solid var(--sand); }
.rd-hero .rd-wrap{ max-width:1320px; }
.rd-hero__grid{ display:grid; grid-template-columns:1.1fr 1fr; gap:44px; align-items:stretch; }
.rd-hero__copy{ display:flex; flex-direction:column; justify-content:center; min-width:0; }
.rd-hero__paths{ min-width:0; }
.rd-pulse{ display:inline-flex; align-items:center; gap:9px; font-size:11px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--ink); opacity:0.7; margin-bottom:26px; }
.rd-pulse__dot{ width:6px; height:6px; background:var(--violet); border-radius:50% !important; animation:vsPulse 2.4s infinite; }
.rd-hero__title{ font-size:clamp(52px,9.5vw,122px); font-weight:700; letter-spacing:-0.05em; line-height:0.92; color:var(--ink); margin:0 0 26px; overflow-wrap:break-word; }
.rd-hero__sub{ font-size:clamp(22px,2.8vw,38px); font-weight:700; letter-spacing:-0.03em; line-height:1.1; color:var(--ink); margin:0; max-width:34ch; }
.rd-hero__sub .rd-violet{ white-space:nowrap; }
.rd-hero__triad{ font-size:clamp(22px,2.6vw,34px); font-weight:700; letter-spacing:-0.03em; line-height:1.14; color:var(--ink); margin:0; }
.rd-hero__anchor{ font-size:clamp(20px,2.4vw,34px); font-weight:700; letter-spacing:-0.03em; line-height:1.1; color:var(--navy); margin:0 0 20px; }
.rd-hero__lead{ font-size:17px; line-height:1.6; color:var(--ink); opacity:0.6; max-width:440px; margin:24px 0 0; }
.rd-hero__paths{ display:grid; grid-template-columns:1fr; grid-auto-rows:1fr; gap:14px; align-self:stretch; }
.rd-path{ display:flex; flex-direction:column; justify-content:space-between; gap:28px; padding:34px 38px; text-align:left; text-decoration:none; min-height:200px; min-width:0; transition:background .2s; }
.rd-path--navy{ background:var(--navy); color:var(--white); }
.rd-path--violet{ background:var(--violet); color:var(--white); }
.rd-path:hover{ background:var(--ink); }
.rd-path__label{ display:block; font-size:10px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:#DFFF00 !important; opacity:1; margin-bottom:12px; }
.rd-path__value{ display:block; font-size:15.5px; font-weight:500; line-height:1.45; letter-spacing:-0.01em; color:rgba(255,255,255,0.92); }
.rd-path__action{ display:flex; align-items:center; justify-content:space-between; gap:16px; font-size:21px; font-weight:600; letter-spacing:-0.02em; }

/* REAL PROJECTS / TALENT / HIRES BAND */
.rd-triad{ background:var(--navy); padding:clamp(64px,9vw,120px) 0; }
.rd-triad__statement{ font-size:clamp(34px,5.6vw,82px); font-weight:700; letter-spacing:-0.04em; line-height:1.0; color:var(--white); text-align:center; margin:0; }
.rd-triad__muted{ color:rgba(255,255,255,0.5); }

/* VENN */
.rd-venn{ background:var(--cream); padding:72px 0; border-bottom:1px solid var(--sand); position:relative; overflow:hidden; }
.rd-venn .watermark{ font-family:var(--font); color:var(--ink); opacity:0.035; font-size:clamp(3rem,9vw,8rem); font-weight:700; z-index:0; align-items:center; padding-bottom:44px; }
.rd-venn__wrap{ display:flex; justify-content:center; position:relative; z-index:1; }
.rd-venn__triad{ position:relative; z-index:1; }
.rd-venn__svg{ width:min(520px,100%); height:auto; }
.rd-venn__c{ stroke-width:1.5; }
.rd-venn__c--navy{ stroke:var(--navy); fill:var(--navy); fill-opacity:0.06; }
.rd-venn__c--violet{ stroke:var(--violet); fill:var(--violet); fill-opacity:0.06; }
.rd-venn__lens{ fill:var(--violet); fill-opacity:0.14; stroke:none; }
.rd-venn__t{ font-family:var(--font); font-size:13px; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.rd-venn__t--navy{ fill:var(--navy); }
.rd-venn__t--violet{ fill:var(--violet); }
.rd-venn__tick--navy{ stroke:var(--navy); stroke-opacity:0.5; }
.rd-venn__tick--violet{ stroke:var(--violet); stroke-opacity:0.5; }
.rd-venn__hire{ font-family:var(--font); fill:var(--violet); font-size:16px; font-weight:700; letter-spacing:-0.01em; }
.rd-venn__triad{ text-align:center; font-size:clamp(24px,3.4vw,46px); font-weight:700; letter-spacing:-0.035em; line-height:1.05; color:var(--ink); margin:48px auto 0; }

/* DUAL PATH */
.rd-dual{ display:grid; grid-template-columns:1fr 1fr; gap:0; }
.rd-dual__card{ display:flex; flex-direction:column; padding:80px 60px; color:var(--white); }
.rd-dual__card--navy{ background:var(--navy); }
.rd-dual__card--violet{ background:var(--violet); }
.rd-dual__card .rd-eyebrow{ color:rgba(255,255,255,0.7); }
.rd-dual__h{ font-size:clamp(28px,2.8vw,44px); font-weight:700; letter-spacing:-0.035em; line-height:1.05; margin:0 0 36px; min-height:2.1em; }
.rd-points{ list-style:none; margin:0 0 32px; padding:0; }
.rd-points li{ display:grid; grid-template-columns:44px 1fr; gap:14px; align-items:start; padding:18px 0; border-top:1px solid rgba(255,255,255,0.16); font-size:15px; line-height:1.5; color:rgba(255,255,255,0.9); }
.rd-points li span{ font-weight:700; color:#DFFF00; }
.rd-dual__note{ font-size:13px; letter-spacing:0.02em; opacity:0.7; margin:auto 0 26px; }
.rd-btn{ display:inline-block; padding:14px 22px; font-size:13px; font-weight:600; letter-spacing:0.01em; text-decoration:none; transition:.2s; }
.rd-btn--onblue{ background:rgba(255,255,255,0.12); color:var(--white); }
.rd-btn--onblue:hover{ background:var(--white); color:var(--ink); }

/* HOW IT WORKS */
.rd-hiw{ background:var(--cream); padding:80px 0; }
.rd-hiw__grid{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:1px; background:var(--sand); border:1px solid var(--sand); }
.rd-step{ background:var(--cream); padding:44px 40px; transition:background .2s; }
.rd-step:hover{ background:var(--azure); }
.rd-step__n{ font-size:80px; font-weight:700; letter-spacing:-0.06em; line-height:1; color:#DFFF00; transition:color .2s; }
.rd-step:hover .rd-step__n{ color:#DFFF00; }
.rd-step__tag{ display:inline-block; margin:14px 0 10px; font-size:9px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--violet); }
.rd-step h3{ font-size:22px; font-weight:700; letter-spacing:-0.02em; margin:0 0 10px; color:var(--ink); }
.rd-step p{ font-size:15px; line-height:1.55; color:var(--ink); opacity:0.6; margin:0; }

/* MARQUEE */
.rd-marquee{ background:var(--violet); padding:13px 0; overflow:hidden; }
.rd-marquee__track{ display:flex; width:max-content; white-space:nowrap; animation:vsMarquee 32s linear infinite; }
.rd-marquee__track span{ color:var(--white); font-size:10px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; padding:0 26px; }
.rd-marquee__track span::after{ content:"\00B7"; margin-left:26px; opacity:0.5; }

/* PIPELINE */
.rd-pipeline{ background:var(--cream); padding:80px 0; border-top:1px solid var(--sand); }
.rd-pipeline__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.rd-brief{ background:var(--white); border:1px solid var(--sand); padding:26px 24px; min-height:260px; display:flex; flex-direction:column; justify-content:space-between; transition:transform .25s, background .2s, box-shadow .25s, color .2s; }
.rd-brief:nth-child(1){ transform:rotate(-1.8deg); }
.rd-brief:nth-child(2){ transform:rotate(1.2deg); }
.rd-brief:nth-child(3){ transform:rotate(-1deg); }
.rd-brief:nth-child(4){ transform:rotate(1.6deg); }
.rd-brief:hover{ transform:rotate(0deg) translateY(-6px); background:var(--navy); color:var(--white); box-shadow:0 20px 40px -18px rgba(10,22,40,0.4); }
.rd-brief__tag{ font-size:9px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--violet); }
.rd-brief:hover .rd-brief__tag{ color:rgba(255,255,255,0.55); }
.rd-brief__title{ font-size:15px; font-weight:600; line-height:1.35; margin:16px 0 0; color:inherit; }
.rd-brief__foot{ display:flex; align-items:center; justify-content:space-between; font-size:12px; opacity:0.7; margin-top:20px; }

/* CLOSING CTA */
.rd-cta{ background:var(--navy); padding:100px 0; text-align:center; }
.rd-cta__wrap{ display:flex; flex-direction:column; align-items:center; }
.rd-cta__h{ font-size:clamp(52px,8vw,120px); font-weight:700; letter-spacing:-0.05em; line-height:0.9; color:var(--white); margin:0 0 26px; }
.rd-cta__ghost{ color:rgba(255,255,255,0.34); }
.rd-cta__body{ font-size:16px; opacity:0.5; color:var(--white); max-width:420px; margin:0 0 40px; }
.rd-cta__paths{ max-width:480px; width:100%; align-self:center; }
.rd-cta .rd-path--navy{ background:rgba(255,255,255,0.10); }
.rd-cta .rd-path--violet{ background:var(--violet); }
.rd-cta .rd-path:hover{ background:var(--white); }
.rd-cta .rd-path:hover .rd-path__label,.rd-cta .rd-path:hover .rd-path__action{ color:var(--ink); }

/* keyframes */
@keyframes vsMarquee{ from{ transform:translateX(0);} to{ transform:translateX(-33.333%);} }
@keyframes vsPulse{ 0%,100%{ box-shadow:0 0 0 3px rgba(67,97,238,0.2);} 50%{ box-shadow:0 0 0 7px rgba(67,97,238,0);} }

/* responsive */
@media (max-width:900px){
  .rd-hero__grid{ grid-template-columns:1fr; gap:40px; }
  .rd-hero__copy{ align-items:center; text-align:center; }
  .rd-hero__sub{ margin-left:auto; margin-right:auto; }
  .rd-dual{ grid-template-columns:1fr; }
  .rd-hiw__grid{ grid-template-columns:1fr; }
  .rd-pipeline__grid{ grid-template-columns:1fr 1fr; }
  .rd-hero{ padding-top:120px; }
}
@media (max-width:560px){
  .rd-pipeline__grid{ grid-template-columns:1fr; }
  .rd-wrap{ padding:0 22px; }
  .rd-hero__title{ font-size:clamp(50px,15vw,88px); line-height:0.94; }
}

/* mobile overflow safety net */
.rd-venn__svg{ max-width:100%; height:auto; }
@media (max-width:900px){
  .rd-hero,.rd-venn,.rd-dual,.rd-hiw,.rd-pipeline,.rd-cta,.rd-triad{ overflow:hidden; }
}
