/* IMBÔ — CSS editável | Altere as cores e tipografia neste bloco */
:root{--red:#8f0600;--red-dark:#690400;--ink:#231b18;--muted:#736a65;--cream:oklch(0.98 0.01 0);--sand:#eee5d8;--line:#e9e4df;--white:#fff;--font:'Sulphur Point',Arial,sans-serif;--heading-font:'Outfit',Arial,sans-serif;--radius:4px;--width:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--white);color:var(--ink);font-family:var(--font);line-height:1.65}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--heading-font);font-weight:400;letter-spacing:-.045em;line-height:1.13}h1{font-size:clamp(3.15rem,5.5vw,5.7rem)}h2{font-size:clamp(2.65rem,4.5vw,4.65rem)}h1 em,h2 em{font-weight:400;color:var(--red)}h3{line-height:1.25}.container{width:min(var(--width),calc(100% - 64px));margin-inline:auto}.section{padding:50px 0}.skip-link{position:absolute;top:-100px;left:10px;z-index:1000;background:var(--red);color:white;padding:10px}.skip-link:focus{top:10px}:focus-visible{outline:3px solid var(--red);outline-offset:3px}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.header-inner{min-height:85px;display:flex;align-items:center;gap:35px}.brand{font-weight:900;font-size:1.9rem;letter-spacing:-.085em;line-height:1}.brand-dot{color:var(--red)}.main-nav{margin-left:auto;display:flex;align-items:center;gap:27px}.main-nav a{font-size:.86rem;font-weight:600;transition:color .2s}.main-nav a:hover,.main-nav a[aria-current]{color:var(--red)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:16px 25px;border:1px solid var(--red);background:var(--red);color:#fff;font-size:.88rem;font-weight:700;min-height:52px;transition:background .2s,transform .2s}.btn:hover{background:var(--red-dark);transform:translateY(-2px)}.btn-small{padding:12px 18px;min-height:43px;gap:16px}.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px}.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--red);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:750}.eyebrow-line{width:23px;height:1px;background:var(--red)}.text-link{display:inline-flex;gap:16px;align-items:center;font-size:.87rem;font-weight:800;border-bottom:1px solid var(--ink);padding-bottom:6px}.text-link:hover{color:var(--red);border-color:var(--red)}.hero{padding-top:54px;padding-bottom:88px}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:5.5%;align-items:stretch}.hero-copy{display:flex;flex-direction:column;align-items:flex-start;padding:65px 0 10px}.hero h1{margin:29px 0 25px;max-width:670px}.hero p{max-width:465px;color:var(--muted);font-size:1rem}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:31px;margin:20px 0 60px}.hero-bottom{display:flex;justify-content:space-between;gap:50px;color:#9b938e;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;width:100%;margin-top:auto}.hero-visual{min-height:580px;position:relative;background:var(--cream);overflow:hidden}.hero-visual>img{width:100%;height:100%;object-fit:cover}.image-tag{position:absolute;bottom:25px;left:25px;background:white;padding:10px 17px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.christmas-section{background:var(--cream)}.christmas-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:11%;align-items:center}.christmas-message h2{margin:22px 0 28px}.christmas-message p{color:var(--muted);max-width:430px}.christmas-message .text-link{margin-top:18px}.offer-card{display:grid;grid-template-columns:1fr 1fr;background:white;box-shadow:0 20px 60px #25160c0c}.offer-image{background:var(--sand)}.offer-image img{height:420px;width:100%;object-fit:cover}.offer-details{display:flex;flex-direction:column;align-items:start;justify-content:center;padding:34px}.offer-details h3{font-family:var(--heading-font);font-weight:400;font-size:2.3rem;line-height:1.1;margin:18px 0}.offer-details p{font-size:.87rem;color:var(--muted);margin-bottom:30px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:70px;margin-bottom:45px}.section-heading h2{margin:14px 0 0}.section-heading>p{max-width:345px;color:var(--muted);font-size:.9rem;margin:0}.tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line);gap:8px;margin-bottom:45px}.tab{text-align:left;padding:16px 15px 19px;border:0;border-bottom:3px solid transparent;background:transparent;color:#817a75;font-weight:700;font-size:.94rem}.tab.active{border-color:var(--red);color:var(--ink)}.tab:hover{color:var(--red)}.hamper-panel{display:grid;grid-template-columns:1.13fr .87fr;gap:9%;align-items:center}.main-photo{position:relative;background:var(--cream);aspect-ratio:1.15;overflow:hidden}.main-photo>img{width:100%;height:100%;object-fit:cover}.photo-controls{position:absolute;bottom:15px;right:15px;background:white;display:flex;align-items:center;gap:16px;padding:6px}.photo-controls button{background:white;border:0;font-size:1.3rem;width:35px;height:35px}.photo-controls button:hover{color:var(--red)}.photo-controls span{font-size:.77rem;white-space:nowrap}.thumbnails{display:flex;gap:10px;margin-top:12px}.thumb{padding:0;border:2px solid transparent;background:var(--cream);width:83px;aspect-ratio:1}.thumb.selected{border-color:var(--red)}.thumb img{width:100%;height:100%;object-fit:cover}.hamper-description h3{font-family:var(--heading-font);font-weight:400;font-size:clamp(2.7rem,4vw,4.5rem);letter-spacing:-.04em;margin:18px 0}.hamper-description>p{color:var(--muted);max-width:390px}.detail-label{display:block;font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;margin-top:30px}.hamper-description ul{padding-left:18px;margin:12px 0 30px;color:var(--muted);font-size:.9rem}.hamper-description li{padding:4px}.price-block{border-top:1px solid var(--line);padding:20px 0 25px;display:flex;flex-direction:column;gap:2px}.price-block span{color:var(--muted);font-size:.78rem}.price-block strong{font-family:var(--font);font-size:1.8rem;font-weight:400}.hamper-description .small-note{font-size:.72rem;margin-top:13px}.products-preview{background:var(--cream)}.preview-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:10%;align-items:center}.preview-grid h2{margin:20px 0}.preview-grid p{color:var(--muted);max-width:370px;margin-bottom:30px}.category-cards{display:grid;grid-template-columns:1fr 1fr;gap:13px}.category-card{background:white;overflow:hidden}.category-card img{width:100%;aspect-ratio:1.6;object-fit:cover;transition:transform .3s}.category-card:hover img{transform:scale(1.045)}.category-card>span{padding:12px 16px;display:flex;justify-content:space-between;font-weight:700;font-size:.87rem}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.contact-intro h2{margin:19px 0 26px}.contact-intro>p{color:var(--muted);max-width:420px}.contact-link{display:block;font-weight:700;margin:10px 0}.contact-link:hover{color:var(--red)}.contact-intro .contact-note{font-size:.8rem;margin-top:25px}.contact-form{background:var(--cream);padding:38px}.contact-form label{display:block;font-size:.8rem;font-weight:700}.contact-form input,.contact-form select,.contact-form textarea{background:white;border:1px solid #ded8d2;min-height:49px;border-radius:0;width:100%;padding:11px 13px;margin:7px 0 18px;outline-offset:3px;font-weight:400}.contact-form textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-disclaimer{font-size:.7rem;color:var(--muted);margin:12px 0 0}.hidden-field{position:absolute;left:-9999px}.site-footer{background:#432d14;color:white;padding:65px 0 20px}.footer-main{display:grid;grid-template-columns:2fr 1fr 1.3fr 1fr;gap:35px;padding-bottom:50px}.footer-main p{color:#c2b8b0;font-size:.82rem;max-width:230px;margin-top:17px}.footer-main h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;margin:0 0 18px}.footer-main a:not(.brand),.footer-main span{display:block;font-size:.82rem;color:#c2b8b0;margin-bottom:9px}.footer-main a:hover{color:white}.footer-bottom{border-top:1px solid #443c38;display:flex;justify-content:space-between;padding-top:21px;gap:16px;color:#a99f98;font-size:.72rem}.whatsapp-float{position:fixed;right:25px;bottom:24px;z-index:99;width:58px;height:58px;border-radius:50%;background:transparent;color:white;filter:drop-shadow(0 7px 12px #0003);display:grid;place-items:center;font-size:.6rem;font-weight:700;padding:0}.whatsapp-float:hover{transform:translateY(-2px)}.whatsapp-icon{width:24px;height:24px;object-fit:contain;flex-shrink:0}.whatsapp-float .whatsapp-icon{width:100%;height:100%}.products-hero{background:var(--cream);padding:100px 0 85px}.products-hero h1{margin:19px 0}.products-hero p{color:var(--muted);max-width:550px}.filter-bar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:33px}.filter{background:white;border:1px solid var(--line);padding:10px 22px;font-weight:650}.filter.active,.filter:hover{background:var(--red);color:white;border-color:var(--red)}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.product-image{background:var(--cream);overflow:hidden}.product-image img{aspect-ratio:1.12;object-fit:contain;width:100%;padding:12px}.product-info{padding:14px 0 22px}.product-info span{font-size:.66rem;letter-spacing:.15em;text-transform:uppercase;color:var(--red)}.product-info h3{font-family:var(--heading-font);font-size:1.65rem;font-weight:400;margin:8px 0}.product-info p{color:var(--muted);font-size:.84rem}.product-footer{text-align:center;background:var(--cream);padding:55px 25px;margin-top:65px}.product-footer h2{font-size:2.5rem}.product-footer p{color:var(--muted);margin-bottom:22px}.thank-you{min-height:100vh;display:grid;place-items:center;text-align:center;padding:30px}.thank-you .eyebrow{display:block;margin-top:55px}.thank-you h1{margin:15px 0}.thank-you p{color:var(--muted);margin-bottom:30px}
@media(max-width:1000px){.header-inner{gap:20px}.main-nav{gap:16px}.header-cta{display:none}.hero-visual{min-height:510px}.hero-copy{padding-top:36px}.offer-card{grid-template-columns:1fr}.offer-image img{height:260px}.christmas-grid,.preview-grid{gap:6%}.footer-main{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.container{width:min(100% - 36px,var(--width))}.section{padding:65px 0}.header-inner{min-height:68px}.menu-toggle{display:block;margin-left:auto}.main-nav{position:absolute;top:68px;left:0;right:0;background:white;box-shadow:0 12px 18px #0001;border-top:1px solid var(--line);padding:22px 18px;display:none;flex-direction:column;align-items:stretch;gap:18px}.main-nav.is-open{display:flex}.hero{padding-top:20px}.hero-grid,.christmas-grid,.hamper-panel,.preview-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.hero-copy{padding:35px 0 10px}.hero h1{font-size:clamp(3.05rem,11vw,4.7rem)}.hero-actions{margin:14px 0 34px}.hero-bottom{display:none}.hero-visual{min-height:0;aspect-ratio:1.13}.christmas-message h2{max-width:550px}.offer-card{grid-template-columns:1fr 1fr}.offer-image img{height:320px}.section-heading{display:block}.section-heading>p{margin-top:22px}.tabs{display:flex;overflow-x:auto;gap:7px;margin-bottom:30px}.tab{flex:0 0 auto;min-width:145px}.main-photo{aspect-ratio:1.15}.hamper-description h3{margin-top:12px}.category-cards{margin-top:15px}.contact-form{padding:25px}.product-grid{grid-template-columns:repeat(2,1fr);gap:18px}}
@media(max-width:480px){.offer-card{grid-template-columns:1fr}.offer-image img{height:230px}.offer-details{padding:25px}.hero-actions{align-items:start;flex-direction:column;gap:22px}.form-row{grid-template-columns:1fr;gap:0}.product-grid{grid-template-columns:1fr}.category-card img{aspect-ratio:1.1}.footer-main{grid-template-columns:1fr 1fr;gap:32px 15px}.footer-bottom{flex-direction:column}.whatsapp-float{right:15px;bottom:15px;width:52px;height:52px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}


/* Rounded controls throughout the site. */
button,
.btn,
.photo-controls {
  border-radius: 999px;
}
.thumb {
  border-radius: 18px;
  overflow: hidden;
}
.tab {
  border-radius: 0;
  text-align: center;
}

/* Home hero: edit the gradient colours and image layout here. */
.home-page .site-header {
  position: absolute;
  width: 100%;
  background: transparent;
  border-bottom: 0;
  color: var(--white);
  backdrop-filter: none;
}
.home-page .site-header .brand-dot { color: inherit; }
.home-page .main-nav a:hover { color: #ffdad2; }
.home-page .header-cta,
.home-page .hero .btn {
  background: rgba(255, 255, 255, .16);
  border-color: rgba(255, 255, 255, .45);
  color: var(--white);
}
.home-page .header-cta:hover,
.home-page .hero .btn:hover { background: rgba(255, 255, 255, .28); }
.home-page .menu-toggle span { background: var(--white); }
.home-page .hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 50px 0 0;
  background: linear-gradient(105deg, var(--red) 0%, #a51e15 45%, #d96446 100%);
  color: var(--white);
}
.home-page .hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: repeating-radial-gradient(ellipse at 82% 55%, transparent 0 95px, rgba(255, 255, 255, .07) 96px 97px, transparent 98px 155px);
}
.home-page .hero-grid {
  position: relative;
  min-height: 620px;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  align-items: center;
}
.home-page .hero-copy {
  position: relative;
  z-index: 2;
  padding: 65px 0 55px;
}
.home-page .hero h1 {
  font-family: var(--heading-font);
  font-size: clamp(2.8rem, 4.6vw, 4.7rem);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -.055em;
  margin: 0 0 26px;
}
.home-page .hero h1 em { color: inherit; font-style: normal; }
.home-page .hero p { color: #fff0ec; max-width: 440px; }
.home-page .hero-actions { gap: 22px; margin: 12px 0 48px; }
.home-page .hero .text-link { color: var(--white); border-color: #ffffff70; }
.home-page .hero-bottom { color: #ffe0d6; font-size: .65rem; gap: 20px; }
.home-page .hero-visual {
  position: absolute;
  z-index: 0;
  top: 52%;
  right: -172px;
  width: 77%;
  aspect-ratio: 1.5;
  transform: translateY(-50%);
  min-height: 0;
  background: transparent;
  overflow: hidden;
  mask-image: linear-gradient(to right, transparent, #000 30%);
  -webkit-mask-image: linear-gradient(to right, transparent, #000 30%);
}
.home-page .hero-visual > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.home-page .hero :focus-visible,
.home-page .site-header :focus-visible { outline-color: white; }
@media (max-width: 1000px) {
  .home-page .hero-grid { min-height: 580px; }
  .home-page .hero-copy { padding-right: 12px; }
}
@media (max-width: 760px) {
  .home-page .main-nav {
    background: var(--red);
    border-color: #ffffff30;
    color: white;
  }
  .home-page .hero { padding-top: 68px; }
  .home-page .hero-grid { grid-template-columns: 1fr; gap: 0; min-height: 0; }
  .home-page .hero-copy { padding: 48px 0 10px; max-width: 560px; }
  .home-page .hero h1 { font-size: clamp(2.8rem, 9vw, 4.3rem); }
  .home-page .hero-actions { margin-bottom: 20px; }
  .home-page .hero-visual {
    position: relative;
    inset: auto;
    width: min(85%, 420px);
    margin: 0 auto 28px;
    aspect-ratio: 1.5;
    transform: none;
    mask-image: linear-gradient(to bottom, transparent, #000 22%);
    -webkit-mask-image: linear-gradient(to bottom, transparent, #000 22%);
  }
  .home-page .hero-visual > img { object-position: center; }
}


/* White brand asset; red backing keeps it visible on light pages. */
.brand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: var(--red);
  border-radius: 12px;
}
.brand-logo {
  width: 88px;
  height: 88px;
  object-fit: contain;
}
.home-page .site-header .brand,
.site-footer .brand { background: transparent; }
.footer-brand .brand-logo,
.thank-you .brand-logo { width: 140px; height: 140px; }
@media (max-width: 760px) {
  .site-header .brand-logo { width: 68px; height: 68px; }
}


/* Show the complete product photographs in the home category cards. */
.category-card img {
  object-fit: contain;
  background: var(--white);
}


/* Desktop heading sizes. Mobile keeps its responsive typography. */
@media (min-width: 1024px) {
  h1,
  .home-page .hero h1 { font-size: 46px; }

  h2,
  .product-footer h2 { font-size: 32px; }

  h3,
  .offer-details h3,
  .hamper-description h3,
  .product-info h3,
  .footer-main h3 { font-size: 22px; }
}


/* Heading typography; body and controls inherit Sulphur Point. */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--heading-font);
}


/* Products page hero background. */
.products-hero {
  background: linear-gradient(90deg, rgba(0, 0, 0, .78), rgba(0, 0, 0, .38)),
    url("../assets/img/fundo%202.png") center 45% / cover no-repeat;
  color: var(--white);
}
.products-hero .eyebrow,
.products-hero h1 em,
.products-hero p {
  color: var(--white);
}


/* Extend the products hero behind the navigation. */
.products-page .site-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background: transparent;
  border-bottom: 0;
  backdrop-filter: none;
  color: var(--white);
}
.products-page .site-header .brand { background: transparent; }
.products-page .main-nav a:hover,
.products-page .main-nav a[aria-current] {
  color: var(--white);
  text-decoration: underline;
  text-underline-offset: 6px;
}
.products-page .menu-toggle span { background: var(--white); }
.products-page .site-header :focus-visible { outline-color: white; }
.products-page .products-hero { padding-top: 188px; }
@media (max-width: 760px) {
  .products-page .products-hero { padding-top: 133px; }
  .products-page .main-nav {
    background: var(--red);
    border-color: rgba(255, 255, 255, .25);
    color: var(--white);
  }
}


/* Keep the basket price and order action together. */
.price-block {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 18px;
}
.price-value {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.price-block .btn { flex-shrink: 0; }


/* A single statement highlighting personalized baskets. */
.hamper-personalization {
  background: var(--red);
  color: var(--white);
  text-align: center;
  padding: 72px 0;
}
.hamper-personalization h2 {
  max-width: 950px;
  margin: 0 auto;
  line-height: 1.45;
  letter-spacing: -.02em;
}
@media (max-width: 760px) {
  .hamper-personalization { padding: 48px 0; }
  .hamper-personalization h2 { font-size: 26px; }
}


/* Volume pricing highlight beside the basket heading. */
.section-heading > .quantity-discount {
  background: var(--cream);
  border-left: 3px solid var(--red);
  border-radius: 0 12px 12px 0;
  padding: 16px 22px;
  max-width: 360px;
}
.quantity-discount strong {
  display: block;
  font-family: var(--heading-font);
  font-size: 22px;
  color: var(--red);
  line-height: 1.3;
  margin-bottom: 5px;
}
.quantity-discount span { display: block; }


/* Align the basket title with the quantity discount highlight. */
.hampers-section .section-heading {
  align-items: center;
}
.hampers-section .section-heading h2 {
  margin: 0;
}


/* Larger, bold basket names without numeric labels. */
.hampers-section .tab {
  font-family: var(--heading-font);
  font-size: 22px;
  font-weight: 700;
}


/* Retail locations in the contact section. */
.sales-locations { margin-top: 32px; }
.location-icon { width: 32px; height: 32px; color: var(--red); margin-bottom: 12px; }
.sales-locations h3 { margin: 0 0 16px; }
.sales-locations ul { list-style: none; padding: 0; margin: 0; }
.sales-locations li { padding: 8px 0; border-bottom: 1px solid var(--line); }
.contact-grid { align-items: start; }


/* Dedicated retail locations section with the GPX map alongside. */
.locations-grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 64px;
  align-items: start;
}
.locations-section .sales-locations { margin-top: 0; }
.locations-section h2 { margin: 0 0 24px; }
.location-map h3 { margin: 0 0 18px; }
.location-map iframe {
  display: block;
  width: 100%;
  height: 450px;
  border: 0;
  border-radius: 16px;
  background: var(--cream);
}
.location-map .btn { margin-top: 18px; }
@media (max-width: 760px) {
  .locations-grid { grid-template-columns: 1fr; gap: 32px; }
  .location-map iframe { height: 340px; }
}


/* Location icon sits beside the section title. */
.locations-heading {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 24px;
}
.locations-heading .location-icon { flex-shrink: 0; margin: 0; }
.locations-section .locations-heading h2 { margin: 0; }


/* Match the locations section to the site's light background. */
.locations-section {
  background: var(--cream);
}


/* Contact card: brand panel beside the form, stacked on mobile. */
.contact-section {
  background: var(--white);
  padding: 72px 0;
}
.contact-section .contact-grid {
  grid-template-columns: .85fr 1.15fr;
  gap: 0;
  align-items: stretch;
  background: var(--white);
  border: 1px solid rgba(67, 45, 20, .08);
  border-radius: 30px;
  overflow: hidden;
  box-shadow: 0 18px 55px rgba(67, 45, 20, .09);
}
.contact-intro {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 52px 40px;
  color: var(--white);
  background: linear-gradient(145deg, var(--red), #a52a1c 60%, #432d14);
}
.contact-intro::before,
.contact-intro::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  border: 1px solid rgba(255, 253, 239, .18);
  border-radius: 50%;
}
.contact-intro::before {
  width: 360px;
  height: 360px;
  top: -230px;
  right: -120px;
  background: radial-gradient(circle at 30% 25%, rgba(255, 253, 239, .22), transparent 70%);
  box-shadow: 0 0 0 38px rgba(255, 253, 239, .035);
}
.contact-intro::after {
  width: 430px;
  height: 430px;
  bottom: -320px;
  left: -160px;
  box-shadow: 0 0 0 45px rgba(255, 253, 239, .04), 0 0 0 90px rgba(255, 253, 239, .025);
}
.contact-intro h2 {
  margin: 0 0 24px;
  line-height: 1.2;
}
.contact-intro h2 em { color: var(--cream); }
.contact-intro > p { color: var(--cream); margin-bottom: 28px; }
.contact-intro .contact-link {
  align-self: flex-start;
  max-width: 100%;
  overflow-wrap: anywhere;
  margin: 5px 0;
  color: var(--white);
}
.contact-intro .contact-link:hover { text-decoration: underline; }
.contact-intro :focus-visible { outline-color: var(--cream); }
.contact-section .contact-form {
  background: var(--white);
  padding: 44px;
  min-width: 0;
}
.contact-form .form-row { gap: 18px; }
.contact-form label { font-size: .88rem; min-width: 0; }
.contact-form input,
.contact-form select,
.contact-form textarea {
  border: 1px solid #d9d2c8;
  border-radius: 999px;
  background: #fffefa;
  padding: 12px 18px;
  min-height: 48px;
  margin: 7px 0 20px;
  font-size: 1rem;
  transition: border-color .2s, box-shadow .2s;
}
.contact-form textarea { border-radius: 20px; min-height: 130px; }
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  border-color: var(--red);
  box-shadow: 0 0 0 3px rgba(143, 6, 0, .08);
}
.contact-form .btn { min-width: 170px; }
.contact-form .form-disclaimer { font-size: .78rem; line-height: 1.5; }
@media (max-width: 1000px) {
  .contact-intro { padding: 36px 28px; }
  .contact-section .contact-form { padding: 32px 26px; }
  .contact-form .form-row { grid-template-columns: 1fr; gap: 0; }
}
@media (max-width: 760px) {
  .contact-section { padding: 48px 0; }
  .contact-section .contact-grid { grid-template-columns: 1fr; border-radius: 24px; }
  .contact-intro { padding: 32px 26px; }
  .contact-intro h2 { font-size: 32px; margin-bottom: 16px; }
  .contact-intro > p { margin-bottom: 18px; }
  .contact-section .contact-form { padding: 28px 22px; }
  .contact-form .btn { width: 100%; }
}


/* About page: editorial introduction, category strip and brand story. */
.about-page main { background: var(--white); }
.about-intro { padding: 64px 0 30px; }
.about-heading { text-align: center; max-width: 760px; margin: 0 auto 38px; }
.about-heading h1 { margin: 16px 0 20px; }
.about-heading h1 em { font-style: normal; }
.about-heading p { max-width: 580px; margin: 0 auto; color: var(--muted); }
.about-cover { width: 100%; height: 430px; object-fit: cover; object-position: center 56%; border-radius: 24px; }
.about-highlights { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; background: white; border-radius: 20px; padding: 30px; margin-top: 18px; }
.about-highlights h2 { margin: 0 0 10px; color: var(--red); }
.about-highlights p { margin: 0; color: var(--muted); font-size: .9rem; }
.about-story { padding: 36px 0 80px; }
.about-story-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.about-story-photo { width: 100%; height: 560px; object-fit: cover; border-radius: 24px; }
.about-story-copy h2 { margin: 18px 0 26px; line-height: 1.25; }
.about-story-copy p { color: var(--muted); }
.about-story-copy .btn { margin-top: 12px; }
@media (min-width: 761px) and (max-width: 1100px) {
  .header-inner { gap: 16px; }
  .main-nav { gap: 14px; }
  .header-cta { display: none; }
}
@media (max-width: 760px) {
  .about-intro { padding-top: 40px; }
  .about-heading h1 { font-size: 36px; }
  .about-cover { height: 280px; border-radius: 18px; }
  .about-highlights { grid-template-columns: 1fr 1fr; gap: 24px 18px; padding: 24px; }
  .about-highlights h2 { font-size: 26px; }
  .about-story-grid { grid-template-columns: 1fr; gap: 30px; }
  .about-story-photo { height: 350px; }
  .about-story-copy h2 { font-size: 30px; }
  .about-story { padding-bottom: 50px; }
}


/* About page sections on a white canvas. */
.about-page .about-story { padding: 72px 0; }
.about-page .about-story-photo { height: 440px; }
.about-section-heading { max-width: 660px; margin-bottom: 32px; }
.about-section-heading h2,
.about-team h2 { margin: 14px 0 20px; }
.about-section-heading p,
.about-team-copy p { color: var(--muted); }
.about-partners .container,
.about-team .container { border-top: 1px solid var(--line); padding-top: 48px; }
.partner-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; list-style: none; margin: 0; padding: 0; }
.partner-list li { display: flex; align-items: center; justify-content: center; text-align: center; min-height: 110px; padding: 22px; border: 1px solid var(--line); border-radius: 16px; font-family: var(--heading-font); font-weight: 500; }
.about-team-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.about-team-copy p:last-child { margin-bottom: 0; }
.about-products-cta { text-align: center; padding: 72px 0 88px; }
.about-products-cta h2 { max-width: 650px; margin: 18px auto; }
.about-products-cta p { color: var(--muted); margin-bottom: 28px; }
@media (max-width: 1000px) {
  .partner-list { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
  .about-team-grid { grid-template-columns: 1fr; gap: 12px; }
  .about-page .about-story { padding: 48px 0; }
  .about-page .about-story-photo { height: 320px; }
  .about-partners .container,
  .about-team .container { padding-top: 30px; }
  .partner-list { gap: 12px; }
  .partner-list li { padding: 16px; font-size: .95rem; }
  .about-products-cta { padding: 48px 0 60px; }
}


/* Values and expandable moments gallery. */
.values-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.values-grid article { border-top: 3px solid var(--red); padding: 24px 0 0; }
.values-grid h3 { margin-bottom: 14px; }
.values-grid p { color: var(--muted); margin-bottom: 0; }
.moments-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.moment-card { border-radius: 16px; overflow: hidden; border: 1px solid var(--line); background: white; }
.moment-card img { width: 100%; aspect-ratio: 1.5; object-fit: cover; }
.moment-card span { display: block; padding: 16px; font-weight: 700; }
.moment-card:hover { border-color: var(--red); color: var(--red); }
.moment-dialog { width: min(1000px, calc(100% - 24px)); max-height: 92dvh; border: 0; border-radius: 20px; padding: 20px; color: var(--ink); background: white; }
.moment-dialog::backdrop { background: rgba(0, 0, 0, .8); }
.moment-toolbar, .moment-navigation { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.moment-dialog figure { margin: 16px 0; }
.moment-dialog figure img { width: 100%; height: min(60dvh, 650px); object-fit: contain; }
.moment-dialog figcaption { text-align: center; margin-top: 12px; }
@media (max-width: 1000px) {
  .values-grid, .moments-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .values-grid, .moments-grid { grid-template-columns: 1fr; }
  .moment-dialog { padding: 14px; }
}


/* Cinematic moments carousel. */
.moments-showcase { position: relative; isolation: isolate; overflow: hidden; color: white; background: #432d14; padding: 90px 0 64px; }
.moments-backdrop { position: absolute; inset: 0; z-index: -2; }
.moments-backdrop img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.moments-showcase::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(25,16,10,.86), rgba(25,16,10,.4)), linear-gradient(0deg, rgba(25,16,10,.55), transparent); }
.moments-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 48px; align-items: center; min-height: 460px; }
.moments-copy .eyebrow, .moments-copy h2 em { color: white; }
.moments-copy h2 { margin: 20px 0; font-style: normal; line-height: 1.15; }
.moments-copy h2 em { font-style: normal; }
.moments-copy p { color: #f4eee8; }
#moment-featured-caption { font-weight: 700; min-height: 3.3em; }
.moments-copy .btn { background: var(--red); border-color: rgba(255,255,255,.45); }
.moments-browser { min-width: 0; }
.moments-track { position: relative; display: flex; gap: 18px; overflow-x: auto; padding: 18px 4px; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #ffffff80 transparent; }
.moments-track .moment-card { position: relative; flex: 0 0 175px; height: 280px; padding: 0; border: 2px solid transparent; border-radius: 18px; color: white; text-align: left; scroll-snap-align: start; background: #432d14; transition: transform .35s, border-color .35s; }
.moments-track .moment-card img { width: 100%; height: 100%; object-fit: cover; }
.moments-track .moment-card span { position: absolute; inset: auto 0 0; padding: 45px 14px 18px; background: linear-gradient(transparent, #000c); font-family: var(--heading-font); line-height: 1.25; }
.moments-track .moment-card.is-active { transform: translateY(-8px); border-color: white; }
.moments-controls { display: flex; align-items: center; gap: 12px; margin-top: 20px; }
.moments-controls button { border: 1px solid #ffffff80; background: transparent; color: white; padding: 10px 16px; min-height: 44px; }
.moments-controls button:hover { background: #ffffff20; }
.moments-progress { height: 2px; background: #ffffff40; flex: 1; }
.moments-progress span { display: block; height: 100%; width: 16.667%; background: white; transition: width .45s ease; }
#moments-position { white-space: nowrap; font-family: var(--heading-font); }
.moments-showcase :focus-visible { outline-color: white; }
@media (max-width: 760px) {
  .moments-showcase { padding: 48px 0 36px; }
  .moments-layout { grid-template-columns: 1fr; gap: 26px; }
  .moments-copy h2 { font-size: 32px; }
  #moment-featured-caption { min-height: 0; }
  .moments-track .moment-card { flex-basis: 155px; height: 230px; }
  .moments-controls { gap: 8px; }
  .moments-controls button { padding: 10px 12px; }
}


/* Partners strip after the values: names await official logo assets. */
.partners-strip { background: white; padding: 48px 0 60px; }
.partners-strip .container { border-top: 0; padding-top: 0; }
.partners-strip h2 { text-align: center; font-size: 14px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 30px; }
.partners-strip h2::after { content: ""; display: block; width: 30px; height: 2px; background: var(--red); margin: 16px auto 0; }
.partners-carousel { display: flex; align-items: center; gap: 16px; }
.partners-strip .partner-list { display: flex; flex: 1; min-width: 0; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; padding: 8px 2px 14px; }
.partners-strip .partner-list li { flex: 0 0 calc((100% - 96px) / 5); min-height: 110px; padding: 12px; border: 0; border-radius: 0; scroll-snap-align: start; font-size: 18px; font-weight: 600; }
.partner-arrow { display: grid; place-items: center; flex: 0 0 44px; height: 44px; border: 0; background: transparent; color: var(--red); }
.partner-arrow svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; }
.partner-arrow:hover { background: var(--cream); }
.partner-arrow:disabled { opacity: .25; cursor: default; }
@media (max-width: 1000px) { .partners-strip .partner-list li { flex-basis: calc((100% - 48px) / 3); } }
@media (max-width: 600px) {
  .partners-carousel { gap: 4px; }
  .partners-strip .partner-list { gap: 16px; }
  .partners-strip .partner-list li { flex-basis: calc((100% - 16px) / 2); font-size: 15px; padding: 6px; }
}


/* Partners heading follows the other sections; arrows handle navigation. */
.partners-strip h2 {
  text-align: left;
  font-size: 32px;
  font-weight: 400;
  letter-spacing: -.045em;
  text-transform: none;
  margin: 0 0 30px;
}
.partners-strip h2::after { display: none; }
.partners-strip .partner-list { scrollbar-width: none; }
.partners-strip .partner-list::-webkit-scrollbar { display: none; }


/* Video hero for the about page, extending behind its menu. */
.about-video-hero { position: relative; isolation: isolate; overflow: hidden; }
.about-hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.about-video-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(0,0,0,.7), rgba(0,0,0,.3)); pointer-events: none; }
.about-video-hero :focus-visible { outline-color: white; }


/* Three values cards over a photographic band. */
.values-banner {
  height: 190px;
  border-radius: 20px;
  background: linear-gradient(rgba(67,45,20,.2), rgba(67,45,20,.35)), url("../assets/img/fundo%202.png") center 58% / cover;
}
.about-values .values-grid {
  position: relative;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin: -64px 28px 0;
}
.about-values .value-card {
  position: relative;
  padding: 48px 26px 32px;
  border: 0;
  border-radius: 8px;
  background: #432d14;
  color: white;
  text-align: center;
  box-shadow: 0 8px 22px rgba(67,45,20,.12);
}
.value-icon {
  display: grid;
  place-items: center;
  position: absolute;
  top: -26px;
  left: calc(50% - 28px);
  width: 56px;
  height: 56px;
  background: #432d14;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 50%;
}
.value-icon svg { width: 32px; height: 32px; }
.value-card h3 { text-transform: uppercase; letter-spacing: .06em; margin: 0 0 18px; }
.about-values .value-card p { color: #f4eee8; font-size: .95rem; line-height: 1.65; margin: 0; }
@media (max-width: 760px) {
  .values-banner { height: 150px; }
  .about-values .values-grid { grid-template-columns: 1fr; gap: 48px; margin: -40px 16px 0; }
  .about-values .value-card { padding: 44px 24px 30px; }
}


/* Values belong to the video hero, without a separate heading or image. */
.about-video-hero .about-values { margin-top: 64px; }
.about-video-hero .values-grid { margin: 0; }
.about-video-hero .value-card p { max-width: none; margin: 0; }
@media (max-width: 760px) {
  .about-video-hero .about-values { margin-top: 52px; }
  .about-video-hero .values-grid { margin: 0; }
}


/* Cards straddle the bottom edge of the video, as in the reference. */
.about-page .about-video-hero { padding-bottom: 130px; }
.values-overlap {
  position: relative;
  z-index: 1;
  margin-top: -64px;
  padding-bottom: 24px;
}
.values-overlap .values-grid { margin: 0 28px; }
@media (max-width: 760px) {
  .about-page .about-video-hero { padding-bottom: 100px; }
  .values-overlap { margin-top: -44px; }
  .values-overlap .values-grid { margin: 0 16px; }
}


/* Brand red on the values cards and their icons. */
.about-values .value-card,
.about-values .value-icon {
  background: var(--red);
}
