/* Content Capital — own signal (not Mint pink, not logo green)
   Ivory (authority) + copper (human / capital) on warm charcoal
*/
@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,400;0,500;0,700;1,400&family=Space+Grotesk:wght@400;500;600;700&display=swap");

:root{
  /* Warm charcoal — no green cast */
  --background:30 8% 7%;
  --foreground:40 20% 96%;
  --card:30 7% 11%;
  --card-foreground:40 20% 96%;
  --popover:30 7% 11%;
  --popover-foreground:40 20% 96%;
  /* Champagne ivory — CTA + eyebrows */
  --primary:36 32% 86%;
  --primary-foreground:30 10% 8%;
  --secondary:30 6% 14%;
  --secondary-foreground:40 20% 96%;
  --muted:30 6% 14%;
  --muted-foreground:30 8% 62%;
  /* Forge copper — gradient end, growth, emphasis */
  --accent:22 48% 52%;
  --accent-foreground:0 0% 100%;
  --destructive:0 84.2% 60.2%;
  --destructive-foreground:210 40% 98%;
  --border:30 6% 18%;
  --input:30 6% 18%;
  --ring:36 32% 86%;
  --radius:.5rem;
  --font-display:"Space Grotesk",ui-sans-serif,system-ui,sans-serif;
  --font-body:"DM Sans",ui-sans-serif,system-ui,sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:hsl(var(--background));
  color:hsl(var(--foreground));
  font-family:var(--font-body);
  font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
/* subtle film grain like Mint */
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.035;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
a{color:inherit;text-decoration:none}
button{font:inherit;background:none;border:none;color:inherit;cursor:pointer}
img{display:block;max-width:100%}
:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:3px}

.font-display{font-family:var(--font-display)}
.text-gradient{
  -webkit-background-clip:text;background-clip:text;color:transparent;
  background-image:linear-gradient(135deg,hsl(var(--primary)) 0%,hsl(36 40% 78%) 42%,hsl(var(--accent)) 100%);
}
.text-primary{color:hsl(var(--primary))}
.text-muted{color:hsl(var(--muted-foreground))}
.text-fg{color:hsl(var(--foreground))}
.text-fg-30{color:hsl(var(--foreground)/.3)}

.wrap{
  max-width:80rem; /* max-w-7xl */
  margin:0 auto;
  padding-left:1rem;padding-right:1rem;
}
@media(min-width:640px){.wrap{padding-left:1.5rem;padding-right:1.5rem}}
@media(min-width:1024px){.wrap{padding-left:2rem;padding-right:2rem}}

.sec{padding:4rem 0}
@media(min-width:640px){.sec{padding:5rem 0}}
@media(min-width:768px){.sec{padding:6rem 0}}

.eyebrow{
  font-family:var(--font-display);font-size:.875rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--primary));
  margin-bottom:1rem;
}
.h1{
  font-family:var(--font-display);font-weight:700;letter-spacing:-.04em;line-height:.95;
  font-size:clamp(2.25rem,6vw,4.5rem);
}
.h2{
  font-family:var(--font-display);font-weight:700;letter-spacing:-.03em;line-height:.95;
  font-size:clamp(1.875rem,4.5vw,3.75rem);
}
.h3{
  font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;
  font-size:clamp(1.125rem,2vw,1.25rem);
}
.lead{color:hsl(var(--muted-foreground));font-size:1.125rem;line-height:1.7;max-width:40rem;text-wrap:pretty}
.lead + .lead{margin-top:1rem}
/* Keep page grid: never shrink .wrap — constrain copy only */
.intro{max-width:48rem}
.intro .lead{margin-top:1.15rem;max-width:46rem}
.intro .lead + .lead{margin-top:.85rem}
.intro .btn{margin-top:1.75rem}
.page .eyebrow{margin-bottom:.65rem}
.page .h1,.page .h2{line-height:1.02}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:600;border-radius:9999px;
  transition:opacity .2s;white-space:nowrap;
}
.btn:hover{opacity:.9}
.btn-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}
.btn-lg{height:3.5rem;padding:0 2.5rem;font-size:1rem}
.btn-md{height:2.75rem;padding:0 1.75rem;font-size:.875rem}
.btn-sm{height:2.5rem;padding:0 1rem;font-size:.75rem}
@media(min-width:1024px){.btn-nav{height:2.5rem;padding:0 1.5rem;font-size:.875rem}}

/* Header */
.header{
  position:fixed;top:0;left:0;right:0;z-index:50;
  transition:background .2s,border-color .2s,backdrop-filter .2s;
  border-bottom:1px solid transparent;
}
.header.scrolled{
  background:hsl(var(--background)/.85);
  backdrop-filter:blur(12px);
  border-bottom-color:hsl(var(--border));
}
.header-in{
  max-width:80rem;margin:0 auto;
  padding:.875rem 1rem;
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:.65rem;
}
@media(min-width:640px){.header-in{padding:.875rem 1.5rem}}
@media(min-width:768px){
  .header-in{grid-template-columns:1fr auto 1fr;gap:1rem}
}
@media(min-width:1024px){.header-in{padding:1rem 2rem}}
.logo{
  justify-self:start;min-width:0;
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--font-display);font-weight:700;
  font-size:.85rem;line-height:1;letter-spacing:.02em;text-transform:uppercase;
  color:hsl(var(--foreground));
}
@media(min-width:640px){.logo{font-size:.95rem;gap:.55rem}}
.logo-mark{
  width:1.45rem;height:1.45rem;flex:none;display:block;
}
@media(min-width:640px){.logo-mark{width:1.7rem;height:1.7rem}}
.logo-words{display:flex;flex-direction:column;gap:0;min-width:0}
.logo-words span{display:block}
.logo-words span:last-child{
  -webkit-background-clip:text;background-clip:text;color:transparent;
  background-image:linear-gradient(135deg,hsl(var(--primary)) 0%,hsl(36 40% 78%) 42%,hsl(var(--accent)) 100%);
}
.nav-mid{
  justify-self:center;display:none;align-items:center;gap:1.25rem;
}
@media(min-width:768px){.nav-mid{display:flex}}
@media(min-width:1024px){.nav-mid{gap:2rem}}
.nav-mid a{
  font-size:.875rem;font-weight:500;letter-spacing:.02em;
  color:hsl(var(--muted-foreground));white-space:nowrap;transition:color .15s;
}
.nav-mid a:hover,.nav-mid a.active{color:hsl(var(--primary))}
.header-end{justify-self:end;display:flex;align-items:center;gap:.35rem;flex:none}
@media(min-width:640px){.header-end{gap:.5rem}}
.menu-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem;margin-right:-.35rem}
@media(min-width:768px){.menu-btn{display:none}.btn-nav-mobile{display:none}}
@media(max-width:767px){.btn-nav-desktop{display:none}}

.mobile-nav{
  display:none;border-top:1px solid hsl(var(--border));
  background:hsl(var(--background));padding:1rem 1.5rem 1.25rem;
}
.mobile-nav.open{display:block}
.mobile-nav a{
  display:block;padding:.75rem 0;font-size:.95rem;font-weight:500;
  color:hsl(var(--muted-foreground));border-bottom:1px solid hsl(var(--border));
}
.mobile-nav a:hover,.mobile-nav a.active{color:hsl(var(--primary))}

/* Hero — stacked drama kept; brand owns the stack (not Mint category lines) */
.hero{
  position:relative;min-height:100svh;
  display:flex;flex-direction:column;align-items:center;
  overflow:hidden;padding:5.5rem 0 0;text-align:center;
}
.hero-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 90% 50% at 50% 20%,hsl(var(--accent)/.1),transparent 55%),
    linear-gradient(to bottom,hsl(var(--background)),hsl(var(--background)),hsl(var(--secondary)/.22));
}
.hero-stack{
  position:relative;z-index:1;font-family:var(--font-display);font-weight:700;
  letter-spacing:-.05em;line-height:.88;text-transform:uppercase;
  font-size:clamp(2.1rem,13vw,9.5rem);max-width:72rem;margin:0 auto;width:100%;
  padding:clamp(2.5rem,8vh,5rem) 1rem clamp(2.75rem,8vh,5rem);
  flex:1;display:flex;flex-direction:column;justify-content:center;
}
.hero-stack .block{display:block}
.hero-rot{
  display:block;height:1em;overflow:hidden;position:relative;line-height:1;
}
.hero-rot span{
  display:block;position:absolute;inset:0;width:100%;
  transition:opacity .45s ease,transform .45s ease;
}
.hero-rot span.on{opacity:1;transform:translateY(0)}

/* Hero feed band */
.hero-feed{
  position:relative;z-index:2;
  align-self:stretch;width:100%;max-width:100%;
  padding:0 0 2rem;
  text-align:left;
  overflow:hidden;
}
@media(min-width:640px){.hero-feed{padding-bottom:2.5rem}}
.hero-feed-intro{
  max-width:80rem;margin:0 auto 1.5rem;padding:0 1rem;
  display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1rem 2rem;
}
@media(min-width:640px){.hero-feed-intro{padding:0 1.5rem;margin-bottom:1.75rem}}
@media(min-width:1024px){.hero-feed-intro{padding:0 2rem}}
.hero-feed-intro .eyebrow{margin-bottom:.75rem}
.hero-feed-intro .h3{
  font-family:var(--font-display);font-weight:700;letter-spacing:-.03em;line-height:1.05;
  font-size:clamp(1.35rem,2.8vw,2rem);max-width:18ch;
}
.hero-feed-intro .lead{
  max-width:34ch;margin:0;font-size:.95rem;color:hsl(var(--muted-foreground));
}
.hero-mq{
  display:flex;overflow:hidden;width:100%;
  mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
}
.hero-mq-track{
  display:flex;gap:1rem;flex:none;
  padding-left:1rem;
  animation:hero-scroll 70s linear infinite;
  will-change:transform;
}
@media(min-width:640px){.hero-mq-track{padding-left:1.5rem}}
.hero-mq:hover .hero-mq-track{animation-play-state:paused}
@keyframes hero-scroll{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}
.feed-card{
  flex:0 0 auto;width:300px;
  background:hsl(var(--card));border:1px solid hsl(var(--border));
  border-radius:.75rem;padding:1rem 1.1rem;text-align:left;
  display:flex;flex-direction:column;gap:.7rem;
  color:inherit;text-decoration:none;transition:border-color .2s;
}
a.feed-card:hover{border-color:hsl(var(--primary)/.55)}
a.feed-card:focus-visible{outline-offset:3px}
@media(max-width:480px){.feed-card{width:260px}}
.feed-card-top{display:flex;align-items:center;gap:.65rem}
.feed-card-top img{width:2.25rem;height:2.25rem;border-radius:9999px;object-fit:cover;flex:none}
.feed-card-top .nm{font-family:var(--font-display);font-size:.8rem;font-weight:600;line-height:1.2}
.feed-card-top .rl{font-size:.7rem;color:hsl(var(--muted-foreground));margin-top:.1rem}
.feed-card-txt{font-size:.8rem;line-height:1.45;color:hsl(var(--foreground)/.88);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.feed-card-foot{
  display:flex;align-items:center;justify-content:space-between;gap:.5rem;
  padding-top:.55rem;border-top:1px solid hsl(var(--border));
  font-size:.7rem;font-weight:600;color:hsl(var(--primary));
}
.feed-card-foot .meta{color:hsl(var(--muted-foreground));font-weight:500}
@media(prefers-reduced-motion:reduce){
  .hero-mq-track{animation:none;transform:none}
}

/* Founder */
.founder-grid{
  display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center;width:100%;
}
@media(min-width:768px){
  .founder-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4rem}
}
.founder-photo{
  position:relative;max-width:24rem;margin:0 auto;width:100%;
}
.founder-photo .frame{
  aspect-ratio:3/4;border-radius:1rem;overflow:hidden;background:hsl(var(--card));
}
.founder-photo img{width:100%;height:100%;object-fit:cover;object-position:center 15%}
.founder-badge{
  position:absolute;right:-1rem;bottom:-1rem;
  background:hsl(var(--card));border:1px solid hsl(var(--border));
  border-radius:.75rem;padding:1rem;
}
.founder-badge strong{display:block;font-family:var(--font-display);font-size:.875rem;font-weight:700;color:hsl(var(--primary))}
.founder-badge span{font-size:.75rem;color:hsl(var(--muted-foreground))}

/* Capital history — ledger rows (not Mint vertical timeline) */
.log{
  margin-top:2.5rem;
  border-top:1px solid hsl(var(--border));
  width:100%;
}
.log-row{
  display:grid;grid-template-columns:1fr;gap:.85rem 1.5rem;
  padding:1.75rem 0;
  border-bottom:1px solid hsl(var(--border));
  min-width:0;
}
@media(min-width:768px){
  .log-row{
    grid-template-columns:minmax(6.5rem,8.5rem) minmax(0,1fr);
    gap:1rem 3rem;align-items:start;padding:2.25rem 0;
  }
}
.log-mark{display:flex;flex-direction:column;gap:.35rem;min-width:0}
.log-ix{
  font-family:var(--font-display);font-size:.7rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:hsl(var(--muted-foreground));
}
.log-yr{
  font-family:var(--font-display);font-weight:700;letter-spacing:-.04em;line-height:1;
  font-size:clamp(1.65rem,3.2vw,2.35rem);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  background-image:linear-gradient(135deg,hsl(var(--primary)) 0%,hsl(36 40% 78%) 42%,hsl(var(--accent)) 100%);
}
.log-body{min-width:0;max-width:40rem}
.log-body h3{margin:0 0 .45rem}
.log-body p{margin:0;color:hsl(var(--muted-foreground));font-size:.95rem;line-height:1.65;text-wrap:pretty}

/* Cards — Mint: grid md:grid-cols-3 gap-6 */
.cards{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:2.5rem}
@media(min-width:768px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:768px){.cards.cards-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.card{
  background:hsl(var(--card));border:1px solid hsl(var(--border));
  border-radius:.75rem;padding:1.5rem 2rem;min-width:0;
}
.card h3{margin-bottom:.75rem}
.card.accent-title h3{color:hsl(var(--primary))}
.card p{color:hsl(var(--muted-foreground));font-size:.95rem;line-height:1.6}

/* Case cards — Mint structure: label | stats | outcomes */
.cases{
  display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:2.5rem;
  width:100%;
}
@media(min-width:768px){
  .cases{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.case{
  background:hsl(var(--card));border:1px solid hsl(var(--border));
  border-radius:.75rem;overflow:hidden;
  display:flex;flex-direction:column;min-width:0;height:100%;
  transition:border-color .2s;
}
.case:hover{border-color:hsl(var(--primary)/.5)}
.case-field{
  padding:1.25rem 1.5rem;border-bottom:1px solid hsl(var(--border));
  min-height:4.5rem;display:flex;align-items:center;
}
.case-field .label{
  font-family:var(--font-display);font-size:.7rem;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:hsl(var(--primary));
  margin:0;
}
.case-metrics{
  padding:1.5rem;border-bottom:1px solid hsl(var(--border));
}
.case-stats{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;
  text-align:center;align-items:start;
}
.case-stats .stat{min-width:0}
.case-stats .n{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(1.75rem,3vw,2.25rem);letter-spacing:-.03em;line-height:1.05;
}
.case-stats .l{
  font-size:.8rem;color:hsl(var(--muted-foreground));margin-top:.35rem;line-height:1.3;
}
.case-growth{
  text-align:center;color:hsl(var(--accent));font-size:.8rem;font-weight:600;
  margin-top:.85rem;line-height:1.35;
}
.case-body{padding:1.5rem;flex:1;min-width:0}
.case-body .label{
  font-family:var(--font-display);font-size:.7rem;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:hsl(var(--primary));
}
.case-body p{color:hsl(var(--muted-foreground));font-size:.95rem;line-height:1.6;margin:0 0 1rem}
.case-body h3,.case-body .case-title{
  font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;
  font-size:clamp(1.15rem,2vw,1.35rem);margin:0 0 .75rem;line-height:1.2;
}
.case ul{list-style:none;margin:0;padding:0}
.case li{
  display:flex;gap:.75rem;padding:.4rem 0;font-size:.875rem;
  color:hsl(var(--foreground));line-height:1.4;align-items:flex-start;
}
.case li::before{
  content:"";width:.375rem;height:.375rem;border-radius:9999px;
  background:hsl(var(--primary));margin-top:.45rem;flex:none;
}

/* Featured single case (case-studies page) */
.case.case-feature{
  display:grid;grid-template-columns:1fr;gap:0;align-items:stretch;
}
@media(min-width:768px){
  .case.case-feature{grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr)}
}
.case-feature .case-body{border-bottom:1px solid hsl(var(--border))}
@media(min-width:768px){
  .case-feature .case-body{border-bottom:none;border-right:1px solid hsl(var(--border))}
  .case-feature .case-metrics{
    border-bottom:none;display:flex;flex-direction:column;justify-content:center;
  }
}

/* Quote */
.quote{
  text-align:center;padding:5rem 1rem;
}
.quote img{
  width:6rem;height:6rem;border-radius:9999px;object-fit:cover;margin:0 auto 2rem;
  border:2px solid hsl(var(--border));
}
.quote blockquote{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(1.5rem,3.5vw,2.5rem);line-height:1.25;letter-spacing:-.03em;
  max-width:18ch;margin:0 auto 2rem;text-wrap:balance;
}

/* Testimonials — Mint: grid md:grid-cols-3 gap-6 */
.t-cards{
  display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:0;
  width:100%;align-items:stretch;
}
@media(min-width:768px){
  .t-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.t-card{
  background:hsl(var(--card));border:1px solid hsl(var(--border));
  border-radius:.75rem;padding:1.5rem;
  display:flex;flex-direction:column;min-width:0;height:100%;
  transition:border-color .2s;
}
.t-card:hover{border-color:hsl(var(--primary)/.5)}
.t-card blockquote,.t-card > p{
  flex:1;font-size:.875rem;line-height:1.625;color:hsl(var(--foreground));
  margin:0 0 1rem;
}
.t-card .who{
  margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.75rem;
}
.t-card .who span{
  font-family:var(--font-display);font-size:.75rem;font-weight:600;
  color:hsl(var(--primary));line-height:1.35;min-width:0;
}
.t-card .who img{
  width:3.5rem;height:3.5rem;border-radius:9999px;object-fit:cover;flex-shrink:0;
}

/* Final CTA */
.final{text-align:center;padding:4rem 1rem 5rem}
.final .h2{max-width:16ch;margin:0 auto}
.final .lead{margin:1rem auto 2rem}
.final .btn{margin-top:0}

/* Services page */
.svc-grid{
  display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:2.5rem;width:100%;
}
@media(min-width:768px){.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.svc{
  background:hsl(var(--card));border:1px solid hsl(var(--border));
  border-radius:.75rem;padding:1.5rem 2rem;min-width:0;height:100%;
}
.svc h3{color:hsl(var(--primary));margin-bottom:.75rem}
.svc > p{color:hsl(var(--muted-foreground));margin-bottom:1rem;font-size:.95rem}
.svc ul{list-style:none;margin:0;padding:0}
.svc li{
  padding:.55rem 0;font-size:.875rem;border-top:1px solid hsl(var(--border));
  color:hsl(var(--foreground));
}
.svc li:first-of-type{border-top:0}

/* Principles */
.prin-grid{
  display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:2.5rem;width:100%;
}
@media(min-width:768px){.prin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.prin{
  background:hsl(var(--background));border:1px solid hsl(var(--border));
  border-radius:.75rem;padding:1.5rem 2rem;min-width:0;height:100%;
}
.prin h3{color:hsl(var(--primary));margin-bottom:.75rem}
.prin p{color:hsl(var(--muted-foreground));font-size:.875rem;line-height:1.6}

.band{background:hsl(var(--card)/.5)}

/* Footer */
footer{border-top:1px solid hsl(var(--border));padding:3rem 0 2rem}
.foot-top{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem;
}
.foot-nav{display:flex;flex-wrap:wrap;gap:1.25rem}
.foot-nav a{font-size:.875rem;color:hsl(var(--muted-foreground));transition:color .15s}
.foot-nav a:hover{color:hsl(var(--primary))}
.foot-social{display:flex;gap:.25rem}
.foot-social a{
  padding:.5rem;color:hsl(var(--muted-foreground));transition:color .15s;
  display:inline-flex;
}
.foot-social a:hover{color:hsl(var(--primary))}
.foot-copy{
  margin-top:2rem;padding-top:2rem;border-top:1px solid hsl(var(--border));
  text-align:center;font-size:.8rem;color:hsl(var(--muted-foreground));
}

.page{padding-top:5rem}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
