/* Camara Academy V7 — calmer contrast, editorial typography, real photos and intentional motion.
   Final cascade after original-media-v6.css. The official crest is unchanged. */
:root{--ca-copy:#455b4d;--ca-caption:#405848;--ca-motion-ease:cubic-bezier(.22,1,.36,1)}
body{font-size:16px;line-height:1.74;text-rendering:optimizeLegibility}
h1,h2,h3,h4{letter-spacing:-.038em}
.hero h1,.page-hero h1{letter-spacing:-.047em}
h1 em,h2 em,.section.dark h2 em{letter-spacing:-.024em}
.section-head h2{line-height:1.09}
.hero-copy>p,.section-head p,.section .split p,.service-card p,.step p,
.testimonial blockquote,.video-card .detail p,.faq-answer,.form-card>p,
.location-card p{font-size:clamp(15px,1.12vw,16px);line-height:1.78}
.section-head p,.service-card p,.step p,.faq-answer,.form-card>p{color:var(--ca-copy)}
.section.cream .section-head p,.section.white .section-head p{color:var(--ca-copy)}
.section.dark .section-head p,.section.dark .split p{color:#e0eae0}
.eyebrow,.eyebrow.lime,.hero .eyebrow{font-size:11.5px;letter-spacing:.115em;line-height:1.45}
.topline{font-size:10.5px;letter-spacing:.075em}.topline .container{min-height:35px}
.nav a{font-size:12px;line-height:1.35;letter-spacing:.004em}
.brand small{font-size:10.5px;letter-spacing:.04em;color:#405b48}
.btn,.header-inner>.btn{font-size:12px;letter-spacing:.035em}
.ca-lang select{min-width:96px;min-height:43px;font-size:12px}
.ca-chat-privacy{color:var(--ca-caption);font-size:11.5px;line-height:1.5}
.ca-chat-header small{font-size:11.5px}
.ca-chat-chips button{font-size:11.5px;min-height:35px}
.ca-chat-bubble{font-size:13.5px;line-height:1.67}
.field label{font-size:12.5px;letter-spacing:.05em}
.field input,.field select,.field textarea{font-size:15px}
.notice{font-size:13.5px;line-height:1.72;color:#415845}
.video-card .badge{background:#edf2e9;color:#294c36;font-size:11px;letter-spacing:.065em}
.program-card .chip{background:#f6f4eb;color:#284c36;font-size:11px}
.program-card .card-bottom span,.program-card .card-bottom a{font-size:11.5px}
.footer-bottom{font-size:11.5px;line-height:1.6;color:#d1dfce}
.footer p{color:#d0dfcb}
.footer a:not(.brand){text-underline-offset:3px}
.hero-bottom p,.hero-bottom .hero-index{font-size:11px;letter-spacing:.055em}
.service-card.featured{background:#edf2e9;border-color:#cbdbca}
.service-card.featured:hover{background:#e5eee3}
/* A custom property URL defined inline could resolve relative to an external
   stylesheet; make the programme photos explicit relative to THIS CSS file. */
.program-card:first-child::before{
  background-image:linear-gradient(0deg,#102d20e8 0%,#102d2080 54%,#102d2033 100%),
    url('../media/official-site/original-08-wp-image-220-perfezionamento-tecnico-0b17f204.webp');
  background-size:cover;background-position:center 45%;filter:saturate(.86) contrast(.96)
}
.program-card:nth-child(2)::before{
  background-image:linear-gradient(0deg,#102d20ed 0%,#102d2078 54%,#102d2033 100%),
    url('../media/official-site/original-12-wp-image-195-inizia-subito-il-tuo-pe-8995c83a.webp');
  background-size:cover;background-position:center 45%;filter:saturate(.86) contrast(.96)
}
.program-card .inner{position:relative;z-index:2}
.program-card h3,.program-card p,.program-card .card-bottom span,
.program-card .card-bottom a{color:#fff;text-shadow:0 2px 13px #0b261d88}
.program-card .card-bottom a:hover{text-decoration:underline;text-underline-offset:4px}
.program-card:focus-within{outline:3px solid #c8a96b;outline-offset:4px}
/* Refined staggered entry: no large jumps, no endless movement. */
.reveal{transform:translate3d(0,17px,0);
  transition:opacity 680ms var(--ca-motion-ease),transform 680ms var(--ca-motion-ease)}
.reveal.in{transform:translate3d(0,0,0)}
.card-grid>.reveal:nth-child(2),.steps>.reveal:nth-child(2),
.program-grid>.reveal:nth-child(2),.testimonial-grid>.reveal:nth-child(2),
.gallery>.reveal:nth-child(2),.pricing>.reveal:nth-child(2){transition-delay:85ms}
.card-grid>.reveal:nth-child(3),.steps>.reveal:nth-child(3),
.testimonial-grid>.reveal:nth-child(3),.gallery>.reveal:nth-child(3){transition-delay:165ms}
.gallery>.reveal:nth-child(4),.testimonial-grid>.reveal:nth-child(4){transition-delay:75ms}
.gallery>.reveal:nth-child(5),.testimonial-grid>.reveal:nth-child(5){transition-delay:130ms}
@media(hover:hover) and (pointer:fine){
  .service-card.reveal.in:hover,.testimonial.reveal.in:hover,.step.reveal.in:hover{
    transform:translate3d(0,-4px,0);box-shadow:0 18px 43px #153a2417
  }
  .program-card:before{transition:transform 750ms var(--ca-motion-ease),filter 450ms ease}
  .program-card:hover:before{transform:scale(1.045)}
  .video-card .play{transition:transform 220ms var(--ca-motion-ease),background-color 220ms ease}
  .video-card .play:hover{transform:translate(-50%,-50%) scale(1.065)}
  .nav a:hover:after,.nav a:focus-visible:after{transform:scaleX(1)}
}
@keyframes ca-media-arrive{from{transform:scale(1.035);opacity:.88}to{transform:scale(1);opacity:1}}
@keyframes ca-menu-arrive{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:751px) and (prefers-reduced-motion:no-preference){
  .hero:after{animation:ca-media-arrive 1.1s var(--ca-motion-ease) both}
  .page-hero:after{animation:ca-media-arrive .95s var(--ca-motion-ease) both}
}
/* Avoid a crowded desktop header on 1024–1150px laptops/tablets. */
@media(max-width:1150px){
  .header-inner{min-height:76px;gap:12px}
  .nav{display:none;position:absolute;top:76px;left:0;right:0;z-index:115;
    background:#fff;box-shadow:0 18px 35px #17352823;border-top:1px solid #dfe8df;
    padding:12px 22px 20px;margin-left:0;flex-direction:column;align-items:stretch;gap:0}
  .nav.open{display:flex;animation:ca-menu-arrive 220ms ease both}
  .nav a{font-size:15px;padding:13px 9px!important;line-height:1.5;border-bottom:1px solid #e3ece3}
  .menu-toggle{display:flex;align-items:center;justify-content:center;flex:none;
    margin-left:0;border:1px solid #cfdbd0;border-radius:5px;color:#214633;background:#fff}
  .header-inner>.btn{margin-left:auto}
  .ca-lang{margin-left:auto;margin-right:3px}
}
@media(max-width:750px){
  .section{padding-block:clamp(62px,9vw,76px)}
  .header-inner{min-height:70px}
  .nav{top:70px}
  .hero-bottom .container{min-height:56px}
  .ca-chat-toggle{width:52px;height:52px;min-height:52px;min-width:52px;
    padding:0;border-radius:50%;gap:0}
  .ca-chat-toggle-text{display:none}
  .ca-chat-toggle>span:first-child{font-size:23px}
  .ca-chat-widget{bottom:calc(83px + env(safe-area-inset-bottom,0px));right:15px}
  .mobile-action{bottom:calc(12px + env(safe-area-inset-bottom,0px))}
  .footer{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:460px){
  .hero-copy{padding-bottom:385px}
  .hero-bottom p{font-size:10.5px}
  .brand small{font-size:9.5px}
  .topline{font-size:10px}
  .ca-lang select{min-height:40px;min-width:79px;max-width:86px;font-size:11px}
  .nav a{font-size:15px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;scroll-behavior:auto!important}
  .reveal,.reveal.in{opacity:1!important;transform:none!important;transition:none!important}
  .nav.open{animation:none!important}
  .service-card,.testimonial,.step,.program-card:before,.video-card .play{transition:none!important}
}

/* V7.2 — visual inspection: white video headings were inherited from
   the dark section; the light CTA eyebrow lacked contrast. */
.section.dark .video-card .detail h3,.video-card .detail h3{color:#223c2c}
.section.dark .video-card .detail p,.video-card .detail p{color:#455b4d}
.cta-band .eyebrow,.cta-band .eyebrow.lime{color:#f5e4b6}
.cta-band .eyebrow:before{background:currentColor}
/* Keep Daniel Camara's entire face within the original portrait crop. */
.portrait-official>img{object-position:center top}
