:root{
  --forest:#4C5A3B;
  --forest-deep:#3B4630;
  --terra:#A0523A;
  --terra-deep:#87422E;
  --sage:#8F9B72;
  --olive:#55603A;
  --olive-deep:#434C2D;
  --gold:#B4883B;
  --cream:#F8F3EA;
  --card:#FFFDF7;
  --ink:#2F2A24;
  --ink-soft:#6E6557;
  --rule:#E4D9C6;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--cream);
  color:var(--ink);
  font-family:'Karla',sans-serif;
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:920px;margin:0 auto;padding:0 24px;}

/* ---------- NAV ---------- */
nav{
  position:sticky;top:0;z-index:50;
  background:rgba(248,243,234,.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--rule);
}
.nav-inner{
  max-width:920px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 24px;
}
.brand{
  font-family:'Cormorant Garamond',serif;
  font-weight:600;
  letter-spacing:0.14em;
  font-size:17px;
  color:var(--olive-deep);
  text-decoration:none;
  text-transform:uppercase;
  white-space:nowrap;
}
.brand-short{display:none;}
.nav-links{display:flex;align-items:center;gap:22px;}
.nav-links a{
  font-size:13.5px;font-weight:600;letter-spacing:0.08em;
  color:var(--ink-soft);text-decoration:none;
  text-transform:uppercase;
}
.nav-links a:hover{color:var(--olive-deep);}
.nav-links a.pill{
  background:var(--terra);color:#F8EFE6;
  padding:7px 16px;border-radius:999px;
}
.nav-links a.pill:hover{background:var(--terra-deep);color:#F8EFE6;}
a:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}

/* ---------- SHARED ---------- */
section{padding:64px 0;}
.eyebrow{
  font-size:12.5px;font-weight:600;
  letter-spacing:0.3em;text-indent:0.3em;
  text-transform:uppercase;
  text-align:center;margin-bottom:10px;
  color:var(--olive);
}
h1,h2{font-family:'Cormorant Garamond',serif;font-weight:500;color:var(--olive-deep);}
h2{font-size:clamp(30px,5vw,40px);text-align:center;margin-bottom:14px;}
.section-intro{max-width:600px;margin:0 auto 40px;text-align:center;color:var(--ink-soft);}
.btn{
  display:inline-block;font-weight:600;font-size:15px;letter-spacing:0.06em;
  text-decoration:none;padding:15px 30px;border-radius:3px;
  transition:background .2s,color .2s;
}
.btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
.btn-olive{background:var(--olive);color:#F6F2E6;border:1px solid var(--olive);}
.btn-olive:hover{background:var(--olive-deep);}
.btn-olive-ghost{background:transparent;color:var(--olive-deep);border:1px solid var(--olive);}
.btn-olive-ghost:hover{background:var(--olive);color:#F6F2E6;}
.btn-forest{background:var(--forest);color:#F6F2E6;border:1px solid var(--forest);}
.btn-forest:hover{background:var(--forest-deep);}
.btn-forest-ghost{background:transparent;color:var(--forest);border:1px solid var(--forest);}
.btn-forest-ghost:hover{background:var(--forest);color:#F6F2E6;}
.btn-terra{background:var(--terra);color:#F8EFE6;border:1px solid var(--terra);}
.btn-terra:hover{background:var(--terra-deep);}
.btn-cream-ghost{background:transparent;color:#F2E9D8;border:1px solid #D8C6A6;}
.btn-cream-ghost:hover{background:#F2E9D8;color:var(--forest-deep);}
.cta-row{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:34px;}
.band{background:var(--card);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);}

/* ---------- YCG HERO ---------- */
.ycg-hero{text-align:center;padding:84px 24px 68px;}
.ycg-hero h1{
  font-size:clamp(40px,7vw,64px);
  letter-spacing:0.05em;
  line-height:1.1;
  margin-bottom:14px;
}
.motto{
  font-family:'Great Vibes',cursive;
  font-size:clamp(26px,4.6vw,34px);
  color:var(--gold);
  margin-bottom:8px;
}
.motto-rule{
  display:flex;align-items:center;justify-content:center;gap:14px;
  margin:0 auto 28px;max-width:440px;
}
.motto-rule::before,.motto-rule::after{content:"";flex:1;height:1px;background:var(--gold);opacity:.5;}
.ycg-lede{max-width:640px;margin:0 auto;font-size:18px;color:var(--ink-soft);}
.founder-cred{
  margin-top:22px;font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:18px;color:var(--olive-deep);
}

/* ---------- SERVICE / SUPPORT LISTS ---------- */
.svc-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:12px 48px;max-width:700px;margin:0 auto;
}
.svc-item{
  display:flex;align-items:baseline;gap:14px;
  padding:11px 0;border-bottom:1px solid var(--rule);
  font-size:17px;
}
.svc-item .mark{color:var(--gold);font-family:'Cormorant Garamond',serif;font-size:19px;flex:none;}
.support-grid{display:grid;grid-template-columns:1fr;gap:0;max-width:560px;margin:0 auto;}
.support-item{
  display:flex;align-items:baseline;gap:14px;font-size:17.5px;
  padding:12px 0;border-bottom:1px solid var(--rule);
}
.support-item:last-child{border-bottom:none;}
.support-item .mark{color:var(--terra);font-family:'Cormorant Garamond',serif;font-size:20px;flex:none;}

/* ---------- WHO ---------- */
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:640px;margin:0 auto;}
.chip{
  background:var(--card);border:1px solid var(--rule);border-radius:999px;
  padding:10px 22px;font-size:15px;color:var(--ink);
}
.chip strong{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:17px;color:var(--olive-deep);}
.chips-note{text-align:center;margin-top:26px;font-size:15.5px;color:var(--ink-soft);}
.chips-note a{color:var(--terra);font-weight:600;text-decoration:none;border-bottom:1px solid var(--terra);}

/* ---------- ORG CONSULTING ---------- */
.org-card{
  background:var(--card);border:1px solid var(--rule);border-left:4px solid var(--olive);
  border-radius:6px;max-width:720px;margin:0 auto;padding:36px 40px;
}
.org-card h3{
  font-family:'Cormorant Garamond',serif;font-weight:600;font-size:26px;
  color:var(--olive-deep);margin-bottom:12px;
}
.org-card p{color:var(--ink-soft);}

/* ---------- RAHA FEATURE BAND (on YCG home) ---------- */
.raha-band{background:var(--forest);color:#E8E9DC;text-align:center;position:relative;overflow:hidden;}
.raha-band .arabic{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  font-family:'Amiri',serif;font-style:italic;
  font-size:clamp(180px,32vw,320px);color:#fff;opacity:.045;
  pointer-events:none;user-select:none;white-space:nowrap;line-height:1;
}
.raha-band .eyebrow{color:#D8C6A6;}
.raha-band h2{color:#F4EFE0;letter-spacing:0.12em;}
.raha-band .script{
  font-family:'Great Vibes',cursive;font-size:clamp(26px,4.6vw,34px);
  color:#E0A583;margin-bottom:18px;
}
.raha-band p{max-width:560px;margin:0 auto;font-size:16.5px;color:#CBD0B9;}
.raha-band .cta-row{margin-top:30px;}

/* ---------- FOUNDER ---------- */
.founder{max-width:680px;margin:0 auto;text-align:center;}
.monogram{
  width:88px;height:88px;border-radius:50%;
  border:1px solid var(--gold);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 20px;
  font-family:'Cormorant Garamond',serif;font-size:32px;color:var(--olive-deep);
  background:var(--card);
}
.founder p{color:var(--ink-soft);}
.creds{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px;}
.cred{
  font-size:13px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;
  border:1px solid var(--rule);background:var(--card);
  border-radius:999px;padding:8px 18px;color:var(--olive-deep);
}

/* ---------- CONNECT ---------- */
.connect-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:18px;max-width:760px;margin:0 auto;text-align:center;
}
.connect-item{padding:24px 12px;}
.connect-item .how{
  font-size:12.5px;font-weight:600;letter-spacing:0.24em;text-indent:0.24em;
  text-transform:uppercase;color:var(--olive);margin-bottom:8px;
}
.connect-item a{
  font-family:'Cormorant Garamond',serif;font-size:21px;color:var(--ink);
  text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:2px;
  word-break:break-word;
}
.connect-item a:hover{color:var(--gold);}

/* ---------- FOOTER ---------- */
footer{border-top:1px solid var(--rule);padding:34px 24px 40px;text-align:center;}
footer .fm{
  font-family:'Cormorant Garamond',serif;letter-spacing:0.18em;
  font-size:16px;color:var(--olive-deep);text-transform:uppercase;
}
footer .disc{max-width:640px;margin:14px auto 0;font-size:13px;line-height:1.7;color:var(--ink-soft);}
footer .div-line{font-size:13px;color:var(--ink-soft);margin-top:10px;}
footer .div-line a{color:var(--terra);font-weight:600;text-decoration:none;}
footer .band-line{
  margin-top:18px;font-size:12px;font-weight:600;
  letter-spacing:0.22em;text-indent:0.22em;text-transform:uppercase;
  color:var(--forest);
}

/* ---------- RAHA PAGE ---------- */
.crumb{
  text-align:center;padding-top:26px;font-size:13px;letter-spacing:0.12em;
  text-transform:uppercase;color:var(--ink-soft);
}
.crumb a{color:var(--olive-deep);text-decoration:none;font-weight:600;}
.crumb a:hover{color:var(--terra);}
.raha-hero{position:relative;text-align:center;padding:56px 24px 70px;overflow:hidden;}
.raha-hero .hero-arabic{
  position:absolute;top:-6px;left:50%;transform:translateX(-50%);
  font-family:'Amiri',serif;font-style:italic;
  font-size:clamp(170px,30vw,300px);color:var(--forest);opacity:.06;
  line-height:1;pointer-events:none;user-select:none;white-space:nowrap;
}
.wordmark{
  font-family:'Cormorant Garamond',serif;font-weight:500;
  font-size:clamp(52px,10vw,84px);letter-spacing:0.18em;color:var(--forest);line-height:1.05;
}
.wordmark .leaf{display:inline-block;transform:translateY(-16px);margin-left:2px;}
.subline{
  font-family:'Karla',sans-serif;font-weight:600;
  font-size:clamp(13px,2.4vw,15px);letter-spacing:0.28em;text-indent:0.28em;
  color:var(--ink-soft);margin-top:10px;text-transform:uppercase;
}
.tagline{font-family:'Great Vibes',cursive;font-size:clamp(28px,5vw,38px);color:var(--terra);margin:26px 0 8px;}
.badges{
  display:inline-block;background:var(--forest);color:#F2EDDD;
  font-size:12px;font-weight:600;letter-spacing:0.2em;text-indent:0.2em;
  text-transform:uppercase;padding:10px 24px;border-radius:999px;margin-bottom:26px;
  max-width:92%;
}
.raha-hero .lede{font-family:'Cormorant Garamond',serif;font-size:clamp(21px,3.6vw,26px);max-width:620px;margin:0 auto;}
.raha h2{color:var(--forest);}
.raha .eyebrow{color:var(--terra);}
.raha .connect-item .how{color:var(--terra);}
.raha .connect-item a{color:var(--forest);}

.voice-card{
  background:var(--card);border:1px solid var(--rule);border-left:4px solid var(--sage);
  border-radius:6px;max-width:720px;margin:0 auto;padding:36px 40px;
  font-size:17.5px;color:var(--ink);
}
.voice-card .script-lead{
  font-family:'Great Vibes',cursive;font-size:clamp(26px,4.4vw,32px);
  color:var(--forest);margin-bottom:14px;
}

.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;}
.why-card{background:var(--card);border:1px solid var(--rule);border-radius:6px;padding:22px;}
.why-card h3{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:20px;color:var(--forest);margin-bottom:6px;}
.why-card p{font-size:15px;color:var(--ink-soft);}
.why-card .icon{
  width:34px;height:34px;border-radius:50%;background:var(--forest);color:#F0E9D6;
  display:flex;align-items:center;justify-content:center;margin-bottom:14px;
}
.why-card .icon.terra{background:var(--terra);}
.why-card .icon svg{width:16px;height:16px;}

.closer{background:var(--terra);color:#F7EDE3;text-align:center;padding:56px 24px;}
.closer .big{
  font-family:'Cormorant Garamond',serif;font-size:clamp(28px,5vw,38px);
  color:#FBF3E8;margin-bottom:6px;
}
.closer .script{font-family:'Great Vibes',cursive;font-size:clamp(26px,4.6vw,34px);color:#F3D9BF;}

.note{background:var(--forest);color:#DDE0CC;padding:44px 0;}
.note .inner{max-width:680px;margin:0 auto;text-align:center;}
.note .label{
  font-size:12px;font-weight:600;letter-spacing:0.3em;text-indent:0.3em;
  text-transform:uppercase;color:#D8C6A6;margin-bottom:12px;
}
.note p{font-size:15.5px;line-height:1.75;}

/* ---------- 404 ---------- */
.err-page{min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:60px 24px;}

/* ---------- MOTION (progressive enhancement only) ---------- */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease;}
.js .reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  .js .reveal{opacity:1;transform:none;transition:none;}
}

@media (max-width:640px){
  .svc-grid{grid-template-columns:1fr;}
  .nav-links{gap:14px;}
  .nav-links a{font-size:12px;}
  .brand{font-size:16px;letter-spacing:0.12em;}
  .brand-full{display:none;}
  .brand-short{display:inline;}
  section{padding:52px 0;}
  .org-card,.voice-card{padding:28px 24px;}
}
