/* =========================================================
   0. FONTES (Newsreader + Jost, subset latin, em /fonts — licença OFL)
   Newsreader 300 (óptica de título) para títulos grandes,
   Newsreader 400 (óptica de texto) para títulos menores e números.
   ========================================================= */
@font-face{font-family:"Newsreader";font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/newsreader-display-300.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2190-2193,U+2212,U+2215}
@font-face{font-family:"Newsreader";font-style:italic;font-weight:300;font-display:swap;src:url(../fonts/newsreader-display-300-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2190-2193,U+2212,U+2215}
@font-face{font-family:"Newsreader";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/newsreader-text-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2190-2193,U+2212,U+2215}
@font-face{font-family:"Jost";font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/jost-300.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2190-2193,U+2212,U+2215}
@font-face{font-family:"Jost";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/jost-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2190-2193,U+2212,U+2215}
@font-face{font-family:"Jost";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/jost-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2190-2193,U+2212,U+2215}

/* =========================================================
   1. TOKENS
   ========================================================= */
:root{
  /* cor */
  --algodao:#FDF9F6;
  --blush:#F8EDE7;
  --rose:#C47F78;
  --rose-ink:#A15A53;            /* rosé para texto/foco sobre fundo claro (contraste ≥ 3:1) */
  --caramelo:#7B3F1F;
  --caramelo-escuro:#713A1C;
  --cacau:#3B2A26;
  --cacau-suave:#6A544E;
  --noite:#1F1613;
  --champanhe:#DDB98C;
  --creme:#F5EDE2;
  --bordo:#4A1D22;
  --linha:rgba(59,42,38,.14);
  --arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath d='M0 5h14.5M10.5 1l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.3'/%3E%3C/svg%3E");
  --linha-clara:rgba(253,249,246,.18);
  --algodao-suave:rgba(253,249,246,.74);

  /* tipografia */
  --f-display:"Newsreader", Georgia, "Times New Roman", serif;
  --f-body:"Jost", "Futura", "Century Gothic", system-ui, sans-serif;

  --fs-display:clamp(2.75rem, 1.55rem + 4.6vw, 6.25rem);
  --fs-h2:clamp(2.125rem, 1.5rem + 2.5vw, 3.75rem);
  --fs-h3:clamp(1.375rem, 1.2rem + .7vw, 1.875rem);
  --fs-lead:clamp(1.125rem, 1.04rem + .45vw, 1.375rem);
  --fs-body:clamp(1.0625rem, 1rem + .25vw, 1.1875rem);
  --fs-small:.9375rem;
  --fs-label:.8125rem;
  --fs-btn:.8125rem;
  --fs-logo:1.5rem;

  --lh-display:1;
  --lh-h2:1.08;
  --lh-h3:1.2;
  --lh-body:1.6;
  --ls-display:-.025em;
  --ls-h2:-.018em;
  --ls-caps:.2em;               /* só sobretítulos, botões e logotipo usam caixa-alta */
  --measure:62ch;

  /* espaço */
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px; --s-6:32px;
  --s-7:48px; --s-8:64px; --s-9:96px; --s-10:128px; --s-11:176px;
  --section:clamp(var(--s-9), 11vw, var(--s-11));
  --container:1320px;
  --gutter:clamp(20px, 5vw, 72px);
  --gap:clamp(var(--s-4), 3vw, var(--s-6));
  --pad-x:max(var(--gutter), calc((100vw - var(--container)) / 2));

  /* forma: cantos retos em tudo */
  --hair:1px;
  --ring:2px;
  --ring-offset:3px;
  --nav-h:76px;
  --control-h:54px;
  --touch:44px;
  --bar-h:66px;
  --hero-photo:min(58vw, 940px);

  /* movimento: só o essencial */
  --ease:cubic-bezier(.22,1,.36,1);
  --t-fast:180ms;
  --t-ui:380ms;
}

/* =========================================================
   2. BASE
   ========================================================= */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}
body{margin:0;background:var(--algodao);color:var(--cacau);font-family:var(--f-body);font-weight:400;font-size:var(--fs-body);line-height:var(--lh-body);overflow-x:clip;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-kerning:normal}
html.is-locked,html.is-locked body{overflow:hidden}
img,svg{display:block;max-width:100%}
img{height:auto}
h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0;border-radius:0}
strong,b{font-weight:500}
::selection{background:var(--rose);color:var(--algodao)}
:focus-visible{outline:var(--ring) solid var(--rose-ink);outline-offset:var(--ring-offset)}
[hidden]{display:none!important}

h1,h2,h3{font-family:var(--f-display);color:var(--caramelo);text-wrap:balance}
h1,h2{font-weight:300}
h3,h4{font-weight:400}
h4{font-family:var(--f-display);color:var(--caramelo)}
p{text-wrap:pretty;max-width:var(--measure)}
section[id]{scroll-margin-top:var(--nav-h)}

.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:fixed;left:var(--s-4);top:var(--s-4);z-index:100;padding:var(--s-3) var(--s-4);background:var(--caramelo);color:var(--algodao);font-size:var(--fs-small);text-decoration:none;transform:translateY(-200%);transition:transform var(--t-fast) var(--ease)}
.skip:focus{transform:none}

/* =========================================================
   3. LAYOUT
   ========================================================= */
.container{width:100%;max-width:calc(var(--container) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:var(--s-7)}
.c-4{grid-column:span 4}.c-5{grid-column:span 5}.c-6{grid-column:span 6}.c-7{grid-column:span 7}.c-8{grid-column:span 8}.c-12{grid-column:1 / -1}
.section{padding-block:var(--section)}
.section--tight-top{padding-top:0}

/* =========================================================
   4. COMPONENTES
   ========================================================= */
/* sobretítulo: só no hero, Assessorias e O grande dia */
.eyebrow{margin-bottom:var(--s-5);font-size:var(--fs-label);font-weight:500;letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--cacau-suave);max-width:none}
.h2{font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--ls-h2)}
.h3{font-size:var(--fs-h3);line-height:var(--lh-h3)}
.lead{font-size:var(--fs-lead);line-height:1.55;font-weight:300}
.small{font-size:var(--fs-small);color:var(--cacau-suave)}
.credit{font-size:var(--fs-small);color:var(--cacau-suave);margin-top:var(--s-3)}
.num{font-variant-numeric:lining-nums tabular-nums}

/* botões (caixa-alta fica só aqui e nos sobretítulos) */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--s-3);height:var(--control-h);min-width:var(--touch);padding:0 var(--s-6);font-size:var(--fs-btn);font-weight:500;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;white-space:nowrap;border:var(--hair) solid transparent;transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}
.btn--primary{background:var(--caramelo);color:var(--algodao)}
.btn--primary:hover{background:var(--caramelo-escuro)}
.btn--light{background:var(--algodao);color:var(--cacau)}
.btn--light:hover{background:var(--blush)}
.btn--secondary{border-color:var(--caramelo);color:var(--caramelo);background:transparent}
.btn--secondary:hover{background:var(--caramelo);color:var(--algodao)}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.btn--primary{box-shadow:0 12px 24px -16px rgba(123,63,31,.75)}
.btn--go::after{content:"";flex:none;width:16px;height:10px;background:currentColor;-webkit-mask:var(--arrow) center / contain no-repeat;mask:var(--arrow) center / contain no-repeat;transition:transform var(--t-fast) var(--ease)}
.btn--go:hover::after{transform:translateX(3px)}
.btn--wa{background:var(--algodao);color:var(--cacau);border-color:rgba(59,42,38,.2);gap:var(--s-2);text-transform:none;letter-spacing:.01em;font-size:var(--fs-small)}
.btn--wa:hover{border-color:var(--cacau)}
.btn--ig{background:transparent;color:var(--caramelo);border-color:var(--caramelo);gap:var(--s-2);text-transform:none;letter-spacing:.01em;font-size:var(--fs-body)}
.btn--ig:hover{background:var(--caramelo);color:var(--algodao)}
.ig-ico{flex:none;width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.6}
.ig-ico .ig-dot{fill:currentColor;stroke:none}
.ig-link{gap:var(--s-2)}
.footer ul a.ig-link{display:inline-flex;align-items:center}
.wa-ico{flex:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}
.btn--wa .wa-ico{color:#1A9E4B}
#f-send{gap:var(--s-3)}
.btn--block{width:100%}

/* link de texto */
.link{display:inline-flex;align-items:center;min-height:var(--touch);color:var(--caramelo);font-size:var(--fs-small);font-weight:500;text-decoration:underline;text-decoration-thickness:var(--hair);text-underline-offset:.3em;transition:color var(--t-fast) var(--ease)}
.link:hover{color:var(--cacau)}
.link--light{color:var(--algodao)}
.link--light:hover{color:var(--champanhe)}
.inline-link{color:var(--caramelo);text-decoration:underline;text-decoration-thickness:var(--hair);text-underline-offset:.2em;padding-block:var(--s-3)}

/* fotos */
.photo{position:relative;overflow:hidden;background:var(--blush)}
.photo img{width:100%;height:100%;object-fit:cover}

/* campos */
.field{display:grid;gap:var(--s-2);margin:0 0 var(--s-6);padding:0;border:0;min-width:0}
.field > label,.field > legend,.field__label{font-size:var(--fs-small);font-weight:500;color:var(--cacau);padding:0;margin:0 0 var(--s-1);max-width:none}
.input{width:100%;height:var(--control-h);padding:0 var(--s-1);background:transparent;border:0;border-bottom:var(--hair) solid var(--cacau-suave);border-radius:0;font-size:var(--fs-body);font-weight:400;color:var(--cacau);transition:border-color var(--t-fast) var(--ease)}
.input:hover{border-bottom-color:var(--cacau)}
.input:focus{outline:none;border-bottom-color:var(--caramelo);box-shadow:0 var(--hair) 0 var(--caramelo)}
.input:focus-visible{outline:var(--ring) solid var(--rose-ink);outline-offset:var(--ring-offset)}
.input[aria-invalid="true"]{border-bottom-color:var(--caramelo)}
.input:disabled{opacity:.45}
textarea.input{height:auto;min-height:calc(var(--control-h) * 2);padding-block:var(--s-3);resize:vertical;line-height:var(--lh-body)}
.hint{font-size:var(--fs-small);color:var(--cacau-suave)}
.err{display:flex;align-items:center;gap:var(--s-2);font-size:var(--fs-small);font-weight:500;color:var(--caramelo)}
.err::before{content:"";width:var(--s-2);height:var(--s-2);background:var(--caramelo);flex:none}
.check{display:inline-flex;align-items:center;gap:var(--s-3);min-height:var(--touch);font-size:var(--fs-small);cursor:pointer;width:max-content;max-width:100%}
.check input{width:var(--s-4);height:var(--s-4);margin:0;accent-color:var(--caramelo)}

/* campo de data: botão que abre o seletor */
.date-btn{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-4);width:100%;max-width:24rem;min-height:var(--control-h);padding:var(--s-3) var(--s-1);border-bottom:var(--hair) solid var(--cacau-suave);font-family:var(--f-display);font-weight:400;font-size:1.375rem;line-height:1.2;color:var(--cacau);text-align:left;transition:border-color var(--t-fast) var(--ease)}
.date-btn:hover{border-bottom-color:var(--cacau)}
.date-btn[data-empty] .date-btn__v{color:var(--cacau-suave)}
.date-btn__i{flex:none;font-family:var(--f-body);font-size:var(--fs-small);font-weight:500;color:var(--caramelo);text-decoration:underline;text-underline-offset:.3em}
.date-btn[aria-invalid="true"]{border-bottom-color:var(--caramelo);box-shadow:0 var(--hair) 0 var(--caramelo)}
.date-btn:disabled{opacity:.45;cursor:not-allowed}

/* seletor em rolagem (dia · mês · ano), dentro do diálogo */
.dp{width:calc(100% - 2 * var(--gutter));max-width:28rem;max-height:none;padding:0;border:0;background:var(--algodao);color:var(--cacau);box-shadow:0 24px 48px -24px rgba(31,22,19,.45)}
.dp::backdrop{background:rgba(31,22,19,.6)}
.dp[open]{animation:dp-in var(--t-ui) var(--ease)}
@keyframes dp-in{from{opacity:0;transform:translateY(var(--s-4))}}
.dp__inner{padding:var(--s-5) var(--s-6) var(--s-6)}
.dp__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-4)}
.dp__title{font-family:var(--f-display);font-size:var(--fs-h3);line-height:var(--lh-h3);color:var(--caramelo)}
.dp__close{margin-right:calc(-1 * var(--s-2))}
.dp__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3) var(--s-6);margin-top:var(--s-6)}
.wheel{position:relative;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.7fr) minmax(0,1fr);gap:var(--s-2);height:calc(var(--touch) * 5);-webkit-user-select:none;user-select:none}
.wheel__band{position:absolute;left:0;right:0;top:50%;height:var(--touch);transform:translateY(-50%);border-block:var(--hair) solid var(--caramelo);pointer-events:none}
.wheel__col{height:100%;overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(180deg, transparent 0%, #000 32%, #000 68%, transparent 100%);mask-image:linear-gradient(180deg, transparent 0%, #000 32%, #000 68%, transparent 100%);cursor:grab}
.wheel__col::-webkit-scrollbar{display:none}
.wheel__col ul{padding-block:calc(var(--touch) * 2)}
.wheel__col li{display:flex;align-items:center;justify-content:center;height:var(--touch);scroll-snap-align:center;font-family:var(--f-display);font-weight:400;font-size:1.3125rem;line-height:1;color:var(--cacau-suave);font-variant-numeric:lining-nums tabular-nums;cursor:pointer;transition:color var(--t-fast) var(--ease)}
.wheel__col li.is-sel{color:var(--caramelo)}
.wheel__cap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.7fr) minmax(0,1fr);gap:var(--s-2);margin-top:var(--s-2);text-align:center;font-size:var(--fs-small);color:var(--cacau-suave)}
.wheel__hint{margin-top:var(--s-4);font-size:var(--fs-small);color:var(--cacau-suave)}

/* chips */
.chips{display:flex;flex-wrap:wrap;gap:var(--s-2)}
.chip{position:relative;display:inline-flex}
.chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.chip span,.chip-btn{display:inline-flex;align-items:center;min-height:var(--touch);padding:0 var(--s-5);border:var(--hair) solid var(--linha);background:var(--algodao);font-size:var(--fs-small);font-weight:400;color:var(--cacau);transition:border-color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}
.chip:hover span,.chip-btn:hover{border-color:var(--caramelo)}
.chip input:checked + span,.chip-btn[aria-pressed="true"]{background:var(--caramelo);border-color:var(--caramelo);color:var(--algodao)}
.chip input:focus-visible + span{outline:var(--ring) solid var(--rose-ink);outline-offset:var(--ring-offset)}

/* alternância Completa | Parcial */
.seg{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;border:var(--hair) solid var(--caramelo);background:var(--algodao)}
.seg__ind{position:absolute;top:0;bottom:0;left:0;width:50%;background:var(--caramelo);transition:transform var(--t-ui) var(--ease)}
.seg[data-value="parcial"] .seg__ind{transform:translateX(100%)}
.seg__tab{position:relative;z-index:1;min-height:var(--touch);padding:0 var(--s-6);font-size:var(--fs-small);font-weight:500;color:var(--caramelo);transition:color var(--t-ui) var(--ease)}
.seg__tab[aria-selected="true"]{color:var(--algodao)}

/* acordeão */
.faq{border-top:var(--hair) solid var(--linha)}
.faq:last-child{border-bottom:var(--hair) solid var(--linha)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:var(--s-5);min-height:var(--touch);padding:var(--s-5) 0;cursor:pointer;list-style:none;font-family:var(--f-display);font-weight:400;font-size:var(--fs-h3);line-height:var(--lh-h3);color:var(--cacau);transition:color var(--t-fast) var(--ease)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--caramelo)}
.faq__icon{position:relative;flex:none;width:var(--s-5);height:var(--s-5);transition:transform var(--t-ui) var(--ease)}
.faq__icon::before,.faq__icon::after{content:"";position:absolute;left:0;right:0;top:50%;height:var(--hair);background:var(--caramelo)}
.faq__icon::after{transform:rotate(90deg)}
.faq[open] .faq__icon{transform:rotate(45deg)}
.faq__body{overflow:hidden}
.faq__body p{padding:0 0 var(--s-6);color:var(--cacau)}

/* botões de ícone (setas, fechar) */
.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-width:var(--touch);min-height:var(--touch);font-size:var(--fs-small);font-weight:500;color:var(--caramelo);white-space:nowrap}
.arrow{font-size:1.375rem;font-weight:300}
.square{width:var(--control-h);height:var(--control-h);border:var(--hair) solid var(--linha-clara);color:var(--algodao);transition:border-color var(--t-fast) var(--ease)}
.square:hover{border-color:var(--algodao)}
.counter{font-size:var(--fs-small);color:var(--cacau);font-variant-numeric:tabular-nums}


/* =========================================================
   5. SEÇÕES
   ========================================================= */

/* 5.1 NAV */
.nav{position:fixed;inset:0 0 auto;z-index:40;height:var(--nav-h)}
.nav__bg{position:absolute;inset:0;background:var(--algodao);border-bottom:var(--hair) solid var(--linha);opacity:0;transition:opacity var(--t-ui) var(--ease)}
.nav__inner{position:relative;height:100%;display:flex;align-items:center;gap:var(--s-6)}
.nav.is-scrolled .nav__bg{opacity:1}
.logo{display:inline-flex;align-items:center;gap:.35em;min-height:var(--touch);font-size:var(--fs-logo);font-weight:300;letter-spacing:var(--ls-caps);text-decoration:none;line-height:1;margin-right:auto;white-space:nowrap}
.logo__a{color:var(--cacau);transition:color var(--t-ui) var(--ease)}
.logo__b{color:var(--rose-ink)}
.nav__links ul{display:flex;gap:var(--s-6)}
.nav__links a{position:relative;display:inline-flex;align-items:center;min-height:var(--touch);font-size:var(--fs-small);font-weight:400;text-decoration:none;color:var(--cacau);transition:color var(--t-ui) var(--ease)}
.nav__links a::after{content:"";position:absolute;left:0;right:0;bottom:var(--s-2);height:var(--hair);background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--t-ui) var(--ease)}
.nav__links a:hover::after,.nav__links a[aria-current="true"]::after{transform:scaleX(1)}
.nav__links a[aria-current="true"]{color:var(--caramelo)}
.nav__cta{height:calc(var(--control-h) - var(--s-2))}
.nav__toggle{display:none;align-items:center;gap:var(--s-3);min-height:var(--touch);min-width:var(--touch);padding:0 var(--s-1);font-size:var(--fs-small);font-weight:500;color:var(--cacau);transition:color var(--t-ui) var(--ease)}
.nav__toggle i{display:grid;gap:var(--s-1);width:var(--s-5)}
.nav__toggle i::before,.nav__toggle i::after{content:"";height:var(--hair);background:currentColor}

/* menu mobile */
.menu{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;background:var(--algodao);padding:0 var(--gutter) calc(var(--s-6) + env(safe-area-inset-bottom));overflow-y:auto;opacity:0;transition:opacity var(--t-ui) var(--ease)}
.menu.is-open{opacity:1}
.menu__top{display:flex;align-items:center;justify-content:space-between;height:var(--nav-h)}
.menu__close{font-size:var(--fs-small);color:var(--cacau)}
.menu__list{margin-block:var(--s-6);border-top:var(--hair) solid var(--linha)}
.menu__list li{border-bottom:var(--hair) solid var(--linha)}
.menu__list a{display:block;padding:var(--s-4) 0;font-family:var(--f-display);font-weight:300;font-size:clamp(2rem, 1.5rem + 2.5vw, 2.75rem);line-height:1.1;color:var(--caramelo);text-decoration:none}
.menu__foot{margin-top:auto;display:grid;gap:var(--s-5)}
.menu__foot p{font-size:var(--fs-small);color:var(--cacau-suave)}

/* 5.2 HERO (dobra 1): tipográfico, foto embutida no título + faixa de casamentos rolando */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;background:var(--algodao);padding-top:calc(var(--nav-h) + var(--s-8));overflow:clip}
.hero__inner{display:flex;flex-direction:column;align-items:center;text-align:center}
.hero__title{font-size:clamp(2.75rem, 1.4rem + 4.6vw, 6rem);line-height:1.04;letter-spacing:-.03em;color:var(--caramelo);max-width:17ch}
.hero__title em{font-style:italic;color:var(--rose-ink)}  /* o único destaque em itálico do site */
.hero__pic{display:inline-block;width:1.7em;height:.82em;vertical-align:-.08em;overflow:hidden;background:var(--blush)}
.hero__pic img{width:100%;height:100%;object-fit:cover}
.hero__lead{margin-top:var(--s-6);max-width:52ch;color:var(--cacau-suave)}
.hero__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--s-4) var(--s-7);margin-top:var(--s-6)}

/* faixa de fotos: duas cópias da lista andando sem parar; para ao passar o mouse */
.marquee{margin-top:var(--s-8);overflow:hidden}
.marquee__track{display:flex;width:max-content;animation:marquee 70s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee__list{display:flex;gap:var(--s-3);padding-right:var(--s-3)}
.marquee__list li{flex:none;width:min(21vw, 260px);height:min(26svh, 260px);background:var(--blush)}
.marquee__list img{width:100%;height:100%;object-fit:cover}
@keyframes marquee{to{transform:translateX(-50%)}}

/* 5.3 CONFIANÇA (dobra 2): números, promessa e depoimento */
.trust{background:var(--creme);text-align:center}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.stats li{display:grid;gap:var(--s-2);padding:var(--s-2) var(--s-5)}
.stats li + li{border-left:var(--hair) solid var(--champanhe)}
.stats b{font-family:var(--f-display);font-weight:300;font-size:clamp(3.25rem, 2rem + 4vw, 5.5rem);line-height:1;letter-spacing:-.03em;color:var(--caramelo)}
.stats span{font-size:var(--fs-small);color:var(--cacau-suave)}
.promise{display:grid;gap:var(--s-2);max-width:30ch;margin:var(--s-9) auto 0;font-family:var(--f-display);font-weight:300;font-size:clamp(1.625rem, 1.2rem + 1.6vw, 2.5rem);line-height:1.25;letter-spacing:-.015em;color:var(--cacau)}
.promise__end{color:var(--caramelo)}
.testimonial{max-width:44rem;margin:var(--s-9) auto 0;padding-top:var(--s-7);border-top:var(--hair) solid var(--linha)}
.testimonial blockquote{margin:0}
.testimonial blockquote p{max-width:none;font-family:var(--f-display);font-weight:400;font-size:1.375rem;line-height:1.5;color:var(--cacau)}
.testimonial figcaption{display:inline-flex;align-items:center;gap:var(--s-4);margin-top:var(--s-6);text-align:left}
.testimonial img{width:64px;height:64px;border-radius:50%;object-fit:cover}
.testimonial b{display:block;font-weight:500;color:var(--caramelo)}
.testimonial figcaption span span{font-size:var(--fs-small);color:var(--cacau-suave)}

/* 5.4 O QUE EU FAÇO (dobra 3): fundo bordô, título à esquerda, três blocos */
.what{background:var(--bordo);color:var(--algodao)}
.what h2,.what h3{color:var(--algodao)}
.what__head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:end}
.what__head h2{grid-column:1 / span 6}
.what__lead{grid-column:8 / span 5;font-size:var(--fs-lead);font-weight:300;line-height:1.55;color:var(--algodao-suave)}
.what__blocks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-7) var(--gap);margin-top:var(--s-9)}
.what__blocks li{padding-top:var(--s-6);border-top:var(--hair) solid rgba(221,185,140,.45)}
.what__icon{width:40px;height:40px;fill:none;stroke:var(--champanhe);stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.what__when{margin-top:var(--s-5);font-size:var(--fs-label);font-weight:500;letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--champanhe)}
.what__blocks h3{margin-top:var(--s-2);font-size:var(--fs-h3);line-height:var(--lh-h3)}
.what__blocks h3 + p{margin-top:var(--s-4);color:var(--algodao-suave);line-height:1.6}

/* 5.5 ASSESSORIAS */
.plans{border-top:var(--hair) solid var(--linha)}
.plans__head{align-items:end;margin-bottom:var(--s-8)}
.plans__intro{grid-column:9 / span 4;font-size:var(--fs-lead);font-weight:300;line-height:1.5;color:var(--cacau);padding-bottom:var(--s-2)}
.pcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}
.pcard{display:flex;flex-direction:column;padding:var(--s-7) var(--s-6);border:var(--hair) solid var(--linha);background:var(--algodao)}
.pcard--completa{background:var(--blush);border-color:var(--blush);border-top:2px solid var(--champanhe)}
.pcard__name{font-size:calc(var(--fs-h3) * 1.25);line-height:1.1;color:var(--caramelo)}
.pcard__when{margin-top:var(--s-4);color:var(--cacau)}
.pcard__when strong{color:var(--caramelo)}
.span{--from:0%;margin-top:var(--s-6)}
.span--parcial{--from:66.66%}
.span__track{position:relative;height:var(--s-3)}
.span__track::before{content:"";position:absolute;left:0;right:0;top:50%;height:var(--hair);background:var(--cacau-suave);opacity:.35}
.span__fill{position:absolute;top:50%;left:var(--from);right:0;height:2px;margin-top:-1px;background:var(--caramelo)}
.span__dot{position:absolute;top:50%;width:var(--s-3);height:var(--s-3);border-radius:50%;background:var(--caramelo);transform:translate(-50%,-50%)}
.span__dot--start{left:var(--from)}
.span__dot--end{left:100%;background:var(--rose)}
.span__lbl{position:relative;display:flex;justify-content:space-between;margin-top:var(--s-2);font-size:var(--fs-small);color:var(--cacau-suave)}
.span__lbl span:nth-child(2){position:absolute;left:66.66%;transform:translateX(-50%);white-space:nowrap}
.pcard__for{margin:var(--s-5) 0 var(--s-6);font-size:var(--fs-small);color:var(--cacau-suave)}
.pcard .btn{margin-top:auto;align-self:flex-start}

.incl{margin-top:var(--s-9)}
.incl__bar{position:sticky;top:var(--nav-h);z-index:5;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-3) var(--s-5);padding-block:var(--s-4);margin-bottom:var(--s-7);background:var(--algodao);border-bottom:var(--hair) solid var(--cacau)}
.incl__title{font-size:var(--fs-h3);line-height:var(--lh-h3);color:var(--cacau)}
.incl__panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-7) var(--gap)}
.phase__t{font-size:var(--fs-h3);line-height:var(--lh-h3);color:var(--caramelo)}
.phase__s{margin-top:var(--s-1);font-size:var(--fs-small);color:var(--cacau-suave)}
.phase ul{margin-top:var(--s-5)}
.phase li{position:relative;padding:var(--s-3) 0 var(--s-3) var(--s-6);border-top:var(--hair) solid var(--linha);line-height:1.45}
/* marca de "incluso": um traço fino de check, sem círculo */
.phase li::before{content:"";position:absolute;left:var(--s-1);top:calc(var(--s-3) + .3em);width:6px;height:11px;border:solid var(--caramelo);border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
.incl__panel[data-plan="completa"] [data-v="parcial"],.incl__panel[data-plan="parcial"] [data-v="completa"]{display:none}
.only-tag{display:none;margin-left:var(--s-2);font-size:var(--fs-small);color:var(--cacau-suave);white-space:nowrap}
.incl__panel[data-plan="parcial"] li[data-only]::before{width:10px;height:0;top:calc(var(--s-3) + .75em);border-width:var(--hair) 0 0;border-color:var(--cacau-suave);transform:none}
.incl__panel[data-plan="parcial"] li[data-only] > span:first-child{color:var(--cacau-suave);text-decoration:line-through;text-decoration-thickness:var(--hair)}
.incl__panel[data-plan="parcial"] li[data-only] .only-tag{display:inline}
.plans__help{margin-top:var(--s-8);color:var(--cacau)}
.plans__note{margin-top:var(--s-3);max-width:none}

/* 5.6 CONTAGEM */
.count-sec{background:var(--blush)}
.count-sec .chip-btn{background:var(--algodao)}
.count-sec .date-btn{font-size:var(--fs-h3)}
.date-field{margin-top:var(--s-7)}
.date-field .chips{margin-top:var(--s-4)}
.count{display:flex;flex-direction:column;justify-content:flex-end}
.count__wrap{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s-2) var(--s-5)}
.count__n{font-family:var(--f-display);font-weight:300;font-size:calc(var(--fs-display) * 1.4);line-height:.9;letter-spacing:-.03em;color:var(--caramelo);font-variant-numeric:lining-nums tabular-nums}
.count__u{font-family:var(--f-display);font-weight:400;font-size:var(--fs-h3);color:var(--cacau)}
.tag{display:inline-flex;align-items:center;padding:var(--s-1) var(--s-2);border:var(--hair) solid var(--caramelo);font-size:var(--fs-small);color:var(--caramelo);line-height:1.2}
.count__msg{margin-top:var(--s-5);min-height:calc(var(--lh-body) * 1em * 2);color:var(--cacau)}
.count__msg button{color:var(--caramelo);text-decoration:underline;text-underline-offset:.2em;min-height:var(--touch);font-weight:500}
.count__empty{font-family:var(--f-display);font-weight:400;font-size:var(--fs-h3);line-height:var(--lh-h3);color:var(--cacau);max-width:24ch}
.count-sec__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-4);margin-top:var(--s-9);padding-top:var(--s-6);border-top:var(--hair) solid var(--linha)}
.count-sec__bar h3{font-size:var(--fs-h3);line-height:var(--lh-h3);color:var(--cacau)}
.count-sec__cta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-4) var(--s-6);margin-top:var(--s-8)}

/* marcos: quatro colunas no desktop, lista no celular */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);margin-top:var(--s-7)}
.step-m{padding-top:var(--s-4);border-top:2px solid var(--caramelo)}
.step-m[data-pre]{border-top:var(--hair) dashed var(--cacau-suave);padding-top:calc(var(--s-4) + 1px)}
.step-m[data-pre] .step-m__t,.step-m[data-pre] .step-m__x{color:var(--cacau-suave)}
.step-m__d{font-size:var(--fs-small);font-weight:500;color:var(--caramelo);font-variant-numeric:lining-nums tabular-nums}
.step-m__t{margin-top:var(--s-1);font-family:var(--f-display);font-weight:400;font-size:1.375rem;line-height:1.2;color:var(--cacau)}
.step-m__x{margin-top:var(--s-2);font-size:var(--fs-small);line-height:1.5;color:var(--cacau-suave)}
.step-m__me{display:inline-block;margin-top:var(--s-3);padding:2px var(--s-2);background:var(--caramelo);color:var(--algodao);font-size:var(--fs-small);font-weight:500}

/* 5.7 O GRANDE DIA */
.day{background:var(--cacau);color:var(--algodao)}
.day h2{color:var(--algodao)}
.day .eyebrow{color:var(--champanhe)}
.day__wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.day__media{position:sticky;top:var(--nav-h);height:calc(100svh - var(--nav-h));margin:0;overflow:hidden;align-self:start;background:var(--noite)}
.day__media img{width:100%;height:100%;object-fit:cover;object-position:50% 38%}
.day__media::after{content:"";position:absolute;inset:0;background:linear-gradient(270deg, var(--cacau) 0%, transparent 16%);pointer-events:none}
.day__content{padding:var(--section) var(--pad-x) var(--section) clamp(var(--s-6), 6vw, var(--s-10))}
.day__intro p:not(.eyebrow){margin-top:var(--s-6);color:var(--algodao-suave);max-width:40ch}
.day__prog{margin-top:var(--s-9)}
.day__kicker{margin-bottom:var(--s-4);font-size:var(--fs-small);font-weight:500;color:var(--champanhe)}
.day__note{margin-top:var(--s-4);font-size:var(--fs-small);color:var(--algodao-suave)}
.program{border-top:var(--hair) solid var(--linha-clara)}
.program li{display:flex;align-items:baseline;gap:var(--s-4);padding-block:var(--s-5);border-bottom:var(--hair) solid var(--linha-clara);transition:opacity 700ms var(--ease)}
.js .program li{opacity:.8}
.js .program li.is-lit{opacity:1}
.program__t{flex:none;width:4.2em;font-size:var(--fs-small);font-weight:500;color:var(--champanhe);font-variant-numeric:tabular-nums}
.program__dots{flex:1;min-width:var(--s-6);border-bottom:var(--hair) dotted var(--algodao-suave);transform:translateY(-.3em)}
.program__m{font-family:var(--f-display);font-weight:400;font-size:var(--fs-h3);line-height:var(--lh-h3);text-align:right}

/* 5.8 QUEM SOU */
.about{align-items:start}
.about__head{grid-column:1 / span 8}
.about__photo{grid-column:1 / span 5;grid-row:2;position:relative;isolation:isolate;margin:0 var(--s-5) 0 0}
.about__photo::before{content:"";position:absolute;z-index:-1;top:var(--s-5);left:var(--s-5);width:100%;aspect-ratio:4/5;border:var(--hair) solid var(--champanhe)}
.about__photo .photo{aspect-ratio:4/5}
.about__photo .credit{margin-top:var(--s-6)}
.about__text{grid-column:7 / span 6;grid-row:2;align-self:center}
.about__first{font-size:var(--fs-lead);font-weight:300}
.about__text p + p{margin-top:var(--s-5)}
.quote{margin-block:var(--s-7);padding-left:var(--s-6);border-left:2px solid var(--champanhe)}
.quote p{font-family:var(--f-display);font-weight:300;font-size:calc(var(--fs-h2) * .9);line-height:1.1;letter-spacing:var(--ls-h2);color:var(--caramelo);max-width:16ch}

/* 5.9 CASAMENTOS (dobra 4): grade de 6 fotos que leva à página de casamentos */
.gal__head{text-align:center;display:grid;justify-items:center;gap:var(--s-4);margin-bottom:var(--s-8)}
.gal__lead{font-size:var(--fs-lead);font-weight:300;color:var(--cacau-suave)}
.gal__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.gal__grid li:nth-child(3n+2){transform:translateY(var(--s-8))}   /* coluna do meio desce: ritmo de revista */
.gal__item{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:var(--blush)}
.gal__item img{width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--ease)}
.gal__item::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg, rgba(31,22,19,.55) 0%, transparent 45%);opacity:0;transition:opacity var(--t-ui) var(--ease)}
.gal__more{position:absolute;z-index:1;left:var(--s-5);bottom:var(--s-5);font-size:var(--fs-small);font-weight:500;color:var(--algodao);opacity:0;transform:translateY(var(--s-2));transition:opacity var(--t-ui) var(--ease),transform var(--t-ui) var(--ease)}
.gal__item:hover img{transform:scale(1.03)}
.gal__item:hover::after,.gal__item:focus-visible::after,.gal__item:hover .gal__more,.gal__item:focus-visible .gal__more{opacity:1;transform:none}
.gal__item:focus-visible{outline-offset:var(--s-1)}
.gal__cta{display:flex;justify-content:center;margin-top:calc(var(--s-8) + var(--s-8))}

/* página Casamentos */
.page-head{padding:calc(var(--nav-h) + var(--s-9)) 0 var(--s-8);text-align:center}
.page-head .h2{font-size:var(--fs-display);line-height:1;letter-spacing:var(--ls-display)}
.page-head p{margin:var(--s-5) auto 0;font-size:var(--fs-lead);font-weight:300;color:var(--cacau-suave)}
.album{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
/* foto horizontal ocupa duas colunas; a altura acompanha a linha */
.album__wide{grid-column:span 2}
.album__wide .g-open{height:100%;aspect-ratio:auto}
.album__wide .g-open img{position:absolute;inset:0}
/* chamada no fim da página Casamentos */
.album-cta{margin-top:var(--s-9);padding:var(--s-8) var(--s-6);background:var(--blush);text-align:center}
.album-cta__t{margin:0 auto;max-width:24ch;font-family:var(--f-display);font-weight:300;font-size:clamp(1.625rem, 1.2rem + 1.4vw, 2.25rem);line-height:1.2;letter-spacing:-.015em;color:var(--caramelo)}
.album-cta__actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--s-3);margin-top:var(--s-6)}
.g-open{position:relative;display:block;width:100%;aspect-ratio:4/5;overflow:hidden;background:var(--blush);text-align:left}
.g-open img{width:100%;height:100%;object-fit:cover}
.g-open::after{content:"";position:absolute;inset:0;background:var(--noite);opacity:0;transition:opacity var(--t-ui) var(--ease)}
.g-open:hover::after,.g-open:focus-visible::after{opacity:.2}
.g-open:focus-visible{outline-offset:var(--s-1)}
.g-cap{margin-top:var(--s-3);font-size:var(--fs-small);color:var(--cacau-suave)}
.lb{width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:var(--noite);color:var(--algodao)}
.lb::backdrop{background:var(--noite)}
.lb__inner{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%;padding:0 var(--gutter) calc(var(--s-4) + env(safe-area-inset-bottom))}
.lb__top{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;height:var(--nav-h)}
.lb .icon-btn,.lb .counter{color:var(--algodao)}
.lb__fig{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;margin:0;padding-block:var(--s-2) var(--s-3)}
.lb__media{display:flex;align-items:center;justify-content:center;min-height:0}
.lb__media img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.lb__fig figcaption{margin:var(--s-3) auto 0;max-width:60ch;text-align:center;font-size:var(--fs-small);line-height:1.45;color:var(--algodao-suave);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lb__nav{display:flex;justify-content:center;align-items:center;gap:var(--s-4);padding-top:var(--s-1)}

/* 5.10 DEPOIMENTOS (só aparece com vídeo) */
.testi{background:var(--cacau);color:var(--algodao);overflow:clip}
.testi h2{color:var(--algodao)}
.testi__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:var(--s-6);margin-bottom:var(--s-8)}
.testi__sub{margin-top:var(--s-4);color:var(--algodao-suave)}
.testi__ctrl{display:flex;gap:var(--s-3)}
.videos{display:flex;gap:var(--gap);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding-inline:var(--pad-x);scroll-padding-inline:var(--pad-x);padding-bottom:var(--s-2);scrollbar-width:none}
.videos::-webkit-scrollbar{display:none}
.videos li{flex:0 0 clamp(220px, 24vw, 300px);scroll-snap-align:start}
.vid{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;gap:var(--s-1);width:100%;aspect-ratio:9/16;padding:var(--s-5);overflow:hidden;background:var(--noite);color:var(--algodao);text-align:left}
.vid img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.vid::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg, var(--noite) 0%, transparent 55%);opacity:.85}
.vid__play{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:var(--s-8);height:var(--s-8);border:var(--hair) solid var(--algodao);border-radius:50%;transform:translate(-50%,-50%)}
.vid__play::before{content:"";margin-left:var(--s-1);border-left:var(--s-3) solid var(--algodao);border-block:var(--s-2) solid transparent}
.vid__name{font-family:var(--f-display);font-weight:400;font-size:var(--fs-h3);line-height:var(--lh-h3)}
.vid__date{font-size:var(--fs-small);color:var(--algodao-suave)}
.vp{width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:var(--noite);color:var(--algodao)}
.vp::backdrop{background:var(--noite)}
.vp__inner{position:relative;display:grid;place-items:center;align-content:center;gap:var(--s-4);height:100%;padding:var(--s-8) var(--gutter)}
.vp__close{position:absolute;top:var(--s-4);right:var(--gutter);color:var(--algodao)}
.vp video{max-height:78vh;max-width:min(100%, 30rem);background:var(--cacau)}
.vp__cap{font-size:var(--fs-small);color:var(--algodao-suave)}

/* 5.11 DÚVIDAS */
.faq-head{position:sticky;top:calc(var(--nav-h) + var(--s-8));align-self:start}
.faq-head p{margin-top:var(--s-5);color:var(--cacau-suave)}

/* 5.12 CONTATO */
.contact__grid{row-gap:0}
.form-panel{margin-top:var(--s-7);padding:var(--s-7);background:var(--blush)}
.form__head{display:flex;align-items:center;gap:var(--s-4);margin-bottom:var(--s-7)}
.form__step{font-size:var(--fs-small);color:var(--cacau-suave)}
.form__bar{flex:1;height:var(--hair);background:var(--linha);position:relative;max-width:12rem}
.form__bar span{position:absolute;inset:0;background:var(--caramelo);transform:scaleX(.5);transform-origin:left;transition:transform var(--t-ui) var(--ease)}
.form[data-step="2"] .form__bar span,.form[data-step="3"] .form__bar span{transform:scaleX(1)}
.form .chip span{background:var(--algodao)}
.form :is(input, textarea, button){scroll-margin-top:calc(var(--nav-h) + var(--s-8))}
.step{border:0;margin:0;padding:0;min-width:0}
.step__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-4) var(--s-6);margin-top:var(--s-6)}
.preview{background:var(--algodao);padding:var(--s-5)}
.preview .input{border-bottom-color:var(--caramelo);font-size:var(--fs-body)}
.form__privacy{margin-top:var(--s-4)}
.aside{align-self:start;position:sticky;top:calc(var(--nav-h) + var(--s-6));margin-top:var(--s-7);padding-left:var(--gap);border-left:var(--hair) solid var(--linha)}
.aside dl{display:grid;gap:var(--s-6)}
.aside dt{font-size:var(--fs-small);color:var(--cacau-suave);margin-bottom:var(--s-1)}
.aside dd a{display:inline-flex;align-items:center;min-height:var(--touch);font-family:var(--f-display);font-weight:400;font-size:var(--fs-h3);line-height:1.2;color:var(--caramelo);text-decoration:underline;text-decoration-thickness:var(--hair);text-underline-offset:.2em;overflow-wrap:anywhere}
.aside dd p{color:var(--cacau)}

/* 5.13 CTA FINAL (foto de fundo escurecida) + RODAPÉ */
.final{position:relative;isolation:isolate;overflow:clip;text-align:center;background:var(--noite);color:var(--algodao)}
.final__bg{position:absolute;inset:0;z-index:-1;margin:0}
.final__bg img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.final__bg::after{content:"";position:absolute;inset:0;background:var(--noite);opacity:.78}
.final .h2{font-size:clamp(2.5rem, 1.6rem + 3.6vw, 5rem);line-height:1.04;letter-spacing:var(--ls-display);max-width:16ch;margin-inline:auto;color:var(--algodao)}
.final .btn{margin-top:var(--s-7)}
.final p.small{margin:var(--s-5) auto 0;color:var(--algodao-suave)}
.footer{padding-block:var(--s-8) var(--s-7);border-top:2px solid var(--champanhe)}
.footer__grid{align-items:start}
.footer__logo{margin-bottom:var(--s-3);font-size:1.25rem}
.footer__tag{font-size:var(--fs-small);color:var(--cacau-suave)}
.footer ul a{display:inline-flex;align-items:center;min-height:var(--touch);font-size:var(--fs-small);text-decoration:none;color:var(--cacau);overflow-wrap:anywhere}
.footer ul a:hover{color:var(--caramelo);text-decoration:underline;text-underline-offset:.3em}
.footer__base{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-2) var(--s-5);margin-top:var(--s-8);padding-top:var(--s-5);border-top:var(--hair) solid var(--linha);font-size:var(--fs-small);color:var(--cacau-suave)}

.footer__credit a{display:inline-flex;align-items:center;gap:6px;color:var(--caramelo);text-decoration:underline;text-decoration-thickness:var(--hair);text-underline-offset:.25em;padding-block:var(--s-3)}
.footer__credit img{width:auto;height:13px;flex:none}
.footer__credit a:hover{color:var(--cacau)}

/* 5.14 BARRA FIXA MOBILE */
.bar{display:none}

/* =========================================================
   6. MEDIA QUERIES
   ========================================================= */
/* notebooks com tela baixa: o hero inteiro cabe na primeira tela */
@media (min-width:900px) and (max-height:960px){
  .hero{padding-top:calc(var(--nav-h) + var(--s-6))}
  .hero__title{font-size:min(clamp(2.75rem, 1.4rem + 4.6vw, 6rem), 9.5svh)}
  .marquee{margin-top:var(--s-7)}
  .marquee__list li{height:22svh}
}
@media (max-width:1199px){
  .nav__links{display:none}
  .nav__toggle{display:inline-flex}
}
@media (max-width:899px){
  :root{--nav-h:64px}
  .nav__cta{display:none}
  .grid{row-gap:var(--s-7)}
  .c-4,.c-5,.c-6,.c-7,.c-8{grid-column:1 / -1}

  .only-lg{display:none}

  /* hero */
  .hero{padding-top:calc(var(--nav-h) + var(--s-7))}
  .hero__lead{margin-top:var(--s-5)}
  .hero__actions{flex-direction:column;gap:var(--s-2)}
  .marquee{margin-top:var(--s-7)}
  .marquee__list li{width:42vw;height:24svh}

  /* confiança */
  .stats{grid-template-columns:1fr;gap:0}
  .stats li{padding:var(--s-5) 0}
  .stats li + li{border-left:0;border-top:var(--hair) solid var(--champanhe)}
  .promise{margin-top:var(--s-8)}
  .testimonial{margin-top:var(--s-8)}

  /* o que eu faço */
  .what__head{display:block}
  .what__lead{margin-top:var(--s-5)}
  .what__blocks{grid-template-columns:1fr;margin-top:var(--s-8);gap:var(--s-7)}

  /* casamentos */
  .gal__grid,.album{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}
  .album__wide .g-open{height:auto;aspect-ratio:3/2}
  .gal__grid li:nth-child(3n+2){transform:none}
  .gal__grid li:nth-child(2n){transform:translateY(var(--s-6))}
  .gal__cta{margin-top:calc(var(--s-6) + var(--s-7))}
  .gal__more{opacity:1;transform:none;left:var(--s-3);bottom:var(--s-3)}
  .gal__item::after{opacity:1}

  .plans__intro{grid-column:1 / -1}
  .pcards{grid-template-columns:1fr}
  .pcard{padding:var(--s-6) var(--s-5)}
  .pcard .btn{align-self:stretch}
  .incl{margin-top:var(--s-8)}
  .incl__bar{margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);margin-bottom:var(--s-6)}
  .incl__bar .seg{flex:1}
  .incl__panel{grid-template-columns:1fr}


  .steps{grid-template-columns:1fr;gap:0;border-left:var(--hair) solid var(--caramelo);margin-left:var(--s-1)}
  .step-m,.step-m[data-pre]{position:relative;padding:var(--s-4) 0 var(--s-4) var(--s-6);border-top:0}
  .step-m::before{content:"";position:absolute;left:calc(-1 * var(--s-1) - .5px);top:calc(var(--s-4) + .45em);width:var(--s-2);height:var(--s-2);border-radius:50%;background:var(--caramelo)}
  .step-m[data-pre]::before{background:var(--blush);border:var(--hair) solid var(--cacau-suave)}

  .day__wrap{grid-template-columns:1fr}
  .day__media{position:relative;top:0;height:auto;aspect-ratio:4/5}
  .day__media::after{background:linear-gradient(0deg, var(--cacau) 0%, transparent 30%)}
  .day__content{padding:var(--s-7) var(--gutter) var(--s-9)}
  .day__prog{margin-top:var(--s-8)}
  .program__m{font-size:1.375rem}

  .about__head,.about__text{grid-column:1 / -1;grid-row:auto}
  .about__photo{grid-column:1 / -1;grid-row:auto;margin-right:var(--s-3)}
  .about__photo::before{top:var(--s-3);left:var(--s-3)}

  .gal__head{margin-bottom:var(--s-7)}

  .testi__head{margin-bottom:var(--s-6)}
  .videos li{flex-basis:68vw}

  .faq-head{position:static}

  .form-panel{padding:var(--s-6) var(--s-5);margin-inline:calc(-1 * var(--gutter))}
  .contact__grid .form-panel{margin-top:0}
  .album-cta{margin-inline:calc(-1 * var(--gutter));padding:var(--s-7) var(--gutter)}
  .aside{position:static;margin-top:0;padding-left:0;border-left:0;border-top:var(--hair) solid var(--linha);padding-top:var(--s-6)}

  .dp{width:100%;max-width:none;margin:auto 0 0;padding-bottom:env(safe-area-inset-bottom)}
  @keyframes dp-in{from{transform:translateY(100%)}}
  .dp__inner{padding:var(--s-4) var(--gutter) var(--s-6)}
  .dp__actions .btn{flex:1}

  .footer__grid > *{grid-column:span 6}
  .footer__grid > :first-child,.footer__grid > :last-child{grid-column:1 / -1}

  /* barra fixa */
  .bar{position:fixed;z-index:30;left:0;right:0;bottom:0;display:grid;grid-template-columns:auto 1fr;gap:var(--s-2);align-items:center;min-height:calc(var(--bar-h) + env(safe-area-inset-bottom));padding:var(--s-2) var(--gutter) calc(var(--s-2) + env(safe-area-inset-bottom));background:rgba(253,249,246,.92);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);border-top:var(--hair) solid var(--linha);box-shadow:0 -14px 28px -22px rgba(59,42,38,.5);transform:translateY(100%);visibility:hidden;transition:transform var(--t-ui) var(--ease),visibility 0s linear var(--t-ui)}
  .bar.is-on{transform:none;visibility:visible;transition:transform var(--t-ui) var(--ease),visibility 0s}
  .bar .btn{height:50px;min-width:0;padding:0 var(--s-4);font-size:.75rem;letter-spacing:.1em;box-shadow:none}
  .bar .btn--wa{padding:0 var(--s-4) 0 var(--s-3);font-size:var(--fs-small);letter-spacing:.01em}
  .footer{padding-bottom:calc(var(--s-7) + var(--bar-h) + env(safe-area-inset-bottom))}
}
@media (max-width:420px){
  .btn{padding:0 var(--s-5);letter-spacing:.12em}
  /* botões longos quebram linha em vez de passar da tela */
  .btn:not(.bar .btn){white-space:normal;height:auto;min-height:var(--control-h);padding-block:var(--s-3);line-height:1.35;text-align:center}
  .hero__actions .btn,.album-cta__actions .btn{width:100%}
  .hero__actions .btn,.album-cta__actions .btn,.btn--block{padding-inline:var(--s-4);letter-spacing:.08em}
  .btn.btn--ig,.btn.btn--wa{letter-spacing:.01em}
  .bar .btn--go::after{display:none}
  .bar .btn{padding:0 var(--s-3);letter-spacing:.08em}
  .date-field .chips .chip-btn{padding:0 var(--s-3)}
  .seg__tab{padding:0 var(--s-4)}
  .logo{letter-spacing:.14em}
}

@media (max-width:359px){
  .wa-txt{display:none}
  .bar .btn--wa{width:50px;padding:0;justify-content:center}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .program li{opacity:1}
  .marquee{overflow-x:auto}
}
