/* =========================================================
   Gizelle Carreira · estilo compartilhado
   Paleta oficial: #a3121c · #f6e5e6 · #e2f0ee · #1e1a1b · #fffdfb
   ========================================================= */
:root{
 --wine:#a3121c; --blush:#f6e5e6; --sea:#e2f0ee; --ink:#1e1a1b; --paper:#fffdfb;
 --wine-d:color-mix(in srgb,#a3121c 82%,#1e1a1b);
 --mute:color-mix(in srgb,#1e1a1b 64%,#fffdfb);
 --soft:color-mix(in srgb,#1e1a1b 80%,#fffdfb);
 --line:color-mix(in srgb,#a3121c 16%,#fffdfb);
 --display:"Bodoni Moda","Didot","Bodoni 72",Georgia,serif;
 --body:"Manrope","Helvetica Neue",Arial,sans-serif;
 --script:"Great Vibes",cursive;
 --ease:cubic-bezier(.16,1,.3,1);
 --gut:max(20px,env(safe-area-inset-left,0px));
 color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.7 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
::selection{background:var(--wine);color:#fff}
.wrap{max-width:1240px;margin:0 auto;padding-inline:var(--gut)}
section{padding-block:clamp(80px,11vw,140px);position:relative}
.skip{position:absolute;left:-999px;top:8px;z-index:200;background:var(--ink);color:#fff;padding:10px 16px;border-radius:999px}
.skip:focus{left:12px}

/* ---------- tipografia ---------- */
.kicker{display:inline-flex;align-items:center;gap:12px;font:700 11.5px var(--body);letter-spacing:.34em;text-transform:uppercase;color:var(--wine)}
.kicker::before{content:"";width:28px;height:1px;background:currentColor;transform-origin:left;transition:transform 1s .2s var(--ease)}
.kicker.c{justify-content:center}
.kicker.c::after{content:"";width:28px;height:1px;background:currentColor}
h1,h2,h3{font-weight:400;text-wrap:balance}
h2{font:400 clamp(40px,6vw,80px)/1.02 var(--display);letter-spacing:-.015em;margin:18px 0 0}
h2 em,h3 em,h1 em{font-style:italic;color:var(--wine);position:relative;white-space:nowrap}
.lead{font-size:clamp(18px,1.6vw,20px);color:var(--soft);max-width:54ch}
.center{text-align:center}.center .lead{margin-inline:auto}
.script{font:400 clamp(34px,4vw,52px)/1 var(--script);color:var(--wine)}

/* sublinhado desenhado nas palavras em itálico */
.swash{position:absolute;left:-4%;bottom:-.12em;width:108%;height:.32em;overflow:visible;pointer-events:none}
.swash path{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;opacity:.55;stroke-dasharray:420;stroke-dashoffset:420;transition:stroke-dashoffset 1.6s .35s var(--ease)}
.in .swash path,.swash.in path{stroke-dashoffset:0}

/* ---------- botões ---------- */
.btn{--bg:transparent;--fg:var(--ink);--bd:var(--ink);--hbg:var(--ink);--hfg:var(--paper);
 position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:12px;
 font:700 12.5px var(--body);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;
 padding:17px 28px;border-radius:999px;border:1.5px solid var(--bd);background:var(--bg);color:var(--fg);cursor:pointer;
 transition:color .45s var(--ease),border-color .45s,transform .45s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--hbg);border-radius:inherit;transform:translateY(101%);transition:transform .55s var(--ease)}
.btn:hover{color:var(--hfg);border-color:var(--hbg)}
.btn:hover::before{transform:none}
.btn:active{transform:scale(.98)}
.btn .ar{display:inline-block;transition:transform .45s var(--ease)}
.btn:hover .ar{transform:translateX(5px)}
.btn.wine{--bg:var(--wine);--fg:#fff;--bd:var(--wine);--hbg:var(--ink);--hfg:#fff}
.btn.light{--bg:#fff;--fg:var(--wine);--bd:#fff;--hbg:var(--ink);--hfg:#fff}
.btn.outline-light{--fg:#fff;--bd:rgba(255,255,255,.7);--hbg:#fff;--hfg:var(--wine)}
.btn.sm{padding:13px 20px;font-size:11.5px}
:focus-visible{outline:2.5px solid var(--wine);outline-offset:3px}
.link{font:700 12px var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--wine);text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;padding-bottom:4px;transition:background-size .5s var(--ease)}
.link:hover{background-size:100% 1.5px}

/* ---------- loader ---------- */
.loader{position:fixed;inset:0;z-index:300;background:var(--paper);display:grid;place-items:center;transition:opacity .8s var(--ease),visibility .8s}
.loader.done{opacity:0;visibility:hidden}
.loader svg{width:118px;height:118px}
.loader circle{fill:none;stroke:var(--wine);stroke-width:1.2;stroke-dasharray:340;stroke-dashoffset:340;animation:draw 1.4s var(--ease) forwards;transform:rotate(-90deg);transform-origin:center}
.loader text{font:italic 400 34px var(--display);fill:var(--ink);opacity:0;animation:fadeIn .8s .35s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fadeIn{to{opacity:1}}

/* ---------- barra de progresso ---------- */
.progress{position:fixed;left:0;top:0;height:2px;width:100%;background:var(--wine);transform-origin:0 50%;transform:scaleX(0);z-index:120}

/* ---------- navegação ---------- */
.nav{position:fixed;inset:0 0 auto;z-index:100;padding-top:env(safe-area-inset-top,0px);transition:transform .6s var(--ease),background .4s,box-shadow .4s}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:78px}
.nav.solid{background:color-mix(in srgb,#fffdfb 90%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
.nav.hide{transform:translateY(-100%)}
.mono{display:flex;align-items:baseline;gap:8px;text-decoration:none;font:400 italic 25px/1 var(--display);white-space:nowrap}
.mono b{font-style:normal;font-weight:600;color:var(--wine)}
.menu{list-style:none;display:flex;align-items:center;gap:30px;margin:0;padding:0}
.menu a{position:relative;font:600 12px var(--body);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;padding:8px 0;white-space:nowrap}
.menu a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1.5px;background:var(--wine);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.menu a:hover::after,.menu a[aria-current]::after{transform:scaleX(1);transform-origin:left}
.menu .cta a{padding:11px 18px;border-radius:999px;background:var(--wine);color:#fff}
.menu .cta a::after{display:none}
.menu .cta a:hover{background:var(--ink)}
.burger{display:none;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--paper);cursor:pointer;position:relative}
.burger span{position:absolute;left:13px;right:13px;height:1.5px;background:var(--ink);transition:transform .5s var(--ease),top .5s var(--ease)}
.burger span:first-child{top:18px}.burger span:last-child{top:26px}
.menu-open .burger span:first-child{top:22px;transform:rotate(45deg)}
.menu-open .burger span:last-child{top:22px;transform:rotate(-45deg)}
.drawer{position:fixed;inset:0;z-index:90;background:var(--blush);display:flex;flex-direction:column;justify-content:center;padding:100px var(--gut) 40px;clip-path:circle(0 at calc(100% - 44px) 40px);transition:clip-path .9s var(--ease);visibility:hidden}
.menu-open .drawer{clip-path:circle(150% at calc(100% - 44px) 40px);visibility:visible}
.drawer a{display:block;font:400 clamp(34px,9vw,52px)/1.25 var(--display);text-decoration:none;opacity:0;transform:translateY(24px);transition:opacity .6s,transform .6s var(--ease)}
.drawer a:nth-child(even){font-style:italic;color:var(--wine)}
.menu-open .drawer a{opacity:1;transform:none}
.drawer small{display:block;margin-top:36px;font:600 12px var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
@media (max-width:980px){.menu{display:none}.burger{display:block}}
@media (min-width:981px){.drawer{display:none}}

/* ---------- marquee ---------- */
.marquee{background:var(--paper);color:var(--wine);overflow:hidden;padding-block:20px;position:relative;z-index:2;border-block:1px solid var(--line)}
.marquee .track{display:flex;width:max-content;animation:roll 45s linear infinite;font:400 italic clamp(26px,3.4vw,42px)/1 var(--display)}
.marquee span{display:flex;align-items:center;gap:44px;padding-right:44px;white-space:nowrap}
.marquee span::after{content:"✦";font:normal 14px var(--body);color:color-mix(in srgb,#a3121c 45%,#fffdfb)}
.marquee:hover .track{animation-play-state:paused}
@keyframes roll{to{transform:translateX(-50%)}}

/* ---------- revelação ao rolar ---------- */
.js [data-r]{opacity:0;transform:translateY(42px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease);transition-delay:calc(var(--i,0) * 110ms)}
.js [data-r="left"]{transform:translateX(-50px)}
.js [data-r="right"]{transform:translateX(50px)}
.js [data-r="zoom"]{transform:scale(.94)}
.js [data-r="mask"]{opacity:1;transform:none;clip-path:inset(100% 0 0 0);transition:clip-path 1.4s var(--ease)}
.js [data-r].in{opacity:1;transform:none}
.js [data-r="mask"].in{clip-path:inset(0 0 0 0)}
.js .kicker[data-r]::before{transform:scaleX(0)}
.js .kicker[data-r].in::before{transform:scaleX(1)}

/* títulos letra a letra */
[data-split]>span{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
.js [data-split] .ch{display:inline-block;transform:translateY(105%) rotate(5deg);opacity:0;transition:transform 1.2s var(--ease),opacity .9s;transition-delay:calc(var(--i) * 55ms + .15s)}
.js .ready [data-split] .ch{transform:none;opacity:1}

/* ---------- pétalas flutuantes ---------- */
.petals{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.petals i{position:absolute;top:-8%;width:var(--s,16px);height:calc(var(--s,16px) * 1.35);border-radius:80% 0 80% 0;background:linear-gradient(135deg,var(--blush),color-mix(in srgb,#a3121c 22%,#f6e5e6));opacity:.75;animation:fall var(--d,18s) linear var(--w,0s) infinite;left:var(--x,50%)}
.petals i:nth-child(3n){background:linear-gradient(135deg,var(--sea),#fff);opacity:.9}
@keyframes fall{0%{transform:translate(0,0) rotate(0)}50%{transform:translate(40px,55vh) rotate(160deg)}100%{transform:translate(-20px,115vh) rotate(320deg)}}

/* ---------- carrossel de fotos ---------- */
.film{overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.reel{display:flex;gap:20px;width:max-content;animation:reel 70s linear infinite}
.film:hover .reel{animation-play-state:paused}
.reel img{height:clamp(220px,24vw,320px);aspect-ratio:4/3;width:auto;border-radius:18px;object-fit:cover;transition:transform .7s var(--ease)}
.reel img:hover{transform:scale(1.03)}
@keyframes reel{to{transform:translateX(calc(-50% - 10px))}}

/* ---------- rodapé ---------- */
.foot{background:var(--ink);color:color-mix(in srgb,#fffdfb 72%,#1e1a1b);padding:72px 0 calc(36px + env(safe-area-inset-bottom,0px));position:relative;overflow:hidden}
.foot .big{font:400 italic clamp(64px,13vw,190px)/.9 var(--display);color:var(--paper);margin:0 0 48px;letter-spacing:-.03em}
.foot .big b{font-style:normal;font-weight:400;color:var(--wine)}
.foot .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px;padding-top:32px;border-top:1px solid rgba(255,253,251,.16)}
.foot h4{margin:0 0 12px;font:700 11px var(--body);letter-spacing:.28em;text-transform:uppercase;color:var(--blush)}
.foot a{text-decoration:none;display:block;padding:3px 0;transition:color .3s}
.foot a:hover{color:#fff}
.foot .legal{margin-top:40px;font-size:13.5px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}

/* ---------- formulários ---------- */
.field{display:grid;gap:7px;font:700 11px var(--body);letter-spacing:.18em;text-transform:uppercase;min-width:0}
.field input,.field select,.field textarea{width:100%;font:500 16px var(--body);color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px 16px;text-transform:none;letter-spacing:0;transition:border-color .3s,box-shadow .3s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--wine);box-shadow:0 0 0 4px color-mix(in srgb,#a3121c 14%,transparent)}
.field textarea{min-height:100px;resize:vertical}

/* ---------- movimento reduzido ---------- */
/* Com "reduzir animações" ligado no computador, o site mantém os movimentos
   suaves da marca (faixa de palavras, carrossel, círculo, entradas) e tira só
   os efeitos mais fortes: pétalas caindo, parallax e rolagem animada. */
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .petals{display:none}
}

/* ---------- acabamento editorial ---------- */
/* textura de papel, bem leve, por cima de tudo */
body::after{content:"";position:fixed;inset:0;z-index:95;pointer-events:none;opacity:.07;mix-blend-mode:multiply;
 background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .64 0 0 0 0 .07 0 0 0 0 .11 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E")}
/* número da seção antes do título pequeno */
.kicker .kn{order:-1;font:400 italic 20px/1 var(--display);letter-spacing:0;text-transform:none;margin-right:-2px}

/* rodapé claro */
.foot.light{background:var(--paper);color:var(--soft);padding:48px 0 calc(28px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line)}
.foot.light .big{font-size:clamp(30px,4vw,46px);color:var(--ink);margin:0 0 26px}
.foot.light h4{color:var(--wine)}
.foot.light a:hover{color:var(--wine)}
.foot.light .cols{border-top-color:var(--line);padding-top:24px}
.foot.light .legal{margin-top:28px;color:var(--mute)}
