:root {
    --green:#064b31;
    --green2:#0c6843;
    --red:#a60e12;
    --red2:#d31719;
    --cream:#f7f1e7;
    --ink:#17261e;
    --gold:#d9a75f;
    --white:#fff;
    --shadow:0 12px 35px #00000016
}

* {
    box-sizing:border-box
}

html {
    scroll-behavior:smooth
}

body {
    margin:0;
    color:var(--ink);
    font-family:'DM Sans',sans-serif;
    background:#fbf7f0
}

img {
    max-width:100%;
    display:block
}

a {
    text-decoration:none;
    color:inherit
}

.container {
    width:min(1180px,92%);
    margin:auto
}

h1, h2, h3 {
    font-family:'Playfair Display',serif;
    margin-top:0;
    line-height:1.02
}

h2 {
    font-size:clamp(2rem,3.1vw,3.2rem)
}

p {
    line-height:1.55
}

.topbar {
    height:78px;
    background:#fffaf3;
    position:sticky;
    top:0;
    z-index:30;
    box-shadow:0 2px 14px #0000000b
}

.nav {
    height:100%;
    display:flex;
    align-items:center;
    gap:28px
}

.brand {
    position:relative;
    display:grid;
    text-align:center;
    color:#f2c779;
    line-height:.85;
    min-width:118px
}

.brand-mark {
    font-family:'Playfair Display',serif;
    font-size:28px;
    font-weight:800;
    color:#e2b665;
    text-shadow:0 2px 0 #6c0d0d
}

.brand small {
    order:-1;
    color:#7d0e10;
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:1.5px
}

.nav nav {
    display:flex;
    gap:26px;
    margin-left:auto;
    font-size:14px
}

.nav nav a:hover {
    color:var(--red)
}

.btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    background:linear-gradient(180deg,var(--red2),var(--red));
    color:white;
    border:0;
    border-radius:30px;
    padding:16px 26px;
    font-weight:800;
    font-size:13px;
    box-shadow:inset 0 1px #ffffff55;
    cursor:pointer
}

.btn-small {
    padding:13px 22px;
    white-space:nowrap
}

.menu {
    display:none;
    margin-left:auto;
    border:0;
    background:none;
    font-size:26px
}


.eyebrow {
    font-size:12px;
    letter-spacing:2px;
    color:#f1c884;
    font-weight:700
}


.script {
    font-family:'Playfair Display',serif;
    font-style:italic;
    font-size:34px;
    color:white
}


.seal {
    position:absolute;
    right:30px;
    bottom:28px;
    z-index:2;
    background:var(--green);
    border:2px solid #e8c78c;
    width:95px;
    height:95px;
    border-radius:50%;
    display:grid;
    place-items:center;
    text-align:center;
    font-size:12px;
    font-weight:800
}

.numbers {
    background:#fff9f0;
    border-bottom:1px solid #e9dfd1
}

.number-grid {
    display:grid;
    grid-template-columns:repeat(5,1fr)
}

.number-grid article {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    padding:25px 15px;
    border-right:1px solid #dfd2c3;
    color:#8e1114
}

.number-grid article:last-child {
    border:0
}

.number-grid article>b {
    font-size:26px
}

.number-grid span {
    font-weight:800
}

.number-grid small {
    font-weight:500;
    color:#756b61
}

.split {
    display:grid;
    grid-template-columns:1fr 1fr;
    background:#fff
}

.photo {
    min-height:470px;
    background-size:cover;
    background-position:center
}

.founder {
    background-image:linear-gradient(#0001,#0004),url('/franquias/img/Sabores-do-Nonno-Massas-nhoque-franquias-de-massas-a.png');
    position:relative
}

.quote {
    position:absolute;
    left:50%;
    top:12%;
    max-width:250px;
    color:#fff;
    font-family:'Playfair Display',serif;
    font-style:italic;
    font-size:29px
}

.split .content {
    padding:60px max(7%,40px)
}

.benefits {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:26px;
    margin:32px 0
}

.benefits span {
    display:flex;
    gap:10px;
    color:#a80e12
}

.benefits b {
    color:var(--ink)
}

.products {
    display:grid;
    grid-template-columns:.85fr 1.65fr;
    gap:35px;
    padding:65px 0
}

.product-intro h2 {
    font-size:2.6rem
}

.outline {
    display:inline-block;
    border:1.5px solid var(--green);
    border-radius:25px;
    padding:13px 22px;
    font-size:12px;
    font-weight:800;
    margin-top:15px
}

.product-cards {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px
}

.product-cards img {
    width: 100%;
    height: 190px;
    object-fit: cover;
    object-position: center;
    border-radius: 9px;
}

.product-cards b, .product-cards small {
    display:block;
    padding:7px 6px 0
}

.product-cards small {
    padding-top:0;
    color:#766
}

.operation {
    background:linear-gradient(100deg,#06422c,#00623d);
    color:#fff
}

.operation-grid {
    display:grid;
    grid-template-columns:1fr .85fr .7fr;
    align-items:stretch
}

.operation-grid>div:first-child {
    padding:55px 30px 55px 0
}

.store img {
    height:100%;
    object-fit:cover
}

.operation ul {
    margin:28px 0;
    padding:30px;
    background:#fff;
    color:#183326;
    border-radius:12px;
    align-self:center;
    list-style:'✓  '
}

.operation li {
    margin:17px 0;
    font-weight:700
}

.why {
    padding:65px 0
}

.why>h2 {
    text-align:center
}

.why-grid {
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:14px
}

.why article {
    background:#fff;
    border-radius:12px;
    padding:25px 15px;
    text-align:center;
    box-shadow:var(--shadow)
}

.why i {
    display:block;
    font-style:normal;
    font-size:30px;
    color:var(--red);
    height:42px
}

.why b, .why small {
    display:block
}

.why small {
    margin-top:8px;
    color:#6e6a65
}

.history {
    display:grid;
    grid-template-columns:1fr 1fr .72fr;
    gap:40px;
    align-items:center;
    padding:45px 0 65px
}

.history-photo {
    position:relative;
    transform:rotate(-2deg);
    background:#e9d6bb;
    padding:10px;
    box-shadow:var(--shadow)
}

.history-photo img {
    filter:sepia(.45)
}

.history-photo span {
    position:absolute;
    right:5%;
    bottom:8%;
    background:#fff8e9;
    padding:15px;
    font-family:'Playfair Display',serif;
    font-style:italic
}

.timeline p {
    border-left:3px solid var(--green);
    padding:0 0 15px 18px;
    margin:0
}

.timeline p:before {
    content:'●';
    margin-left:-26px;
    margin-right:10px;
    color:var(--green)
}

.timeline b {
    display:block
}

.timeline .red, .timeline .red:before {
    color:var(--red)
}

.steps {
    text-align:center;
    padding:35px 0 65px
}

.step-grid {
    display:grid;
    grid-template-columns:repeat(5,1fr);
    background:#fff;
    border-radius:12px;
    box-shadow:var(--shadow)
}

.step-grid article {
    padding:25px 18px;
    position:relative;
    border-right:1px solid #ddd
}

.step-grid article:last-child {
    border:0
}

.step-grid article>b {
    display:grid;
    place-items:center;
    margin:-38px auto 12px;
    width:34px;
    height:34px;
    border-radius:50%;
    background:var(--red);
    color:white
}

.step-grid h3 {
    font-family:'DM Sans';
    font-size:16px;
    margin:0
}

.step-grid p {
    font-size:13px;
    color:#777
}

.testimonials {
    background:linear-gradient(#9e0c10,#74070a);
    padding:35px 0 45px;
    color:white
}

.testimonials h2 {
    text-align:center
}

.testimonial-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:15px
}

.testimonial-grid blockquote {
    margin:0;
    background:#fff;
    color:#222;
    padding:25px;
    border-radius:12px;
    line-height:1.5
}

.testimonial-grid footer {
    margin-top:15px
}

.faq {
    display:grid;
    grid-template-columns:.7fr 1.3fr;
    gap:70px;
    padding:65px 0
}

.accordion details {
    background:white;
    border-bottom:1px solid #ddd;
    padding:15px 18px
}

.accordion summary {
    font-weight:600;
    cursor:pointer
}

.lead {
    background:linear-gradient(90deg,#35190be8,#6d3214bb),url('https://images.unsplash.com/photo-1476124369491-e7addf5db371?auto=format&fit=crop&w=1600&q=85') center/cover;
    color:#fff;
    padding:55px 0
}

.lead-grid {
    display:grid;
    grid-template-columns:1fr .85fr;
    gap:70px;
    align-items:center
}

.lead h2 {
    color:#f1c57e
}

.lead .script {
    text-align:right;
    display:block;
    margin-top:20px
}

.lead form {
    background:#ffffffed;
    padding:22px;
    border-radius:12px;
    color:#222;
    box-shadow:0 15px 40px #0004
}

.fields {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px
}

.lead input, .lead select {
    width:100%;
    padding:14px;
    border:1px solid #d4d9d6;
    border-radius:7px;
    background:#fff;
    font:inherit
}

.lead select {
    margin:10px 0
}

.lead form .btn {
    width:100%
}

.lead form small {
    display:block;
    text-align:center;
    margin-top:8px
}

.form-msg {
    text-align:center;
    margin-top:8px;
    color:var(--green);
    font-weight:700
}

.footer {
    background:#003d29;
    color:#fff;
    padding:32px 0
}

.footer .container {
    display:grid;
    grid-template-columns:180px 1fr auto auto;
    align-items:center;
    gap:35px
}

.footer-brand {
    font-size:14px
}

.footer small {
    opacity:.85
}

@media(max-width:900px) {
    .topbar {
        height:68px
    }

    .nav nav {
        display:none;
        position:absolute;
        left:0;
        right:0;
        top:68px;
        background:#fff;
        flex-direction:column;
        padding:20px
    }

    .nav nav.open {
        display:flex
    }

    .menu {
        display:block
    }

    .nav>.btn {
        display:none
    }

    .split, .products, .operation-grid, .history, .faq, .lead-grid {
        grid-template-columns:1fr
    }

    

    

    .number-grid {
        grid-template-columns:1fr 1fr
    }

    .number-grid article:last-child {
        grid-column:1/-1
    }

    .product-cards {
        grid-template-columns:1fr 1fr
    }

    .why-grid {
        grid-template-columns:repeat(2,1fr)
    }

    .operation-grid>div:first-child {
        padding:45px 0
    }

    .operation ul {
        margin:25px 0
    }

    .step-grid {
        grid-template-columns:1fr
    }

    .step-grid article {
        border-right:0;
        border-bottom:1px solid #ddd
    }

    .step-grid article>b {
        margin:0 auto 12px
    }

    .testimonial-grid {
        grid-template-columns:1fr
    }

    .footer .container {
        grid-template-columns:1fr;
        text-align:center
    }

    .brand {
        margin:auto
    }

}

@media(max-width:560px) {
    .container {
        width:min(92%,520px)
    }

    

    

    .number-grid {
        grid-template-columns:1fr
    }

    .number-grid article {
        border-right:0;
        border-bottom:1px solid #eee;
        justify-content:flex-start
    }

    .benefits, .fields {
        grid-template-columns:1fr
    }

    .product-cards {
        grid-template-columns:1fr 1fr
    }

    .product-cards img {
        height:160px
    }

    .why-grid {
        grid-template-columns:1fr 1fr
    }

    .why article {
        padding:18px 10px
    }

    .history {
        gap:25px
    }

    .lead-grid {
        gap:25px
    }

    .split .content {
        padding:45px 6%
    }

}

/* ===== V2 — refinamento visual fiel à referência ===== */
body {
    background:#f8f2e8;
    font-size:15px
}

.container {
    width:min(1240px,94%)
}

.topbar {
    height:72px;
    background:#fffaf2
}

.nav {
    gap:20px
}

.nav nav {
    gap:30px
}

.nav nav a {
    font-size:12px;
    font-weight:600
}

.brand {
    min-width:150px
}

.brand-mark {
    font-size:31px
}

.btn {
    letter-spacing:.15px
}

.btn-small {
    font-size:12px;
    padding:12px 24px
}


.seal {
    right:12%;
    bottom:24px
}

.numbers {
    box-shadow:0 5px 20px #0000000b
}

.number-grid article {
    padding:20px 12px;
    min-height:92px
}

.number-grid span {
    font-size:14px
}

.number-grid small {
    font-size:11px
}

.split {
    min-height:460px
}

.founder {
    min-height:460px;
    background-position:center 22%
}

.split .content {
    padding:52px 8%
}

.split .content h2 {
    font-size:38px
}

.split .content p {
    font-size:14px
}

.benefits {
    gap:22px 34px;
    margin:26px 0
}

.benefits span {
    font-size:13px
}

.products {
    padding:44px 0;
    grid-template-columns:31fr 69fr;
    gap:26px
}

.product-intro h2 {
    font-size:37px
}

.product-intro p {
    font-size:14px
}

.product-cards {
    gap:8px
}

.product-cards img {
    height:218px;
    border-radius:9px
}

.product-cards b {
    font-size:13px
}

.product-cards small {
    font-size:11px
}

.operation-grid {
    grid-template-columns:44fr 32fr 24fr;
    min-height:300px
}

.operation-grid>div:first-child {
    padding:42px 40px 42px 0
}

.operation h2 {
    font-size:37px;
    color:#f0c67e
}

.operation p {
    font-size:14px
}

.operation ul {
    margin:23px 0 23px 18px;
    padding:20px 18px;
    font-size:12px
}

.operation li {
    margin:15px 0
}

.why {
    padding:38px 0 48px
}

.why>h2 {
    font-size:36px;
    margin-bottom:25px
}

.why-grid {
    gap:11px
}

.why article {
    padding:19px 10px;
    min-height:132px
}

.why i {
    font-size:27px
}

.why b {
    font-size:13px
}

.why small {
    font-size:11px
}

.history {
    padding:32px 0 52px;
    grid-template-columns:31fr 42fr 27fr;
    gap:28px
}

.history h2 {
    font-size:37px
}

.history p {
    font-size:13px
}

.history-photo {
    max-width:450px;
    margin:auto
}

.timeline h3 {
    font-size:20px
}

.timeline p {
    font-size:11px;
    padding-bottom:10px
}

.steps {
    padding:22px 0 42px
}

.steps h2 {
    font-size:35px
}

.step-grid article {
    padding:19px 12px
}

.step-grid article>b {
    width:31px;
    height:31px
}

.step-grid p {
    margin-bottom:0
}

.testimonials {
    padding:25px 0 34px
}

.testimonials h2 {
    font-size:34px
}

.testimonial-grid {
    gap:10px
}

.testimonial-grid blockquote {
    padding:18px 20px;
    font-size:12px;
    min-height:160px
}

.faq {
    padding:43px 0;
    grid-template-columns:36fr 64fr;
    gap:40px
}

.faq h2 {
    font-size:34px
}

.accordion details {
    padding:11px 15px;
    font-size:12px
}

.lead {
    padding:42px 0
}

.lead-grid {
    grid-template-columns:56fr 44fr;
    gap:35px
}

.lead h2 {
    font-size:40px;
    max-width:540px
}

.lead p {
    max-width:540px;
    font-size:14px
}

.lead form {
    padding:17px
}

.lead input, .lead select {
    padding:12px;
    font-size:12px
}

.footer {
    padding:24px 0
}

.footer .container {
    grid-template-columns:180px 1fr auto auto
}

.footer strong {
    font-size:14px
}

@media(max-width:900px) {
    

    

    

    .products {
        grid-template-columns:1fr
    }

    .operation-grid, .history, .faq, .lead-grid {
        grid-template-columns:1fr
    }

    .operation-grid>div:first-child {
        padding:38px 0
    }

    .operation ul {
        margin:20px 0
    }

    .why-grid {
        grid-template-columns:repeat(3,1fr)
    }

}

@media(max-width:560px) {
    

    

    .why-grid {
        grid-template-columns:1fr 1fr
    }

    .product-cards {
        grid-template-columns:1fr 1fr
    }

    .product-cards img {
        height:145px
    }

    .lead h2 {
        font-size:34px
    }

}

/* ===== CORREÇÃO FINAL DO CABEÇALHO/HERO ===== */
.topbar {
    height:88px !important;
    min-height:88px !important;
    background:#fffaf2 !important;
    overflow:visible !important;
}

.topbar .nav {
    height:88px !important;
    min-height:88px !important;
    display:flex !important;
    align-items:center !important;
    gap:22px !important;
}

.brand-logo {
    width:116px !important;
    min-width:116px !important;
    height:82px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    overflow:hidden !important;
    position:relative !important;
    z-index:40 !important;
}

.brand-logo img {
    display:block !important;
    width:108px !important;
    height:76px !important;
    max-width:108px !important;
    max-height:76px !important;
    object-fit:contain !important;
    object-position:center !important;
    margin:0 !important;
    transform:none !important;
}

.topbar .nav nav {
    display:flex;
    align-items:center;
    gap:26px;
    margin-left:auto;
}

.topbar .nav nav a {
    font-size:12px;
    font-weight:700;
    line-height:1.2;
    white-space:nowrap;
}

.topbar .nav nav a.active {
    color:var(--red)
}

.topbar .nav>.btn {
    margin-left:4px
}


@media(max-width:1050px) {
    .topbar .nav nav {
        gap:15px
    }

    .topbar .nav nav a {
        font-size:11px
    }

    .topbar .nav>.btn {
        padding:12px 17px
    }

}

@media(max-width:900px) {
    .topbar, .topbar .nav {
        height:70px !important;
        min-height:70px !important
    }

    .brand-logo {
        width:88px !important;
        min-width:88px !important;
        height:66px !important
    }

    .brand-logo img {
        width:82px !important;
        height:58px !important;
        max-width:82px !important;
        max-height:58px !important
    }

    .topbar .nav nav {
        top:70px
    }

    

    

    

}

/* =========================================================
   HERO — DEFINIÇÃO ÚNICA
   ========================================================= */
.hero {
    background:#063c29;
    color:#fff;
    overflow:hidden;
    clear:both;
    position:relative;
    z-index:1;
}

.hero-grid {
    display:grid;
    grid-template-columns:46% 54%;
    height:500px;
    min-height:500px;
}

.hero-copy {
    height:500px;
    padding:28px 40px 25px 0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    position:relative;
    z-index:3;
}

.hero h1 {
    font-size:clamp(36px,3vw,46px);
    line-height:1;
    letter-spacing:-1.2px;
    max-width:520px;
    margin:10px 0 15px;
}

.hero h1 em {
    font-style:normal;
    color:#e4b967;
}

.hero-copy p {
    max-width:510px;
    margin:0 0 14px;
    font-size:14px;
    line-height:1.4;
    color:#f6eee3;
}

.hero-copy .btn {
    padding:12px 22px;
    min-height:44px;
}

.hero-copy small {
    display:block;
    margin-top:7px;
    font-size:11px;
    opacity:.85;
}

.hero-food {
    position:relative;
    height:500px;
    min-height:500px;
    margin-right:calc((100vw - min(1240px,94vw))/ -2);
}

.hero-food img {
    width:100%;
    height:500px;
    object-fit:cover;
    object-position:center 52%;
}

.hero-food:after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,#063c29 0%,#063c2980 13%,transparent 38%,#0002 100%);
}

.hero-food .script {
    position:absolute;
    right:18%;
    top:40px;
    z-index:2;
    font-size:34px;
    transform:rotate(-5deg);
}

@media (max-width:900px) {
    .hero-grid {
        grid-template-columns:1fr;
        height:auto;
        min-height:0;
    }

    .hero-copy {
        height:auto;
        padding:38px 0;
    }

    .hero-food {
        height:320px;
        min-height:320px;
        margin-right:0;
    }

    .hero-food img {
        height:320px;
    }
}

@media (max-width:560px) {
    .hero h1 {
        font-size:38px;
    }

    .hero-copy {
        padding:32px 0;
    }

    .hero-food,
    .hero-food img {
        height:280px;
        min-height:280px;
    }

    .hero-food .script {
        font-size:26px;
    }
}



/* =========================================================
   AJUSTES FINAIS DE ESPAÇAMENTO E OPERAÇÃO
   ========================================================= */
.split .content {
    padding-top:72px;
    padding-bottom:72px;
}

.products {
    padding:90px 0 95px;
    grid-template-columns:30fr 70fr;
    gap:48px;
}

.product-intro {
    padding-right:8px;
}

.product-intro h2 {
    margin-bottom:20px;
}

.product-intro p {
    margin-bottom:20px;
}

.product-cards {
    gap:18px;
    align-items:start;
}

.product-cards article {
    min-width:0;
}

.product-cards img {
    height:245px;
    border-radius:14px;
    box-shadow:0 8px 24px #00000010;
}

.product-cards b {
    padding-top:11px;
    font-size:14px;
}

.product-cards small {
    font-size:12px;
    line-height:1.4;
}

.operation {
    padding:0;
    margin:0;
}

.operation-grid {
    grid-template-columns:1.05fr .82fr 1fr;
    gap:34px;
    min-height:440px;
    align-items:center;
}

.operation-grid>div:first-child {
    padding:78px 10px 78px 0;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.operation h2 {
    margin-bottom:22px;
    line-height:1.04;
}

.operation p {
    max-width:510px;
    margin:0 0 24px;
    line-height:1.65;
}

.operation .store {
    height:100%;
    min-height:440px;
    overflow:hidden;
}

.operation .store img {
    width:100%;
    height:100%;
    min-height:440px;
    object-fit:cover;
    object-position:center;
}

.operation-benefits {
    display:block;
    align-self:center;
    background:#fff;
    color:#17261e;
    border-radius:18px;
    padding:30px 28px;
    margin:45px 0;
    box-shadow:0 18px 45px rgba(0,0,0,.16);
    list-style:none;
}

.operation-label {
    display:block;
    color:#a60e12;
    font-size:11px;
    line-height:1;
    letter-spacing:1.5px;
    font-weight:800;
    margin:0 0 14px;
}

.operation-benefits article {
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    gap:13px;
    padding:13px 0;
    border-bottom:1px solid #eee4d7;
    align-items:start;
}

.operation-benefits article:last-child {
    border-bottom:0;
    padding-bottom:0;
}

.operation-benefits article:first-of-type {
    padding-top:0;
}

.operation-icon {
    display:grid;
    width:36px;
    height:36px;
    place-items:center;
    border-radius:50%;
    background:#f9ece8;
    color:#a60e12;
    font-weight:800;
}

.operation-benefits b,
.operation-benefits small {
    display:block;
}

.operation-benefits b {
    font-size:14px;
    line-height:1.25;
    margin:0 0 4px;
    color:#17261e;
}

.operation-benefits small {
    font-size:11px;
    line-height:1.45;
    color:#706b65;
}

.why {
    padding:90px 0;
}

.why>h2 {
    margin-bottom:42px;
}

.why-grid {
    gap:18px;
}

.why article {
    padding:28px 14px;
    min-height:150px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.history {
    padding:85px 0 105px;
    gap:48px;
    grid-template-columns:31fr 41fr 28fr;
}

.history h2 {
    margin-bottom:22px;
}

.history p {
    line-height:1.65;
}

.steps {
    padding:60px 0 90px;
}

.steps h2 {
    margin-bottom:42px;
}

.step-grid article {
    padding:28px 18px 26px;
}

.testimonials {
    padding:55px 0 65px;
}

.testimonials h2 {
    margin-bottom:32px;
}

.testimonial-grid {
    gap:20px;
}

.testimonial-grid blockquote {
    padding:26px;
    min-height:170px;
}

.faq {
    padding:85px 0;
    grid-template-columns:36fr 64fr;
    gap:70px;
}

.accordion details {
    padding:16px 18px;
}

.lead {
    padding:75px 0;
}

.lead-grid {
    grid-template-columns:56fr 44fr;
    gap:60px;
}

.lead form {
    padding:24px;
    border-radius:16px;
}

/* Os itens dos grids podem encolher sem ultrapassar o container. */
.products>*,
.operation-grid>*,
.history>*,
.faq>*,
.lead-grid>* {
    min-width:0;
}

@media(max-width:1050px) {
    .operation-grid {
        grid-template-columns:1fr .85fr 1fr;
        gap:22px;
    }

    .operation-benefits {
        padding:22px 18px;
    }
}

@media(max-width:900px) {
    .products {
        padding:65px 0;
        gap:32px;
    }

    .operation-grid {
        grid-template-columns:1fr;
        gap:0;
    }

    .operation-grid>div:first-child {
        padding:60px 0 40px;
    }

    .operation .store,
    .operation .store img {
        min-height:360px;
        height:360px;
    }

    .operation-benefits {
        width:100%;
        margin:32px 0 60px;
    }

    .why,
    .history,
    .faq {
        padding-top:60px;
        padding-bottom:70px;
    }

    .history {
        gap:40px;
    }

    .steps {
        padding:45px 0 68px;
    }

    .faq {
        gap:35px;
    }
}

@media(max-width:560px) {
    .products {
        padding:52px 0 58px;
    }

    .product-cards {
        gap:12px;
    }

    .product-cards img {
        height:165px;
    }

    .operation-grid>div:first-child {
        padding:48px 0 34px;
    }

    .operation .store,
    .operation .store img {
        min-height:300px;
        height:300px;
    }

    .operation-benefits {
        padding:24px 20px;
        margin-bottom:48px;
    }

    .why {
        padding:52px 0;
    }

    .history {
        padding:48px 0 65px;
    }

    .steps {
        padding:40px 0 60px;
    }

    .testimonials {
        padding:42px 0 50px;
    }

    .faq {
        padding:52px 0;
    }

    .lead {
        padding:58px 0;
    }
}

/* ===== ÍCONES SVG PROFISSIONAIS — V8 ===== */
.metric-icon{width:46px;height:46px;min-width:46px;border-radius:50%;background:#a60e1210;display:grid!important;place-items:center;color:var(--red)!important}
.metric-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.number-grid article{gap:15px}
.number-grid article>span{line-height:1.35}
.benefits span{align-items:center;gap:14px}
.benefit-icon{width:42px;height:42px;min-width:42px;border-radius:50%;background:#a60e1210;display:grid;place-items:center;color:var(--red);font-style:normal}
.benefit-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.why-icon{width:48px!important;height:48px!important;margin:0 auto 13px;border-radius:50%;background:#a60e1210;display:grid!important;place-items:center;color:var(--red)!important}
.why-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.why article{padding-top:24px}
@media(max-width:560px){.metric-icon{width:40px;height:40px;min-width:40px}.metric-icon svg{width:22px;height:22px}.benefit-icon{width:38px;height:38px;min-width:38px}}

