  :root{
    --plum-deep:#2B1220;
    --plum:#5B2340;
    --plum-btn:#7A1F4B;
    --plum-btn-hover:#96265D;
    --skin:#C9928A;
    --skin-light:#E3B8A9;
    --white:#FFFFFF;
    --white-soft:rgba(255,255,255,.82);
    --nav-gap:clamp(14px,2vw,30px);
  }

  *{box-sizing:border-box;}
  section,footer{scroll-margin-top:12px;}
  html{scroll-behavior:smooth;}
  html,body{margin:0;padding:0;}
  body{
    font-family:'Montserrat',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
    background:var(--plum-deep);
    color:var(--white);
    -webkit-font-smoothing:antialiased;
  }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    min-height:100svh;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    isolation:isolate;
  }

  /* Camada da foto. Troque --hero-photo pela imagem final da Doane. */
  .hero__photo{
    position:absolute;
    inset:0;
    z-index:-2;
    background:
      radial-gradient(60% 55% at 74% 34%, rgba(227,184,169,.95) 0%, rgba(201,146,138,.85) 38%, rgba(140,80,88,.6) 66%, rgba(43,18,32,0) 100%),
      radial-gradient(42% 38% at 52% 72%, rgba(214,163,150,.55) 0%, rgba(43,18,32,0) 100%),
      radial-gradient(70% 70% at 18% 20%, rgba(120,52,80,.75) 0%, rgba(43,18,32,0) 100%),
      linear-gradient(115deg,#3A1728 0%,#5B2340 45%,#8C4A55 78%,#C9928A 100%);
    background-size:cover;
    filter:saturate(.92);
  }
  .hero__photo > video{
    width:100%;height:100%;
    object-fit:cover;
    display:block;
    animation:heroIn 1.6s ease both;
  }
  /* dois frames sobrepostos: a transição acontece conforme a rolagem */
  .hero__frame{
    position:absolute;
    inset:0;
    width:100%;height:100%;
    object-fit:cover;
    display:block;
  }
  .hero__frame--a{animation:heroIn 1.8s ease both;}
  .hero__frame--b{display:none;}
  @keyframes heroDrift{from{transform:scale(1);}to{transform:scale(1.07);}}
  @keyframes heroIn{from{opacity:0;transform:scale(1.06);}to{opacity:1;transform:scale(1);}}

  /* Véu escuro por cima da foto, como na referência */
  .hero__veil{
    position:absolute;
    inset:0;
    z-index:-1;
    background:
      linear-gradient(to bottom, rgba(24,9,18,.62) 0%, rgba(24,9,18,.22) 30%, rgba(24,9,18,.30) 70%, rgba(24,9,18,.68) 100%),
      linear-gradient(to right, rgba(43,18,32,.86) 0%, rgba(43,18,32,.55) 42%, rgba(43,18,32,.10) 75%, rgba(43,18,32,.25) 100%);
  }

  /* ---------- NAV ---------- */
  .nav{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:22px clamp(20px,5vw,72px);
  }

  .brand{
    display:flex;
    align-items:center;
    gap:12px;
    text-decoration:none;
    color:var(--white);
  }
  .brand__mark{
    height:50px;width:auto;flex:none;display:block;
  }
  .brand__name{
    font-family:'Playfair Display',Georgia,serif;
    font-size:20px;
    letter-spacing:.14em;
    line-height:1;
  }
  .brand__tag{
    display:block;
    margin-top:5px;
    font-size:8px;
    letter-spacing:.34em;
    font-weight:400;
    color:var(--white-soft);
  }

  .menu{
    display:flex;
    align-items:center;
    gap:var(--nav-gap);
    list-style:none;
    margin:0;padding:0;
  }
  .menu a{
    color:var(--white);
    text-decoration:none;
    font-size:11px;
    font-weight:500;
    letter-spacing:.18em;
    padding:6px 2px;
    position:relative;
    opacity:.88;
    transition:opacity .2s ease;
  }
  .menu a::after{
    content:"";
    position:absolute;
    left:0;right:0;bottom:0;
    height:1px;
    background:var(--skin-light);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .25s ease;
  }
  .menu a:hover,.menu a:focus-visible{opacity:1;}
  .menu a:hover::after,.menu a:focus-visible::after{transform:scaleX(1);}
  .menu a[aria-current="page"]{opacity:1;}
  .menu a[aria-current="page"]::after{transform:scaleX(1);}

  .nav__toggle{
    display:none;
    background:none;
    border:1px solid rgba(255,255,255,.35);
    border-radius:2px;
    color:var(--white);
    padding:8px 10px;
    cursor:pointer;
  }
  .nav__toggle svg{display:block;}

  /* ---------- CONTEÚDO ---------- */
  .hero__body{
    flex:1;
    display:flex;
    align-items:center;
    padding:clamp(40px,7vh,90px) clamp(20px,5vw,72px) clamp(70px,12vh,130px);
  }
  .hero__content{max-width:640px;}

  .hero h1{
    margin:0;
    font-weight:600;
    font-size:clamp(34px,5.4vw,60px);
    line-height:1.12;
    letter-spacing:-.01em;
    text-shadow:0 2px 24px rgba(20,6,14,.45);
  }
  .hero h1 .script{
    display:block;
    margin-top:.22em;
    font-family:'Playfair Display',Georgia,serif;
    font-style:italic;
    font-weight:400;
    font-size:.82em;
    letter-spacing:.005em;
  }

  .hero__cta{
    display:inline-block;
    margin-top:clamp(28px,5vh,46px);
    background:var(--plum-btn);
    color:var(--white);
    text-decoration:none;
    font-size:11px;
    font-weight:600;
    letter-spacing:.2em;
    padding:16px 30px;
    border-radius:2px;
    transition:background .22s ease, transform .22s ease;
  }
  .hero__cta:hover,.hero__cta:focus-visible{
    background:var(--plum-btn-hover);
    transform:translateY(-1px);
  }

  :where(a,button):focus-visible{
    outline:2px solid var(--skin-light);
    outline-offset:3px;
  }


  .hero__kicker{
    display:block;
    font-size:10px;letter-spacing:.34em;
    color:rgba(255,255,255,.72);
    margin-bottom:18px;
  }
  .hero h1 em{
    font-style:normal;
    color:#F0C9D6;
  }
  .hero__sub{
    margin:18px 0 0;
    font-size:14px;line-height:1.8;
    color:rgba(255,255,255,.82);
    max-width:38ch;
  }

  /* comparativo antes/depois */
  .compare{margin:0 auto;width:min(760px,100%);}
  .compare__box{
    position:relative;
    aspect-ratio:23/22;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 26px 60px rgba(74,43,48,.22);
    user-select:none;
    touch-action:pan-y;
    cursor:ew-resize;
  }
  .compare__img{
    position:absolute;inset:0;
    width:100%;height:100%;
    object-fit:cover;display:block;
    pointer-events:none;
  }
  .compare__clip{
    position:absolute;inset:0;
    width:var(--x,50%);
    overflow:hidden;
    border-right:2px solid rgba(255,255,255,.9);
  }
  .compare__clip .compare__img{width:var(--w,100%);}
  .compare__tag{
    position:absolute;bottom:12px;
    font-size:9px;letter-spacing:.24em;
    padding:6px 12px;border-radius:999px;
    background:rgba(20,8,14,.55);
    color:#fff;
    backdrop-filter:blur(4px);
  }
  .compare__tag--a{left:12px;}
  .compare__tag--d{right:12px;}
  .compare__handle{
    position:absolute;top:50%;
    left:var(--x,50%);
    transform:translate(-50%,-50%);
    width:52px;height:52px;border-radius:50%;
    border:1px solid rgba(255,255,255,.9);
    background:rgba(255,255,255,.18);
    backdrop-filter:blur(6px);
    color:#fff;display:grid;place-items:center;
    cursor:ew-resize;
  }
  .compare figcaption{
    margin-top:16px;text-align:center;
    font-size:10px;letter-spacing:.18em;
    color:rgba(74,43,48,.6);
  }


  @media (max-width:1080px){
    .menu{gap:16px;}
    .menu a{font-size:10px;letter-spacing:.14em;}
  }

  @media (max-width:860px){
    .nav__toggle{display:block;}
    .menu{
      position:absolute;
      top:100%;left:0;right:0;
      flex-direction:column;
      align-items:flex-start;
      gap:0;
      background:rgba(29,11,22,.96);
      padding:8px clamp(20px,5vw,72px) 18px;
      display:none;
    }
    .menu.is-open{display:flex;}
    .menu a{padding:12px 0;font-size:11px;letter-spacing:.2em;width:100%;}
    .hero__body{align-items:flex-end;}
    .hero h1{font-size:clamp(30px,8vw,44px);}
  }


  /* ---------- SEÇÃO 2: CÍLIOS / SOBRANCELHAS ---------- */
  .showcase{
    --rose-bg:#F9E9E9;
    --rose-soft:#F2CDD2;
    --rose-heart:#F3C3CB;
    --ink:#4A2B30;
    --btn:#B5697C;
    --btn-hover:#9E566A;
    background:var(--rose-bg);
    color:var(--ink);
    padding:clamp(48px,8vw,96px) clamp(20px,5vw,72px);
  }

  .row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:clamp(28px,5vw,70px);
    align-items:center;
    max-width:1200px;
    margin:0 auto;
  }
  .row + .row{margin-top:clamp(56px,9vw,120px);}
  .row--alt .row__text{order:2;}
  .row--alt .row__media{order:1;}

  .row__text h2{
    font-family:'Playfair Display',Georgia,serif;
    font-weight:500;
    font-size:clamp(28px,3.6vw,44px);
    line-height:1.2;
    margin:0 0 20px;
    color:var(--ink);
  }
  .row__text p{
    font-size:14px;
    line-height:1.85;
    color:rgba(74,43,48,.82);
    margin:0 0 16px;
    max-width:48ch;
  }
  .row__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;}
  .btn{
    display:inline-block;
    text-decoration:none;
    font-size:10px;
    font-weight:600;
    letter-spacing:.16em;
    padding:13px 26px;
    border-radius:999px;
    transition:background .22s ease,color .22s ease,border-color .22s ease;
  }
  .btn--solid{background:var(--btn);color:#fff;border:1px solid var(--btn);}
  .btn--solid:hover,.btn--solid:focus-visible{background:var(--btn-hover);border-color:var(--btn-hover);}
  .btn--ghost{background:transparent;color:var(--btn);border:1px solid var(--btn);}
  .btn--ghost:hover,.btn--ghost:focus-visible{background:var(--btn);color:#fff;}

  /* colagem de fotos */
  .row__media{position:relative;}
  .collage{position:relative;padding:18px 0;}

  .slot{
    position:relative;
    background:var(--rose-soft);
    background-size:cover;
    background-position:center;
    overflow:hidden;
    display:flex;align-items:center;justify-content:center;
  }
  .slot::after{
    content:attr(data-label);
    font-size:9px;
    letter-spacing:.18em;
    color:rgba(74,43,48,.5);
    text-align:center;
    padding:0 10px;
  }
  .slot:not(:empty)::after,
  .slot[style*="background-image"]::after{content:none;}
  .slot > img,.slot > video{width:100%;height:100%;object-fit:cover;display:block;}

  .slot--tall{
    border-radius:26px;
    aspect-ratio:4/5;
    width:76%;
  }
  .slot--card{
    position:absolute;
    top:0;right:0;
    width:44%;
    aspect-ratio:3/4;
    border-radius:22px;
    border:5px solid var(--rose-bg);
  }
  .slot--oval{
    border-radius:50%;
    aspect-ratio:1/1;
    width:88%;
    margin-left:auto;
  }
  .row--alt .slot--oval{margin:0 auto 0 0;}
  .slot--wide{
    position:absolute;
    top:-6%;right:-4%;
    width:46%;
    aspect-ratio:4/3;
    border-radius:22px;
    border:5px solid var(--rose-bg);
  }

  .heart{position:absolute;color:var(--rose-heart);pointer-events:none;}
  .heart svg{display:block;width:100%;height:auto;}
  .heart--a{width:46px;top:2%;left:-2%;}
  .heart--b{width:34px;bottom:8%;right:34%;}
  .heart--c{width:40px;top:44%;right:-3%;}
  .heart--d{width:38px;top:-4%;left:6%;}
  .heart--e{width:30px;bottom:12%;right:6%;}

  @media (max-width:820px){
    .row{grid-template-columns:1fr;gap:34px;}
    .row--alt .row__text{order:1;}
    .row--alt .row__media{order:2;}
    .slot--tall,.slot--oval{width:100%;}
    .slot--card{width:40%;right:-2%;}
    .slot--wide{width:42%;top:-5%;}
    .row__text p{max-width:none;}
  }



  /* ---------- ANTES E DEPOIS ---------- */
  .ba{
    --ink:#4A2B30;
    background:#FFFFFF;
    color:var(--ink);
    padding:clamp(48px,7vw,96px) clamp(20px,5vw,72px);
  }
  .ba__head{text-align:center;max-width:620px;margin:0 auto clamp(26px,4vw,44px);}
  .ba__kicker{
    display:block;font-size:10px;letter-spacing:.32em;
    color:#B5697C;margin-bottom:14px;
  }
  .ba__head h2{
    font-family:'Playfair Display',Georgia,serif;
    font-weight:500;font-size:clamp(28px,3.6vw,44px);
    margin:0 0 12px;
  }
  .ba__head p{font-size:14px;line-height:1.8;color:rgba(74,43,48,.75);margin:0;}

  /* ---------- SEÇÃO 3: SERVIÇOS (CARROSSEL) ---------- */
  .services{
    --ink:#4A2B30;
    --btn:#B5697C;
    --btn-hover:#9E566A;
    background:#F8F7F5;
    color:var(--ink);
    padding:clamp(48px,7vw,90px) 0 clamp(52px,8vw,96px);
    overflow:hidden;
  }
  .services__title{
    font-family:'Playfair Display',Georgia,serif;
    font-weight:500;
    font-size:clamp(26px,3.4vw,40px);
    text-align:center;
    margin:0 0 clamp(26px,4vw,44px);
    color:var(--ink);
  }

  .carousel{position:relative;padding:0 clamp(44px,6vw,80px);max-width:1280px;margin:0 auto;}
  .carousel__track{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:calc((100% - 2*clamp(14px,2vw,26px)) / 3);
    gap:clamp(14px,2vw,26px);
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    scrollbar-width:none;
    padding-bottom:4px;
  }
  .carousel__track::-webkit-scrollbar{display:none;}

  .service{scroll-snap-align:start;text-align:center;}
  .service .slot{
    aspect-ratio:3/4;
    width:100%;
    border-radius:4px;
    background:#EDE7E4;
  }
  .service__name{
    display:block;
    margin-top:16px;
    font-family:'Playfair Display',Georgia,serif;
    font-size:clamp(15px,1.4vw,18px);
    font-weight:600;
    letter-spacing:.01em;
    color:var(--ink);
  }
  .service__name::after{
    content:"";
    display:block;
    width:26px;height:1.5px;
    background:var(--btn);
    margin:10px auto 0;
  }
  .service__desc{
    display:block;
    margin-top:10px;
    font-size:11.5px;
    line-height:1.7;
    color:rgba(74,43,48,.68);
    max-width:26ch;
    margin-inline:auto;
  }

  .carousel__btn{
    position:absolute;
    top:calc(50% - 26px);
    transform:translateY(-50%);
    width:42px;height:42px;
    border-radius:50%;
    border:1px solid rgba(74,43,48,.2);
    background:rgba(255,255,255,.9);
    color:var(--ink);
    display:grid;place-items:center;
    cursor:pointer;
    transition:background .2s ease,border-color .2s ease,opacity .2s ease;
  }
  .carousel__btn:hover{background:var(--btn);border-color:var(--btn);color:#fff;}
  .carousel__btn[disabled]{opacity:.3;cursor:default;}
  .carousel__btn--prev{left:clamp(4px,1.4vw,22px);}
  .carousel__btn--next{right:clamp(4px,1.4vw,22px);}

  .services__cta{display:flex;justify-content:center;margin-top:clamp(28px,4vw,44px);}


  /* hover dos serviços */
  .service{transition:transform .5s cubic-bezier(.22,.85,.26,1);}
  .service .slot{
    transition:box-shadow .5s ease, transform .6s cubic-bezier(.22,.85,.26,1);
    will-change:transform;
  }
  .service .slot img{transition:transform .7s cubic-bezier(.22,.85,.26,1);}
  .service__name,.service__desc{transition:color .4s ease;}
  .service__name::after{transition:width .5s ease;}

  .carousel__track:hover .service{opacity:.72;transition:opacity .4s ease, transform .5s ease;}
  .carousel__track .service:hover,
  .carousel__track .service:focus-within{opacity:1;transform:translateY(-10px);}
  .service:hover .slot,.service:focus-within .slot{
    transform:scale(1.06);
    box-shadow:0 22px 44px rgba(74,43,48,.22);
  }
  .service:hover .slot img{transform:scale(1.1);}
  .service:hover .service__name::after{width:52px;}

  @media (hover:none){
    .carousel__track:hover .service{opacity:1;}
  }

  @media (max-width:900px){
    .carousel__track{grid-auto-columns:calc((100% - clamp(14px,2vw,26px)) / 2);}
  }
  @media (max-width:600px){
    .carousel{padding:0 34px;}
    .carousel__track{grid-auto-columns:82%;}
  }


  /* ---------- SEÇÃO 4: A PROFISSIONAL + DEPOIMENTOS ---------- */
  .about{
    --ink:#4A2B30;
    --btn:#B5697C;
    --btn-hover:#9E566A;
    background:#F3ECE8;
    color:var(--ink);
    padding:clamp(48px,7vw,96px) clamp(20px,5vw,72px);
  }
  .about__inner{
    max-width:1200px;margin:0 auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:clamp(28px,4vw,56px);
    align-items:center;
  }

  .about__lead h2{
    font-family:'Playfair Display',Georgia,serif;
    font-weight:500;
    font-size:clamp(21px,4.6vw,46px);
    line-height:1.28;
    margin:0 0 18px;
  }
  .about__lead h2 .ln{display:block;white-space:nowrap;}
  .about__lead h2 em{
    font-family:'Parisienne',cursive;
    font-style:normal;
    font-size:1.12em;
    color:var(--btn);
  }
  .about__lead p{
    font-size:14px;line-height:1.85;
    color:rgba(74,43,48,.82);
    margin:0 0 14px;max-width:46ch;
  }

  .about__media{position:relative;}
  .about__media .slot{
    width:82%;
    aspect-ratio:3/4;
    border-radius:200px 200px 18px 18px;
    background:#E7DAD4;
    margin-left:auto;
  }

  .reviews{
    position:relative;
    margin-top:clamp(34px,5vw,58px);
    max-width:1200px;
    margin-inline:auto;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:clamp(14px,2vw,24px);
  }
  .review{
    background:#fff;
    border-radius:14px;
    padding:20px 20px 18px;
    box-shadow:0 10px 30px rgba(74,43,48,.10);
  }
  .review__head{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
  .review__avatar{
    width:32px;height:32px;border-radius:50%;
    display:grid;place-items:center;
    background:var(--btn);color:#fff;
    font-size:13px;font-weight:600;
  }
  .review__name{font-size:12px;font-weight:600;}
  .review__meta{font-size:10px;color:rgba(74,43,48,.55);}
  .review__stars{color:#E8B33C;font-size:12px;letter-spacing:2px;margin-bottom:8px;}
  .review p{font-size:12.5px;line-height:1.75;color:rgba(74,43,48,.82);margin:0;}

  @media (max-width:900px){
    .about__inner{grid-template-columns:1fr;}
    .about__media .slot{width:100%;max-width:420px;margin:0 auto;}
    .reviews{grid-template-columns:1fr;}
  }

  .socials{display:flex;gap:10px;margin-top:18px;}
  .socials a{
    width:38px;height:38px;border-radius:50%;
    display:grid;place-items:center;
    border:1px solid rgba(230,184,200,.5);
    color:#E6B8C8;
    transition:background .2s ease,color .2s ease;
  }
  .socials a:hover{background:#E6B8C8;color:#1A1A1A;}

  /* ---------- FAQ ---------- */
  .faq{
    --ink:#4A2B30;
    --btn:#B5697C;
    background:#FFFFFF;
    color:var(--ink);
    padding:clamp(48px,7vw,96px) clamp(20px,5vw,72px);
  }
  .faq__head{text-align:center;max-width:620px;margin:0 auto clamp(26px,4vw,44px);}
  .faq__kicker{
    display:block;font-size:10px;letter-spacing:.32em;
    color:var(--btn);margin-bottom:14px;
  }
  .faq__head h2{
    font-family:'Playfair Display',Georgia,serif;
    font-weight:500;font-size:clamp(28px,3.6vw,44px);
    margin:0 0 12px;
  }
  .faq__head p{font-size:14px;line-height:1.8;color:rgba(74,43,48,.75);margin:0;}

  .faq__list{max-width:820px;margin:0 auto;border-top:1px solid rgba(74,43,48,.14);}
  .faq__item{border-bottom:1px solid rgba(74,43,48,.14);}
  .faq__item summary{
    list-style:none;
    cursor:pointer;
    display:flex;align-items:center;justify-content:space-between;gap:20px;
    padding:22px 4px;
    font-family:'Playfair Display',Georgia,serif;
    font-size:clamp(16px,1.7vw,19px);
    font-weight:500;
    line-height:1.4;
    transition:color .25s ease;
  }
  .faq__item summary::-webkit-details-marker{display:none;}
  .faq__item summary::after{
    content:"";
    flex:none;
    width:10px;height:10px;
    border-right:1.5px solid var(--btn);
    border-bottom:1.5px solid var(--btn);
    transform:rotate(45deg);
    margin-top:-4px;
    transition:transform .3s ease, margin .3s ease;
  }
  .faq__item[open] summary::after{transform:rotate(-135deg);margin-top:4px;}
  .faq__item summary:hover{color:var(--btn);}
  .faq__item summary:focus-visible{outline:2px solid var(--btn);outline-offset:2px;}
  .faq__answer{padding:0 4px 24px;}
  .faq__answer p{
    margin:0 0 18px;
    font-size:14px;line-height:1.85;
    color:rgba(74,43,48,.82);
    max-width:64ch;
  }
  .faq__answer p:last-child{margin-bottom:0;}
  .faq__answer .btn{background:var(--btn);color:#fff;border:1px solid var(--btn);}
  .faq__answer .btn:hover,.faq__answer .btn:focus-visible{background:#9E566A;border-color:#9E566A;}

  /* ---------- RODAPÉ ---------- */
  .footer{
    background:#1A1A1A;
    color:#F8F7F5;
    padding:clamp(48px,7vw,84px) clamp(20px,5vw,72px) 28px;
  }
  .footer__top{
    max-width:1200px;margin:0 auto;
    display:grid;
    grid-template-columns:1.3fr 1fr 1fr;
    gap:clamp(28px,4vw,60px);
  }
  .footer__logo img{height:86px;width:auto;display:block;}
  .footer__name{
    font-family:'Playfair Display',Georgia,serif;
    font-size:19px;letter-spacing:.14em;margin:14px 0 8px;
  }
  .footer__tag{
    font-size:9px;letter-spacing:.3em;color:rgba(248,247,245,.65);
  }
  .footer__call{
    font-family:'Parisienne',cursive;
    font-size:24px;margin:22px 0 14px;color:#E6B8C8;
  }
  .footer h3{
    font-size:10px;letter-spacing:.24em;font-weight:600;
    margin:0 0 16px;color:#E6B8C8;
  }
  .footer ul{list-style:none;margin:0;padding:0;}
  .footer li{margin-bottom:10px;}
  .footer a,.footer li{
    color:rgba(248,247,245,.82);
    font-size:12.5px;line-height:1.7;text-decoration:none;
  }
  .footer a:hover{color:#E6B8C8;}
  .footer__btn{
    display:inline-block;margin-top:6px;
    border:1px solid #E6B8C8;color:#E6B8C8;
    border-radius:999px;padding:12px 24px;
    font-size:10px;letter-spacing:.18em;font-weight:600;
    transition:background .2s ease,color .2s ease;
  }
  .footer__btn:hover{background:#E6B8C8;color:#1A1A1A;}
  .footer__bottom{
    max-width:1200px;margin:clamp(34px,5vw,56px) auto 0;
    padding-top:20px;
    border-top:1px solid rgba(248,247,245,.14);
    display:flex;flex-wrap:wrap;gap:10px;
    justify-content:space-between;
    font-size:10.5px;color:rgba(248,247,245,.5);
  }
  @media (max-width:820px){
    .footer__top{grid-template-columns:1fr;}
  }


  /* entrada das fotos da seção 2 */
  .collage .slot{
    opacity:0;
    transform:translateX(var(--from,50px));
    transition:opacity 1.5s ease, transform 1.7s cubic-bezier(.22,.85,.26,1);
    transition-delay:var(--delay,0s);
  }
  .collage.is-in .slot{opacity:1;transform:none;}
  .collage .slot--card{--from:90px;--delay:0s;}
  .collage .slot--tall{--from:-90px;--delay:.45s;}
  .collage .slot--wide{--from:90px;--delay:0s;}
  .collage .slot--oval{--from:-90px;--delay:.45s;}
  .collage .heart{
    opacity:0;transform:scale(.6);
    transition:opacity 1s ease, transform 1s cubic-bezier(.3,1.4,.5,1);
    transition-delay:1s;
  }
  .collage.is-in .heart{opacity:1;transform:none;}

  @media (prefers-reduced-motion:reduce){
    *{transition:none !important;animation:none !important;}
    .collage .slot,.collage .heart{opacity:1;transform:none;}
  }
