/* AGHA Festival Ventures — shared stylesheet */

:root{
  --ground:#F8F3E9;
  --ground-2:#F1E8D6;
  --ground-dark:#0C0805;
  --ink:#211708;
  --ink-soft:#6E5D45;
  --gold:#9A6D14;
  --gold-line:#CBA64C;
  --gold-bright:#EFCE7C;
  --crimson:#A0121A;
  --rule:#DCCFB4;
}
:root:not([data-theme="light"]),
:root[data-theme="dark"]{
  --ground:#F8F3E9; --ground-2:#F1E8D6; --ground-dark:#0C0805;
  --ink:#211708; --ink-soft:#6E5D45;
  --gold:#9A6D14; --gold-line:#CBA64C; --gold-bright:#EFCE7C;
  --crimson:#A0121A; --rule:#DCCFB4;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ground:#F8F3E9; --ground-2:#F1E8D6; --ground-dark:#0C0805;
    --ink:#211708; --ink-soft:#6E5D45;
    --gold:#9A6D14; --gold-line:#CBA64C; --gold-bright:#EFCE7C;
    --crimson:#A0121A; --rule:#DCCFB4;
  }
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--ground);
  color:var(--ink);
  font-family:'Archivo','Helvetica Neue',Arial,sans-serif;
  font-size:17px;line-height:1.68;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:var(--gold);text-decoration:none;}
a:hover{color:var(--crimson);}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
.wrap{width:100%;max-width:1040px;margin:0 auto;padding:0 24px;}

/* ---------- masthead ---------- */
.mast{
  position:sticky;top:0;z-index:60;
  background:rgba(248,243,233,.94);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--rule);
}
.mast .wrap{display:flex;align-items:center;gap:14px;height:62px;}
.brand{display:flex;align-items:center;gap:11px;color:var(--ink);}
.brand img{width:32px;height:32px;flex:none;}
.brand span{
  font-family:'Bodoni Moda',Georgia,serif;
  font-size:14.5px;letter-spacing:.11em;white-space:nowrap;
}
.nav{margin-left:auto;display:flex;gap:24px;font-size:14px;letter-spacing:.03em;}
.nav a{color:var(--ink-soft);padding:4px 0;border-bottom:1px solid transparent;}
.nav a:hover{color:var(--gold);}
.nav a.on{color:var(--ink);border-bottom-color:var(--gold-line);}
.burger{
  margin-left:auto;display:none;background:none;border:1px solid var(--rule);
  border-radius:3px;padding:7px 11px;color:var(--ink);font-size:14px;cursor:pointer;
  font-family:inherit;
}
@media(max-width:800px){
  .nav{
    display:none;position:absolute;top:62px;left:0;right:0;
    background:var(--ground);border-bottom:1px solid var(--rule);
    flex-direction:column;gap:0;padding:6px 24px 14px;
  }
  .nav.open{display:flex;}
  .nav a{padding:11px 0;border-bottom:1px solid var(--rule);}
  .nav a:last-child{border-bottom:none;}
  .burger{display:block;}
}

/* ---------- page head ---------- */
.phead{padding:52px 0 8px;text-align:center;}
.phead h1{
  font-family:'Bodoni Moda',Georgia,serif;font-weight:500;
  font-size:clamp(28px,5.6vw,46px);line-height:1.12;letter-spacing:.02em;
  margin:0 0 14px;color:var(--ink);
}
.phead p{max-width:34em;margin:0 auto;color:var(--ink-soft);font-size:17px;}
.rule-gold{
  height:1px;border:0;width:min(300px,64%);margin:24px auto;
  background:linear-gradient(90deg,transparent,var(--gold-line) 24%,var(--gold) 50%,var(--gold-line) 76%,transparent);
  transform-origin:center;
  animation:draw 1s cubic-bezier(.2,.7,.2,1) both;
}
@keyframes draw{from{transform:scaleX(0);opacity:0;}to{transform:scaleX(1);opacity:1;}}

/* ---------- home hero ---------- */
.hero{padding:44px 0 50px;text-align:center;}
.hero .crest{width:min(290px,60vw);margin:0 auto 26px;}
.hero h1{
  font-family:'Bodoni Moda',Georgia,serif;font-weight:500;
  font-size:clamp(31px,7.2vw,56px);line-height:1.05;letter-spacing:.05em;
  color:var(--ink);margin:0 0 16px;
}
.hero h1 .l2{
  display:block;font-size:.5em;letter-spacing:.21em;color:var(--gold);margin-top:.5em;
}
.disciplines{font-size:12.5px;letter-spacing:.1em;color:var(--ink-soft);max-width:34em;margin:0 auto;}
.powered{font-family:'Bodoni Moda',Georgia,serif;font-size:14px;letter-spacing:.12em;color:var(--ink-soft);}
.powered b{color:var(--gold);font-weight:500;}

/* ---------- sections ---------- */
section{padding:48px 0;}
.section-head{
  display:flex;align-items:baseline;gap:18px;
  border-bottom:1px solid var(--rule);padding-bottom:12px;margin-bottom:4px;
}
.section-head h2{
  font-family:'Bodoni Moda',Georgia,serif;font-weight:500;
  font-size:clamp(22px,3.3vw,31px);letter-spacing:.02em;margin:0;color:var(--ink);
}
.section-head span{font-size:12.5px;color:var(--ink-soft);letter-spacing:.06em;margin-left:auto;text-align:right;}
@media(max-width:600px){.section-head span{display:none;}}

.lede{max-width:33em;margin:0 auto 22px;text-align:center;
  font-family:'Bodoni Moda',Georgia,serif;font-size:clamp(19px,2.5vw,23px);line-height:1.56;}
.body-copy{max-width:38em;color:var(--ink-soft);font-size:16.5px;}
.body-copy.centre{margin:0 auto;text-align:center;}

/* ---------- ledger rows ---------- */
.ledger{border-top:1px solid var(--rule);}
.row{
  display:grid;grid-template-columns:minmax(190px,.9fr) 1.6fr;gap:12px 40px;
  padding:24px 0;border-bottom:1px solid var(--rule);
}
.row h3{
  font-family:'Bodoni Moda',Georgia,serif;font-weight:500;font-size:19px;
  letter-spacing:.02em;color:var(--gold);margin:0;line-height:1.3;
}
.row .note{color:var(--ink-soft);font-size:15px;margin:8px 0 0;}
.row ul{margin:0;padding:0;list-style:none;}
.row li{position:relative;padding-left:20px;margin-bottom:7px;font-size:16px;}
.row li:last-child{margin-bottom:0;}
.row li::before{
  content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;
  background:var(--gold-line);transform:rotate(45deg);
}
@media(max-width:700px){.row{grid-template-columns:1fr;gap:10px;padding:20px 0;}}

/* ---------- two-column list ---------- */
.sight{columns:2;column-gap:44px;margin:0;padding:22px 0 0;list-style:none;border-top:1px solid var(--rule);}
.sight li{break-inside:avoid;padding:9px 0 9px 26px;position:relative;font-size:16px;}
.sight li::before{content:"";position:absolute;left:0;top:1.05em;width:14px;height:1px;background:var(--gold-line);}
@media(max-width:760px){.sight{columns:1;}}

/* ---------- dark band ---------- */
.band{background:var(--ground-dark);color:#EFE6D4;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);}
.band .section-head{border-bottom-color:#3A2B12;}
.band .section-head h2{color:var(--gold-bright);}
.band .section-head span,.band p{color:#A6997F;}
.chain{display:flex;flex-wrap:wrap;margin:32px 0 24px;border-left:1px solid #2C2010;}
.stage{
  flex:1 1 124px;padding:15px 12px 17px;text-align:center;
  border-right:1px solid #2C2010;border-top:1px solid #2C2010;border-bottom:1px solid #2C2010;
}
.stage .n{display:block;font-size:11px;color:#8E6C23;letter-spacing:.14em;margin-bottom:7px;font-variant-numeric:tabular-nums;}
.stage .s{font-family:'Bodoni Moda',Georgia,serif;font-size:15.5px;letter-spacing:.09em;color:var(--gold-bright);}
.stage:last-child .s{color:#E2565E;}

/* ---------- pillars ---------- */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:26px;}
.pillar{background:var(--ground);padding:26px 22px;}
.pillar .n{font-size:11px;letter-spacing:.14em;color:var(--gold);font-variant-numeric:tabular-nums;}
.pillar h3{font-family:'Bodoni Moda',Georgia,serif;font-weight:500;font-size:19px;margin:10px 0 9px;}
.pillar p{margin:0;font-size:15.5px;color:var(--ink-soft);}
@media(max-width:820px){.pillars{grid-template-columns:1fr;}}

/* ---------- numbered list ---------- */
.capabilities{margin:0;padding:0;list-style:none;border-top:1px solid var(--rule);}
.capabilities li{padding:12px 0;border-bottom:1px solid var(--rule);font-size:16px;display:flex;align-items:baseline;gap:14px;}
.capabilities li span{color:var(--gold);font-size:11px;letter-spacing:.12em;font-variant-numeric:tabular-nums;flex:none;}

.split{display:grid;grid-template-columns:1fr 1fr;gap:42px;margin-top:26px;}
@media(max-width:820px){.split{grid-template-columns:1fr;gap:26px;}}

/* ---------- contact ---------- */
.contact-card{
  border:1px solid var(--rule);background:var(--ground-2);
  padding:26px;margin-top:26px;
}
.contact-card h3{font-family:'Bodoni Moda',Georgia,serif;font-weight:500;font-size:19px;margin:0 0 8px;}
.contact-card p{margin:0 0 6px;font-size:16px;color:var(--ink-soft);}
.contact-card a{font-size:17px;word-break:break-word;}
form{margin-top:26px;}
label{display:block;font-size:13px;letter-spacing:.06em;color:var(--ink-soft);margin:16px 0 6px;}
input,select,textarea{
  width:100%;padding:11px 13px;font:inherit;font-size:16px;color:var(--ink);
  background:#FDFBF6;border:1px solid var(--rule);border-radius:2px;
}
textarea{min-height:130px;resize:vertical;}
.btn{
  display:inline-block;margin-top:20px;padding:13px 26px;
  background:var(--ink);color:var(--ground);border:none;border-radius:2px;
  font-family:'Bodoni Moda',Georgia,serif;font-size:15px;letter-spacing:.1em;cursor:pointer;
}
.btn:hover{background:var(--gold);color:#fff;}
.form-note{font-size:13.5px;color:var(--ink-soft);margin-top:14px;}

/* ---------- close + footer ---------- */
.close{text-align:center;padding:56px 0 60px;}
.close .mark{width:86px;margin:0 auto 20px;}
.close h2{font-family:'Bodoni Moda',Georgia,serif;font-weight:500;font-size:clamp(20px,3.4vw,28px);letter-spacing:.05em;margin:0 0 12px;}
.tagline{font-family:'Bodoni Moda',Georgia,serif;font-size:clamp(15px,2.2vw,18px);letter-spacing:.08em;margin:0;}
footer{font-size:12.5px;color:var(--ink-soft);}
footer .wrap{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;}
footer a{color:var(--ink-soft);}
footer a:hover{color:var(--gold);}

@media (prefers-reduced-motion: reduce){
  *{animation:none !important;transition:none !important;}
  html{scroll-behavior:auto;}
}


/* ================= logo-derived accents ================= */

/* Igbo zigzag band, taken from the crest's border patterning */
.band-pattern{
  height:11px;
  background:
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2228%22%20height%3D%2211%22%20viewBox%3D%220%200%2028%2011%22%3E%3Cpath%20d%3D%22M0%209%20L7%202%20L14%209%20L21%202%20L28%209%22%20fill%3D%22none%22%20stroke%3D%22%23A0121A%22%20stroke-width%3D%222.2%22%2F%3E%3Cpath%20d%3D%22M0%209%20L7%202%20L14%209%20L21%202%20L28%209%22%20fill%3D%22none%22%20stroke%3D%22%23CBA54A%22%20stroke-width%3D%220.7%22%20transform%3D%22translate%280%2C-3%29%22%2F%3E%3C%2Fsvg%3E") repeat-x center/28px 11px,
    var(--ground-2);
  border-top:1px solid var(--gold-line);
  border-bottom:1px solid var(--gold-line);
}

/* warm gold wash behind the crest */
.hero{
  background:radial-gradient(circle at 50% 26%,rgba(203,165,74,.20),rgba(203,165,74,0) 58%);
}

/* pillars pick up alternating gold / crimson from the crest */
.pillar{position:relative;}
.pillar::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gold-line);
}
.pillar:nth-child(2)::before{background:var(--crimson);}

/* section headings carry a small crimson mark */
.section-head h2::before{
  content:"";display:inline-block;width:7px;height:7px;
  background:var(--crimson);transform:rotate(45deg);
  margin-right:12px;vertical-align:.22em;
}
.band .section-head h2::before{background:var(--gold-bright);}

/* contact cards edged in gold, the first in crimson */
.contact-card{border-left:3px solid var(--gold-line);}
.contact-card:first-of-type{border-left-color:var(--crimson);}

/* numbering in crimson against the gold rules */
.capabilities li span,.pillar .n{color:var(--crimson);}

.btn{background:var(--crimson);color:#FFF6E8;}
.btn:hover{background:var(--ink);color:var(--ground);}

/* footer grounded in the crest's black and gold */
footer{
  background:var(--ground-dark);
  border-top:3px solid var(--gold);
  color:#A6997F;
}
footer .wrap{padding-top:26px;padding-bottom:34px;}
footer a{color:var(--gold-bright);}
footer a:hover{color:#fff;}


/* ================= expanded footer ================= */
footer .wrap{display:block;padding-top:34px;padding-bottom:30px;}
.foot-grid{
  display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:34px;
  padding-bottom:26px;border-bottom:1px solid #2C2010;
}
@media(max-width:760px){.foot-grid{grid-template-columns:1fr;gap:26px;}}
.foot-brand img{width:62px;margin-bottom:14px;}
.foot-brand .fname{
  font-family:'Bodoni Moda',Georgia,serif;font-size:15px;letter-spacing:.11em;
  color:var(--gold-bright);margin-bottom:8px;
}
.foot-brand p{margin:0 0 6px;font-size:13px;color:#A6997F;}
.foot-col h4{
  font-size:11.5px;letter-spacing:.16em;color:var(--gold);
  margin:0 0 14px;font-weight:600;
}
.foot-col ul{list-style:none;margin:0;padding:0;}
.foot-col li{margin-bottom:9px;}
.foot-col a{color:#C9BCA4;font-size:13.5px;}
.foot-col a:hover{color:var(--gold-bright);}
.foot-base{
  display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;
  padding-top:20px;font-size:12.5px;color:#8B7E68;
}

/* ================= legal pages ================= */
.legal{max-width:44em;margin:0 auto;}
.legal h2{
  font-family:'Bodoni Moda',Georgia,serif;font-weight:500;font-size:22px;
  margin:38px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--rule);
}
.legal h3{font-size:16px;margin:24px 0 8px;color:var(--gold);}
.legal p,.legal li{font-size:16px;color:var(--ink-soft);}
.legal ul{padding-left:20px;}
.legal li{margin-bottom:7px;}
.updated{
  font-size:13px;letter-spacing:.06em;color:var(--ink-soft);
  border-left:3px solid var(--crimson);padding-left:14px;margin:0 0 8px;
}
.placeholder{
  background:#FBEFD2;border:1px dashed var(--gold);
  padding:2px 7px;border-radius:2px;color:#6A4A08;font-size:.94em;
}
.legal-note{
  border:1px solid var(--rule);background:var(--ground-2);
  padding:18px 20px;margin:28px 0 0;font-size:14.5px;color:var(--ink-soft);
}

/* ================= floating navigation ================= */
.pager{
  position:fixed;top:50%;transform:translateY(-50%);z-index:70;
  background:none;border:none;padding:10px 6px;cursor:pointer;
  color:var(--gold);opacity:.5;transition:opacity .2s,color .2s;
  line-height:0;
  filter:drop-shadow(0 1px 2px rgba(248,243,233,.9));
}
.pager:hover{opacity:1;color:var(--crimson);}
.pager svg{width:30px;height:30px;}
.pager-prev{left:4px;}
.pager-next{right:4px;}
.pager[hidden]{display:none;}

.to-top{
  position:fixed;right:8px;bottom:18px;z-index:70;
  background:none;border:none;padding:10px;cursor:pointer;
  color:var(--gold);opacity:0;pointer-events:none;
  transition:opacity .25s,color .2s;line-height:0;
  filter:drop-shadow(0 1px 2px rgba(248,243,233,.9));
}
.to-top.show{opacity:.55;pointer-events:auto;}
.to-top:hover{opacity:1;color:var(--crimson);}
.to-top svg{width:28px;height:28px;}

@media(max-width:700px){
  .pager svg{width:24px;height:24px;}
  .pager-prev{left:0;}
  .pager-next{right:0;}
  .to-top svg{width:24px;height:24px;}
  .to-top{right:2px;bottom:12px;}
}
