/* ==========================================================================
   STANDOUT 2027 — Interior pages
   Shared layer for About, Programme, Media Centre, Register, Partner,
   Prayer and Contact. Depends on standout.css for tokens and components.
   ========================================================================== */

/* --------------------------------------------------------------------------
   PAGE HERO
   -------------------------------------------------------------------------- */
.page-hero{
  position:relative;overflow:hidden;
  padding-top:calc(var(--nav-h) + clamp(2.5rem,7vw,6rem));
  padding-bottom:clamp(2.5rem,6vw,4.5rem);
}
.page-hero::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 70% 60% at 16% 0%, rgba(159,232,112,.15), transparent 62%),
    radial-gradient(ellipse 55% 60% at 96% 14%, rgba(198,161,91,.11), transparent 62%),
    linear-gradient(168deg,#101E12 0%,#0B140C 40%,var(--onyx) 78%);
}
.page-hero__inner{position:relative;}
.page-hero__title{
  font-family:var(--display);text-transform:uppercase;line-height:.84;
  font-size:clamp(3rem,10.5vw,10rem);
}
.page-hero__title em{font-style:normal;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.5);}
.page-hero__title b{font-weight:400;color:var(--green);}
.page-hero__row{
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
  gap:clamp(1.5rem,4vw,4rem);align-items:end;margin-top:clamp(1.5rem,3vw,2.5rem);
}
@media(max-width:900px){.page-hero__row{grid-template-columns:minmax(0,1fr);}}
.crumbs{
  font-family:var(--ui);font-size:var(--fs-label);letter-spacing:.18em;
  text-transform:uppercase;color:var(--d-40);margin-bottom:1.4rem;
}
.crumbs a:hover{color:var(--green);}
.page-actions{display:flex;flex-wrap:wrap;gap:.7rem;}

/* --------------------------------------------------------------------------
   PROSE
   -------------------------------------------------------------------------- */
.prose{max-width:68ch;}
.prose > * + *{margin-top:1.15rem;}
.prose p{color:var(--d-70);line-height:1.75;}
.invert .prose p{color:var(--l-70);}
.prose h3{
  font-family:var(--ui);font-weight:600;font-size:var(--fs-h3);
  letter-spacing:-.025em;line-height:1.2;margin-top:2.4rem;
}
.prose ul,.prose ol{padding-left:1.1rem;color:var(--d-70);}
.invert .prose ul,.invert .prose ol{color:var(--l-70);}
.prose li{margin-top:.55rem;line-height:1.7;}
.prose li::marker{color:var(--green);}
.prose strong{color:var(--white);font-weight:600;}
.invert .prose strong{color:var(--ink);}

.pull{
  font-family:var(--ui);font-weight:500;font-size:clamp(1.25rem,2.6vw,2.1rem);
  line-height:1.25;letter-spacing:-.03em;border-left:2px solid var(--green);
  padding-left:clamp(1rem,2vw,1.8rem);margin-block:clamp(2rem,4vw,3rem);
}
.pull cite{
  display:block;font-family:var(--ui);font-size:var(--fs-label);font-style:normal;
  letter-spacing:.18em;text-transform:uppercase;color:var(--d-40);margin-top:1rem;
}

/* --------------------------------------------------------------------------
   TILE GRID — objectives, departments, press kit, contact routes
   -------------------------------------------------------------------------- */
.tiles{display:grid;gap:clamp(.7rem,1.3vw,1.15rem);}
.tiles--2{grid-template-columns:repeat(2,1fr);}
.tiles--3{grid-template-columns:repeat(3,1fr);}
.tiles--4{grid-template-columns:repeat(4,1fr);}
@media(max-width:1000px){.tiles--3,.tiles--4{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.tiles--2,.tiles--3,.tiles--4{grid-template-columns:1fr;}}
.tile{
  border:1px solid var(--d-12);border-radius:var(--radius);
  padding:clamp(1.25rem,2.2vw,1.9rem);display:flex;flex-direction:column;gap:.7rem;
  background:var(--d-04);transition:transform .5s var(--ease),border-color .4s,background .4s;
}
.tile:hover{transform:translateY(-5px);border-color:var(--d-22);background:var(--d-07);}
.invert .tile{border-color:var(--l-14);background:var(--white);}
.invert .tile:hover{border-color:var(--l-30);box-shadow:0 20px 46px rgba(10,10,10,.10);}
.tile__idx{
  font-family:var(--ui);font-size:var(--fs-label);font-weight:700;
  letter-spacing:.18em;color:var(--green);
}
.invert .tile__idx{color:var(--forest-2);}
.tile__name{font-family:var(--ui);font-weight:600;font-size:1.05rem;letter-spacing:-.02em;line-height:1.25;}
.tile__desc{font-size:.88rem;line-height:1.6;color:var(--d-55);}
.invert .tile__desc{color:var(--l-52);}
.tile__meta{
  margin-top:auto;padding-top:.9rem;border-top:1px solid var(--d-12);
  font-family:var(--ui);font-size:var(--fs-label);letter-spacing:.16em;
  text-transform:uppercase;color:var(--d-40);
}
.invert .tile__meta{border-color:var(--l-14);color:var(--l-52);}

/* --------------------------------------------------------------------------
   SCHEDULE
   -------------------------------------------------------------------------- */
.day-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:clamp(1.5rem,3vw,2.4rem);}
.day-tab{
  font-family:var(--ui);font-size:.74rem;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;border:1px solid var(--d-22);border-radius:100px;
  padding:.65rem 1.15rem;color:var(--d-70);transition:all .28s var(--ease);
}
.day-tab:hover{border-color:var(--green);color:var(--green);}
.day-tab.is-on{background:var(--green);border-color:var(--green);color:var(--onyx);}

.sched{border-top:1px solid var(--d-12);}
.sched__row{
  display:grid;grid-template-columns:11rem minmax(0,1fr) 12rem;
  gap:clamp(1rem,2.5vw,2.5rem);align-items:start;
  padding-block:clamp(1.1rem,2.2vw,1.7rem);border-bottom:1px solid var(--d-12);
  transition:background .35s;
}
.sched__row:hover{background:var(--d-04);}
.sched__time{
  font-family:var(--display);font-size:1.5rem;letter-spacing:.03em;
  color:var(--green);font-variant-numeric:tabular-nums;line-height:1;
}
.sched__title{font-family:var(--ui);font-weight:600;font-size:1.08rem;letter-spacing:-.02em;}
.sched__desc{font-size:.88rem;color:var(--d-55);line-height:1.6;margin-top:.45rem;max-width:60ch;}
.sched__tag{
  justify-self:start;font-family:var(--ui);font-size:.62rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--d-55);
  border:1px solid var(--d-12);border-radius:100px;padding:.4rem .8rem;
}
@media(max-width:900px){
  .sched__row{grid-template-columns:minmax(0,1fr);gap:.5rem;}
  .sched__time{font-size:1.25rem;}
}

/* --------------------------------------------------------------------------
   CHAPTER BLOCKS — the four days
   -------------------------------------------------------------------------- */
.chapter{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;
  border:1px solid var(--d-12);padding:clamp(1.75rem,4vw,3.5rem);
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(1.5rem,3vw,3rem);align-items:center;
}
@media(max-width:900px){.chapter{grid-template-columns:minmax(0,1fr);}}
.chapter + .chapter{margin-top:clamp(.8rem,1.6vw,1.4rem);}
.chapter::before{content:'';position:absolute;inset:0;z-index:-1;}
.chapter--1::before{background:radial-gradient(ellipse 70% 90% at 12% 20%,rgba(159,232,112,.13),transparent 62%),#0C100C;}
.chapter--2::before{background:radial-gradient(ellipse 80% 90% at 80% 30%,rgba(159,232,112,.30),transparent 58%),linear-gradient(150deg,#132913,#0A0A0A);}
.chapter--3::before{background:radial-gradient(ellipse 70% 90% at 20% 80%,rgba(198,161,91,.16),transparent 60%),linear-gradient(150deg,#151515,#0A0A0A);}
.chapter--4::before{background:radial-gradient(ellipse 60% 80% at 30% 20%,rgba(198,161,91,.26),transparent 58%),radial-gradient(ellipse 60% 80% at 85% 80%,rgba(159,232,112,.24),transparent 58%),#0A0A0A;}
.chapter__day{
  font-family:var(--ui);font-size:var(--fs-label);font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;color:var(--d-55);margin-bottom:.9rem;
}
.chapter__title{font-family:var(--display);font-size:clamp(2.4rem,6vw,5rem);text-transform:uppercase;line-height:.9;}
.chapter--1 .chapter__title,.chapter--2 .chapter__title{color:var(--green);}
.chapter--3 .chapter__title{color:var(--gold);}
.chapter--4 .chapter__title{background:linear-gradient(92deg,var(--gold),var(--green));-webkit-background-clip:text;background-clip:text;color:transparent;}
.chapter__lede{color:var(--d-70);line-height:1.7;margin-top:1.1rem;max-width:52ch;}
.chapter__list{list-style:none;display:flex;flex-direction:column;gap:.75rem;}
.chapter__list li{
  display:flex;gap:.8rem;font-size:.92rem;color:var(--d-70);line-height:1.55;
  padding-bottom:.75rem;border-bottom:1px solid var(--d-07);
}
.chapter__list li::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--green);margin-top:.6rem;flex:none;}
.chapter__stat{display:flex;gap:clamp(1.2rem,3vw,2.5rem);margin-top:1.6rem;flex-wrap:wrap;}
.chapter__stat div span{display:block;font-family:var(--display);font-size:2rem;color:var(--white);line-height:1;}
.chapter__stat div small{font-family:var(--ui);font-size:var(--fs-label);letter-spacing:.16em;text-transform:uppercase;color:var(--d-40);}

/* --------------------------------------------------------------------------
   ACCORDION
   -------------------------------------------------------------------------- */
.faq{border-top:1px solid var(--d-12);}
.invert .faq{border-color:var(--l-14);}
.faq__item{border-bottom:1px solid var(--d-12);}
.invert .faq__item{border-color:var(--l-14);}
.faq__q{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  padding-block:clamp(1.1rem,2.2vw,1.6rem);text-align:left;
  font-family:var(--ui);font-weight:600;font-size:clamp(1rem,1.6vw,1.25rem);
  letter-spacing:-.02em;transition:color .3s;
}
.faq__q:hover{color:var(--green);}
.invert .faq__q:hover{color:var(--forest-2);}
.faq__q i{flex:none;width:22px;height:22px;position:relative;}
.faq__q i::before,.faq__q i::after{content:'';position:absolute;background:currentColor;transition:transform .4s var(--ease);}
.faq__q i::before{left:0;top:10.5px;width:22px;height:1.5px;}
.faq__q i::after{left:10.5px;top:0;width:1.5px;height:22px;}
.faq__item.is-open .faq__q i::after{transform:scaleY(0);}
.faq__a{max-height:0;overflow:hidden;transition:max-height .5s var(--ease);}
.faq__a p{padding-bottom:1.5rem;color:var(--d-55);max-width:70ch;font-size:.95rem;line-height:1.7;}
.invert .faq__a p{color:var(--l-52);}

/* --------------------------------------------------------------------------
   MEDIA CARDS
   -------------------------------------------------------------------------- */
.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.7rem,1.3vw,1.15rem);}
@media(max-width:1000px){.media-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:620px){.media-grid{grid-template-columns:1fr;}}
.mcard{
  position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3;
  background:var(--onyx-card);border:1px solid var(--d-12);display:block;
}
.mcard img,.mcard video{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease);filter:grayscale(.35);}
.mcard:hover img,.mcard:hover video{transform:scale(1.05);filter:grayscale(0);}
.mcard__body{position:absolute;left:0;right:0;bottom:0;padding:1.15rem;background:linear-gradient(0deg,rgba(10,10,10,.92),transparent);}
.mcard__title{font-family:var(--ui);font-weight:600;font-size:1rem;letter-spacing:-.02em;}
.mcard__meta{font-family:var(--ui);font-size:var(--fs-label);letter-spacing:.16em;text-transform:uppercase;color:var(--green);margin-top:.35rem;}
.mcard__play{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:58px;height:58px;border-radius:100px;background:rgba(255,255,255,.14);
  backdrop-filter:blur(10px);border:1px solid var(--d-22);display:grid;place-items:center;
  transition:background .3s,transform .4s var(--ease);
}
.mcard:hover .mcard__play{background:var(--green);transform:translate(-50%,-50%) scale(1.08);}
.mcard:hover .mcard__play svg{stroke:var(--onyx);fill:var(--onyx);}
.mcard__play svg{width:18px;height:18px;stroke:#fff;fill:#fff;margin-left:3px;}

/* Livestream offline state */
.live{
  border:1px dashed var(--d-22);border-radius:var(--radius-lg);
  padding:clamp(2rem,5vw,4.5rem) clamp(1.25rem,3vw,3rem);text-align:center;
  background:radial-gradient(ellipse 70% 100% at 50% 0%,rgba(159,232,112,.10),transparent 70%);
}
.live__state{
  display:inline-flex;align-items:center;gap:.6rem;font-family:var(--ui);
  font-size:var(--fs-label);font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--d-55);border:1px solid var(--d-22);border-radius:100px;padding:.55rem 1.1rem;
}
.live__dot{width:8px;height:8px;border-radius:50%;background:var(--d-40);}
.live__big{font-family:var(--display);font-size:clamp(2rem,6.5vw,5rem);text-transform:uppercase;line-height:.92;margin-top:1.4rem;}

/* --------------------------------------------------------------------------
   MULTI-STEP FORM
   -------------------------------------------------------------------------- */
.steps{display:flex;gap:.4rem;margin-bottom:clamp(1.6rem,3vw,2.4rem);flex-wrap:wrap;}
.step-pip{flex:1 1 90px;display:flex;flex-direction:column;gap:.5rem;}
.step-pip i{display:block;height:3px;border-radius:2px;background:var(--d-12);transition:background .4s;}
.step-pip span{font-family:var(--ui);font-size:var(--fs-label);letter-spacing:.14em;text-transform:uppercase;color:var(--d-40);transition:color .4s;}
.step-pip.is-done i{background:var(--green);opacity:.45;}
.step-pip.is-on i{background:var(--green);}
.step-pip.is-on span{color:var(--white);}
.invert .step-pip.is-on span{color:var(--ink);}

.step{display:none;}
.step.is-on{display:block;}
.step__head{margin-bottom:1.6rem;}
.step__head h3{font-family:var(--ui);font-weight:600;font-size:var(--fs-h3);letter-spacing:-.025em;}
.step__head p{color:var(--d-55);font-size:.92rem;margin-top:.5rem;}
.invert .step__head p{color:var(--l-52);}
.step__nav{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.6rem;}

.review{border:1px solid var(--d-12);border-radius:var(--radius);overflow:hidden;}
.invert .review{border-color:var(--l-14);background:var(--white);}
.review__row{display:flex;justify-content:space-between;gap:1.5rem;padding:.85rem 1.15rem;border-bottom:1px solid var(--d-07);font-size:.92rem;}
.invert .review__row{border-color:var(--l-07);}
.review__row:last-child{border-bottom:0;}
.review__row dt{color:var(--d-40);}
.invert .review__row dt{color:var(--l-52);}
.review__row dd{text-align:right;font-weight:500;}

/* --------------------------------------------------------------------------
   FORM PANEL + SUCCESS
   -------------------------------------------------------------------------- */
.form-wrap{
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(1.5rem,4vw,4.5rem);align-items:start;
}
@media(max-width:900px){.form-wrap{grid-template-columns:minmax(0,1fr);}}
.form-aside{position:sticky;top:calc(var(--nav-h) + 24px);}
@media(max-width:900px){.form-aside{position:static;}}
.form-aside ul{list-style:none;display:flex;flex-direction:column;gap:.85rem;margin-top:1.4rem;}
.form-aside li{display:flex;gap:.75rem;font-size:.9rem;color:var(--d-55);line-height:1.55;}
.form-aside li::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--green);margin-top:.5rem;flex:none;}
.invert .form-aside li{color:var(--l-52);}

.success{
  display:none;text-align:center;padding:clamp(2rem,5vw,4rem);
  border:1px solid var(--d-12);border-radius:var(--radius);
}
.invert .success{border-color:var(--l-14);background:var(--white);}
.success.is-on{display:block;}
.success__tick{width:64px;height:64px;border-radius:100px;background:var(--green);display:grid;place-items:center;margin:0 auto 1.4rem;}
.success__tick svg{width:30px;height:30px;}
.note{font-size:.8rem;color:var(--d-40);line-height:1.6;}
.invert .note{color:var(--l-52);}

/* --------------------------------------------------------------------------
   CONTACT ROUTES
   -------------------------------------------------------------------------- */
.route{
  display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:1rem;align-items:start;
  padding-block:1.3rem;border-bottom:1px solid var(--d-12);
}
.route:first-child{border-top:1px solid var(--d-12);}
.route__idx{font-family:var(--ui);font-size:var(--fs-label);font-weight:700;letter-spacing:.16em;color:var(--d-40);padding-top:.25rem;}
.route__name{font-family:var(--ui);font-weight:600;font-size:1.02rem;letter-spacing:-.02em;}
.route__desc{font-size:.88rem;color:var(--d-55);line-height:1.6;margin-top:.35rem;}
.route__link{display:inline-block;margin-top:.6rem;font-size:.88rem;color:var(--green);border-bottom:1px solid transparent;transition:border-color .25s;}
.route__link:hover{border-color:var(--green);}
