/* Adam Rubin — site styles. Design tokens per the locked brand system. */

@font-face{font-family:'Inter';font-style:normal;font-weight:700;src:url('/assets/fonts/inter-bold.woff2') format('woff2');font-display:swap;}
@font-face{font-family:'Inter';font-style:italic;font-weight:700;src:url('/assets/fonts/inter-bolditalic.woff2') format('woff2');font-display:swap;}
@font-face{font-family:'Ubuntu';font-style:normal;font-weight:300;src:url('/assets/fonts/ubuntu-normal-300.woff2') format('woff2');font-display:swap;}
@font-face{font-family:'Ubuntu';font-style:normal;font-weight:400;src:url('/assets/fonts/ubuntu-normal-400.woff2') format('woff2');font-display:swap;}
@font-face{font-family:'Ubuntu';font-style:normal;font-weight:700;src:url('/assets/fonts/ubuntu-normal-700.woff2') format('woff2');font-display:swap;}
@font-face{font-family:'Ubuntu';font-style:italic;font-weight:400;src:url('/assets/fonts/ubuntu-italic-400.woff2') format('woff2');font-display:swap;}
@font-face{font-family:'Ubuntu';font-style:italic;font-weight:700;src:url('/assets/fonts/ubuntu-italic-700.woff2') format('woff2');font-display:swap;}

:root{
  --bg: #121218;
  --bg-raised: #1a1a22;
  --bg-raised-2: #202029;
  --line: #2b2b36;
  --ink: #f2f0ec;
  --ink-dim: #a9a8b3;
  --ink-faint: #6f6e7a;
  --teal: #1ea08c;
  --teal-tint: #58c9ab;
  --gold: #f4b400;
  --coral: #e07a5f;
  --accent: var(--teal);
  --font-heading: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-body: 'Ubuntu', Georgia, serif;
  --font: var(--font-body);
  --maxw: 1100px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-body);
  font-weight:300;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:var(--teal-tint);text-decoration:none;}
a:hover{color:var(--ink);}
a:focus-visible, button:focus-visible{outline:2px solid var(--teal-tint);outline-offset:3px;}
::selection{background:var(--teal);color:#0a0f0e;}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}

h1,h2,h3,h4{font-family:var(--font-heading);font-weight:700;margin:0;text-wrap:balance;}
p{margin:0;}

/* ---------------- Nav ---------------- */
.site-nav{
  border-bottom:1px solid var(--line);
  padding:22px 0;
  position:relative;
  z-index:50;
}
.site-nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.brand{display:flex;align-items:center;gap:11px;}
.brand svg{width:31px;height:31px;display:block;flex-shrink:0;}
.brand-name{font-family:var(--font-heading);font-weight:700;font-size:18px;color:var(--ink);}
.nav-links{display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
.nav-links a{
  font-size:15.6px;color:var(--ink-dim);
  border-bottom:1px solid transparent;padding-bottom:2px;
}
.nav-links a:hover, .nav-links a[aria-current="page"]{color:var(--ink);border-color:var(--teal);}
.nav-linkedin{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;color:var(--ink-dim);flex-shrink:0;}
.nav-linkedin:hover{border-color:var(--teal);color:var(--teal-tint);}
.nav-toggle{display:none;}

@media (max-width:760px){
  .nav-links{
    display:none;
    width:100%;
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
    padding-top:18px;
    order:3;
  }
  .nav-links.open{display:flex;}
  .nav-toggle{
    display:flex;align-items:center;justify-content:center;
    width:36px;height:36px;border:1px solid var(--line);border-radius:8px;
    background:transparent;color:var(--ink);cursor:pointer;
  }
}

/* ---------------- Hero ---------------- */
.hero{padding:76px 0;}
.hero .wrap{display:grid;grid-template-columns:2fr 1fr;gap:48px;align-items:stretch;}
.hero-photo{order:2;overflow:hidden;min-height:420px;}
.hero-photo picture{display:block;width:100%;height:100%;}
.hero-photo img{
  width:100%;height:100%;object-fit:cover;object-position:top center;
  mask-image:linear-gradient(to bottom, black 55%, transparent 92%);
  -webkit-mask-image:linear-gradient(to bottom, black 55%, transparent 92%);
}
.hero-text{order:1;}
.eyebrow{
  font-family:var(--font-heading);
  font-size:14.4px;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--gold);font-weight:700;margin:0 0 16px;
}
h1.hero-title{
  font-style:italic;font-weight:700;
  font-size:clamp(36px,5.3vw,55.2px);
  line-height:1.15;margin:0 0 20px;max-width:16ch;
}
.hero-sub{font-size:20.4px;color:var(--ink-dim);max-width:46ch;font-weight:300;margin-bottom:30px;}
.hero-sub .hl{color:var(--ink);font-weight:700;}

@media (max-width:820px){
  .hero .wrap{grid-template-columns:1fr;gap:32px;}
  .hero-photo{order:1;min-height:340px;max-width:420px;margin:0 auto;width:100%;}
  .hero-text{order:2;text-align:left;}
}

/* ---------------- Buttons ---------------- */
.btn{
  font-family:var(--font-heading);font-weight:700;font-size:16.8px;
  padding:13px 26px;border-radius:8px;border:1px solid transparent;cursor:pointer;
  display:inline-flex;align-items:center;gap:8px;
}
.btn-primary{background:var(--teal);color:#0a0f0e;}
.btn-primary:hover{background:var(--teal-tint);color:#0a0f0e;}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink);}
.btn-ghost:hover{border-color:var(--teal);color:var(--teal-tint);}

/* ---------------- Sections ---------------- */
section{padding:72px 0;background:var(--bg);color:var(--ink);}

/* Alternating section theme — light sections flip the tokens so every
   component underneath (cards, borders, dim text) adapts automatically. */
.section-light{
  --bg: #f2f0ec;
  --ink: #121218;
  --ink-dim: #55535e;
  --ink-faint: #8d8b95;
  --line: #ddd8cf;
  --bg-raised: #e8e3da;
  --bg-raised-2: #ddd7cc;
  --gold: #cc8f05;
  --teal-tint: #0f7d6c;
}

.section-head{max-width:640px;margin-bottom:40px;}
.section-head .eyebrow{margin-bottom:14px;}
.section-title{font-size:clamp(28.8px,3.6vw,38.4px);margin-bottom:12px;}
.rule-sig{height:3px;width:56px;background:linear-gradient(90deg,var(--teal),var(--gold),var(--coral));border-radius:2px;margin:0 0 20px;}
.section-dek{color:var(--ink-dim);font-size:18.6px;font-weight:300;}

/* ---------------- Stat strip ---------------- */
.stats-intro{max-width:62ch;color:var(--ink-dim);font-size:19.2px;margin-bottom:40px;}
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
.stat{border-top:2px solid var(--gold);padding-top:16px;}
.stat-num{font-family:var(--font-heading);font-weight:700;font-size:clamp(33.6px,4.1vw,45.6px);line-height:1;font-variant-numeric:tabular-nums;}
.stat-cap{font-size:16.2px;color:var(--ink-dim);margin-top:10px;max-width:26ch;}
.stat-src{font-size:13.8px;color:var(--ink-faint);margin-top:6px;}
@media (max-width:900px){.stat-row{grid-template-columns:repeat(2,1fr);gap:28px 24px;}}
@media (max-width:480px){.stat-row{grid-template-columns:1fr;gap:24px;}}

/* ---------------- Approach / trifecta ---------------- */
.approach-mark{display:flex;justify-content:center;margin:0 0 44px;}
.approach-mark svg{width:180px;height:180px;}
.approach-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:8px;}
.approach-col{border-top:3px solid var(--c,var(--teal));padding-top:16px;}
.approach-col h3{font-size:19.2px;margin-bottom:10px;}
.approach-col p{font-size:16.8px;color:var(--ink-dim);}
blockquote.pull{
  font-family:var(--font-heading);font-style:italic;font-weight:700;
  font-size:26.4px;line-height:1.4;margin:40px auto 0;
  color:var(--ink);max-width:52ch;text-align:center;
}
@media (max-width:680px){.approach-cols{grid-template-columns:1fr;gap:22px;}}

/* ---------------- Pillar cards ---------------- */
.pillar-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.pillar-card{
  border:1px solid var(--line);border-radius:12px;padding:26px;background:var(--bg-raised);
  transition:border-color .15s ease;
}
.pillar-card:hover{border-color:var(--teal);}
.pillar-icon{width:36px;height:36px;color:var(--teal);margin-bottom:16px;}
.pillar-icon svg{width:100%;height:100%;}
.pillar-card h3{font-size:20.4px;margin-bottom:8px;}
.pillar-card p{font-size:16.8px;color:var(--ink-dim);margin-bottom:14px;}
.pillar-card .learn-more{font-size:15.6px;font-weight:700;color:var(--teal-tint);}
@media (max-width:680px){.pillar-grid{grid-template-columns:1fr;}}

/* ---------------- About ---------------- */
.about-belief{font-family:var(--font-heading);font-style:italic;font-weight:700;font-size:26.4px;line-height:1.4;max-width:56ch;margin-bottom:28px;}
.about-bio{font-size:18.6px;color:var(--ink-dim);max-width:66ch;margin-bottom:36px;}

.about-panel{
  border:1px solid var(--line);border-radius:14px;background:var(--bg-raised);
  padding:34px 36px;margin-bottom:28px;
}
.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-bottom:30px;margin-bottom:30px;border-bottom:1px solid var(--line);}
.about-stats > div{padding-left:24px;border-left:1px solid var(--line);}
.about-stats > div:first-child{padding-left:0;border-left:none;}
.about-stat-num{font-family:var(--font-heading);font-weight:700;font-size:33.6px;}
.about-stat-cap{font-size:15.6px;color:var(--ink-dim);margin-top:4px;}
.about-meta{display:grid;grid-template-columns:1fr 1fr;gap:26px 40px;}
.about-meta-item h4{font-size:13.8px;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;font-weight:700;}
.about-meta-item p{font-size:17.4px;color:var(--ink-dim);line-height:1.7;}
.about-course{
  border:1px solid var(--line);border-left:3px solid var(--coral);border-radius:0 10px 10px 0;
  padding:22px 26px;background:var(--bg-raised);font-size:17.4px;color:var(--ink-dim);max-width:66ch;
}
.about-course b{color:var(--ink);}
@media (max-width:680px){
  .about-panel{padding:28px 22px;}
  .about-stats{grid-template-columns:1fr;gap:20px;}
  .about-stats > div{padding-left:0;border-left:none;padding-top:16px;border-top:1px solid var(--line);}
  .about-stats > div:first-child{padding-top:0;border-top:none;}
  .about-meta{grid-template-columns:1fr;}
}

/* ---------------- Clients ---------------- */
.client-logos{display:flex;flex-wrap:wrap;align-items:center;gap:36px 52px;}
.client-logos img{height:34px;width:auto;display:block;}
.previously-at{margin-top:28px;padding-top:28px;border-top:1px solid var(--line);}
.previously-at-label, .client-strip-label{font-size:13.2px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:14px;font-weight:700;}

/* ---------------- Footer / CTA ---------------- */
footer.site-footer{padding:60px 0 70px;background:var(--bg);color:var(--ink);}
.footer-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:28px;}
.footer-links{display:flex;align-items:center;gap:20px;}
.footer-mark svg{width:155px;height:155px;display:block;}
.footer-copy{font-size:15px;color:var(--ink-faint);margin-top:36px;}
.footer-explore{margin-top:40px;padding-top:28px;border-top:1px solid var(--line);}
.footer-explore-label{font-size:13.2px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:12px;font-weight:700;}
.footer-explore-links{display:flex;gap:22px;flex-wrap:wrap;}
.footer-explore-links a{font-size:16.2px;color:var(--ink-dim);}
.footer-explore-links a:hover{color:var(--teal-tint);}

.footer-contact{margin-bottom:44px;padding-bottom:44px;border-bottom:1px solid var(--line);}
.footer-contact-title{font-size:clamp(24px,3vw,30px);margin-bottom:14px;}
.contact-form{max-width:640px;margin-top:6px;}
.contact-form .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form textarea{
  width:100%;background:var(--bg-raised);border:1px solid var(--line);border-radius:8px;
  padding:13px 16px;color:var(--ink);font-family:var(--font-body);font-size:15.6px;
  resize:vertical;
}
.contact-form textarea{margin-bottom:18px;}
.contact-form input::placeholder,
.contact-form textarea::placeholder{color:var(--ink-faint);}
.contact-form input:focus,
.contact-form textarea:focus{outline:none;border-color:var(--teal);}
.form-footer-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.form-status{font-size:13.5px;color:var(--ink-dim);margin:0;}
.form-status.ok{color:var(--teal-tint);}
.form-status.err{color:var(--coral);}
@media (max-width:560px){.form-row{grid-template-columns:1fr;}}

/* ---------------- Service page ---------------- */
.service-hero{padding:64px 0 68px;}
.service-name{font-style:normal;font-weight:700;font-size:clamp(40px,6vw,60px);line-height:1.05;margin:0;}
.service-rule{height:3px;width:64px;background:linear-gradient(90deg,var(--teal),var(--gold),var(--coral));border-radius:2px;margin:22px 0;}
.service-tagline{font-family:var(--font-heading);font-style:italic;font-weight:700;font-size:clamp(24px,3.2vw,32px);line-height:1.25;max-width:30ch;margin:0 0 22px;}
.service-hero .lede{font-size:19.8px;color:var(--ink-dim);max-width:56ch;}

.check-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;max-width:64ch;}
.check-list li{font-size:18px;color:var(--ink-dim);padding-left:26px;position:relative;}
.check-list li::before{content:"";position:absolute;left:0;top:7px;width:8px;height:8px;border-radius:2px;background:var(--teal);}

.work-head{text-align:center;max-width:none;}
.work-list{display:flex;flex-direction:column;}
.work-item{
  display:grid;grid-template-columns:56px 1.1fr 1.3fr;gap:32px;align-items:center;
  padding:28px 0;border-top:1px solid var(--line);
}
.work-item:first-child{border-top:none;padding-top:0;}
.work-num{font-family:var(--font-heading);font-weight:700;color:var(--ink);font-size:33.6px;line-height:1.2;}
.work-item h3{font-size:22.8px;line-height:1.3;margin:0;}
.work-item p{font-size:17.4px;color:var(--ink-dim);margin:0;}

@media (max-width:700px){
  .work-item{grid-template-columns:40px 1fr;grid-template-areas:"num title" ". desc";}
  .work-num{grid-area:num;font-size:28px;}
  .work-item h3{grid-area:title;}
  .work-item p{grid-area:desc;margin-top:8px;}
}

.outcomes-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px;max-width:60ch;}
.outcomes-list li{font-size:18.6px;color:var(--ink-dim);padding-left:24px;position:relative;}
.outcomes-list li::before{content:"—";position:absolute;left:0;color:var(--gold);}

/* ---------------- Journeys page ---------------- */
.journey-card{border:1px solid var(--line);border-radius:14px;padding:32px;background:var(--bg-raised);margin-bottom:24px;}
.journey-card h3{font-size:22.8px;margin-bottom:6px;}
.journey-situation-label{font-size:15.6px;color:var(--ink-dim);margin-bottom:20px;}
.journey-block{margin-bottom:16px;}
.journey-block h4{font-size:14.4px;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:8px;}
.journey-block p{font-size:17.4px;color:var(--ink-dim);line-height:1.7;}
.journey-tags{display:flex;flex-wrap:wrap;gap:8px;}
.journey-tag{font-size:14.4px;padding:6px 12px;border-radius:20px;background:var(--bg-raised-2);color:var(--ink-dim);border:1px solid var(--line);}
