
  @font-face{
    font-family:'Quirlone';
    src: url('fonts/Quirlone-Variable.ttf') format('truetype-variations'), url('fonts/Quirlone-Variable.ttf') format('truetype');
    font-weight: 1 1000;
    font-style: normal;
    font-display: swap;
  }
  @font-face{
    font-family:'Quirlone';
    src: url('fonts/Quirlone-Italic-Variable.ttf') format('truetype-variations'), url('fonts/Quirlone-Italic-Variable.ttf') format('truetype');
    font-weight: 1 1000;
    font-style: italic;
    font-display: swap;
  }
  @font-face{
    font-family:'Nata Sans';
    src: url('fonts/NataSans-Variable.ttf') format('truetype-variations'), url('fonts/NataSans-Variable.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
  }

  :root{
    color-scheme: light;
    --forest:#034633;
    --forest-deep:#022c20;
    --teal:#006c6e;
    --lime:#ccff8f;
    --cream:#f4f1e6;
    --cream-2:#eeefe0;
    --ocre:#c17c3f;
    --rust:#8c3302;
    --coral:#ff9674;
    --amber:#f59476; /* Puhuk Gin accent (peach) */
    --lilac:#aca3f4;
    --ink:#1d1204;

    --font-display:'Quirlone', 'Iowan Old Style', Georgia, serif;
    --font-body:'Nata Sans', 'Nunito Sans', system-ui, -apple-system, sans-serif;

    /* Quirlone's variable weight axis runs 1(Thin)–1000(Black); named stops below */
    --qw-thin: 1;
    --qw-light: 251;
    --qw-regular: 376;
    --qw-medium: 500;
    --qw-semibold: 625;
    --qw-bold: 750;
    --qw-black: 1000;

    --container: 1180px;
    --edge: clamp(1.5rem, 5vw, 4rem);
  }

  *,*::before,*::after{box-sizing:border-box;}
  html{scroll-behavior:smooth; scroll-padding-top:var(--header-h, 90px);}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *,*::before,*::after{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
  }

  body{
    margin:0;
    background:var(--cream);
    color:var(--ink);
    font-family:var(--font-body);
    font-size:16px;
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
  }

  img{max-width:100%; display:block;}
  a{color:inherit;}
  button{font-family:inherit;}

  h1,h2,h3{
    font-family:var(--font-display);
    font-weight:var(--qw-medium);
    margin:0;
    text-wrap:balance;
  }

  p{margin:0;}

  .eyebrow{
    font-family:var(--font-body);
    font-weight:700;
    letter-spacing:0.16em;
    text-transform:uppercase;
    font-size:0.72rem;
  }

  .container{
    max-width:var(--container);
    margin:0 auto;
    padding-left:var(--edge);
    padding-right:var(--edge);
  }

  .btn{
    display:inline-flex;
    align-items:center;
    gap:0.6rem;
    font-family:var(--font-body);
    font-weight:700;
    letter-spacing:0.04em;
    text-transform:uppercase;
    font-size:0.82rem;
    padding:0.95rem 1.9rem;
    border-radius:100px;
    border:1.5px solid currentColor;
    text-decoration:none;
    background:transparent;
    cursor:pointer;
    transition:transform .25s ease, background .25s ease, color .25s ease;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn:focus-visible{outline:3px solid currentColor; outline-offset:3px;}

  .btn-solid{
    background:var(--ink);
    color:var(--cream);
    border-color:var(--ink);
  }
  .btn-solid:hover{background:transparent; color:var(--ink);}

  /* ---------- NAV ---------- */
  header.site{
    position:fixed;
    top:0; left:0; right:0;
    z-index:100;
  }
  .nav-bg{
    position:absolute; inset:0; z-index:-1;
    background:rgba(204,255,143,0.82);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(3,70,51,0.12);
    transition:background .4s ease, box-shadow .4s ease, border-color .4s ease;
  }
  header.site.scrolled .nav-bg{
    background:rgba(204,255,143,0.96);
    box-shadow:0 12px 28px rgba(3,70,51,0.14);
    border-bottom-color:rgba(3,70,51,0.08);
  }
  .nav-inner{
    max-width:var(--container);
    margin:0 auto;
    padding: 0.9rem var(--edge);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:2rem;
  }
  .logo{
    display:flex;
    align-items:center;
    text-decoration:none;
    flex-shrink:0;
  }
  .logo img{
    height:clamp(28px, 3.4vw, 34px);
    width:auto;
  }
  .links{
    display:flex;
    gap:clamp(1rem,2vw,2.1rem);
    list-style:none;
    margin:0; padding:0;
    flex-wrap:wrap;
  }
  .links a{
    text-decoration:none;
    font-weight:700;
    font-size:0.78rem;
    letter-spacing:0.09em;
    text-transform:uppercase;
    color:var(--forest);
    position:relative;
    padding-bottom:4px;
  }
  .links a::after{
    content:'';
    position:absolute; left:0; right:100%; bottom:0;
    height:2px; background:var(--teal);
    transition:right .3s cubic-bezier(.16,.8,.4,1);
  }
  .links a:hover::after, .links a:focus-visible::after{right:0;}
  .nav-toggle{display:none;}
  .nav-buy{
    flex-shrink:0;
    padding:0.6rem 1.4rem;
    font-size:0.72rem;
    background:var(--forest-deep); color:var(--lime); border-color:var(--forest-deep);
  }
  .nav-buy:hover{background:transparent; color:var(--forest-deep);}
  .nav-buy-mobile{display:none;}
  .nav-actions{display:flex; align-items:center; gap:0.6rem; flex-shrink:0;}
  .visually-hidden{
    position:absolute; width:1px; height:1px; padding:0; margin:-1px;
    overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
  }
  .nav-cart-mobile{display:none;}

  @media (max-width: 600px){
    .scroll-cue{display:none;}
  }

  @media (max-width: 880px){
    .links{
      position:fixed; inset:64px 0 0 0;
      background:var(--lime);
      flex-direction:column;
      padding:2rem var(--edge);
      gap:1.4rem;
      transform:translateX(100%);
      transition:transform .4s cubic-bezier(.16,.8,.4,1);
    }
    .links.open{transform:translateX(0);}
    .nav-toggle{
      display:inline-flex;
      background:none; border:none; cursor:pointer;
      flex-direction:column; gap:5px; padding:8px;
    }
    .nav-toggle span{width:22px; height:2px; background:var(--forest);}
    .nav-buy{display:none;}
    .nav-buy-mobile{display:block; margin-top:0.6rem;}
    .nav-buy-mobile .btn{width:100%; justify-content:center;}
    .nav-cart-mobile{
      display:inline-flex; align-items:center; justify-content:center;
      width:38px; height:38px; padding:0; border-radius:999px;
      background:var(--forest-deep); color:var(--lime); border:1px solid var(--forest-deep);
    }
    .nav-cart-mobile svg{width:18px; height:18px;}
  }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    min-height:100svh;
    display:flex;
    align-items:flex-end;
    background:var(--forest-deep);
    overflow:hidden;
  }
  .hero-img-wrap{position:absolute; inset:-5% -5% 0; overflow:hidden; will-change:transform;}
  .hero-img{
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:cover;
    opacity:0;
    transform-origin:center;
    transition:opacity 1.6s ease;
    animation:hero-kenburns 28s ease-in-out infinite alternate;
  }
  .hero-img.is-active{opacity:1; z-index:1;}
  @keyframes hero-kenburns{ from{transform:scale(1);} to{transform:scale(1.09);} }
  .hero-dots{
    position:absolute; right:clamp(1.5rem,5vw,4rem); bottom:1.8rem; z-index:3;
    display:flex; gap:0.5rem;
  }
  .hero-dots button{
    width:8px; height:8px; border-radius:50%; padding:0; border:1.5px solid rgba(244,241,230,0.7);
    background:transparent; cursor:pointer; transition:background .3s ease, transform .3s ease;
  }
  .hero-dots button.is-active{background:var(--lime); border-color:var(--lime); transform:scale(1.2);}
  @media (max-width:600px){ .hero-dots{display:none;} }
  .hero-blob{
    position:absolute;
    right:-8%; top:-10%;
    width:min(60vw, 780px);
    opacity:0.9;
    filter:drop-shadow(0 20px 40px rgba(0,0,0,0.25));
    pointer-events:none;
  }
  .hero-inner{
    position:relative; z-index:2;
    max-width:var(--container);
    margin:0 auto;
    padding: 0 var(--edge) clamp(3rem,8vw,6rem);
    width:100%;
    color:var(--cream);
    text-shadow:0 4px 24px rgba(0,0,0,0.55), 0 1px 3px rgba(0,0,0,0.5);
  }
  @keyframes hero-fade-up{ from{opacity:0; transform:translateY(26px);} to{opacity:1; transform:translateY(0);} }
  .hero h1{
    font-weight:var(--qw-regular);
    font-size:clamp(3rem, 2.2rem + 7vw, 7.6rem);
    line-height:1.02;
    margin-top:0;
    color:var(--cream);
    animation:hero-fade-up 1s cubic-bezier(.16,.8,.4,1) .18s backwards;
  }
  .hero h1 em{
    font-style:italic;
    color:var(--coral);
  }
  .hero-cta{margin-top:2.4rem; display:flex; gap:0.8rem; flex-wrap:wrap; animation:hero-fade-up 1s cubic-bezier(.16,.8,.4,1) .4s backwards;}
  .hero-cta .btn{color:var(--cream); border-color:rgba(244,241,230,0.55); padding:0.85rem 1.5rem; font-size:0.76rem;}
  .hero-cta .btn:hover{background:rgba(244,241,230,0.12);}
  .hero-cta .btn-solid{background:var(--lime); color:var(--forest-deep); border-color:var(--lime);}
  .hero-cta .btn-solid:hover{background:transparent; color:var(--lime);}

  .scroll-cue{
    position:absolute; bottom:1.6rem; left:50%; transform:translateX(-50%);
    z-index:2; color:var(--cream); opacity:0.75;
    display:flex; flex-direction:column; align-items:center; gap:6px;
    font-size:0.68rem; letter-spacing:0.18em; text-transform:uppercase;
  }
  .scroll-cue .line{width:1px; height:30px; background:currentColor; animation:cue 2s ease-in-out infinite;}
  @keyframes cue{0%{transform:scaleY(0); transform-origin:top;} 50%{transform:scaleY(1); transform-origin:top;} 51%{transform-origin:bottom;} 100%{transform:scaleY(0); transform-origin:bottom;}}

  /* ---------- BRAND STRIP (marquee) ---------- */
  .brand-strip{background:var(--lime); overflow:hidden; padding:1.1rem 0;}
  .marquee{display:flex; width:max-content; animation:marquee-scroll 32s linear infinite;}
  .marquee-group{display:flex; align-items:center; flex-shrink:0;}
  .marquee-item{
    display:flex; align-items:center; gap:0.9rem;
    padding:0 clamp(1.2rem,2.6vw,2.4rem);
  }
  .marquee-item img.mark{height:clamp(16px,2vw,20px); width:auto;}
  .marquee-item img.diamond{height:clamp(12px,1.5vw,15px); width:auto;}
  .marquee-item span{
    font-family:var(--font-display); font-style:italic; font-weight:var(--qw-light);
    font-size:clamp(1.05rem,1.9vw,1.5rem); color:var(--forest-deep);
    white-space:nowrap; letter-spacing:0.01em;
  }
  @keyframes marquee-scroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

  /* ---------- SECTION GENERIC ---------- */
  section{position:relative;}
  .pad{padding: clamp(4.5rem,9vw,8.5rem) 0;}

  .section-head{
    max-width:52ch;
  }
  .section-head .eyebrow{margin-bottom:1rem; display:block;}
  .section-head h2{font-size:clamp(2rem, 1.6rem + 2.4vw, 3.4rem); line-height:1.05;}

  /* ---------- MISSION ---------- */
  .mission{background:var(--cream);}
  .mission-grid{
    display:grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap:clamp(2rem,5vw,5rem);
    align-items:center;
  }
  .mission-title{
    font-family:var(--font-display);
    font-weight:var(--qw-regular);
    font-size:clamp(1.7rem, 1.3rem + 2vw, 2.6rem);
    line-height:1.12;
    color:var(--forest);
    margin-top:0.8rem;
  }
  .mission-quote{
    font-family:var(--font-display);
    font-weight:var(--qw-light);
    font-style:italic;
    font-size:clamp(1.15rem, 1rem + 0.8vw, 1.5rem);
    line-height:1.5;
    color:rgba(29,18,4,0.75);
  }
  .mission-side p{
    font-size:1.02rem;
    line-height:1.75;
    color:rgba(29,18,4,0.82);
    margin-bottom:1.4rem;
  }
  .graphic-strip{width:100%; height:auto; margin-top:1.5rem; opacity:0.9;}

  .pillars{
    margin-top:clamp(3rem,6vw,5rem);
    padding-top:clamp(2.5rem,5vw,3.5rem);
    border-top:1px solid rgba(3,70,51,0.15);
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:clamp(1.8rem,4vw,3rem);
  }
  .pillar-n{
    font-family:var(--font-display); font-style:italic; font-weight:var(--qw-light);
    font-size:1.3rem; color:var(--ocre);
  }
  .pillar h4{
    margin-top:0.5rem; font-size:1.2rem; color:var(--forest);
  }
  .pillar p{margin-top:0.5rem; font-size:0.96rem; line-height:1.6; color:rgba(29,18,4,0.72);}
  .mission-close{
    margin-top:clamp(2.5rem,5vw,3.5rem);
    font-family:var(--font-display); font-weight:var(--qw-regular);
    font-size:clamp(1.3rem,1.05rem + 1vw,1.9rem);
    color:var(--forest);
    text-align:center;
  }
  .mission-close em{font-style:italic; color:var(--rust);}
  @media (max-width:880px){
    .mission-grid{grid-template-columns:1fr;}
    .pillars{grid-template-columns:1fr; gap:2rem;}
  }

  /* ---------- ABOUT (unified) ---------- */
  .about{background:var(--cream);}
  .about-grid{
    display:grid;
    grid-template-columns:1.3fr 0.9fr;
    gap:clamp(2.5rem,5vw,4.5rem);
    align-items:start;
  }
  .about-lead > p{font-size:1.02rem; line-height:1.75; color:rgba(29,18,4,0.82); margin-top:1.4rem;}
  .about-name{
    background:rgba(3,70,51,0.06);
    border:1px solid rgba(3,70,51,0.14);
    border-radius:20px;
    padding:clamp(1.8rem,3vw,2.6rem);
  }
  .name-eyebrow{
    font-size:0.72rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--rust);
    display:block;
  }
  .name-word{
    display:block; margin-top:0.8rem;
    font-family:var(--font-display); font-style:italic; font-weight:var(--qw-light);
    font-size:clamp(2.2rem,1.8rem + 2vw,3.2rem); line-height:0.9; color:var(--forest);
  }
  .name-meaning{display:block; margin-top:0.5rem; font-size:0.92rem; color:rgba(29,18,4,0.55);}
  .about-name p{margin-top:1.1rem; font-size:0.94rem; line-height:1.68; color:rgba(29,18,4,0.75);}
  .about-name p strong{color:var(--forest);}
  .name-ref{margin-top:1.2rem !important; font-size:0.7rem; line-height:1.5; color:rgba(29,18,4,0.42) !important;}
  .name-ref em{font-style:italic;}

  .offers{
    margin-top:clamp(3rem,6vw,4.5rem);
    padding-top:clamp(2.2rem,4vw,3rem);
    border-top:1px solid rgba(3,70,51,0.15);
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:clamp(1.4rem,3vw,2rem);
  }
  .offer{
    position:relative;
    display:block; text-decoration:none;
    padding:clamp(1.6rem,2.6vw,2.2rem);
    border-radius:16px;
    min-height:280px;
    display:flex; flex-direction:column; justify-content:flex-end;
    overflow:hidden;
    isolation:isolate;
    border:1px solid rgba(3,70,51,0.1);
    transition:transform .3s cubic-bezier(.16,.8,.4,1), box-shadow .3s ease, border-color .3s ease;
  }
  .offer img{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
    z-index:-2;
    transition:transform .6s cubic-bezier(.2,.7,.3,1);
  }
  .offer::before{
    content:'';
    position:absolute; inset:0; z-index:-1;
    background:linear-gradient(180deg, rgba(2,20,14,0.12) 0%, rgba(2,20,14,0.86) 82%);
  }
  .offer:hover{transform:translateY(-5px); box-shadow:0 22px 40px rgba(3,70,51,0.25); border-color:var(--offer-accent);}
  .offer:hover img{transform:scale(1.06);}
  .offer-n{font-family:var(--font-display); font-style:italic; font-weight:var(--qw-light); font-size:1.15rem; color:var(--offer-accent);}
  .offer h4{margin-top:0.6rem; font-family:var(--font-display); font-weight:var(--qw-regular); font-size:1.25rem; color:var(--cream);}
  .offer p{margin-top:0.5rem; font-size:0.92rem; line-height:1.55; color:rgba(244,241,230,0.82);}
  .offer-go{display:inline-block; margin-top:1.1rem; font-size:0.7rem; font-weight:700; letter-spacing:0.09em; text-transform:uppercase; color:var(--offer-accent);}
  @media (max-width:880px){
    .about-grid{grid-template-columns:1fr;}
    .offers{grid-template-columns:1fr;}
  }

  /* ---------- CARDS (territorios) ---------- */
  .territorios{background:var(--forest); padding-bottom:0;}
  .territorios .section-head{color:var(--cream); margin:0 auto; text-align:center; max-width:44ch;}
  .territorios .section-head .eyebrow{color:var(--lime);}
  .territorios .section-head h2{color:var(--cream);}
  .card-grid{
    margin-top:clamp(2.5rem,5vw,4.5rem);
    display:grid;
    grid-template-columns:repeat(3,1fr);
  }
  .t-card{
    position:relative;
    min-height:520px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:2.4rem;
    text-decoration:none;
    isolation:isolate;
  }
  .t-card img{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
    transition:transform .6s cubic-bezier(.2,.7,.3,1);
    z-index:-2;
  }
  .t-card:hover img{transform:scale(1.06);}
  .t-card::before{
    content:'';
    position:absolute; inset:0; z-index:-1;
    background:linear-gradient(180deg, rgba(0,0,0,0.05) 0%, var(--tint,rgba(0,0,0,0.75)) 78%);
  }
  .t-card .tk{
    font-family:var(--font-body); font-weight:800; font-size:0.72rem;
    letter-spacing:0.14em; text-transform:uppercase; color:var(--card-accent,#fff);
    margin-bottom:0.7rem;
  }
  .t-card h3{
    color:#fff; font-size:1.7rem; line-height:1.12; margin-bottom:0.7rem;
  }
  .t-card p{color:rgba(255,255,255,0.82); font-size:0.94rem; line-height:1.55; max-width:32ch;}
  .t-card .go{
    margin-top:1.2rem; display:inline-flex; align-items:center; gap:.5rem;
    font-size:0.78rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase;
    color:var(--card-accent,#fff);
  }
  @media (max-width:880px){
    .card-grid{grid-template-columns:1fr;}
    .t-card{min-height:400px;}
  }

  /* ---------- SENTIR ---------- */
  .sentir{
    background:var(--teal);
    color:var(--cream);
    overflow:hidden;
  }
  .sentir-grid{
    display:grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap:clamp(2rem,6vw,5rem);
    align-items:center;
  }
  .sentir-word{
    font-family:var(--font-display);
    font-weight:var(--qw-light);
    font-size:clamp(4.5rem, 3rem + 9vw, 10rem);
    line-height:0.85;
    color:var(--lime);
    font-style:italic;
  }
  .sentir-copy{font-size:1.12rem; line-height:1.8; color:rgba(244,241,230,0.92); max-width:58ch;}
  .sentir-copy strong{color:var(--lime); font-weight:600;}
  .sentir-meaning{display:block; margin-top:1rem; font-size:1.1rem; color:var(--cream); opacity:0.85;}
  .sentir-ref{margin-top:1.6rem; font-size:0.78rem; line-height:1.6; color:rgba(244,241,230,0.5); max-width:58ch;}
  .sentir-ref em{font-style:italic;}
  .sentir-collage{position:relative; height:clamp(280px,38vw,460px);}
  .sentir-collage img{
    position:absolute; border-radius:14px; box-shadow:0 25px 50px rgba(0,0,0,0.35);
    object-fit:cover;
  }
  .sentir-collage .c1{width:58%; height:82%; left:0; top:6%;}
  .sentir-collage .c2{width:46%; height:52%; right:0; top:0;}
  .sentir-collage .c3{width:40%; height:40%; right:2%; bottom:0;}
  @media (max-width:880px){
    .sentir-grid{grid-template-columns:1fr;}
    .sentir-collage{margin-top:1rem;}
  }

  /* ---------- DEEP-DIVE SECTIONS ---------- */
  .deep{overflow:hidden;}
  .deep-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:clamp(2.5rem,6vw,5.5rem);
    align-items:center;
  }
  .deep-grid.reverse .deep-media{order:2;}
  .deep-grid.reverse .deep-text{order:1;}
  .deep-text p{font-size:1.04rem; line-height:1.8; margin-top:1.4rem;}
  .deep-tags{display:flex; gap:0.6rem; flex-wrap:wrap; margin-top:1.6rem;}
  .deep-tags span{
    font-size:0.72rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase;
    padding:0.5rem 0.9rem; border-radius:100px; border:1px solid currentColor;
  }
  .deep-cta{margin-top:2rem;}

  .deep-media{position:relative;}
  .media-stack{position:relative; height:clamp(340px,42vw,540px);}
  .media-stack img{position:absolute; border-radius:16px; object-fit:cover; box-shadow:0 30px 60px rgba(0,0,0,0.3); transition:opacity 1s cubic-bezier(.16,.8,.24,1), transform .6s cubic-bezier(.2,.7,.3,1);}
  .media-stack .m1{width:72%; height:78%; left:0; bottom:0;}
  .media-stack .m2{width:46%; height:46%; right:0; top:0; border:6px solid;}
  .media-stack:hover .m1{transform:scale(1.03);}
  .media-stack:hover .m2{transform:scale(1.05);}

  .origem{background:var(--cream);}
  .origem .eyebrow{color:var(--rust);}
  .origem .media-stack .m2{border-color:var(--cream);}

  .gin{position:relative; color:#f7ecd8;}
  .gin .eyebrow{color:var(--amber);}
  .brand-logo-title{display:flex; align-items:flex-end; gap:0.8rem; flex-wrap:wrap;}
  .brand-logo-title img{height:clamp(30px,4.2vw,46px); width:auto; display:block;}
  .brand-logo-title span{font-family:var(--font-display); font-style:italic; font-weight:var(--qw-light); font-size:clamp(1.5rem,2.8vw,2.1rem); line-height:1; padding-bottom:0.1rem;}
  .gin .brand-logo-title span{color:var(--amber);}
  .abelhas .brand-logo-title span{color:var(--lilac);}
  .gallery .brand-logo-title span{color:var(--coral);}
  .gin .deep-text p{color:rgba(247,236,216,0.86);}
  .gin .deep-tags span{color:var(--amber);}
  .gin .media-stack .m2{border-color:#024633;}
  .gin .btn{color:var(--amber); border-color:var(--amber);}
  .gin .btn:hover{background:var(--amber); color:#024633;}
  .gin .btn-solid{background:var(--amber); color:#024633; border-color:var(--amber);}
  .gin .btn-solid:hover{background:transparent; color:var(--amber);}
  .media-single{border-radius:16px; overflow:hidden; box-shadow:0 30px 60px rgba(0,0,0,0.35);}
  .media-single img{display:block; width:100%; height:clamp(320px,38vw,480px); object-fit:cover; transition:opacity 1s cubic-bezier(.16,.8,.24,1), transform .7s cubic-bezier(.2,.7,.3,1);}
  .media-single:hover img{transform:scale(1.04);}

  /* ---------- SECTION PHOTO BACKGROUNDS (gin / abelhas / experiências) ---------- */
  .section-bg{position:absolute; inset:0; overflow:hidden; z-index:0; pointer-events:none;}
  .section-bg img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
  .section-bg .tint{position:absolute; inset:0;}
  .section-bg svg{position:absolute;}
  .gin > .container, .abelhas > .container, .gallery > .container{position:relative; z-index:1;}
  .gin .section-bg .tint{background:rgba(2,70,51,0.85);}
  .gin .section-bg svg{color:var(--amber); opacity:0.62; top:-10%; right:-4%; width:30%; height:auto; transform:rotate(4deg);}
  .abelhas .section-bg .tint{background:rgba(2,44,32,0.86);}
  .abelhas .section-bg svg{color:var(--lilac); opacity:0.32; bottom:-8%; left:-6%; width:36%; height:auto;}
  .gallery{position:relative; overflow:hidden;}
  .gallery .section-bg .tint{background:rgba(193,124,63,0.84);}
  .gallery .section-bg svg{color:var(--coral); opacity:0.3; top:-8%; right:-6%; width:30%; height:auto; transform:rotate(-6deg);}
  @media (max-width:700px){
    .gin .section-bg svg, .abelhas .section-bg svg, .gallery .section-bg svg{width:58%;}
  }

  .gin-process{margin-top:clamp(4rem,8vw,6.5rem); padding-top:clamp(3rem,6vw,4.5rem); border-top:1px solid rgba(247,236,216,0.15);}
  .process-title{
    font-family:var(--font-display); font-weight:var(--qw-regular);
    font-size:clamp(1.6rem,1.3rem + 1.6vw,2.3rem); color:#fff; margin-top:0.6rem;
  }
  .process-row{
    margin-top:clamp(2.2rem,4vw,3rem);
    display:grid;
    grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;
    align-items:start;
    gap:1.2rem;
  }
  .process-step{max-width:30ch;}
  .process-n{font-family:var(--font-display); font-style:italic; font-weight:var(--qw-light); font-size:1.2rem; color:var(--amber);}
  .process-step h4{margin-top:0.5rem; font-size:1.15rem; color:#fff;}
  .process-lead{margin-top:0.4rem; font-weight:700; font-size:0.92rem; color:rgba(247,236,216,0.75);}
  .process-step p:not(.process-lead){margin-top:0.5rem; font-size:0.9rem; line-height:1.6; color:rgba(247,236,216,0.7);}
  .process-arrow{color:var(--amber); font-size:1.4rem; opacity:0.5; padding-top:0.3rem;}
  @media (max-width:1000px){
    .process-row{grid-template-columns:1fr; gap:2rem;}
    .process-arrow{display:none;}
    .process-step{max-width:52ch;}
  }

  .gin-products{margin-top:clamp(4rem,8vw,6.5rem); padding-top:clamp(3rem,6vw,4.5rem); border-top:1px solid rgba(247,236,216,0.15);}
  .product-grid{
    margin-top:clamp(2.2rem,4vw,3rem);
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:clamp(1.6rem,3vw,2.4rem);
  }
  .product-card{
    background:rgba(247,236,216,0.05);
    border:1px solid rgba(247,236,216,0.15);
    border-radius:16px;
    padding:clamp(1.8rem,3vw,2.6rem);
  }
  .product-bottle{
    border-radius:12px;
    overflow:hidden;
    margin:0 0 1.4rem;
    aspect-ratio:896/1195;
    border:4px solid rgba(247,236,216,0.9);
  }
  .product-bottle img{width:100%; height:100%; object-fit:cover; display:block; transition:opacity 1s cubic-bezier(.16,.8,.24,1), transform .6s cubic-bezier(.2,.7,.3,1);}
  .product-card:hover .product-bottle img{transform:scale(1.04);}
  .product-card .tk{font-weight:800; font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--amber);}
  .product-card h4{margin-top:0.6rem; font-family:var(--font-display); font-weight:var(--qw-regular); font-size:1.5rem; color:#fff;}
  .product-card > p{margin-top:0.9rem; font-size:0.98rem; line-height:1.65; color:rgba(247,236,216,0.8);}
  .product-info{margin-top:1.1rem;}
  .product-info span{font-size:0.68rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:rgba(247,236,216,0.5);}
  .product-info p{margin-top:0.25rem; font-size:0.92rem; color:rgba(247,236,216,0.85);}
  .product-card .btn{margin-top:1.5rem; padding:0.7rem 1.4rem; font-size:0.72rem;}
  .product-card--oldtom{--gold:#e3c258;}
  .product-card--oldtom .tk{color:var(--gold);}
  .product-card--oldtom .product-price{color:var(--gold);}
  .gin .product-card--oldtom .btn{color:var(--gold); border-color:var(--gold);}
  .gin .product-card--oldtom .btn:hover{background:var(--gold); color:#024633;}
  @media (max-width:760px){
    .product-grid{grid-template-columns:1fr;}
  }

  .abelhas{position:relative; background:var(--forest-deep); color:var(--cream);}
  .abelhas .eyebrow{color:var(--lilac);}
  .abelhas .deep-text p{color:rgba(244,241,230,0.86);}
  .abelhas .deep-tags span{color:var(--lilac);}
  .abelhas .media-stack .m2{border-color:var(--forest-deep);}
  .abelhas .btn{color:var(--lilac); border-color:var(--lilac);}
  .abelhas .btn:hover{background:var(--lilac); color:var(--forest-deep);}

  .abelhas-quote{
    margin-top:clamp(4rem,8vw,6.5rem); padding-top:clamp(3rem,6vw,4.5rem);
    border-top:1px solid rgba(244,241,230,0.15);
    text-align:center; max-width:52ch; margin-left:auto; margin-right:auto;
  }
  .quote-big{
    font-family:var(--font-display); font-weight:var(--qw-light); font-style:italic;
    font-size:clamp(2.2rem,1.7rem + 3vw,3.6rem); line-height:1.1; color:var(--lilac);
  }
  .quote-support{margin-top:1.4rem; font-size:1.02rem; line-height:1.7; color:rgba(244,241,230,0.8);}

  .abelhas-split{
    margin-top:clamp(3.5rem,7vw,5.5rem);
    display:grid; grid-template-columns:1fr 1fr;
    gap:clamp(2rem,4vw,3.5rem);
    padding-top:clamp(2.5rem,5vw,3.5rem);
    border-top:1px solid rgba(244,241,230,0.15);
  }
  .split-col h4{margin-top:0.6rem; font-family:var(--font-display); font-weight:var(--qw-regular); font-size:1.4rem; color:#fff;}
  .split-col p{margin-top:0.8rem; font-size:0.98rem; line-height:1.7; color:rgba(244,241,230,0.82);}
  .split-col .btn{margin-top:1.3rem; padding:0.7rem 1.4rem; font-size:0.72rem;}
  @media (max-width:760px){ .abelhas-split{grid-template-columns:1fr;} }

  .abelhas-close{
    margin-top:clamp(3.5rem,7vw,5.5rem);
    text-align:center;
    font-family:var(--font-display); font-weight:var(--qw-regular);
    font-size:clamp(1.3rem,1.05rem + 1vw,1.8rem);
    color:#fff;
  }
  .abelhas-close .btn-solid{background:var(--lilac); color:var(--forest-deep); border-color:var(--lilac); display:inline-flex;}
  .abelhas-close .btn-solid:hover{background:transparent; color:var(--lilac);}

  @media (max-width:880px){
    .deep-grid, .deep-grid.reverse{grid-template-columns:1fr;}
    .deep-grid.reverse .deep-media{order:1;}
    .deep-grid.reverse .deep-text{order:2;}
  }

  /* ---------- GALLERY ---------- */
  .gallery{background:var(--ocre); color:#2b1704;}
  .gallery .eyebrow{color:#2b1704;}
  .gallery .section-head{max-width:60ch;}
  .exp-lead{margin-top:1.2rem; font-size:1.02rem; line-height:1.7; color:rgba(43,23,4,0.78); max-width:60ch;}

  /* ---------- EXPERIENCE BANNER (single photo at a time) ---------- */
  .exp-banner{
    position:relative;
    margin-top:3rem;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 30px 60px rgba(43,23,4,0.25);
    height:clamp(380px,50vw,660px);
    background:#2b1704;
  }
  .exp-banner-img{
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:cover;
    opacity:0;
    transform-origin:center;
    transition:opacity 1.2s ease;
    animation:hero-kenburns 24s ease-in-out infinite alternate;
  }
  .exp-banner-img.is-active{opacity:1; z-index:1;}
  .exp-banner::after{
    content:'';
    position:absolute; inset:0; z-index:2; pointer-events:none;
    background:linear-gradient(0deg, rgba(20,10,2,0.72) 0%, rgba(20,10,2,0.08) 42%, rgba(20,10,2,0) 66%);
  }
  .exp-banner-cap{position:absolute; left:clamp(1.4rem,4vw,2.6rem); bottom:clamp(1.3rem,3.5vw,2.2rem); z-index:3; color:#fff;}
  .exp-banner-cap .k{font-weight:800; font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase; opacity:0.85;}
  .exp-banner-cap .t{font-family:var(--font-display); font-size:clamp(1.5rem,1.1rem + 1.6vw,2.3rem); margin-top:0.35rem;}
  @media (max-width:600px){ .exp-banner{height:clamp(300px,78vw,440px);} }

  .exp-banner-controls{margin-top:1.4rem; display:flex; align-items:center; justify-content:space-between; gap:1.4rem; flex-wrap:wrap;}
  .exp-banner-dots{display:flex; gap:0.5rem;}
  .exp-banner-dots button{
    width:8px; height:8px; border-radius:50%; padding:0; border:1.5px solid rgba(43,23,4,0.4);
    background:transparent; cursor:pointer; transition:background .3s ease, transform .3s ease, border-color .3s ease;
  }
  .exp-banner-dots button.is-active{background:var(--coral); border-color:var(--coral); transform:scale(1.25);}
  .gallery-nav{display:flex; gap:0.7rem;}
  .gallery-nav button{
    width:48px; height:48px; border-radius:50%; padding:0;
    border:1.5px solid rgba(43,23,4,0.35); background:transparent; color:#2b1704;
    display:flex; align-items:center; justify-content:center; cursor:pointer;
    transition:background .3s ease, border-color .3s ease, color .3s ease, transform .2s ease;
  }
  .gallery-nav button svg{width:18px; height:18px; display:block;}
  .gallery-nav button:hover{background:var(--coral); border-color:var(--coral); color:#fff; transform:scale(1.06);}
  @media (max-width:600px){ .gallery-nav button{width:40px; height:40px;} .gallery-nav button svg{width:15px; height:15px;} }

  .featured-exp{
    margin-top:clamp(4rem,8vw,6rem);
    padding-top:clamp(3rem,6vw,4rem);
    border-top:1px solid rgba(43,23,4,0.15);
    display:grid; grid-template-columns:0.9fr 1.1fr;
    gap:clamp(2rem,5vw,4rem);
    align-items:center;
  }
  .featured-media{border-radius:18px; overflow:hidden; box-shadow:0 30px 60px rgba(43,23,4,0.25);}
  .featured-media img{width:100%; height:clamp(280px,32vw,420px); object-fit:cover; transition:opacity 1s cubic-bezier(.16,.8,.24,1), transform .7s cubic-bezier(.2,.7,.3,1);}
  .featured-media:hover img{transform:scale(1.04);}
  .featured-text h3{
    margin-top:0.7rem; font-family:var(--font-display); font-weight:var(--qw-regular);
    font-size:clamp(1.9rem,1.5rem + 1.8vw,2.7rem); color:#2b1704;
  }
  .featured-sub{margin-top:0.6rem; font-style:italic; font-family:var(--font-display); font-weight:var(--qw-light); font-size:1.15rem; color:rgba(43,23,4,0.75);}
  .featured-text > p:not(.featured-sub){margin-top:1rem; font-size:0.98rem; line-height:1.7; color:rgba(43,23,4,0.78);}
  .featured-text .btn-solid{margin-top:1.5rem; background:#2b1704; color:var(--ocre); border-color:#2b1704;}
  .featured-text .btn-solid:hover{background:transparent; color:#2b1704;}
  @media (max-width:880px){ .featured-exp{grid-template-columns:1fr;} }

  .journey{margin-top:clamp(4rem,8vw,6rem); padding-top:clamp(3rem,6vw,4rem); border-top:1px solid rgba(43,23,4,0.15);}
  .journey-grid{
    margin-top:clamp(2.2rem,4vw,3rem);
    display:grid; grid-template-columns:repeat(3,1fr);
    gap:clamp(1.8rem,3.5vw,2.6rem);
  }
  .journey-step .process-n{color:#2b1704;}
  .journey-step h4{margin-top:0.5rem; font-size:1.15rem; color:#2b1704;}
  .journey-step .process-lead{color:rgba(43,23,4,0.7);}
  .journey-step p:not(.process-lead){color:rgba(43,23,4,0.68);}
  @media (max-width:880px){ .journey-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:560px){ .journey-grid{grid-template-columns:1fr;} }

  .practical{
    margin-top:clamp(4rem,8vw,6rem);
    padding-top:clamp(2.5rem,5vw,3.5rem);
    border-top:1px solid rgba(43,23,4,0.15);
    display:flex; flex-wrap:wrap; align-items:center; gap:clamp(1.8rem,4vw,3rem);
  }
  .practical-item span{display:block; font-size:0.68rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:rgba(43,23,4,0.55);}
  .practical-item p{margin-top:0.3rem; font-size:0.96rem; color:#2b1704; max-width:22ch;}
  .practical .btn-solid{margin-left:auto; background:#2b1704; color:var(--ocre); border-color:#2b1704;}
  .practical .btn-solid:hover{background:transparent; color:#2b1704;}
  @media (max-width:760px){ .practical .btn-solid{margin-left:0;} }

  /* ---------- LOCATION ---------- */
  .location{background:var(--cream);}
  .loc-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:clamp(2.5rem,6vw,5rem);
    align-items:center;
  }
  .loc-photo{border-radius:18px; overflow:hidden; box-shadow:0 30px 60px rgba(3,70,51,0.22); transform:rotate(-1.2deg);}
  .loc-photo img{transition:opacity 1s cubic-bezier(.16,.8,.24,1), transform .7s cubic-bezier(.2,.7,.3,1);}
  .loc-photo:hover img{transform:scale(1.04);}
  .loc-info .addr{font-family:var(--font-display); font-size:1.5rem; margin-top:1.2rem; color:var(--forest);}
  .loc-info p{margin-top:1.3rem; font-size:1.02rem; line-height:1.75; color:rgba(29,18,4,0.8);}
  .loc-meta{margin-top:2rem; display:flex; flex-direction:column; gap:0.5rem; font-size:0.95rem;}
  .loc-meta a{text-decoration:none; border-bottom:1px solid rgba(3,70,51,0.4);}
  @media (max-width:880px){.loc-grid{grid-template-columns:1fr;}}

  /* ---------- FOOTER ---------- */
  footer{background:var(--forest-deep); color:var(--cream); position:relative; overflow:hidden;}
  .foot-top{
    display:grid;
    grid-template-columns:1.2fr 1fr 1fr;
    gap:3rem;
    padding-bottom:3rem;
    border-bottom:1px solid rgba(244,241,230,0.15);
  }
  .foot-logo .foot-mark{height:44px; width:auto;}
  .foot-line{margin-top:1.4rem; font-size:0.95rem; color:rgba(244,241,230,0.7); max-width:34ch; line-height:1.6;}
  .foot-col h4{font-family:var(--font-body); font-weight:700; font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase; color:rgba(244,241,230,0.55); margin-bottom:1rem;}
  .foot-col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:0.75rem;}
  .foot-col a{text-decoration:none; font-size:0.98rem; display:flex; align-items:center; gap:0.5rem;}
  .foot-col a:hover{color:var(--lime);}
  .foot-col img.dia{width:14px; height:auto; filter:invert(1);}
  .foot-bottom{
    padding-top:1.6rem;
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem;
    font-size:0.78rem; color:rgba(244,241,230,0.5);
  }
  @media (max-width:880px){.foot-top{grid-template-columns:1fr; gap:2rem;}}

  /* ---------- WHATSAPP FLOAT ---------- */
  .whatsapp-float{
    position:fixed; right:clamp(1.1rem,3vw,1.8rem); bottom:clamp(1.1rem,3vw,1.8rem); z-index:60;
    width:58px; height:58px; border-radius:50%;
    background:#25D366; color:#fff;
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 10px 26px rgba(0,0,0,0.32);
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .whatsapp-float svg{width:30px; height:30px; display:block;}
  .whatsapp-float:hover{transform:scale(1.08); box-shadow:0 14px 32px rgba(0,0,0,0.4);}
  .whatsapp-float::before{
    content:'';
    position:absolute; inset:0; border-radius:50%;
    background:#25D366; opacity:0.55;
    animation:whatsapp-pulse 2.4s ease-out infinite;
    z-index:-1;
  }
  @keyframes whatsapp-pulse{
    0%{transform:scale(1); opacity:0.55;}
    100%{transform:scale(1.7); opacity:0;}
  }
  @media (prefers-reduced-motion: reduce){ .whatsapp-float::before{animation:none; display:none;} }
  @media (max-width:600px){ .whatsapp-float{width:52px; height:52px;} .whatsapp-float svg{width:27px; height:27px;} }

  /* reveal on scroll */
  .reveal{opacity:0; transform:translateY(30px) scale(0.985); transition:opacity .9s cubic-bezier(.16,.8,.24,1), transform .9s cubic-bezier(.16,.8,.24,1);}
  .reveal.is-visible{opacity:1; transform:none;}
  .card-grid .t-card:nth-child(2){transition-delay:.1s;}
  .card-grid .t-card:nth-child(3){transition-delay:.2s;}

  /* staggered entrance delays, for cards/steps that reveal one after another */
  .reveal-d1{transition-delay:.08s;}
  .reveal-d2{transition-delay:.16s;}
  .reveal-d3{transition-delay:.24s;}
  .reveal-d4{transition-delay:.32s;}
  .reveal-d5{transition-delay:.4s;}
  .reveal-d6{transition-delay:.48s;}

  /* cinematic reveal for photography: settles in from a gentle zoom rather than a slide.
     each image selector below supplies its own `transition` (opacity + transform) so this
     state class never clobbers an image's own hover-zoom transition. */
  .reveal-img{opacity:0; transform:scale(1.08);}
  .reveal-img.is-visible{opacity:1; transform:none;}

  /* ---------- CART & CHECKOUT ---------- */
  .cart-btn{position:relative;}
  .cart-btn svg{width:17px; height:17px;}
  .cart-count{
    position:absolute; top:-7px; right:-7px;
    min-width:18px; height:18px; padding:0 4px; border-radius:9px;
    background:var(--coral); color:#fff; font-size:0.64rem; font-weight:800;
    display:flex; align-items:center; justify-content:center; line-height:1;
    font-family:var(--font-body);
  }
  .cart-count[hidden]{display:none;}

  .overlay-backdrop{
    position:fixed; inset:0; z-index:150; background:rgba(20,10,2,0.55);
    opacity:0; pointer-events:none; transition:opacity .3s ease;
  }
  .overlay-backdrop.is-open{opacity:1; pointer-events:auto;}

  .cart-drawer{
    position:fixed; top:0; right:0; bottom:0; z-index:151;
    width:min(420px,92vw); background:var(--cream); color:#1d1204;
    box-shadow:-20px 0 50px rgba(0,0,0,0.3);
    transform:translateX(100%); transition:transform .4s cubic-bezier(.16,.8,.24,1);
    display:flex; flex-direction:column;
  }
  .cart-drawer.is-open{transform:translateX(0);}
  .cart-drawer-head{display:flex; align-items:center; justify-content:space-between; padding:1.4rem 1.6rem; border-bottom:1px solid rgba(43,23,4,0.12); flex-shrink:0;}
  .cart-drawer-head h3{font-family:var(--font-display); font-weight:var(--qw-regular); font-size:1.3rem; color:#1d1204;}
  .cart-close{width:36px; height:36px; border-radius:50%; border:1.5px solid rgba(43,23,4,0.25); background:transparent; color:#1d1204; display:flex; align-items:center; justify-content:center; cursor:pointer; flex-shrink:0; transition:background .2s ease;}
  .cart-close svg{width:16px; height:16px;}
  .cart-close:hover{background:rgba(43,23,4,0.08);}
  .cart-items{flex:1; overflow-y:auto; padding:0.4rem 1.6rem;}
  .cart-empty{padding:2.6rem 0; text-align:center; color:rgba(43,23,4,0.6); font-size:0.95rem;}
  .cart-empty a{color:var(--forest); font-weight:700;}
  .cart-item{display:grid; grid-template-columns:60px 1fr auto; gap:0.9rem; align-items:flex-start; padding:1.1rem 0; border-bottom:1px solid rgba(43,23,4,0.08);}
  .cart-item img{width:60px; height:60px; object-fit:contain; background:rgba(43,23,4,0.05); border-radius:10px; padding:0.3rem;}
  .cart-item-name{font-weight:700; font-size:0.9rem;}
  .cart-item-price{font-size:0.78rem; color:rgba(43,23,4,0.6); margin-top:0.2rem;}
  .cart-item-qty{display:flex; align-items:center; gap:0.6rem; margin-top:0.6rem;}
  .cart-item-qty button{width:24px; height:24px; border-radius:50%; border:1.5px solid rgba(43,23,4,0.3); background:transparent; color:#1d1204; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:0.85rem; line-height:1; padding:0;}
  .cart-item-qty button:hover{background:rgba(43,23,4,0.08);}
  .cart-item-qty span{font-size:0.88rem; font-weight:700; min-width:1ch; text-align:center;}
  .cart-item-remove{justify-self:end; background:none; border:0; color:rgba(43,23,4,0.45); cursor:pointer; font-size:0.74rem; text-decoration:underline; padding:0;}
  .cart-drawer-foot{padding:1.3rem 1.6rem 1.5rem; border-top:1px solid rgba(43,23,4,0.12); flex-shrink:0;}
  .cart-subtotal{display:flex; justify-content:space-between; align-items:baseline; font-weight:800; font-size:1.05rem; margin-bottom:1rem; color:#1d1204;}
  .cart-drawer-foot .btn-solid{width:100%; justify-content:center; background:var(--coral); border-color:var(--coral); color:#fff;}
  .cart-drawer-foot .btn-solid:hover{background:transparent; color:var(--coral);}
  .cart-drawer-foot .btn-solid:disabled{opacity:0.4; cursor:default; transform:none;}

  .checkout-overlay{
    position:fixed; inset:0; z-index:155; overflow-y:auto;
    opacity:0; pointer-events:none; transition:opacity .3s ease;
    background:rgba(20,10,2,0.6);
    padding:clamp(1rem,4vw,3rem) 1rem;
  }
  .checkout-overlay.is-open{opacity:1; pointer-events:auto;}
  .checkout-panel{
    max-width:1060px; margin:0 auto; background:var(--cream); color:#1d1204;
    border-radius:20px; overflow:hidden; box-shadow:0 40px 90px rgba(0,0,0,0.4);
    display:grid; grid-template-columns:1.3fr 1fr;
  }
  .checkout-head{grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; padding:1.3rem 2rem; border-bottom:1px solid rgba(43,23,4,0.12);}
  .checkout-head h3{font-family:var(--font-display); font-weight:var(--qw-regular); font-size:1.4rem; color:#1d1204;}
  .checkout-main{padding:1.6rem 2rem 2.4rem;}
  .checkout-side{background:rgba(43,23,4,0.04); padding:1.6rem 2rem 2.4rem; border-left:1px solid rgba(43,23,4,0.1);}
  .checkout-section{margin-bottom:2rem;}
  .checkout-section h4{font-family:var(--font-display); font-weight:var(--qw-regular); font-size:1.05rem; margin-bottom:1rem; color:#1d1204;}
  .checkout-side h4{margin-bottom:1.1rem;}
  .checkout-order-item{display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:0.85rem 0; border-bottom:1px solid rgba(43,23,4,0.08);}
  .checkout-order-item .name{font-weight:700; font-size:0.9rem;}
  .checkout-order-item .unit{font-size:0.76rem; color:rgba(43,23,4,0.55); margin-top:0.2rem;}
  .checkout-field-grid{display:grid; grid-template-columns:1fr 1fr; gap:1rem;}
  .checkout-field{display:flex; flex-direction:column; gap:0.4rem; margin-bottom:1rem;}
  .checkout-field.full{grid-column:1/-1;}
  .checkout-field label{font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; color:rgba(43,23,4,0.6);}
  .checkout-field input{
    border:1.5px solid rgba(43,23,4,0.2); border-radius:10px; padding:0.75rem 0.9rem;
    font-family:var(--font-body); font-size:0.92rem; background:#fff; color:#1d1204;
  }
  .checkout-field input:focus-visible{outline:2px solid var(--forest); outline-offset:1px; border-color:var(--forest);}
  .pay-options{display:grid; grid-template-columns:1fr 1fr; gap:1rem;}
  .pay-option{
    position:relative;
    border:1.5px solid rgba(43,23,4,0.2); border-radius:12px; padding:1rem 1.1rem; cursor:pointer;
    display:flex; flex-direction:column; gap:0.3rem; transition:border-color .2s ease, background .2s ease;
  }
  .pay-option input{position:absolute; opacity:0; pointer-events:none;}
  .pay-option .pay-name{font-weight:700; font-size:0.9rem; display:flex; align-items:center; gap:0.5rem;}
  .pay-option .pay-note{font-size:0.76rem; color:rgba(43,23,4,0.6);}
  .pay-option .pay-price{font-weight:800; margin-top:0.4rem; font-size:0.95rem;}
  .pay-option.is-selected{border-color:var(--forest); background:rgba(3,70,51,0.06);}
  .pay-option .pay-radio{width:16px; height:16px; border-radius:50%; border:1.5px solid rgba(43,23,4,0.35); display:inline-block; position:relative; flex-shrink:0;}
  .pay-option.is-selected .pay-radio{border-color:var(--forest);}
  .pay-option.is-selected .pay-radio::after{content:''; position:absolute; inset:3px; border-radius:50%; background:var(--forest);}
  .checkout-summary-line{display:flex; justify-content:space-between; gap:1rem; font-size:0.9rem; padding:0.5rem 0; border-bottom:1px solid rgba(43,23,4,0.08);}
  .checkout-summary-line.total{font-size:1.25rem; font-weight:800; border-bottom:0; padding-top:1rem; color:#1d1204;}
  .checkout-submit{width:100%; justify-content:center; margin-top:1.2rem; background:var(--coral); border-color:var(--coral); color:#fff; padding:1rem; font-size:0.85rem;}
  .checkout-submit:hover{background:transparent; color:var(--coral);}
  .checkout-note{margin-top:0.9rem; font-size:0.74rem; line-height:1.55; color:rgba(43,23,4,0.55);}
  .checkout-error{color:#b23021; font-size:0.8rem; margin:-0.6rem 0 1rem; display:none;}
  .checkout-error.is-visible{display:block;}
  @media (max-width:880px){
    .checkout-panel{grid-template-columns:1fr;}
    .checkout-side{border-left:0; border-top:1px solid rgba(43,23,4,0.1);}
    .checkout-field-grid, .pay-options{grid-template-columns:1fr;}
    .checkout-main, .checkout-side{padding-left:1.4rem; padding-right:1.4rem;}
  }

  .cart-toast{
    position:fixed; left:50%; bottom:1.6rem; transform:translateX(-50%) translateY(20px);
    background:#1d1204; color:#fff; padding:0.85rem 1.4rem; border-radius:10px;
    font-size:0.85rem; z-index:159; opacity:0; pointer-events:none; transition:opacity .3s ease, transform .3s ease;
    box-shadow:0 20px 40px rgba(0,0,0,0.3); max-width:88vw; text-align:center;
  }
  .cart-toast.is-visible{opacity:1; transform:translateX(-50%) translateY(0);}

  .product-price{font-family:var(--font-display); font-size:1.3rem; color:var(--amber); margin-top:0.9rem;}
  .product-price span{font-family:var(--font-body); font-size:0.78rem; color:rgba(244,241,230,0.6); text-transform:none; letter-spacing:0;}

  /* =====================================================================
     COMPONENTES DO SITE DE QUATRO PÁGINAS
     ===================================================================== */

  /* item de menu da página atual */
  .links a.is-current{color:var(--teal);}
  .links a.is-current::after{right:0;}

  /* ---------- HERÓI DAS PÁGINAS INTERNAS ---------- */
  .page-hero{position:relative; background:var(--forest-deep); color:var(--cream); overflow:hidden;}
  .page-hero .ph-bg{position:absolute; inset:0; z-index:0;}
  .page-hero .ph-bg img{width:100%; height:100%; object-fit:cover; opacity:0.5;}
  .page-hero .ph-bg::after{content:''; position:absolute; inset:0; background:linear-gradient(100deg, rgba(2,44,32,0.94) 0%, rgba(2,44,32,0.78) 45%, rgba(2,44,32,0.45) 100%);}
  .page-hero .container{position:relative; z-index:1;}
  .page-hero-grid{
    display:grid; grid-template-columns:1.05fr 0.95fr;
    gap:clamp(2rem,5vw,4rem); align-items:center;
    padding-top:calc(var(--header-h, 90px) + clamp(2.5rem,6vw,4.5rem));
    padding-bottom:clamp(2.5rem,6vw,4.5rem);
  }
  .page-hero h1{
    font-weight:var(--qw-regular);
    font-size:clamp(2.3rem, 1.4rem + 3.4vw, 4.2rem);
    line-height:1.06; color:#fff; margin-top:0.8rem;
  }
  .page-hero .ph-lead{margin-top:1.3rem; font-size:clamp(1rem,1.6vw,1.12rem); line-height:1.7; color:rgba(244,241,230,0.88); max-width:46ch;}
  .page-hero .ph-cta{margin-top:2rem; display:flex; gap:0.8rem; flex-wrap:wrap;}
  .page-hero .ph-media{border-radius:18px; overflow:hidden; box-shadow:0 30px 70px rgba(0,0,0,0.45);}
  .page-hero .ph-media img{width:100%; height:clamp(280px,34vw,440px); object-fit:cover; transition:opacity 1s cubic-bezier(.16,.8,.24,1), transform .7s cubic-bezier(.2,.7,.3,1);}
  .page-hero .ph-media:hover img{transform:scale(1.04);}
  @media (max-width:880px){
    .page-hero-grid{grid-template-columns:1fr; gap:2rem;}
    .page-hero .ph-media img{height:clamp(220px,52vw,320px);}
  }

  /* ---------- FAIXA DE FATOS ---------- */
  .facts-row{
    display:grid; grid-template-columns:repeat(4,1fr);
    gap:clamp(1rem,3vw,2rem);
    padding:clamp(1.6rem,3vw,2.2rem) 0;
    border-top:1px solid rgba(247,236,216,0.18);
  }
  .facts-row .f-n{font-family:var(--font-display); font-weight:var(--qw-regular); font-size:clamp(1.25rem,2.2vw,1.7rem); color:var(--lime); line-height:1.1;}
  .facts-row .f-t{margin-top:0.35rem; font-size:0.9rem; color:rgba(244,241,230,0.75);}
  @media (max-width:760px){ .facts-row{grid-template-columns:1fr 1fr; gap:1.4rem;} }

  /* ---------- BARRA DE RESERVA ---------- */
  .resbar{
    position:sticky; top:var(--header-h, 90px); z-index:60;
    background:var(--cream-2);
    border-top:1px solid rgba(3,70,51,0.12);
    border-bottom:1px solid rgba(3,70,51,0.12);
    box-shadow:0 10px 26px rgba(3,70,51,0.1);
  }
  .resbar-inner{
    max-width:var(--container); margin:0 auto;
    padding:0.85rem var(--edge);
    display:flex; align-items:center; gap:clamp(1rem,3vw,2.2rem); flex-wrap:wrap;
  }
  .resbar .rb-price{font-family:var(--font-display); font-size:1.45rem; color:var(--forest); line-height:1.1;}
  .resbar .rb-price small{display:block; font-family:var(--font-body); font-size:0.72rem; color:rgba(29,18,4,0.6); letter-spacing:0.02em;}
  .resbar .rb-date{font-weight:700; font-size:0.95rem; color:var(--forest);}
  .resbar .rb-date small{display:block; font-weight:400; font-size:0.82rem; color:rgba(29,18,4,0.65);}
  .resbar .rb-seats{font-size:0.9rem; color:rgba(29,18,4,0.7);}
  .resbar .rb-seats b{color:var(--rust);}
  .resbar .btn{margin-left:auto; padding:0.8rem 1.8rem; font-size:0.76rem; background:var(--forest-deep); color:var(--lime); border-color:var(--forest-deep);}
  .resbar .btn:hover{background:transparent; color:var(--forest-deep);}
  @media (max-width:760px){
    .resbar{position:fixed; top:auto; bottom:0; left:0; right:0; z-index:120; border-bottom:none; box-shadow:0 -10px 26px rgba(3,70,51,0.16);}
    .resbar-inner{padding:0.7rem var(--edge); gap:0.8rem;}
    .resbar .rb-date small, .resbar .rb-seats{display:none;}
    .resbar .rb-price{font-size:1.15rem;}
    .resbar .rb-date{font-size:0.82rem;}
    .resbar .btn{width:auto; padding:0.7rem 1.2rem; font-size:0.7rem;}
    body.has-resbar{padding-bottom:78px;}
    body.has-resbar .whatsapp-float{bottom:112px;}
  }

  /* ---------- ROTEIRO HORA A HORA ---------- */
  .schedule{margin-top:clamp(2rem,4vw,3rem); border-top:1px solid rgba(43,23,4,0.14);}
  .sch-row{
    display:grid; grid-template-columns:90px 200px 1fr;
    gap:clamp(1rem,3vw,2rem);
    padding:clamp(1.3rem,2.4vw,1.8rem) 0;
    border-bottom:1px solid rgba(43,23,4,0.14);
    align-items:start;
  }
  .sch-time{font-family:var(--font-display); font-style:italic; font-weight:var(--qw-light); font-size:1.15rem; color:var(--rust);}
  .sch-name{font-family:var(--font-display); font-weight:var(--qw-regular); font-size:1.2rem; color:#2b1704;}
  .sch-text{font-size:0.97rem; line-height:1.7; color:rgba(43,23,4,0.78); max-width:56ch;}
  @media (max-width:760px){
    .sch-row{grid-template-columns:1fr; gap:0.4rem;}
    .sch-time{font-size:1rem;}
  }

  /* ---------- O QUE ESTÁ INCLUÍDO ---------- */
  .incl-grid{display:grid; grid-template-columns:1.3fr 0.7fr; gap:clamp(2rem,5vw,4rem); align-items:start;}
  .incl-list{display:grid; grid-template-columns:1fr 1fr; gap:0.8rem 2rem; margin:0; padding:0; list-style:none;}
  .incl-list li{position:relative; padding-left:1.4rem; font-size:0.98rem; line-height:1.55; color:rgba(247,236,216,0.9);}
  .incl-list li::before{content:''; position:absolute; left:0; top:0.55em; width:7px; height:7px; border-radius:50%; background:var(--lime);}
  .incl-note{
    border:1px solid rgba(204,255,143,0.45); border-radius:16px;
    padding:clamp(1.4rem,2.6vw,1.9rem);
  }
  .incl-note h4{font-family:var(--font-display); font-weight:var(--qw-regular); font-size:1.25rem; color:var(--lime);}
  .incl-note p{margin-top:0.7rem; font-size:0.94rem; line-height:1.7; color:rgba(247,236,216,0.82);}
  @media (max-width:880px){
    .incl-grid{grid-template-columns:1fr;}
    .incl-list{grid-template-columns:1fr;}
  }

  /* ---------- PARA QUEM É / NÃO É ---------- */
  .fit-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.4rem,3vw,2.2rem); margin-top:clamp(1.8rem,3vw,2.6rem);}
  .fit-card{border-radius:18px; padding:clamp(1.6rem,3vw,2.2rem);}
  .fit-card.yes{background:#fff; box-shadow:0 18px 40px rgba(43,23,4,0.1);}
  .fit-card.no{border:1px dashed rgba(43,23,4,0.35);}
  .fit-card h4{font-family:var(--font-display); font-weight:var(--qw-regular); font-size:1.25rem; color:#2b1704;}
  .fit-card ul{margin:1rem 0 0; padding:0; list-style:none;}
  .fit-card li{position:relative; padding-left:1.3rem; margin-top:0.65rem; font-size:0.96rem; line-height:1.6; color:rgba(43,23,4,0.8);}
  .fit-card li::before{content:''; position:absolute; left:0; top:0.6em; width:6px; height:6px; border-radius:50%;}
  .fit-card.yes li::before{background:var(--teal);}
  .fit-card.no li::before{background:rgba(43,23,4,0.35);}
  @media (max-width:760px){ .fit-grid{grid-template-columns:1fr;} }

  /* ---------- FAQ ---------- */
  .faq{margin-top:clamp(1.8rem,3vw,2.6rem); max-width:820px;}
  .faq details{border-bottom:1px solid rgba(43,23,4,0.16);}
  .faq summary{
    list-style:none; cursor:pointer;
    padding:1.15rem 2.5rem 1.15rem 0; position:relative;
    font-weight:700; font-size:1rem; color:#2b1704;
  }
  .faq summary::-webkit-details-marker{display:none;}
  .faq summary::after{
    content:''; position:absolute; right:0.4rem; top:50%;
    width:11px; height:2px; background:var(--rust);
    transform:translateY(-50%); transition:transform .3s ease;
  }
  .faq summary::before{
    content:''; position:absolute; right:0.4rem; top:50%;
    width:11px; height:2px; background:var(--rust);
    transform:translateY(-50%) rotate(90deg); transition:opacity .3s ease, transform .3s ease;
  }
  .faq details[open] summary::before{opacity:0;}
  .faq summary:hover{color:var(--rust);}
  .faq summary:focus-visible{outline:3px solid var(--rust); outline-offset:3px;}
  .faq .faq-body{padding:0 0 1.3rem; font-size:0.97rem; line-height:1.75; color:rgba(43,23,4,0.78); max-width:62ch;}
  .faq .faq-body a{color:var(--rust); text-underline-offset:3px;}
  .faq .faq-body p + p{margin-top:0.8rem;}

  /* ---------- CONSUMO RESPONSÁVEL ---------- */
  .consumo{
    margin-top:clamp(2rem,4vw,3rem);
    border-left:4px solid var(--rust);
    background:rgba(255,150,116,0.12);
    border-radius:0 16px 16px 0;
    padding:clamp(1.4rem,2.6vw,1.9rem) clamp(1.4rem,2.6vw,2rem);
    max-width:720px;
  }
  .consumo h4{font-family:var(--font-display); font-weight:var(--qw-regular); font-size:1.2rem; color:var(--rust);}
  .consumo p{margin-top:0.6rem; font-size:0.96rem; line-height:1.7; color:rgba(43,23,4,0.82);}

  /* ---------- FECHAMENTO DE RESERVA ---------- */
  .book-close{background:var(--coral); text-align:center; color:#2b1704;}
  .book-close h2{font-family:var(--font-display); font-weight:var(--qw-regular); font-size:clamp(2rem,4vw,3rem); color:#2b1704;}
  .book-close .bc-sub{margin-top:0.9rem; font-size:1.02rem; line-height:1.7; color:rgba(43,23,4,0.85);}
  .book-close .bc-line{
    margin-top:1.6rem; display:flex; justify-content:center; align-items:center;
    gap:0.7rem 1.4rem; flex-wrap:wrap; font-size:0.98rem; color:#2b1704;
  }
  .book-close .bc-line b{font-weight:700;}
  .book-close .btn{margin-top:1.8rem; background:var(--forest-deep); color:var(--lime); border-color:var(--forest-deep);}
  .book-close .btn:hover{background:transparent; color:var(--forest-deep);}
  .book-close .bc-alt{margin-top:1.4rem; font-size:0.94rem; color:rgba(43,23,4,0.8);}
  .book-close .bc-alt a{color:#2b1704; text-underline-offset:3px;}

  /* ---------- CAPTURA DE E-MAIL ---------- */
  .capture{background:var(--lime); text-align:center; color:var(--forest-deep);}
  .capture h2{font-family:var(--font-display); font-weight:var(--qw-regular); font-size:clamp(1.9rem,3.6vw,2.7rem); color:var(--forest-deep);}
  .capture p{margin-top:0.9rem; font-size:1rem; line-height:1.7; color:rgba(2,44,32,0.82); max-width:52ch; margin-left:auto; margin-right:auto;}
  .capture form{margin-top:1.8rem; display:flex; gap:0.7rem; justify-content:center; flex-wrap:wrap;}
  .capture input{
    font-family:var(--font-body); font-size:0.98rem;
    padding:0.9rem 1.4rem; border-radius:100px;
    border:1.5px solid rgba(2,44,32,0.45); background:transparent; color:var(--forest-deep);
    min-width:min(320px,80vw);
  }
  .capture input::placeholder{color:rgba(2,44,32,0.5);}
  .capture input:focus-visible{outline:3px solid var(--forest-deep); outline-offset:2px;}
  .capture .btn{background:var(--forest-deep); color:var(--lime); border-color:var(--forest-deep);}
  .capture .btn:hover{background:transparent; color:var(--forest-deep);}
  .capture .micro{margin-top:1rem; font-size:0.84rem; color:rgba(2,44,32,0.7);}
  .capture .capture-ok{margin-top:1.1rem; font-size:0.96rem; font-weight:700; color:var(--forest-deep);}

  /* ---------- SELOS DE PROVA ---------- */
  .proof-chips{display:flex; flex-wrap:wrap; gap:0.7rem; margin-top:1.6rem;}
  .proof-chips span, .proof-chips a{
    display:inline-flex; align-items:center;
    border:1px solid rgba(3,70,51,0.28); border-radius:100px;
    padding:0.55rem 1.1rem; font-size:0.84rem; color:var(--forest);
    text-decoration:none;
  }
  .proof-chips a:hover{border-color:var(--teal); color:var(--teal);}
  .deep .proof-chips span, .deep .proof-chips a{border-color:rgba(247,236,216,0.35); color:rgba(247,236,216,0.88);}

  /* ---------- QUEM CONDUZ ---------- */
  .founder{display:grid; grid-template-columns:0.8fr 1.2fr; gap:clamp(2rem,5vw,4rem); align-items:center;}
  .founder-media{border-radius:18px; overflow:hidden; box-shadow:0 30px 60px rgba(3,70,51,0.2);}
  .founder-media img{width:100%; height:clamp(300px,34vw,420px); object-fit:cover; transition:opacity 1s cubic-bezier(.16,.8,.24,1), transform .7s cubic-bezier(.2,.7,.3,1);}
  .founder-media:hover img{transform:scale(1.04);}
  .founder h2{font-family:var(--font-display); font-weight:var(--qw-regular); font-size:clamp(1.9rem,3.4vw,2.6rem);}
  .founder p{margin-top:1.1rem; font-size:1.02rem; line-height:1.75;}
  .founder .f-purpose{margin-top:1.5rem; font-family:var(--font-display); font-style:italic; font-weight:var(--qw-light); font-size:1.2rem; line-height:1.5;}
  .founder .f-sign{margin-top:1.2rem; font-family:var(--font-display); font-style:italic; color:var(--rust); font-size:1.05rem;}
  @media (max-width:880px){ .founder{grid-template-columns:1fr;} }

  /* ---------- DOIS CAMINHOS (HOME) ---------- */
  .paths{display:grid; gap:clamp(1.4rem,3vw,2rem); margin-top:clamp(2rem,4vw,3rem);}
  .path{
    display:grid; grid-template-columns:1fr 1fr;
    border-radius:20px; overflow:hidden; min-height:340px;
  }
  .path-body{padding:clamp(1.9rem,4vw,3rem); display:flex; flex-direction:column; justify-content:center;}
  .path-body .tk{font-weight:800; font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase;}
  .path-body h3{margin-top:0.7rem; font-family:var(--font-display); font-weight:var(--qw-regular); font-size:clamp(1.6rem,2.8vw,2.2rem); line-height:1.15;}
  .path-body p{margin-top:1rem; font-size:1rem; line-height:1.7;}
  .path-body .btn{margin-top:1.8rem; align-self:flex-start;}
  .path-media{position:relative; overflow:hidden; min-height:240px;}
  .path-media img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.3,1);}
  .path:hover .path-media img{transform:scale(1.04);}
  .path--gin{background:var(--forest-deep); color:var(--cream);}
  .path--gin .tk{color:var(--amber);}
  .path--gin h3{color:#fff;}
  .path--gin p{color:rgba(247,236,216,0.85);}
  .path--gin .btn{background:var(--amber); color:#024633; border-color:var(--amber);}
  .path--gin .btn:hover{background:transparent; color:var(--amber);}
  .path--exp{background:var(--coral); color:#2b1704;}
  .path--exp .tk{color:#8c3302;}
  .path--exp h3{color:#2b1704;}
  .path--exp p{color:rgba(43,23,4,0.85);}
  .path--exp .btn{background:var(--forest-deep); color:var(--lime); border-color:var(--forest-deep);}
  .path--exp .btn:hover{background:transparent; color:var(--forest-deep);}
  .path--exp .path-media{order:-1;}
  @media (max-width:760px){
    .path{grid-template-columns:1fr;}
    .path-media{min-height:210px; order:-1;}
  }

  /* ---------- TRÊS FATOS COM FONTE ---------- */
  .facts3{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1.6rem,4vw,3rem); margin-top:clamp(2rem,4vw,3rem);}
  .fact3{border-top:1px solid rgba(204,255,143,0.4); padding-top:1.2rem;}
  .fact3 h3{font-family:var(--font-display); font-weight:var(--qw-regular); font-size:1.35rem; color:var(--lime);}
  .fact3 p{margin-top:0.8rem; font-size:0.97rem; line-height:1.7; color:rgba(247,236,216,0.85);}
  .fact3 .src{margin-top:1rem; display:block; font-family:var(--font-display); font-style:italic; font-size:0.86rem; color:rgba(247,236,216,0.6);}
  @media (max-width:880px){ .facts3{grid-template-columns:1fr;} }

  /* ---------- QUAL DOS DOIS COMEÇAR ---------- */
  .pick-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.4rem,3vw,2.2rem); margin-top:clamp(1.8rem,3vw,2.6rem);}
  .pick-card{background:rgba(247,236,216,0.06); border:1px solid rgba(247,236,216,0.16); border-radius:18px; padding:clamp(1.6rem,3vw,2.2rem);}
  .pick-card h4{font-family:var(--font-display); font-weight:var(--qw-regular); font-size:1.3rem; color:#fff;}
  .pick-card ul{margin:1rem 0 0; padding:0; list-style:none;}
  .pick-card li{position:relative; padding-left:1.3rem; margin-top:0.6rem; font-size:0.96rem; line-height:1.6; color:rgba(247,236,216,0.82);}
  .pick-card li::before{content:''; position:absolute; left:0; top:0.6em; width:6px; height:6px; border-radius:50%; background:currentColor; opacity:0.6;}
  .pick-card .pick-go{margin-top:1.4rem; display:inline-block; font-weight:700; font-size:0.86rem; letter-spacing:0.04em;}
  .pick-card--london .pick-go{color:var(--amber);}
  .pick-card--oldtom .pick-go{color:#e3c258;}
  @media (max-width:760px){ .pick-grid{grid-template-columns:1fr;} }

  /* ---------- DE ONDE VEM CADA COISA ---------- */
  .origin-grid{display:grid; grid-template-columns:1.15fr 0.85fr; gap:clamp(2rem,5vw,4rem); align-items:center;}
  .origin-list{margin-top:clamp(1.4rem,3vw,2rem);}
  .origin-item{padding:1.15rem 0; border-top:1px solid rgba(43,23,4,0.16);}
  .origin-item h4{font-family:var(--font-display); font-weight:var(--qw-regular); font-size:1.15rem; color:#2b1704;}
  .origin-item p{margin-top:0.4rem; font-size:0.97rem; line-height:1.7; color:rgba(43,23,4,0.78); max-width:56ch;}
  .origin-media{border-radius:18px; overflow:hidden; box-shadow:0 30px 60px rgba(43,23,4,0.22);}
  .origin-media img{width:100%; height:clamp(300px,34vw,440px); object-fit:cover; transition:opacity 1s cubic-bezier(.16,.8,.24,1), transform .7s cubic-bezier(.2,.7,.3,1);}
  .origin-media:hover img{transform:scale(1.04);}
  @media (max-width:880px){ .origin-grid{grid-template-columns:1fr;} }

  /* ---------- PRESENTE ---------- */
  .gift{display:grid; grid-template-columns:0.9fr 1.1fr; gap:clamp(2rem,5vw,4rem); align-items:center;}
  .gift-media{border-radius:18px; overflow:hidden; box-shadow:0 30px 60px rgba(43,23,4,0.25);}
  .gift-media img{width:100%; height:clamp(260px,30vw,380px); object-fit:cover;}
  .gift h2{font-family:var(--font-display); font-weight:var(--qw-regular); font-size:clamp(1.9rem,3.4vw,2.6rem); color:#2b1704;}
  .gift p{margin-top:1.1rem; font-size:1.02rem; line-height:1.75; color:rgba(43,23,4,0.85);}
  .gift .btn{margin-top:1.8rem; background:var(--forest-deep); color:var(--lime); border-color:var(--forest-deep);}
  .gift .btn:hover{background:transparent; color:var(--forest-deep);}
  @media (max-width:880px){ .gift{grid-template-columns:1fr;} }

  /* ---------- OS UNIVERSOS DA PUHUK ---------- */
  .universes{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1.4rem,3vw,2.2rem); margin-top:clamp(2rem,4vw,3rem);}
  .universe{border-radius:18px; overflow:hidden; background:rgba(247,236,216,0.06); border:1px solid rgba(247,236,216,0.16); display:flex; flex-direction:column;}
  .universe img{width:100%; height:190px; object-fit:cover;}
  .universe-body{padding:clamp(1.4rem,2.6vw,1.9rem); display:flex; flex-direction:column; flex:1;}
  .universe h3{font-family:var(--font-display); font-weight:var(--qw-regular); font-size:1.3rem; color:#fff;}
  .universe p{margin-top:0.7rem; font-size:0.95rem; line-height:1.65; color:rgba(247,236,216,0.82); flex:1;}
  .universe .btn{margin-top:1.4rem; align-self:flex-start; padding:0.65rem 1.3rem; font-size:0.72rem;}
  @media (max-width:880px){ .universes{grid-template-columns:1fr;} }

  /* ---------- VALORES EM PRÁTICA ---------- */
  .values-list{margin-top:clamp(2rem,4vw,3rem);}
  .value-row{
    display:grid; grid-template-columns:260px 1fr; gap:clamp(1rem,3vw,2.5rem);
    padding:clamp(1.2rem,2.4vw,1.7rem) 0; border-top:1px solid rgba(247,236,216,0.2);
  }
  .value-row h4{font-family:var(--font-display); font-weight:var(--qw-regular); font-size:1.18rem; color:var(--lilac);}
  .value-row p{font-size:0.97rem; line-height:1.7; color:rgba(247,236,216,0.85); max-width:62ch;}
  @media (max-width:760px){ .value-row{grid-template-columns:1fr; gap:0.4rem;} }

  /* ---------- RODAPÉ: AVISO LEGAL ---------- */
  .foot-legal{
    margin-top:clamp(2rem,4vw,3rem); padding-top:1.6rem;
    border-top:1px solid rgba(244,241,230,0.16);
    display:flex; align-items:center; gap:1rem;
  }
  .age-seal{
    flex-shrink:0;
    display:inline-flex; align-items:center; justify-content:center;
    width:44px; height:44px; border-radius:50%;
    border:2px solid rgba(244,241,230,0.5);
    font-weight:800; font-size:0.82rem; letter-spacing:0.02em;
    color:rgba(244,241,230,0.85);
  }
  .foot-legal p{font-size:0.88rem; line-height:1.6; color:rgba(244,241,230,0.65); max-width:60ch;}

  /* ---------- UTILITÁRIOS DE SEÇÃO ---------- */
  .sec-head{max-width:70ch;}
  .sec-head h2{font-family:var(--font-display); font-weight:var(--qw-regular); font-size:clamp(1.9rem,3.6vw,2.8rem); line-height:1.15;}
  .sec-head .sec-sub{margin-top:0.9rem; font-size:1.02rem; line-height:1.7; opacity:0.85;}
  .deep .sec-head h2{color:#fff;}
  .deep .sec-head .sec-sub{color:rgba(247,236,216,0.82);}
  .bridge{margin-top:clamp(2rem,4vw,3rem); padding-top:clamp(1.6rem,3vw,2.2rem); border-top:1px solid rgba(247,236,216,0.2); text-align:center;}
  .bridge p{font-size:1rem; line-height:1.7; color:rgba(247,236,216,0.82);}
  .bridge a{font-weight:700; color:var(--lime); text-underline-offset:4px;}

  /* fundos de seção das páginas novas */
  .bg-cream{background:var(--cream);}
  .bg-cream2{background:var(--cream-2);}
  .bg-deep{background:var(--forest-deep); color:var(--cream);}
  .bg-forest{background:var(--forest); color:var(--cream);}
  .bg-ocre{background:var(--ocre); color:#2b1704;}
  .bg-deep .eyebrow, .bg-forest .eyebrow{color:var(--lime);}
  .bg-cream .eyebrow, .bg-cream2 .eyebrow{color:var(--rust);}
  .bg-ocre .eyebrow{color:#8c3302;}
  .bg-deep h2, .bg-deep h3, .bg-forest h2, .bg-forest h3{color:#fff;}
  .bg-deep p, .bg-forest p{color:rgba(247,236,216,0.85);}

  /* herói da home: rótulo e texto de apoio */
  .hero-eyebrow{
    display:block; font-family:var(--font-body); font-weight:700;
    letter-spacing:0.14em; text-transform:uppercase; font-size:clamp(0.66rem,1.1vw,0.76rem);
    color:var(--lime); margin-bottom:1.1rem;
    animation:hero-fade-up 1s cubic-bezier(.16,.8,.4,1) .05s backwards;
  }
  .hero-lead{
    margin-top:1.5rem; max-width:52ch;
    font-size:clamp(1rem,1.5vw,1.14rem); line-height:1.7;
    color:rgba(244,241,230,0.92);
    animation:hero-fade-up 1s cubic-bezier(.16,.8,.4,1) .3s backwards;
  }

  /* ficha técnica dos rótulos */
  .spec{margin-top:1.3rem; border-top:1px solid rgba(247,236,216,0.18);}
  .spec-row{display:grid; grid-template-columns:110px 1fr; gap:1rem; padding:0.75rem 0; border-bottom:1px solid rgba(247,236,216,0.18);}
  .spec-row dt{font-size:0.7rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:rgba(247,236,216,0.55);}
  .spec-row dd{margin:0; font-size:0.94rem; line-height:1.55; color:rgba(247,236,216,0.88);}
  .product-card .product-lead{margin-top:0.9rem; font-size:1rem; line-height:1.65; color:rgba(247,236,216,0.85);}
  .product-card .product-lead b{color:var(--amber); font-weight:700;}
  .product-card--oldtom .product-lead b{color:var(--gold);}
  @media (max-width:520px){ .spec-row{grid-template-columns:1fr; gap:0.15rem;} }

  /* título longo da home: reduz a escala para caber com rótulo e texto de apoio */
  .hero-inner{padding-top:calc(var(--header-h, 90px) + 1.2rem);}
  .hero h1.h1-long{
    font-size:clamp(2.35rem, 1.5rem + 4.3vw, 4.9rem);
    line-height:1.08;
  }
  @media (max-height:760px){
    .hero h1.h1-long{font-size:clamp(2.1rem, 1.3rem + 3.4vw, 3.6rem);}
    .hero-lead{margin-top:1.1rem; font-size:1rem;}
  }

  /* véu sobre a foto do herói: garante leitura do texto em qualquer imagem */
  .hero-img-wrap::after{
    content:''; position:absolute; inset:0; z-index:5; pointer-events:none;
    background:
      linear-gradient(97deg, rgba(2,44,32,0.92) 0%, rgba(2,44,32,0.78) 30%, rgba(2,44,32,0.42) 58%, rgba(2,44,32,0.18) 100%),
      linear-gradient(180deg, rgba(2,44,32,0.55) 0%, rgba(2,44,32,0.05) 32%, rgba(2,44,32,0.62) 100%);
  }
  @media (max-width:760px){
    .hero-img-wrap::after{
      background:linear-gradient(180deg, rgba(2,44,32,0.72) 0%, rgba(2,44,32,0.45) 38%, rgba(2,44,32,0.88) 100%);
    }
  }

  /* frase de destaque do herói */
  .hero-claim{
    margin-top:1.2rem; max-width:44ch;
    font-family:var(--font-display); font-style:italic; font-weight:var(--qw-light);
    font-size:clamp(1.05rem,1.7vw,1.3rem); line-height:1.5; color:var(--lime);
    animation:hero-fade-up 1s cubic-bezier(.16,.8,.4,1) .42s backwards;
  }

  /* ---------- CONEXÕES: cards de projeto ---------- */
  .partners-grid{
    display:grid; grid-template-columns:1fr 1fr;
    gap:clamp(1.4rem,3vw,2.2rem); margin-top:clamp(2rem,4vw,3rem);
  }
  .partner-card{
    background:#fff; border-radius:18px;
    padding:clamp(1.6rem,3vw,2.2rem);
    box-shadow:0 18px 40px rgba(43,23,4,0.1);
    display:flex; flex-direction:column; gap:0.2rem;
  }
  .partner-logo{
    height:64px; margin-bottom:1.1rem;
    display:flex; align-items:center;
  }
  .partner-logo img{max-height:64px; width:auto; object-fit:contain;}
  .partner-logo span{
    font-family:var(--font-display); font-weight:var(--qw-regular);
    font-size:1.05rem; color:rgba(3,70,51,0.32);
    border:1px dashed rgba(3,70,51,0.28); border-radius:10px;
    padding:0.5rem 0.9rem;
  }
  .partner-card h3{font-family:var(--font-display); font-weight:var(--qw-regular); font-size:1.25rem; color:var(--forest);}
  .partner-card p{margin-top:0.5rem; font-size:0.95rem; line-height:1.6; color:rgba(43,23,4,0.75);}
  @media (max-width:760px){ .partners-grid{grid-template-columns:1fr;} }

  /* ---------- CONEXÕES: faixa de reconhecimentos ---------- */
  .recog-strip{
    margin-top:clamp(1.8rem,3vw,2.6rem);
    padding-top:clamp(1.6rem,3vw,2.2rem);
    border-top:1px solid rgba(43,23,4,0.16);
    display:grid; grid-template-columns:repeat(5,1fr);
    gap:clamp(1rem,2.4vw,1.8rem);
  }
  .recog h4{font-size:0.88rem; font-weight:700; letter-spacing:0.02em; color:var(--forest); line-height:1.35;}
  .recog p{margin-top:0.4rem; font-size:0.86rem; line-height:1.5; color:rgba(43,23,4,0.65);}
  .recog a{color:var(--rust); text-decoration:none; border-bottom:1px solid rgba(140,51,2,0.35);}
  .recog a:hover{border-bottom-color:var(--rust);}
  @media (max-width:880px){ .recog-strip{grid-template-columns:1fr 1fr;} }
  @media (max-width:480px){ .recog-strip{grid-template-columns:1fr;} }

  /* título da faixa de números da experiência */
  .numbers-head{
    margin-top:clamp(2rem,4vw,3rem);
    font-family:var(--font-body); font-weight:700;
    letter-spacing:0.14em; text-transform:uppercase; font-size:0.72rem;
    color:var(--lime);
  }
  .numbers-head + .facts-row{border-top:none; padding-top:1rem;}

  /* subtítulo de cada etapa do roteiro */
  .sch-sub{margin-top:0.25rem; font-size:0.9rem; line-height:1.45; color:var(--rust);}
  .sch-text:empty{display:none;}

  /* ---------- INFORMAÇÕES PRÁTICAS ---------- */
  .practical-grid{
    display:grid; grid-template-columns:1fr 1fr;
    gap:clamp(1.4rem,3vw,2.2rem); margin-top:clamp(1.6rem,3vw,2.2rem);
  }
  .practical-card{
    background:#fff; border-radius:16px;
    padding:clamp(1.4rem,2.6vw,1.9rem);
    box-shadow:0 14px 32px rgba(43,23,4,0.08);
  }
  .practical-card h4{font-family:var(--font-display); font-weight:var(--qw-regular); font-size:1.2rem; color:#2b1704;}
  .practical-card p{margin-top:0.5rem; font-size:0.96rem; line-height:1.65; color:rgba(43,23,4,0.78);}
  @media (max-width:760px){ .practical-grid{grid-template-columns:1fr;} }

  .group-invite{
    margin-top:clamp(2rem,4vw,3rem);
    border-top:1px solid rgba(43,23,4,0.16);
    padding-top:clamp(1.6rem,3vw,2.2rem);
    max-width:64ch;
  }
  .group-invite p{font-size:0.99rem; line-height:1.7; color:rgba(43,23,4,0.8);}
  .group-invite .gi-call{margin-top:0.8rem; font-weight:700; color:#2b1704;}
  .group-invite .btn{margin-top:1.4rem; padding:0.7rem 1.4rem; font-size:0.72rem; color:var(--forest); border-color:var(--forest);}
  .group-invite .btn:hover{background:var(--forest); color:var(--cream);}
