:root{--navy:#0b233a;--gold:#e3a61f;--ink:#152c42;--muted:#536475;--paper:#f6f7f8;--line:#dce2e7}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}a:hover{text-decoration:underline}button{cursor:pointer}.skip{position:absolute;left:12px;top:-80px;background:white;padding:12px;z-index:9}.skip:focus{top:10px}.draft{background:var(--navy);color:white;font-size:11px;letter-spacing:1.5px;padding:9px 6%;display:flex;gap:24px}.draft span{letter-spacing:0;color:#d2dce6}header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:18px 6%;border-bottom:1px solid var(--line)}header img{width:235px;height:auto;display:block}nav{display:flex;gap:30px;font-size:14px}nav a{padding:10px 0}nav a[aria-current]{border-bottom:2px solid var(--gold)}#menu{display:none}h1,h2,h3,p{margin:0}h1{font-size:clamp(38px,5vw,68px);line-height:1.12;letter-spacing:-2px;font-weight:650;max-width:850px}h2{font-size:clamp(28px,3vw,40px);line-height:1.2;letter-spacing:-1px}h3{font-size:22px;line-height:1.3}p{margin-top:18px}section{padding:75px 8%}.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:650;margin-bottom:22px;color:var(--muted)}.hero{background:var(--navy);color:white;padding:85px 8%;position:relative}.hero .eyebrow{color:#f1bf52}.hero p{max-width:670px;color:#d8e2eb;font-size:18px}.hero h1 em{font-style:normal;color:#efba44}.actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:32px}.btn{display:inline-block;padding:13px 22px;border:1px solid var(--line);border-radius:3px;font-size:14px;font-weight:650;min-height:48px;background:white;color:var(--navy)}.btn.primary{background:var(--gold);border-color:var(--gold);color:#10253a}.hero .btn.secondary{background:transparent;color:white;border-color:#697c8d}.section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:35px}.section-head p{max-width:520px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.card{border:1px solid var(--line);padding:28px;background:white;border-radius:4px}.card p{color:var(--muted);font-size:15px}.num{display:block;color:#76601b;font-size:12px;margin-bottom:30px}.light{background:var(--paper)}.dark{background:var(--navy);color:white}.dark .eyebrow,.dark p{color:#c4d1dd}.dark .card{background:#142f48;border-color:#365067}.dark .card p{color:#c4d1dd}.placeholder{aspect-ratio:16/9;border:1px dashed #8a9eaf;display:flex;align-items:center;justify-content:center;color:#c4d1dd;font-size:13px;margin:-4px -4px 22px;background:#0e263d}.tag{display:inline-block;font-size:10px;text-transform:uppercase;letter-spacing:1px;border:1px solid #607b93;padding:4px 9px;margin-bottom:16px}details{margin-top:20px;border-top:1px solid #607b93;padding-top:15px}summary{cursor:pointer;font-size:14px;font-weight:600}dl{font-size:13px}dt{font-weight:650;margin-top:12px}dd{margin:3px 0;color:#c4d1dd}.split{display:grid;grid-template-columns:1fr 1.1fr;gap:65px}.pending{border-left:3px solid var(--gold);padding:18px 22px;background:#fff7e2;font-size:14px;margin-top:25px;color:var(--ink)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:35px}.steps h3{font-size:18px}.steps p{font-size:14px;color:var(--muted)}.intro{padding:65px 8%;background:var(--paper)}.intro p{max-width:730px;color:var(--muted)}form{border:1px solid var(--line);padding:32px;border-radius:5px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{margin-bottom:20px}label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}input,select,textarea{width:100%;border:1px solid #aab6c1;padding:12px;border-radius:3px;color:var(--ink);background:white}textarea{resize:vertical;min-height:140px}.help{font-size:12px;color:var(--muted)}#form-status{background:#fff7e2;border-left:3px solid var(--gold);padding:15px;margin-top:20px}footer{padding:45px 8%;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:30px;font-size:14px}footer p{color:var(--muted);font-size:13px}footer a,footer button{display:block;margin-bottom:12px}footer button{border:0;background:none;padding:0;color:var(--ink);font-size:14px}footer small{grid-column:1/-1;color:var(--muted)}dialog{border:1px solid var(--line);padding:35px;max-width:600px;width:90%;border-radius:6px}dialog::backdrop{background:#071d32b0}dialog button{margin-top:25px;padding:10px 25px}.text{max-width:760px}.text p{color:var(--muted)}@media(max-width:800px){header{padding:15px 6%;flex-wrap:wrap}header img{width:190px}#menu{display:block;padding:8px 14px;background:white;border:1px solid var(--line)}nav{display:none;flex-basis:100%;flex-direction:column;gap:0}nav.open{display:flex}nav a{min-height:44px}.draft{display:block}.draft span{display:block;font-size:10px;margin-top:3px}section{padding:50px 6%}.hero{padding:65px 6%}.intro{padding:45px 6%}.grid,.split{grid-template-columns:1fr;gap:22px}.section-head{display:block}.section-head>a{display:inline-block;margin-top:20px}.steps{grid-template-columns:1fr 1fr}.fields{grid-template-columns:1fr;gap:0}form{padding:22px}footer{grid-template-columns:1fr;padding:35px 6%}h1{letter-spacing:-1px}}@media(prefers-reduced-motion:no-preference){.btn{transition:transform .15s}.btn:hover{transform:translateY(-2px)}}

/* User-supplied palette. Color overrides only; base CTA/form variables stay intact. */
:root{
  --brand-navy:#061E32;
  --brand-navy-surface:#0B2A45;
  --brand-royal-blue:#123B70;
  --brand-gold:#F2AD22;
  --brand-gold-hover:#FFC247;
  --brand-gold-pressed:#D99312;
  --brand-off-white:#F7F9FC;
  --brand-white:#FFFFFF;
  --brand-heading:#14283F;
  --brand-body:#334155;
  --brand-muted:#64748B;
  --brand-muted-dark:#CBD5E1;
  --brand-border:#E2E8F0;
}
body{background:var(--brand-white);color:var(--brand-body)}
header{background:var(--brand-white);color:var(--brand-heading);border-color:var(--brand-border)}
nav a[aria-current]{border-color:var(--brand-gold)}
h1,h2,.card h3,.steps h3{color:var(--brand-heading)}
.hero,.dark,.draft{background:var(--brand-navy);color:var(--brand-white)}
.hero h1,.dark h2,.dark h3{color:var(--brand-white)}
.hero .eyebrow,.hero h1 em,.dark .eyebrow{color:var(--brand-gold)}
.draft span,.hero p,.dark p,.dark .card p,.dark .section-head p,.dark dd{color:var(--brand-muted-dark)}
.eyebrow,.num{color:var(--brand-muted)}
.section-head p,.card p,.steps p,.intro p,.text p{color:var(--brand-body)}
.help,footer p,footer small{color:var(--brand-muted)}
.light,.intro{background:var(--brand-off-white)}
.card{background:var(--brand-white);border-color:var(--brand-border)}
.dark .card{background:var(--brand-navy-surface);border-color:var(--brand-royal-blue)}
.placeholder{background:var(--brand-navy);color:var(--brand-muted-dark);border-color:var(--brand-royal-blue)}
.tag,details{border-color:var(--brand-royal-blue)}
dd{color:var(--brand-body)}
.pending{background:var(--brand-off-white);color:var(--brand-body);border-color:var(--brand-gold)}
footer{background:var(--brand-white);color:var(--brand-heading);border-color:var(--brand-border)}
footer button{color:var(--brand-heading)}
.skip{color:var(--brand-heading)}
/* Preserve protected control appearance, including inherited form text. */
form{background:#ffffff;color:#152c42}
form .help{color:#536475}
dialog{background:#ffffff;color:#152c42}

/* Purpose portrait only: feather the image into its existing white section.
   Keep the original image intact; overlays do not reach the face or laptop center. */
.purpose-portrait{
  position:relative;
  isolation:isolate;
  width:100%;
  max-width:520px;
  margin:24px auto 0;
  background:var(--brand-white);
}
.purpose-portrait img{
  display:block;
  width:100%;
  height:auto;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.purpose-portrait::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(to right,var(--brand-white),transparent 7%),
    linear-gradient(to left,var(--brand-white),transparent 7%),
    linear-gradient(to bottom,var(--brand-white),transparent 8%),
    linear-gradient(to top,var(--brand-white),transparent 10%);
}
@media(max-width:800px){
  .purpose-portrait{max-width:460px;}
}

/* Selected About introduction: supplied palette, color-only section override. */
.about-intro{background:var(--brand-navy);color:var(--brand-muted-dark)}
.about-intro h1{color:var(--brand-gold)}
.about-intro p{color:var(--brand-muted-dark)}

/* Selected Services introduction: supplied palette, colors only. */
.services-intro{background:var(--brand-navy);color:var(--brand-muted-dark)}
.services-intro h1,.services-intro .eyebrow{color:var(--brand-gold)}
.services-intro p{color:var(--brand-muted-dark)}

/* Feather only the collage perimeter; preserve all central artwork and text. */
.founder-collage{position:relative;isolation:isolate;width:100%;margin-top:18px;background:var(--brand-white)}
.founder-collage img{display:block;width:100%;height:auto;border:0;border-radius:0;box-shadow:none}
.founder-collage::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to right,var(--brand-white),transparent 2%),linear-gradient(to left,var(--brand-white),transparent 2%),linear-gradient(to bottom,var(--brand-white),transparent 2%),linear-gradient(to top,var(--brand-white),transparent 2%)}

/* Selected founder profile: palette colors only, including matching collage feather. */
.founder-profile{background:var(--brand-navy-surface);color:var(--brand-muted-dark);border-color:var(--brand-royal-blue)}
.founder-profile h3,.founder-profile .eyebrow{color:var(--brand-gold)}
.founder-profile p{color:var(--brand-muted-dark)}
.founder-profile .founder-collage{background:var(--brand-navy-surface)}
.founder-profile .founder-collage::after{background:linear-gradient(to right,var(--brand-navy-surface),transparent 2%),linear-gradient(to left,var(--brand-navy-surface),transparent 2%),linear-gradient(to bottom,var(--brand-navy-surface),transparent 2%),linear-gradient(to top,var(--brand-navy-surface),transparent 2%)}

/* Selected first homepage capability card: color-only change. */
.home-capabilities>.grid>.card:first-child{background:var(--brand-navy-surface);color:var(--brand-muted-dark);border-color:var(--brand-royal-blue)}
.home-capabilities>.grid>.card:first-child h3,.home-capabilities>.grid>.card:first-child .num{color:var(--brand-gold)}
.home-capabilities>.grid>.card:first-child p{color:var(--brand-muted-dark)}

/* Selected second homepage capability card: color-only change. */
.home-capabilities>.grid>.card:nth-child(2){background:var(--brand-navy-surface);color:var(--brand-muted-dark);border-color:var(--brand-royal-blue)}
.home-capabilities>.grid>.card:nth-child(2) h3,.home-capabilities>.grid>.card:nth-child(2) .num{color:var(--brand-gold)}
.home-capabilities>.grid>.card:nth-child(2) p{color:var(--brand-muted-dark)}

/* Selected third homepage capability card: color-only change. */
.home-capabilities>.grid>.card:nth-child(3){background:var(--brand-navy-surface);color:var(--brand-muted-dark);border-color:var(--brand-royal-blue)}
.home-capabilities>.grid>.card:nth-child(3) h3,.home-capabilities>.grid>.card:nth-child(3) .num{color:var(--brand-gold)}
.home-capabilities>.grid>.card:nth-child(3) p{color:var(--brand-muted-dark)}

/* Selected homepage About CTA: colors only. */
.home-about-cta{background:var(--brand-gold);color:var(--brand-navy);border-color:var(--brand-gold)}
.home-about-cta:hover{background:var(--brand-gold-hover);border-color:var(--brand-gold-hover)}
.home-about-cta:active{background:var(--brand-gold-pressed);border-color:var(--brand-gold-pressed)}

/* Selected homepage process section: palette colors only. */
.home-process{background:var(--brand-navy);color:var(--brand-muted-dark)}
.home-process>.eyebrow,.home-process .num{color:var(--brand-gold)}
.home-process h2,.home-process .steps h3{color:var(--brand-white)}
.home-process .steps p{color:var(--brand-muted-dark)}

/* Shared footer: supplied palette, color changes only. */
footer{background:var(--brand-navy);color:var(--brand-muted-dark);border-color:var(--brand-royal-blue)}
footer strong,footer a,footer button{color:var(--brand-gold)}
footer p,footer small{color:var(--brand-muted-dark)}
footer a:hover,footer button:hover{color:var(--brand-gold-hover)}
footer a:active,footer button:active{color:var(--brand-gold-pressed)}

/* Fit portrait to the Purpose column while retaining its proportions. */
.purpose-column{display:flex;flex-direction:column;min-width:0}
.purpose-column .purpose-portrait{flex:1;max-width:none;min-height:480px}
.purpose-column .purpose-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
@media(max-width:800px){
  .purpose-column .purpose-portrait{flex:none;min-height:0;max-width:460px}
  .purpose-column .purpose-portrait img{position:static;width:100%;height:auto;object-fit:contain}
}

/* Selected first Services-page capability card: color-only change. */
.services-capabilities>.grid>.card:first-child{background:var(--brand-navy-surface);color:var(--brand-muted-dark);border-color:var(--brand-royal-blue)}
.services-capabilities>.grid>.card:first-child h3,.services-capabilities>.grid>.card:first-child .num{color:var(--brand-gold)}
.services-capabilities>.grid>.card:first-child p{color:var(--brand-muted-dark)}

/* Selected second Services-page capability card: color-only change. */
.services-capabilities>.grid>.card:nth-child(2){background:var(--brand-navy-surface);color:var(--brand-muted-dark);border-color:var(--brand-royal-blue)}
.services-capabilities>.grid>.card:nth-child(2) h3,.services-capabilities>.grid>.card:nth-child(2) .num{color:var(--brand-gold)}
.services-capabilities>.grid>.card:nth-child(2) p{color:var(--brand-muted-dark)}

/* Selected third Services-page capability card: color-only change. */
.services-capabilities>.grid>.card:nth-child(3){background:var(--brand-navy-surface);color:var(--brand-muted-dark);border-color:var(--brand-royal-blue)}
.services-capabilities>.grid>.card:nth-child(3) h3,.services-capabilities>.grid>.card:nth-child(3) .num{color:var(--brand-gold)}
.services-capabilities>.grid>.card:nth-child(3) p{color:var(--brand-muted-dark)}

/* Selected inquiry form: supplied palette, color changes only. */
#inquiry{background:var(--brand-navy-surface);color:var(--brand-muted-dark);border-color:var(--brand-royal-blue)}
#inquiry h3{color:var(--brand-gold)}
#inquiry .help,#inquiry label{color:var(--brand-muted-dark)}
#inquiry input,#inquiry select,#inquiry textarea{background:var(--brand-off-white);color:var(--brand-heading);border-color:var(--brand-border)}
#inquiry .btn.primary{background:var(--brand-gold);color:var(--brand-navy);border-color:var(--brand-gold)}
#inquiry .btn.primary:hover{background:var(--brand-gold-hover);border-color:var(--brand-gold-hover)}
#inquiry .btn.primary:active{background:var(--brand-gold-pressed);border-color:var(--brand-gold-pressed)}
#inquiry #form-status{background:var(--brand-navy);color:var(--brand-muted-dark);border-color:var(--brand-gold)}

/* Selected Contact introduction: supplied palette, colors only. */
.contact-intro{background:var(--brand-navy);color:var(--brand-muted-dark)}
.contact-intro h1,.contact-intro .eyebrow{color:var(--brand-gold)}
.contact-intro p{color:var(--brand-muted-dark)}

/* Header logo animation only; transforms preserve navigation layout. */
@media(prefers-reduced-motion:no-preference){
  header>a>img{animation:jlc-logo-arrive 800ms cubic-bezier(.22,1,.36,1) backwards;transition:transform 240ms ease;transform-origin:center}
  header>a:hover>img,header>a:focus-visible>img{transform:translateY(-2px) scale(1.025)}
  @keyframes jlc-logo-arrive{
    from{opacity:0;transform:translateY(8px) scale(.97)}
    to{opacity:1;transform:none}
  }
}

/* Hero showcase illustration: preserve existing navigation, copy and CTA layout. */
.hero-showcase{margin:40px 0 0;max-width:1200px}
.hero-showcase img{display:block;width:100%;height:auto;border:0}
.hero-showcase figcaption{margin-top:12px;color:var(--brand-muted-dark);font-size:12px;line-height:1.6}
@media(max-width:800px){.hero-showcase{margin-top:28px}}

/* Header emphasis: palette accents without changing navigation geometry. */
header{background:var(--brand-off-white);border-bottom-color:var(--brand-gold);box-shadow:inset 0 -2px 0 var(--brand-gold)}
header nav a:hover,header nav a:focus-visible{color:var(--brand-royal-blue);border-bottom-color:var(--brand-gold-hover)}
header nav a[aria-current]{color:var(--brand-royal-blue);border-bottom-color:var(--brand-gold)}
header #menu{color:var(--brand-heading);background:var(--brand-white);border-color:var(--brand-gold)}

/* Homepage Learning Journey image only. */
.learning-journey-image{display:block;width:100%;height:auto;margin-top:24px;border:0}

/* Replacement office portrait: retain subtle white edge blending and protect the subject. */
.purpose-column .purpose-portrait img{object-position:center top}
.purpose-portrait::after{background:linear-gradient(to right,var(--brand-white),transparent 5%),linear-gradient(to left,var(--brand-white),transparent 5%),linear-gradient(to bottom,var(--brand-white),transparent 4%),linear-gradient(to top,var(--brand-white),transparent 7%)}

/* Balance the tall Learning Journey artwork against the accompanying copy. */
.learning-journey{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:48px;row-gap:32px;align-items:center}
.learning-journey-heading{grid-column:1/-1}
.learning-journey-visual{min-width:0}
.learning-journey .learning-journey-image{width:100%;max-width:300px;height:auto;margin:0 auto}
.learning-journey-copy{min-width:0}
.learning-journey-copy>p:first-child{margin-top:0}
@media(max-width:800px){
  .learning-journey{grid-template-columns:minmax(0,1fr);gap:28px}
  .learning-journey-heading{grid-column:auto}
  .learning-journey .learning-journey-image{max-width:260px}
}

/* Mobile header: reserve the logo's existing width and contain the menu row. */
@media(max-width:800px){
  header{display:grid;grid-template-columns:190px minmax(0,1fr);column-gap:8px;row-gap:12px}
  header>a{min-width:0}
  header #menu{justify-self:end;min-width:0;min-height:44px;padding:8px 10px}
  header nav{grid-column:1/-1;min-width:0;width:100%;max-width:100%}
  header nav a{display:block;min-width:0;min-height:44px;overflow-wrap:anywhere}
}

/* New booking section only; existing homepage and navigation remain unchanged. */
#booking .booking-calendar{display:block;width:100%;max-width:100%;height:1080px;border:0;margin-top:28px;background:var(--brand-white)}
@media(max-width:800px){#booking .booking-calendar{height:1400px}}

/* Booking section palette only. */
#booking{background:var(--brand-navy);color:var(--brand-muted-dark)}
#booking h2,#booking .eyebrow{color:var(--brand-gold)}
#booking .help{color:var(--brand-muted-dark)}
#booking a{color:var(--brand-gold)}
#booking a:hover{color:var(--brand-gold-hover)}
#booking a:active{color:var(--brand-gold-pressed)}
