:root{--ink:#171717;--paper:#fffdf8;--warm:#f4efe5;--gold:#d9a900;--muted:#6f6b64;--border:rgba(23,23,23,.1);--radius:24px;--max:1320px;--pad:clamp(22px,4vw,72px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto}a{color:inherit}.site-header{position:sticky;top:0;z-index:100;border-bottom:1px solid var(--border);background:rgba(255,253,248,.96);backdrop-filter:blur(14px)}.admin-bar .site-header{top:32px}.site-header__inner{width:100%;min-height:132px;margin:0;padding:16px clamp(28px,5vw,84px);display:flex;align-items:center;justify-content:space-between;gap:clamp(32px,5vw,84px)}.site-branding,.site-branding__link,.custom-logo-link{display:flex;align-items:center}.site-branding{flex:0 0 auto}.site-branding__link{text-decoration:none}.custom-logo{display:block;width:clamp(360px,29vw,500px);max-width:500px;height:auto;max-height:112px;object-fit:contain;object-position:left center}.site-branding__name{font-size:2rem;font-weight:700;letter-spacing:-.04em}.primary-nav__list,.primary-nav .menu{display:flex;align-items:center;gap:clamp(18px,2vw,34px);margin:0;padding:0;list-style:none}.primary-nav a{position:relative;display:inline-block;padding:10px 0;text-decoration:none;font-size:.98rem;font-weight:550}.primary-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:2px;background:var(--gold);transition:right .18s ease}.primary-nav a:hover:after,.primary-nav .current-menu-item>a:after,.primary-nav .current_page_item>a:after{right:0}.nav-toggle{display:none;border:0;background:transparent;color:var(--ink);cursor:pointer}.nav-toggle__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.nav-toggle__icon,.nav-toggle__icon:before,.nav-toggle__icon:after{display:block;width:28px;height:2px;background:currentColor;content:"";transition:transform .18s ease}.nav-toggle__icon{position:relative}.nav-toggle__icon:before{position:absolute;top:-8px}.nav-toggle__icon:after{position:absolute;top:8px}.site-main{min-height:60vh}.hero{position:relative;isolation:isolate;min-height:clamp(620px,76vh,860px);display:grid;align-items:end;overflow:hidden;background:radial-gradient(circle at 15% 20%,rgba(217,169,0,.18),transparent 40%),linear-gradient(135deg,#211f1c 0%,#111 72%);color:#fff}.hero--image{background-image:linear-gradient(90deg,rgba(16,16,16,.76) 0%,rgba(16,16,16,.46) 48%,rgba(16,16,16,.22) 100%),var(--hero-image);background-size:cover;background-position:center}.hero__overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.12) 100%)}.hero__inner{width:min(100%,var(--max));margin:0 auto;padding:clamp(120px,16vh,180px) var(--pad) clamp(76px,10vh,120px)}.eyebrow{margin:0 0 18px;color:var(--gold);font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.hero h1,.page-header h1,.page-hero h1,.section-heading h2,.section h2{margin:0;letter-spacing:-.045em;line-height:.98}.hero h1{max-width:900px;font-size:clamp(3rem,7vw,7rem)}.hero__lead{max-width:720px;margin:28px 0 0;color:rgba(255,255,255,.82);font-size:clamp(1.05rem,1.6vw,1.35rem)}.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border:1px solid transparent;border-radius:999px;text-decoration:none;font-weight:700;transition:transform .16s ease,background .16s ease,color .16s ease}.button:hover{transform:translateY(-1px)}.button--primary{background:var(--gold);color:#111}.button--ghost{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.04)}.button--light{background:#fff;color:#111}.section{padding:clamp(76px,9vw,132px) 0}.section__inner{width:min(100%,var(--max));margin:0 auto;padding:0 var(--pad)}.section__inner--narrow{max-width:920px}.section-heading{display:grid;gap:12px;margin-bottom:44px}.section-heading h2,.section h2{font-size:clamp(2.2rem,4vw,4.7rem)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.feature-card{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:#fff}.feature-card__media{display:block;aspect-ratio:4/3;background-size:cover;background-position:center}.feature-card__media--plain{background:radial-gradient(circle at 30% 35%,rgba(217,169,0,.32),transparent 34%),linear-gradient(135deg,#26231e,#111)}.feature-card__body{padding:28px}.feature-card__body h3{margin:0 0 12px;font-size:1.55rem}.feature-card__body h3 a{text-decoration:none}.feature-card__body p{color:var(--muted)}.text-link{display:inline-block;margin-top:8px;color:var(--ink);font-weight:750;text-decoration:none}.section--dark{background:#171717;color:#fff}.section--dark p:not(.eyebrow){color:rgba(255,255,255,.74)}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,8vw,120px);align-items:start}.section--contact{background:var(--warm)}.contact-cta{display:flex;align-items:center;justify-content:space-between;gap:36px}.page-header{width:min(100%,var(--max));margin:0 auto;padding:clamp(90px,10vw,150px) var(--pad) 54px}.page-header h1{font-size:clamp(3rem,7vw,6.5rem)}.page-hero{position:relative;min-height:58vh;display:flex;align-items:end;background-size:cover;background-position:center;color:#fff}.page-hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.66))}.page-hero__inner{position:relative;width:min(100%,var(--max));margin:0 auto;padding:80px var(--pad)}.page-hero h1{font-size:clamp(3rem,7vw,6.5rem)}.page-content{width:min(100%,920px);margin:0 auto;padding:70px var(--pad) 110px}.page-content>*:first-child{margin-top:0}.site-footer{border-top:1px solid var(--border);background:#111;color:#fff}.site-footer__inner{width:min(100%,var(--max));margin:0 auto;padding:64px var(--pad) 46px;display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:start}.site-footer .custom-logo{filter:brightness(0) invert(1);width:190px;max-height:68px}.site-footer__brand p{max-width:420px;color:rgba(255,255,255,.65)}.footer-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:18px 26px;margin:0;padding:0;list-style:none}.footer-nav a{color:rgba(255,255,255,.82);text-decoration:none}.footer-nav a:hover{color:var(--gold)}.site-footer__bottom{width:min(100%,var(--max));margin:0 auto;padding:20px var(--pad) 34px;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.5);font-size:.88rem}.post-card+.post-card{margin-top:46px}@media(max-width:900px){.admin-bar .site-header{top:46px}.site-header__inner{min-height:104px;gap:24px}.custom-logo{width:clamp(260px,42vw,360px);max-height:90px}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px}.primary-nav{position:absolute;left:0;right:0;top:100%;display:none;padding:16px var(--pad) 28px;border-bottom:1px solid var(--border);background:var(--paper)}.primary-nav.is-open{display:block}.primary-nav__list,.primary-nav .menu{align-items:stretch;flex-direction:column;gap:2px}.primary-nav a{display:block;padding:12px 0;font-size:1.05rem}.feature-grid,.split,.site-footer__inner{grid-template-columns:1fr}.footer-nav{justify-content:flex-start}.contact-cta{align-items:flex-start;flex-direction:column}}@media(max-width:600px){:root{--pad:22px}.site-header__inner{min-height:86px;padding-top:10px;padding-bottom:10px}.custom-logo{width:min(260px,58vw);max-height:70px}.hero{min-height:650px}.hero__inner{padding-top:110px;padding-bottom:68px}.hero h1{font-size:clamp(2.8rem,15vw,4.8rem)}.section{padding:72px 0}.feature-card__body{padding:24px}}


.section--cards {
    background: #fffdf8;
}

.section-heading--row {
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
    align-items: end;
    gap: clamp(28px, 6vw, 90px);
}

.section-heading__copy {
    margin: 0 0 6px;
    color: var(--panetto-muted);
    font-size: 1.04rem;
}

.feature-card__media--empresa {
    background:
        linear-gradient(135deg, rgba(217,169,0,.18), transparent 55%),
        linear-gradient(145deg, #2b2823, #111);
}

.feature-card__media--produtos {
    background:
        radial-gradient(circle at 68% 42%, rgba(217,169,0,.35), transparent 28%),
        linear-gradient(135deg, #3a3120, #171717 70%);
}

.feature-card__media--qualidade {
    background:
        linear-gradient(160deg, rgba(255,255,255,.06), transparent 40%),
        linear-gradient(135deg, #262626, #0e0e0e);
}

.craft {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
    min-height: 660px;
    background: #171717;
    color: #fff;
}

.craft__media {
    min-height: 660px;
    background:
        linear-gradient(90deg, transparent 65%, rgba(23,23,23,.18) 100%),
        url('../images/saber-fazer.jpg') center center / cover no-repeat;
}

.craft__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(58px, 8vw, 118px);
}

.craft__content h2 {
    max-width: 620px;
    margin: 0;
    font-size: clamp(2.4rem, 4.8vw, 5.2rem);
    line-height: 1;
    letter-spacing: -0.045em;
}

.craft__content p:not(.eyebrow) {
    max-width: 620px;
    margin: 28px 0 0;
    color: rgba(255,255,255,.72);
    font-size: 1.08rem;
}

.text-link--light {
    margin-top: 26px;
    color: #fff;
}

@media (max-width: 900px) {
    .section-heading--row,
    .craft {
        grid-template-columns: 1fr;
    }

    .craft__media {
        min-height: 500px;
    }

    .craft__content {
        padding: 64px var(--panetto-pad) 76px;
    }
}

@media (max-width: 600px) {
    .hero h1 {
        max-width: 520px;
        font-size: clamp(3rem, 15vw, 4.7rem);
    }

    .craft__media {
        min-height: 360px;
    }
}

/* Panetto v0.6.0: restored full stylesheet; logo desktop capped at 500px. */

/* =========================================================
   PANETTO v0.14 — ORIGINAL VISUAL ALIGNMENT
   Consolidated header + homepage hero
   ========================================================= */

.site-header__inner {
    min-height: 112px;
    padding: 16px clamp(34px, 4vw, 64px);
    gap: clamp(28px, 4vw, 64px);
}

.panetto-logo {
    display: block;
    width: 270px;
    max-width: 270px;
    height: auto;
    object-fit: contain;
    object-position: left center;
}

.header-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 12px;
    margin-left: auto;
}

.header-utility {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 20px;
    width: 100%;
}

.primary-nav__list {
    gap: clamp(22px, 2vw, 34px);
}

.primary-nav a {
    padding: 9px 0;
    font-size: .91rem;
    font-weight: 750;
    letter-spacing: .075em;
    text-transform: uppercase;
    white-space: nowrap;
}

.jobs-link {
    color: var(--gold);
    text-decoration: none;
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .10em;
    text-transform: uppercase;
    white-space: nowrap;
}

.language-switcher {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    font-size: .70rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.language-switcher__item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: currentColor;
    text-decoration: none;
}

.language-switcher__item img {
    width: 22px;
    height: 15px;
    object-fit: cover;
}

/* Homepage: header integrado na fotografia */
.home .site-header,
.front-page .site-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 120;
    background: transparent;
    border-bottom: 0;
    backdrop-filter: none;
    color: #fff;
}

.admin-bar.home .site-header,
.admin-bar.front-page .site-header {
    top: 32px;
}

.home .site-header__inner,
.front-page .site-header__inner {
    min-height: 126px;
    padding-top: 22px;
    padding-bottom: 18px;
}

.home .primary-nav a,
.front-page .primary-nav a,
.home .language-switcher,
.front-page .language-switcher {
    color: #fff;
}

.home .primary-nav a:hover,
.front-page .primary-nav a:hover,
.home .primary-nav .current-menu-item > a,
.front-page .primary-nav .current-menu-item > a {
    color: var(--gold);
}

/* Hero */
.home .hero,
.front-page .hero {
    height: 100svh;
    min-height: 100svh;
    display: flex;
    align-items: flex-end;

    overflow: visible;
}

.home .hero--image,
.front-page .hero--image {
    background-image:
        linear-gradient(
            90deg,
            rgba(12,12,12,.48) 0%,
            rgba(12,12,12,.35) 48%,
            rgba(12,12,12,.22) 100%
        ),
        var(--hero-image) !important;
    background-size: cover;
    background-position: center center;
}

.home .hero__overlay,
.front-page .hero__overlay {
    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,.08) 0%,
            rgba(0,0,0,.03) 50%,
            rgba(0,0,0,.26) 100%
        ) !important;
}

/* Composição inspirada no site original */
.hero-reference {
    position: relative;
    z-index: 2;
    width: min(100%, 1500px);
    margin: 0 auto;
    padding:
        clamp(150px, 18vh, 210px)
        clamp(46px, 7vw, 120px)
        clamp(44px, 6vh, 82px);
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(440px, 570px);
    gap: clamp(70px, 9vw, 150px);
    align-items: end;
}

.hero-reference__statement {
    max-width: 520px;
    color: #fff;
    padding-bottom: 8px;
}

.hero-reference__statement h1 {
    margin: 0 0 12px;
    max-width: 520px;
    color: #fff;
    font-size: clamp(1.12rem, 1.55vw, 1.55rem);
    line-height: 1.18;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.hero-reference__statement p {
    margin: 0;
    max-width: 500px;
    color: rgba(255,255,255,.94);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.05rem, 1.35vw, 1.28rem);
    line-height: 1.28;
}

.hero-reference__card {
    padding: clamp(28px, 3.2vw, 42px);
    background: rgba(249,242,229,.96);
    color: #4b4843;
    box-shadow: 0 18px 50px rgba(0,0,0,.18);

    position: relative;
    z-index: 4;
    transform: translateY(clamp(180px, 20vh, 260px));
}

.hero-reference__card h2 {
    margin: 0 0 18px;
    color: #34322f;
    font-size: clamp(1.25rem, 1.7vw, 1.75rem);
    line-height: 1.1;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.hero-reference__card p {
    margin: 0 0 16px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.02rem;
    line-height: 1.62;
}

.hero-reference__link {
    display: inline-block;
    margin-top: 4px;
    color: #8d6c00;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .78rem;
}

/* Página interna: logo mais pequeno e nítido */
body:not(.home) .panetto-logo,
body:not(.front-page) .panetto-logo {
    width: 270px;
    max-width: 270px;
}

/* Loja mantém destaque, mas menos dominante */
.primary-nav .menu-item--loja {
    margin-left: 12px;
}

.primary-nav .menu-item--loja > a {
    padding: 9px 17px;
    border-radius: 999px;
    background: var(--gold);
    color: #fff !important;
}

.primary-nav .menu-item--loja > a::after {
    display: none;
}

@media (max-width: 1100px) {
    .panetto-logo {
        width: 230px;
        max-width: 230px;
    }

    .primary-nav__list {
        gap: 17px;
    }

    .primary-nav a {
        font-size: .82rem;
    }

    .hero-reference {
        grid-template-columns: 1fr 440px;
        gap: 48px;
        padding-left: 42px;
        padding-right: 42px;
    }
}

@media (max-width: 900px) {
    .site-header__inner {
        min-height: 92px;
    }

    .panetto-logo {
        width: min(220px, 52vw);
    }

    .home .site-header,
    .front-page .site-header {
        background: rgba(18,18,18,.72);
        backdrop-filter: blur(10px);
    }

    .header-actions {
        align-items: flex-end;
    }

    .primary-nav {
        background: #171717;
        color: #fff;
    }

    .hero-reference {
        grid-template-columns: 1fr;
        gap: 26px;
        padding:
            clamp(118px, 16vh, 150px)
            24px
            32px;
    }

    .hero-reference__statement,
    .hero-reference__card {
        max-width: 620px;
    }
}

@media (max-width: 600px) {
    .hero-reference__card {
        padding: 24px;
    }

    .hero-reference__statement h1 {
        font-size: 1rem;
    }

    .hero-reference__statement p {
        font-size: 1rem;
    }
}


/* Homepage company card overlap into following section */
.home .section--cards,
.front-page .section--cards {
    padding-top: clamp(300px, 30vh, 420px);
}

@media (max-width: 900px) {
    .home .hero,
    .front-page .hero {
        height: auto;
        min-height: 100svh;
    }

    .hero-reference__card {
        transform: none;
    }

    .home .section--cards,
    .front-page .section--cards {
        padding-top: 76px;
    }
}

/* v0.14.2 — precise desktop company-card vertical alignment */
@media (min-width: 1101px) {
    .hero-reference__card {
        transform: translateY(clamp(330px, 34vh, 400px));
    }

    .home .section--cards,
    .front-page .section--cards {
        padding-top: clamp(410px, 43vh, 520px);
    }
}


/* =========================================================
   PANETTO v0.15 — ESPECIALIDADES
   ========================================================= */

.specialties {
    position: relative;
    background: #fffdf8;
}

.specialties__heading {
    max-width: 760px;
    margin-bottom: 58px;
}

.specialties__heading .eyebrow {
    margin-bottom: 14px;
}

.specialties__heading h2 {
    margin: 0;
    max-width: 700px;
    font-size: clamp(2.2rem, 4.2vw, 4.6rem);
    line-height: .98;
    letter-spacing: -.04em;
}

.specialties__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(24px, 3vw, 48px);
    align-items: start;
}

.specialty-card {
    min-width: 0;
}

.specialty-card__media {
    height: clamp(260px, 25vw, 390px);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 26px;
    overflow: hidden;
}

.specialty-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.specialty-card__content {
    max-width: 390px;
}

.specialty-card__content h3 {
    margin: 0 0 14px;
    font-size: clamp(1.7rem, 2.2vw, 2.4rem);
    line-height: 1;
}

.specialty-card__content p {
    margin: 0;
    color: var(--muted);
    font-size: 1rem;
    line-height: 1.65;
}

.specialty-card__content a {
    display: inline-block;
    margin-top: 22px;
    color: #8d6c00;
    font-size: .78rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-decoration: none;
    text-transform: uppercase;
}

.specialty-card__content a:hover {
    color: var(--gold);
}

@media (max-width: 900px) {
    .specialties__grid {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .specialty-card {
        display: grid;
        grid-template-columns: minmax(220px, .9fr) 1.1fr;
        gap: 32px;
        align-items: center;
    }

    .specialty-card__media {
        height: 280px;
        margin: 0;
    }
}

@media (max-width: 600px) {
    .specialty-card {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .specialty-card__media {
        height: 250px;
    }
}


/* =========================================================
   PANETTO v0.15.1 — CATÁLOGO + CONTINUAÇÃO A PANETTO
   ========================================================= */

.catalog-company {
    position: relative;
    z-index: 1;
    background: #d8d2c7;
}

.catalog-company__inner {
    width: min(100%, 1500px);
    margin: 0 auto;
    padding:
        0
        clamp(46px, 7vw, 120px);
    display: grid;
    grid-template-columns:
        minmax(320px, 1fr)
        minmax(440px, 570px);
    gap: 0;
    align-items: start;
}

.catalog-promo {
    position: relative;
    min-height: 390px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 42px;
    overflow: hidden;
    background:
        linear-gradient(
            rgba(32,25,18,.26),
            rgba(32,25,18,.26)
        ),
        url('../images/catalogo-bg.png')
        center center / cover no-repeat;
    color: #fff;
    text-align: center;
    text-decoration: none;
}

.catalog-promo__title {
    max-width: 470px;
    font-size: clamp(1.5rem, 2.2vw, 2.15rem);
    font-weight: 650;
    line-height: 1.18;
    letter-spacing: .11em;
    text-transform: uppercase;
    text-shadow: 0 2px 14px rgba(0,0,0,.28);
}

.catalog-promo__button {
    display: inline-flex;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    margin-top: 34px;
    padding: 0 30px;
    border: 3px solid rgba(255,255,255,.9);
    color: #fff;
    font-size: .92rem;
    font-weight: 750;
    letter-spacing: .10em;
    text-transform: uppercase;
    transition:
        background .18s ease,
        color .18s ease;
}

.catalog-promo:hover .catalog-promo__button {
    background: #fff;
    color: #33291f;
}

.catalog-company__right {
    min-height: 390px;
}

/*
 * O cartão A PANETTO já atravessa o limite inferior do hero.
 * Esta faixa ocupa a coluna esquerda enquanto o cartão continua
 * visualmente na coluna direita.
 */
.home .section--cards,
.front-page .section--cards {
    padding-top: 86px !important;
}

@media (max-width: 900px) {
    .catalog-company__inner {
        grid-template-columns: 1fr;
        padding: 0;
    }

    .catalog-company__right {
        display: none;
    }

    .catalog-promo {
        min-height: 340px;
    }
}


/* v0.15.2 — A PANETTO must remain above catalog section */
.home .hero,
.front-page .hero {
    position: relative;
    z-index: 3;
    overflow: visible;
}

.catalog-company {
    position: relative;
    z-index: 2;
}

.specialties {
    position: relative;
    z-index: 1;
}


/* =========================================================
   PANETTO v0.15.3 — company card full height + quality link
   ========================================================= */

@media (min-width: 1101px) {

    .hero-reference__card {
        display: flex;
        flex-direction: column;

        /*
         * O cartão começa dentro do hero e termina
         * alinhado com a base da fotografia do catálogo.
         */
        min-height: calc(100svh + 145px);
        padding-bottom: 28px;
    }

    .hero-reference__quality-link {
        display: flex;
        min-height: 54px;
        align-items: center;
        justify-content: center;

        margin-top: auto;
        padding: 12px 22px;

        border: 3px solid #45423e;

        color: #45423e;
        background: transparent;

        font-family: Inter, system-ui, sans-serif;
        font-size: .76rem;
        font-weight: 750;
        line-height: 1.25;
        letter-spacing: .10em;
        text-align: center;
        text-decoration: none;
        text-transform: uppercase;

        transition:
            background .18s ease,
            color .18s ease;
    }

    .hero-reference__quality-link:hover {
        background: #45423e;
        color: #fff;
    }
}

@media (max-width: 1100px) {
    .hero-reference__quality-link {
        display: flex;
        min-height: 52px;
        align-items: center;
        justify-content: center;
        margin-top: 24px;
        padding: 11px 18px;
        border: 2px solid #45423e;
        color: #45423e;
        font-size: .72rem;
        font-weight: 750;
        letter-spacing: .08em;
        text-align: center;
        text-decoration: none;
        text-transform: uppercase;
    }
}


/* v0.15.4 — company card final vertical position */
@media (min-width: 1101px) {

    /* Desce o cartão sem alterar a altura já definida */
    .hero-reference__card {
        transform: translateY(clamp(440px, 46vh, 520px));
    }

    /* Política fica próxima do último parágrafo */
    .hero-reference__quality-link {
        margin-top: 28px;
    }
}


/* v0.15.5 — shorter A PANETTO card, same lower alignment */
@media (min-width: 1101px) {

    .hero-reference__card {
        /* -80px de altura +80px de deslocamento = fundo mantém-se */
        min-height: calc(100svh + 65px);
        transform: translateY(
            calc(clamp(440px, 46vh, 520px) + 80px)
        );
    }

    .hero-reference__quality-link {
        margin-top: 26px;
    }
}

/* v0.15.6 — align company card bottom with catalog image */
@media (min-width: 1101px) {

    .hero-reference__card {
        /* reduz apenas a altura; mantém a posição superior atual */
        min-height: calc(100svh - 30px);
    }

    .hero-reference__card p:last-of-type {
        margin-bottom: 0;
    }

    .hero-reference__quality-link {
        margin-top: 12px;
    }
}

/* v0.15.7 — final vertical alignment with catalog image */
@media (min-width: 1101px) {
    .hero-reference__card {
        /* mesmo tamanho; apenas ~95px mais acima */
        transform: translateY(
            calc(clamp(440px, 46vh, 520px) - 15px)
        );
    }
}

/* v0.15.8 — micro adjustment: company card 8px lower */
@media (min-width: 1101px) {
    .hero-reference__card {
        transform: translateY(
            calc(clamp(440px, 46vh, 520px) - 7px)
        );
    }
}


/* ==========================================================
   HEADER — MENU DESKTOP MAIS DISCRETO
   ========================================================== */

@media (min-width: 901px) {

    .home .primary-nav a,
    .front-page .primary-nav a,
    body:not(.home):not(.front-page) .primary-nav a {
        font-size: .90rem;
    }

}


/* ==========================================================
   HEADER — TAMANHO FINAL MENU DESKTOP
   ========================================================== */

@media (min-width: 901px) {

    .site-header .primary-nav a,
    .home .site-header .primary-nav a,
    .front-page .site-header .primary-nav a {
        font-size: 13px !important;
    }

}


/* PANETTO EMPRESA FULL-PAGE BACKGROUND */
.page-shell--empresa{
    min-height:calc(100vh - 132px);
    background:
        linear-gradient(
            rgba(255,253,248,.82),
            rgba(255,253,248,.82)
        ),
        url("../images/about-panetto.jpg")
        center center / cover no-repeat fixed;
}

.page-shell--empresa .page-header,
.page-shell--empresa .page-content{
    position:relative;
    z-index:1;
    background:transparent;
}

@media(max-width:900px){
    .page-shell--empresa{
        min-height:calc(100vh - 104px);
        background-attachment:scroll;
        background-position:center top;
    }
}

@media(max-width:600px){
    .page-shell--empresa{
        min-height:calc(100vh - 86px);
    }
}


/* PANETTO FOOTER LOGO FIX */
.site-footer__logo-link{
    display:inline-flex;
    align-items:center;
    text-decoration:none;
}

.site-footer__logo{
    display:block;
    width:190px;
    max-width:100%;
    height:auto;
    background:transparent;
}

/* PANETTO FOOTER — remove navigation menu */
.site-footer__inner{
    grid-template-columns:1fr;
}


/* PANETTO FOOTER — LEGAL VERSION */
.site-footer.site-footer--legal{
    border-top:1px solid #e4ddd3;
    background:#fff;
    color:#40382f;
}

.site-footer--legal .site-footer__legal-top{
    width:min(100%,1280px);
    margin:0 auto;
    padding:34px var(--pad) 26px;
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    align-items:center;
}

.site-footer--legal .site-footer__legal-logo{
    justify-self:start;
    display:inline-flex;
}

.site-footer--legal .site-footer__legal-logo img{
    display:block;
    width:150px;
    height:auto;
}


.site-footer--legal .site-footer__complaints{
    justify-self:center;
    display:inline-flex;
}

.site-footer--legal .site-footer__complaints img{
    display:block;
    width:150px;
    max-width:100%;
    height:auto;
}

.site-footer--legal .site-footer__legal-copy{
    width:min(100%,980px);
    margin:0 auto;
    padding:16px var(--pad) 52px;
    text-align:center;
    font-family:Georgia,"Times New Roman",serif;
    font-size:15px;
    line-height:1.5;
    color:#5d554d;
}

.site-footer--legal .site-footer__legal-copy p{
    margin:0 0 16px;
}


.site-footer--legal .site-footer__legal-copy strong{
    font-weight:400;
}

/* Ligação do nome da entidade RAL (CNIACC) no aviso ao consumidor: mesma cor das outras ligações do rodapé, sublinhada para se ver que é clicável. */
.site-footer--legal .site-footer__legal-copy p a{
    color:#5b554f;
    text-decoration:underline;
    text-underline-offset:3px;
}

.site-footer--legal .site-footer__legal-copy p a:hover{
    color:#c89511;
}

.site-footer--legal .site-footer__legal-links{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:28px;
    margin-top:36px;
}

.site-footer--legal .site-footer__legal-links a{
    color:#5b554f;
    text-decoration:none;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size:13px;
    font-weight:750;
    letter-spacing:.02em;
}

.site-footer--legal .site-footer__legal-links a:hover{
    color:#c89511;
}


@media(max-width:720px){
    .site-footer--legal .site-footer__legal-top{
        grid-template-columns:1fr;
        justify-items:center;
        gap:26px;
    }

    .site-footer--legal .site-footer__legal-logo,
    .site-footer--legal .site-footer__complaints{
        justify-self:center;
    }

    .site-footer--legal .site-footer__legal-copy{
        font-size:14px;
    }

    .site-footer--legal .site-footer__legal-links{
        flex-direction:column;
        gap:14px;
    }
}


/* PANETTO PRODUTOS — ORIGINAL CATALOGUE REPLICA */
.po-products-original{
    background:#fff;
    color:#171717;
    padding:72px 0 110px;
}
.po-products-original__inner{
    width:min(100%,1180px);
    margin:0 auto;
    padding:0 clamp(24px,5vw,64px);
}
.po-products-original__claim{
    margin:8px 0 34px;
    font-size:clamp(1.45rem,2.1vw,2rem);
    font-weight:800;
    letter-spacing:.02em;
}
.po-products-original__claim sup{
    font-size:.42em;
    vertical-align:top;
    margin-left:2px;
}
.po-products-original__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    column-gap:54px;
    row-gap:70px;
    margin-bottom:82px;
}

.po-product{
    text-align:center;
}
.po-product__media{
    width:100%;
    aspect-ratio:1.28 / 1;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}
.po-product__media img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
    display:block;
}
.po-product h3{
    margin:16px 0 0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(1.45rem,1.85vw,2rem);
    line-height:1.15;
    font-weight:700;
    color:#2b251f;
}
.po-products-original__category{
    margin:12px 0 46px;
    padding-top:28px;
    border-top:1px solid rgba(23,23,23,.18);
}
.po-products-original__category h2{
    margin:0;
    font-size:clamp(1.55rem,2vw,2.25rem);
    font-weight:700;
    letter-spacing:0;
    color:#2b251f;
}

@media(max-width:900px){
    .po-products-original__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        column-gap:32px;
        row-gap:52px;
    }
}
@media(max-width:600px){
    .po-products-original__grid{
        grid-template-columns:1fr;
        row-gap:42px;
    }
    .po-product__media{
        aspect-ratio:1.35 / 1;
    }
}

/* PANETTO PRODUTOS — CATEGORY LANDING */
.po-categories{
    background:#f2eadc;
    color:#40382f;
    padding:0 0 86px;
}
.po-categories__inner{
    width:min(100%,1280px);
    margin:0 auto;
    padding:0 clamp(26px,5vw,72px);
}
.po-categories__heading{
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:end;
    gap:32px;
    padding:0 0 24px;
    margin-bottom:58px;
    border-bottom:1px solid rgba(64,56,47,.65);
}

.po-categories__heading h1{
    margin:0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(2rem,3vw,3.2rem);
    line-height:1;
    font-weight:700;
}
.po-categories__heading p{
    margin:0;
    text-align:right;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(1rem,1.45vw,1.35rem);
}
.po-categories__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:52px;
}
.po-category{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
}
.po-category__image{
    width:100%;
    aspect-ratio:1.15/1;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
}
.po-category__image img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}

.po-category h2{
    margin:12px 0 14px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(1.9rem,2.5vw,2.8rem);
    line-height:1.08;
    font-weight:700;
}
.po-category p{
    max-width:390px;
    min-height:118px;
    margin:0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(1rem,1.25vw,1.25rem);
    line-height:1.45;
    color:#665c51;
}
.po-category__button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:145px;
    min-height:52px;
    margin-top:34px;
    padding:0 28px;
    border:1px solid rgba(64,56,47,.75);
    color:#665c51;
    text-decoration:none;
    font-family:Georgia,"Times New Roman",serif;
    font-size:1rem;
}
.po-category__button:hover{
    background:#3b3028;
    color:#fff;
}

@media(max-width:900px){
    .po-categories__grid{gap:28px;}
    .po-category p{min-height:145px;}
}
@media(max-width:720px){
    .po-categories__heading{
        grid-template-columns:minmax(0,1fr);
        gap:14px;
        padding-top:34px;
    }
    .po-categories__heading p{text-align:left;}
    .po-categories__grid{
        grid-template-columns:minmax(0,1fr);
        gap:64px;
    }
    .po-category p{min-height:0;}
    .po-categories__heading h1{font-size:clamp(1.4rem,7vw,2rem);overflow-wrap:break-word;}
}


/* PANETTO PRIVACY PAGE */
.po-privacy{
    min-height:calc(100vh - 132px);
    padding:64px 0 96px;
    background:
        linear-gradient(
            rgba(255,253,248,.82),
            rgba(255,253,248,.82)
        ),
        url("../images/privacy-panetto.jpg")
        center center / cover no-repeat fixed;
    color:#3f382f;
}
.po-privacy__inner{
    width:min(100%,1220px);
    margin:0 auto;
    padding:0 clamp(24px,5vw,72px);
}
.po-privacy h1{
    margin:0 0 56px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(2.5rem,4.3vw,4.8rem);
    line-height:1.02;
    font-weight:500;
}

.po-privacy__columns{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:68px;
}
.po-privacy__column{
    padding:30px 34px;
    border:1px solid rgba(90,70,50,.14);
    background:rgba(255,253,248,.72);
    backdrop-filter:blur(2px);
}
.po-privacy h2{
    margin:28px 0 14px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:1.12rem;
    line-height:1.35;
    font-weight:700;
    color:#40382f;
}
.po-privacy__column h2:first-child{margin-top:0;}
.po-privacy p{
    margin:0 0 17px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:1rem;
    line-height:1.65;
    color:#5f554b;
}
.po-privacy strong{
    font-weight:700;
    color:#4b4239;
}

@media(max-width:900px){
    .po-privacy{
        min-height:calc(100vh - 104px);
        background-attachment:scroll;
        background-position:center top;
    }
    .po-privacy__columns{
        grid-template-columns:1fr;
        gap:28px;
    }
    .po-privacy h1{margin-bottom:36px;}
}
@media(max-width:600px){
    .po-privacy{
        min-height:calc(100vh - 86px);
        padding:42px 0 68px;
    }
    .po-privacy__column{padding:24px 20px;}
}


/* PANETTO TERMS PAGE */
.po-terms{
    min-height:calc(100vh - 132px);
    padding:64px 0 96px;
    background:
        linear-gradient(
            rgba(255,253,248,.84),
            rgba(255,253,248,.84)
        ),
        url("../images/terms-panetto.jpg")
        center center / cover no-repeat fixed;
    color:#3f382f;
}

.po-terms__inner{
    width:min(100%,1220px);
    margin:0 auto;
    padding:0 clamp(24px,5vw,72px);
}

.po-terms h1{
    margin:0 0 54px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(2.5rem,4.3vw,4.8rem);
    line-height:1.02;
    font-weight:500;
}


.po-terms__row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:56px;
    margin-bottom:36px;
}

.po-terms__column{
    padding:30px 34px;
    border:1px solid rgba(90,70,50,.14);
    background:rgba(255,253,248,.76);
    backdrop-filter:blur(2px);
}

.po-terms__column p{
    margin:0 0 17px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:1rem;
    line-height:1.62;
    color:#5f554b;
}

.po-terms__column p:first-child{
    margin-bottom:18px;
    color:#40382f;
    font-size:1.18rem;
    font-weight:700;
}


@media(max-width:900px){
    .po-terms{
        min-height:calc(100vh - 104px);
        background-attachment:scroll;
        background-position:center top;
    }

    .po-terms__row{
        grid-template-columns:1fr;
        gap:28px;
    }

    .po-terms h1{
        margin-bottom:36px;
    }
}

@media(max-width:600px){
    .po-terms{
        min-height:calc(100vh - 86px);
        padding:42px 0 68px;
    }

    .po-terms__column{
        padding:24px 20px;
    }
}


/* PANETTO BOLACHAS — ORIGINAL PRODUCT PAGE */
.po-bolachas-original{
    background:#fff;
    color:#332d28;
    padding:58px 0 92px;
}

.po-bolachas-original__inner{
    width:min(100%,1180px);
    margin:0 auto;
    padding:0 clamp(24px,5vw,64px);
}

.po-bolachas-original__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:72px;
    align-items:start;
}

.po-bolacha{
    text-align:center;
}

.po-bolacha__media{
    width:100%;
    aspect-ratio:0.88 / 1;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}

.po-bolacha__media img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}

.po-bolacha h2{
    margin:0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(1.45rem,2vw,2.15rem);
    line-height:1.12;
    font-weight:700;
    color:#342e29;
}

@media(max-width:900px){
    .po-bolachas-original__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:48px 32px;
    }
}

@media(max-width:620px){
    .po-bolachas-original{
        padding-top:36px;
    }

    .po-bolachas-original__grid{
        grid-template-columns:1fr;
        gap:42px;
    }

    .po-bolacha__media{
        max-width:420px;
        margin:0 auto;
    }
}


/* PANETTO CRISPY SNACKS — ORIGINAL PRODUCT PAGE */
.po-crispy-original{
    background:#fff;
    color:#332d28;
    padding:58px 0 92px;
}

.po-crispy-original__inner{
    width:min(100%,1180px);
    margin:0 auto;
    padding:0 clamp(24px,5vw,64px);
}

.po-crispy-original__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:72px 60px;
    align-items:start;
}

.po-crispy{
    text-align:center;
}

.po-crispy__media{
    width:100%;
    aspect-ratio:0.86 / 1.16;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}

.po-crispy__media img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}

.po-crispy h2{
    margin:0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(1.35rem,1.85vw,2rem);
    line-height:1.08;
    font-weight:700;
    color:#342e29;
}

.po-crispy h2 span{
    font-size:.92em;
}

@media(max-width:900px){
    .po-crispy-original__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:52px 32px;
    }
}

@media(max-width:620px){
    .po-crispy-original{
        padding-top:36px;
    }

    .po-crispy-original__grid{
        grid-template-columns:1fr;
        gap:42px;
    }

    .po-crispy__media{
        max-width:420px;
        margin:0 auto;
    }
}


/* PANETTO QUALITY POLICY PAGE */
.po-quality-policy{
    min-height:calc(100vh - 132px);
    padding:64px 0 96px;
    background:
        linear-gradient(
            rgba(255,253,248,.84),
            rgba(255,253,248,.84)
        ),
        url("../images/quality-policy-panetto.jpg")
        center center / cover no-repeat fixed;
    color:#3f382f;
}

.po-quality-policy__inner{
    width:min(100%,1220px);
    margin:0 auto;
    padding:0 clamp(24px,5vw,72px);
}

.po-quality-policy__eyebrow{
    margin-bottom:14px;
    color:#a87500;
    font-size:13px;
    font-weight:800;
    letter-spacing:.16em;
}

.po-quality-policy h1{
    max-width:900px;
    margin:0 0 48px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(2.45rem,4vw,4.5rem);
    line-height:1.02;
    font-weight:500;
}

.po-quality-policy__columns{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:54px;
}

.po-quality-policy__column{
    padding:30px 34px;
    border:1px solid rgba(90,70,50,.14);
    background:rgba(255,253,248,.76);
    backdrop-filter:blur(2px);
}

.po-quality-policy h2{
    margin:28px 0 14px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:1.2rem;
    line-height:1.3;
    color:#40382f;
}

.po-quality-policy__column h2:first-child{
    margin-top:0;
}

.po-quality-policy p,
.po-quality-policy li{
    font-family:Georgia,"Times New Roman",serif;
    font-size:1rem;
    line-height:1.65;
    color:#5f554b;
}

.po-quality-policy p{
    margin:0 0 17px;
}

.po-quality-policy ul{
    margin:0 0 22px 20px;
    padding:0;
}

.po-quality-policy li{
    margin-bottom:11px;
}

@media(max-width:900px){
    .po-quality-policy{
        min-height:calc(100vh - 104px);
        background-attachment:scroll;
        background-position:center top;
    }

    .po-quality-policy__columns{
        grid-template-columns:1fr;
        gap:28px;
    }
}

@media(max-width:600px){
    .po-quality-policy{
        min-height:calc(100vh - 86px);
        padding:42px 0 68px;
    }

    .po-quality-policy h1{
        margin-bottom:34px;
    }

    .po-quality-policy__column{
        padding:24px 20px;
    }
}

/* Accessible page title for visual-first section layouts */
.panetto-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Telemóvel/tablet (menu com botão, até 900px): logótipo e botão de menu na mesma linha; a ligação de
   emprego e as bandeiras numa linha compacta por baixo (antes ficavam fora do ecrã e a página alargava). */
@media (max-width: 900px) {
    .site-header__inner {
        flex-wrap: wrap;
        gap: 8px 12px;
    }

    /* Logótipo mais pequeno para o botão de menu caber à direita, na mesma linha
       (34px de margem de cada lado + 44px do botão + 12px de espaço = 124px). */
    .site-header .site-branding .panetto-logo {
        width: min(210px, calc(100vw - 124px));
        max-width: none;
    }

    /* Cabeçalho mais baixo (a regra da página inicial impunha 126px de altura mínima). */
    .site-header .site-header__inner {
        min-height: 0;
        padding-top: 12px;
        padding-bottom: 10px;
    }

    /* Página inicial: cabeçalho escuro sobre a fotografia, o botão de menu tem de ser branco. */
    .home .nav-toggle {
        color: #fff;
    }

    .header-actions {
        flex: 1 0 100%;
        margin-left: 0;
        align-items: stretch;
    }

    .header-utility {
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 6px 20px;
    }

    .jobs-link {
        white-space: normal;
    }
}
