/* Branco, preto e vermelho: logo original sem filtros ou reconstrução. */
:root{--paper:#fff;--ink:#252525;--red:#b00000;--muted:#707070;--line:#dedede}
.header{height:84px;background:#fff;color:#252525;border-color:#e5e5e5}
.brand.original-brand{display:block;position:relative;overflow:hidden;width:65px;height:76px;flex:none;background:#fff;line-height:0}
.brand.original-brand img,.header .brand.original-brand img{position:absolute;width:135px;height:135px;max-width:none;left:-36px;top:-29px;object-fit:contain;filter:none}
.header .nav-contact{border-color:#b00000;color:#990000}.header nav a:hover{color:#b00000}
.hero-immersive{color:#fff}.hero-immersive h1,.hero-immersive h1 em{color:#fff;font-weight:400}.hero-immersive .eyebrow,.hero-immersive .hero-description{color:#f5f5f5}.hero-immersive .dot{background:#fff}
.hero-immersive .hero-visual>img{filter:saturate(.9) brightness(1)}
.hero-immersive:before{background:linear-gradient(90deg,rgba(0,0,0,.65) 0%,rgba(0,0,0,.34) 46%,rgba(0,0,0,.09) 100%),linear-gradient(180deg,rgba(0,0,0,.12) 0%,transparent 30%,rgba(0,0,0,.08) 65%,rgba(0,0,0,.47) 100%)}
.hero-immersive .button{justify-content:center;min-width:170px;min-height:44px;padding:12px 20px;font-size:11px;background:#fff;color:#990000}.hero-immersive .button:hover{background:#f1f1f1}
.hero-immersive .text-link{color:#fff;border:0}.hero-bottom{left:4%;right:4%;color:#f2f2f2;border-color:#ffffff40}.hero-bottom i{color:#ddd}
.intro-strip,.contact{background:#252525;color:#fff}.portfolio{background:#f4f4f4}footer{background:#fff;border-top:1px solid #e6e6e6}.intro-strip>span:before{color:#c5c5c5}.contact h2 em{color:#fff}.contact-copy>p:not(.eyebrow),.contact .subtle,form>p,.form-note,.region span{color:#ccc}input,select,textarea{border-color:#777;color:#fff}input:focus,select:focus,textarea:focus{border-color:#fff}input::placeholder,textarea::placeholder{color:#bdbdbd}.light{background:#fff;color:#990000}.light:hover{background:#f1f1f1}.footer-bottom{border-color:#ddd}
.floating-contact{padding:9px 17px;min-height:38px;background:#fff;color:#990000;border:1px solid #ddd;border-radius:2px;box-shadow:0 3px 14px #00000016;font-size:10px;letter-spacing:.2px;transition:background .2s,border-color .2s}.floating-contact:hover{background:#f5f5f5;border-color:#aaa;color:#990000}.floating-contact span{font-size:10px}
@media(max-width:720px){.header{height:92px;padding-left:6%;padding-right:6%}.brand.original-brand{width:72px;height:84px}.brand.original-brand img,.header .brand.original-brand img{width:150px;height:150px;left:-40px;top:-33px}.header .menu-toggle span{background:#252525}.header nav{top:92px;background:#fffffff5;border-color:#ddd;color:#252525}.hero-immersive .hero-copy{padding-left:6%;padding-right:6%}.hero-immersive .hero-visual>img{filter:saturate(.9) brightness(1)}.hero-immersive:before{background:linear-gradient(90deg,#0009,#0004),linear-gradient(180deg,#0002,transparent 30%,#0007)}.hero-bottom{left:6%;right:6%}.floating-contact{padding:11px 17px;bottom:16px;right:16px}.hero-immersive .hero-actions .button{min-width:190px}}
@media(max-width:720px){.header{height:76px}.brand.original-brand{width:58px;height:67px}.brand.original-brand img,.header .brand.original-brand img{width:120px;height:120px;left:-32px;top:-26px}.header nav{top:76px}}
@media(max-width:720px){.hero-immersive .hero-actions .button{min-width:170px;font-size:11px}.floating-contact{padding:9px 15px;min-height:38px}.floating-contact span{font-size:10px}}
.hero-immersive h1 em{color:#ae0000}
@media(max-width:720px){.hero-immersive .hero-copy>.eyebrow{position:absolute;top:112px;left:6%;right:6%;max-width:none;margin:0;animation:none}}
@media(max-width:720px){.hero-immersive .hero-copy>h1,.hero-immersive .hero-copy>.hero-description,.hero-immersive .hero-copy>.hero-actions{position:relative;top:-36px}}
@media(min-width:721px){.hero-immersive .hero-copy>h1{margin-top:80px}.hero-immersive .hero-copy>*{flex-shrink:0}}
@media(min-width:721px) and (max-height:800px){.hero-immersive h1{font-size:clamp(64px,6.8vw,80px)}}
/* Fundo visual compacto; área de toque preservada em 44px. */
.hero-immersive .hero-actions .button{min-width:0;min-height:44px;width:auto;padding:12px 14px;position:relative;isolation:isolate;background:transparent;border:0;border-radius:2px}
.hero-immersive .hero-actions .button:before{content:'';position:absolute;inset:6px 0;background:#fff;border-radius:2px;z-index:-1;transition:background .2s}
.hero-immersive .hero-actions .button:hover{background:transparent}.hero-immersive .hero-actions .button:hover:before{background:#f1f1f1}
.floating-contact{min-height:44px;padding:12px 12px;background:transparent;border:0;box-shadow:none;isolation:isolate}
.floating-contact:before{content:'';position:absolute;inset:6px 0;background:#fff;border:1px solid #e5e5e5;border-radius:2px;z-index:-1;box-shadow:0 1px 4px #0000000d;transition:background .2s}
.floating-contact:hover{background:transparent}.floating-contact:hover:before{background:#f5f5f5}
@font-face{font-family:'Formi Editorial';src:url('assets/dm-serif-display.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
.hero-immersive h1.headline-serif{font-family:'Formi Editorial',Georgia,serif;font-weight:400;letter-spacing:-.025em;line-height:1.1;color:#fff}
.hero-immersive .headline-serif .headline-line{display:block;white-space:nowrap}
.hero-immersive .headline-serif em{display:inline;font-family:inherit;font-weight:inherit;font-style:normal;color:#ae0000}
@media(max-width:720px){.hero-immersive h1.headline-serif{font-size:clamp(39px,11.4vw,70px);line-height:1.12;letter-spacing:-.02em}}
/* Ajuste do conjunto de texto à faixa fosca da porta. */
@media(min-width:721px){.hero-immersive .hero-copy>.eyebrow,.hero-immersive .hero-copy>h1,.hero-immersive .hero-copy>.hero-description,.hero-immersive .hero-copy>.hero-actions{position:relative;top:24px}}
@media(min-width:721px) and (max-height:800px){.hero-immersive .hero-copy>.eyebrow,.hero-immersive .hero-copy>h1,.hero-immersive .hero-copy>.hero-description,.hero-immersive .hero-copy>.hero-actions{top:12px}}
@media(max-width:720px){.hero-immersive .hero-copy>.eyebrow{top:136px}.hero-immersive .hero-copy>h1,.hero-immersive .hero-copy>.hero-description,.hero-immersive .hero-copy>.hero-actions{top:-12px}}
.hero-immersive .hero-copy>.eyebrow{font-size:9px;font-weight:400;letter-spacing:1.8px;color:rgba(255,255,255,.76)}
@media(min-width:721px){.hero-immersive .hero-copy>.eyebrow{top:-20px}}
@media(max-width:720px){.hero-immersive .hero-copy>.eyebrow{top:96px;font-size:7px;letter-spacing:1.2px}}
.hero-immersive h1.headline-serif{margin-bottom:17px}
.hero-immersive .headline-serif .headline-period{font-size:.38em;line-height:0;letter-spacing:0;margin-left:.06em}
.intro-strip{background:#ae0000;color:#fff}.intro-strip>span:before{color:#ffffffa6}
.client-group{gap:32px;padding-left:16px;padding-right:16px}.client-logo{height:70px;padding:11px 9px;display:flex;align-items:center;justify-content:center;border-radius:3px}.client-logo img{max-height:64px;max-width:100%;width:auto;height:auto;object-fit:contain;filter:none}
.formi-numbers{padding-bottom:48px;background:#fff}.number-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.number-card{padding:36px 28px;border:1px solid #eee;border-radius:18px;box-shadow:0 14px 35px #0000000b;background:#fff}.number-value{display:flex;gap:9px;align-items:baseline;color:#ae0000;font-size:clamp(46px,5vw,70px);font-weight:600;line-height:1.1;letter-spacing:-2px}.number-value small{font-size:24px;letter-spacing:0}.number-card h3{font-size:20px;font-weight:500;letter-spacing:-.5px;margin-top:18px}.number-card>p:last-child{font-size:12px;color:#707070;margin-top:8px}
.partition-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;padding-top:55px;border-bottom:1px solid #e7e7e7}.partition-intro h2{font-size:clamp(32px,3.2vw,46px);margin-top:20px}.partition-intro h2 em{color:#ae0000}.partition-copy{align-self:center}.partition-copy p{font-size:14px;color:#707070;margin-bottom:18px}.partition-copy a{font-size:12px;margin-top:10px}
.client-showcase[hidden]{display:none}.client-showcase{padding-top:35px;padding-bottom:40px;overflow:hidden}.client-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.client-heading h2{font-size:26px;letter-spacing:-.7px}.client-window{overflow:hidden;mask-image:none}.client-track{display:flex;width:max-content;animation:formi-clients 32s linear infinite}.client-group{display:flex;align-items:center;gap:65px;padding:0 32px}.client-logo{width:120px;flex:0 0 120px;text-align:center;font-size:18px;font-weight:500;color:#555}.client-logo img{max-height:48px;width:100%;object-fit:contain;filter:none}@keyframes formi-clients{to{transform:translateX(-50%)}}
@media(max-width:720px){.number-grid{grid-template-columns:1fr;gap:18px}.number-card{padding:28px}.number-value{font-size:54px}.number-card h3{font-size:21px}.partition-intro{grid-template-columns:1fr;gap:28px;padding-top:30px}.partition-intro h2{font-size:34px}.client-heading{align-items:flex-start}.client-heading h2{font-size:23px}.client-group{gap:35px}}
@media(prefers-reduced-motion:reduce){.client-track{animation:none}.client-window{overflow:auto;mask-image:none}.client-group[aria-hidden]{display:none}}
/* Primeiro estudo: molduras fortes conectadas no conjunto de soluções. */
.solutions .solution-grid{border-top:10px solid #ae0000}
.solutions .solution-image:after{content:'';position:absolute;inset:0;border:8px solid #ae0000;border-top:0;pointer-events:none;z-index:1}
.solutions .solution-image>span{z-index:2}
.business-highlights{border-top:1px solid #e7e7e7;background:#fff;display:grid;grid-template-columns:1fr 1.25fr;gap:7%;align-items:center}
.business-intro h2{margin:18px 0 22px}.business-intro>p:not(.eyebrow){max-width:360px;font-size:14px;color:#707070}.business-types{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.business-types span{border:1px solid #e3d0d0;padding:7px 10px;color:#ae0000;font-size:10px}
.business-badges{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.business-badge{background:#ae0000;color:#fff;padding:25px 18px 24px;min-height:235px;display:flex;flex-direction:column}.badge-mark{font-size:11px;letter-spacing:2px;width:35px;height:35px;border:1px solid #ffffff6b;border-radius:50%;display:grid;place-items:center;margin-bottom:28px}.business-badge h3{font-size:18px;line-height:1.3;letter-spacing:-.4px;font-weight:500;margin-bottom:12px}.business-badge p{font-size:11px;line-height:1.8;color:#fffdfde0}
@media(max-width:1050px){.business-highlights{grid-template-columns:1fr;gap:32px}.business-badge{min-height:200px}}
@media(max-width:720px){.business-badges{grid-template-columns:1fr;gap:12px}.business-badge{min-height:0;padding:23px 22px}.badge-mark{margin-bottom:16px}.business-badge h3{font-size:21px}.business-badge p{font-size:13px}.business-intro h2{font-size:36px}}
@media(max-width:720px){.solutions .solution-grid{border-top:0}.solutions .solution-image:after{border-top:8px solid #ae0000}}
@media(min-width:721px){.hero-immersive .hero-copy>.eyebrow{position:absolute;top:100px;left:4%;margin:0}}

/* Apresentação editorial dos benefícios; espaços reservados às fotos originais. */
.partition-intro.partition-editorial{display:block;padding-top:56px;padding-bottom:60px}
.partition-editorial .partition-heading{max-width:1050px}
.partition-editorial .eyebrow{display:flex;align-items:center;gap:18px}
.partition-editorial .eyebrow:before{content:'';width:46px;height:1px;background:#ae0000;flex:none}
.partition-editorial h2{font-family:'Formi Editorial',Georgia,serif;font-weight:400;font-size:clamp(34px,4.2vw,60px);line-height:1.12;letter-spacing:-.025em;max-width:900px;margin:25px 0}
.partition-editorial h2 em{font-style:normal}
.partition-editorial .partition-summary{font-size:16px;line-height:1.8;color:#707070;max-width:1000px}
.partition-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:34px}
.partition-benefit{min-width:0}
.partition-photo-slot{aspect-ratio:1.5;background:#f5f4f2;width:100%}
.partition-benefit h3{font-size:23px;font-weight:500;letter-spacing:-.5px;line-height:1.3;margin:18px 0 5px}
.partition-benefit p{font-size:14px;line-height:1.6;color:#707070}
.partition-editorial .partition-solutions-link{display:inline-block;font-size:13px;margin-top:34px}
@media(max-width:720px){
.partition-intro.partition-editorial{padding-top:34px;padding-bottom:38px}
.partition-editorial .eyebrow{gap:12px;font-size:9px;letter-spacing:2px}
.partition-editorial .eyebrow:before{width:26px}
.partition-editorial h2{font-size:clamp(30px,8.3vw,43px);margin:22px 0 20px;line-height:1.16}
.partition-editorial .partition-summary{font-size:13px;line-height:1.75}
.partition-benefits{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:26px}
.partition-benefit h3{font-size:clamp(11px,3.1vw,18px);letter-spacing:-.35px;margin-top:11px;line-height:1.4}
.partition-benefit p{font-size:11px;line-height:1.5}
.partition-editorial .partition-solutions-link{font-size:12px;margin-top:26px}
}

/* Fotos em destaque, com faixa horizontal no celular. */
.partition-photo-slot{aspect-ratio:1.15}
@media(min-width:721px){.partition-benefits{margin-left:-3vw;margin-right:-3vw;gap:22px}}
@media(max-width:720px){
.partition-benefits{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:0;margin-left:0;margin-right:0;padding:0 0 16px;scrollbar-width:thin;scrollbar-color:#c4c0bb #f5f4f2}
.partition-benefit{flex:0 0 78vw;scroll-snap-align:start}
.partition-photo-slot{aspect-ratio:1.15}
.partition-benefit h3{font-size:20px;letter-spacing:-.4px;margin-top:15px}
.partition-benefit p{font-size:13px;line-height:1.6}
}

.partition-photo-slot>img{display:block;width:100%;height:100%;object-fit:contain;filter:none}

/* Molduras na proporção da fotografia original, sem faixas laterais. */
.partition-editorial .partition-photo-slot{aspect-ratio:683/1024;position:relative}
.partition-editorial .partition-photo-slot>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}

/* Alturas iguais, preservando integralmente as proporções das três fotos. */
.partition-benefits{grid-template-columns:0.6669921875fr 0.6655211913fr 0.5625fr}
.partition-benefit:nth-child(1){--photo-ratio:0.6669921875}
.partition-benefit:nth-child(2){--photo-ratio:0.6655211913}
.partition-benefit:nth-child(3){--photo-ratio:0.5625}
@media(max-width:720px){.partition-benefit{flex-basis:calc(116.9428989751vw * var(--photo-ratio))}}

.partition-editorial .partition-benefit h3{color:#ae0000}

/* Separador desenhado de forma progressiva com a rolagem. */
.partition-intro.partition-editorial{border-bottom:0}
.section-line{width:100%;height:clamp(68px,8vw,112px);margin:0;overflow:hidden;pointer-events:none}
.section-line svg{display:block;width:100%;height:100%;overflow:visible}
.section-line path{fill:none;stroke:#ae0000;stroke-width:6px;vector-effect:non-scaling-stroke;stroke-linejoin:miter;stroke-linecap:butt;stroke-dasharray:1;stroke-dashoffset:1}
.solutions .brand-red{color:#ae0000}
@media(max-width:720px){.section-line path{stroke-width:5px}.section-line+.solutions{padding-top:48px}}
@media(prefers-reduced-motion:reduce){.section-line path{stroke-dashoffset:0!important}}

/* Fotos das linhas sem a moldura vermelha do estudo anterior. */
.solutions .solution-grid{border-top:0}
.solutions .solution-image:after{content:none;border:0}
.solutions .solution-image-original img,.solutions .solution:hover .solution-image-original img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:none;filter:none;transition:none}

.solutions .solution-title h3{color:#ae0000}
.solutions-divider{margin-top:46px}
.solutions-divider+.acoustic-note{border-top:0;margin-top:30px;padding-top:0}

/* Álbum horizontal de projetos, com fotos inteiras. */
.portfolio .portfolio-label{color:#ae0000}
.portfolio .portfolio-album{display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:20px;scrollbar-width:thin;scrollbar-color:#ae0000 #e5e5e5}
.portfolio-album .project,.portfolio-album .project:nth-child(2){flex:0 0 82%;min-width:0;aspect-ratio:auto;margin-top:0;background:transparent;scroll-snap-align:start;overflow:visible}
.portfolio-album .project img{width:100%;height:clamp(300px,40vw,570px);object-fit:contain;transform:none;transition:none;background:#eeece9}
.portfolio-album .project:after{content:none}
.portfolio-album .project>span{display:block;position:static;color:#242622;margin-top:17px}
.portfolio-album .project small{color:#707070}
.about-page-title{font-family:'Formi Editorial',Georgia,serif;font-size:clamp(38px,4vw,64px);font-weight:400;line-height:1.13;letter-spacing:-.025em;margin:20px 0 28px}
@media(max-width:720px){
.header .menu-toggle{flex-direction:row;align-items:center;gap:5px;padding:16px 8px}
.header .menu-toggle span{display:block;width:4px;height:4px;border-radius:50%;background:#252525}
.portfolio .portfolio-album{gap:16px}
.portfolio-album .project,.portfolio-album .project:nth-child(2){flex-basis:92%}
.portfolio-album .project img{height:340px}
.portfolio-album .project strong{font-size:17px}
.portfolio-album .project small{font-size:8px;line-height:1.6}
}

/* Divisores de borda a borda e álbum sem legendas. */
.section-line.solutions-divider{width:100%;margin:0;height:clamp(50px,5.5vw,78px)}
.portfolio-album-heading h2{color:#ae0000;margin:0;font-size:clamp(32px,3.5vw,48px)}
.portfolio-album-heading .portfolio-subtitle{color:#ae0000;font-size:11px;line-height:1.5;margin-top:10px}

/* Fundo branco no álbum e apresentação sem imagem após o portfólio. */
.portfolio,.portfolio-album .project img{background:#fff}
body:not(.about-page) .about{display:block;background:#fff}
body:not(.about-page) .about-copy{max-width:900px}
.section-line path{transition:stroke-dashoffset .18s linear}
@media(prefers-reduced-motion:reduce){.section-line path{transition:none}}

/* Contato em vermelho e WhatsApp fixo em todas as páginas. */
.contact{background:#ae0000;color:#fff}
.contact .contact-copy>p:not(.eyebrow),.contact .subtle,.contact form>p,.contact .form-note,.contact .region span{color:#fff}
.contact input,.contact select,.contact textarea{border-color:#ffffffa6;color:#fff}
.contact input::placeholder,.contact textarea::placeholder{color:#ffffffcc}
.contact form{border-color:#ffffff80}
.contact select option{background:#ae0000;color:#fff}
.whatsapp-fixed{position:fixed;right:22px;bottom:22px;z-index:80;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 19px;background:#ae0000;color:#fff;border:1px solid #ffffffa6;border-radius:28px;font-size:13px;font-weight:600;line-height:1.3}
.whatsapp-fixed svg{width:24px;height:24px;flex:none}
.whatsapp-fixed:hover{background:#8f0000}
@media(max-width:720px){.whatsapp-fixed{right:14px;bottom:max(14px,env(safe-area-inset-bottom));padding:11px 16px;font-size:12px}.contact{padding-bottom:90px}}

/* Assinatura de encerramento com revelação em duas linhas. */
footer.signature-footer{display:block;background:#fff;border-top:0;padding:70px 4% 100px}
.footer-signature{width:100%;max-width:1150px;margin:0 auto 45px}
.footer-signature svg{display:block;width:100%;height:auto;aspect-ratio:1.5}
.signature-mask-top,.signature-mask-bottom{transform-box:fill-box;transform-origin:left center}
.signature-ready .signature-mask-top,.signature-ready .signature-mask-bottom{transform:scaleX(0)}
.signature-ready.is-written .signature-mask-top{animation:signature-write 1.8s linear forwards}
.signature-ready.is-written .signature-mask-bottom{animation:signature-write 1.6s linear 1.8s forwards}
@keyframes signature-write{to{transform:scaleX(1)}}
.footer-identity{max-width:1250px;margin:0 auto;display:flex;align-items:center;gap:35px;border-top:1px solid #eee;padding-top:30px}
.footer-copyright{font-size:11px;color:#707070}
.footer-top-link{margin-left:auto;color:#ae0000;font-size:12px;border-bottom:1px solid currentColor;padding:5px 0}
@media(max-width:720px){footer.signature-footer{padding:55px 4% 100px}.footer-signature{margin-bottom:35px}.footer-identity{gap:18px;flex-wrap:wrap;padding-top:20px}.footer-copyright{font-size:10px}.footer-top-link{font-size:11px}}
@media(prefers-reduced-motion:reduce){.footer-signature .signature-mask-top,.footer-signature .signature-mask-bottom{animation:none;transform:scaleX(1)}}

/* Variação mais suave do vermelho para o fundo do contato. */
.contact{background:#b32e2e}
.contact select option{background:#b32e2e}

/* Album: fit each card to the original photo, keeping images close together. */
.portfolio .portfolio-album{--portfolio-height:clamp(300px,40vw,570px);gap:14px}
.portfolio-album .project,.portfolio-album .project:nth-child(2){flex:0 0 auto;width:calc(var(--portfolio-height) * var(--portfolio-ratio));padding:0;border:0}
.portfolio-album .project img{width:100%;height:var(--portfolio-height);max-width:none;object-fit:contain}
@media(max-width:700px){.portfolio .portfolio-album{--portfolio-height:340px;gap:10px}}

/* Direct access to About, beside the Formi brand on every viewport. */
.header .header-about{flex:none;margin-left:28px;margin-right:auto;color:#ae0000;font-size:13px;line-height:1.4;letter-spacing:0;white-space:nowrap}
.header .header-about:hover,.header .header-about[aria-current="page"]{text-decoration:underline;text-underline-offset:5px}
@media(max-width:720px){.header .header-about{margin-left:18px;font-size:12px}}

/* About access matches the WhatsApp button and sits farther from the brand. */
.header .header-about{margin-left:44px;padding:11px 18px;background:#ae0000;color:#fff;border-radius:28px;font-weight:600;text-decoration:none}
.header .header-about:hover,.header .header-about[aria-current="page"]{background:#8f0000;text-decoration:none}
@media(max-width:720px){.header .header-about{margin-left:30px;padding:10px 15px;font-size:12px}}

/* Formi institutional page: white, readable editorial layout with brand-red details. */
.about-page .formi-story{background:#fff;padding:172px 7% 40px;color:#363636}
.story-opening,.story-body{max-width:1120px;margin:0 auto}
.story-kicker{font-size:10px;letter-spacing:2px;line-height:1.7;color:#ae0000;font-weight:600}
.story-opening h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(44px,6vw,82px);font-weight:500;letter-spacing:-3px;line-height:1.1;color:#ae0000;margin:24px 0}
.story-lead{max-width:760px;font-size:clamp(23px,3vw,38px);line-height:1.35;letter-spacing:-.8px;color:#ae0000}
.story-rule{width:76px;height:5px;background:#ae0000;margin:38px 0 48px}
.story-block{max-width:820px;font-size:16px;line-height:1.9}
.story-block p+p{margin-top:24px}
.story-chapter{max-width:none;display:grid;grid-template-columns:minmax(210px,1fr) minmax(0,2fr);gap:70px;border-top:1px solid #ae000033;margin-top:64px;padding-top:44px}
.story-chapter h2{color:#ae0000;font-size:clamp(25px,2.5vw,34px);line-height:1.25;letter-spacing:-1px;font-weight:500}
.story-closing{max-width:880px;margin:64px 0 0;border-left:4px solid #ae0000;padding:6px 0 6px 26px;color:#ae0000;font-size:clamp(22px,2.7vw,34px);line-height:1.5;letter-spacing:-.6px}
@media(max-width:720px){.about-page .formi-story{padding:128px 6% 24px}.story-opening h1{letter-spacing:-1.8px;margin:20px 0}.story-kicker{font-size:9px;letter-spacing:1.5px}.story-rule{margin:28px 0 34px;width:56px;height:4px}.story-block{font-size:15px;line-height:1.85}.story-chapter{grid-template-columns:1fr;gap:24px;margin-top:40px;padding-top:30px}.story-block p+p{margin-top:20px}.story-closing{margin-top:42px;padding-left:20px}}

.story-signature{color:#ae0000;font-size:24px;line-height:1.4;font-weight:500;margin:30px 0 0;letter-spacing:-.4px}
@media(max-width:720px){.story-signature{font-size:22px;margin-top:24px}}

/* Faster writing for Adriano Macedo on the About page. */
.about-page .signature-ready.is-written .signature-mask-top{animation-duration:1.4s}
.about-page .signature-ready.is-written .signature-mask-bottom{animation-duration:1.3s;animation-delay:1.4s}

/* Reduce both animated footer signatures by half on desktop. */
@media(min-width:721px){.footer-signature{width:40%;max-width:460px}}

/* Official Instagram at both ends of the site. */
.instagram-link{display:inline-flex;align-items:center;justify-content:center;color:#ae0000;flex:none;gap:9px}
.instagram-link svg{width:22px;height:22px;flex:none}
.instagram-link:hover{color:#8f0000}
.header-instagram{width:40px;height:44px;margin-left:24px}
.footer-instagram{min-height:44px;font-size:12px}
@media(max-width:720px){.header-instagram{margin-left:6px;width:38px}.header .header-about{margin-left:18px}.footer-instagram{font-size:11px;gap:7px}}

/* Original 3:4 photos in equal columns, with titles and descriptions aligned. */
.solutions .solution-image-original{aspect-ratio:3/4!important;height:auto;width:100%;background:#fff}
.solutions .solution-image-original img,.solutions .solution:hover .solution-image-original img{display:block;position:static;width:100%;height:auto;object-fit:contain;transform:none;filter:none}
@media(min-width:721px){
.solutions.section{padding-left:4%;padding-right:4%}
.solutions .solution-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;overflow:visible;padding-bottom:0}
.solutions .solution{min-width:0;display:grid;grid-template-rows:auto 64px auto;align-content:start}
.solutions .solution-title{margin:16px 0 10px;align-items:center;gap:10px;min-width:0;flex-wrap:wrap;align-content:center;row-gap:3px}
.solutions .solution-title h3{font-size:clamp(21px,2vw,29px);line-height:1.2;letter-spacing:-.7px}
.solutions .solution-title>span{flex:none;font-size:9px}
.solutions .solution>p{margin:0;max-width:none;min-height:0;line-height:1.7}
}

/* Remove the raster signature background on the About page, desktop only. */
@media(min-width:721px){.about-page .footer-signature svg{filter:url(#signature-clean-background)}}
