
:root{--gold:#f2cf00;--ink:#111;--muted:#666;--line:#e5ddb8;--green:#0da64b}
*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;color:var(--ink);line-height:1.6;background:#fff}a{text-decoration:none;color:inherit}button,input{font:inherit}.wrap{width:min(1120px,calc(100% - 30px));margin:auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid #eee}.nav{height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;font-weight:900}.brand img{width:50px;height:50px;border-radius:50%}.nav nav{display:flex;gap:18px;font-size:12px;font-weight:800}
.hero{background:radial-gradient(circle at 80% 10%,rgba(242,207,0,.27),transparent 28%),linear-gradient(135deg,#fff,#fff6be);padding:72px 0}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:55px;align-items:center}.eyebrow,.kicker{font-size:10px;letter-spacing:2px;font-weight:900;color:#756400}.hero h1,.section h2,.proof-section h2{font:700 clamp(38px,5vw,64px) Georgia,serif;line-height:1.05;margin:10px 0}.hero h1 span{color:#8b7700}.lead{font-size:17px;color:#555;max-width:680px}.payee{margin-top:25px;border-left:4px solid var(--gold);padding-left:13px}.payee small,.payee strong,.payee b{display:block}.payee small{font-size:9px;color:#777}.payee b{font-size:20px}.hero-card{background:#fff;border:1px solid var(--line);border-radius:25px;padding:25px;text-align:center}.hero-card img{width:210px}.hero-card strong,.hero-card span{display:block}.hero-card span{font-size:10px;color:#666;margin-top:5px}
.section{padding:72px 0}.checkout-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:35px;align-items:start}.section-head h2{font-size:38px}.payment-items{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.pay-item{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:15px;padding:13px;background:#fff;cursor:pointer}.pay-item:has(input[type=checkbox]:checked){border-color:var(--green);box-shadow:0 0 0 3px rgba(13,166,75,.09)}.pay-item span b,.pay-item span small{display:block}.pay-item span b{font-size:12px}.pay-item span small{font-size:9px;color:#777}.item-amount{width:85px;border:1px solid #ddd;border-radius:9px;padding:7px}.other-desc{display:block;font-size:10px;font-weight:900;margin-top:15px}.other-desc input,.checkout-card input,.proof-card input{width:100%;padding:11px;border:1px solid #d9d2b5;border-radius:10px;margin-top:6px}
.checkout-card{position:sticky;top:95px;border:1px solid var(--line);border-radius:23px;padding:22px;background:linear-gradient(145deg,#fff,#fff9dc);box-shadow:0 15px 40px rgba(0,0,0,.07)}.checkout-card h2{font:700 34px Georgia,serif;margin:4px 0 16px}.currency-toggle{display:grid;grid-template-columns:1fr 1fr;gap:7px}.currency{border:1px solid #ddd;background:#fff;border-radius:10px;padding:9px;font-weight:900}.currency.active{background:#111;color:#fff}.rate{margin:12px 0;padding:10px;background:#fff7cf;border:1px solid #e8d980;border-radius:10px;font-size:10px}.rate small{display:block;color:#766d35}.totals{border-top:1px solid #ddd3a8;border-bottom:1px solid #ddd3a8;padding:12px 0;margin:12px 0}.totals>div{display:flex;justify-content:space-between;gap:12px;font-size:11px;margin:7px 0}.totals .grand{align-items:end}.totals .grand strong{font:700 27px Georgia,serif;color:#8b7700}.fee-rule{font-size:9px;color:#666;margin-bottom:15px}.fee-rule b,.fee-rule span{display:block}.checkout-card label,.proof-card label{display:block;font-size:10px;font-weight:900;margin-top:11px}.btn{display:block;width:100%;border:0;border-radius:999px;padding:12px 16px;text-align:center;font-size:11px;font-weight:900;cursor:pointer;margin-top:10px}.ecocash{background:var(--green);color:#fff}.ecocash.disabled{opacity:.45;pointer-events:none}.secondary{background:#fff;border:1px solid #ccc}.safety{margin-top:15px;background:#f5f5f5;border-radius:12px;padding:11px}.safety b{font-size:10px}.safety p{font-size:9px;color:#666;margin:3px 0}
.proof-section{background:#111;color:#fff;padding:62px 0}.proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.proof-section .kicker{color:var(--gold)}.proof-section h2{font-size:40px}.proof-section p{color:#aaa}.proof-card{background:#fff;color:#111;border-radius:20px;padding:22px}.proof{background:var(--gold)}#status{font-size:9px;color:#337244;margin-top:8px}
footer{background:#080808;color:#888;padding:22px 0;font-size:10px}
@media(max-width:800px){.nav nav{display:none}.hero-grid,.checkout-grid,.proof-grid{grid-template-columns:1fr}.payment-items{grid-template-columns:1fr}.checkout-card{position:static}}


.payment-warning{margin:0 0 18px;padding:17px 18px;border:1px solid #e3c84c;border-left:5px solid #f2cf00;border-radius:14px;background:#fff9d9}
.payment-warning h3{font:700 20px Georgia,serif;margin:0 0 7px}.payment-warning p{font-size:10px;color:#5e572f;margin:6px 0;line-height:1.55}
.purpose-required small{display:block;margin-top:5px;color:#766d35;font-weight:400}
.payment-ack{display:flex!important;gap:9px;align-items:flex-start;margin:15px 0!important;padding:11px;background:#f8f8f8;border:1px solid #ddd;border-radius:11px}
.payment-ack input{width:auto!important;margin:3px 0 0!important}.payment-ack span{font-size:9px;line-height:1.5;color:#555}

.payment-category{grid-column:1/-1;margin-top:8px;padding:8px 10px;border-left:4px solid var(--gold);background:#fff8ce;border-radius:8px}.payment-category span{font-size:9px;letter-spacing:1.4px;font-weight:900;color:#766400}

.ussd-code-box{margin:14px 0 4px;padding:12px;border:1px solid #c9dfcf;background:#f7fff9;border-radius:12px}
.ussd-code-box span,.ussd-code-box small{display:block}.ussd-code-box span{font-size:9px;font-weight:900;color:#466a50;text-transform:uppercase;letter-spacing:.07em}
.ussd-code-box code{display:block;margin:7px 0;padding:9px 10px;border-radius:8px;background:#111;color:#f2cf00;font-size:12px;word-break:break-all}
.ussd-code-box small{font-size:9px;color:#5d6d61;line-height:1.45}


.purpose-box{margin:15px 0 10px;padding:14px 15px;border-radius:14px;background:#111;color:#fff}
.purpose-box span,.purpose-box small{display:block}.purpose-box span{font-size:9px;letter-spacing:.1em;color:#f2cf00;font-weight:900}.purpose-box strong{display:block;margin:5px 0;font-size:13px}.purpose-box small{font-size:9px;color:#aaa}
.qty-box{display:flex;align-items:center;gap:5px;margin-left:auto}.qty-box span{font-size:8px!important;color:#777}.qty-box input{width:54px!important;padding:6px!important;border:1px solid #ddd;border-radius:8px}
.invoice-preview{margin:15px 0;padding:14px;border:1px solid #d9d0a0;background:#fff;border-radius:14px}
.invoice-head{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed #ddd;padding-bottom:8px}.invoice-head span{font-size:9px;font-weight:900;letter-spacing:.08em;color:#756400}.invoice-head b{font-size:9px}
.invoice-lines{padding:8px 0;display:grid;gap:5px}.invoice-line{display:grid;grid-template-columns:1fr auto;gap:10px;font-size:9px}.invoice-line span{color:#555}.invoice-line b{font-size:9px}
.invoice-total-row{display:flex;justify-content:space-between;align-items:end;border-top:1px dashed #ddd;padding-top:9px}.invoice-total-row span{font-size:9px;color:#666}.invoice-total-row strong{font:700 20px Georgia,serif;color:#8b7700}

.rounding-rule{margin:10px 0 15px;padding:10px 11px;border-radius:10px;background:#eef9f1;border:1px solid #b9dfc7}
.rounding-rule b,.rounding-rule span{display:block}.rounding-rule b{font-size:9px;color:#087c38;text-transform:uppercase;letter-spacing:.06em}.rounding-rule span{font-size:9px;color:#4f6756;margin-top:3px;line-height:1.45}


.glitter-burst{position:fixed;pointer-events:none;z-index:99999;width:8px;height:8px;border-radius:50%;background:#f2cf00;box-shadow:0 0 10px rgba(242,207,0,.75);animation:glitterPop .72s ease-out forwards}
.glitter-burst:before,.glitter-burst:after{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:16px -10px 0 #f2cf00,-14px -14px 0 #fff,18px 11px 0 #fff,-17px 10px 0 #f2cf00,2px -21px 0 #f2cf00,-2px 21px 0 #fff,24px 0 0 #f2cf00,-24px 1px 0 #fff}
.glitter-burst:before{transform:translate(-50%,-50%) scale(.65) rotate(15deg)}.glitter-burst:after{transform:translate(-50%,-50%) scale(.95) rotate(45deg);opacity:.75}
@keyframes glitterPop{0%{opacity:1;transform:translate(-50%,-50%) scale(.2)}70%{opacity:1;transform:translate(-50%,-50%) scale(1.45) rotate(155deg)}100%{opacity:0;transform:translate(-50%,-50%) scale(2) rotate(240deg)}}
@media(prefers-reduced-motion:reduce){.glitter-burst{display:none}}


/* Rufasch Advanced Ambient Theme
   90-second cycle: Gold -> Turquoise -> Lime Green -> Gold.
   Each phase changes gradually over a 30-second interval. */
:root{
  --ambient-gold: rgba(242,207,0,.105);
  --ambient-turquoise: rgba(35,205,190,.095);
  --ambient-lime: rgba(145,220,45,.09);
}
body{position:relative;isolation:isolate}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 10%,var(--ambient-gold),transparent 38%),
    radial-gradient(circle at 88% 34%,rgba(242,207,0,.055),transparent 42%),
    linear-gradient(135deg,rgba(255,251,225,.55),rgba(255,255,255,.2));
  animation:rufaschAmbientGold 90s ease-in-out infinite;
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.55;
  background:linear-gradient(115deg,transparent 0 25%,rgba(255,255,255,.28) 43%,transparent 62% 100%);
  background-size:220% 220%;
  animation:rufaschAmbientShimmer 18s ease-in-out infinite;
}
@keyframes rufaschAmbientGold{
  0%,100%{
    background:
      radial-gradient(circle at 12% 10%,rgba(242,207,0,.105),transparent 38%),
      radial-gradient(circle at 88% 34%,rgba(242,207,0,.055),transparent 42%),
      linear-gradient(135deg,rgba(255,251,225,.55),rgba(255,255,255,.2));
  }
  33.333%{
    background:
      radial-gradient(circle at 12% 10%,rgba(35,205,190,.095),transparent 38%),
      radial-gradient(circle at 88% 34%,rgba(35,205,190,.05),transparent 42%),
      linear-gradient(135deg,rgba(230,255,252,.5),rgba(255,255,255,.2));
  }
  66.666%{
    background:
      radial-gradient(circle at 12% 10%,rgba(145,220,45,.09),transparent 38%),
      radial-gradient(circle at 88% 34%,rgba(145,220,45,.05),transparent 42%),
      linear-gradient(135deg,rgba(244,255,225,.52),rgba(255,255,255,.2));
  }
}
@keyframes rufaschAmbientShimmer{
  0%,100%{background-position:0% 50%;opacity:.32}
  50%{background-position:100% 50%;opacity:.58}
}

/* Let the ambient colour subtly breathe through light sections/cards
   while preserving text contrast and the premium gold identity. */
main>section:not(.hero):not(.accommodation-section):not(.proof-section),
.section:not(.accommodation-section):not(.proof-section){
  background-color:rgba(255,255,255,.88);
  backdrop-filter:saturate(108%);
}
.product-card,.course-card,.address-card,.checkout-card,.product-group,
.hero-card,.proof-card,fieldset{
  transition:box-shadow 1.2s ease,background-color 1.2s ease,border-color 1.2s ease;
}

/* Very faint ambient edge glow for interactive premium feel */
@keyframes rufaschAmbientEdge{
  0%,100%{box-shadow:0 0 0 1px rgba(242,207,0,.06),0 10px 35px rgba(0,0,0,.035)}
  33.333%{box-shadow:0 0 0 1px rgba(35,205,190,.055),0 10px 35px rgba(0,0,0,.035)}
  66.666%{box-shadow:0 0 0 1px rgba(145,220,45,.055),0 10px 35px rgba(0,0,0,.035)}
}
.product-card,.course-card,.address-card,.hero-card{
  animation:rufaschAmbientEdge 90s ease-in-out infinite;
}

@media(prefers-reduced-motion:reduce){
  body::before,body::after,.product-card,.course-card,.address-card,.hero-card{animation:none}
  body::before{
    background:
      radial-gradient(circle at 12% 10%,rgba(242,207,0,.085),transparent 38%),
      linear-gradient(135deg,rgba(255,251,225,.45),rgba(255,255,255,.15));
  }
}

.invoice-help{display:block;margin-top:6px;font-size:9px;color:#777;text-align:center}


/* === Rufasch Visual Ambient Screen System ===
   30-second loop: Gold -> Turquoise -> Lime -> Gold.
   Each colour phase transitions over ~10 seconds. */

@keyframes rufaschAmbientGold{
  0%,100%{
    background:
      radial-gradient(circle at 8% 12%,rgba(242,207,0,.16),transparent 34%),
      radial-gradient(circle at 92% 28%,rgba(242,207,0,.09),transparent 38%),
      linear-gradient(135deg,rgba(255,248,198,.60),rgba(255,255,255,.28));
  }
  33.333%{
    background:
      radial-gradient(circle at 8% 12%,rgba(25,205,190,.15),transparent 34%),
      radial-gradient(circle at 92% 28%,rgba(25,205,190,.08),transparent 38%),
      linear-gradient(135deg,rgba(221,255,251,.58),rgba(255,255,255,.28));
  }
  66.666%{
    background:
      radial-gradient(circle at 8% 12%,rgba(145,220,45,.15),transparent 34%),
      radial-gradient(circle at 92% 28%,rgba(145,220,45,.08),transparent 38%),
      linear-gradient(135deg,rgba(239,255,211,.58),rgba(255,255,255,.28));
  }
}
body::before{
  animation:rufaschAmbientGold 30s linear infinite !important;
}

/* More visible inner screen stroke */
.rufasch-screen-stroke{
  position:fixed;
  inset:clamp(5px,.7vw,10px);
  z-index:99990;
  pointer-events:none;
  border-radius:clamp(12px,1.6vw,22px);
  border:2px solid rgba(242,207,0,.78);
  box-shadow:
    inset 0 0 24px rgba(242,207,0,.14),
    0 0 18px rgba(242,207,0,.18);
  animation:rufaschStrokeColour 30s linear infinite;
}
.rufasch-screen-stroke::before{
  content:"";
  position:absolute;
  inset:7px;
  border-radius:calc(clamp(12px,1.6vw,22px) - 4px);
  border:1px solid rgba(255,255,255,.48);
  opacity:.75;
}
.rufasch-screen-stroke::after{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:inherit;
  background:
    linear-gradient(90deg,transparent 0 15%,rgba(255,255,255,.92) 24%,transparent 34% 100%);
  background-size:280% 100%;
  animation:rufaschStrokeSweep 6s linear infinite;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  padding:2px;
  opacity:.75;
}
@keyframes rufaschStrokeColour{
  0%,100%{
    border-color:rgba(242,207,0,.82);
    box-shadow:inset 0 0 24px rgba(242,207,0,.15),0 0 20px rgba(242,207,0,.20);
  }
  33.333%{
    border-color:rgba(27,200,188,.80);
    box-shadow:inset 0 0 24px rgba(27,200,188,.14),0 0 20px rgba(27,200,188,.19);
  }
  66.666%{
    border-color:rgba(145,220,45,.82);
    box-shadow:inset 0 0 24px rgba(145,220,45,.14),0 0 20px rgba(145,220,45,.19);
  }
}
@keyframes rufaschStrokeSweep{
  from{background-position:130% 0}
  to{background-position:-130% 0}
}

/* Decorative corner sparks on the screen stroke */
.rufasch-corner-spark{
  position:fixed;
  z-index:99991;
  width:10px;height:10px;
  border-radius:50%;
  pointer-events:none;
  background:#f2cf00;
  box-shadow:0 0 10px 3px rgba(242,207,0,.35);
  animation:rufaschSparkColour 30s linear infinite, rufaschSparkPulse 2.4s ease-in-out infinite;
}
.rufasch-corner-spark.tl{top:clamp(6px,.8vw,12px);left:clamp(6px,.8vw,12px)}
.rufasch-corner-spark.tr{top:clamp(6px,.8vw,12px);right:clamp(6px,.8vw,12px)}
.rufasch-corner-spark.bl{bottom:clamp(6px,.8vw,12px);left:clamp(6px,.8vw,12px)}
.rufasch-corner-spark.br{bottom:clamp(6px,.8vw,12px);right:clamp(6px,.8vw,12px)}
@keyframes rufaschSparkColour{
  0%,100%{background:#f2cf00;box-shadow:0 0 11px 3px rgba(242,207,0,.40)}
  33.333%{background:#1bc8bc;box-shadow:0 0 11px 3px rgba(27,200,188,.36)}
  66.666%{background:#91dc2d;box-shadow:0 0 11px 3px rgba(145,220,45,.36)}
}
@keyframes rufaschSparkPulse{
  0%,100%{transform:scale(.7);opacity:.65}
  50%{transform:scale(1.35);opacity:1}
}

/* Slightly stronger ambient card glow for visibility */
@keyframes rufaschAmbientEdge{
  0%,100%{box-shadow:0 0 0 1px rgba(242,207,0,.12),0 12px 38px rgba(0,0,0,.045)}
  33.333%{box-shadow:0 0 0 1px rgba(27,200,188,.11),0 12px 38px rgba(0,0,0,.045)}
  66.666%{box-shadow:0 0 0 1px rgba(145,220,45,.11),0 12px 38px rgba(0,0,0,.045)}
}
.product-card,.course-card,.address-card,.hero-card{
  animation:rufaschAmbientEdge 30s linear infinite !important;
}

@media(max-width:640px){
  .rufasch-screen-stroke{inset:4px;border-width:1.5px;border-radius:12px}
  .rufasch-screen-stroke::before{inset:5px}
  .rufasch-corner-spark{width:7px;height:7px}
}
@media(prefers-reduced-motion:reduce){
  body::before,.rufasch-screen-stroke,.rufasch-screen-stroke::after,
  .rufasch-corner-spark,.product-card,.course-card,.address-card,.hero-card{
    animation:none !important;
  }
}


/* ===== Final Rufasch Conversion & Motto Layer ===== */
.rufasch-motto-ribbon{
  position:relative;
  z-index:15;
  text-align:center;
  padding:6px 12px;
  background:linear-gradient(90deg,#111,#2c2c2c,#111);
  color:#f2cf00;
  font:italic 800 clamp(10px,1.2vw,13px) Georgia,serif;
  letter-spacing:.4px;
  border-bottom:1px solid rgba(242,207,0,.35);
}
.rufasch-motto-ribbon span{display:inline-block;text-shadow:0 0 14px rgba(242,207,0,.22)}
.footer-motto{text-align:center;padding:8px 12px;color:#f2cf00;font:italic 700 12px Georgia,serif;background:#080808;border-top:1px solid #222}

/* Top continuously sliding gallery strip */
.top-gallery-strip{
  width:100%;
  overflow:hidden;
  background:#111;
  border-bottom:2px solid rgba(242,207,0,.55);
  box-shadow:0 8px 22px rgba(0,0,0,.12);
}
.strip-track{
  display:flex;
  width:max-content;
  gap:7px;
  padding:7px;
  animation:rufaschStripMove 34s linear infinite;
}
.top-gallery-strip:hover .strip-track{animation-play-state:paused}
.strip-track figure{
  position:relative;
  margin:0;
  width:clamp(170px,22vw,310px);
  height:clamp(82px,10vw,128px);
  overflow:hidden;
  border-radius:12px;
  flex:0 0 auto;
  border:1px solid rgba(255,255,255,.14);
}
.strip-track img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.strip-track figure:hover img{transform:scale(1.06)}
.strip-track figure::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(transparent 45%,rgba(0,0,0,.78));
}
.strip-track figcaption{
  position:absolute;left:10px;bottom:8px;z-index:2;
  color:#fff;font-size:10px;font-weight:900;text-shadow:0 2px 8px rgba(0,0,0,.6)
}
@keyframes rufaschStripMove{from{transform:translateX(0)}to{transform:translateX(-33.333%)}}

/* Conversion section */
.final-conversion-section{background:linear-gradient(180deg,rgba(255,255,255,.93),rgba(255,251,229,.93))}
.conversion-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.conversion-benefits article{border:1px solid var(--line,#e7dfb6);border-radius:18px;padding:20px;background:rgba(255,255,255,.92)}
.conversion-benefits article>b{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#111;color:#f2cf00;font-size:10px}
.conversion-benefits h3{font:700 20px Georgia,serif;margin:12px 0 6px}
.conversion-benefits p{font-size:10px;color:#666;margin:0}
.intake-push{background:radial-gradient(circle at 85% 18%,rgba(242,207,0,.16),transparent 30%),#111;color:#fff}
.intake-push-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:35px;align-items:center}
.intake-push .kicker{color:#f2cf00}.intake-push h2{font:700 clamp(36px,5vw,58px) Georgia,serif;line-height:1.04;margin:10px 0}
.intake-push h2 span{color:#f2cf00}.intake-push p{color:#bbb}.intake-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}
.intake-motto-card{border:1px solid #363636;border-radius:24px;padding:25px;text-align:center;background:linear-gradient(145deg,#1b1b1b,#0d0d0d)}
.intake-motto-card img{width:150px;max-width:55%;filter:drop-shadow(0 10px 20px rgba(0,0,0,.25))}
.intake-motto-card span,.intake-motto-card strong{display:block}
.intake-motto-card span{font-size:10px;letter-spacing:2px;color:#aaa;margin-top:10px}
.intake-motto-card strong{font:italic 700 clamp(20px,3vw,30px) Georgia,serif;color:#f2cf00;margin-top:8px}

@media(max-width:900px){
  .conversion-benefits{grid-template-columns:repeat(2,1fr)}
  .intake-push-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .conversion-benefits{grid-template-columns:1fr}
  .strip-track figure{width:170px;height:86px}
  .strip-track{animation-duration:28s}
  .rufasch-motto-ribbon{padding:5px 8px}
}
@media(prefers-reduced-motion:reduce){.strip-track{animation:none;overflow-x:auto}}
