/* 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}
}

/* V10 — frontend Academy Assistant */
.ca-chat-message{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.ca-chat-message.ca-chat-user{align-items:flex-end;background:transparent!important;color:inherit!important}
.ca-chat-message .ca-chat-bubble{margin:0}
.ca-chat-answer-action{
  display:inline-flex;align-items:center;min-height:34px;padding:7px 10px;
  border:1px solid #b8d4bf;border-radius:5px;background:#fff;
  color:var(--ca-green-ink);font-size:11.5px;font-weight:800;letter-spacing:.01em
}
.ca-chat-answer-action:hover{background:var(--ca-green-mist);border-color:var(--ca-logo-green)}
.ca-chat-typing{
  margin:3px 0;padding:8px 11px;border-radius:12px;background:#eef5ef;
  color:#506456;font-size:12px;font-style:italic
}
.ca-chat-send:disabled,.ca-chat-form input:disabled{opacity:.58;cursor:wait}
.ca-chat-chips{max-height:116px;overflow:auto;scrollbar-width:thin}
.ca-chat-chips button{white-space:nowrap}
.ca-lang select option{font-size:14px}
@media(max-width:580px){
  .ca-lang select{min-width:78px;max-width:82px;width:80px}
}
@media(prefers-reduced-motion:reduce){
  .ca-chat-answer-action,.ca-chat-typing{transition:none!important;animation:none!important}
}


/* V10.1 — Camara Academy Data / video-analysis pricing */
.video-analysis-pricing{
  position:relative;overflow:hidden;background:#0c100e;color:#fff;
  border-top:4px solid transparent;
  border-image:linear-gradient(90deg,var(--ca-logo-red),var(--ca-logo-yellow),var(--ca-logo-green)) 1
}
.video-analysis-pricing:before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.28;
  background-image:
    linear-gradient(#ffffff0b 1px,transparent 1px),
    linear-gradient(90deg,#ffffff0b 1px,transparent 1px),
    radial-gradient(circle at 72% 8%,#ffe10126,transparent 31%),
    radial-gradient(circle at 2% 91%,#12aa5726,transparent 34%);
  background-size:64px 64px,64px 64px,auto,auto
}
.video-analysis-pricing .container{position:relative;z-index:1}
.video-analysis-head{max-width:1080px;margin-bottom:38px}
.video-analysis-head .eyebrow{color:var(--ca-logo-yellow)}
.video-analysis-head h2{max-width:1060px;margin:12px 0 18px;color:#fff;font-size:clamp(44px,5.15vw,68px);line-height:.98;text-wrap:balance}
.video-analysis-head h2 em{color:var(--ca-logo-green);font-style:normal}
.video-analysis-head p{max-width:890px;color:#cbd4cf;font-size:clamp(16px,1.55vw,20px);line-height:1.65}
.video-analysis-steps{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 34px
}
.video-analysis-step{
  position:relative;display:grid;grid-template-columns:42px 1fr;grid-template-rows:1fr;
  column-gap:14px;align-items:center;min-height:108px;padding:20px 20px 18px;
  border:1px solid #ffffff18;border-radius:16px;background:#151a17e8
}
.video-analysis-number{
  position:absolute;top:-12px;left:16px;width:28px;height:28px;display:grid;place-items:center;
  border-radius:50%;background:var(--ca-logo-green);color:#001b0c;font-size:12px;font-weight:900
}
.video-analysis-icon{display:grid;place-items:center;width:38px;height:38px;color:var(--ca-logo-yellow)}
.video-analysis-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.video-analysis-step>strong{font-size:15.5px;line-height:1.3;color:#fff;font-weight:800}
.video-analysis-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.video-pack{
  position:relative;display:flex;flex-direction:column;min-height:470px;padding:30px 26px 26px;
  border:1px solid #ffffff1d;border-radius:22px;background:#121714f2;box-shadow:0 22px 50px #00000022
}
.video-pack.featured{
  border:2px solid var(--ca-logo-yellow);
  background:linear-gradient(180deg,#24200f 0%,#111713 42%);transform:translateY(-7px)
}
.video-pack-choice{
  position:absolute;top:-17px;left:50%;transform:translateX(-50%);white-space:nowrap;
  padding:7px 19px;border-radius:999px;background:var(--ca-logo-yellow);color:#000;
  font-size:10px;font-weight:900;letter-spacing:.13em
}
.video-pack-label{color:#b8c2bc;font-size:12.5px;font-weight:800;letter-spacing:.16em}
.video-pack-label::first-letter{color:var(--ca-logo-yellow)}
.video-pack-price{
  margin:16px 0 20px;padding-bottom:18px;border-bottom:1px solid #ffffff14;
  color:#fff;font:800 clamp(48px,6vw,68px)/1 var(--body);letter-spacing:-.05em
}
.video-pack-price small{font-size:16px;font-weight:500;color:#9ea9a2;letter-spacing:0}
.video-pack ul{display:grid;gap:13px;margin:0 0 24px;padding:0;list-style:none}
.video-pack li{position:relative;padding-left:32px;color:#e7ece8;font-size:15px;line-height:1.5}
.video-pack li:before{
  content:"✓";position:absolute;left:0;top:0;width:22px;height:22px;display:grid;place-items:center;
  border-radius:50%;background:var(--ca-logo-green);color:#001b0c;font-size:13px;font-weight:950
}
.video-pack .btn{margin-top:auto;width:100%;min-height:46px;justify-content:space-between;font-size:12.5px}
.video-pack .btn-dark{background:#1c2820;border-color:#314a38;color:#fff}
.video-pack .btn-dark:hover{background:var(--ca-logo-green);border-color:var(--ca-logo-green);color:#000}
.video-pack.featured .btn-dark{background:var(--ca-logo-yellow);border-color:var(--ca-logo-yellow);color:#000}
.video-analysis-note{
  display:flex;align-items:center;gap:14px;margin-top:30px;padding:20px 24px;
  border:1px solid #ffffff15;border-radius:14px;
  background:linear-gradient(90deg,#3e2b161f,#1f5b3030);color:#f2f5f3
}
.video-analysis-note-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;color:var(--ca-logo-red)}
.video-analysis-note-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.video-analysis-note strong{font-size:15px;line-height:1.55}
.video-analysis-partners{
  display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:28px;padding-top:24px;
  border-top:1px solid #ffffff18;color:#aab5ae;font-size:13.5px
}
.video-analysis-partners strong{color:#fff;font-size:14px;letter-spacing:.02em}
@media(max-width:1000px){
  .video-analysis-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}
  .video-analysis-grid{grid-template-columns:1fr}
  .video-pack{min-height:0}
  .video-pack.featured{transform:none;order:-1}
}
@media(max-width:580px){
  .video-analysis-head{margin-bottom:30px}
  .video-analysis-head h2{font-size:clamp(40px,13vw,56px)}
  .video-analysis-steps{grid-template-columns:1fr}
  .video-analysis-step{min-height:78px;padding:15px 16px}
  .video-pack{padding:27px 20px 22px;border-radius:17px}
  .video-pack-price{font-size:52px}
  .video-analysis-note{align-items:flex-start;padding:17px}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .video-pack{transition:transform 320ms var(--ca-ease),border-color 320ms ease,box-shadow 320ms ease}
  .video-pack:hover{transform:translateY(-5px);border-color:#12aa577d;box-shadow:0 30px 60px #00000038}
  .video-pack.featured:hover{transform:translateY(-12px);border-color:var(--ca-logo-yellow)}
}
@media(prefers-reduced-motion:reduce){
  .video-pack,.video-pack:hover,.video-pack.featured,.video-pack.featured:hover{transform:none!important;transition:none!important}
}
