/* Touch layouts use the approved typography and imagery in native document flow. */
.skip-link{position:fixed;top:12px;left:12px;z-index:30;padding:12px 20px;background:var(--ink);color:var(--white);border-radius:6px;transform:translateY(-180%)}
.skip-link:focus{transform:none}
#main:focus{outline:none}
.lang a{opacity:.8}
.lang a:focus-visible{opacity:1}
@media(max-width:820px),(hover:none),(pointer:coarse){
 html{scroll-padding-top:92px}
 .hero__pin{padding-top:108px}
 .hero__logo-scene{margin-top:0}
 .hero__logo-position{width:88%;max-width:720px}
 .hero__masthead{margin-bottom:22px}
 .hero__masthead .eyebrow{font-size:10px;line-height:1.9;letter-spacing:.24em}
 .hero__backdrop{height:360px}
 .hero__waves,.benefit-intro__film,.trust-marquee__film{display:none}
 .hero__aperture{height:clamp(235px,65vw,420px);margin:28px var(--gutter) 0;border-radius:18px}
 .hero__message{padding:30px var(--gutter) 56px}
 .hero__title,.page-en .hero__title{font:500 clamp(32px,7.6vw,58px)/1.12 var(--body);letter-spacing:-.035em;max-width:100%;padding:0;margin:0;text-align:left}
 .hero__title .title-line,.page-pt .hero__title .title-line,.page-en .hero__title .title-line{padding-left:0;max-width:none}
 .hero__support{display:grid;grid-template-columns:1fr;gap:24px;max-width:650px;margin-top:22px;padding:0}
 .hero__sub{font-size:16px;line-height:1.65;max-width:48ch}
 .hero__ctas,.hero__actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:14px}
 .hero__ctas .btn,.hero__actions .btn{min-height:52px;font-size:10px;letter-spacing:.22em;gap:16px;white-space:normal}
 .hero__ctas .btn--primary,.hero__actions .btn--primary{padding:17px 20px}
 .hero__ctas .btn--ghost,.hero__actions .btn--ghost{min-height:52px;padding-block:14px}
 .hero__scroll-cue{display:none!important}
 .site-header,.site-header.is-film,.site-header.is-benefits-overlay,.site-header.is-benefits-overlay.is-benefits-photo{color:var(--ink);background:var(--paper)}
 .site-header::before,.site-header.is-benefits-overlay::before{opacity:1;transform:none}
 .site-header .site-header__logo,.site-header.is-hero-intro .site-header__logo{visibility:visible;opacity:1;transform:none;pointer-events:auto}
 .site-header .menu-toggle{border-color:var(--ink);min-width:44px;min-height:44px}
 .site-header .site-header__nav.is-open{background:var(--paper);color:var(--ink);max-height:calc(100svh - 80px);overflow-y:auto}
 .site-header .site-header__nav a{min-height:48px;display:flex;align-items:center}
 .lang a,.lang span:not(.lang__sep){display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:44px;opacity:1}
 .lang{gap:2px}
 .benefit-frame--intro{min-height:600px;padding:84px 26px}
 .benefit-frame{min-height:600px;padding:28px 26px 38px}
 .benefits-horizontal .benefit-frame h3{font-size:clamp(34px,6vw,50px)}
 .benefits-horizontal .benefit-frame__content p{font-size:16px}
 .benefits-horizontal .benefit-intro__description{font-size:15px}
 .benefit-intro__cue{display:none!important}
 .en-brazil__reason::before,.en-brazil__reason::after{display:none}
 .page-en .en-presence__card{transform:none!important}
 .page-en .en-presence__card::before{display:none}
 .s-contact .contact__intro h2{letter-spacing:-.035em}
 .s-contact .field label{font-size:14px}
 .s-contact .field--checkbox label,.s-contact .form__notice{font-size:13px}
 .s-contact .field--checkbox label{padding-block:8px}
 .s-contact .field--checkbox input{margin-top:11px}
 .s-contact .form__submit{letter-spacing:.22em;white-space:normal}
 .s-contact .field input:focus-visible,.s-contact .field select:focus-visible,.s-contact .field textarea:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
}
@media(max-width:480px){
 .site-header__inner{gap:12px}
 .site-header__actions{gap:10px}
 .hero__ctas,.hero__actions{display:grid;grid-template-columns:1fr;gap:8px}
 .hero__ctas .btn,.hero__actions .btn{width:100%;justify-content:space-between}
 .hero__ctas .btn--primary,.hero__actions .btn--primary{min-height:56px}
 .hero__ctas .btn--ghost,.hero__actions .btn--ghost{min-height:48px}
 .hero__logo-position{width:94%}
 .hero__masthead .eyebrow{font-size:9px;letter-spacing:.2em}
 .hero__message{padding-top:26px}
 .page-en .hero__title{font-size:clamp(31px,8.1vw,40px)}
 .benefit-frame{min-height:580px}
 .page-en .en-brazil__intro h2{font-size:46px}
 .page-en .en-brazil__reason h3{font-size:22px}
 .page-en .en-brazil__reason p{font-size:16px}
 .footer-signature__caption{font-size:8px;letter-spacing:.15em}
}
@media(max-width:360px){.site-header__logo{width:104px}}
