
  :root{
    /* Paleta inspirada no logotipo, videira, folhas e uvas */
    --cream:#fbf7ec;
    --cream-2:#f1ead7;
    --cream-deep:#ded0ae;
    --paper:#fffdf6;

    --coral:#7b8f3f;
    --coral-deep:#4f6728;
    --saffron:#c2a45f;
    --saffron-deep:#8f7132;
    --rose:#6b3f73;
    --teal:#6f7f35;
    --teal-bright:#9ab05a;

    --plum:#3d2942;
    --plum-deep:#241728;
    --plum-soft:#4f3856;
    --ink:#221c16;
    --ink-soft:#5b4e3d;
    --line:rgba(61,41,66,.14);
    --line-soft:rgba(61,41,66,.07);
  }

  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:'Plus Jakarta Sans',sans-serif;
    background:var(--cream);
    color:var(--ink);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
    font-weight:400;
  }

  ::selection{background:var(--coral);color:var(--cream)}

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

  /* Typography */
  .display{font-family:'Fraunces',serif;font-weight:400;letter-spacing:-.02em;line-height:1}
  .it-serif{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400}
  .eyebrow{
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:.72rem;
    letter-spacing:.28em;
    text-transform:uppercase;
    font-weight:600;
    color:var(--coral-deep);
    display:inline-flex;
    align-items:center;
    gap:12px;
  }
  .eyebrow::before{
    content:"";
    display:inline-block;
    width:32px;height:1.5px;
    background:var(--coral);
  }

  /* Layout */
  .container{max-width:1320px;margin:0 auto;padding:0 32px}
  .container-narrow{max-width:1080px;margin:0 auto;padding:0 32px}

  /* ========== NAVIGATION ========== */
  nav{
    position:fixed;
    top:0;left:0;right:0;
    z-index:100;
    padding:18px 32px;
    background:rgba(251,247,236,.88);
    backdrop-filter:blur(20px) saturate(1.6);
    -webkit-backdrop-filter:blur(20px) saturate(1.6);
    border-bottom:1px solid var(--line-soft);
    transition:all .4s ease;
  }
  .nav-inner{
    max-width:1320px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
  }
  .brand{
    display:flex;
    align-items:center;
    gap:14px;
    text-decoration:none;
    color:var(--ink);
  }
  .brand-mark{
    width:44px;height:44px;
    flex-shrink:0;
  }
  .brand-text{
    font-family:'Fraunces',serif;
    font-size:1.05rem;
    line-height:1.05;
    letter-spacing:-.01em;
    color:var(--plum);
  }
  .brand-text small{
    display:block;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:.62rem;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--coral-deep);
    margin-top:3px;
    font-weight:600;
  }
  .nav-links{
    display:flex;
    gap:34px;
    align-items:center;
  }
  .nav-links a{
    color:var(--ink);
    text-decoration:none;
    font-size:.92rem;
    font-weight:500;
    position:relative;
    transition:color .3s;
  }
  .nav-links a::after{
    content:"";
    position:absolute;
    left:0;bottom:-4px;
    width:0;height:2px;
    background:var(--coral);
    transition:width .35s ease;
  }
  .nav-links a:hover{color:var(--coral-deep)}
  .nav-links a:hover::after{width:100%}

  .btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:12px 24px;
    background:var(--coral);
    color:var(--cream);
    text-decoration:none;
    font-size:.88rem;
    font-weight:600;
    letter-spacing:.02em;
    border:2px solid var(--coral);
    border-radius:50px;
    transition:all .35s cubic-bezier(.2,.8,.2,1);
    cursor:pointer;
    font-family:inherit;
    box-shadow:0 6px 20px -8px rgba(123,143,63,.5);
  }
  .btn:hover{
    background:var(--coral-deep);
    border-color:var(--coral-deep);
    transform:translateY(-2px);
    box-shadow:0 12px 28px -10px rgba(123,143,63,.6);
  }
  .btn-plum{
    background:var(--plum);
    border-color:var(--plum);
    color:var(--cream);
    box-shadow:0 6px 20px -8px rgba(61,41,66,.4);
  }
  .btn-plum:hover{
    background:var(--plum-deep);
    border-color:var(--plum-deep);
    box-shadow:0 12px 28px -10px rgba(61,41,66,.5);
  }
  .btn-ghost{
    background:transparent;
    color:var(--plum);
    border:2px solid var(--plum);
    box-shadow:none;
  }
  .btn-ghost:hover{
    background:var(--plum);
    color:var(--cream);
  }
  .btn .arrow{
    width:14px;height:14px;
    transition:transform .3s;
  }
  .btn:hover .arrow{transform:translateX(4px)}

  .hamburger{
    display:none;
    background:none;
    border:none;
    cursor:pointer;
    width:32px;height:32px;
    flex-direction:column;
    justify-content:center;
    gap:5px;
  }
  .hamburger span{
    width:100%;height:2px;
    background:var(--plum);
    transition:.3s;
  }

  /* ========== HERO ========== */
  .hero{
    position:relative;
    min-height:100vh;
    padding:140px 32px 60px;
    overflow:hidden;
    background:
      radial-gradient(ellipse at 90% 20%, rgba(194,164,95,.25) 0%, transparent 50%),
      radial-gradient(ellipse at 10% 80%, rgba(123,143,63,.18) 0%, transparent 50%),
      var(--cream);
  }

  /* Decorative shapes */
  .hero-shape{
    position:absolute;
    border-radius:50%;
    pointer-events:none;
    z-index:1;
  }
  .hero-shape.s1{
    width:280px;height:280px;
    background:linear-gradient(135deg, var(--saffron), var(--coral));
    top:-80px;right:-80px;
    opacity:.3;
    filter:blur(60px);
  }
  .hero-shape.s2{
    width:340px;height:340px;
    background:linear-gradient(135deg, var(--rose), var(--coral));
    bottom:-100px;left:-100px;
    opacity:.18;
    filter:blur(80px);
  }

  .hero-grid{
    max-width:1320px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:60px;
    align-items:center;
    position:relative;
    z-index:2;
  }

  .hero-text{position:relative}

  .hero-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:8px 18px;
    background:var(--paper);
    border:1px solid var(--coral);
    border-radius:50px;
    font-size:.78rem;
    font-weight:500;
    color:var(--coral-deep);
    margin-bottom:32px;
    box-shadow:0 4px 12px -4px rgba(123,143,63,.2);
    animation:fadeUp .8s ease both;
  }
  .hero-badge .pulse{
    width:8px;height:8px;
    background:var(--coral);
    border-radius:50%;
    animation:pulse 2s ease-in-out infinite;
  }
  @keyframes pulse{
    0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(123,143,63,.5)}
    50%{transform:scale(1.1);box-shadow:0 0 0 8px rgba(123,143,63,0)}
  }

  .hero h1{
    font-family:'Fraunces',serif;
    font-size:clamp(3.2rem, 8.5vw, 6.8rem);
    font-weight:300;
    line-height:.95;
    letter-spacing:-.035em;
    color:var(--plum);
    margin-bottom:32px;
    animation:fadeUp 1s ease .15s both;
  }
  .hero h1 .it{
    font-family:'Instrument Serif',serif;
    font-style:italic;
    font-weight:400;
    color:var(--coral);
  }
  .hero h1 .em{
    display:block;
    font-weight:600;
    color:var(--plum-deep);
  }
  .hero h1 .underline{
    position:relative;
    display:inline-block;
  }
  .hero h1 .underline::after{
    content:"";
    position:absolute;
    bottom:.05em;left:-2%;
    width:104%;height:14px;
    background:var(--saffron);
    z-index:-1;
    border-radius:8px;
    opacity:.7;
  }

  .hero-quote{
    font-family:'Instrument Serif',serif;
    font-style:italic;
    font-size:1.55rem;
    font-weight:400;
    color:var(--ink-soft);
    max-width:540px;
    margin-bottom:40px;
    line-height:1.4;
    animation:fadeUp 1s ease .3s both;
  }

  .hero-cta{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    animation:fadeUp 1s ease .45s both;
  }

  .hero-meta{
    margin-top:56px;
    display:flex;
    gap:48px;
    padding-top:32px;
    border-top:2px dashed rgba(61,41,66,.15);
    animation:fadeUp 1s ease .6s both;
    flex-wrap:wrap;
  }
  .hero-meta-item{
    display:flex;
    flex-direction:column;
    gap:4px;
  }
  .hero-meta-item .num{
    font-family:'Fraunces',serif;
    font-size:2.4rem;
    font-weight:500;
    color:var(--coral-deep);
    line-height:1;
  }
  .hero-meta-item .lbl{
    font-size:.78rem;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--ink-soft);
    font-weight:500;
  }

  /* Hero Visual */
  .hero-visual{
    position:relative;
    aspect-ratio:4/5;
    animation:fadeIn 1.4s ease .3s both;
  }
  .hero-visual-main{
    position:absolute;
    inset:0;
    border-radius:8px;
    overflow:hidden;
    box-shadow:0 30px 80px -30px rgba(61,41,66,.5);
    transform:rotate(-2deg);
    z-index:2;
  }
  .hero-visual-main img{
    width:100%;height:100%;
    object-fit:cover;
    filter:saturate(1.05) contrast(1.02);
  }
  .hero-visual-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(135deg, rgba(123,143,63,.1), rgba(61,41,66,.2));
    mix-blend-mode:multiply;
    pointer-events:none;
  }
  .hero-visual-tag{
    position:absolute;
    bottom:30px;
    right:-20px;
    background:var(--saffron);
    color:var(--plum-deep);
    padding:14px 24px;
    border-radius:50px;
    font-family:'Fraunces',serif;
    font-style:italic;
    font-size:1.1rem;
    box-shadow:0 12px 30px -12px rgba(194,164,95,.6);
    z-index:3;
    transform:rotate(3deg);
    animation:wobble 4s ease-in-out infinite;
  }
  @keyframes wobble{
    0%,100%{transform:rotate(3deg)}
    50%{transform:rotate(-1deg)}
  }
  .hero-visual-deco{
    position:absolute;
    top:-30px;
    left:-30px;
    width:120px;height:120px;
    background:var(--coral);
    border-radius:50%;
    z-index:1;
    opacity:.9;
  }
  .hero-visual-deco-2{
    position:absolute;
    bottom:-20px;
    left:20px;
    z-index:1;
    width:80px;height:80px;
    background:var(--teal);
    border-radius:8px;
    transform:rotate(20deg);
  }

  @keyframes fadeUp{
    from{opacity:0;transform:translateY(28px)}
    to{opacity:1;transform:translateY(0)}
  }
  @keyframes fadeIn{
    from{opacity:0}
    to{opacity:1}
  }

  /* ========== MARQUEE ========== */
  .ribbon{
    background:var(--plum);
    color:var(--cream);
    padding:24px 0;
    overflow:hidden;
    position:relative;
  }
  .ribbon::before, .ribbon::after{
    content:"";
    position:absolute;
    top:0;bottom:0;
    width:60px;
    z-index:2;
    pointer-events:none;
  }
  .ribbon::before{
    left:0;
    background:linear-gradient(90deg, var(--plum), transparent);
  }
  .ribbon::after{
    right:0;
    background:linear-gradient(-90deg, var(--plum), transparent);
  }
  .marquee{
    display:flex;
    gap:60px;
    animation:scroll 35s linear infinite;
    white-space:nowrap;
    font-family:'Fraunces',serif;
    font-size:1.6rem;
    font-weight:400;
  }
  .marquee span{display:inline-flex;align-items:center;gap:60px}
  .marquee .it{font-family:'Instrument Serif',serif;font-style:italic;color:var(--saffron)}
  .marquee .dot{
    width:8px;height:8px;
    background:var(--coral);
    border-radius:50%;
    display:inline-block;
  }
  @keyframes scroll{
    from{transform:translateX(0)}
    to{transform:translateX(-50%)}
  }

  /* ========== SECTION BASE ========== */
  section{
    padding:120px 32px;
    position:relative;
  }
  .section-head{
    margin-bottom:80px;
    max-width:780px;
  }
  .section-head .eyebrow{margin-bottom:20px}
  .section-head h2{
    font-family:'Fraunces',serif;
    font-size:clamp(2.6rem, 5.8vw, 4.6rem);
    font-weight:300;
    line-height:1;
    letter-spacing:-.025em;
    color:var(--plum);
  }
  .section-head h2 .it{
    font-family:'Instrument Serif',serif;
    font-style:italic;
    font-weight:400;
    color:var(--coral);
  }
  .section-head .lede{
    font-family:'Instrument Serif',serif;
    font-style:italic;
    font-size:1.4rem;
    color:var(--ink-soft);
    margin-top:24px;
    line-height:1.5;
  }

  /* ========== ABOUT ========== */
  .about{
    background:var(--cream);
    position:relative;
    overflow:hidden;
  }
  .about::before{
    content:"";
    position:absolute;
    top:50%;right:-200px;
    width:500px;height:500px;
    background:linear-gradient(135deg, var(--saffron), var(--coral));
    border-radius:50%;
    opacity:.08;
    filter:blur(80px);
    pointer-events:none;
  }

  .about-grid{
    max-width:1320px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:start;
    position:relative;
  }

  .about-visual{
    position:sticky;
    top:120px;
    display:grid;
    grid-template-columns:repeat(6,1fr);
    grid-template-rows:repeat(6, 60px);
    gap:14px;
  }
  .about-visual .photo-1{
    grid-column:1/5;
    grid-row:1/5;
    border-radius:8px;
    overflow:hidden;
    box-shadow:0 30px 60px -25px rgba(61,41,66,.4);
    position:relative;
  }
  .about-visual .photo-1 img{
    width:100%;height:100%;object-fit:cover;
  }
  .about-visual .photo-2{
    grid-column:4/7;
    grid-row:4/7;
    border-radius:8px;
    overflow:hidden;
    box-shadow:0 20px 40px -20px rgba(61,41,66,.3);
    border:6px solid var(--cream);
    position:relative;
  }
  .about-visual .photo-2 img{
    width:100%;height:100%;object-fit:cover;
  }
  .about-visual .photo-tag{
    position:absolute;
    background:var(--coral);
    color:var(--cream);
    padding:6px 14px;
    border-radius:50px;
    font-size:.7rem;
    font-weight:600;
    letter-spacing:.15em;
    text-transform:uppercase;
    z-index:2;
  }
  .about-visual .photo-1 .photo-tag{
    top:20px;left:20px;
    background:var(--plum);
  }
  .about-visual .photo-2 .photo-tag{
    bottom:14px;right:14px;
    background:var(--saffron);
    color:var(--plum-deep);
  }
  .about-visual .deco-circle{
    grid-column:1/3;
    grid-row:5/7;
    background:var(--teal);
    border-radius:50%;
    align-self:center;
    width:120px;height:120px;
    position:relative;
    overflow:hidden;
  }
  .about-visual .deco-circle::after{
    content:"✦";
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--cream);
    font-size:3rem;
    font-family:'Fraunces',serif;
  }
  .about-visual .deco-tag{
    grid-column:5/7;
    grid-row:1/3;
    background:var(--saffron);
    border-radius:8px;
    padding:18px;
    transform:rotate(4deg);
    box-shadow:0 12px 30px -12px rgba(194,164,95,.6);
    align-self:start;
    margin-top:20px;
  }
  .about-visual .deco-tag .tag-num{
    font-family:'Fraunces',serif;
    font-size:1.6rem;
    color:var(--plum-deep);
    font-weight:500;
    line-height:1;
  }
  .about-visual .deco-tag .tag-text{
    font-size:.7rem;
    color:var(--plum-deep);
    text-transform:uppercase;
    letter-spacing:.15em;
    font-weight:600;
    margin-top:4px;
  }

  .about-text-block .eyebrow{margin-bottom:16px}
  .about-text-block h2{
    font-family:'Fraunces',serif;
    font-size:clamp(2.4rem, 5vw, 4rem);
    font-weight:300;
    line-height:1.02;
    letter-spacing:-.025em;
    margin-bottom:32px;
    color:var(--plum);
  }
  .about-text-block h2 .it{
    font-family:'Instrument Serif',serif;
    font-style:italic;
    color:var(--coral);
  }
  .about-text-block h2 .highlight{
    background:linear-gradient(120deg, transparent 0%, transparent 50%, var(--saffron) 50%, var(--saffron) 95%, transparent 95%);
    background-size:100% 100%;
    padding:0 6px;
    color:var(--plum-deep);
  }
  .about-text-block p{
    font-size:1.08rem;
    color:var(--ink-soft);
    margin-bottom:22px;
    line-height:1.75;
  }
  .about-text-block p:first-of-type::first-letter{
    font-family:'Fraunces',serif;
    font-size:5rem;
    font-weight:400;
    float:left;
    line-height:.85;
    margin:8px 14px 0 0;
    color:var(--coral);
  }

  .mvv{
    margin-top:48px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    padding-top:40px;
    border-top:2px dashed rgba(61,41,66,.15);
  }
  .mvv-item{
    padding:24px;
    background:var(--paper);
    border-radius:8px;
    border-left:4px solid var(--coral);
    transition:all .3s;
  }
  .mvv-item:nth-child(2){border-color:var(--saffron)}
  .mvv-item:nth-child(3){border-color:var(--teal)}
  .mvv-item:hover{transform:translateY(-4px);box-shadow:0 12px 30px -12px rgba(61,41,66,.15)}
  .mvv-item .lbl{
    font-size:.7rem;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--coral-deep);
    margin-bottom:8px;
    font-weight:600;
  }
  .mvv-item:nth-child(2) .lbl{color:var(--saffron-deep)}
  .mvv-item:nth-child(3) .lbl{color:var(--teal)}
  .mvv-item .ttl{
    font-family:'Fraunces',serif;
    font-size:1.4rem;
    font-weight:500;
    margin-bottom:6px;
    color:var(--plum);
  }
  .mvv-item p{
    font-size:.92rem;
    color:var(--ink-soft);
    line-height:1.55;
  }

  /* ========== PILLARS — DOUTRINA ========== */
  .pillars{
    background:var(--plum);
    color:var(--cream);
    overflow:hidden;
    position:relative;
  }
  .pillars::before{
    content:"";
    position:absolute;
    top:-200px;left:-200px;
    width:500px;height:500px;
    background:radial-gradient(circle, var(--rose), transparent 70%);
    opacity:.15;
    pointer-events:none;
  }
  .pillars::after{
    content:"";
    position:absolute;
    bottom:-200px;right:-200px;
    width:600px;height:600px;
    background:radial-gradient(circle, var(--saffron), transparent 70%);
    opacity:.15;
    pointer-events:none;
  }
  .pillars .container{position:relative;z-index:2}

  .pillars .section-head h2{color:var(--cream)}
  .pillars .section-head h2 .it{color:var(--saffron)}
  .pillars .section-head .eyebrow{color:var(--saffron)}
  .pillars .section-head .eyebrow::before{background:var(--saffron)}
  .pillars .section-head .lede{color:rgba(255,245,225,.75)}

  .kardec-quote{
    max-width:980px;
    margin:0 auto 80px;
    text-align:center;
    position:relative;
    padding:60px 40px;
    background:linear-gradient(135deg, rgba(194,164,95,.08), rgba(123,143,63,.04));
    border-radius:16px;
    border:1px solid rgba(194,164,95,.2);
  }
  .kardec-quote .open,.kardec-quote .close{
    font-family:'Instrument Serif',serif;
    font-style:italic;
    font-size:8rem;
    color:var(--saffron);
    position:absolute;
    line-height:1;
    opacity:.7;
  }
  .kardec-quote .open{top:10px;left:30px}
  .kardec-quote .close{bottom:-30px;right:30px;transform:rotate(180deg)}
  .kardec-quote q{
    font-family:'Instrument Serif',serif;
    font-style:italic;
    font-size:clamp(1.5rem, 3.4vw, 2.6rem);
    font-weight:400;
    line-height:1.35;
    color:var(--cream);
    quotes:none;
  }
  .kardec-quote q::before,.kardec-quote q::after{content:""}
  .kardec-quote .author{
    margin-top:32px;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:.78rem;
    letter-spacing:.32em;
    text-transform:uppercase;
    color:var(--saffron);
    font-weight:600;
  }

  .triad{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
  }
  .triad-item{
    background:var(--plum-soft);
    padding:48px 36px;
    border-radius:12px;
    transition:all .4s;
    position:relative;
    overflow:hidden;
    border:1px solid rgba(194,164,95,.15);
  }
  .triad-item::before{
    content:"";
    position:absolute;
    top:0;left:0;right:0;
    height:4px;
    background:var(--coral);
  }
  .triad-item:nth-child(2)::before{background:var(--saffron)}
  .triad-item:nth-child(3)::before{background:var(--rose)}

  .triad-item:hover{
    transform:translateY(-6px);
    box-shadow:0 30px 60px -25px rgba(0,0,0,.4);
    background:var(--plum-deep);
  }
  .triad-item .num{
    font-family:'Fraunces',serif;
    font-size:1rem;
    color:var(--saffron);
    margin-bottom:32px;
    letter-spacing:.1em;
    font-weight:500;
  }
  .triad-item:nth-child(2) .num{color:var(--coral)}
  .triad-item:nth-child(3) .num{color:var(--rose)}

  .triad-item .icon-wrap{
    width:72px;height:72px;
    border-radius:50%;
    background:var(--coral);
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:32px;
    transition:transform .4s;
  }
  .triad-item:hover .icon-wrap{transform:rotate(8deg) scale(1.05)}
  .triad-item:nth-child(2) .icon-wrap{background:var(--saffron)}
  .triad-item:nth-child(3) .icon-wrap{background:var(--rose)}
  .triad-item .icon{
    width:36px;height:36px;
    color:var(--plum-deep);
  }
  .triad-item h3{
    font-family:'Fraunces',serif;
    font-size:2.2rem;
    font-weight:400;
    margin-bottom:14px;
    color:var(--cream);
  }
  .triad-item h3 .it{
    font-family:'Instrument Serif',serif;
    font-style:italic;
    color:var(--saffron);
  }
  .triad-item:nth-child(2) h3 .it{color:var(--coral)}
  .triad-item:nth-child(3) h3 .it{color:var(--rose)}

  .triad-item p{
    font-size:1rem;
    color:rgba(255,245,225,.75);
    line-height:1.65;
  }

  /* ========== ACTIVITIES ========== */
  .activities{
    background:var(--cream);
    position:relative;
  }

  .activities-grid{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:24px;
    max-width:1320px;
    margin:0 auto;
  }

  .activity{
    position:relative;
    overflow:hidden;
    background:var(--paper);
    border-radius:12px;
    transition:all .5s cubic-bezier(.2,.8,.2,1);
    box-shadow:0 4px 20px -8px rgba(61,41,66,.1);
  }
  .activity:hover{
    transform:translateY(-8px);
    box-shadow:0 30px 60px -25px rgba(61,41,66,.25);
  }
  .activity-img{
    position:relative;
    overflow:hidden;
    aspect-ratio:4/3;
  }
  .activity-img img{
    width:100%;height:100%;
    object-fit:cover;
    transition:transform .8s cubic-bezier(.2,.8,.2,1);
  }
  .activity:hover .activity-img img{transform:scale(1.08)}
  .activity-img::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, transparent 40%, rgba(61,41,66,.4) 100%);
    pointer-events:none;
  }
  .activity-tag{
    position:absolute;
    top:16px;left:16px;
    background:var(--coral);
    color:var(--cream);
    padding:6px 14px;
    border-radius:50px;
    font-size:.7rem;
    font-weight:600;
    letter-spacing:.12em;
    text-transform:uppercase;
    z-index:2;
  }
  .activity:nth-child(2) .activity-tag{background:var(--saffron);color:var(--plum-deep)}
  .activity:nth-child(3) .activity-tag{background:var(--teal)}
  .activity:nth-child(4) .activity-tag{background:var(--rose)}
  .activity:nth-child(5) .activity-tag{background:var(--plum)}
  .activity:nth-child(6) .activity-tag{background:var(--coral-deep)}

  .activity-content{
    padding:28px 28px 32px;
  }
  .activity-content h3{
    font-family:'Fraunces',serif;
    font-size:1.6rem;
    font-weight:500;
    margin-bottom:10px;
    color:var(--plum);
    transition:color .3s;
  }
  .activity:hover .activity-content h3{color:var(--coral-deep)}
  .activity-content p{
    color:var(--ink-soft);
    font-size:.96rem;
    line-height:1.55;
  }

  /* Activity grid layout */
  .activity.feature{
    grid-column:span 4;
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:0;
    align-items:stretch;
    background:var(--plum);
    color:var(--cream);
  }
  .activity.feature .activity-img{
    aspect-ratio:auto;
    height:100%;
  }
  .activity.feature .activity-img::after{
    background:linear-gradient(90deg, transparent 50%, rgba(61,41,66,.3) 100%);
  }
  .activity.feature .activity-content{
    padding:48px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .activity.feature .activity-content .eyebrow{
    color:var(--saffron);
    margin-bottom:18px;
  }
  .activity.feature .activity-content .eyebrow::before{background:var(--saffron)}
  .activity.feature .activity-content h3{
    color:var(--cream);
    font-size:2.4rem;
    margin-bottom:16px;
    line-height:1.05;
  }
  .activity.feature .activity-content h3 .it{
    font-family:'Instrument Serif',serif;
    font-style:italic;
    color:var(--saffron);
  }
  .activity.feature:hover .activity-content h3{color:var(--saffron)}
  .activity.feature .activity-content p{
    color:rgba(255,245,225,.78);
    font-size:1.02rem;
    margin-bottom:28px;
    line-height:1.65;
  }
  .activity.feature .meta{
    display:flex;
    gap:28px;
    padding-top:24px;
    border-top:1px solid rgba(194,164,95,.25);
    margin-top:auto;
  }
  .activity.feature .meta-item .lbl{
    font-size:.68rem;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--saffron);
    margin-bottom:4px;
    font-weight:600;
  }
  .activity.feature .meta-item .val{
    font-family:'Fraunces',serif;
    font-size:1.1rem;
    color:var(--cream);
  }

  .activity:not(.feature){
    grid-column:span 2;
  }

  /* ========== PARTICIPATE ========== */
  .participate{
    background:linear-gradient(180deg, var(--cream) 0%, var(--cream-2) 100%);
    position:relative;
    overflow:hidden;
  }
  .participate-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:32px;
    max-width:1320px;
    margin:0 auto;
  }
  .part-card{
    padding:48px;
    background:var(--paper);
    border-radius:16px;
    position:relative;
    transition:all .4s;
    overflow:hidden;
    border:2px solid transparent;
  }
  .part-card::before{
    content:"";
    position:absolute;
    top:0;left:0;
    width:100%;height:5px;
    background:var(--coral);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .5s ease;
  }
  .part-card:nth-child(2)::before{background:var(--saffron)}
  .part-card:nth-child(3)::before{background:var(--teal)}
  .part-card:nth-child(4)::before{background:var(--rose)}

  .part-card:hover{
    box-shadow:0 30px 60px -25px rgba(61,41,66,.2);
    transform:translateY(-6px);
  }
  .part-card:hover::before{transform:scaleX(1)}

  .part-card .num-wrap{
    display:flex;
    align-items:center;
    gap:16px;
    margin-bottom:28px;
  }
  .part-card .num{
    width:54px;height:54px;
    border-radius:50%;
    background:var(--coral);
    color:var(--cream);
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:'Fraunces',serif;
    font-size:1.4rem;
    font-weight:500;
  }
  .part-card:nth-child(2) .num{background:var(--saffron);color:var(--plum-deep)}
  .part-card:nth-child(3) .num{background:var(--teal)}
  .part-card:nth-child(4) .num{background:var(--rose)}

  .part-card .num-label{
    font-size:.72rem;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--ink-soft);
    font-weight:600;
  }
  .part-card h3{
    font-family:'Fraunces',serif;
    font-size:2rem;
    font-weight:400;
    margin-bottom:14px;
    color:var(--plum);
    line-height:1.05;
  }
  .part-card h3 .it{
    font-family:'Instrument Serif',serif;
    font-style:italic;
    color:var(--coral);
  }
  .part-card:nth-child(2) h3 .it{color:var(--saffron-deep)}
  .part-card:nth-child(3) h3 .it{color:var(--teal)}
  .part-card:nth-child(4) h3 .it{color:var(--rose)}

  .part-card p{
    font-size:1rem;
    color:var(--ink-soft);
    line-height:1.7;
  }

  /* ========== PROJETO MIAMI ========== */
  .miami{
    background:var(--cream);
    overflow:hidden;
    position:relative;
  }
  .miami::before{
    content:"";
    position:absolute;
    top:80px;right:60px;
    width:160px;height:160px;
    background:var(--saffron);
    border-radius:50%;
    opacity:.18;
    filter:blur(40px);
  }
  .miami-grid{
    display:grid;
    grid-template-columns:1fr 1.3fr;
    gap:80px;
    max-width:1320px;
    margin:0 auto;
    align-items:center;
    position:relative;
  }
  .miami-text .eyebrow{margin-bottom:18px;display:inline-flex}
  .miami-text h2{
    font-family:'Fraunces',serif;
    font-size:clamp(2.6rem, 5.5vw, 4.4rem);
    font-weight:300;
    line-height:.98;
    letter-spacing:-.025em;
    margin-bottom:24px;
    color:var(--plum);
  }
  .miami-text h2 .it{
    font-family:'Instrument Serif',serif;
    font-style:italic;
    color:var(--coral);
  }
  .miami-text h2 .underline{
    position:relative;
    display:inline-block;
  }
  .miami-text h2 .underline::after{
    content:"";
    position:absolute;
    bottom:.05em;left:-2%;
    width:104%;height:12px;
    background:var(--saffron);
    z-index:-1;
    opacity:.7;
    border-radius:6px;
  }
  .miami-text p{
    font-size:1.05rem;
    color:var(--ink-soft);
    line-height:1.7;
    margin-bottom:18px;
  }
  .miami-info{
    margin-top:28px;
    padding:28px;
    background:var(--plum);
    color:var(--cream);
    border-radius:12px;
    position:relative;
    overflow:hidden;
  }
  .miami-info::before{
    content:"";
    position:absolute;
    top:-30px;right:-30px;
    width:120px;height:120px;
    background:var(--saffron);
    border-radius:50%;
    opacity:.15;
  }
  .miami-info .when{
    font-family:'Fraunces',serif;
    font-size:1.4rem;
    margin-bottom:10px;
    line-height:1.2;
  }
  .miami-info .when strong{
    font-weight:500;
    color:var(--saffron);
  }
  .miami-info .place{
    font-size:.92rem;
    color:rgba(255,245,225,.75);
  }

  /* Miami mosaic */
  .miami-mosaic{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    grid-template-rows:repeat(3,160px);
    gap:14px;
  }
  .miami-mosaic .tile{
    border-radius:8px;
    overflow:hidden;
    position:relative;
    transition:transform .5s ease;
    box-shadow:0 12px 30px -15px rgba(61,41,66,.3);
  }
  .miami-mosaic .tile img{
    width:100%;height:100%;
    object-fit:cover;
    transition:transform .8s ease;
  }
  .miami-mosaic .tile:hover{transform:translateY(-4px)}
  .miami-mosaic .tile:hover img{transform:scale(1.08)}
  .miami-mosaic .t1{grid-column:span 2;grid-row:span 2}
  .miami-mosaic .t2{grid-column:span 2;grid-row:span 1}
  .miami-mosaic .t3{grid-column:span 1;grid-row:span 1}
  .miami-mosaic .t4{grid-column:span 1;grid-row:span 1}
  .miami-mosaic .t5{grid-column:span 1;grid-row:span 1}
  .miami-mosaic .t6{grid-column:span 1;grid-row:span 1}
  .miami-mosaic .t7{grid-column:span 2;grid-row:span 1}

  /* ========== TRANSPARENCY ========== */
  .transparency{
    background:linear-gradient(135deg, var(--saffron) 0%, var(--coral) 100%);
    color:var(--plum-deep);
    text-align:center;
    overflow:hidden;
    position:relative;
  }
  .transparency::before, .transparency::after{
    content:"";
    position:absolute;
    border-radius:50%;
    pointer-events:none;
  }
  .transparency::before{
    top:-100px;left:-100px;
    width:300px;height:300px;
    background:rgba(255,255,255,.15);
  }
  .transparency::after{
    bottom:-150px;right:-150px;
    width:400px;height:400px;
    background:rgba(61,41,66,.1);
  }
  .transparency .container-narrow{position:relative;z-index:2}
  .transparency .eyebrow{
    color:var(--plum-deep);
    margin-bottom:24px;
  }
  .transparency .eyebrow::before{background:var(--plum-deep)}
  .transparency h2{
    font-family:'Fraunces',serif;
    font-size:clamp(2.2rem, 4.8vw, 3.6rem);
    font-weight:400;
    line-height:1.05;
    letter-spacing:-.02em;
    margin:0 auto 28px;
    max-width:780px;
    color:var(--plum-deep);
  }
  .transparency h2 .it{
    font-family:'Instrument Serif',serif;
    font-style:italic;
    color:var(--paper);
  }
  .transparency p{
    max-width:680px;
    margin:0 auto;
    font-size:1.08rem;
    color:var(--plum-soft);
    line-height:1.7;
  }
  .transparency-stats{
    margin:64px auto 0;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:32px;
    max-width:880px;
    padding-top:48px;
    border-top:2px dashed rgba(61,41,66,.25);
  }
  .ts-item .num{
    font-family:'Fraunces',serif;
    font-size:3rem;
    font-weight:500;
    color:var(--plum-deep);
    line-height:1;
    margin-bottom:8px;
  }
  .ts-item .lbl{
    font-size:.78rem;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--plum-soft);
    font-weight:600;
  }

  /* ========== CONTACT ========== */
  .contact{
    background:var(--plum-deep);
    color:var(--cream);
    overflow:hidden;
    position:relative;
  }
  .contact::before{
    content:"";
    position:absolute;
    top:-100px;right:-100px;
    width:400px;height:400px;
    background:radial-gradient(circle, var(--coral), transparent 70%);
    opacity:.15;
    pointer-events:none;
  }
  .contact::after{
    content:"";
    position:absolute;
    bottom:-150px;left:-150px;
    width:500px;height:500px;
    background:radial-gradient(circle, var(--rose), transparent 70%);
    opacity:.12;
    pointer-events:none;
  }
  .contact .container{position:relative;z-index:2}
  .contact .section-head h2{color:var(--cream)}
  .contact .section-head h2 .it{color:var(--saffron)}
  .contact .section-head .eyebrow{color:var(--saffron)}
  .contact .section-head .eyebrow::before{background:var(--saffron)}
  .contact .section-head .lede{color:rgba(255,245,225,.75)}

  .contact-grid{
    display:grid;
    grid-template-columns:1fr 1.2fr;
    gap:80px;
    max-width:1320px;
    margin:0 auto;
  }
  .contact-info-block{
    margin-bottom:30px;
    padding-bottom:30px;
    border-bottom:1px solid rgba(194,164,95,.18);
    display:grid;
    grid-template-columns:60px 1fr;
    gap:20px;
    align-items:start;
  }
  .contact-info-block:last-of-type{border:none;margin:0;padding:0}
  .contact-info-block .icon-circle{
    width:54px;height:54px;
    border-radius:50%;
    background:var(--coral);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--cream);
  }
  .contact-info-block:nth-child(2) .icon-circle{background:var(--saffron);color:var(--plum-deep)}
  .contact-info-block:nth-child(3) .icon-circle{background:var(--teal-bright)}
  .contact-info-block:nth-child(4) .icon-circle{background:var(--rose)}
  .contact-info-block .icon-circle svg{width:22px;height:22px}
  .contact-info-block .lbl{
    font-size:.7rem;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--saffron);
    margin-bottom:8px;
    font-weight:600;
  }
  .contact-info-block .val{
    font-family:'Fraunces',serif;
    font-size:1.3rem;
    font-weight:400;
    line-height:1.4;
    color:var(--cream);
  }
  .contact-info-block .val a{color:inherit;text-decoration:none;border-bottom:1.5px solid transparent;transition:border-color .3s}
  .contact-info-block .val a:hover{border-color:var(--coral)}
  .contact-info-block .sub{
    margin-top:6px;
    font-size:.92rem;
    color:rgba(255,245,225,.55);
    font-family:'Plus Jakarta Sans',sans-serif;
  }

  /* Form */
  .contact-form{
    background:var(--plum-soft);
    padding:48px;
    border-radius:16px;
    border:1px solid rgba(194,164,95,.2);
    position:relative;
    overflow:hidden;
  }
  .contact-form::before{
    content:"✦";
    position:absolute;
    top:24px;right:32px;
    font-family:'Fraunces',serif;
    font-size:3rem;
    color:var(--saffron);
    opacity:.4;
  }
  .contact-form h3{
    font-family:'Fraunces',serif;
    font-size:2rem;
    font-weight:300;
    margin-bottom:8px;
    color:var(--cream);
  }
  .contact-form h3 .it{
    font-family:'Instrument Serif',serif;
    font-style:italic;
    color:var(--saffron);
  }
  .contact-form .form-sub{
    color:rgba(255,245,225,.6);
    font-size:.95rem;
    margin-bottom:32px;
  }
  .form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin-bottom:20px;
  }
  .form-field{
    position:relative;
    margin-bottom:20px;
  }
  .form-field label{
    display:block;
    font-size:.7rem;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:var(--saffron);
    margin-bottom:8px;
    font-weight:600;
  }
  .form-field input,
  .form-field textarea{
    width:100%;
    background:rgba(0,0,0,.2);
    border:1px solid rgba(194,164,95,.2);
    border-radius:8px;
    color:var(--cream);
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:1rem;
    padding:14px 16px;
    outline:none;
    transition:all .3s;
  }
  .form-field input:focus,
  .form-field textarea:focus{
    border-color:var(--saffron);
    background:rgba(0,0,0,.3);
    box-shadow:0 0 0 4px rgba(194,164,95,.1);
  }
  .form-field textarea{
    resize:vertical;
    min-height:110px;
  }
  .form-field input::placeholder,
  .form-field textarea::placeholder{
    color:rgba(255,245,225,.3);
  }
  .contact-form .btn{
    margin-top:14px;
    background:var(--coral);
    border-color:var(--coral);
    color:var(--cream);
    width:100%;
    justify-content:center;
  }
  .contact-form .btn:hover{
    background:var(--coral-deep);
    border-color:var(--coral-deep);
  }

  .map-wrap{
    margin-top:32px;
    aspect-ratio:16/10;
    overflow:hidden;
    border-radius:12px;
    border:1px solid rgba(194,164,95,.25);
  }
  .map-wrap iframe{
    width:100%;height:100%;
    border:none;
    filter:invert(.92) hue-rotate(180deg) saturate(.6);
  }

  /* ========== FOOTER ========== */
  footer{
    background:var(--ink);
    color:var(--cream);
    padding:80px 32px 40px;
    border-top:5px solid var(--coral);
    position:relative;
  }
  .foot-grid{
    max-width:1320px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1.6fr 1fr 1fr 1fr;
    gap:60px;
    padding-bottom:50px;
    border-bottom:1px solid rgba(194,164,95,.18);
  }
  .foot-brand-text{
    font-family:'Fraunces',serif;
    font-size:1.4rem;
    line-height:1.25;
    font-weight:400;
    margin:18px 0 14px;
  }
  .foot-brand-text .it{
    font-family:'Instrument Serif',serif;
    font-style:italic;
    color:var(--saffron);
  }
  .foot-brand small{
    color:rgba(255,245,225,.55);
    font-size:.9rem;
    line-height:1.6;
    display:block;
  }
  .foot-col h4{
    font-size:.72rem;
    letter-spacing:.24em;
    text-transform:uppercase;
    color:var(--saffron);
    margin-bottom:20px;
    font-weight:600;
  }
  .foot-col ul{list-style:none}
  .foot-col li{margin-bottom:10px}
  .foot-col a{
    color:rgba(255,245,225,.7);
    text-decoration:none;
    font-size:.95rem;
    transition:color .3s;
  }
  .foot-col a:hover{color:var(--coral)}
  .foot-bottom{
    max-width:1320px;
    margin:30px auto 0;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:20px;
    font-size:.84rem;
    color:rgba(255,245,225,.5);
  }
  .foot-bottom .credit{
    font-family:'Instrument Serif',serif;
    font-style:italic;
    font-size:1rem;
  }

  /* ========== RESPONSIVE ========== */
  @media (max-width: 1080px){
    .activity:not(.feature){grid-column:span 3}
    .activity.feature{grid-column:span 6}
    .miami-mosaic{grid-template-rows:repeat(3,140px)}
  }

  @media (max-width: 980px){
    .nav-links{display:none}
    .hamburger{display:flex}
    .hero{padding:130px 24px 60px;min-height:auto}
    .hero-grid{grid-template-columns:1fr;gap:60px}
    .hero-visual{max-width:380px;margin:0 auto;width:100%}
    section{padding:80px 24px}
    .section-head{margin-bottom:50px}
    .about-grid{grid-template-columns:1fr;gap:48px}
    .about-visual{position:static;max-width:500px;margin:0 auto}
    .mvv{grid-template-columns:1fr;gap:14px}
    .triad{grid-template-columns:1fr;gap:14px}
    .activities-grid{grid-template-columns:1fr 1fr}
    .activity:not(.feature){grid-column:span 1}
    .activity.feature{grid-column:span 2;grid-template-columns:1fr}
    .activity.feature .activity-img{aspect-ratio:16/9}
    .activity.feature .activity-content{padding:32px 28px}
    .participate-grid{grid-template-columns:1fr}
    .miami-grid{grid-template-columns:1fr;gap:48px}
    .miami-mosaic{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,130px)}
    .miami-mosaic .t1{grid-column:span 2;grid-row:span 2}
    .miami-mosaic .t2{grid-column:span 1;grid-row:span 1}
    .miami-mosaic .t7{grid-column:span 3;grid-row:span 1}
    .transparency-stats{grid-template-columns:repeat(2,1fr);gap:32px}
    .contact-grid{grid-template-columns:1fr;gap:48px}
    .contact-form{padding:32px 24px}
    .form-row{grid-template-columns:1fr;gap:0;margin-bottom:0}
    .foot-grid{grid-template-columns:1fr 1fr;gap:36px}
    .hero-meta{gap:28px}
    .hero-quote{font-size:1.25rem}
    .kardec-quote{padding:50px 30px}
    .kardec-quote .open,.kardec-quote .close{font-size:5rem}
    .kardec-quote .open{left:14px}
    .kardec-quote .close{right:14px}
    .container,.container-narrow{padding:0 24px}
    .activity.feature .meta{flex-wrap:wrap;gap:16px}
  }
  @media (max-width:600px){
    .activities-grid{grid-template-columns:1fr}
    .activity.feature{grid-column:span 1}
    .foot-grid{grid-template-columns:1fr}
    .miami-mosaic{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(4,130px)}
    .miami-mosaic .t1{grid-column:span 2;grid-row:span 1}
    .miami-mosaic .t7{grid-column:span 2}
    .hero h1{font-size:3.4rem}
    .marquee{font-size:1.2rem}
    .hero-visual-deco{width:80px;height:80px;top:-15px;left:-15px}
    .hero-visual-tag{font-size:.95rem;padding:10px 18px}
  }


  /* Logotipo em imagem */
  .brand-logo{
    width:92px;
    height:auto;
    flex-shrink:0;
    object-fit:contain;
  }
  .foot-logo{
    width:130px;
    height:auto;
    object-fit:contain;
  }
  @media (max-width:600px){
    .brand-logo{width:76px}
  }
