/* CAMARA ACADEMY — V8 / official-crest colour system.
   Source: user-supplied Camara Academy logo (not a recoloured logo).
   Exact dominant crest colours: green #12AA57, yellow #FFE101,
   red #D01B21, black #000000 and white #FFFFFF.
   Use green for functional emphasis, yellow for small editorial emphasis,
   red sparingly as a signature detail; black/white carry the layout.
   Loaded AFTER polish-v7.css on all eight pages. */
:root{
  --ca-logo-green:#12AA57;
  --ca-logo-yellow:#FFE101;
  --ca-logo-red:#D01B21;
  --ca-logo-black:#000000;
  --ca-logo-white:#FFFFFF;
  --ca-green-ink:#086B38;
  --ca-dark:#101915;
  --ca-dark-2:#17231B;
  --ca-ivory:#F9FAF7;
  --ca-green-mist:#EAF5ED;
  --ca-stroke:#DCE6DC;
  --ca-body:#233329;
  --ca-muted:#45594B;
  --dark:var(--ca-dark);
  --dark2:var(--ca-dark-2);
  --brand:var(--ca-green-ink);
  --brand-hover:#07532C;
  --brand-deep:var(--ca-dark);
  --ink:var(--ca-body);
  --muted:var(--ca-muted);
  --cream:var(--ca-ivory);
  --line:var(--ca-stroke);
  --lime:var(--ca-logo-green);
  --gold:var(--ca-logo-yellow);
  --sage:var(--ca-green-mist);
}
body{background:var(--ca-ivory);color:var(--ca-body)}
::selection{background:#FFF4B1;color:var(--ca-logo-black)}
/* The logo remains intact and has room against a plain white header. */
.site-header{background:rgba(255,255,255,.985);border-bottom:1px solid #e4ebe4}
.brand span{color:#17231B}
.brand small{color:#385241}
.topline{position:relative;background:var(--ca-dark);color:#F0F5F0}
.topline:before{
  content:"";position:absolute;inset:0 0 auto 0;height:3px;pointer-events:none;
  background:linear-gradient(90deg,var(--ca-logo-green) 0 58%,
    var(--ca-logo-yellow) 58% 83%,var(--ca-logo-red) 83% 100%);
}
.topline .container{padding-top:10px}
.nav a{color:#24382B}
.nav a.active,.nav a:hover{color:var(--ca-green-ink)}
.nav a:after{background:var(--ca-logo-red)}
.nav a:focus-visible,.brand:focus-visible{outline:3px solid var(--ca-logo-red);outline-offset:4px}
.menu-toggle{color:var(--ca-dark);border-color:#C4D6C7}
.menu-toggle:hover{border-color:var(--ca-logo-green);background:var(--ca-green-mist)}
.ca-lang select{background-color:#fff;border-color:#C8D8CD;color:#1C3926}
/* Bright crest green carries key actions ONLY with black lettering:
   white on the original green would not meet normal-text AA contrast. */
.btn-lime,.header-inner>.btn,.mobile-action{
  background:var(--ca-logo-green);border-color:var(--ca-logo-green);
  color:var(--ca-logo-black);font-weight:800;box-shadow:none;
}
.btn-lime:hover,.header-inner>.btn:hover,.mobile-action:hover{
  background:var(--ca-green-ink);border-color:var(--ca-green-ink);color:#fff;
}
.btn-dark{background:var(--ca-dark);border-color:var(--ca-dark);color:#fff}
.btn-dark:hover{background:#26402F;border-color:#26402F;color:#fff}
.btn-outline{border-color:#8AAB91;color:var(--ca-body)}
.eyebrow,.eyebrow.lime,.hero .eyebrow{color:var(--ca-green-ink)}
.eyebrow:before{background:currentColor}
.hero,.section.cream,.services-section{background:var(--ca-ivory);color:var(--ca-body)}
.hero h1,.hero-copy h1{color:var(--ca-dark)}
.hero h1 em,h1 em,h2 em{color:var(--ca-green-ink)}
.hero-copy>p,.section-head p{color:var(--ca-muted)}
.hero .btn-outline{color:var(--ca-dark);border-color:var(--ca-green-ink)}
.hero .btn-outline:hover{color:var(--ca-green-ink)}
.hero-bottom{background:var(--ca-dark);border-top:2px solid var(--ca-logo-green)}
.hero-bottom p,.hero-bottom .hero-index{color:#EAF4EA}
.hero-bottom strong{color:var(--ca-logo-yellow)}
.hero-bottom:after{background:#fff;color:var(--ca-dark)}
.stat b,.service-index,.service-label,.service-card a,
.step-no,.price-card .price,.location-card a{color:var(--ca-green-ink)}
.section.white .split h2 span[style],.section.cream .split h2 span[style],
span[style*="#718f1f"]{color:var(--ca-green-ink)!important}
.section.dark span[style*="#718f1f"]{color:var(--ca-logo-green)!important}
/* Tall dark chapters borrow the BLACK from the crest, with yellow as
   a small text highlight, rather than making the entire page neon. */
.section.dark,.page-hero,.footer{background:var(--ca-dark);color:#fff}
.section.dark h2,.page-hero h1{color:#fff}
.section.dark h2 em,.page-hero .eyebrow,.section.dark .eyebrow.lime{
  color:var(--ca-logo-yellow)
}
.section.dark .eyebrow:before,.page-hero .eyebrow:before{background:currentColor}
.page-hero .breadcrumbs{color:#D5E5D5}
.page-hero p,.section.dark .section-head p,.section.dark .split p{color:#E0EBE0}
.service-card{border-color:var(--ca-stroke)}
.service-card.featured{position:relative;background:var(--ca-green-mist);border-color:#CEE2D0}
.service-card.featured:before{
  content:"";display:block;position:absolute;top:0;left:0;width:34px;height:4px;
  background:var(--ca-logo-red)
}
.service-card.featured:hover{background:#E0F0E4;border-color:#AFD6B7}
.service-card.featured .count,.service-card.featured .service-index{color:var(--ca-green-ink)}
.service-card.featured h3,.service-card.featured p,.service-card.featured a{color:var(--ca-body)}
.ticker{background:var(--ca-dark-2);color:#E7F3E8;border-block:1px solid #286D44}
.ticker-inner i{color:var(--ca-logo-yellow)}
/* Yellow from the crest appears in small chips and clear visual wayfinding. */
.program-card .chip,.video-card .badge{
  background:var(--ca-logo-yellow);color:var(--ca-logo-black);
  text-shadow:none;letter-spacing:.055em
}
.program-card .inner{z-index:2}
.program-card h3,.program-card p,.program-card .card-bottom span,
.program-card .card-bottom a{color:#fff}
.video-card .play{background:var(--ca-logo-green);color:var(--ca-logo-black);border-color:#fff}
.video-card .play:hover{background:var(--ca-logo-yellow);color:var(--ca-logo-black)}
.video-card .detail h3,.section.dark .video-card .detail h3{color:var(--ca-dark)}
.video-card .detail p,.section.dark .video-card .detail p{color:var(--ca-muted)}
.price-card .badge{background:var(--ca-green-mist);color:var(--ca-green-ink)}
.price-card.highlight{background:#16231B;border-color:#25412F;color:#fff}
.price-card.highlight .price{color:var(--ca-logo-yellow)}
.price-card.highlight .badge{background:var(--ca-logo-green);color:var(--ca-logo-black)}
.price-card.highlight .btn-dark{background:var(--ca-logo-green);color:var(--ca-logo-black);
  border-color:var(--ca-logo-green)}
.price-card.highlight .btn-dark:hover{background:var(--ca-logo-yellow);
  border-color:var(--ca-logo-yellow);color:var(--ca-logo-black)}
.filter-bar button.active,.filter-bar button:hover{
  background:var(--ca-green-ink);border-color:var(--ca-green-ink);color:#fff
}
.faq-item button span:last-child{color:var(--ca-green-ink)}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--ca-logo-green)}
/* Conversion band and footer: clear green brand stripe and yellow action
   while leaving most of the screen black/ivory. */
.cta-band{background:#193124;border-top:3px solid var(--ca-logo-green)}
.cta-band h2{color:#fff}
.cta-band .eyebrow,.cta-band .eyebrow.lime,.cta-band h2 em{color:var(--ca-logo-yellow)}
.cta-band .btn-dark{background:var(--ca-logo-yellow);border-color:var(--ca-logo-yellow);
  color:var(--ca-logo-black)}
.cta-band .btn-dark:hover{background:var(--ca-logo-green);border-color:var(--ca-logo-green);
  color:var(--ca-logo-black)}
.footer{background:#111A14;border-top:1px solid #346849}
.footer .brand span,.footer h4,.footer .footer-contact{color:#fff}
.footer .brand small{color:#D1E2D2}
.footer p,.footer a:not(.brand){color:#D6E7D7}
.footer-bottom{color:#C8DBCB}
.footer-social a{border-color:#55785C;color:#fff}
.footer-social a:hover{background:var(--ca-logo-yellow);border-color:var(--ca-logo-yellow);
  color:var(--ca-logo-black)}
/* Chat assistant is part of the Camara identity, not an extra brand. */
.ca-chat-widget .ca-chat-toggle{
  background:var(--ca-dark);border-color:var(--ca-logo-green);color:#fff;
  box-shadow:0 12px 28px #0b1a1190
}
.ca-chat-widget .ca-chat-toggle:hover{background:#254B33;border-color:var(--ca-logo-yellow)}
.ca-chat-toggle>span:first-child{color:var(--ca-logo-yellow)}
.ca-chat-header{background:var(--ca-dark);border-bottom:3px solid var(--ca-logo-green)}
.ca-chat-mark{background:#fff}
.ca-chat-bot{background:#EAF5ED;color:#1C3926}
.ca-chat-user{background:var(--ca-green-ink);color:#fff}
.ca-chat-chips button{border-color:#B6D4BE;background:#fff;color:var(--ca-green-ink)}
.ca-chat-chips button:hover{background:#EAF5ED;border-color:var(--ca-logo-green)}
.ca-chat-contact{background:var(--ca-green-ink);color:#fff}
.ca-chat-send{background:var(--ca-logo-yellow);color:var(--ca-logo-black)}
.ca-chat-send:hover{background:var(--ca-logo-green)}
.ca-chat-wa{background:#EAF5ED;color:#1C663C;border-color:#AFD5B9}
.ca-chat-privacy{color:#405848}
/* Strong, visible focus for keyboard users on both light and dark surfaces. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible{outline:3px solid var(--ca-logo-red);outline-offset:3px}
.section.dark a:focus-visible,.page-hero a:focus-visible,.footer a:focus-visible,
.ca-chat-header button:focus-visible,.cta-band a:focus-visible{
  outline-color:var(--ca-logo-yellow)
}
@media(max-width:1150px){
  .nav{background:#fff}
  .nav a{color:var(--ca-dark);border-bottom-color:#DCE6DC}
  .nav a.active{color:var(--ca-green-ink)}
}
@media(prefers-reduced-motion:reduce){
  .service-card.featured,.video-card .play,.cta-band .btn-dark{transition:none!important}
}
