/* Camara Academy V9 — language flags, readable navigation & deliberate motion.
   Final cascade after the official V8 crest palette. */
:root{--ca-ease:cubic-bezier(.22,1,.36,1);--ca-motion-duration:750ms}
.ca-lang{
  display:flex;align-items:center;gap:8px;flex:0 0 auto;
  margin-left:5px;margin-right:4px;min-height:46px;padding:4px 8px;
  border:1px solid #d3e0d6;border-radius:6px;
  background:#fff;color:#1a3825
}
.ca-lang:focus-within{outline:2px solid var(--ca-logo-green);outline-offset:2px}
.ca-lang-flag{
  display:block;width:27px;height:18px;min-width:27px;max-width:27px;
  object-fit:cover;border:1px solid #cbd8ce;border-radius:2px;
  box-shadow:0 1px 3px #15281a18
}
.ca-lang select{
  appearance:none;min-height:36px;height:36px;min-width:121px;max-width:125px;
  padding:0 22px 0 4px;border:0;background-color:transparent;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 10 7'%3E%3Cpath d='m1 1 4 4 4-4' fill='none' stroke='%23244531' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 3px center;
  color:#1b3927;font:700 12px/1.4 var(--body);
  cursor:pointer;letter-spacing:0
}
.ca-lang select:focus-visible{outline:0}
.ca-lang option{color:#193522;background:#fff;font:600 14px var(--body)}
.ca-lang .ca-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1401px){
  .header-inner{gap:clamp(12px,1.15vw,20px);min-height:88px}
  .brand{min-width:170px}
  .nav{gap:clamp(9px,.92vw,17px);margin-left:auto}
  .nav a{font-size:14px!important;font-weight:730;line-height:1.45;white-space:nowrap;letter-spacing:0}
  .header-inner>.btn{font-size:11.5px;min-height:46px;padding:0 13px;white-space:nowrap}
}
/* Move to the menu before the eight links compress on laptops/tablets. */
@media(max-width:1400px){
  .header-inner{min-height:76px;gap:10px}
  .nav{display:none;position:absolute;top:76px;left:0;right:0;z-index:115;
    background:#fff;border-top:1px solid #dde9e0;box-shadow:0 22px 38px #10271924;
    padding:14px 26px 24px;margin:0;flex-direction:column;align-items:stretch;gap:0}
  .nav.open{display:flex}
  .nav a{font-size:16px!important;font-weight:700;padding:13px 10px!important;line-height:1.5;
    border-bottom:1px solid #e5eee7}
  .menu-toggle{display:flex;align-items:center;justify-content:center;flex:0 0 44px;
    width:44px;height:44px;margin-left:0;background:#fff;color:#13271a;border:1px solid #cadbcc}
  .header-inner>.btn{margin-left:auto}
  .ca-lang{margin-left:0;margin-right:2px}
}
@media(max-width:860px){
  .header-inner{min-height:72px}
  .nav{top:72px}
  .header-inner>.btn{display:none}
  .ca-lang{margin-left:auto}
}
@media(max-width:580px){
  .header-inner{min-height:70px;gap:8px}
  .nav{top:70px}
  .brand{min-width:0}
  .ca-lang{gap:4px;padding:2px 5px;min-height:40px;margin-right:0}
  .ca-lang-flag{width:24px;height:16px;min-width:24px;max-width:24px}
  .ca-lang select{min-width:66px;max-width:69px;width:68px;height:34px;min-height:34px;
    font-size:10px;padding-left:2px;padding-right:14px;background-position:right 1px center}
  .menu-toggle{width:40px;height:40px;flex-basis:40px}
}
@media(max-width:385px){
  .brand span{font-size:20px}
  .brand img{width:35px;height:35px}
  .ca-lang select{min-width:55px;max-width:58px;width:58px}
}
/* Additional sections become visible on scroll; legacy .reveal keeps
   its original observer. No content is hidden if JavaScript is disabled. */
@media(prefers-reduced-motion:no-preference){
  html.ca-motion-enabled .ca-motion{
    opacity:0;transform:translate3d(0,18px,0);
    transition:opacity var(--ca-motion-duration) var(--ca-ease),
      transform var(--ca-motion-duration) var(--ca-ease);
    transition-delay:var(--ca-stagger,0ms);
    will-change:opacity,transform
  }
  html.ca-motion-enabled .ca-motion.ca-motion-in{opacity:1;transform:translate3d(0,0,0);will-change:auto}
  .page-hero .eyebrow,.page-hero h1,.page-hero p{animation:ca-text-enter 650ms var(--ca-ease) both}
  .page-hero h1{animation-delay:80ms}
  .page-hero p{animation-delay:145ms}
  .hero-copy .actions .btn:first-child{animation:ca-cta-enter 580ms var(--ca-ease) 180ms both}
}
@keyframes ca-text-enter{
  from{opacity:0;transform:translateY(13px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes ca-cta-enter{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .nav a{transition:color 220ms ease}
  .ca-lang{transition:border-color 220ms ease,box-shadow 220ms ease}
  .ca-lang:hover{border-color:#8ccca2;box-shadow:0 4px 18px #0f3b2020}
  .program-card:before{transition:transform 850ms var(--ca-ease),filter 500ms ease}
  .program-card:hover:before{transform:scale(1.035);filter:saturate(1.01)}
  .service-card:hover{border-color:#9cc6a8;box-shadow:0 14px 30px #142d1a16}
}
@media(prefers-reduced-motion:reduce){
  html.ca-motion-enabled .ca-motion,html.ca-motion-enabled .ca-motion.ca-motion-in{
    opacity:1!important;transform:none!important;transition:none!important;will-change:auto
  }
  .page-hero .eyebrow,.page-hero h1,.page-hero p,.hero-copy .actions .btn:first-child{
    animation:none!important;opacity:1!important;transform:none!important
  }
  .ca-lang,.nav a,.program-card:before{transition:none!important}
}