/* Guinar Premium 6.21 · Editorial mobile-first · layout and navigation only.
   Component styles for showcases and cases live in Guinar Soluções. */
:root{--max:1100px;--layout-max:1100px;--space-section:clamp(56px,5vw,72px)}
body{line-height:1.65;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}
.g-container{width:calc(100% - 64px);max-width:var(--max)}
.site-header .header-inner{max-width:var(--max);gap:32px}
.main-nav a{min-height:48px}
.g-section{padding-block:var(--space-section)}
.g-home-hero{padding-block:64px 62px}
.g-home-hero .g-kicker{font-size:13px;letter-spacing:.035em;margin-bottom:26px}
.g-home-hero h1{font-size:clamp(44px,4.45vw,62px);line-height:1.16;letter-spacing:-.028em;font-weight:500;max-width:27ch;margin-bottom:28px}
.g-home-hero .g-lead{font-size:18px;line-height:1.75;max-width:46ch;margin-bottom:35px;color:var(--muted)}
.g-actions{gap:16px 32px}
.g-button{font-size:15px;line-height:1.3;min-height:52px;padding:14px 24px;border-radius:4px}
.g-text-link{font-size:16px;text-underline-offset:6px}
.g-section-heading{gap:40px;margin-bottom:clamp(30px,3.4vw,52px)}
.g-section-heading h2{font-size:clamp(28px,2.6vw,34px);font-weight:550;line-height:1.3;letter-spacing:-.02em;max-width:23ch;margin:0 0 15px}
.g-section-heading p{font-size:17px;line-height:1.65;max-width:60ch}
.g-needs{gap:clamp(24px,3vw,45px)}
.g-need{padding:27px 0 4px;border-top-color:var(--line)}
.g-need h3{font-size:20px;font-weight:550;line-height:1.32;letter-spacing:-.018em;max-width:21ch;padding-right:24px;margin-bottom:15px}
.g-need p{font-size:17px;line-height:1.63;max-width:33ch;margin-bottom:22px}
.g-need .g-need-action{display:inline-flex;font-size:14px;line-height:1.3;color:var(--gold);font-weight:650;min-height:44px;align-items:center}
.g-need svg{top:31px;width:17px;height:17px;transition:transform .2s ease}
.g-need:hover svg{transform:translateX(4px)}
.g-home-618 #solucoes .g-section-heading h2{max-width:27ch}
.g-service-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(26px,3vw,48px)}
.g-service-group{min-width:0;border-top:1px solid var(--line);padding-top:24px}
.g-service-group :is(h2,h3){font-size:24px;line-height:1.23;font-weight:550;letter-spacing:-.02em;margin:0 0 14px}
.g-service-group>p{font-size:16px;line-height:1.65;color:var(--muted);min-height:79px;max-width:31ch;margin:0 0 17px}
.g-service-group ul{list-style:none;margin:0;padding:0}
.g-service-group li{border-bottom:1px solid var(--line)}
.g-service-group li a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:57px;padding:12px 0;font-size:16px;line-height:1.4;text-decoration:none}
.g-service-group li a svg{width:16px;height:16px;flex-shrink:0;color:var(--gold)}
.g-service-group li a:hover{color:var(--gold)}
.g-split{gap:clamp(35px,5vw,90px)}
.g-intro h2,.g-home-about h2,.g-faq>h2{font-size:32px;line-height:1.25;letter-spacing:-.03em;max-width:23ch}
.g-intro p,.g-home-steps p,.g-home-about p{font-size:17px;line-height:1.7;max-width:49ch}
.g-home-steps{padding:0}
.g-home-steps h3{font-size:20px;font-weight:550;letter-spacing:-.014em}
.g-home-steps li{padding-block:24px}
.g-project-list{gap:clamp(18px,2vw,30px)}
.g-project{background:transparent;border:1px solid var(--line);border-radius:4px;padding:clamp(22px,2.4vw,36px)}
.g-project h3{font-size:clamp(22px,2vw,27px);line-height:1.2;letter-spacing:-.02em}
.g-project p{font-size:16px;line-height:1.6}
.g-faq details{border-bottom:1px solid var(--line)}
.g-faq summary{font-size:17px;line-height:1.5;min-height:54px;padding-block:16px}
.g-faq details p{font-size:17px;line-height:1.65}
.g-home-about .g-text-link svg{width:16px;height:16px}
.g-home-final{background:var(--surface)}
.g-home-final .g-contact-inner{padding-block:clamp(28px,3vw,46px)}
.g-home-final .g-contact-inner h2{font-size:32px;line-height:1.19;max-width:24ch}
.g-home-final .g-contact-inner p{font-size:17px;line-height:1.65}
.site-footer{padding-block:clamp(40px,4vw,62px) 22px}
.footer-nav a{font-size:15px}
@media(max-width:950px){
 .g-service-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 30px}
 .g-service-group>p{min-height:0}
}
@media(max-width:700px){
 :root{--space-section:48px}
 .g-container{width:calc(100% - 44px)}
 .site-header .header-inner{min-height:76px}
 .g-home-hero{padding-block:44px 46px}
 .g-home-hero .g-kicker{font-size:12px;line-height:1.6;margin-bottom:20px}
 .g-home-hero h1{font-size:clamp(34px,8.9vw,38px);letter-spacing:-.02em;line-height:1.18;max-width:18ch;margin-bottom:24px}
 .g-home-hero .g-lead{font-size:17px;line-height:1.7;max-width:36ch;margin-bottom:30px}
 .g-actions{gap:10px 22px;align-items:flex-start}
 .g-home-hero .g-actions{flex-direction:row;align-items:center}
 .g-button{font-size:16px;min-height:52px;padding:14px 21px}
 .g-text-link{font-size:16px}
 .g-section-heading{margin-bottom:29px}
 .g-section-heading h2{font-size:28px;line-height:1.24;margin-bottom:13px}
 .g-section-heading p{font-size:17px;line-height:1.65}
 .g-needs{grid-template-columns:1fr;gap:0}
 .g-need{padding-block:24px 20px}
 .g-need h3{font-size:19px;max-width:26ch;line-height:1.35}
 .g-need p{font-size:17px;line-height:1.63;margin-bottom:12px}
 .g-need .g-need-action{font-size:15px}
 .g-service-groups{grid-template-columns:1fr;gap:37px}
 .g-service-group{padding-top:24px}
 .g-service-group :is(h2,h3){font-size:25px}
 .g-service-group>p{font-size:17px;max-width:38ch;margin-bottom:14px}
 .g-service-group li a{font-size:17px;min-height:58px}
 .g-split{gap:30px}
 .g-intro h2,.g-home-about h2,.g-faq>h2{font-size:28px;max-width:25ch}
 .g-intro p,.g-home-steps p,.g-home-about p{font-size:17px;line-height:1.65}
 .g-home-steps li{gap:17px;padding-block:22px}
 .g-home-steps h3{font-size:19px}
 .g-project-list{grid-template-columns:1fr;gap:15px}
 .g-project{margin:0;padding:25px}
 .g-project p{font-size:17px;line-height:1.65}
 .g-faq summary,.g-faq details p{font-size:17px;line-height:1.6}
 .g-home-about p{font-size:17px}
 .g-home-final .g-contact-inner{padding-block:14px}
 .g-home-final .g-contact-inner h2{font-size:32px}
 .g-home-final .g-contact-inner p{font-size:17px}
 .main-nav .menu a{font-size:17px;min-height:50px}
 .footer-nav a{font-size:15px}
 .footer-bottom{line-height:1.6}
}
@media(max-width:380px){.g-container{width:calc(100% - 36px)}.g-home-hero h1{font-size:33px}.g-work-section .g-work-meta{gap:10px}}
@media(prefers-reduced-motion:reduce){.g-need svg{transition:none}}
/* Substitui a navegação desktop antes que as opções fiquem comprimidas em tablets estreitos. */
@media(min-width:601px) and (max-width:760px){
 .site-header .header-inner{height:auto;min-height:76px;flex-wrap:wrap;gap:0}
 .menu-toggle{display:block;min-height:46px;border:1px solid var(--line);border-radius:4px;padding:10px 14px;background:transparent;color:var(--text);font-size:15px}
 .main-nav{position:static;width:100%;padding:12px 0 20px;border:0;display:block}
 .js .main-nav{display:none}
 .js .main-nav.is-open{display:block}
 .main-nav .menu{display:block}
 .main-nav .menu a{font-size:17px;min-height:50px}
 .menu .sub-menu{display:block;position:static;border:0;padding:0 0 0 20px;background:none}
}
@media(max-width:700px){
 body{font-size:17px}
 .g-service-hero .g-lead,.g-service .g-section-heading p,.g-service .g-steps p,.g-service .g-options p,.g-reading p{font-size:17px;line-height:1.68}
}

/* Needs use one explanatory line; no repeated call-to-action inside the card. */
.g-need-action{display:none}.g-need p{margin-bottom:0}.g-home-hero .g-lead{max-width:55ch}.g-home-621 .g-work-section{padding-top:56px}.g-home-621 .g-section-heading{margin-bottom:28px}@media(max-width:700px){.g-home-621 .g-work-section{padding-top:48px}.g-home-hero .g-kicker{letter-spacing:0}.g-need{padding-block:22px}.g-need p{font-size:16px;line-height:1.7}.g-service-group>p{font-size:16px}.g-home-steps p,.g-home-about p,.g-project p{font-size:16px}.g-home-final .g-contact-inner h2{font-size:29px}.g-portfolio-page .g-home-hero{padding-bottom:32px}}

/* Interaction polish: legibility, visible focus and comfortable touch areas. */
.footer-nav a{display:inline-flex;align-items:center;min-height:44px}
.g-service-group li a span{min-width:0}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.g-need svg{transition:none;transform:none}}
