/* CIA AMORAS | experiência mobile v1
   Estilos deliberadamente restritos a telas menores; preserva o layout desktop.
   Direção: editorial, fotografias autorais, leitura confortável, gestos claros. */

@media (max-width:920px){
  /* Retira também o asterisco em celulares grandes na horizontal e tablets menores. */
  .page-hero::after{content:none!important;display:none!important}
  .menu-toggle{
    display:grid;place-content:center;align-content:center;justify-content:center;
    gap:5px;width:48px;height:46px;min-width:48px;border:1px solid #decabd;
    border-radius:15px;background:#fffdf8;color:#572d34;
    box-shadow:0 4px 14px rgba(56,24,23,.045);
    -webkit-tap-highlight-color:transparent;
  }
  .menu-toggle span{
    display:block;width:22px;height:2px;border-radius:5px;
    background:#642f3d;transition:transform .22s ease;
  }
  .menu-toggle[aria-expanded="true"]{
    background:#6d243c;border-color:#6d243c;
  }
  .menu-toggle[aria-expanded="true"] span{background:#fff6e9}
  .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .mobile-nav{
    position:fixed;left:12px;right:12px;top:110px;z-index:54;
    max-height:calc(100dvh - 116px);overflow-y:auto;
    padding:12px 16px 17px;background:#fffaf4;border:1px solid #e7d2be;
    border-radius:0 0 24px 24px;box-shadow:0 22px 45px #26141442;
  }
  .mobile-nav a{
    display:flex;align-items:center;min-height:51px;
    font-size:15px;letter-spacing:.012em;font-weight:600;
    color:#5e3640;padding:12px 16px;
    border-radius:12px;border-bottom:1px solid #e9dcd2;
  }
  .mobile-nav a:last-child{border-bottom:0}
  .mobile-nav a[aria-current="page"]{color:#fff7ed;background:#6d243c;border-bottom-color:transparent}
  .mobile-nav a:not([aria-current]):active{background:#f4e8dc}
  body.menu-open{overscroll-behavior:contain}
  body.menu-open::after{
    content:"";position:fixed;inset:0;z-index:52;
    background:#25151985;backdrop-filter:blur(2px);pointer-events:auto;
  }
}

@media (max-width:760px){
  html{scroll-padding-top:100px}
  body{font-size:15px;line-height:1.67;-webkit-text-size-adjust:100%}
  .top-note{height:25px;font-size:8.5px;letter-spacing:.085em;gap:8px}
  .top-note-dot{width:5px;height:5px;flex:0 0 5px}
  .site-header{height:88px;padding-inline:18px;border-bottom-color:#e8d7c7}
  .site-header .official-logo-header{
    align-self:center;min-width:178px;width:178px;flex-basis:178px;
    height:85px;gap:0;padding:2px 0;
  }
  .site-header .official-logo-header .official-brand-image{width:171px;max-height:none}
  .site-header .official-logo-header .logo-sub{
    font-size:9px;line-height:1.24;letter-spacing:.02em;margin-top:0;
  }
  .mobile-nav{top:113px}
  .container{width:calc(100% - 38px)}
  .page-in{animation-duration:.24s}
  /* Mobile prioritizes legibility over large scroll-triggered fades. */
  .scroll-block{opacity:1!important;translate:none!important}
  .section{padding-block:55px}
  .section-head{margin-bottom:24px}
  .section-head h2,.detail-content h2,.institutional-home h2{
    font-size:clamp(33px,8.7vw,42px);line-height:1.13;
    letter-spacing:-.045em;
  }
  .section-head p,.section-head>div>p{
    font-size:14px;line-height:1.72;max-width:100%;margin-top:12px;
  }
  .eyebrow{font-size:10px;line-height:1.55;letter-spacing:.13em;gap:9px}
  .eyebrow:before{width:20px;flex:0 0 20px}
  .body-lead{font-size:15px;line-height:1.65}
  .breadcrumbs{margin-bottom:18px;gap:9px;min-height:24px;font-size:10px;flex-wrap:wrap}
  /* Remove old giant ✳ ornament responsible for the ugly asterisk on Projects. */
  .page-hero::after{content:none!important;display:none!important}
  .page-hero{
    padding:26px 0 30px;
    background:linear-gradient(155deg,#fffdf9 10%,#f7eadb 100%);
    border-bottom:1px solid #eadbcc;
  }
  .page-hero h1{
    font-size:clamp(43px,12.25vw,57px);line-height:1.065;
    margin:15px 0 14px;letter-spacing:-.052em;
    overflow-wrap:normal;
  }
  .page-hero .body-lead{font-size:14px;line-height:1.66;margin-bottom:0}
  .pill-btn,.header-cta{
    min-height:47px;min-width:0;padding:13px 20px;
    font-size:12px;line-height:1.45;gap:13px;
  }
  /* Short horizontal category filter: touch-friendly, one row. */
  .filterbar{
    display:flex;flex-wrap:nowrap;gap:9px;
    overflow-x:auto;overflow-y:hidden;max-width:100%;
    margin:4px 0 19px;padding:4px 0 10px;
    scroll-snap-type:x proximity;overscroll-behavior-x:contain;
    scrollbar-width:none;-webkit-overflow-scrolling:touch;
  }
  .filterbar::-webkit-scrollbar{display:none}
  .filter{
    flex:0 0 auto;white-space:nowrap;scroll-snap-align:start;
    min-height:43px;padding:10px 18px;font-size:12px;
    background:#fffcf8;border-color:#e0cbb9;
    box-shadow:0 3px 8px #5f453808;
  }
  .filter.active{box-shadow:0 5px 14px #6d243c25}
  /* Projects: fewer empty transitions, fuller photographs, calmer cards. */
  body[data-page="/projetos"] .section{padding-bottom:48px}
  body[data-page="/projetos"] .cv-house-heading{
    margin:9px 0 19px;max-width:100%;
  }
  body[data-page="/projetos"] .cv-house-heading h2{
    margin:7px 0 8px;font-size:clamp(32px,8.5vw,42px);line-height:1.13;
  }
  body[data-page="/projetos"] .cv-house-heading p{
    font-size:13px;line-height:1.66;margin:0;
  }
  .project-grid{grid-template-columns:minmax(0,1fr);gap:20px}
  .project-card{
    border-radius:22px;background:#fffdf9;
    border-color:#e9d6c8;box-shadow:0 10px 27px #562c2110;
  }
  .project-card .media{
    height:auto;aspect-ratio:1.28;min-height:210px;overflow:hidden;
    background:#e9d8c5;
  }
  .project-card .media img{
    width:100%;height:100%;object-fit:cover;filter:saturate(.97);
  }
  .project-card .body{padding:20px 21px 19px}
  .project-card .overline{font-size:10px;letter-spacing:.12em}
  .project-card h3{font-size:clamp(27px,7.2vw,34px);line-height:1.13;margin:6px 0 10px}
  .project-card p{font-size:13px;line-height:1.72;min-height:0;margin-bottom:0}
  .project-card .card-bottom{margin-top:17px;padding-top:14px}
  .project-card .card-bottom small{font-size:10px;letter-spacing:.07em;font-weight:700}
  .project-card .round-arrow{width:38px;height:38px;background:#f6eee5;border-color:#e2cdb8}
  .category-chip{top:13px;left:13px;padding:7px 11px;font-size:9.5px}
  .cv-future{padding:47px 0 55px}
  .cv-future-heading{gap:14px;margin-bottom:24px}
  .cv-future-heading h2{font-size:clamp(35px,9.1vw,47px)}
  .cv-future-heading>p{font-size:13px;line-height:1.72}
  .cv-feature{border-radius:23px;box-shadow:0 12px 35px #6d243c20}
  .cv-feature figure{aspect-ratio:1.22;min-height:0}
  .cv-feature>div{padding:24px 23px 28px}
  .cv-feature h3{font-size:46px;margin:18px 0 8px}
  .cv-feature .cv-feature-sub{font-size:21px}
  .cv-feature p{font-size:13px;line-height:1.75}
  .cv-feature-link{margin-top:17px;padding-top:17px}
  /* Home: show an authentic photo BEFORE the second paragraph on phones. */
  .ih-hero{padding:27px 0 43px;background:linear-gradient(164deg,#fffbf5 8%,#f4e6d9 95%)}
  .ih-hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:0}
  .ih-hero-copy{display:contents}
  .ih-hero-copy>.eyebrow{order:1;font-size:10px;max-width:100%;margin:0}
  .ih-hero h1{
    order:2;margin:14px 0 13px;
    font-size:clamp(46px,12.6vw,55px)!important;
    line-height:1.065!important;letter-spacing:-.057em;
    color:#4a3434;
  }
  .ih-hero-copy .ih-lead{
    order:3;font-size:16px;line-height:1.58;color:#523a32;
    margin:0;max-width:100%;
  }
  .ih-actions{order:4;margin:20px 0 0;gap:8px}
  .ih-actions .pill-btn{width:100%;justify-content:space-between}
  .ih-actions .ih-link{display:none}
  .ih-hero-photo{
    order:5;width:100%;max-width:460px;
    margin:24px auto 0;padding:7px 7px 0;
    border-radius:84px 17px 17px 17px;
    transform:none;box-shadow:0 14px 35px #69381a20;
  }
  .ih-hero-photo img{
    height:clamp(300px,89vw,410px);width:100%;
    border-radius:78px 11px 11px 11px;
    object-fit:cover;object-position:center 47%;
  }
  .ih-hero-photo figcaption{
    padding:10px 4px 11px;font-size:10px;letter-spacing:.03em;
  }
  .ih-hero-copy>p:not(.ih-lead){
    order:6;max-width:none;margin:24px 0 0;padding:0 0 0 14px;
    border-left:2px solid #b88958;color:#725b4f;
    font-size:13px;line-height:1.76;
  }
  .ih-page-nav{
    display:flex;flex-wrap:nowrap;gap:8px;justify-content:flex-start;
    overflow-x:auto;margin-top:0;padding:16px 0;
    scroll-snap-type:x proximity;scrollbar-width:none;
  }
  .ih-page-nav::-webkit-scrollbar{display:none}
  .ih-page-nav button{
    flex:0 0 auto;min-height:42px;padding:9px 14px;
    border:1px solid #e0cbb9;border-radius:24px;background:#fffaf4;
    font-size:11px;letter-spacing:0;scroll-snap-align:start;
  }
  .ih-section-heading{margin-bottom:26px}
  .ih-section-heading h2{font-size:clamp(33px,8.5vw,42px);margin:12px 0 16px}
  .ih-section-heading>p{font-size:14px;line-height:1.75}
  .ih-school-grid{gap:10px}
  .ih-school-grid article{
    padding:15px 18px 15px 21px;border:1px solid #e6d3c1;
    border-radius:16px;background:#fffaf4;
    display:grid;grid-template-columns:40px 1fr;column-gap:11px;
  }
  .ih-index{grid-row:1/3;font-size:28px;align-self:start}
  .ih-school-grid h3{font-size:21px;line-height:1.19;margin:3px 0 7px}
  .ih-school-grid p{grid-column:2;margin:0;font-size:12.5px;line-height:1.65}
  .ih-elementary-intro{margin-bottom:23px}
  .ih-learning-grid article{border-radius:18px;padding:22px}
  .ih-learning-grid h3{font-size:25px;margin:11px 0}
  .ih-learning-grid p{font-size:14px;line-height:1.73}
  .ih-law{padding:19px;border-radius:17px;margin-top:25px;gap:25px}
  .ih-law h3{font-size:27px}
  .ih-research{padding:19px;border-radius:14px}
  .ih-study-updates,.ih-school-partnership{border-radius:17px}
  .ih-service{border-radius:15px}
  .ih-service summary{min-height:69px;padding:16px;gap:12px}
  .ih-service strong{font-size:20px}
  .ih-person img{height:245px;object-fit:cover}
  .ih-team{gap:20px 13px}
  /* Detail pages: strong imagery, sane heading scale, useful tap targets. */
  .bl-opening,.oe-intro,.cv-intro,.an-intro{padding-top:23px}
  .bl-copy .breadcrumbs{margin-bottom:16px}
  .bl-copy h1{font-size:clamp(54px,14vw,67px);line-height:1.04;margin:16px 0 12px}
  .bl-hero,.oe-hero,.cv-hero,.an-hero-grid{gap:23px}
  .bl-copy p,.oe-hero-copy>p:not(.oe-lead),.cv-hero>div>p:not(.cv-lead):not(.cv-subtitle),.an-hero-copy>p:not(.an-lead){
    font-size:14px;line-height:1.72;
  }
  .bl-copy .pill-btn{min-height:45px}
  .bl-cover{margin-top:8px;transform:none}
  .bl-cover img{height:380px;object-fit:cover}
  .oe-hero{margin-top:12px}
  .oe-hero h1{font-size:clamp(52px,14vw,68px);margin:15px 0 13px}
  .oe-lead{font-size:18px!important;line-height:1.58!important;margin-bottom:13px}
  .oe-hero figure img{aspect-ratio:1.23;border-radius:74px 18px 18px 18px}
  .oe-hero-note{margin-top:16px;padding-top:14px}
  .cv-hero{margin-top:13px}
  .cv-hero h1{font-size:clamp(43px,11.7vw,59px);margin:15px 0 7px}
  .cv-subtitle{font-size:23px!important;margin:0 0 15px}
  .cv-lead{font-size:17px!important;line-height:1.58!important}
  .cv-audience{margin-top:15px;padding-top:15px}
  .cv-hero figure img{max-height:440px;object-fit:cover;border-radius:67px 17px 17px 17px}
  .an-intro h1{font-size:clamp(39px,10.8vw,55px);line-height:1.1}
  .an-lead{font-size:18px!important;line-height:1.58!important}
  .oe-nav,.cv-nav,.an-nav{
    flex-wrap:nowrap;overflow-x:auto;gap:8px;
    padding-top:18px;padding-bottom:20px;
    scroll-snap-type:x proximity;scrollbar-width:none;
  }
  .oe-nav::-webkit-scrollbar,.cv-nav::-webkit-scrollbar,.an-nav::-webkit-scrollbar{display:none}
  .oe-nav button,.cv-nav button,.an-nav button{
    white-space:nowrap;min-height:42px;flex:0 0 auto;
    padding:10px 13px;font-size:11px;scroll-snap-align:start;
  }
  .oe-sense-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .oe-sense-tabs button{min-height:73px;padding:13px 16px}
  .oe-sense-tabs strong{font-size:22px}
  .oe-related-tabs{grid-template-columns:1fr;gap:8px}
  .oe-related-tabs button{padding:14px 17px;min-height:65px}
  .oe-related-tabs strong{font-size:21px;margin:4px 0}
  .cv-gallery,.oe-gallery,.an-gallery{gap:9px}
  .cv-gallery button,.oe-gallery button,.an-photo{border-radius:13px}
  .bl-gallery-item img{height:210px}
  .bl-gallery-item:first-child img{height:310px}
  .cv-dialog,.oe-dialog,.an-dialog{width:96vw;max-height:90dvh;padding:40px 10px 12px}
  .cv-dialog-content>img,.oe-dialog-content>img,.an-dialog-content>img{max-height:70dvh}
  .cv-dialog-nav button,.oe-dialog-nav button,.an-dialog-nav button{min-width:44px;min-height:44px}
  /* Forms, footer and fixed utilities */
  .contact-layout{padding-top:25px;gap:25px}
  .contact-intro h1{font-size:clamp(50px,13.5vw,63px)}
  .form-shell{padding:19px;border-radius:20px}
  .form-shell input,.form-shell select,.form-shell textarea{font-size:16px}
  .footer-hero{padding:52px 0 58px}
  .footer-hero h2{font-size:clamp(45px,12vw,58px);margin:14px 0 26px}
  .site-footer .footer-bottom{padding:26px 0}
  .site-footer .footer-bottom nav{display:grid;grid-template-columns:1fr 1fr;gap:2px 15px;margin-top:22px}
  .site-footer .footer-bottom nav a{min-height:42px;display:flex;align-items:center;font-size:12px}
  .footer-fine{padding:18px 0 25px;font-size:10px;line-height:1.8}
  .back-top{right:15px;bottom:89px;width:44px;height:44px}
}
@media(max-width:390px){
  .ih-hero h1{font-size:clamp(42px,12.3vw,49px)!important}
  .page-hero h1{font-size:clamp(39px,12vw,48px)}
  .cv-feature h3{font-size:43px}
  .project-card .media{min-height:190px}
  .site-header .official-logo-header{min-width:162px;width:162px;flex-basis:162px}
  .site-header .official-logo-header .official-brand-image{width:159px}
  .site-header .official-logo-header .logo-sub{font-size:8.5px}
}
@media(max-width:345px){
  .container{width:calc(100% - 30px)}
  .site-header{padding-inline:14px;height:83px}
  .site-header .official-logo-header{min-width:149px;width:149px;flex-basis:149px}
  .site-header .official-logo-header .official-brand-image{width:145px}
  .site-header .official-logo-header .logo-sub{font-size:8px}
  .ih-hero h1{font-size:40px!important}
  .oe-hero h1{font-size:48px}
  .page-hero h1{font-size:38px}
  .project-card .body{padding:18px}
  .mobile-nav{left:8px;right:8px}
}
@media(prefers-reduced-motion:reduce){
  .menu-toggle span{transition:none}
  .ih-hero-photo{transform:none}
}