:root{
  --cream:#F4F0E7;
  --cream-soft:#D8D2C6;
  --paper:#F9F6EF;
  --charcoal:#2E2924;
  --charcoal-soft:#5C5347;
  --taupe:rgba(244,240,231,0.72);
  --taupe-dark:rgba(244,240,231,0.45);
  --accent:#6F7550;
  --accent-dark:#414B32;
  --accent-soft:#AEB392;
  --line:rgba(46,41,36,0.14);
  --max:1240px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--cream);
  color:var(--charcoal);
  font-family:'Inter',sans-serif;
  font-weight:400;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4,.serif{
  font-family:'Fraunces',serif;
  font-weight:500;
  line-height:1.08;
  letter-spacing:-0.01em;
  color:var(--charcoal);
  margin:0;
}
p{margin:0;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 32px;}
section{position:relative;}
.eyebrow{
  font-family:'Inter',sans-serif;
  font-size:12.5px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--accent-dark);
  font-weight:600;
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.eyebrow::before{content:'';width:22px;height:1px;background:var(--accent);display:inline-block;}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:16px 30px;border-radius:2px;font-family:'Inter',sans-serif;
  font-size:14.5px;font-weight:600;letter-spacing:0.02em;cursor:pointer;
  border:1px solid transparent;transition:all .25s ease;white-space:nowrap;
}
.btn-primary{background:var(--charcoal);color:var(--cream);}
.btn-primary:hover{background:var(--accent-dark);}
.btn-outline{background:transparent;color:var(--charcoal);border:1px solid var(--charcoal);}
.btn-outline:hover{background:var(--charcoal);color:var(--cream);}
.btn-light{background:transparent;color:var(--cream);border:1px solid rgba(247,241,231,0.55);}
.btn-light:hover{background:var(--cream);color:var(--charcoal);}
.btn-accent{background:var(--accent);color:var(--cream);}
.btn-accent:hover{background:var(--accent-dark);}
.btn[disabled]{opacity:0.55;cursor:not-allowed;}

/* NAV */
header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(247,241,231,0.88);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.navbar{display:flex;align-items:center;justify-content:space-between;padding:20px 32px;max-width:var(--max);margin:0 auto;}
.logo{font-family:'Fraunces',serif;font-size:24px;font-weight:600;letter-spacing:0.06em;}
.navlinks{display:flex;align-items:center;gap:34px;}
.navlinks a{font-size:13.5px;font-weight:500;letter-spacing:0.03em;text-transform:uppercase;color:var(--charcoal-soft);transition:color .2s;}
.navlinks a:hover{color:var(--accent-dark);}
.nav-cta{display:flex;align-items:center;gap:16px;}
.nav-cta .btn{padding:12px 22px;font-size:13px;}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px;}
.burger span{width:24px;height:2px;background:var(--charcoal);display:block;}
.mobile-menu{
  position:fixed;inset:0;background:var(--cream);z-index:99;
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  padding:40px 32px;gap:26px;transform:translateY(-100%);transition:transform .35s ease;
}
.mobile-menu.open{transform:translateY(0);}
.mobile-menu a{font-family:'Fraunces',serif;font-size:30px;color:var(--charcoal);}
.mobile-menu .close-btn{position:absolute;top:24px;right:32px;font-size:28px;background:none;border:none;cursor:pointer;color:var(--charcoal);}

/* HERO */
.hero{padding:170px 0 100px;background:var(--cream);}
.hero-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:64px;align-items:center;}
.hero h1{font-size:clamp(52px,7vw,92px);}
.hero .tagline{font-family:'Fraunces',serif;font-style:italic;font-size:clamp(20px,2.4vw,28px);color:var(--accent-dark);margin-top:14px;}
.hero p.lead{font-size:18px;color:var(--charcoal-soft);max-width:520px;margin-top:26px;}
.hero-ctas{display:flex;gap:16px;margin-top:38px;flex-wrap:wrap;}
.hero-img-wrap{position:relative;}
.hero-img{border-radius:2px;aspect-ratio:4/5;object-fit:cover;box-shadow:0 30px 60px -20px rgba(34,30,27,0.35);}
.hero-badge{
  position:absolute;bottom:-26px;left:-26px;background:var(--charcoal);color:var(--cream);
  padding:22px 26px;max-width:230px;border-radius:2px;box-shadow:0 20px 40px -10px rgba(0,0,0,0.35);
}
.hero-badge .num{font-family:'Fraunces',serif;font-size:30px;color:var(--accent-soft);}
.hero-badge p{font-size:12.5px;letter-spacing:0.02em;margin-top:6px;color:var(--taupe);}
.scroll-cue{margin-top:70px;display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:0.15em;text-transform:uppercase;color:var(--charcoal-soft);}
.scroll-cue .line{width:1px;height:34px;background:var(--charcoal-soft);display:block;animation:pulse 2.4s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:.25;}50%{opacity:.9;}}

/* INTRO */
.intro{padding:100px 0;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.intro-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:60px;}
.intro h2{font-size:clamp(30px,4vw,46px);}
.intro-points{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:10px;}
.intro-point{border-top:1px solid var(--line);padding-top:18px;}
.intro-point .n{font-family:'Fraunces',serif;color:var(--accent);font-size:15px;}
.intro-point h4{font-size:17px;margin-top:8px;}
.intro-point p{font-size:14.5px;color:var(--charcoal-soft);margin-top:8px;}

/* SECTION HEADS */
.section-head{max-width:680px;margin-bottom:56px;}
.section-head h2{font-size:clamp(32px,4.4vw,50px);margin-top:16px;}
.section-head p{font-size:17px;color:var(--charcoal-soft);margin-top:18px;}
.pad{padding:110px 0;}

/* SERVICES */
.services{background:var(--cream);}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.service-card{background:var(--paper);padding:38px 32px;transition:background .3s;min-height:420px;display:flex;flex-direction:column;}
.service-card:hover{background:var(--cream-soft);}
.service-icon{width:44px;height:44px;margin-bottom:26px;}
.service-card h3{font-size:22px;}
.service-card .desc{font-size:14.5px;color:var(--charcoal-soft);margin-top:12px;}
.service-card ul{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-direction:column;gap:9px;flex:1;}
.service-card li{font-size:13.5px;color:var(--charcoal-soft);padding-left:16px;position:relative;}
.service-card li::before{content:'';position:absolute;left:0;top:8px;width:6px;height:1px;background:var(--accent);}
.service-tag{margin-top:24px;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:var(--accent-dark);font-weight:600;}

/* STARTER */
.starter{background:var(--accent-dark);color:var(--cream);}
.starter .eyebrow{color:var(--accent-soft);}
.starter .eyebrow::before{background:var(--accent-soft);}
.starter h2{color:var(--cream);}
.starter-grid{display:grid;grid-template-columns:0.95fr 1.05fr;gap:60px;align-items:start;}
.starter-lede{font-size:19px;color:var(--taupe);margin-top:20px;max-width:460px;}
.starter-note{margin-top:34px;font-size:13.5px;color:var(--taupe-dark);letter-spacing:0.02em;}
.starter-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:16px 28px;}
.starter-list li{font-size:14.5px;padding:14px 0 14px 22px;border-top:1px solid rgba(247,241,231,0.14);position:relative;color:var(--cream);}
.starter-list li::before{content:'+';position:absolute;left:0;top:13px;color:var(--accent-soft);font-family:'Fraunces',serif;}

/* EVENTS */
.events{background:var(--paper);}
.events-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.events-img{border-radius:2px;aspect-ratio:4/3;object-fit:cover;}
.events-lede{font-family:'Fraunces',serif;font-style:italic;font-size:24px;color:var(--accent-dark);margin-top:14px;max-width:480px;}
.chip-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px;}
.chip{border:1px solid var(--line);padding:9px 18px;border-radius:20px;font-size:13px;color:var(--charcoal-soft);background:var(--cream);}

/* CREATOR NETWORK */
.creator{background:var(--cream-soft);}
.creator-badge{display:inline-block;background:var(--accent);color:var(--cream);font-size:11.5px;letter-spacing:0.14em;text-transform:uppercase;padding:6px 14px;border-radius:20px;font-weight:600;margin-bottom:18px;}
.creator-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:44px;}
.creator-card{background:var(--paper);border:1px solid var(--line);padding:38px;border-radius:2px;}
.creator-card h3{font-size:22px;}
.creator-card p{font-size:14.5px;color:var(--charcoal-soft);margin-top:12px;}
.creator-card .tag{font-size:12px;text-transform:uppercase;letter-spacing:0.1em;color:var(--accent-dark);font-weight:600;margin-bottom:14px;display:block;}

/* WHO WE WORK WITH */
.who{background:var(--paper);}
.who-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:60px;align-items:start;}
.who-img{border-radius:2px;aspect-ratio:3/4;object-fit:cover;}
.industry-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.industry{border:1px solid var(--line);padding:20px 22px;border-radius:2px;background:var(--cream);display:flex;align-items:center;gap:14px;}
.industry .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex:none;}
.industry span{font-size:14.5px;font-weight:500;}

/* ABOUT */
.about{background:var(--cream);}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.about-img{border-radius:2px;aspect-ratio:4/5;object-fit:cover;}
.about p.lead{font-size:18px;color:var(--charcoal-soft);margin-top:20px;}
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px;}
.pillar{border-top:1px solid var(--line);padding-top:14px;}
.pillar h4{font-size:15px;}

/* APPROACH */
.approach{background:var(--charcoal);color:var(--cream);}
.approach .section-head h2{color:var(--cream);}
.approach .section-head p{color:var(--taupe);}
.approach .eyebrow{color:var(--accent-soft);}
.approach .eyebrow::before{background:var(--accent-soft);}
.approach-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(247,241,231,0.14);}
.approach-card{padding:8px 30px 30px 0;}
.approach-card .num{font-family:'Fraunces',serif;font-size:52px;color:rgba(247,241,231,0.25);}
.approach-card h3{color:var(--cream);font-size:21px;margin-top:14px;}
.approach-card p{color:var(--taupe);font-size:14px;margin-top:10px;}

/* PROJECTS */
.projects{background:var(--paper);}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.project-card{border:1px dashed var(--taupe-dark);border-radius:2px;padding:34px;min-height:260px;display:flex;flex-direction:column;justify-content:space-between;background:var(--cream);}
.project-status{font-size:11.5px;text-transform:uppercase;letter-spacing:0.12em;color:var(--accent-dark);font-weight:600;}
.project-card h3{font-size:20px;margin-top:18px;}
.project-card p{font-size:13.5px;color:var(--charcoal-soft);margin-top:10px;}
.project-mark{font-family:'Fraunces',serif;font-style:italic;font-size:15px;color:var(--taupe-dark);}

/* CONTACT */
.contact{background:var(--charcoal);color:var(--cream);}
.contact .eyebrow{color:var(--accent-soft);}
.contact .eyebrow::before{background:var(--accent-soft);}
.contact-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:70px;}
.contact h2{color:var(--cream);font-size:clamp(32px,4.4vw,50px);margin-top:16px;}
.contact-info{margin-top:34px;display:flex;flex-direction:column;gap:22px;}
.contact-info .row{display:flex;align-items:center;gap:14px;font-size:15px;}
.contact-info .row .lbl{color:var(--taupe);font-size:12.5px;text-transform:uppercase;letter-spacing:0.1em;width:110px;flex:none;}
.wa-btn{margin-top:16px;}
form{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.field{display:flex;flex-direction:column;gap:8px;}
.field.full{grid-column:1/-1;}
label{font-size:12.5px;letter-spacing:0.05em;text-transform:uppercase;color:var(--taupe);}
input,select,textarea{
  background:rgba(247,241,231,0.06);border:1px solid rgba(247,241,231,0.25);
  color:var(--cream);padding:13px 14px;font-family:'Inter',sans-serif;font-size:14.5px;border-radius:2px;
}
input::placeholder,textarea::placeholder{color:rgba(247,241,231,0.4);}
select option{color:#000;}
textarea{resize:vertical;min-height:100px;}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent-soft);}
form .submit-row{grid-column:1/-1;display:flex;align-items:center;gap:20px;margin-top:6px;flex-wrap:wrap;}
.form-note{font-size:13px;color:var(--taupe-dark);}
.thankyou{display:none;grid-column:1/-1;background:rgba(178,90,52,0.18);border:1px solid var(--accent-soft);padding:18px 20px;border-radius:2px;font-size:14.5px;}

/* FOOTER */
footer{background:var(--accent-dark);color:var(--taupe);padding:50px 0 30px;border-top:1px solid rgba(244,240,231,0.14);}
.footer-grid{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:30px;}
.footer-logo{font-family:'Fraunces',serif;font-size:26px;color:var(--cream);}
.footer-links{display:flex;gap:26px;flex-wrap:wrap;}
.footer-links a{font-size:13px;text-transform:uppercase;letter-spacing:0.06em;color:var(--taupe);}
.footer-links a:hover{color:var(--cream);}
.footer-bottom{margin-top:34px;padding-top:22px;border-top:1px solid rgba(247,241,231,0.1);display:flex;justify-content:space-between;font-size:12.5px;color:var(--taupe-dark);flex-wrap:wrap;gap:10px;}

/* FLOATING WHATSAPP */
.float-wa{
  position:fixed;bottom:26px;right:26px;z-index:90;background:#2E7D32;color:#fff;
  width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 26px -6px rgba(0,0,0,0.4);
}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1;transform:translateY(0);}

@media (max-width:980px){
  .navlinks{display:none;}
  .burger{display:flex;}
  .hero-grid,.intro-grid,.events-grid,.who-grid,.about-grid,.starter-grid,.contact-grid{grid-template-columns:1fr;}
  .hero{padding:140px 0 70px;}
  .hero-img-wrap{order:-1;}
  .service-grid{grid-template-columns:1fr 1fr;}
  .approach-grid{grid-template-columns:1fr 1fr;}
  .project-grid{grid-template-columns:1fr;}
  .intro-points{grid-template-columns:1fr;}
  form{grid-template-columns:1fr;}
  .pad{padding:80px 0;}
  .creator-grid{grid-template-columns:1fr;}
  .industry-grid{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .wrap{padding:0 20px;}
  .navbar{padding:16px 20px;}
  .service-grid{grid-template-columns:1fr;}
  .hero-badge{position:static;margin-top:20px;max-width:none;}
}
