/* ==========================================================================
   BIBLIOTECA DE COMPONENTES — Laureano & Medeiros
   --------------------------------------------------------------------------
   Tudo aqui esta dentro do escopo .lm

   COMO USAR EM QUALQUER PAGINA:
   No editor de blocos, insira um bloco "HTML personalizado" e envolva
   o conteudo assim:

       <div class="lm">
         ... seu HTML ...
       </div>

   As classes (.hero, .section, .service-grid, .button, .step, .founders,
   .faq-list, .final-cta, .statement) passam a funcionar automaticamente.
   Nada vaza para o resto do site.

   Este arquivo carrega em todas as paginas: sao 23KB cacheados uma vez.
   ========================================================================== */

/* Layout da home. Escopado em .lm para nao vazar
   para o blog e as paginas internas. Nao edite a mao:
   este arquivo veio do modelo aprovado. */

.lm /* ==========================================================================
   ATENCAO
   O GeneratePress carrega um CSS base minimo. Este arquivo vem depois e
   sobrescreve o que precisar. Nao edite o tema pai: atualizacao apaga.
   ========================================================================== */


*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
.lm{ margin:0; background:var(--green); color:white; font-family:"Nunito Sans",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
.lm a{ color:inherit; text-decoration:none; }
.lm section{ scroll-margin-top:82px; }
.lm .icon-up-right, .lm .icon-right, .lm .icon-down, .lm .icon-up{ position:relative; width:14px; height:14px; display:inline-block; flex:0 0 auto; }
.lm .icon-up-right::before{ content:""; position:absolute; top:1px; right:1px; width:8px; height:8px; border-top:2px solid currentColor; border-right:2px solid currentColor; border-radius:1px; }
.lm .icon-up-right::after{ content:""; position:absolute; top:6px; left:1px; width:11px; height:2px; border-radius:2px; background:currentColor; transform:rotate(-45deg); }
.lm .icon-right::before{ content:""; position:absolute; top:6px; left:1px; width:11px; height:2px; border-radius:2px; background:currentColor; }
.lm .icon-right::after{ content:""; position:absolute; top:3px; right:1px; width:7px; height:7px; border-top:2px solid currentColor; border-right:2px solid currentColor; transform:rotate(45deg); }
.lm .icon-down::before{ content:""; position:absolute; top:1px; left:6px; width:2px; height:11px; border-radius:2px; background:currentColor; }
.lm .icon-down::after{ content:""; position:absolute; right:2px; bottom:1px; width:7px; height:7px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); }
.lm .icon-up::before{ content:""; position:absolute; top:1px; left:6px; width:2px; height:11px; border-radius:2px; background:currentColor; }
.lm .icon-up::after{ content:""; position:absolute; top:1px; right:2px; width:7px; height:7px; border-top:2px solid currentColor; border-left:2px solid currentColor; transform:rotate(45deg); }
.lm .site-header{ position:sticky; z-index:30; top:0; min-height:70px; padding:10px 18px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid var(--line-light); background:rgba(24,60,50,.96); backdrop-filter:blur(14px); }
.lm .brand{ display:flex; align-items:center; gap:10px; min-width:0; }
.lm .brand img{ width:47px; height:36px; object-fit:contain; }
.lm .brand strong{ white-space:nowrap; font-family:"DM Serif Display",serif; font-size:16px; font-weight:400; letter-spacing:-.02em; }
.lm .brand-text{ min-width:0; display:flex; flex-direction:column; gap:3px; line-height:1; }
.lm .brand-text small{ color:var(--orange); font-size:8px; line-height:1; font-weight:800; letter-spacing:.12em; text-transform:uppercase; white-space:nowrap; }
.lm .site-header nav{ display:none; }
.lm .header-cta{ min-height:44px; padding:0 16px; display:inline-flex; align-items:center; justify-content:center; gap:10px; border-radius:24px; background:var(--orange); color:white; font-size:0; font-weight:800; }
.lm .header-cta::before{ content:"Contato"; font-size:13px; }
.lm .header-cta span{ font-size:14px; }
.lm .hero{ min-height:calc(100svh - 70px); padding:58px 20px 52px; display:grid; gap:44px; align-items:center; background:var(--green); }
.lm .hero-copy{ max-width:700px; }
.lm .eyebrow{ margin:0 0 18px; color:var(--orange); font-size:13px; font-weight:800; letter-spacing:.15em; }
.lm .hero h1{ margin:0; font-family:"DM Serif Display",serif; font-size:clamp(44px,13vw,62px); line-height:1.01; letter-spacing:-.035em; font-weight:400; }
.lm .hero h1 em{ color:var(--orange); font-style:italic; }
.lm .hero-lead{ max-width:590px; margin:22px 0 0; color:var(--muted-light); font-size:17px; line-height:1.68; }
.lm .hero-actions{ margin-top:30px; display:grid; gap:12px; }
.lm .button{ min-height:56px; padding:0 24px; display:inline-flex; align-items:center; justify-content:center; gap:22px; border:0; border-radius:29px; background:var(--orange); color:white; font-size:15px; font-weight:800; transition:transform .2s ease,filter .2s ease; }
.lm .button:hover{ transform:translateY(-2px); filter:brightness(1.05); }
.lm .button span{ font-size:16px; }
.lm .text-link{ min-height:46px; display:inline-flex; align-items:center; justify-content:center; gap:10px; color:white; font-size:15px; font-weight:800; }
.lm .text-link span{ color:var(--orange); }
.lm .trust-row{ margin-top:32px; display:grid; gap:10px; }
.lm .trust-row span{ color:rgba(255,255,255,.76); font-size:15px; }
.lm .hero-visual{ display:grid; place-items:center; gap:18px; }
.lm .hero-visual>img{ width:min(100%,430px); height:auto; display:block; }
.lm .hero-visual p{ margin:0; padding:11px 15px; border:1px solid var(--line-light); border-radius:22px; color:rgba(255,255,255,.74); font-size:14px; line-height:1.45; text-align:center; }
.lm .hero-visual p span{ margin-right:7px; color:var(--orange); }
.lm .section{ padding:76px 20px; }
.lm .section-heading{ display:grid; gap:18px; margin-bottom:34px; }
.lm .section-heading h2, .lm .about-intro h2, .lm .faq-title h2{ margin:0; font-family:"DM Serif Display",serif; font-size:clamp(37px,10vw,52px); line-height:1.04; letter-spacing:-.03em; font-weight:400; }
.lm .section-heading>p, .lm .about-intro>p, .lm .faq-title>p:last-child{ margin:0; color:var(--muted-light); font-size:16px; line-height:1.7; }
.lm .services{ background:var(--green-mid); }
.lm .service-grid{ display:grid; gap:12px; }
.lm .service-card{ min-height:260px; padding:24px; display:flex; flex-direction:column; border-radius:18px; background:var(--ivory); color:var(--green); }
.lm .service-top{ display:flex; align-items:center; justify-content:space-between; }
.lm .service-top>span{ color:var(--orange); font-size:13px; font-weight:800; letter-spacing:.15em; }
.lm .service-top i{ width:46px; height:46px; display:grid; place-items:center; border-radius:13px; background:rgba(242,145,46,.13); color:var(--orange); font-style:normal; }
.lm .service-top i svg{ width:24px; height:24px; }
.lm .service-card h3{ margin:auto 0 12px; font-family:"DM Serif Display",serif; font-size:27px; line-height:1.05; font-weight:400; }
.lm .service-card>p{ margin:0 0 18px; color:#58675f; font-size:16px; line-height:1.65; }
.lm .service-card a{ padding-top:15px; display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--line-dark); font-size:14px; font-weight:800; }
.lm .service-card a span{ color:var(--orange); font-size:15px; }
.lm .statement{ margin:14px; padding:54px 24px; border-radius:28px; background:var(--ivory); color:var(--green); }
.lm .statement .eyebrow{ color:var(--orange); }
.lm .statement blockquote{ max-width:900px; margin:0; font-family:"DM Serif Display",serif; font-size:clamp(38px,10vw,56px); line-height:1.04; letter-spacing:-.03em; font-weight:400; }
.lm .statement>p:last-child{ max-width:650px; margin:22px 0 0; color:#5f6d65; font-size:16px; line-height:1.7; }
.lm .process{ background:var(--paper); color:var(--green); }
.lm .process .section-heading>p{ color:#5f6c64; }
.lm .steps-grid{ display:grid; gap:12px; }
.lm .step{ padding:25px; border:1px solid var(--line-dark); border-radius:18px; background:white; }
.lm .step>span{ color:transparent; font-family:"DM Serif Display",serif; font-size:42px; line-height:1; font-weight:400; letter-spacing:.02em; -webkit-text-stroke:1.2px var(--orange); }
.lm .step h3{ margin:28px 0 10px; font-family:"DM Serif Display",serif; font-size:27px; line-height:1.06; font-weight:400; }
.lm .step p{ margin:0; color:#5f6c64; font-size:16px; line-height:1.65; }
.lm .about{ background:var(--green-deep); }
.lm .about-intro{ display:grid; gap:20px; margin-bottom:34px; }
.lm .founders{ display:grid; gap:12px; }
.lm .founder-card{ min-height:150px; padding:14px; display:grid; grid-template-columns:96px 1fr; align-items:center; gap:17px; border:1px solid var(--line-light); border-radius:20px; background:rgba(255,255,255,.04); overflow:hidden; }
.lm .founder-photo{ width:96px; height:122px; display:block; border-radius:14px; object-fit:cover; background:var(--green-mid); }
.lm .founder-photo-thales{ object-position:center 30%; }
.lm .founder-photo-pedro{ object-position:center 24%; }
.lm .founder-card span{ color:var(--orange); font-size:11px; font-weight:800; letter-spacing:.13em; }
.lm .founder-card h3{ margin:6px 0; font-family:"DM Serif Display",serif; font-size:23px; line-height:1.08; font-weight:400; }
.lm .founder-card p{ margin:0; color:rgba(255,255,255,.7); font-size:14px; line-height:1.55; }
.lm .testimonials{ background:var(--ivory); color:var(--green); }
.lm .testimonial-title{ margin-bottom:32px; }
.lm .testimonial-title h2{ margin:0; font-family:"DM Serif Display",serif; font-size:clamp(37px,10vw,52px); line-height:1.04; letter-spacing:-.03em; font-weight:400; }
.lm .review-wall{ display:grid; gap:16px; }
.lm .review-summary{ min-height:210px; padding:26px 20px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:22px; background:white; text-align:center; }
.lm .review-summary>strong{ font-size:20px; letter-spacing:.02em; }
.lm .summary-stars{ margin:8px 0 5px; color:#fbbc04; font-size:31px; line-height:1; letter-spacing:.01em; }
.lm .review-summary p{ margin:0; color:#242424; font-size:14px; }
.lm .review-summary p b{ font-weight:800; }
.lm .google-word{ margin-top:10px; display:flex; font-family:Arial,sans-serif; font-size:30px; font-weight:700; letter-spacing:-.08em; }
.lm .google-word i{ font-style:normal; }
.lm .google-word i:nth-child(1), .lm .google-word i:nth-child(4){ color:#4285f4; }
.lm .google-word i:nth-child(2), .lm .google-word i:nth-child(6){ color:#ea4335; }
.lm .google-word i:nth-child(3){ color:#fbbc05; }
.lm .google-word i:nth-child(5){ color:#34a853; }
.lm .testimonial-grid{ margin-right:-20px; padding-right:20px; display:grid; grid-auto-flow:column; grid-auto-columns:min(86vw,335px); gap:12px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:none; }
.lm .testimonial-grid::-webkit-scrollbar{ display:none; }
.lm .testimonial-card{ min-height:260px; padding:22px; display:flex; flex-direction:column; border-radius:20px; background:#f2f2f2; color:#171717; scroll-snap-align:start; }
.lm .testimonial-card header{ display:grid; grid-template-columns:44px 1fr 26px; align-items:center; gap:11px; }
.lm .testimonial-card header>div{ min-width:0; }
.lm .testimonial-card header strong{ display:block; overflow:hidden; font-size:15px; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.lm .testimonial-card time{ margin-top:3px; display:block; color:#777; font-size:12px; }
.lm .review-avatar{ width:44px; height:44px; display:grid; place-items:center; border-radius:50%; color:white; font-size:12px; font-weight:800; }
.lm .avatar-peach{ background:#d88d6c; }
.lm .avatar-green{ background:#628060; }
.lm .avatar-blue{ background:#72a4ef; }
.lm .avatar-purple{ background:#7651bd; }
.lm .google-g{ font-family:Arial,sans-serif; font-size:22px; font-weight:900; background:conic-gradient(from -35deg,#4285f4 0 25%,#34a853 25% 45%,#fbbc05 45% 68%,#ea4335 68% 84%,#4285f4 84%); color:transparent; background-clip:text; -webkit-background-clip:text; }
.lm .card-rating{ margin:17px 0 13px; display:flex; align-items:center; gap:8px; }
.lm .card-rating>span{ color:#fbbc04; font-size:22px; line-height:1; letter-spacing:.01em; }
.lm .card-rating i{ width:17px; height:17px; display:grid; place-items:center; border-radius:50%; background:#4285f4; color:white; font-size:10px; font-style:normal; font-weight:800; }
.lm .testimonial-card blockquote{ margin:0; font-size:15px; line-height:1.46; letter-spacing:-.01em; }
.lm .reviews-action{ margin-top:28px; display:flex; justify-content:center; }
.lm .reviews-action a{ min-height:50px; padding:0 20px; display:inline-flex; align-items:center; gap:12px; border:1px solid rgba(24,60,50,.24); border-radius:26px; background:rgba(255,255,255,.35); color:var(--green); font-size:14px; font-weight:800; }
.lm .reviews-action a span{ color:var(--orange); }
.lm .faq{ display:grid; gap:34px; background:var(--green); }
.lm .faq-title{ display:grid; gap:18px; }
.lm .faq-list{ display:grid; gap:8px; }
.lm .faq-list details{ border-radius:18px; background:var(--ivory); color:var(--green); overflow:hidden; }
.lm .faq-list summary{ min-height:76px; padding:18px 20px; display:grid; grid-template-columns:1fr 24px; align-items:center; gap:14px; list-style:none; cursor:pointer; }
.lm .faq-list summary::-webkit-details-marker{ display:none; }
.lm .faq-list summary b{ font-size:16px; line-height:1.45; }
.lm .faq-list summary i{ color:var(--orange); font-size:21px; font-style:normal; font-weight:400; transition:transform .2s ease; }
.lm .faq-list details[open] summary i{ transform:rotate(45deg); }
.lm .faq-list details>p{ margin:-4px 48px 20px 20px; color:#5e6b63; font-size:16px; line-height:1.7; }
.lm .location{ display:grid; gap:28px; background:var(--green-mid); }
.lm .location-copy{ align-self:center; }
.lm .location h2{ max-width:570px; margin:0; font-family:"DM Serif Display",serif; font-size:clamp(38px,10vw,56px); line-height:1.04; letter-spacing:-.03em; font-weight:400; }
.lm .contact-list{ margin-top:30px; display:grid; gap:18px; }
.lm .contact-item{ display:grid; grid-template-columns:44px 1fr; align-items:start; gap:14px; }
.lm .contact-icon{ width:44px; height:44px; display:grid; place-items:center; border:1px solid var(--line-light); border-radius:13px; background:rgba(255,255,255,.06); color:var(--orange); }
.lm .contact-icon svg{ width:21px; height:21px; }
.lm .contact-item strong{ display:block; margin-bottom:2px; color:white; font-size:15px; }
.lm .contact-item p, .lm .contact-item a, .lm .location address{ margin:0; color:rgba(255,255,255,.76); font-size:16px; line-height:1.55; font-style:normal; }
.lm .contact-item a:hover{ color:white; }
.lm .location-copy>a{ width:max-content; min-height:50px; margin-top:28px; padding:0 20px; display:inline-flex; align-items:center; gap:13px; border:1px solid var(--line-light); border-radius:26px; color:white; font-size:14px; font-weight:800; }
.lm .location-copy>a span{ color:var(--orange); font-size:17px; }
.lm .map-frame{ min-height:320px; border:5px solid rgba(255,255,255,.08); border-radius:24px; overflow:hidden; background:var(--green-deep); }
.lm .map-frame iframe{ width:100%; height:100%; min-height:320px; display:block; border:0; filter:saturate(.8) contrast(.95); }
.lm .final-cta{ margin:14px; padding:52px 24px; display:grid; gap:28px; border-radius:28px; background:var(--paper); color:var(--green); }
.lm .final-cta h2{ margin:0; font-family:"DM Serif Display",serif; font-size:clamp(40px,11vw,58px); line-height:1.02; letter-spacing:-.03em; font-weight:400; }
.lm .final-cta>div>p:last-child{ margin:18px 0 0; color:#5f6c64; font-size:16px; line-height:1.7; }
.lm .final-cta .button{ width:100%; }
.lm footer{ padding:58px 20px 98px; display:grid; gap:30px; background:var(--green-deep); }
.lm .footer-brand>p{ max-width:330px; margin:18px 0 0; color:rgba(255,255,255,.62); font-size:14px; line-height:1.6; }
.lm .footer-col h3{ margin:0 0 13px; color:var(--orange); font-size:12px; letter-spacing:.14em; }
.lm .footer-col a, .lm .footer-col p{ display:block; margin:0 0 5px; color:rgba(255,255,255,.68); font-size:14px; line-height:1.7; }
.lm .footer-col a{ color:white; font-size:15px; font-weight:700; }
.lm .footer-legal{ padding:24px 0; border-top:1px solid var(--line-light); border-bottom:1px solid var(--line-light); }
.lm .footer-legal p{ margin:0; display:grid; gap:7px; }
.lm .footer-legal strong{ color:white; font-family:"DM Serif Display",serif; font-size:20px; line-height:1.2; font-weight:400; letter-spacing:.01em; }
.lm .footer-legal span{ color:var(--orange); font-size:13px; line-height:1.5; font-weight:800; letter-spacing:.04em; }
.lm .footer-bottom{ display:grid; gap:14px; }
.lm .footer-bottom p, .lm .footer-bottom a{ margin:0; color:rgba(255,255,255,.54); font-size:13px; line-height:1.6; }
.lm .footer-bottom a{ color:rgba(255,255,255,.78); font-size:13px; font-weight:700; display:inline-flex; align-items:center; gap:8px; }
.lm .floating-whatsapp{ position:fixed; z-index:40; right:14px; bottom:14px; min-height:50px; padding:0 19px; display:flex; align-items:center; gap:14px; border-radius:27px; background:var(--orange); color:white; box-shadow:0 14px 36px rgba(0,0,0,.22); font-size:12px; }
.lm .floating-whatsapp span{ font-size:15px; }
@media (min-width:760px) {.lm .site-header{ min-height:78px; padding:10px max(30px,calc((100vw - 1180px)/2)); }
.lm .brand img{ width:56px; height:42px; }
.lm .brand strong{ font-size:20px; }
.lm .brand-text small{ font-size:9px; }
.lm .site-header nav{ display:flex; align-items:center; gap:28px; }
.lm .site-header nav a{ color:rgba(255,255,255,.72); font-size:13px; font-weight:700; }
.lm .site-header nav a:hover{ color:white; }
.lm .header-cta{ min-height:48px; padding:0 20px; font-size:13px; }
.lm .header-cta::before{ display:none; }
.lm .hero{ min-height:760px; padding:78px max(30px,calc((100vw - 1180px)/2)) 74px; grid-template-columns:1.1fr .9fr; gap:70px; }
.lm .hero h1{ font-size:clamp(58px,5.5vw,78px); }
.lm .hero-lead{ font-size:17px; }
.lm .hero-actions{ display:flex; align-items:center; gap:22px; }
.lm .text-link{ padding:0 8px; }
.lm .trust-row{ grid-template-columns:repeat(3,auto); gap:24px; }
.lm .section{ padding:108px max(30px,calc((100vw - 1180px)/2)); }
.lm .section-heading{ grid-template-columns:1.35fr .65fr; gap:70px; align-items:end; margin-bottom:48px; }
.lm .section-heading h2, .lm .about-intro h2, .lm .faq-title h2{ font-size:clamp(44px,4.2vw,60px); }
.lm .section-heading>p{ margin-bottom:4px; }
.lm .service-grid{ grid-template-columns:repeat(3,1fr); gap:14px; }
.lm .service-card{ min-height:280px; padding:27px; transition:transform .2s ease; }
.lm .service-card:hover{ transform:translateY(-5px); }
.lm .statement{ margin:20px max(20px,calc((100vw - 1280px)/2)); padding:86px 74px; }
.lm .statement blockquote{ font-size:clamp(50px,4.6vw,68px); }
.lm .steps-grid{ grid-template-columns:repeat(4,1fr); gap:14px; }
.lm .step{ min-height:230px; padding:28px; }
.lm .about-intro{ grid-template-columns:1.35fr .65fr; gap:70px; align-items:end; margin-bottom:48px; }
.lm .founders{ grid-template-columns:repeat(2,1fr); gap:14px; }
.lm .founder-card{ min-height:230px; padding:18px; grid-template-columns:150px 1fr; gap:24px; }
.lm .founder-photo{ width:150px; height:194px; border-radius:16px; }
.lm .founder-card h3{ font-size:27px; }
.lm .testimonials{ padding-left:max(30px,calc((100vw - 1480px)/2)); padding-right:max(30px,calc((100vw - 1480px)/2)); }
.lm .testimonial-title h2{ font-size:clamp(44px,4.2vw,60px); }
.lm .review-wall{ grid-template-columns:225px minmax(0,1fr); align-items:stretch; }
.lm .review-summary{ min-height:300px; padding:28px 18px; }
.lm .testimonial-grid{ margin-right:0; padding-right:0; grid-auto-columns:minmax(260px,1fr); }
.lm .testimonial-card{ min-height:300px; padding:24px; }
.lm .testimonial-card blockquote{ font-size:16px; }
.lm .faq{ grid-template-columns:.72fr 1.28fr; gap:80px; }
.lm .faq-title{ align-self:start; position:sticky; top:100px; }
.lm .faq-list summary{ min-height:84px; padding:21px 24px; }
.lm .faq-list summary b{ font-size:15px; }
.lm .faq-list details>p{ margin:-4px 52px 24px 24px; }
.lm .location{ grid-template-columns:.82fr 1.18fr; gap:70px; }
.lm .location h2{ font-size:clamp(44px,4.2vw,60px); }
.lm .map-frame, .lm .map-frame iframe{ min-height:430px; }
.lm .final-cta{ margin:20px max(20px,calc((100vw - 1280px)/2)); padding:70px 74px; grid-template-columns:1fr auto; align-items:end; gap:60px; }
.lm .final-cta .button{ width:auto; }
.lm footer{ padding:72px max(30px,calc((100vw - 1180px)/2)) 28px; grid-template-columns:1.2fr .7fr 1fr; gap:60px; }
.lm .footer-legal{ grid-column:1/-1; }
.lm .footer-legal p{ grid-template-columns:1fr auto; align-items:center; gap:24px; }
.lm .footer-legal strong{ font-size:25px; }
.lm .footer-legal span{ font-size:14px; }
.lm .footer-bottom{ grid-column:1/-1; grid-template-columns:1fr auto; align-items:center; }
.lm .floating-whatsapp{ right:20px; bottom:20px; }
}
@media (prefers-reduced-motion:reduce) {html{scroll-behavior:auto}
.lm *, .lm *::before, .lm *::after{transition-duration:.01ms!important}
}
.lm /* ==========================================================================
   ADICOES DO TEMA-FILHO (nao estavam no modelo original)
   ========================================================================== */

/* Mapa sob demanda — substitui o iframe que carregava no primeiro paint */
.map-load{
  display:flex; flex-direction:column; gap:.4rem;
  align-items:center; justify-content:center; text-align:center;
  width:100%; height:100%; min-height:280px;
  padding:2rem 1.5rem; cursor:pointer;
  background:var(--green-mid); color:var(--white);
  border:1px dashed var(--line-light); border-radius:inherit;
  font-family:inherit; font-size:1rem; font-weight:600;
  transition:background .18s ease;
}
.lm .map-load:hover{ background:var(--green-deep); }
.lm .map-load small{ font-weight:400; font-size:.8125rem; color:var(--muted-light); max-width:34ch; }
.lm .map-load:focus-visible{ outline:3px solid var(--orange); outline-offset:-4px; }
.lm /* Foco visivel em todo elemento interativo — piso de acessibilidade */
a:focus-visible, .lm button:focus-visible, .lm summary:focus-visible{
  outline:3px solid var(--orange); outline-offset:3px; border-radius:2px;
}
.lm /* Evita salto de layout enquanto as imagens carregam */
img{ max-width:100%; height:auto; }
@media (prefers-reduced-motion:reduce) {html{ scroll-behavior:auto; }
.lm *, .lm *::before, .lm *::after{ animation-duration:.01ms !important; transition-duration:.01ms !important; }
}
