/* Final responsive layout rules shared by every page. */
.hero-copy,.about-copy,.mayara-copy,.contact-copy,.contact-panel,.event-detail,.privacy-content{min-width:0}
img,canvas{max-width:100%}

@media (max-width:1023px){
  html{scroll-padding-top:82px}
  .header-inner{height:82px;padding-block:8px}
  .header-inner .brand{width:112px;padding:5px 2px}
  .header-cta{display:none}
  .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;border:0;background:transparent;padding:8px;cursor:pointer}
  .menu-toggle span{display:block;height:2px;width:100%;background:#fff;transition:transform .2s,opacity .2s}
  .menu-open .menu-toggle span:first-child{transform:translateY(7px) rotate(45deg)}
  .menu-open .menu-toggle span:nth-child(2){opacity:0}
  .menu-open .menu-toggle span:last-child{transform:translateY(-7px) rotate(-45deg)}
  .main-nav{display:none;position:absolute;top:82px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:10px 24px 24px;background:#081220;box-shadow:0 18px 30px #0005}
  .menu-open .main-nav{display:flex}
  .main-nav a{display:block;padding:14px 6px;border-bottom:1px solid #19314b;font-size:14px}
  .main-nav a:after{bottom:0}
  .hero-inner{width:min(calc(100% - 48px),1200px)}
  .section-intro{grid-template-columns:1fr;gap:8px}
  .section-intro>p{max-width:580px}
  .contact-grid{grid-template-columns:1fr;gap:38px;min-height:0;padding-block:75px}
  .contact-copy{align-self:auto;padding:0;max-width:620px}
  .contact-panel{width:min(100%,560px);max-width:560px;justify-self:center}
  .contact-art{opacity:.55}
}

@media (max-width:900px){
  .about{display:flex;flex-direction:column;min-height:0;height:auto;background:#f8fafc}
  .about:after{display:none}
  .about-grid.container{order:1;display:block;width:min(calc(100% - 48px),720px);max-width:720px;min-height:0;height:auto;padding:0;margin-inline:auto}
  .about-copy{width:100%;max-width:650px;padding:66px 0 54px}
  .about-copy .section-title{max-width:580px;font-size:clamp(2.25rem,5.2vw,3.5rem)}
  .about-copy p:not(.eyebrow){max-width:560px;font-size:15px}
  .about-visual{order:2;position:relative;inset:auto;z-index:auto;display:block;width:100%;height:auto;min-height:0;aspect-ratio:1672/941;margin:0;overflow:hidden}
  .about-visual img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;border-radius:0}
  .mayara-section,.mayara-layout{min-height:0}
  .mayara-layout{grid-template-columns:1fr;gap:28px;padding-block:70px}
  .mayara-copy{max-width:650px;padding:0}
  .mayara-photo{width:min(100%,720px);height:auto;aspect-ratio:4/3;justify-self:center}
  .mayara-photo img{object-position:center 35%}
  .journey-stage{display:block}
  .journey-visual{position:sticky;top:98px;z-index:3;width:100%;height:clamp(240px,36vh,340px);min-height:0}
  .journey-steps{margin-top:20px}
  .journey-step{min-height:280px}
  .event-card{grid-template-columns:32% 68%}
}

@media (max-width:720px){
  html{scroll-padding-top:76px}
  .header-inner{height:76px;padding-block:7px}
  .header-inner .brand{width:103px;padding:4px 2px}
  .main-nav{top:76px}
  .hero,.hero-inner{min-height:680px}
  .hero-inner{width:calc(100% - 40px);padding-top:120px;padding-bottom:82px}
  .hero h1{font-size:clamp(2.6rem,8.8vw,3.55rem)}
  .hero-copy>p:not(.eyebrow){max-width:500px;font-size:15px}
  .about-grid.container{width:calc(100% - 40px)}
  .expertise{padding:70px 0}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .journey{padding:65px 0 80px}
  .journey-visual{top:86px;height:clamp(220px,35vh,300px)}
  .journey-step{min-height:265px}
  .contact-grid{padding-block:65px}
  .contact-panel{max-width:560px}
  .contact-art{opacity:.38}
  .field label{font-size:14px}
  .field input,.field select,.field textarea{font-size:16px;min-height:44px}
  .field textarea{min-height:120px}
  .contact-panel>p,.privacy-note{font-size:13px}
  .events-hero,.events-hero-inner{min-height:0}
  .events-hero-inner{padding-top:160px;padding-bottom:85px}
  .events-hero h1{font-size:clamp(2.55rem,7.2vw,3.8rem)}
  .events-listing{padding:65px 0 75px}
  .event-card{grid-template-columns:1fr}
  .event-visual{height:190px}
  .privacy-hero{padding-top:155px}
  .footer-main{gap:20px}
}

@media (max-width:639px){
  .cards{grid-template-columns:1fr}
  .card{min-height:0;padding:26px}
  .card h3{max-width:none}
  .about-copy{padding:58px 0 45px}
  .about-visual{aspect-ratio:4/3}
  .about-visual img{object-position:58% center}
  .mayara-layout{padding-block:58px}
  .mayara-photo{aspect-ratio:4/3}
  .contact-grid{gap:32px}
  .contact-panel{padding:24px}
  .event-content{display:grid;grid-template-columns:72px minmax(0,1fr);gap:18px;padding:24px}
  .event-meta{padding-right:14px}
  .event-meta strong{font-size:3rem}
  .event-detail{min-width:0}
  .event-detail h3{font-size:1.55rem}
  .event-link,.event-pending{grid-column:1/-1;justify-self:start;margin:0}
  .footer-main nav{gap:12px 20px}
}

@media (max-width:420px){
  .hero,.hero-inner{min-height:710px}
  .hero h1{font-size:clamp(2.25rem,10vw,2.7rem)}
  .hero-copy>p:not(.eyebrow){font-size:14px}
  .hero .eyebrow{font-size:10px;letter-spacing:.22em}
  .actions{width:100%}
  .actions .button{width:100%}
  .scroll-cue{display:none}
  .section-title{font-size:clamp(1.95rem,8vw,2.4rem)}
  .about-copy .section-title{font-size:clamp(2rem,8vw,2.5rem)}
  .mayara-copy .section-title{font-size:clamp(2.5rem,10vw,3rem)}
  .journey-visual{height:240px;min-height:0}
  .journey-display{left:22px;right:22px;bottom:22px}
  .journey-state{font-size:1.35rem}
  .journey-step{min-height:250px;padding-left:26px}
  .contact-panel{padding:20px}
  .events-hero h1{font-size:2.5rem}
  .events-contact-inner .button{width:100%}
  .privacy-toc{grid-template-columns:1fr}
}

@media (prefers-reduced-motion:reduce){
  .journey-visual{position:relative;top:auto}
}
