/* Conto Labs marketing site — design system foundations + component styles */

:root{
  /* brand colors */
  --ink:#0C447C;
  --blue:#185FA5;
  --sky:#378ADD;
  --mustard:#EF9F27;
  --amber-deep:#BA7517;
  --paper:#FFFFFF;

  /* tints */
  --blue-50:#E6F1FB;
  --blue-100:#B5D4F4;
  --mustard-50:#FAEEDA;
  --mustard-100:#FAC775;

  /* neutrals */
  --text-primary:#0C447C;
  --text-secondary:#5F5E5A;
  --text-tertiary:#888780;
  --border:#D3D1C7;
  --surface:#F1EFE8;

  /* type */
  --font-sans:"Inter","Geist",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;

  /* radii */
  --radius-sm:6px;
  --radius-md:8px;
  --radius-lg:12px;
  --radius-xl:16px;
  --radius-pill:999px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--font-sans);color:var(--text-primary);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:var(--font-sans);color:var(--ink);line-height:1.25;margin:0;font-weight:500;letter-spacing:-0.01em;}
a{color:inherit;text-decoration:none;}
.container{max-width:1080px;margin:0 auto;padding:0 24px;}

/* nav */
nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-bottom:0.5px solid var(--border);}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:64px;}
.logo{display:flex;align-items:center;gap:10px;}
.logo img{display:block;height:44px;width:auto;}
.nav-links{display:flex;gap:26px;align-items:center;font-size:14px;font-weight:500;color:var(--text-secondary);}
.nav-links a:hover{color:var(--ink);}
.nav-cta{background:var(--blue);color:#fff;padding:9px 16px;border-radius:var(--radius-md);font-size:14px;font-weight:500;transition:background .13s ease;}
.nav-cta:hover{background:#134f8a;}
@media(max-width:820px){.nav-links a:not(.nav-cta){display:none;}}

/* hero — flat surface, no gradient/texture */
.hero{background:var(--surface);padding:84px 0 72px;text-align:center;border-bottom:0.5px solid var(--border);}
.eyebrow{display:inline-block;font-size:12px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--text-secondary);background:var(--paper);border:0.5px solid var(--border);padding:6px 14px;border-radius:var(--radius-pill);margin-bottom:24px;}
.hero h1{font-size:44px;font-weight:500;letter-spacing:-.02em;margin-bottom:20px;line-height:1.15;}
.hero h1 .hl{position:relative;white-space:nowrap;}
.hero h1 .hl::after{content:"";position:absolute;left:-2px;right:-2px;bottom:4px;height:12px;background:var(--mustard);z-index:-1;border-radius:3px;}  /* the hero's one mustard accent */
.hero p.lede{font-size:18px;color:var(--text-secondary);max-width:660px;margin:0 auto 32px;line-height:1.7;}
.hero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:var(--radius-md);font-weight:500;font-size:15px;transition:background .13s ease,color .13s ease,border-color .13s ease;cursor:pointer;border:none;font-family:inherit;}
.btn:active{transform:scale(0.98);}
.btn-primary{background:var(--blue);color:#fff;}
.btn-primary:hover{background:#134f8a;}
.btn-ghost{background:var(--paper);color:var(--blue);border:1px solid var(--blue);}
.btn-ghost:hover{background:var(--blue-50);}
.btn-accent{background:var(--mustard);color:#412402;}
.btn-accent:hover{background:#e0921c;}
@media(max-width:640px){.hero h1{font-size:34px;}.hero p.lede{font-size:16px;}}

/* sections */
section{padding:76px 0;}
.sec-soft{background:var(--surface);border-top:0.5px solid var(--border);border-bottom:0.5px solid var(--border);}
.sec-head{text-align:center;max-width:640px;margin:0 auto 48px;}
.sec-head h2{font-size:32px;font-weight:500;letter-spacing:-.01em;margin-bottom:12px;}
.sec-head p{font-size:16px;color:var(--text-secondary);margin:0;line-height:1.7;}
.kicker{font-size:12px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:14px;display:block;}

.grid{display:grid;gap:20px;}
.grid-2{grid-template-columns:1fr 1fr;}
.grid-3{grid-template-columns:repeat(3,1fr);}
@media(max-width:880px){.grid-2,.grid-3{grid-template-columns:1fr;}}
/* cards: flat — white ground, 0.5px border, no shadow; hover lifts border to blue */
.card{background:var(--paper);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:26px;transition:border-color .13s ease;}
.card:hover{border-color:var(--blue-100);}
.tile{width:46px;height:46px;border-radius:var(--radius-md);background:var(--blue-50);display:grid;place-items:center;margin-bottom:18px;}
.tile svg{width:22px;height:22px;stroke:var(--blue);}
.card h3{font-size:18px;font-weight:500;margin-bottom:9px;color:var(--ink);}
.card p{font-size:15px;margin:0;color:var(--text-secondary);line-height:1.65;}
/* tiles stay in the blue family — depth from layout, not a rainbow of fills */
.tile.y,.tile.g,.tile.o{background:var(--blue-50);}
.tile.y svg,.tile.g svg,.tile.o svg{stroke:var(--blue);}

/* two pain profiles */
.profiles{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:46px;}
@media(max-width:820px){.profiles{grid-template-columns:1fr;}}
.profile{border-radius:var(--radius-lg);padding:30px;border:0.5px solid var(--border);background:var(--paper);}
.profile .lab{font-size:12px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;padding:5px 12px;border-radius:var(--radius-pill);display:inline-block;margin-bottom:16px;background:var(--blue-50);color:var(--blue);}
.profile h3{font-size:20px;font-weight:500;margin-bottom:10px;color:var(--ink);}
.profile p{font-size:15px;margin:0;color:var(--text-secondary);line-height:1.65;}

/* flow — blue-family progression, no rainbow */
.flow{display:flex;align-items:stretch;gap:0;flex-wrap:wrap;justify-content:center;margin-top:6px;}
.flow-step{flex:1;min-width:150px;text-align:center;padding:0 12px;position:relative;}
.flow-step .num{width:42px;height:42px;border-radius:var(--radius-md);display:grid;place-items:center;margin:0 auto 14px;font-family:var(--font-mono);font-weight:500;font-size:16px;color:#fff;}
.flow-step h4{font-size:16px;font-weight:500;margin-bottom:6px;color:var(--ink);}
.flow-step p{font-size:13.5px;color:var(--text-secondary);margin:0;}
.flow-step:not(:last-child)::after{content:"\2192";position:absolute;right:-9px;top:11px;color:var(--blue-100);font-size:20px;}
@media(max-width:880px){.flow-step:not(:last-child)::after{display:none;}.flow-step{flex:0 0 100%;margin-bottom:24px;}}
.n1{background:var(--sky);}.n2{background:var(--blue);}.n3{background:var(--blue);}.n4{background:var(--ink);}.n5{background:var(--ink);}

.diagram-wrap{background:var(--paper);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:30px;margin-top:14px;}
.diagram-wrap .dh{display:flex;align-items:center;gap:12px;margin-bottom:6px;flex-wrap:wrap;}
.diagram-wrap .dtag{font-size:12px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;padding:4px 11px;border-radius:var(--radius-pill);}
.dtag.brown{background:var(--blue-50);color:var(--blue);}
.dtag.green{background:var(--mustard-50);color:var(--amber-deep);}
.diagram-wrap h3{font-size:19px;font-weight:500;color:var(--ink);}
.diagram-wrap p.dsub{font-size:14.5px;color:var(--text-secondary);margin:6px 0 18px;line-height:1.6;}
.diagram-wrap svg{width:100%;height:auto;}
.blocktitle{font-family:var(--font-sans);font-weight:500;fill:var(--ink);}
.blocksub{font-family:var(--font-sans);fill:var(--text-tertiary);}

/* harness callout — flat ink panel, mustard label is its one accent */
.harness{background:var(--ink);color:var(--blue-100);border-radius:var(--radius-xl);padding:46px 40px;text-align:center;}
.harness .lab{display:inline-block;background:var(--mustard);color:#412402;font-size:12px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;padding:6px 14px;border-radius:var(--radius-pill);margin-bottom:18px;}
.harness h2{color:#fff;font-size:28px;font-weight:500;margin-bottom:14px;}
.harness p{font-size:17px;max-width:680px;margin:0 auto;color:var(--blue-100);line-height:1.7;}

/* value strip */
.strip{background:var(--paper);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:8px;display:grid;grid-template-columns:repeat(5,1fr);}
@media(max-width:880px){.strip{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.strip{grid-template-columns:1fr;}}
.strip .item{padding:22px 18px;text-align:center;border-right:0.5px solid var(--border);}
.strip .item:last-child{border-right:none;}
@media(max-width:880px){.strip .item{border-right:none;border-bottom:0.5px solid var(--border);}}
.strip .big{font-family:var(--font-mono);font-weight:500;font-size:16px;color:var(--ink);margin-bottom:4px;display:block;}
.strip .sm{font-size:13px;color:var(--text-tertiary);}

/* solutions — brownfield=blue, greenfield=mustard (the section's one accent) */
.sol{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
@media(max-width:880px){.sol{grid-template-columns:1fr;}}
.sol-card{border-radius:var(--radius-lg);padding:32px 30px;border:0.5px solid var(--border);background:var(--paper);}
.sol-green{border-color:var(--mustard-100);}
.sol-card .badge{display:inline-block;font-size:12px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;padding:5px 12px;border-radius:var(--radius-pill);margin-bottom:16px;}
.sol-brown .badge{background:var(--blue-50);color:var(--blue);}
.sol-green .badge{background:var(--mustard-50);color:var(--amber-deep);}
.sol-card h3{font-size:22px;font-weight:500;margin-bottom:8px;color:var(--ink);}
.sol-card .aud{font-size:13px;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:14px;}
.sol-card p{font-size:15px;margin:0 0 16px;color:var(--text-secondary);line-height:1.65;}
.sol-card ul{margin:16px 0 0;padding:0;list-style:none;}
.sol-card li{position:relative;padding-left:24px;margin-bottom:10px;font-size:14.5px;color:var(--text-primary);}
.sol-card li::before{content:"";position:absolute;left:0;top:7px;width:11px;height:11px;border-radius:3px;}
.sol-brown li::before{background:var(--blue);}
.sol-green li::before{background:var(--mustard);}

/* about */
.about-name{text-align:center;max-width:720px;margin:0 auto 44px;}
.about-name .eq{font-family:var(--font-mono);font-weight:500;font-size:26px;color:var(--ink);margin-bottom:14px;}
.about-name .eq span{color:var(--blue);}
.about-name p{font-size:16px;color:var(--text-secondary);line-height:1.7;}
.pill-ph{display:inline-block;background:var(--blue-50);color:var(--blue);font-size:12px;font-weight:500;border-radius:var(--radius-pill);padding:3px 10px;margin-bottom:12px;letter-spacing:.02em;text-transform:uppercase;}

/* join */
.role{display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--paper);border:0.5px solid var(--border);border-radius:var(--radius-md);padding:20px 24px;margin-bottom:12px;transition:border-color .13s ease;}
.role:hover{border-color:var(--blue-100);}
.role h4{font-size:16px;font-weight:500;margin-bottom:3px;color:var(--ink);}
.role p{font-size:14px;color:var(--text-secondary);margin:0;}
.role .go{font-size:14px;font-weight:500;color:var(--blue);white-space:nowrap;}
.join-catch{text-align:center;margin-top:30px;font-size:15px;color:var(--text-secondary);}

/* connect — flat ink panel; the schedule CTA is the accent */
.connect{background:var(--ink);color:var(--blue-100);text-align:center;padding:78px 0 48px;}
.connect .coffee{width:60px;height:60px;border-radius:var(--radius-pill);background:rgba(255,255,255,.1);display:grid;place-items:center;margin:0 auto 22px;}
.connect h2{color:#fff;font-size:30px;font-weight:500;margin-bottom:16px;}
.connect p{max-width:560px;margin:0 auto 28px;font-size:16px;color:var(--blue-100);line-height:1.7;}
.connect .pill{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.08);border:0.5px solid rgba(255,255,255,.18);padding:11px 20px;border-radius:var(--radius-pill);font-weight:500;font-size:14px;color:#fff;margin:5px;transition:background .13s ease;}
.connect .pill:hover{background:rgba(255,255,255,.16);}
.connect .divider{width:60%;max-width:380px;height:0.5px;background:rgba(255,255,255,.18);margin:34px auto;}
.connect h3{color:#fff;font-size:19px;font-weight:500;margin-bottom:18px;}
.connect .btn-accent{background:var(--mustard);color:#412402;}
.connect .btn-accent:hover{background:#e0921c;}
.footer-bottom{text-align:center;padding:26px 0;background:#093461;color:var(--blue-100);font-size:13px;}

.reveal{opacity:1;transform:none;}
@media (prefers-reduced-motion: no-preference){
  .reveal{opacity:0;transform:translateY(14px);transition:opacity .5s ease, transform .5s ease;}
  .reveal.in{opacity:1;transform:none;}
}
