:root{
  --cream:#FBF3EC;
  --blush:#F4E1D6;
  --blush-deep:#EEC3AC;
  --blush-pale:#F8EAE1;
  --espresso:#241712;
  --espresso-soft:#2E1F19;
  --paper:#FAF3EC;
  --ink:#241712;
  --muted:#7A6A60;
  --muted-on-dark:#C9B8AE;
  --gold:#B8874E;
  --gold-bright:#D6A968;
  --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--cream);
  color:var(--ink);
  font-family:'Plus Jakarta Sans',sans-serif;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
.display{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;letter-spacing:-0.015em;}
.wrap{max-width:1120px;margin:0 auto;padding:0 32px;}

/* SPARK ICON */
.spark{display:inline-block;transition:transform .5s var(--ease);}
.brand:hover .spark{transform:rotate(90deg);}

/* NAV */
nav{
  padding:22px 0;
  position:sticky;top:0;z-index:50;
  transition:background .35s ease, box-shadow .35s ease, padding .35s ease, backdrop-filter .35s ease;
}
nav.scrolled{
  background:rgba(251,243,236,0.82);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 1px 0 rgba(36,23,18,0.08);
  padding:15px 0;
}
nav .wrap{display:flex;align-items:center;justify-content:space-between;}
.brand{display:flex;align-items:center;gap:9px;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:19px;color:var(--ink);text-decoration:none;}
.navlinks{display:flex;align-items:center;gap:34px;font-size:15px;font-weight:500;}
.navlinks a{color:var(--ink);text-decoration:none;position:relative;}
.navlinks a.active{color:var(--gold);}
.navlinks a:not(.pill)::after{
  content:'';position:absolute;left:0;bottom:-4px;width:0;height:1.5px;background:var(--gold);
  transition:width .3s var(--ease);
}
.navlinks a.active::after{width:100%;}
.navlinks a:not(.pill):hover::after{width:100%;}

.pill{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;font-size:14px;
  padding:13px 26px;border-radius:999px;
  text-decoration:none;cursor:pointer;border:none;
  position:relative;overflow:hidden;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .35s var(--ease);
  will-change:transform;
}
.pill::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(120deg, transparent 30%, rgba(255,255,255,0.35) 50%, transparent 70%);
  transform:translateX(-120%);
}
.pill:hover::before{transform:translateX(120%);transition:transform .7s var(--ease);}
.pill:active{transform:scale(0.96) !important;}
.pill.dark{background:var(--espresso);color:var(--paper);box-shadow:0 1px 0 rgba(255,255,255,0.08) inset;}
.pill.dark:hover{background:#352520;transform:translateY(-2px);box-shadow:0 12px 28px rgba(36,23,18,0.35), 0 0 0 1px var(--gold) inset;}
.pill.blush{background:var(--blush-deep);color:var(--espresso);}
.pill.blush:hover{background:var(--gold-bright);color:var(--espresso);transform:translateY(-2px) scale(1.02);box-shadow:0 14px 30px rgba(184,135,78,0.4);}
.pill.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink);}
.pill.ghost:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px);}
.pill.ghost.on-dark{color:var(--paper);border-color:rgba(250,243,236,0.5);}
.pill.ghost.on-dark:hover{border-color:var(--gold-bright);color:var(--gold-bright);}

.magnet{display:inline-block;}

/* SCROLL REVEAL */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease), transform .8s var(--ease);}
.reveal.in{opacity:1;transform:translateY(0);}

/* PAGE HERO (interior pages) */
.page-hero{padding:64px 0 20px;}
.page-hero .eyebrow{font-size:12px;font-weight:700;letter-spacing:0.14em;color:var(--gold);margin-bottom:14px;}
.page-hero h1{font-size:48px;line-height:1.08;max-width:760px;}
.page-hero p.sub{font-size:16px;color:var(--muted);max-width:520px;margin-top:16px;}

/* HOME HERO */
.hero{
  position:relative;
  height:640px;
  border-radius:28px;
  overflow:hidden;
  margin:8px 0 0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:#5b4a3f;
}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.08);animation:heroZoom 8s var(--ease) forwards;}
.hero::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(36,23,18,0.55) 0%, rgba(36,23,18,0.25) 40%, rgba(36,23,18,0.6) 100%);
}
.hero-content{position:relative;z-index:2;color:var(--paper);max-width:760px;padding:0 24px;}
.hero-mark{margin-bottom:18px;opacity:0;animation:heroIn .7s var(--ease) .1s forwards;}
.hero-eyebrow{font-size:12px;font-weight:600;letter-spacing:0.14em;margin-bottom:16px;color:var(--gold-bright);opacity:0;animation:heroIn .7s var(--ease) .25s forwards;}
.hero h1{font-size:56px;line-height:1.06;margin-bottom:22px;opacity:0;animation:heroIn .8s var(--ease) .4s forwards;}
.hero p.sub{font-size:17px;color:#EFE3D8;max-width:520px;margin:0 auto;opacity:0;animation:heroIn .8s var(--ease) .58s forwards;}
@keyframes heroIn{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}
@keyframes heroZoom{to{transform:scale(1);}}

/* SECTION: CTA STRIP */
.cta-strip{padding:104px 0 88px;text-align:center;}
.cta-strip h2{font-size:42px;max-width:640px;margin:0 auto 18px;}
.cta-strip p{color:var(--muted);font-size:16px;max-width:480px;margin:0 auto 30px;}
.cta-strip .pill{margin-bottom:56px;}
.cta-photo{
  max-width:760px;margin:0 auto;border-radius:24px;overflow:hidden;
  aspect-ratio:16/8.2;
}
.cta-photo img{width:100%;height:100%;object-fit:cover;display:block;}

/* DARK STAT BLOCK */
.stat-block{background:var(--espresso);color:var(--paper);padding:90px 0;border-radius:28px;}
.stat-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:40px;align-items:center;}
.stat-grid h2{font-size:44px;line-height:1.1;margin-bottom:22px;}
.stat-grid p{color:var(--muted-on-dark);font-size:15px;max-width:400px;}
.donut-wrap{display:flex;justify-content:center;}
.donut{position:relative;width:280px;height:280px;border-radius:50%;
  --p:0deg;
  background:conic-gradient(var(--gold-bright) var(--p), var(--blush-pale) var(--p) 360deg);
  display:flex;align-items:center;justify-content:center;
  transition:filter .3s ease;
}
.donut.animate{transition:background 1.4s var(--ease);}
.donut::before{content:'';position:absolute;width:180px;height:180px;border-radius:50%;background:var(--espresso);box-shadow:0 0 0 1px rgba(214,169,104,0.25) inset;}
.donut-label{position:relative;z-index:2;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:44px;}

/* FEATURE COLUMNS (About) */
.features{padding:96px 0;}
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;}
.feature-col{border-top:2px solid var(--espresso);padding-top:20px;}
.feature-col h4{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:19px;margin-bottom:10px;}
.feature-col p{font-size:14px;color:var(--muted);}

/* TWO COLUMN INTRO (About: Who we are) */
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:80px 0 60px;}
.intro-photo{border-radius:24px;overflow:hidden;aspect-ratio:4/3;}
.intro-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.intro-text h2{font-size:40px;margin-bottom:18px;}
.intro-text p{font-size:15px;color:var(--muted);margin-bottom:14px;max-width:420px;}

/* OPEN ROUNDS / ROLES */
.rounds{padding:96px 0;}
.rounds h2{font-size:40px;text-align:center;margin-bottom:56px;}
.rounds-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.round-card{
  background:var(--blush-pale);border-radius:20px;padding:36px 30px;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), background .4s var(--ease);
}
.round-card:hover{
  transform:translateY(-6px);
  background:#FAF0E8;
  box-shadow:0 22px 40px rgba(36,23,18,0.14);
}
.round-card .icon{margin-bottom:26px;transition:transform .4s var(--ease);}
.round-card:hover .icon{transform:rotate(45deg);}
.round-card h3{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:20px;margin-bottom:12px;letter-spacing:-0.005em;}
.round-card p{font-size:14px;color:var(--muted);margin-bottom:18px;}
.round-meta{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;}
.round-meta .co{color:var(--muted);font-weight:500;}
.round-meta .time{background:var(--blush-deep);padding:4px 11px;border-radius:999px;transition:background .3s ease;}
.round-card:hover .round-meta .time{background:var(--gold-bright);}

/* PULL QUOTE */
.pullquote{position:relative;border-radius:28px;overflow:hidden;margin:0 0 96px;min-height:480px;display:flex;align-items:center;}
.pullquote img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.pullquote::after{content:'';position:absolute;inset:0;background:rgba(36,23,18,0.62);}
.pullquote-content{position:relative;z-index:2;padding:60px 56px;color:var(--paper);}
.pullquote blockquote{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:32px;line-height:1.28;max-width:760px;margin-bottom:32px;}
.pullquote-attr{display:flex;justify-content:space-between;font-size:13px;font-weight:600;letter-spacing:0.02em;}

/* TESTIMONIAL CARDS */
.testimonials{padding:0 0 96px;}
.testimonials h2{font-size:40px;text-align:center;margin-bottom:52px;}
.t-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.t-card{
  background:var(--blush-pale);border-radius:20px;padding:38px 28px;text-align:center;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.t-card:hover{transform:translateY(-6px);box-shadow:0 22px 40px rgba(36,23,18,0.14);}
.t-avatar{
  width:76px;height:76px;border-radius:50%;object-fit:cover;margin:0 auto 22px;display:block;
  box-shadow:0 0 0 3px var(--paper), 0 0 0 4px var(--blush-deep);
  transition:box-shadow .4s ease;
}
.t-card:hover .t-avatar{box-shadow:0 0 0 3px var(--paper), 0 0 0 4px var(--gold-bright);}
.t-card p.quote{font-size:16px;margin-bottom:20px;}
.t-card .name{font-weight:700;font-size:14px;}
.t-card .role{font-size:12px;color:var(--muted);margin-top:2px;}

/* PARTNERS / INTEGRATIONS */
.partners{padding:90px 0 100px;}
.partners-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;}
.partners h2{font-size:38px;}
.partners-list{display:grid;grid-template-columns:1fr 1fr;gap:6px 40px;}
.partners-list span{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:22px;padding:9px 0;}

/* CONTACT FORM */
.contact-section{padding:70px 0 100px;}
.contact-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:56px;}
.contact-info h1{font-size:44px;margin-bottom:20px;}
.contact-info p{font-size:15px;color:var(--muted);max-width:380px;margin-bottom:32px;}
.contact-detail{display:flex;gap:14px;margin-bottom:22px;align-items:flex-start;}
.contact-detail .dot{
  width:34px;height:34px;border-radius:50%;background:var(--blush-pale);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.contact-detail h5{font-size:14px;font-weight:700;margin-bottom:3px;}
.contact-detail p{font-size:13.5px;color:var(--muted);margin:0;}
.form-group{margin-bottom:22px;}
.form-group label{display:block;font-size:13px;font-weight:700;margin-bottom:8px;}
.form-group input, .form-group textarea{
  width:100%;padding:14px 16px;border-radius:12px;border:1.5px solid var(--blush-deep);
  background:var(--blush-pale);font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;color:var(--ink);
  transition:border-color .25s ease, box-shadow .25s ease;
}
.form-group textarea{min-height:120px;resize:vertical;}
.form-group input:focus, .form-group textarea:focus{
  outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,135,78,0.15);
}
.form-note{font-size:12px;color:var(--muted);margin-top:12px;text-align:center;}
.submit-btn{width:100%;padding:15px;font-size:15px;}

/* FOOTER */
footer{background:var(--espresso);color:var(--paper);border-radius:28px;overflow:hidden;margin-bottom:32px;}
.footer-top{padding:70px 0 50px;text-align:center;}
.footer-mark{margin-bottom:26px;}
.footer-wordmark{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:52px;letter-spacing:-0.01em;}
.footer-rule{width:46px;height:2px;background:var(--gold-bright);margin:18px auto 0;}
.footer-photo{width:100%;height:220px;overflow:hidden;}
.footer-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.footer-bottom{padding:34px 32px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:13px;font-weight:600;}
.footer-bottom .col p{margin-bottom:4px;color:var(--muted-on-dark);}
.footer-bottom .col p:first-child{color:var(--paper);}

/* FOOTER LINK GRID */
.footer-links{
  padding:56px 32px 40px;
  border-bottom:1px solid rgba(250,243,236,0.1);
  display:grid;
  grid-template-columns:1.3fr repeat(5,1fr);
  gap:28px 24px;
}
.footer-links .about p{font-size:14px;color:var(--muted-on-dark);max-width:220px;margin-bottom:22px;}
.footer-social{display:flex;gap:14px;}
.footer-social a{
  width:34px;height:34px;border-radius:50%;
  border:1px solid rgba(250,243,236,0.2);
  display:flex;align-items:center;justify-content:center;
  color:var(--paper);transition:border-color .25s ease, background .25s ease, transform .25s ease;
}
.footer-social a:hover{border-color:var(--gold-bright);background:rgba(214,169,104,0.12);transform:translateY(-2px);}
.footer-col h5{
  font-size:12px;font-weight:700;letter-spacing:0.08em;color:var(--muted-on-dark);
  margin-bottom:18px;
}
.footer-col a{
  display:block;font-size:14px;color:var(--paper);text-decoration:none;
  margin-bottom:13px;position:relative;width:fit-content;
}
.footer-col a::after{
  content:'';position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--gold-bright);
  transition:width .3s var(--ease);
}
.footer-col a:hover{color:var(--gold-bright);}
.footer-col a:hover::after{width:100%;}
.footer-col .soon{
  display:block;font-size:14px;color:var(--muted-on-dark);
  margin-bottom:13px;opacity:0.55;cursor:default;position:relative;width:fit-content;
}
.footer-col .soon::after{
  content:'soon';font-size:9px;font-weight:700;letter-spacing:0.05em;
  color:var(--gold-bright);background:rgba(214,169,104,0.14);
  border-radius:4px;padding:1px 5px;margin-left:8px;vertical-align:middle;
  position:relative;top:-1px;
}
/* Marks content on this marketing site that isn't real yet — fabricated
   testimonials, stats, logos, or certifications that came with the mockup
   this site was built from. Swap the real thing in and delete the tag next
   to it whenever each one becomes true. See design/DESIGN-SYSTEM.md. */
.placeholder-tag{
  display:inline-block;font-size:11px;font-weight:700;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--gold-bright);
  background:rgba(214,169,104,0.16);border-radius:6px;
  padding:4px 10px;margin-bottom:14px;
}
.badge-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;}
.badge{
  font-size:10.5px;font-weight:700;letter-spacing:0.04em;color:var(--muted-on-dark);
  border:1px solid rgba(250,243,236,0.18);border-radius:6px;padding:6px 10px;
}

@media (max-width:900px){
  .footer-links{grid-template-columns:1fr 1fr 1fr;}
}
@media (max-width:820px){
  .stat-grid,.rounds-grid,.t-grid,.partners-grid,.features-grid,.intro-grid,.contact-grid{grid-template-columns:1fr;}
  .hero h1{font-size:38px;}
  .hero{height:auto;padding:80px 0;}
  .page-hero h1{font-size:32px;}
  .cta-strip h2,.stat-grid h2,.rounds h2,.testimonials h2,.partners h2,.intro-text h2{font-size:30px;}
  .pullquote blockquote{font-size:24px;}
  .footer-wordmark{font-size:32px;}
  .contact-info h1{font-size:32px;}
}
@media (max-width:600px){
  .footer-links{grid-template-columns:1fr 1fr;padding:48px 24px 32px;}
}
