/* V18 · novos recursos, mantendo a identidade visual aprovada */
:root{--v18-cream:#f8f5ef;--v18-paper:#fffdf9;--v18-green:#526d4f;--v18-green-dark:#35583d;--v18-gold:#b99660;--v18-line:#dfd5c6;--v18-muted:#756d62}
.skip-link{position:fixed;left:12px;top:8px;z-index:20000;transform:translateY(-150%);padding:9px 12px;background:#35583d;color:#fff;border-radius:6px;text-decoration:none;font:600 10px/1.2 Montserrat,Arial,sans-serif}.skip-link:focus{transform:none}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid rgba(72,103,77,.72);outline-offset:3px}
.home-v18-notices{width:min(980px,calc(100% - 36px));margin:22px auto 0;display:grid;gap:8px}.home-v18-notice{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:12px 15px;border:1px solid #ded4c3;background:rgba(255,253,248,.86)}.home-v18-notice.priority-3{border-left:2px solid #a97b43}.home-v18-notice strong{color:var(--v18-green-dark);font:600 13px/1.35 "Cormorant Garamond",Georgia,serif}.home-v18-notice p{margin:1px 0 0;color:#676158;font-size:10px;line-height:1.55}.home-v18-notice time{color:#a18458;font:600 8px/1.4 Montserrat,Arial,sans-serif;letter-spacing:.07em}
.home-v18-countdown{width:min(760px,calc(100% - 38px));margin:29px auto 28px;text-align:center;padding:21px 18px;border-top:1px solid rgba(185,150,96,.42);border-bottom:1px solid rgba(185,150,96,.42)}.home-v18-countdown-kicker{display:block;color:#9d7c4d;font:600 8px/1 Montserrat,Arial,sans-serif;letter-spacing:.17em}.home-v18-countdown-values{display:flex;align-items:baseline;justify-content:center;gap:7px;flex-wrap:wrap;margin:9px 0 5px;color:#395640}.home-v18-countdown-values strong{font:500 25px/1 "Cormorant Garamond",Georgia,serif}.home-v18-countdown-values span{color:#8c8274;font-size:9px}.home-v18-countdown p{margin:0;color:#80776a;font-size:10px}
.home-v18-footer-links,.site-footer-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;padding:9px 18px 15px;border-top:1px solid rgba(222,214,201,.55);background:#f8f5ef}.home-v18-footer-links a,.site-footer-links a{color:#766d61;text-decoration:none;font:500 8px/1.35 Montserrat,Arial,sans-serif;letter-spacing:.035em}.home-v18-footer-links a:hover,.site-footer-links a:hover{color:#aa8250}
/* Timeline */
.story-timeline{width:min(920px,calc(100% - 36px));margin:52px auto 22px}.story-timeline-heading{text-align:center;margin-bottom:28px}.story-timeline-heading>span{color:var(--v18-gold);font-size:17px}.story-timeline-heading h2{margin:6px 0 5px;color:var(--v18-green-dark);font:500 30px/1.1 "Cormorant Garamond",Georgia,serif}.story-timeline-heading p{margin:0 auto;max-width:520px;color:var(--v18-muted);font-size:11px}.story-timeline-list{position:relative;display:grid;gap:0}.story-timeline-list:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(#d7c5a6,#ded6c9,#d7c5a6)}.story-timeline-item{position:relative;width:50%;padding:0 35px 34px 0;text-align:right}.story-timeline-item:nth-child(even){margin-left:50%;padding:0 0 34px 35px;text-align:left}.story-timeline-dot{position:absolute;right:-5px;top:9px;width:10px;height:10px;border-radius:50%;background:#f8f5ef;border:2px solid #b9955d}.story-timeline-item:nth-child(even) .story-timeline-dot{right:auto;left:-5px}.story-timeline-card{display:inline-grid;grid-template-columns:minmax(0,1fr);max-width:360px;padding:17px 18px;border:1px solid #e2d9cb;background:#fffdf9}.story-timeline-card img{width:100%;aspect-ratio:16/9;object-fit:cover;margin-bottom:11px;filter:saturate(.92)}.story-timeline-card time{color:#a37e49;font:700 8px/1.3 Montserrat,Arial,sans-serif;letter-spacing:.11em}.story-timeline-card h3{margin:5px 0 6px;color:#3b5941;font:500 22px/1.08 "Cormorant Garamond",Georgia,serif}.story-timeline-card p{margin:0;color:#69635a;font-size:10.5px;line-height:1.6}
/* Ceremony guide */
.ceremony-guide-wrap{max-width:960px;padding-top:42px;padding-bottom:64px}.ceremony-intro{text-align:center;max-width:690px;margin:0 auto 28px}.ceremony-intro h2,.ceremony-section-heading h2,.ceremony-location h2,.ceremony-calendar h2,.ceremony-contact h2{color:var(--v18-green-dark);font:500 30px/1.1 "Cormorant Garamond",Georgia,serif}.ceremony-intro p{color:#625c54;font-size:12px;line-height:1.75}.ceremony-facts{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #e1d7c8;background:#fffdf9;margin-bottom:36px}.ceremony-facts article{padding:15px;text-align:center;border-right:1px solid #e8e0d5}.ceremony-facts article:last-child{border-right:0}.ceremony-facts small{display:block;color:#9e8053;font:600 7.5px/1.3 Montserrat,Arial,sans-serif;letter-spacing:.11em}.ceremony-facts strong{display:block;margin-top:7px;color:#425b47;font:500 17px/1.2 "Cormorant Garamond",Georgia,serif}.ceremony-location,.ceremony-calendar,.ceremony-contact{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;border-top:1px solid #e5ddd1}.ceremony-location p,.ceremony-calendar p,.ceremony-contact p{margin:5px 0 0;color:#6c665d;font-size:10.5px;line-height:1.6}.ceremony-actions,.calendar-actions{display:flex;gap:7px;flex-wrap:wrap}.btn-outline{background:transparent!important;color:var(--v18-green-dark)!important;border:1px solid rgba(67,94,68,.55)!important}.ceremony-guide-section{margin-top:33px}.ceremony-section-heading{text-align:center;margin-bottom:17px}.ceremony-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ceremony-guide-grid article{padding:17px 18px;border:1px solid #e2d9cc;background:rgba(255,253,249,.72)}.ceremony-guide-grid span{color:#ae8955;font-size:13px}.ceremony-guide-grid h3{margin:4px 0 6px;color:#3e5843;font:600 17px/1.15 "Cormorant Garamond",Georgia,serif}.ceremony-guide-grid p{margin:0;color:#69635b;font-size:10.5px;line-height:1.62}
/* FAQ */
.faq-page-wrap{max-width:820px;padding-top:42px;padding-bottom:66px}.faq-accordion{display:grid;gap:8px}.faq-item{border:1px solid #e2d8ca;background:#fffdf9}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:57px;padding:13px 16px;list-style:none;cursor:pointer;color:#425744;font:600 14px/1.35 "Cormorant Garamond",Georgia,serif}.faq-item summary::-webkit-details-marker{display:none}.faq-plus{color:#ac8651;font-size:18px;transition:transform .18s}.faq-item[open] .faq-plus{transform:rotate(45deg)}.faq-answer{padding:0 16px 16px;color:#676157;font-size:10.5px;line-height:1.7}.faq-answer p{margin:0}.faq-contact{text-align:center;margin-top:34px;padding-top:28px;border-top:1px solid #e4dbce}.faq-contact h2{margin:4px 0 7px;color:#3b5741;font:500 25px/1.1 "Cormorant Garamond",Georgia,serif}.faq-contact p{margin:0 auto 15px;max-width:500px;color:#716a61;font-size:10.5px}
/* Legal */
.legal-page-wrap{max-width:800px;padding-top:42px;padding-bottom:64px}.legal-prose{padding:26px 29px;border:1px solid #e2d9cd;background:#fffdf9}.legal-prose p{margin:0 0 16px;color:#625d55;font-size:11px;line-height:1.78}.legal-prose p:last-child{margin-bottom:0}.legal-actions{margin-top:18px;text-align:center}.legal-contact{margin-top:24px;padding:18px;border-top:1px solid #e2d9cc;text-align:center}
/* Gift V18 */
.gift-filters{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin:0 auto 24px}.gift-filter{min-height:36px;padding:8px 13px;border:1px solid #ddd3c3;background:#fffdf9;color:#675f54;border-radius:999px;cursor:pointer;font:600 8px/1 Montserrat,Arial,sans-serif;letter-spacing:.04em}.gift-filter.is-active{border-color:#b99660;background:#f7efe2;color:#785a31}.gift-card-custom{border-color:#cdb994!important;background:linear-gradient(180deg,#fffdf9,#fbf5e9)!important}.gift-custom-field{margin:12px 0}.gift-custom-input{width:100%;min-height:45px;border:1px solid #d9cbb4;border-radius:4px;padding:10px 12px;background:#fff;color:#3e4d42;font:600 15px/1.2 "Libre Baskerville",Georgia,serif}.gift-custom-field small{display:block;margin-top:6px;color:#8d8273;font-size:8.5px;line-height:1.45}.gift-confirmation-wrap{max-width:720px;padding-top:42px;padding-bottom:64px}.gift-confirmation-card{text-align:center;padding:30px 34px;border:1px solid #e0d6c7;background:#fffdf9}.gift-confirmation-icon{display:block;color:#b78f55;font-size:27px}.gift-confirmation-card h2{margin:7px 0 8px;color:#3b5941;font:500 29px/1.1 "Cormorant Garamond",Georgia,serif}.gift-confirmation-card>p{color:#70685d;font-size:10.5px;line-height:1.65}.gift-confirmation-details{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin:21px 0;background:#e7dfd4;border:1px solid #e7dfd4;text-align:left}.gift-confirmation-details>div{padding:12px 14px;background:#fff}.gift-confirmation-details .full{grid-column:1/-1}.gift-confirmation-details dt{color:#9b7c50;font:700 7.5px/1.2 Montserrat,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}.gift-confirmation-details dd{margin:4px 0 0;color:#4e554e;font-size:10.5px;line-height:1.5}.gift-confirmation-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
/* Private invite */
.private-empty-wrap,.my-invite-wrap{max-width:980px;padding-top:42px;padding-bottom:64px}.private-empty-card{text-align:center;max-width:620px;margin:0 auto;padding:30px;border:1px solid #e0d6c8;background:#fffdf9}.private-empty-card h2{color:#3b5941;font:500 28px/1.1 "Cormorant Garamond",Georgia,serif}.private-empty-card p{color:#6f685f;font-size:10.5px;line-height:1.7}.my-invite-intro{text-align:center;margin-bottom:25px}.my-invite-intro h2{margin:6px 0 5px;color:#36543d;font:500 33px/1.05 "Cormorant Garamond",Georgia,serif}.my-invite-intro p{margin:0;color:#81786b;font-size:10px}.my-invite-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:13px}.my-invite-panel,.my-invite-section{border:1px solid #e1d8ca;background:#fffdf9;padding:20px}.my-invite-panel>header{display:flex;gap:11px;align-items:flex-start;border-bottom:1px solid #ebe4d9;padding-bottom:13px;margin-bottom:14px}.my-invite-panel>header>span{display:grid;place-items:center;width:28px;height:28px;border:1px solid #d7c5a5;border-radius:50%;color:#a7814d;font:600 8px/1 Montserrat,Arial,sans-serif}.my-invite-panel h3{margin:0;color:#405844;font:600 18px/1.15 "Cormorant Garamond",Georgia,serif}.my-invite-panel header p{margin:3px 0 0;color:#8a8379;font-size:9px}.my-invite-member-list{display:grid;gap:7px}.my-invite-member{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;padding:8px 0;border-bottom:1px solid #eee8df}.my-invite-avatar{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#edf2eb;color:#49634e;font:600 11px/1 Georgia,serif}.my-invite-member strong{display:block;color:#48534b;font-size:10px}.my-invite-member small{display:block;color:#989189;font-size:8px;margin-top:2px}.my-invite-status{padding:5px 7px;border-radius:999px;background:#f2eee7;color:#766e63;font:700 7px/1.2 Montserrat,Arial,sans-serif}.my-invite-status.status-confirmed{background:#edf4eb;color:#4d6b52}.my-invite-status.status-declined{background:#f7eeee;color:#895555}.my-invite-summary-line{display:flex;justify-content:space-between;padding:13px 0;color:#70695f;font-size:9px}.my-invite-summary-line strong{color:#3f5844}.my-invite-primary-action{width:100%;text-align:center}.my-invite-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#e8e0d5}.my-invite-facts>div{padding:10px;background:#fff}.my-invite-facts .full{grid-column:1/-1}.my-invite-facts dt{color:#9c7a4b;font:700 7px/1.2 Montserrat,Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}.my-invite-facts dd{margin:4px 0 0;color:#505850;font-size:9.5px;line-height:1.5}.my-invite-action-row{display:flex;gap:7px;margin-top:13px;flex-wrap:wrap}.my-invite-action-row .btn{flex:1;text-align:center}.my-invite-section{margin-top:13px}.my-invite-section-heading{display:flex;gap:11px;align-items:center;margin-bottom:14px}.my-invite-section-heading>span{color:#b18b55;font-size:17px}.my-invite-section-heading h2{margin:0;color:#3e5743;font:500 23px/1.1 "Cormorant Garamond",Georgia,serif}.my-invite-section-heading p{margin:3px 0 0;color:#8c857b;font-size:9px}.my-invite-program{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.my-invite-program article{display:flex;gap:10px;padding:11px;background:#faf8f3}.my-invite-program time{color:#a17d48;font:700 8px/1.4 Montserrat,Arial,sans-serif}.my-invite-program strong{color:#48574b;font-size:9.5px}.my-invite-program p{margin:3px 0 0;color:#8d877e;font-size:8.5px}.my-invite-text-link{display:inline-block;margin-top:12px;color:#927142;font-size:8.5px;font-weight:700;text-decoration:none}.my-invite-lodging-row{display:flex;align-items:center;justify-content:space-between;gap:15px}.my-invite-lodging-row strong{color:#455948;font:600 17px/1.2 "Cormorant Garamond",Georgia,serif}.my-invite-lodging-row p{margin:4px 0 0;color:#847d74;font-size:9px}.my-invite-important{display:flex;gap:12px;align-items:flex-start;margin-top:13px;padding:15px 17px;border:1px solid #d9c6a4;background:#fff9ef}.my-invite-important>span{color:#a87e45}.my-invite-important strong{color:#5b4a34;font-size:9px}.my-invite-important p{margin:3px 0 0;color:#756754;font-size:9.5px}.my-invite-footer-actions{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:20px;padding-top:17px;border-top:1px solid #e1d8cb}.my-invite-footer-actions a{color:#796b58;text-decoration:none;font:600 8px/1.3 Montserrat,Arial,sans-serif}
/* RSVP post */
.rsvp-after-wrap{max-width:720px;padding-top:35px;padding-bottom:50px}.rsvp-after-card{text-align:center;padding:27px 28px;border:1px solid #dfd5c5;background:#fffdf9}.rsvp-after-icon{display:block;color:#b68f58;font-size:27px}.rsvp-after-card h2{margin:7px 0 8px;color:#3b5841;font:500 29px/1.1 "Cormorant Garamond",Georgia,serif}.rsvp-after-card p{margin:0 auto 17px;max-width:540px;color:#6c655b;font-size:10.5px;line-height:1.65}.rsvp-after-actions{display:flex;justify-content:center;gap:7px;flex-wrap:wrap}.rsvp-after-actions .btn{min-width:130px}
@media(max-width:899px){.home-v18-notices{margin-top:15px}.story-timeline-list:before{left:10px}.story-timeline-item,.story-timeline-item:nth-child(even){width:100%;margin:0;padding:0 0 24px 31px;text-align:left}.story-timeline-dot,.story-timeline-item:nth-child(even) .story-timeline-dot{left:5px;right:auto}.story-timeline-card{max-width:none;width:100%}.ceremony-facts{grid-template-columns:repeat(2,1fr)}.ceremony-facts article:nth-child(2){border-right:0}.ceremony-location,.ceremony-calendar,.ceremony-contact{align-items:flex-start;flex-direction:column}.my-invite-grid{grid-template-columns:1fr}.my-invite-program{grid-template-columns:1fr}.my-invite-lodging-row{align-items:flex-start;flex-direction:column}.my-invite-lodging-row .btn{width:100%;text-align:center}}
@media(max-width:560px){.home-v18-notices{width:calc(100% - 28px)}.home-v18-notice{grid-template-columns:1fr;gap:4px}.home-v18-countdown{width:calc(100% - 28px);padding:17px 9px}.home-v18-countdown-values strong{font-size:21px}.ceremony-guide-wrap,.faq-page-wrap,.legal-page-wrap,.my-invite-wrap,.private-empty-wrap,.gift-confirmation-wrap{padding-left:14px!important;padding-right:14px!important}.ceremony-guide-grid{grid-template-columns:1fr}.ceremony-actions,.calendar-actions,.gift-confirmation-actions,.rsvp-after-actions{width:100%;flex-direction:column}.ceremony-actions .btn,.calendar-actions .btn,.gift-confirmation-actions .btn,.rsvp-after-actions .btn{width:100%;text-align:center;min-height:44px;display:flex;align-items:center;justify-content:center}.gift-confirmation-card,.rsvp-after-card{padding:24px 18px}.gift-confirmation-details{grid-template-columns:1fr}.gift-confirmation-details .full{grid-column:auto}.my-invite-panel,.my-invite-section{padding:16px}.my-invite-member{grid-template-columns:32px minmax(0,1fr)}.my-invite-status{grid-column:2}.my-invite-facts{grid-template-columns:1fr}.my-invite-facts .full{grid-column:auto}.my-invite-action-row{flex-direction:column}.my-invite-action-row .btn{width:100%;min-height:44px;display:flex;align-items:center;justify-content:center}.faq-item summary{min-height:52px}.home-v18-footer-links,.site-footer-links{gap:12px}.btn{min-height:42px;display:inline-flex;align-items:center;justify-content:center}}
@media(max-width:360px){.home-v18-countdown-values{gap:4px}.home-v18-countdown-values strong{font-size:19px}.my-invite-intro h2{font-size:29px}}
.home-v18-countdown-values small{color:#8c8274;font:500 8px/1 Montserrat,Arial,sans-serif;text-transform:lowercase}.home-v18-countdown-values i{color:#b99660;font-style:normal;font-size:8px}.home-v18-notice.is-high{border-left:2px solid #a77942;background:#fffaf1}
.gift-custom-input{display:flex;align-items:center;gap:8px;padding:0 12px!important}.gift-custom-input>span{color:#8d744e;font-size:11px}.gift-custom-input>input{flex:1;min-width:0;height:43px;border:0!important;background:transparent!important;outline:0!important;padding:0!important;color:#3e4d42;font:600 15px/1.2 "Libre Baskerville",Georgia,serif}.gift-custom-input:focus-within{border-color:#b99660;box-shadow:0 0 0 3px rgba(185,150,96,.1)}
.rsvp-bulk-actions{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 14px}.rsvp-member-extra{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:11px}.closed-invite-head-actions{display:flex;gap:13px;flex-wrap:wrap;justify-content:flex-end}.rsvp-edit-link{display:inline-block;margin-top:15px;color:#8f6f43;text-decoration:none;font:600 8px/1.3 Montserrat,Arial,sans-serif;border-bottom:1px solid #cfb68f;padding-bottom:3px}
@media(max-width:700px){.rsvp-member-extra{grid-template-columns:1fr}.rsvp-bulk-actions{flex-direction:column}.rsvp-bulk-actions .button{width:100%;min-height:42px}.closed-invite-head-actions{justify-content:flex-start}}
.lodging-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:19px 0 0;background:#e8e0d5}.lodging-details>div{padding:10px 11px;background:#fffdf9}.lodging-details dt{color:#9c7b4c;font:700 7px/1.2 Montserrat,Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase}.lodging-details dd{margin:4px 0 0;color:#545c55;font-size:9.5px;line-height:1.45}.lodging-special{margin-top:13px;padding:12px 13px;border-left:2px solid #bd9b68;background:#faf5eb}.lodging-special strong{color:#80623a;font:600 9px/1.3 Montserrat,Arial,sans-serif;letter-spacing:.04em}.lodging-special p,.lodging-additional p{margin:5px 0 0;color:#686158;font-size:9.5px;line-height:1.6}.lodging-additional{margin-top:12px}
@media(max-width:560px){.lodging-details{grid-template-columns:1fr}}


/* =====================================================================
   V18.2 — RODAPÉS UNIFICADOS + ACESSOS CONTEXTUAIS
   ===================================================================== */

/* Todas as páginas internas passam a usar exatamente a linguagem do rodapé da Home. */
.site-footer-unified{
  width:1055px;
  max-width:calc(100vw - 32px);
  margin:0 auto;
}

/* A antiga faixa branca de links não faz mais parte do rodapé público. */
.home-v18-footer-links,
.site-footer-links{
  display:none !important;
}

/* Links secundários ficam anexados às páginas em que fazem sentido. */
.contextual-page-links{
  width:min(760px,calc(100% - 32px));
  margin:26px auto 4px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.contextual-page-links a{
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  column-gap:10px;
  row-gap:2px;
  align-items:center;
  min-height:64px;
  padding:12px 15px;
  border:1px solid rgba(211,198,176,.74);
  background:rgba(255,253,249,.56);
  color:#465247;
  text-decoration:none;
  transition:border-color .18s ease,background .18s ease,transform .18s ease;
}

.contextual-page-links a:hover{
  border-color:rgba(185,149,91,.65);
  background:rgba(255,253,249,.88);
  transform:translateY(-1px);
}

.contextual-page-links a>span{
  grid-row:1 / span 2;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:1px solid rgba(190,159,108,.48);
  border-radius:50%;
  color:#aa8450;
  font-size:12px;
}

.contextual-page-links strong{
  font:500 14px/1.15 "Cormorant Garamond",Georgia,serif;
  color:#3b5140;
  letter-spacing:.02em;
}

.contextual-page-links small{
  color:#80786d;
  font:400 9px/1.45 "Libre Baskerville",Georgia,serif;
}

/* Cerimônia -> FAQ */
.contextual-single-link{
  margin-top:44px;
  padding:24px 26px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  border-top:1px solid rgba(218,208,190,.76);
  border-bottom:1px solid rgba(218,208,190,.76);
}

.contextual-single-link>div{
  max-width:650px;
}

.contextual-single-link h2{
  margin:3px 0 5px;
  color:var(--green-dark);
  font:500 25px/1.12 "Cormorant Garamond",Georgia,serif;
}

.contextual-single-link p{
  margin:0;
  color:#6b655d;
  font:400 11px/1.65 "Libre Baskerville",Georgia,serif;
}

/* Presentes -> Termos */
.gift-terms-access{
  width:min(680px,100%);
  margin:38px auto 0;
  padding-top:22px;
  border-top:1px solid rgba(219,209,191,.76);
  text-align:center;
}

.gift-terms-access>span{
  display:block;
  margin-bottom:5px;
  color:#b69a68;
  font-size:17px;
}

.gift-terms-access p{
  margin:0 0 8px;
  color:#756e64;
  font:400 10px/1.6 "Libre Baskerville",Georgia,serif;
}

.gift-terms-access a{
  display:inline-block;
  color:#a47e49;
  text-decoration:none;
  border-bottom:1px solid rgba(164,126,73,.48);
  padding-bottom:2px;
  font:600 8.5px/1.2 "Montserrat",Arial,sans-serif;
  letter-spacing:.045em;
}

.gift-terms-access a:hover{
  color:var(--green-dark);
  border-color:var(--green-dark);
}

@media(max-width:700px){
  .site-footer-unified{
    width:calc(100% - 28px);
    max-width:none;
  }

  .contextual-page-links{
    width:calc(100% - 28px);
    grid-template-columns:1fr;
    margin-top:20px;
  }

  .contextual-single-link{
    align-items:flex-start;
    flex-direction:column;
    gap:16px;
    padding:22px 0;
  }

  .contextual-single-link .btn{
    width:100%;
  }
}


/* V18.3 — refinamento de rodapé */
.site-footer-unified{
  display:flex;
  align-items:center;
  justify-content:center;
}


/* =====================================================================
   V18.4 — NAVEGAÇÃO DE RETORNO E BOTÃO DA PRIVACIDADE
   ===================================================================== */

.page-return-nav{
  margin:0 0 18px;
}

.page-return-nav a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#8f7147;
  text-decoration:none;
  font:600 8.5px/1.3 "Montserrat",Arial,sans-serif;
  letter-spacing:.045em;
  transition:color .16s ease,transform .16s ease;
}

.page-return-nav a span{
  font-size:14px;
  line-height:1;
  transform:translateY(-1px);
}

.page-return-nav a:hover{
  color:var(--v18-green-dark);
  transform:translateX(-1px);
}

/* O botão da assessoria volta ao mesmo botão verde usado no restante do site. */
.legal-contact .btn{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 22px;
  background:#536f51;
  color:#fff;
  border:0;
  border-radius:2px;
}

.legal-contact .btn:hover{
  background:#415f45;
  color:#fff;
}

@media(max-width:560px){
  .page-return-nav{
    margin-bottom:15px;
  }

  .page-return-nav a{
    min-height:36px;
  }

  .legal-contact .btn{
    width:100%;
  }
}


/* =====================================================================
   V18.6.12 — CARD VALOR LIVRE ALINHADO AOS DEMAIS PRESENTES
   ===================================================================== */

/* Reserva a mesma altura inicial nos cards para título/descrição. */
.gift-grid-v5 .gift-card-body > h3{
  min-height:48px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
}

.gift-grid-v5 .gift-card-body > p{
  min-height:53px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
}

/* O Valor Livre passa a seguir exatamente o mesmo ritmo:
   preço > controle > total > botão > observação. */
.gift-card-custom .gift-custom-value-line{
  margin-top:auto;
}

.gift-card-custom .gift-custom-field{
  margin:15px 0 10px;
}

.gift-card-custom .gift-custom-field label{
  margin:0;
  text-align:left;
  font-size:10px;
  line-height:1.35;
  color:#6f695f;
}

/* Campo livre com a mesma altura visual do seletor de quantidade. */
.gift-card-custom .gift-custom-input{
  width:134px;
  min-width:134px;
  height:32px;
  min-height:32px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  padding:0;
  border:1px solid #d8cfbf;
  border-radius:0;
  background:#fff;
  overflow:hidden;
}

.gift-card-custom .gift-custom-input > span{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  border-right:1px solid #e0d7c8;
  background:#f8f4ec;
  color:#697760;
  font:600 10px/1 "Montserrat",Arial,sans-serif;
}

.gift-card-custom .gift-custom-input input{
  min-width:0;
  width:100%;
  height:100%;
  border:0!important;
  border-radius:0!important;
  outline:0;
  padding:0 7px!important;
  background:#fff!important;
  color:#405143;
  text-align:center;
  font:600 11px/1 "Montserrat",Arial,sans-serif!important;
}

.gift-card-custom .gift-custom-input input:focus{
  box-shadow:inset 0 0 0 1px rgba(83,111,81,.48);
}

.gift-card-custom .gift-custom-total{
  min-height:16px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
}

.gift-card-custom .gift-pay-custom{
  margin-top:0;
}

/* Mantém a mesma linha inferior de observação. */
.gift-card-custom .gift-unlimited{
  min-height:11px;
}

@media(max-width:560px){
  .gift-grid-v5 .gift-card-body > h3,
  .gift-grid-v5 .gift-card-body > p{
    min-height:0;
  }

  .gift-card-custom .gift-custom-input{
    width:128px;
    min-width:128px;
  }
}


/* =====================================================================
   V18.6.13 — CAMPO DE VALOR LIVRE MAIS CLARO
   ===================================================================== */

.gift-card-custom .gift-custom-input{
  width:144px !important;
  min-width:144px !important;
  height:32px !important;
  min-height:32px !important;
  display:flex !important;
  align-items:stretch !important;
  padding:0 !important;
  gap:0 !important;
  border:1px solid #d8cfbf !important;
  background:#fff !important;
  overflow:hidden !important;
}

.gift-card-custom .gift-custom-input > span{
  flex:0 0 35px !important;
  width:35px !important;
  height:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-right:1px solid #e0d7c8 !important;
  background:#f8f4ec !important;
}

.gift-card-custom .gift-custom-input input{
  flex:1 1 auto !important;
  min-width:0 !important;
  width:0 !important;
  height:100% !important;
  margin:0 !important;
  padding:0 9px !important;
  border:0 !important;
  background:#fff !important;
  text-align:right !important;
}

.gift-card-custom .gift-custom-input input::placeholder{
  color:#aaa195;
  opacity:.76;
}

@media(max-width:560px){
  .gift-card-custom .gift-custom-input{
    width:140px !important;
    min-width:140px !important;
  }
}

/* =====================================================================
   V18.6.23 — PRESENTES: IMAGENS ENQUADRADAS SEM CORTE
   Mantém a caixa atual, mas evita que a arte seja recortada.
   ===================================================================== */

.gift-card-v5 > img,
.gift-watercolor-placeholder{
  display:block !important;
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:linear-gradient(180deg,#f7f3ea 0%,#f3eee4 100%) !important;
}

/* Desktop: mantém o bloco horizontal da lista sem cortar a composição. */
.gift-card-v5 > img,
.gift-watercolor-placeholder{
  aspect-ratio:4 / 2.7 !important;
}

/* Tablets: preserva o enquadramento e o tamanho do card. */
@media (max-width:900px){
  .gift-card-v5 > img,
  .gift-watercolor-placeholder{
    aspect-ratio:1 / 1 !important;
    object-fit:contain !important;
  }
}

/* Celulares: mantém a caixa atual, sem ampliar o card, mas sem recorte. */
@media (max-width:620px){
  .gift-card-v5 > img,
  .gift-watercolor-placeholder{
    aspect-ratio:4 / 3 !important;
    max-height:270px !important;
    object-fit:contain !important;
  }
}

@media (max-width:430px){
  .gift-card-v5 > img,
  .gift-watercolor-placeholder{
    max-height:245px !important;
    object-fit:contain !important;
  }
}

/* =====================================================================
   V18.6.24 — CERIMÔNIA: TEXTO FORMATADO + PALETA DE TONS
   ===================================================================== */

.ceremony-dress-heading .ceremony-dress-code{
  margin:3px 0 12px;
  color:var(--green-dark);
  font:500 clamp(19px,2.2vw,26px)/1.15 "Cormorant Garamond",Georgia,serif;
  letter-spacing:.01em;
}

.ceremony-dress-copy{
  max-width:720px;
  margin:0 auto;
  color:#6f6961;
  font-size:11px;
  line-height:1.72;
}

.ceremony-dress-copy p{
  margin:0 0 8px;
}

.ceremony-dress-copy p:last-child{
  margin-bottom:0;
}

.ceremony-dress-copy strong{
  color:#514b43;
  font-weight:700;
}

.ceremony-dress-copy em{
  color:#8d7350;
}

.ceremony-dress-copy ul,
.ceremony-dress-copy ol{
  width:min(620px,100%);
  margin:10px auto 2px;
  padding-left:21px;
  text-align:left;
}

.ceremony-dress-copy li{
  margin:5px 0;
  padding-left:3px;
}

.ceremony-dress-copy li::marker{
  color:var(--gold);
}

.ceremony-dress-palette{
  width:min(720px,100%);
  margin:22px auto 4px;
  text-align:center;
}

.ceremony-dress-palette-title{
  display:block;
  margin-bottom:12px;
  color:#9b8058;
  font:600 8.5px/1.2 "Montserrat",Arial,sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.ceremony-dress-swatches{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px 12px;
}

.ceremony-dress-swatch{
  display:block;
  width:42px;
  height:42px;
  border:1px solid rgba(72,61,48,.10);
  border-radius:50%;
  background:var(--dress-tone);
  box-shadow:0 4px 13px rgba(82,70,55,.08), inset 0 0 0 1px rgba(255,255,255,.12);
  transition:transform .18s ease,box-shadow .18s ease;
}

@media (hover:hover){
  .ceremony-dress-swatch:hover{
    transform:translateY(-2px) scale(1.04);
    box-shadow:0 7px 17px rgba(82,70,55,.13), inset 0 0 0 1px rgba(255,255,255,.12);
  }
}

@media(max-width:700px){
  .ceremony-dress-copy{
    font-size:11.5px;
  }
  .ceremony-dress-copy ul,
  .ceremony-dress-copy ol{
    width:100%;
  }
  .ceremony-dress-palette{
    margin-top:19px;
  }
  .ceremony-dress-swatches{
    gap:9px;
  }
  .ceremony-dress-swatch{
    width:38px;
    height:38px;
  }
}

@media(max-width:430px){
  .ceremony-dress-copy{
    text-align:left;
  }
  .ceremony-dress-palette{
    text-align:left;
  }
  .ceremony-dress-swatches{
    justify-content:flex-start;
  }
  .ceremony-dress-swatch{
    width:36px;
    height:36px;
  }
}

/* =====================================================================
   V18.6.25 — CERIMÔNIA: NOME DOS TONS NO HOVER / TOQUE
   Não altera a paleta salva; apenas exibe o rótulo já cadastrado.
   ===================================================================== */

.ceremony-dress-swatch{
  position:relative;
  appearance:none;
  -webkit-appearance:none;
  flex:0 0 auto;
  padding:0;
  margin:0;
  font:inherit;
  cursor:pointer;
  outline:none;
  -webkit-tap-highlight-color:transparent;
}

.ceremony-dress-swatch::after{
  content:attr(data-tone-label);
  position:absolute;
  left:50%;
  bottom:calc(100% + 9px);
  z-index:12;
  min-width:max-content;
  max-width:180px;
  padding:6px 9px 5px;
  border:1px solid rgba(189,151,94,.34);
  border-radius:6px;
  background:rgba(49,75,55,.97);
  color:#fffaf1;
  box-shadow:0 6px 18px rgba(45,53,45,.16);
  font:600 8px/1.25 "Montserrat",Arial,sans-serif;
  letter-spacing:.055em;
  text-align:center;
  text-transform:none;
  white-space:nowrap;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%,5px) scale(.96);
  transform-origin:center bottom;
  transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
}

.ceremony-dress-swatch::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:calc(100% + 4px);
  z-index:13;
  width:8px;
  height:8px;
  border-right:1px solid rgba(189,151,94,.34);
  border-bottom:1px solid rgba(189,151,94,.34);
  background:rgba(49,75,55,.97);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateX(-50%) rotate(45deg);
  transition:opacity .16s ease,visibility .16s ease;
}

@media (hover:hover) and (pointer:fine){
  .ceremony-dress-swatch:hover::after,
  .ceremony-dress-swatch:hover::before{
    opacity:1;
    visibility:visible;
  }

  .ceremony-dress-swatch:hover::after{
    transform:translate(-50%,0) scale(1);
  }
}

.ceremony-dress-swatch:focus-visible{
  box-shadow:0 0 0 3px rgba(189,151,94,.18),0 7px 17px rgba(82,70,55,.13),inset 0 0 0 1px rgba(255,255,255,.12);
}

/* O foco também atende toque em iOS/Android: toca na cor, aparece o nome;
   toca fora ou em outra cor, o rótulo anterior desaparece. */
.ceremony-dress-swatch:focus::after,
.ceremony-dress-swatch:focus::before{
  opacity:1;
  visibility:visible;
}

.ceremony-dress-swatch:focus::after{
  transform:translate(-50%,0) scale(1);
}

@media(max-width:700px){
  .ceremony-dress-swatch::after{
    bottom:calc(100% + 8px);
    max-width:150px;
    padding:6px 8px 5px;
    font-size:7.7px;
  }
}

@media(max-width:430px){
  .ceremony-dress-palette{
    overflow:visible;
  }
  .ceremony-dress-swatches{
    overflow:visible;
    padding-top:2px;
  }
  .ceremony-dress-swatch::after{
    max-width:138px;
    white-space:normal;
    width:max-content;
  }
}

/* =====================================================================
   V18.6.26 — DRESS CODE EM PÁGINA PRÓPRIA
   Reutiliza integralmente os dados ceremony_dress_* já salvos no banco.
   ===================================================================== */

.dress-code-page-hero{
  min-height:245px;
}

.dress-code-page-wrap{
  padding-top:44px;
  padding-bottom:62px;
}

.dress-code-page-wrap .dress-code-standalone{
  margin-top:0;
  padding-top:0;
  border-top:0;
}

.dress-code-page-wrap .ceremony-dress-heading{
  max-width:740px;
}

.dress-code-empty-state{
  width:min(720px,100%);
  margin:0 auto;
  padding:54px 24px;
  border-top:1px solid rgba(198,176,139,.36);
  border-bottom:1px solid rgba(198,176,139,.36);
  text-align:center;
}

.dress-code-empty-state h2{
  margin:8px 0 6px;
  color:var(--green-dark);
}

.dress-code-empty-state p{
  margin:0;
  color:#6f6961;
}

/* O oitavo item do menu continua confortável no desktop sem antecipar
   o menu hambúrguer. Não altera o comportamento mobile existente. */
@media(min-width:900px) and (max-width:1240px){
  body.inner-page-shell .main-nav,
  body.home-page-shell .home-v10-nav{
    gap:15px !important;
  }
  body.inner-page-shell .main-nav a{
    font-size:8.5px !important;
  }
  body.home-page-shell .home-v10-nav a{
    font-size:8.1px !important;
  }
}

@media(max-width:700px){
  .dress-code-page-hero{
    min-height:220px;
  }
  .dress-code-page-wrap{
    padding-top:34px;
    padding-bottom:48px;
  }
}

@media(max-width:430px){
  .dress-code-page-wrap .ceremony-dress-heading{
    text-align:left;
  }
}

/* =====================================================================
   V18.6.27 — DRESS CODE: NOME DOS TONS CONFIÁVEL NO TOQUE
   iOS/Android não dependem mais de :focus para revelar o rótulo.
   ===================================================================== */

.ceremony-dress-swatch.is-tone-visible::after,
.ceremony-dress-swatch.is-tone-visible::before{
  opacity:1;
  visibility:visible;
}

.ceremony-dress-swatch.is-tone-visible::after{
  transform:translate(-50%,0) scale(1);
}

.ceremony-dress-swatch.is-tone-visible{
  transform:translateY(-2px) scale(1.05);
  box-shadow:0 0 0 3px rgba(189,151,94,.16),0 7px 17px rgba(82,70,55,.13),inset 0 0 0 1px rgba(255,255,255,.12);
}

.ceremony-dress-touch-label{
  display:none;
}

@media (hover:none), (pointer:coarse){
  .ceremony-dress-swatch:focus::after,
  .ceremony-dress-swatch:focus::before{
    opacity:0;
    visibility:hidden;
  }

  .ceremony-dress-swatch.is-tone-visible::after,
  .ceremony-dress-swatch.is-tone-visible::before{
    opacity:1;
    visibility:visible;
  }

  .ceremony-dress-touch-label{
    display:block;
    min-height:31px;
    margin:12px auto 0;
    padding:7px 12px 6px;
    width:max-content;
    max-width:min(90vw,260px);
    border:1px solid transparent;
    border-radius:999px;
    color:transparent;
    background:transparent;
    font:600 8.5px/1.25 "Montserrat",Arial,sans-serif;
    letter-spacing:.055em;
    text-align:center;
    transition:background .16s ease,color .16s ease,border-color .16s ease,opacity .16s ease;
    opacity:0;
  }

  .ceremony-dress-touch-label.is-visible{
    border-color:rgba(189,151,94,.34);
    background:rgba(49,75,55,.97);
    color:#fffaf1;
    opacity:1;
  }
}

@media(max-width:430px){
  .ceremony-dress-touch-label{
    margin-left:0;
    margin-right:0;
  }
}



/* =====================================================================
   V18.6.28 — DRESS CODE: PROVADOR INTERATIVO DA PALETA
   Cada tom pode trocar a aquarela feminina relacionada.
   ===================================================================== */

.dress-code-standalone .ceremony-dress-art{
  position:relative;
}

#dressCodeFemalePreview{
  transition:opacity .16s ease, transform .22s ease;
  will-change:transform;
}

#dressCodeFemalePreview.is-tone-preview{
  mix-blend-mode:normal;
  transform:scale(1.015);
}

.dress-code-tone-preview-label{
  position:absolute;
  left:50%;
  bottom:10px;
  z-index:4;
  width:max-content;
  max-width:88%;
  padding:6px 11px 5px;
  border:1px solid rgba(189,151,94,.34);
  border-radius:999px;
  background:rgba(49,75,55,.94);
  color:#fffaf1;
  box-shadow:0 5px 16px rgba(45,53,45,.14);
  font:600 8px/1.25 "Montserrat",Arial,sans-serif;
  letter-spacing:.055em;
  text-align:center;
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,5px);
  transition:opacity .16s ease,transform .16s ease;
}

.dress-code-tone-preview-label.is-visible{
  opacity:1;
  transform:translate(-50%,0);
}

.ceremony-dress-swatch.is-tone-selected{
  box-shadow:
    0 0 0 2px #fffaf2,
    0 0 0 4px rgba(87,111,83,.78),
    0 7px 17px rgba(82,70,55,.13),
    inset 0 0 0 1px rgba(255,255,255,.12);
}

@media(max-width:700px){
  .dress-code-tone-preview-label{
    bottom:8px;
    font-size:7.8px;
  }
}


/* =====================================================================
   V18.6.29 — DRESS CODE: SELETOR DE CORES JUNTO À BONECA NO MOBILE
   A paleta superior permanece intacta; este controle existe só em telas
   pequenas e reutiliza os mesmos dados/imagens cadastrados no painel.
   ===================================================================== */

.dress-code-mobile-tone-picker{
  display:none;
}

@media(max-width:700px){
  .dress-code-mobile-tone-picker{
    display:block;
    width:min(100%,360px);
    margin:12px auto 4px;
    padding:12px 0 2px;
    border-top:1px solid rgba(198,176,139,.28);
    text-align:left;
  }

  .dress-code-mobile-tone-head{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:12px;
    margin:0 4px 9px;
    font-family:"Montserrat",Arial,sans-serif;
  }

  .dress-code-mobile-tone-head span{
    color:#8d7350;
    font-size:8.5px;
    font-weight:700;
    letter-spacing:.13em;
    text-transform:uppercase;
  }

  .dress-code-mobile-tone-head small{
    color:#a59c91;
    font-size:7px;
    font-weight:500;
    letter-spacing:.04em;
    white-space:nowrap;
  }

  .dress-code-mobile-tone-scroll{
    display:flex;
    gap:9px;
    width:100%;
    padding:4px 5px 8px;
    overflow-x:auto;
    overflow-y:visible;
    scroll-snap-type:x proximity;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    touch-action:pan-x;
  }

  .dress-code-mobile-tone-scroll::-webkit-scrollbar{
    display:none;
  }

  .dress-code-mobile-tone{
    position:relative;
    display:block;
    flex:0 0 36px;
    width:36px;
    height:36px;
    padding:0;
    border:1px solid rgba(72,61,48,.10);
    border-radius:50%;
    background:var(--dress-tone);
    box-shadow:0 3px 10px rgba(82,70,55,.08),inset 0 0 0 1px rgba(255,255,255,.14);
    appearance:none;
    -webkit-appearance:none;
    outline:none;
    cursor:pointer;
    scroll-snap-align:center;
    -webkit-tap-highlight-color:transparent;
    transition:transform .16s ease,box-shadow .16s ease;
  }

  .dress-code-mobile-tone:active{
    transform:scale(.94);
  }

  .dress-code-mobile-tone.is-tone-selected{
    transform:scale(1.05);
    box-shadow:
      0 0 0 2px #fffaf2,
      0 0 0 4px rgba(87,111,83,.78),
      0 5px 13px rgba(82,70,55,.12),
      inset 0 0 0 1px rgba(255,255,255,.14);
  }

  .dress-code-mobile-selected-tone{
    min-height:21px;
    margin:1px 4px 0;
    color:#9a9289;
    font:500 8px/1.35 "Montserrat",Arial,sans-serif;
    letter-spacing:.035em;
    text-align:center;
    transition:color .16s ease;
  }

  .dress-code-mobile-selected-tone.is-selected{
    color:var(--green-dark);
    font-weight:700;
  }
}

@media(max-width:430px){
  .dress-code-mobile-tone-picker{
    width:100%;
    margin-top:10px;
  }
  .dress-code-mobile-tone-head{
    margin-left:2px;
    margin-right:2px;
  }
  .dress-code-mobile-tone-scroll{
    padding-left:4px;
    padding-right:4px;
  }
}

/* =====================================================================
   V18.7 — NOSSA HISTÓRIA: EXPERIÊNCIA EDITORIAL + TIMELINE INTERATIVA
   ===================================================================== */
.story-experience-hero{
  position:relative;
  min-height:390px;
  overflow:hidden;
  display:grid;
  place-items:center;
  isolation:isolate;
  background:#f7f3eb;
  border-bottom:1px solid rgba(218,207,188,.6);
}
.story-experience-hero-art{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(248,245,238,.93),rgba(248,245,238,.73) 50%,rgba(248,245,238,.93)),
    linear-gradient(rgba(248,245,238,.68),rgba(248,245,238,.9)),
    url('../images/hero-watercolor.jpg') center 49%/cover no-repeat;
  transform:scale(1.025);
}
.story-experience-hero::before,
.story-experience-hero::after{
  content:"";
  position:absolute;
  width:190px;
  height:190px;
  border:1px solid rgba(191,157,102,.16);
  border-radius:50%;
  pointer-events:none;
}
.story-experience-hero::before{left:-105px;top:78px}
.story-experience-hero::after{right:-105px;bottom:42px}
.story-experience-hero-copy{
  width:min(760px,calc(100% - 40px));
  padding:58px 24px 52px;
  text-align:center;
}
.story-experience-eyebrow,
.story-section-kicker{
  display:block;
  color:#9e7e51;
  font:600 8.5px/1.25 "Montserrat",Arial,sans-serif;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.story-experience-hero h1{
  margin:11px 0 4px;
  color:#35543d;
  font:400 clamp(58px,7vw,84px)/.95 "Pinyon Script",cursive;
  text-shadow:0 1px rgba(255,255,255,.55);
}
.story-experience-rule{
  position:relative;
  width:min(280px,55%);
  height:1px;
  margin:18px auto 16px;
  background:linear-gradient(90deg,transparent,rgba(183,145,86,.72),transparent);
}
.story-experience-rule i{
  position:absolute;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  padding:0 12px;
  background:#f5f0e7;
  color:#b68f56;
  font-style:normal;
  font-size:11px;
}
.story-experience-hero p{
  width:min(620px,100%);
  margin:0 auto;
  color:#95764c;
  font:italic 18px/1.55 "Cormorant Garamond",Georgia,serif;
}
.story-scroll-cue{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  margin-top:27px;
  color:#9e865f;
  text-decoration:none;
  font:600 7px/1 "Montserrat",Arial,sans-serif;
  letter-spacing:.16em;
}
.story-scroll-cue b{
  display:grid;
  place-items:center;
  width:28px;height:28px;
  border:1px solid rgba(185,150,96,.45);
  border-radius:50%;
  font:400 14px/1 Georgia,serif;
  animation:storyCueFloat 2.2s ease-in-out infinite;
}
@keyframes storyCueFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}

.story-experience-wrap{
  width:min(1120px,calc(100% - 42px));
  margin:0 auto;
  padding:72px 0 70px;
}
.story-editorial-intro{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);
  gap:78px;
  align-items:center;
  min-height:520px;
  padding:0 24px 76px;
  border-bottom:1px solid rgba(218,207,189,.68);
}
.story-photo-collage{
  position:relative;
  min-height:480px;
  padding:15px 75px 55px 0;
}
.story-photo-collage::before{
  content:"";
  position:absolute;
  left:26px;right:30px;top:48px;bottom:23px;
  border:1px solid rgba(191,156,99,.32);
  pointer-events:none;
}
.story-photo-main,
.story-photo-secondary{margin:0;position:relative;background:#fffdf8}
.story-photo-main{
  z-index:2;
  width:78%;
  padding:8px;
  box-shadow:0 15px 36px rgba(68,53,34,.12);
  transform:rotate(-1.2deg);
}
.story-photo-main::before,
.story-photo-secondary::before{
  content:"";
  position:absolute;
  inset:5px;
  border:1px solid rgba(189,151,94,.26);
  pointer-events:none;
  z-index:2;
}
.story-photo-main img,
.story-photo-secondary img{
  display:block;
  width:100%;
  aspect-ratio:1.34/1;
  object-fit:cover;
  filter:saturate(.91) contrast(.98);
}
.story-photo-secondary{
  position:absolute;
  z-index:3;
  width:49%;
  right:4px;
  bottom:18px;
  padding:7px;
  box-shadow:0 13px 30px rgba(68,53,34,.13);
  transform:rotate(2.7deg);
}
.story-photo-secondary img{aspect-ratio:1.18/1}
.story-photo-flourish{
  position:absolute;
  z-index:4;
  right:35px;top:0;
  color:#b69b70;
  font-size:29px;
  transform:rotate(18deg);
}
.story-editorial-copy{padding:12px 4px 0}
.story-editorial-copy h2{
  margin:10px 0 12px;
  max-width:440px;
  color:#34523b;
  font:500 clamp(31px,3.3vw,43px)/1.05 "Cormorant Garamond",Georgia,serif;
  letter-spacing:.015em;
}
.story-editorial-rule{
  width:54px;height:1px;
  margin:18px 0 22px;
  background:#c4a16a;
}
.story-editorial-text{
  color:#5d5850;
  font:400 11.5px/1.82 "Libre Baskerville",Georgia,serif;
}
.story-editorial-text p{margin:0 0 13px}
.story-editorial-text ul,.story-editorial-text ol{padding-left:19px;margin:10px 0 14px}
.story-editorial-text li{margin:5px 0}
.story-editorial-text strong{color:#435646}
.story-editorial-copy blockquote{
  position:relative;
  margin:27px 0 0;
  padding:19px 22px 18px 37px;
  border-top:1px solid rgba(192,159,105,.44);
  border-bottom:1px solid rgba(192,159,105,.44);
  background:linear-gradient(90deg,rgba(251,246,237,.6),rgba(255,253,249,.1));
}
.story-editorial-copy blockquote>span{
  position:absolute;
  left:9px;top:5px;
  color:#c0a06c;
  font:400 42px/1 Georgia,serif;
  opacity:.72;
}
.story-editorial-copy blockquote p{
  margin:0;
  color:#8c7048;
  font:italic 19px/1.45 "Cormorant Garamond",Georgia,serif;
}

.story-journey{
  --story-progress:0;
  position:relative;
  padding:76px 24px 18px;
}
.story-journey-heading{
  width:min(620px,100%);
  margin:0 auto 48px;
  text-align:center;
}
.story-journey-heading h2{
  margin:8px 0 8px;
  color:#35543d;
  font:500 clamp(35px,4vw,48px)/1.05 "Cormorant Garamond",Georgia,serif;
}
.story-journey-heading p{
  margin:0;
  color:#81776a;
  font:italic 15px/1.55 "Cormorant Garamond",Georgia,serif;
}
.story-journey-list{position:relative;padding:6px 0 10px}
.story-journey-rail{
  position:absolute;
  left:50%;top:0;bottom:0;
  width:1px;
  background:#e2d9cb;
  transform:translateX(-50%);
}
.story-journey-rail i{
  display:block;
  width:2px;
  height:calc(var(--story-progress) * 100%);
  margin-left:-.5px;
  background:linear-gradient(#c6a46d,#71856e);
  transition:height .12s linear;
}
.story-chapter{
  position:relative;
  width:50%;
  padding:0 52px 64px 0;
}
.story-chapter.is-right{margin-left:50%;padding:0 0 64px 52px}
.story-chapter-dot{
  position:absolute;
  z-index:3;
  right:-7px;top:44px;
  width:14px;height:14px;
  border-radius:50%;
  border:2px solid #b99660;
  background:#f8f5ef;
  box-shadow:0 0 0 5px rgba(248,245,239,.92);
  transition:background .25s ease,transform .25s ease,box-shadow .25s ease;
}
.story-chapter.is-right .story-chapter-dot{right:auto;left:-7px}
.story-chapter.is-active .story-chapter-dot{
  background:#668064;
  transform:scale(1.16);
  box-shadow:0 0 0 5px #f8f5ef,0 0 0 6px rgba(185,150,96,.24);
}
.story-chapter-number{
  position:absolute;
  right:14px;top:24px;
  color:rgba(180,146,93,.28);
  font:500 34px/1 "Cormorant Garamond",Georgia,serif;
  letter-spacing:.03em;
}
.story-chapter.is-right .story-chapter-number{right:auto;left:14px}
.story-chapter-card{
  overflow:hidden;
  border:1px solid rgba(218,207,190,.86);
  background:rgba(255,253,249,.88);
  box-shadow:0 9px 26px rgba(62,49,34,.055);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.story-chapter:hover .story-chapter-card,
.story-chapter.is-active .story-chapter-card{
  transform:translateY(-3px);
  border-color:rgba(192,158,102,.72);
  box-shadow:0 15px 34px rgba(62,49,34,.1);
}
.story-chapter-visual{
  position:relative;
  margin:0;
  overflow:hidden;
  background:#f1ece2;
}
.story-chapter-visual img{
  display:block;
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .35s ease;
  filter:saturate(.9);
}
.story-chapter:hover .story-chapter-visual img,
.story-chapter.is-active .story-chapter-visual img{transform:scale(1.035);filter:saturate(.98)}
.story-chapter-visual span{
  position:absolute;
  right:12px;bottom:9px;
  color:#fff8e9;
  text-shadow:0 1px 5px rgba(49,42,34,.38);
  font-size:22px;
}
.story-chapter-copy{padding:22px 24px 24px}
.story-chapter-copy time{
  display:inline-block;
  margin-bottom:6px;
  color:#9e7d4c;
  font:700 8px/1.3 "Montserrat",Arial,sans-serif;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.story-chapter-copy h3{
  margin:0 0 9px;
  color:#38543e;
  font:500 25px/1.08 "Cormorant Garamond",Georgia,serif;
}
.story-chapter-copy p{
  margin:0;
  color:#696158;
  font:400 10.5px/1.72 "Libre Baskerville",Georgia,serif;
}

.story-experience-wrap .story-gallery-section{
  margin:64px 24px 0;
  padding:68px 0 0;
  border-top:1px solid rgba(218,207,189,.68);
}
.story-experience-wrap .story-gallery-heading{margin-bottom:34px}
.story-experience-wrap .story-gallery-heading>span{color:#b59a6f}
.story-experience-wrap .gallery-elegant-card{transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease}
.story-experience-wrap .gallery-elegant-card:hover{transform:translateY(-6px) rotate(.25deg);border-color:#cfb78f}
.story-experience-wrap .gallery-frame-inner img{transition:transform .55s ease,filter .35s ease}
.story-experience-wrap .gallery-elegant-card:hover .gallery-frame-inner img{transform:scale(1.025);filter:saturate(1.02)}

.story-closing-card{
  position:relative;
  width:min(860px,calc(100% - 48px));
  margin:76px auto 0;
  padding:48px 56px 44px;
  overflow:hidden;
  text-align:center;
  border:1px solid rgba(202,181,145,.7);
  background:
    radial-gradient(circle at 12% 15%,rgba(222,230,215,.58),transparent 28%),
    radial-gradient(circle at 88% 85%,rgba(242,220,211,.58),transparent 30%),
    rgba(255,253,249,.9);
  box-shadow:0 13px 36px rgba(62,49,34,.07);
}
.story-closing-card::before,
.story-closing-card::after{
  content:"";
  position:absolute;
  width:82px;height:82px;
  border:1px solid rgba(187,151,94,.2);
  transform:rotate(45deg);
}
.story-closing-card::before{left:-47px;top:-47px}
.story-closing-card::after{right:-47px;bottom:-47px}
.story-closing-ornament{display:block;margin-bottom:4px;color:#b79b6d;font-size:25px}
.story-closing-card h2{
  margin:8px auto 8px;
  color:#35543d;
  font:500 clamp(30px,3.5vw,41px)/1.08 "Cormorant Garamond",Georgia,serif;
}
.story-closing-card p{
  width:min(590px,100%);
  margin:0 auto 20px;
  color:#6f675d;
  font:400 10.8px/1.72 "Libre Baskerville",Georgia,serif;
}
.story-closing-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:11px 22px;
  border:1px solid #5b745a;
  background:#557054;
  color:#fffaf0;
  text-decoration:none;
  font:600 8px/1 "Montserrat",Arial,sans-serif;
  letter-spacing:.08em;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.story-closing-button:hover{background:#3f5a44;transform:translateY(-2px);box-shadow:0 7px 18px rgba(54,82,59,.17)}
.story-closing-button span{color:#eadcc1;font-size:9px}

@media(max-width:899px){
  .story-experience-hero{min-height:330px}
  .story-experience-wrap{width:min(100% - 30px,760px);padding-top:54px}
  .story-editorial-intro{grid-template-columns:1fr;gap:42px;min-height:0;padding:0 10px 58px}
  .story-photo-collage{width:min(620px,100%);min-height:430px;margin:0 auto;padding-right:90px}
  .story-editorial-copy{width:min(620px,100%);margin:0 auto;text-align:center}
  .story-editorial-copy h2{margin-left:auto;margin-right:auto}
  .story-editorial-rule{margin-left:auto;margin-right:auto}
  .story-editorial-text{text-align:left}
  .story-editorial-copy blockquote{text-align:left}
  .story-journey{padding:58px 10px 12px}
  .story-journey-list{padding-left:29px}
  .story-journey-rail{left:10px;transform:none}
  .story-chapter,.story-chapter.is-right{width:100%;margin-left:0;padding:0 0 34px 28px}
  .story-chapter-dot,.story-chapter.is-right .story-chapter-dot{left:-25px;right:auto;top:39px}
  .story-chapter-number,.story-chapter.is-right .story-chapter-number{left:8px;right:auto;top:15px;z-index:2;font-size:29px}
  .story-experience-wrap .story-gallery-section{margin-left:10px;margin-right:10px;padding-top:52px}
  .story-closing-card{width:calc(100% - 20px);margin-top:58px;padding:40px 30px 37px}
}

@media(max-width:560px){
  .story-experience-hero{min-height:292px}
  .story-experience-hero-copy{padding:45px 18px 40px}
  .story-experience-hero h1{font-size:56px}
  .story-experience-hero p{font-size:16px}
  .story-scroll-cue{margin-top:20px}
  .story-experience-wrap{width:100%;padding:42px 14px 54px}
  .story-editorial-intro{gap:28px;padding:0 2px 46px}
  .story-photo-collage{min-height:340px;padding:10px 62px 42px 8px}
  .story-photo-collage::before{left:24px;right:19px;top:38px;bottom:18px}
  .story-photo-main{width:82%;padding:6px}
  .story-photo-secondary{width:48%;right:4px;bottom:10px;padding:5px}
  .story-photo-flourish{right:26px;font-size:23px}
  .story-editorial-copy h2{font-size:31px}
  .story-editorial-text{font-size:10.8px;line-height:1.76}
  .story-editorial-copy blockquote{margin-top:22px;padding:16px 15px 15px 32px}
  .story-editorial-copy blockquote p{font-size:17px}
  .story-journey{padding:48px 0 4px}
  .story-journey-heading{margin-bottom:34px;padding:0 14px}
  .story-journey-heading h2{font-size:35px}
  .story-journey-list{padding-left:24px}
  .story-journey-rail{left:7px}
  .story-chapter,.story-chapter.is-right{padding-left:24px;padding-bottom:28px}
  .story-chapter-dot,.story-chapter.is-right .story-chapter-dot{left:-22px;top:31px;width:12px;height:12px}
  .story-chapter-number,.story-chapter.is-right .story-chapter-number{left:7px;top:11px;font-size:25px}
  .story-chapter-copy{padding:18px 18px 20px}
  .story-chapter-copy h3{font-size:23px}
  .story-chapter-copy p{font-size:10px}
  .story-experience-wrap .story-gallery-section{margin:44px 0 0;padding-top:44px}
  .story-closing-card{width:100%;margin-top:48px;padding:34px 20px 31px}
  .story-closing-card h2{font-size:30px}
}

@media(prefers-reduced-motion:reduce){
  .story-scroll-cue b{animation:none}
  .story-chapter-card,.story-chapter-visual img,.story-closing-button{transition:none!important}
}


/* =====================================================================
   V18.7.1 — CABEÇALHOS EDITORIAIS UNIFICADOS NAS PÁGINAS INTERNAS
   Replica a linguagem visual de Nossa História sem alterar o conteúdo.
   ===================================================================== */
body.inner-page-shell .page-hero.editorial-page-hero{
  position:relative;
  min-height:350px;
  overflow:hidden;
  display:grid;
  place-items:center;
  isolation:isolate;
  padding:0;
  background:#f7f3eb;
  border-bottom:1px solid rgba(218,207,188,.6);
}
body.inner-page-shell .editorial-page-hero-art{
  position:absolute;
  inset:-10px;
  z-index:-2;
  background:
    radial-gradient(circle at var(--editorial-hero-x,50%) var(--editorial-hero-y,48%),rgba(255,255,255,.22),transparent 26%),
    linear-gradient(90deg,rgba(248,245,238,.93),rgba(248,245,238,.73) 50%,rgba(248,245,238,.93)),
    linear-gradient(rgba(248,245,238,.68),rgba(248,245,238,.9)),
    url('../images/hero-watercolor.jpg') center 49%/cover no-repeat;
  transform:scale(1.035);
  animation:editorialHeroBreath 12s ease-in-out infinite alternate;
  will-change:transform;
}
body.inner-page-shell .page-hero.editorial-page-hero::before,
body.inner-page-shell .page-hero.editorial-page-hero::after{
  content:"";
  position:absolute;
  width:190px;
  height:190px;
  border:1px solid rgba(191,157,102,.16);
  border-radius:50%;
  pointer-events:none;
  animation:editorialHalo 7s ease-in-out infinite alternate;
}
body.inner-page-shell .page-hero.editorial-page-hero::before{left:-105px;top:68px}
body.inner-page-shell .page-hero.editorial-page-hero::after{right:-105px;bottom:35px;animation-delay:-2.8s}
body.inner-page-shell .editorial-page-hero-copy{
  position:relative;
  z-index:2;
  width:min(780px,calc(100% - 40px));
  max-width:none;
  padding:54px 24px 48px;
  text-align:center;
}
body.inner-page-shell .editorial-page-eyebrow{
  display:block;
  color:#9e7e51;
  font:600 8.5px/1.25 "Montserrat",Arial,sans-serif;
  letter-spacing:.22em;
  text-transform:uppercase;
}
body.inner-page-shell .page-hero.editorial-page-hero h1{
  margin:11px 0 4px;
  color:#35543d;
  font:400 clamp(55px,6.4vw,82px)/.95 "Pinyon Script",cursive;
  text-shadow:0 1px rgba(255,255,255,.55);
}
body.inner-page-shell .editorial-page-rule{
  position:relative;
  width:min(280px,55%);
  height:1px;
  margin:18px auto 16px;
  background:linear-gradient(90deg,transparent,rgba(183,145,86,.72),transparent);
}
body.inner-page-shell .editorial-page-rule i{
  position:absolute;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  padding:0 12px;
  background:#f5f0e7;
  color:#b68f56;
  font-style:normal;
  font-size:11px;
}
body.inner-page-shell .page-hero.editorial-page-hero p,
body.inner-page-shell .gifts-page-hero.editorial-page-hero p:last-child,
body.inner-page-shell .lodging-page-hero.editorial-page-hero p{
  width:min(650px,100%);
  margin:0 auto;
  padding:0;
  color:#95764c;
  font:italic 17px/1.55 "Cormorant Garamond",Georgia,serif;
  letter-spacing:0;
}
body.inner-page-shell .editorial-page-scroll{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  margin-top:24px;
  color:#9e865f;
  text-decoration:none;
  font:600 7px/1 "Montserrat",Arial,sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase;
}
body.inner-page-shell .editorial-page-scroll b{
  display:grid;
  place-items:center;
  width:28px;height:28px;
  border:1px solid rgba(185,150,96,.45);
  border-radius:50%;
  background:rgba(248,245,238,.58);
  font:400 14px/1 Georgia,serif;
  transition:background .25s ease,border-color .25s ease,transform .25s ease;
  animation:editorialCueFloat 2.2s ease-in-out infinite;
}
body.inner-page-shell .editorial-page-scroll:hover b{
  background:#fffdf8;
  border-color:rgba(163,127,73,.7);
}
@keyframes editorialHeroBreath{
  from{transform:scale(1.025) translate3d(-.25%,0,0)}
  to{transform:scale(1.055) translate3d(.25%,-.35%,0)}
}
@keyframes editorialHalo{
  from{opacity:.55;transform:scale(.94)}
  to{opacity:1;transform:scale(1.06)}
}
@keyframes editorialCueFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}

/* Hero de Presentes tinha regras próprias antigas. Mantém apenas o conteúdo,
   deixando a nova linguagem editorial comandar o cabeçalho. */
body.inner-page-shell .gifts-page-hero.editorial-page-hero{
  min-height:350px;
  padding:0;
}
body.inner-page-shell .gifts-page-hero.editorial-page-hero>div{max-width:none}

@media(max-width:700px){
  body.inner-page-shell .page-hero.editorial-page-hero,
  body.inner-page-shell .dress-code-page-hero.editorial-page-hero,
  body.inner-page-shell .gifts-page-hero.editorial-page-hero{
    min-height:300px;
    padding:0;
  }
  body.inner-page-shell .editorial-page-hero-copy{padding:44px 18px 40px}
  body.inner-page-shell .page-hero.editorial-page-hero h1{font-size:clamp(51px,13vw,64px)}
  body.inner-page-shell .page-hero.editorial-page-hero p,
  body.inner-page-shell .gifts-page-hero.editorial-page-hero p:last-child,
  body.inner-page-shell .lodging-page-hero.editorial-page-hero p{
    font-size:15px;
    line-height:1.5;
    width:min(590px,100%);
  }
  body.inner-page-shell .editorial-page-scroll{margin-top:20px}
}
@media(max-width:430px){
  body.inner-page-shell .page-hero.editorial-page-hero,
  body.inner-page-shell .dress-code-page-hero.editorial-page-hero,
  body.inner-page-shell .gifts-page-hero.editorial-page-hero{min-height:286px}
  body.inner-page-shell .editorial-page-hero-copy{width:100%;padding:40px 17px 36px}
  body.inner-page-shell .editorial-page-eyebrow{font-size:7.7px;letter-spacing:.19em}
  body.inner-page-shell .page-hero.editorial-page-hero h1{font-size:52px}
  body.inner-page-shell .editorial-page-rule{margin:15px auto 14px}
  body.inner-page-shell .page-hero.editorial-page-hero p,
  body.inner-page-shell .gifts-page-hero.editorial-page-hero p:last-child,
  body.inner-page-shell .lodging-page-hero.editorial-page-hero p{font-size:14.5px}
}
@media(prefers-reduced-motion:reduce){
  body.inner-page-shell .editorial-page-hero-art,
  body.inner-page-shell .page-hero.editorial-page-hero::before,
  body.inner-page-shell .page-hero.editorial-page-hero::after,
  body.inner-page-shell .editorial-page-scroll b{animation:none!important}
}

/* =====================================================================
   V18.7.2 — CORREÇÃO DO FUNDO DOS CABEÇALHOS EDITORIAIS
   A regra legada .page-hero > div limitava a arte de fundo a 720px.
   A arte volta a ocupar o hero inteiro, como em Nossa História.
   ===================================================================== */
body.inner-page-shell .page-hero.editorial-page-hero > .editorial-page-hero-art{
  position:absolute;
  inset:-10px;
  width:auto;
  max-width:none;
  height:auto;
  margin:0;
  padding:0;
  justify-self:stretch;
  align-self:stretch;
  text-align:initial;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at var(--editorial-hero-x,50%) var(--editorial-hero-y,48%),rgba(255,255,255,.22),transparent 26%),
    linear-gradient(90deg,rgba(248,245,238,.93),rgba(248,245,238,.73) 50%,rgba(248,245,238,.93)),
    linear-gradient(rgba(248,245,238,.68),rgba(248,245,238,.90)),
    url('../images/hero-watercolor.jpg') center 49% / cover no-repeat;
}
body.inner-page-shell .page-hero.editorial-page-hero > .editorial-page-hero-copy{
  position:relative;
  z-index:2;
}
body.inner-page-shell .page-hero.editorial-page-hero::before,
body.inner-page-shell .page-hero.editorial-page-hero::after{
  z-index:1;
}

@media(max-width:430px){
  body.inner-page-shell .page-hero.editorial-page-hero > .editorial-page-hero-art{
    inset:-7px;
    background-position:center 49%;
  }
}


/* =====================================================================
   V18.7.3 — NOSSA HISTÓRIA · NARRATIVA LONGA EM CAPÍTULOS
   ===================================================================== */
.story-narrative{
  --story-narrative-progress:0;
  position:relative;
  margin:4px 24px 0;
  padding:78px 0 72px;
  border-top:1px solid rgba(218,207,189,.68);
  border-bottom:1px solid rgba(218,207,189,.68);
}
.story-narrative-heading{
  width:min(760px,100%);
  margin:0 auto 58px;
  text-align:center;
}
.story-narrative-heading h2{
  margin:9px 0 10px;
  color:#35543d;
  font:500 clamp(36px,4.2vw,52px)/1.02 "Cormorant Garamond",Georgia,serif;
}
.story-narrative-heading>p{
  width:min(650px,100%);
  margin:0 auto;
  color:#81766a;
  font:italic 16px/1.58 "Cormorant Garamond",Georgia,serif;
}
.story-narrative-heading-rule{
  position:relative;
  width:190px;height:1px;
  margin:24px auto 0;
  background:linear-gradient(90deg,transparent,rgba(190,153,95,.58),transparent);
}
.story-narrative-heading-rule i{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  padding:0 10px;background:#faf7f0;color:#b7925a;font-style:normal;font-size:9px;
}
.story-narrative-layout{
  position:relative;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:30px;
  width:min(980px,100%);
  margin:0 auto;
}
.story-narrative-progress{
  position:sticky;
  top:105px;
  align-self:start;
  height:360px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:9px;
  color:#a4875c;
  font:600 7px/1 "Montserrat",Arial,sans-serif;
  letter-spacing:.12em;
}
.story-narrative-progress>div{
  position:relative;
  flex:1;
  width:1px;
  background:#e4d9c9;
}
.story-narrative-progress>div i{
  position:absolute;left:-.5px;top:0;width:2px;
  height:calc(var(--story-narrative-progress) * 100%);
  background:linear-gradient(#c3a169,#60795f);
  transition:height .12s linear;
}
.story-narrative-list{display:flex;flex-direction:column;gap:30px;min-width:0}
.story-narrative-chapter{
  position:relative;
  width:min(820px,92%);
  transition:transform .35s ease,opacity .35s ease;
}
.story-narrative-chapter.is-shifted{align-self:flex-end}
.story-narrative-number{
  position:absolute;
  right:18px;top:-28px;
  z-index:0;
  color:rgba(183,149,95,.18);
  font:500 76px/1 "Cormorant Garamond",Georgia,serif;
  letter-spacing:-.03em;
  pointer-events:none;
}
.story-narrative-chapter.is-shifted .story-narrative-number{right:auto;left:18px}
.story-narrative-card{
  position:relative;
  z-index:1;
  overflow:hidden;
  padding:34px 38px 32px;
  border:1px solid rgba(218,205,185,.84);
  background:
    radial-gradient(circle at 100% 0,rgba(235,223,207,.34),transparent 31%),
    rgba(255,253,249,.89);
  box-shadow:0 10px 28px rgba(65,50,34,.055);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease,background .3s ease;
}
.story-narrative-chapter.is-shifted .story-narrative-card{
  background:
    radial-gradient(circle at 0 100%,rgba(219,230,216,.38),transparent 31%),
    rgba(255,253,249,.89);
}
.story-narrative-chapter.is-active .story-narrative-card,
.story-narrative-chapter:hover .story-narrative-card{
  transform:translateY(-3px);
  border-color:rgba(190,153,95,.63);
  box-shadow:0 16px 38px rgba(65,50,34,.09);
}
.story-narrative-card::before{
  content:"";
  position:absolute;left:0;top:0;bottom:0;width:2px;
  background:linear-gradient(#c6a36c,#71856f);
  opacity:.28;
  transition:opacity .3s ease;
}
.story-narrative-chapter.is-active .story-narrative-card::before,
.story-narrative-chapter:hover .story-narrative-card::before{opacity:1}
.story-narrative-card-head>span{
  display:block;
  margin-bottom:7px;
  color:#a07f50;
  font:600 7.5px/1.35 "Montserrat",Arial,sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.story-narrative-card-head h3{
  margin:0 0 19px;
  color:#36543d;
  font:500 clamp(28px,3vw,38px)/1.06 "Cormorant Garamond",Georgia,serif;
}
.story-narrative-copy{
  color:#5d5850;
  font:400 11px/1.86 "Libre Baskerville",Georgia,serif;
}
.story-narrative-copy p{margin:0 0 14px}
.story-narrative-copy p:last-child{margin-bottom:0}
.story-narrative-card blockquote{
  position:relative;
  margin:24px 0 0;
  padding:17px 20px 15px 34px;
  border-top:1px solid rgba(196,161,105,.38);
  border-bottom:1px solid rgba(196,161,105,.38);
  background:linear-gradient(90deg,rgba(249,241,230,.7),transparent);
}
.story-narrative-card blockquote>span{
  position:absolute;left:8px;top:3px;
  color:#c0a06c;font:400 38px/1 Georgia,serif;opacity:.72;
}
.story-narrative-card blockquote p{
  margin:0;
  color:#806743;
  font:italic 18px/1.45 "Cormorant Garamond",Georgia,serif;
}
.story-narrative-signoff{
  width:min(620px,100%);
  margin:52px auto 0;
  text-align:center;
}
.story-narrative-signoff span{display:block;color:#b59a70;font-size:24px;margin-bottom:5px}
.story-narrative-signoff p{
  margin:0;color:#886e49;
  font:italic 20px/1.45 "Cormorant Garamond",Georgia,serif;
}

/* Painel: capítulos longos ficam recolhíveis para não transformar a página em um pergaminho infinito. */
.story-narrative-admin-list{display:grid;gap:10px;margin-top:18px}
.story-narrative-admin-item{border:1px solid #e4dbcf;background:#fffdf9;border-radius:8px;overflow:hidden}
.story-narrative-admin-item summary{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;list-style:none;color:#4a5f4c}
.story-narrative-admin-item summary::-webkit-details-marker{display:none}
.story-narrative-admin-item summary::after{content:"+";margin-left:auto;color:#9e8154;font-size:18px}
.story-narrative-admin-item[open] summary::after{content:"−"}
.story-narrative-admin-item summary strong{font:700 10px/1 "Montserrat",Arial,sans-serif;letter-spacing:.08em;color:#9b7c4d}
.story-narrative-admin-item summary span{font:600 13px/1.3 Georgia,serif;color:#425746}
.story-narrative-admin-item>.grid{padding:0 16px 16px}

@media(max-width:899px){
  .story-narrative{margin-left:10px;margin-right:10px;padding:60px 0 58px}
  .story-narrative-heading{margin-bottom:44px;padding:0 16px}
  .story-narrative-layout{grid-template-columns:30px minmax(0,1fr);gap:17px}
  .story-narrative-progress{top:88px;height:300px}
  .story-narrative-chapter,.story-narrative-chapter.is-shifted{width:100%;align-self:stretch}
  .story-narrative-number,.story-narrative-chapter.is-shifted .story-narrative-number{left:auto;right:12px;top:-20px;font-size:62px}
  .story-narrative-card{padding:29px 30px 27px}
}
@media(max-width:560px){
  .story-narrative{margin:0;padding:50px 0 48px}
  .story-narrative-heading{margin-bottom:36px;padding:0 10px}
  .story-narrative-heading h2{font-size:34px}
  .story-narrative-heading>p{font-size:15px}
  .story-narrative-layout{grid-template-columns:19px minmax(0,1fr);gap:10px}
  .story-narrative-progress{top:78px;height:250px;font-size:6px}
  .story-narrative-list{gap:24px}
  .story-narrative-number,.story-narrative-chapter.is-shifted .story-narrative-number{right:9px;top:-13px;font-size:49px}
  .story-narrative-card{padding:25px 20px 23px}
  .story-narrative-card-head>span{font-size:6.7px;letter-spacing:.12em}
  .story-narrative-card-head h3{font-size:27px;margin-bottom:16px;padding-right:24px}
  .story-narrative-copy{font-size:10.4px;line-height:1.8}
  .story-narrative-card blockquote{margin-top:20px;padding:14px 12px 13px 29px}
  .story-narrative-card blockquote p{font-size:16.5px}
  .story-narrative-signoff{margin-top:40px;padding:0 18px}
  .story-narrative-signoff p{font-size:18px}
  .story-narrative-admin-item summary{align-items:flex-start;flex-wrap:wrap}
  .story-narrative-admin-item summary span{width:calc(100% - 42px)}
}
@media(prefers-reduced-motion:reduce){
  .story-narrative-card{transition:none!important}
}

/* ===== V18.7.4 · Nossa História conectada: introdução + timeline fotográfica ===== */
.story-flow-redesign{padding-top:0}
.story-flow-intro{
  position:relative;
  width:min(780px,calc(100% - 48px));
  margin:0 auto;
  padding:72px 30px 70px;
  text-align:center;
}
.story-flow-intro::after{
  content:"";position:absolute;left:50%;bottom:0;width:1px;height:54px;
  background:linear-gradient(#d9c7aa,#b99764);transform:translateX(-50%);
}
.story-flow-intro h2{margin:9px auto 18px;color:#36543e;font:500 clamp(34px,4.3vw,52px)/1.02 "Cormorant Garamond",Georgia,serif;max-width:650px}
.story-flow-intro-text{width:min(650px,100%);margin:0 auto;color:#5f5951;font:400 11.5px/1.88 "Libre Baskerville",Georgia,serif}
.story-flow-intro-text p{margin:0 0 14px}
.story-flow-intro blockquote{position:relative;width:min(610px,100%);margin:27px auto 0;padding:18px 38px;border-top:1px solid rgba(193,158,101,.38);border-bottom:1px solid rgba(193,158,101,.38)}
.story-flow-intro blockquote>span{position:absolute;left:10px;top:5px;color:#c5a36e;font:42px/1 Georgia,serif;opacity:.72}
.story-flow-intro blockquote p{margin:0;color:#8a704b;font:italic 19px/1.45 "Cormorant Garamond",Georgia,serif}
.story-flow-route{display:flex;align-items:center;justify-content:center;gap:13px;margin:31px auto 0;color:#9a7d52;font:600 7px/1 "Montserrat",Arial,sans-serif;letter-spacing:.16em}
.story-flow-route i{color:#bfa16f;font-style:normal;font-size:8px}

.story-memory-timeline{--story-narrative-progress:0;position:relative;padding:68px 24px 44px}
.story-memory-heading{width:min(720px,100%);margin:0 auto 58px;text-align:center}
.story-memory-heading h2{margin:8px 0 10px;color:#35543d;font:500 clamp(37px,4.5vw,54px)/1.03 "Cormorant Garamond",Georgia,serif}
.story-memory-heading>p{width:min(620px,100%);margin:0 auto;color:#81786d;font:italic 16px/1.55 "Cormorant Garamond",Georgia,serif}
.story-memory-track{position:relative;display:flex;flex-direction:column;gap:56px}
.story-memory-rail{position:absolute;left:50%;top:-22px;bottom:-22px;width:1px;background:#ded4c5;transform:translateX(-50%)}
.story-memory-rail i{display:block;width:2px;height:calc(var(--story-narrative-progress) * 100%);margin-left:-.5px;background:linear-gradient(#c5a169,#72876e);transition:height .12s linear}
.story-memory-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 74px minmax(0,1fr);align-items:center;min-height:430px}
.story-memory-marker{position:absolute;z-index:5;left:50%;top:50%;display:grid;place-items:center;width:40px;height:40px;border:1px solid #c7a46c;border-radius:50%;background:#f8f5ef;transform:translate(-50%,-50%);box-shadow:0 0 0 8px #f8f5ef;transition:background .3s ease,transform .3s ease}
.story-memory-marker b{color:#9b7d52;font:600 8px/1 "Montserrat",Arial,sans-serif;letter-spacing:.08em}
.story-memory-row.is-active .story-memory-marker{background:#637a62;transform:translate(-50%,-50%) scale(1.08)}
.story-memory-row.is-active .story-memory-marker b{color:#fff9ed}
.story-memory-visual{grid-column:1;min-width:0;padding-right:18px}
.story-memory-copy{grid-column:3;position:relative;padding:18px 12px 18px 28px;min-width:0}
.story-memory-row.is-reverse .story-memory-visual{grid-column:3;padding:0 0 0 18px}
.story-memory-row.is-reverse .story-memory-copy{grid-column:1;grid-row:1;padding:18px 28px 18px 12px;text-align:right}
.story-memory-photo{position:relative;display:block;width:100%;padding:9px;border:0;background:#fffdf9;cursor:zoom-in;box-shadow:0 14px 34px rgba(66,52,35,.11);transform:rotate(-.55deg);transition:transform .4s ease,box-shadow .4s ease}
.story-memory-row.is-reverse .story-memory-photo{transform:rotate(.55deg)}
.story-memory-photo:hover,.story-memory-row.is-active .story-memory-photo{transform:rotate(0) translateY(-4px);box-shadow:0 20px 42px rgba(66,52,35,.15)}
.story-memory-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.92) contrast(.99);transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .35s ease}
.story-memory-photo:hover img{transform:scale(1.025);filter:saturate(.99)}
.story-memory-photo-frame{position:absolute;inset:14px;border:1px solid rgba(190,154,95,.35);pointer-events:none}
.story-memory-photo-hint{position:absolute;right:18px;bottom:18px;padding:7px 9px;background:rgba(249,246,239,.9);color:#826b48;font:600 6.5px/1 "Montserrat",Arial,sans-serif;letter-spacing:.12em;opacity:0;transform:translateY(4px);transition:.25s ease}
.story-memory-photo:hover .story-memory-photo-hint{opacity:1;transform:none}
.story-memory-placeholder{display:grid;place-items:center;min-height:320px;border:1px solid rgba(202,182,149,.62);background:radial-gradient(circle at 28% 28%,rgba(224,232,219,.7),transparent 34%),radial-gradient(circle at 74% 72%,rgba(245,224,215,.66),transparent 38%),#faf7f0}
.story-memory-placeholder span{color:#b39a72;font-size:34px}.story-memory-placeholder strong{position:absolute;color:rgba(181,151,102,.15);font:500 110px/1 "Cormorant Garamond",Georgia,serif}
.story-memory-number{position:absolute;right:8px;top:-31px;color:rgba(184,150,96,.18);font:500 78px/1 "Cormorant Garamond",Georgia,serif;pointer-events:none}
.story-memory-row.is-reverse .story-memory-number{right:auto;left:8px}
.story-memory-meta{display:block;margin-bottom:9px;color:#9b7a49;font:600 7.5px/1.35 "Montserrat",Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase}
.story-memory-copy h3{position:relative;margin:0 0 19px;color:#36543e;font:500 clamp(29px,3.3vw,42px)/1.05 "Cormorant Garamond",Georgia,serif}
.story-memory-copy h3::after{content:"";display:block;width:46px;height:1px;margin-top:15px;background:#c3a16b}
.story-memory-row.is-reverse .story-memory-copy h3::after{margin-left:auto}
.story-memory-text{color:#5d5851;font:400 10.8px/1.86 "Libre Baskerville",Georgia,serif}
.story-memory-text p{margin:0 0 14px}.story-memory-text p:last-child{margin-bottom:0}
.story-memory-copy blockquote{position:relative;margin:22px 0 0;padding:15px 18px 14px 31px;border-top:1px solid rgba(196,161,105,.38);border-bottom:1px solid rgba(196,161,105,.38);background:linear-gradient(90deg,rgba(249,241,230,.72),transparent)}
.story-memory-row.is-reverse .story-memory-copy blockquote{padding:15px 31px 14px 18px;background:linear-gradient(270deg,rgba(249,241,230,.72),transparent)}
.story-memory-copy blockquote>span{position:absolute;left:8px;top:3px;color:#c0a06c;font:36px/1 Georgia,serif;opacity:.7}
.story-memory-row.is-reverse .story-memory-copy blockquote>span{left:auto;right:8px}
.story-memory-copy blockquote p{margin:0;color:#806743;font:italic 18px/1.42 "Cormorant Garamond",Georgia,serif}
.story-memory-signoff{width:min(620px,100%);margin:66px auto 0;text-align:center}.story-memory-signoff-ornament{display:block;color:#b59a70;font-size:24px;margin-bottom:5px}.story-memory-signoff p{margin:0;color:#886e49;font:italic 20px/1.45 "Cormorant Garamond",Georgia,serif}.story-signoff-line{display:inline}
.story-journey-extra{margin-top:18px;padding-top:72px;border-top:1px solid rgba(218,207,189,.68)}

.story-photo-lightbox{position:fixed;z-index:10050;inset:0;display:grid;place-items:center;padding:24px;opacity:0;transition:opacity .2s ease}.story-photo-lightbox[hidden]{display:none}.story-photo-lightbox.is-open{opacity:1}.story-photo-lightbox-backdrop{position:absolute;inset:0;background:rgba(31,35,30,.82)}
.story-photo-lightbox-dialog{position:relative;z-index:2;max-width:min(1000px,92vw);max-height:90vh;padding:10px;background:#fffdf9;box-shadow:0 24px 70px rgba(0,0,0,.28)}.story-photo-lightbox-dialog img{display:block;max-width:100%;max-height:80vh;object-fit:contain}.story-photo-lightbox-dialog p{margin:9px 10px 2px;text-align:center;color:#5e665d;font:italic 16px/1.4 "Cormorant Garamond",Georgia,serif}.story-photo-lightbox-close{position:absolute;z-index:3;right:10px;top:10px;width:34px;height:34px;border:1px solid rgba(255,255,255,.62);border-radius:50%;background:rgba(48,61,48,.82);color:#fff;font-size:22px;cursor:pointer}
body.story-photo-lightbox-open{overflow:hidden}

@media(max-width:899px){
  .story-flow-intro{width:min(100% - 30px,700px);padding:56px 22px 62px}
  .story-memory-timeline{padding:56px 12px 40px}
  .story-memory-track{gap:42px;padding-left:38px}
  .story-memory-rail{left:18px;transform:none}
  .story-memory-row,.story-memory-row.is-reverse{display:flex;flex-direction:column;align-items:stretch;min-height:0}
  .story-memory-marker{left:18px;top:38px;width:34px;height:34px;transform:translate(-50%,0);box-shadow:0 0 0 6px #f8f5ef}
  .story-memory-row.is-active .story-memory-marker{transform:translate(-50%,0) scale(1.06)}
  .story-memory-visual,.story-memory-row.is-reverse .story-memory-visual{order:1;width:100%;padding:0}
  .story-memory-copy,.story-memory-row.is-reverse .story-memory-copy{order:2;width:100%;padding:27px 4px 5px;text-align:left}
  .story-memory-row.is-reverse .story-memory-copy h3::after{margin-left:0}
  .story-memory-number,.story-memory-row.is-reverse .story-memory-number{right:0;left:auto;top:5px;font-size:62px}
  .story-memory-row.is-reverse .story-memory-copy blockquote{padding:15px 18px 14px 31px;background:linear-gradient(90deg,rgba(249,241,230,.72),transparent)}
  .story-memory-row.is-reverse .story-memory-copy blockquote>span{left:8px;right:auto}
  .story-memory-photo,.story-memory-row.is-reverse .story-memory-photo{transform:none}
  .story-memory-photo-hint{opacity:1;transform:none}
}
@media(max-width:560px){
  .story-flow-intro{width:100%;padding:46px 15px 57px}.story-flow-intro h2{font-size:34px}.story-flow-intro-text{font-size:10.5px;line-height:1.82}.story-flow-intro blockquote{padding:15px 24px 14px 31px}.story-flow-intro blockquote p{font-size:17px}.story-flow-route{gap:8px;font-size:5.8px;letter-spacing:.11em}
  .story-memory-timeline{padding:47px 8px 34px}.story-memory-heading{margin-bottom:40px;padding:0 8px}.story-memory-heading h2{font-size:35px}.story-memory-heading>p{font-size:15px}.story-memory-track{padding-left:29px;gap:38px}.story-memory-rail{left:13px}.story-memory-marker{left:13px;width:29px;height:29px}.story-memory-marker b{font-size:6.4px}.story-memory-photo{padding:6px}.story-memory-photo-frame{inset:10px}.story-memory-photo-hint{right:12px;bottom:12px;font-size:5.7px}.story-memory-copy,.story-memory-row.is-reverse .story-memory-copy{padding-top:23px}.story-memory-meta{font-size:6.4px}.story-memory-copy h3{font-size:29px;padding-right:35px}.story-memory-text{font-size:10.2px;line-height:1.82}.story-memory-copy blockquote p{font-size:16.5px}.story-memory-number,.story-memory-row.is-reverse .story-memory-number{font-size:52px}.story-memory-placeholder{min-height:230px}.story-photo-lightbox{padding:12px}.story-photo-lightbox-dialog{padding:6px}.story-photo-lightbox-dialog p{font-size:14px}
}
@media(prefers-reduced-motion:reduce){.story-memory-photo,.story-memory-photo img,.story-memory-marker,.story-photo-lightbox{transition:none!important}}

/* ===== V18.7.5 · Nossa História: experiência mobile própria ===== */
@media(max-width:700px){
  /* A abertura passa a funcionar como uma ponte compacta até a história. */
  .story-flow-intro{
    width:100%;
    padding:48px 20px 58px;
  }
  .story-flow-intro::after{height:38px}
  .story-flow-intro h2{
    max-width:520px;
    margin:8px auto 17px;
    font-size:clamp(34px,9vw,43px);
    line-height:1.02;
  }
  .story-flow-intro-text{
    width:min(570px,100%);
    font-size:13.5px;
    line-height:1.78;
  }
  .story-flow-intro-text p{margin-bottom:13px}
  .story-flow-intro blockquote{
    width:100%;
    margin-top:24px;
    padding:17px 22px 16px 34px;
    background:linear-gradient(90deg,rgba(249,241,230,.72),rgba(255,253,249,.32));
  }
  .story-flow-intro blockquote p{font-size:18px}
  .story-flow-route{
    width:min(430px,100%);
    display:grid;
    grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr) 12px minmax(0,1fr);
    gap:5px;
    margin-top:27px;
    padding:11px 10px;
    border-top:1px solid rgba(196,161,105,.25);
    border-bottom:1px solid rgba(196,161,105,.25);
    background:rgba(255,253,249,.5);
    font-size:6.5px;
    line-height:1.25;
    letter-spacing:.1em;
  }

  /* No celular a timeline vira um álbum vertical, sem sacrificar largura para uma linha lateral. */
  .story-memory-timeline{
    padding:52px 14px 36px;
  }
  .story-memory-heading{
    width:100%;
    margin-bottom:38px;
    padding:0 8px;
  }
  .story-memory-heading h2{
    margin-top:7px;
    font-size:clamp(36px,9.5vw,44px);
    line-height:1.02;
  }
  .story-memory-heading>p{
    max-width:520px;
    font-size:16px;
    line-height:1.48;
  }
  .story-memory-heading::after{
    content:"";
    display:block;
    width:132px;
    height:2px;
    margin:20px auto 0;
    background:linear-gradient(
      90deg,
      #71856f 0 calc(var(--story-narrative-progress) * 100%),
      #e3d7c6 calc(var(--story-narrative-progress) * 100%) 100%
    );
    border-radius:999px;
  }
  .story-memory-track{
    gap:48px;
    padding-left:0;
  }
  .story-memory-rail{display:none}
  .story-memory-row,
  .story-memory-row.is-reverse{
    position:relative;
    display:block;
    width:100%;
    min-height:0;
  }
  .story-memory-row:not(:last-child)::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-36px;
    width:1px;
    height:25px;
    background:linear-gradient(#d2bd9b,#e8dfd1);
  }

  /* O número vira um selo sobre a foto, intuitivo e fácil de acompanhar. */
  .story-memory-marker,
  .story-memory-row.is-reverse .story-memory-marker{
    left:14px;
    top:14px;
    z-index:6;
    width:46px;
    height:30px;
    border:1px solid rgba(255,255,255,.72);
    border-radius:999px;
    background:rgba(72,96,73,.9);
    box-shadow:0 5px 14px rgba(45,57,43,.13);
    transform:none;
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
  }
  .story-memory-marker b{color:#fffaf0;font-size:7px;letter-spacing:.12em}
  .story-memory-row.is-active .story-memory-marker{
    background:#b28e57;
    transform:none;
  }

  .story-memory-visual,
  .story-memory-row.is-reverse .story-memory-visual{
    width:100%;
    padding:0;
  }
  .story-memory-photo,
  .story-memory-row.is-reverse .story-memory-photo{
    width:100%;
    padding:7px;
    border:1px solid rgba(215,202,182,.78);
    background:#fffdf9;
    box-shadow:0 13px 30px rgba(66,52,35,.11);
    transform:none;
  }
  .story-memory-row.is-active .story-memory-photo{transform:none;box-shadow:0 16px 34px rgba(66,52,35,.14)}
  .story-memory-photo img{
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
  }
  .story-memory-photo-frame{inset:11px}
  .story-memory-photo-hint{
    right:13px;
    bottom:13px;
    padding:7px 9px;
    opacity:1;
    transform:none;
    background:rgba(250,247,240,.92);
    box-shadow:0 3px 10px rgba(59,50,37,.06);
    font-size:6px;
  }
  .story-memory-placeholder{
    min-height:280px;
    box-shadow:0 13px 30px rgba(66,52,35,.07);
  }

  /* O texto "abraça" a fotografia em vez de parecer outro bloco desconectado. */
  .story-memory-copy,
  .story-memory-row.is-reverse .story-memory-copy{
    position:relative;
    z-index:4;
    width:calc(100% - 24px);
    margin:-22px 12px 0;
    padding:26px 21px 23px;
    border:1px solid rgba(219,205,184,.84);
    background:rgba(255,253,249,.96);
    box-shadow:0 12px 26px rgba(66,52,35,.075);
    text-align:left;
  }
  .story-memory-copy::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:58px;
    height:2px;
    background:linear-gradient(90deg,#b8955f,#748872);
  }
  .story-memory-copy > *:not(.story-memory-number){position:relative;z-index:2}
  .story-memory-number,
  .story-memory-row.is-reverse .story-memory-number{
    right:12px;
    left:auto;
    top:6px;
    z-index:0;
    font-size:50px;
    color:rgba(184,150,96,.13);
  }
  .story-memory-meta{
    margin-bottom:8px;
    font-size:7px;
    letter-spacing:.14em;
  }
  .story-memory-copy h3{
    margin-bottom:16px;
    padding-right:38px;
    font-size:31px;
    line-height:1.03;
  }
  .story-memory-copy h3::after{
    width:40px;
    margin-top:12px;
  }
  .story-memory-text{
    font-size:13.5px;
    line-height:1.76;
  }
  .story-memory-text p{margin-bottom:13px}
  .story-memory-copy blockquote,
  .story-memory-row.is-reverse .story-memory-copy blockquote{
    margin-top:19px;
    padding:14px 14px 13px 30px;
    background:linear-gradient(90deg,rgba(249,241,230,.75),transparent);
  }
  .story-memory-row.is-reverse .story-memory-copy blockquote>span{left:8px;right:auto}
  .story-memory-copy blockquote p{
    font-size:18px;
    line-height:1.38;
  }
  .story-memory-signoff{
    width:100%;
    margin-top:52px;
    padding:0 18px;
  }
  .story-memory-signoff p{font-size:19px;line-height:1.55;text-align:center}
  .story-signoff-line{display:block}
  .story-signoff-line + .story-signoff-line{margin-top:2px}

  /* Lightbox mais confortável nas telas com notch/home indicator. */
  .story-photo-lightbox{
    padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));
  }
  .story-photo-lightbox-dialog{
    width:100%;
    max-width:620px;
    padding:6px;
  }
}

@media(max-width:430px){
  .story-experience-hero{min-height:278px}
  .story-experience-hero-copy{padding:40px 16px 36px}
  .story-experience-hero h1{font-size:49px}
  .story-experience-hero p{font-size:15px}
  .story-flow-intro{padding:40px 16px 52px}
  .story-flow-intro h2{font-size:35px}
  .story-flow-intro-text{font-size:13px;line-height:1.75}
  .story-flow-route{font-size:6px;padding-left:7px;padding-right:7px}
  .story-memory-timeline{padding:45px 10px 32px}
  .story-memory-heading{margin-bottom:34px;padding:0 7px}
  .story-memory-heading h2{font-size:36px}
  .story-memory-heading>p{font-size:15px}
  .story-memory-track{gap:44px}
  .story-memory-marker,.story-memory-row.is-reverse .story-memory-marker{left:11px;top:11px;width:43px;height:28px}
  .story-memory-photo,.story-memory-row.is-reverse .story-memory-photo{padding:6px}
  .story-memory-photo-frame{inset:10px}
  .story-memory-copy,.story-memory-row.is-reverse .story-memory-copy{
    width:calc(100% - 16px);
    margin:-18px 8px 0;
    padding:24px 18px 21px;
  }
  .story-memory-number,.story-memory-row.is-reverse .story-memory-number{font-size:45px;right:9px}
  .story-memory-copy h3{font-size:29px;padding-right:34px}
  .story-memory-text{font-size:13px;line-height:1.74}
  .story-memory-copy blockquote p{font-size:17px}
  .story-memory-placeholder{min-height:230px}
}

@media(prefers-reduced-motion:reduce){
  .story-memory-heading::after{transition:none!important}
}

/* ===== V18.7.7: Home editorial redesenhada ===== */
.home-v20{background:#f8f5ef;overflow:clip}
.home-v20 .home-v20-kicker{display:block;color:#a47d49;font:600 8px/1.35 Montserrat,Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase}
.home-v20-ornament{display:flex;align-items:center;justify-content:center;gap:9px;width:122px;margin:14px auto 16px;color:#b69159}.home-v20-ornament i{display:block;flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(178,142,87,.68))}.home-v20-ornament i:last-child{background:linear-gradient(90deg,rgba(178,142,87,.68),transparent)}.home-v20-ornament span{font-size:10px}.home-v20-ornament-left{margin-left:0;justify-content:flex-start}
.home-v20-botanical{position:absolute;pointer-events:none;user-select:none;z-index:0}
.home-v20-link{display:inline-flex;align-items:center;gap:10px;color:#9b7443;text-decoration:none;font:600 8.5px/1.3 Montserrat,Arial,sans-serif;letter-spacing:.11em;border-bottom:1px solid rgba(155,116,67,.42);padding-bottom:5px;transition:color .25s ease,border-color .25s ease,gap .25s ease}.home-v20-link:hover{color:#35513b;border-color:#35513b;gap:14px}
.home-v20-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:12px 22px;border:1px solid #476249;background:#476249;color:#fff;text-decoration:none;font:600 8px/1 Montserrat,Arial,sans-serif;letter-spacing:.12em;transition:transform .25s ease,background .25s ease}.home-v20-button:hover{transform:translateY(-2px);background:#39513c}

.home-v20-welcome{position:relative;isolation:isolate;text-align:center;padding:58px 190px 48px;border-bottom:1px solid rgba(209,196,173,.35);background:linear-gradient(180deg,#faf7f1 0%,#f8f5ef 100%)}
.home-v20-welcome-copy{position:relative;z-index:2;max-width:620px;margin:0 auto}.home-v20-welcome-copy h2{margin:8px 0 0;color:#39553f;font:500 30px/1.12 "Cormorant Garamond",Georgia,serif;letter-spacing:.025em}.home-v20-welcome-title span{display:inline}.home-v20-welcome-copy p{margin:0 auto;max-width:570px;color:#555048;font:400 11.5px/1.85 "Libre Baskerville",Georgia,serif}.home-v20-welcome-copy strong{display:block;margin-top:15px;color:#9f7c4a;font:italic 18px/1.35 "Cormorant Garamond",Georgia,serif;font-weight:400}
.home-v20-botanical-welcome-left{left:-25px;bottom:-15px;width:230px;opacity:.62}.home-v20-botanical-welcome-right{right:-20px;top:4px;width:225px;opacity:.58}
.home-v20-countdown{position:relative;z-index:2;width:min(610px,100%);margin:35px auto 0;padding:18px 24px 16px;border-top:1px solid rgba(185,150,96,.42);border-bottom:1px solid rgba(185,150,96,.42)}.home-v20-countdown>span{color:#a27e4d;font:600 7px/1 Montserrat,Arial,sans-serif;letter-spacing:.2em}.home-v20-countdown-grid{display:flex;align-items:center;justify-content:center;gap:14px;margin:11px 0 8px}.home-v20-countdown-grid>div{min-width:70px}.home-v20-countdown-grid strong{display:block;color:#38543f;font:500 30px/.9 "Cormorant Garamond",Georgia,serif}.home-v20-countdown-grid small{display:block;margin-top:5px;color:#8c8274;font:500 7px/1 Montserrat,Arial,sans-serif;text-transform:lowercase}.home-v20-countdown-grid>i{color:#b7925b;font-style:normal;font-size:10px}.home-v20-countdown p{margin:0;color:#7d7469;font:italic 11px/1.4 "Cormorant Garamond",Georgia,serif}.home-v20-notices{margin-top:25px;margin-bottom:25px}

.home-v20-story{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.13fr) minmax(300px,.87fr);gap:70px;align-items:center;padding:74px 76px 80px;background:#fffdf9;border-top:1px solid rgba(227,217,199,.5);border-bottom:1px solid rgba(227,217,199,.5)}
.home-v20-story-flower{left:-12px;bottom:-20px;width:104px;opacity:.7}.home-v20-story-visual{position:relative;min-height:370px}.home-v20-story-main{position:absolute;inset:0 62px 30px 0;margin:0}.home-v20-story-main img{width:100%;height:100%;object-fit:cover;box-shadow:0 14px 38px rgba(67,53,35,.13)}.home-v20-story-main:after{content:"";position:absolute;inset:10px;border:1px solid rgba(255,255,255,.65);pointer-events:none}.home-v20-story-small{position:absolute;right:0;bottom:0;width:165px;height:190px;margin:0;padding:6px;background:#fff;box-shadow:0 12px 30px rgba(65,51,35,.15);transform:rotate(2.5deg)}.home-v20-story-small img{width:100%;height:100%;object-fit:cover}.home-v20-story-stamp{position:absolute;left:-18px;top:-22px;width:78px;height:78px;border:1px solid rgba(183,145,87,.5);border-radius:50%;background:rgba(250,247,241,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9b7545;box-shadow:0 8px 20px rgba(65,51,35,.07)}.home-v20-story-stamp span,.home-v20-story-stamp small{font:600 7px/1 Montserrat,Arial,sans-serif;letter-spacing:.08em}.home-v20-story-stamp b{font-size:8px;margin:4px 0;color:#b7925b}
.home-v20-story-copy{position:relative;z-index:2}.home-v20-story-copy h2{margin:7px 0 0;color:#354f3a;font:500 40px/.98 "Cormorant Garamond",Georgia,serif}.home-v20-story-hook{color:#9c7545!important;font:italic 20px/1.35 "Cormorant Garamond",Georgia,serif!important;margin:0 0 16px!important}.home-v20-story-copy>p:not(.home-v20-story-hook){color:#555048;font:400 10.5px/1.85 "Libre Baskerville",Georgia,serif;margin:0 0 23px}

.home-v20-day{position:relative;isolation:isolate;padding:78px 64px 70px;background:#f5f0e7}.home-v20-day-leaves{right:-34px;top:12px;width:170px;opacity:.33}.home-v20-section-head{position:relative;z-index:2;text-align:center;max-width:590px;margin:0 auto 39px}.home-v20-section-head h2{margin:8px 0 11px;color:#38543f;font:500 34px/1.06 "Cormorant Garamond",Georgia,serif}.home-v20-section-head>p{margin:0 auto;max-width:500px;color:#675f55;font:400 10.5px/1.72 "Libre Baskerville",Georgia,serif}.home-v20-rings{position:relative;width:72px;height:30px;margin:12px auto 11px}.home-v20-rings i{position:absolute;top:3px;width:26px;height:26px;border:1px solid #b59058;border-radius:50%}.home-v20-rings i:first-child{left:15px}.home-v20-rings i:nth-child(2){right:15px}.home-v20-rings span{position:absolute;left:50%;top:50%;transform:translate(-50%,-45%);color:#9b7545;font-size:7px;background:#f5f0e7;padding:2px}
.home-v20-day-layout{position:relative;z-index:2;display:grid;grid-template-columns:43% 1fr;gap:42px;align-items:stretch;max-width:900px;margin:0 auto}.home-v20-day-photo{position:relative;margin:0;min-height:470px;overflow:hidden;box-shadow:0 14px 35px rgba(62,50,33,.12)}.home-v20-day-photo img{width:100%;height:100%;object-fit:cover}.home-v20-day-photo:after{content:"";position:absolute;inset:11px;border:1px solid rgba(255,255,255,.55);pointer-events:none}.home-v20-day-photo figcaption{position:absolute;left:22px;right:22px;bottom:19px;z-index:2;padding:12px 14px;background:rgba(248,245,239,.91);text-align:center}.home-v20-day-photo figcaption span{display:block;color:#3d5741;font:500 15px/1.15 "Cormorant Garamond",Georgia,serif}.home-v20-day-photo figcaption small{display:block;margin-top:3px;color:#8c795d;font:600 6.5px/1 Montserrat,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.home-v20-date-card{position:absolute;left:39.5%;top:42px;z-index:4;width:105px;height:132px;background:#fffdf9;border:1px solid rgba(193,164,116,.5);box-shadow:0 10px 28px rgba(62,50,33,.12);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#3c5741}.home-v20-date-card>span{font:500 42px/.8 "Cormorant Garamond",Georgia,serif}.home-v20-date-card i{width:28px;height:1px;background:#ba945b;margin:10px 0 7px}.home-v20-date-card strong{font:600 7px/1 Montserrat,Arial,sans-serif;letter-spacing:.12em}.home-v20-date-card small{margin-top:5px;color:#9b7545;font:500 8px/1 Montserrat,Arial,sans-serif;letter-spacing:.14em}
.home-v20-day-links{padding:8px 0}.home-v20-day-links article{display:grid;grid-template-columns:42px 1fr 28px;gap:14px;align-items:center;padding:20px 0;border-bottom:1px solid rgba(190,171,141,.46)}.home-v20-day-links article:first-child{padding-top:2px}.home-v20-day-links article>span{align-self:start;color:#b28b52;font:500 22px/1 "Cormorant Garamond",Georgia,serif;opacity:.68}.home-v20-day-links small{display:block;color:#a17c4b;font:600 6.5px/1.25 Montserrat,Arial,sans-serif;letter-spacing:.12em}.home-v20-day-links h3{margin:5px 0 5px;color:#3b5540;font:500 19px/1.08 "Cormorant Garamond",Georgia,serif}.home-v20-day-links p{margin:0;color:#625a50;font:400 9px/1.65 "Libre Baskerville",Georgia,serif;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.home-v20-day-links article>a{color:#9b7545;text-decoration:none;font-size:19px;transition:transform .2s ease}.home-v20-day-links article:hover>a{transform:translateX(4px)}
.home-v20-day-actions{position:relative;z-index:2;display:flex;justify-content:center;align-items:center;gap:15px;margin-top:35px}.home-v20-day-actions a{color:#8b6a40;text-decoration:none;font:600 7.5px/1 Montserrat,Arial,sans-serif;letter-spacing:.11em}.home-v20-day-actions span{color:#b7915a;font-size:8px}

.home-v20-dress{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr .72fr;align-items:center;min-height:330px;padding:58px 86px 55px;background:#fffdf9;overflow:hidden}.home-v20-dress-branch{left:-62px;bottom:-44px;width:245px;opacity:.35;transform:rotate(-7deg)}.home-v20-dress-copy{position:relative;z-index:2;max-width:500px}.home-v20-dress-copy h2{margin:7px 0 0;color:#38543f;font:500 37px/1 "Cormorant Garamond",Georgia,serif}.home-v20-dress-copy>p{max-width:430px;margin:0 0 19px;color:#5d564e;font:400 10.5px/1.75 "Libre Baskerville",Georgia,serif}.home-v20-palette{display:flex;align-items:center;gap:8px;margin:0 0 24px}.home-v20-palette>span{width:26px;height:26px;border-radius:50%;padding:3px;background:#fff;border:1px solid rgba(143,126,101,.22);box-shadow:0 2px 7px rgba(70,55,35,.06)}.home-v20-palette>span i{display:block;width:100%;height:100%;border-radius:50%;background:var(--tone)}
.home-v20-dress-art{position:relative;z-index:1;height:220px;display:grid;place-items:center}.home-v20-dress-script{position:absolute;color:rgba(181,145,88,.13);font:400 90px/1 "Pinyon Script",cursive;transform:rotate(-8deg)}.home-v20-dress-frame{position:relative;width:175px;height:175px;border:1px solid rgba(181,145,88,.45);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(248,245,239,.64);box-shadow:0 12px 38px rgba(78,61,37,.06)}.home-v20-dress-frame:before,.home-v20-dress-frame:after{content:"";position:absolute;width:120px;height:120px;border:1px solid rgba(72,96,73,.14);border-radius:50%}.home-v20-dress-frame:before{transform:translate(-52px,34px)}.home-v20-dress-frame:after{transform:translate(52px,-34px)}.home-v20-dress-frame i{color:#b48d53;font-style:normal;font-size:9px}.home-v20-dress-frame b{margin:7px 0;color:#50664f;font:500 37px/1 "Cormorant Garamond",Georgia,serif}.home-v20-dress-frame small{color:#9a7546;font:600 6.5px/1 Montserrat,Arial,sans-serif;letter-spacing:.13em}

.home-v20-gifts{position:relative;isolation:isolate;text-align:center;padding:68px 66px 72px;background:#f6f1e8;border-top:1px solid rgba(216,202,179,.48)}.home-v20-gifts-flower{left:-8px;top:19px;width:100px;opacity:.55}.home-v20-gifts-right{right:-6px;bottom:-8px;width:105px;opacity:.5}.home-v20-gifts .home-v20-section-head{margin-bottom:30px}.home-v20-gifts .home-v20-section-head h2{font-size:37px}.home-v20-gift-preview{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:15px;max-width:850px;margin:0 auto 28px}.home-v20-gift-item{position:relative;height:190px;overflow:hidden;text-decoration:none;background:#ddd}.home-v20-gift-item:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(26,39,29,.68) 100%);transition:background .25s ease}.home-v20-gift-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.home-v20-gift-item:hover img{transform:scale(1.04)}.home-v20-gift-item>span{position:absolute;z-index:2;left:18px;right:18px;bottom:16px;text-align:left;color:#fff}.home-v20-gift-item small{display:block;margin-bottom:5px;font:600 6px/1 Montserrat,Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;opacity:.82}.home-v20-gift-item strong{display:block;font:500 16px/1.16 "Cormorant Garamond",Georgia,serif;font-weight:500}.home-v20-gifts>.home-v20-button{position:relative;z-index:2}

.home-v20-rsvp{position:relative;isolation:isolate;min-height:430px;display:grid;place-items:center;overflow:hidden}.home-v20-rsvp-image,.home-v20-rsvp-shade{position:absolute;inset:0}.home-v20-rsvp-image img{width:100%;height:100%;object-fit:cover}.home-v20-rsvp-shade{background:linear-gradient(90deg,rgba(40,58,43,.72),rgba(40,58,43,.54)),linear-gradient(180deg,rgba(20,34,25,.1),rgba(20,34,25,.3));z-index:1}.home-v20-rsvp-leaf{z-index:2;left:6%;top:3%;width:125px;opacity:.6;filter:brightness(1.25)}.home-v20-rsvp-copy{position:relative;z-index:3;width:min(580px,calc(100% - 70px));padding:42px 45px;text-align:center;background:rgba(248,245,239,.9);box-shadow:0 18px 55px rgba(20,31,22,.18);backdrop-filter:blur(4px)}.home-v20-rsvp-copy h2{margin:8px 0 0;color:#36513b;font:500 36px/1.02 "Cormorant Garamond",Georgia,serif}.home-v20-rsvp-copy>p{margin:0;color:#555048;font:400 11px/1.75 "Libre Baskerville",Georgia,serif}.home-v20-rsvp-copy>strong{display:block;margin:11px 0 23px;color:#9b7545;font:italic 16px/1.4 "Cormorant Garamond",Georgia,serif;font-weight:400}.home-v20-rsvp-copy>small{display:block;margin-top:17px;color:#71695e;font:500 7.5px/1.4 Montserrat,Arial,sans-serif;letter-spacing:.04em}.home-v20-rsvp-copy>small a{color:#8f6d42}.home-v20-button-light{background:#476249;border-color:#476249;color:#fff}.home-v20-footer{background:#f8f5ef!important}

@media(max-width:899px){
  .home-v20{overflow:hidden}
  .home-v20-welcome{padding:48px 22px 42px}.home-v20-botanical-welcome-left{left:-75px;bottom:-30px;width:205px;opacity:.38}.home-v20-botanical-welcome-right{right:-75px;top:5px;width:200px;opacity:.35}.home-v20-welcome-copy{max-width:560px}.home-v20-welcome-copy h2{font-size:29px}.home-v20-welcome-copy p{font-size:12px;line-height:1.8}.home-v20-countdown{margin-top:30px;padding-left:10px;padding-right:10px}.home-v20-countdown-grid{gap:9px}.home-v20-countdown-grid>div{min-width:64px}.home-v20-countdown-grid strong{font-size:28px}
  .home-v20-story{grid-template-columns:1fr;gap:34px;padding:58px 28px 62px}.home-v20-story-visual{min-height:420px;width:min(100%,520px);margin:0 auto}.home-v20-story-main{inset:0 42px 43px 0}.home-v20-story-small{width:145px;height:165px}.home-v20-story-copy{text-align:center}.home-v20-story-copy h2{font-size:40px}.home-v20-story-copy .home-v20-ornament-left{margin-left:auto}.home-v20-story-hook{font-size:21px!important}.home-v20-story-copy>p:not(.home-v20-story-hook){font-size:11.5px;line-height:1.85}.home-v20-story-flower{width:86px;opacity:.48}
  .home-v20-day{padding:62px 26px 58px}.home-v20-section-head h2{font-size:35px}.home-v20-section-head>p{font-size:11px;line-height:1.75}.home-v20-day-layout{grid-template-columns:1fr;gap:28px;max-width:620px}.home-v20-day-photo{min-height:430px}.home-v20-date-card{left:auto;right:18px;top:24px;width:96px;height:120px}.home-v20-day-links{padding:0 5px}.home-v20-day-links article:first-child{padding-top:12px}.home-v20-day-links article{grid-template-columns:35px 1fr 25px;padding:19px 0;gap:11px}.home-v20-day-links h3{font-size:21px}.home-v20-day-links p{font-size:9.7px;line-height:1.7}.home-v20-day-actions{flex-wrap:wrap;gap:10px 12px}
  .home-v20-dress{grid-template-columns:1fr;padding:58px 28px 55px;text-align:center}.home-v20-dress-copy{margin:0 auto}.home-v20-dress-copy h2{font-size:39px}.home-v20-dress-copy>p{font-size:11.5px}.home-v20-dress-copy .home-v20-ornament-left{margin-left:auto}.home-v20-palette{justify-content:center;flex-wrap:wrap;max-width:360px;margin-left:auto;margin-right:auto}.home-v20-dress-art{margin-top:26px;height:205px}.home-v20-dress-script{font-size:82px}.home-v20-dress-branch{left:-90px;bottom:-60px;opacity:.22}
  .home-v20-gifts{padding:60px 22px 62px}.home-v20-gift-preview{grid-template-columns:repeat(3,1fr);gap:9px}.home-v20-gift-item{height:170px}.home-v20-gift-item>span{left:11px;right:11px;bottom:11px}.home-v20-gift-item strong{font-size:14px}
  .home-v20-rsvp{min-height:490px}.home-v20-rsvp-copy{width:calc(100% - 38px);padding:37px 24px}.home-v20-rsvp-copy h2{font-size:34px}.home-v20-rsvp-copy>p{font-size:11.5px}.home-v20-rsvp-leaf{left:-15px;top:0;opacity:.45}
}

@media(max-width:620px){
  .home-v20 .home-v20-kicker{font-size:7.5px;letter-spacing:.16em}
  .home-v20-welcome{padding:42px 19px 38px}.home-v20-welcome-copy h2{font-size:27px}.home-v20-welcome-title{max-width:310px;margin-left:auto!important;margin-right:auto!important;text-align:center;line-height:1.12!important;letter-spacing:.02em!important}.home-v20-welcome-title span{display:block}.home-v20-welcome-title span+span{margin-top:2px}.home-v20-countdown-grid{gap:6px}.home-v20-countdown-grid>div{min-width:56px}.home-v20-countdown-grid strong{font-size:26px}
  .home-v20-story{padding:50px 18px 56px;gap:31px}.home-v20-story-visual{min-height:350px}.home-v20-story-main{inset:0 30px 42px 0}.home-v20-story-small{width:122px;height:144px;padding:5px}.home-v20-story-stamp{left:-7px;top:-16px;width:67px;height:67px}.home-v20-story-copy h2{font-size:37px}.home-v20-story-copy>p:not(.home-v20-story-hook){font-size:11.2px}.home-v20-story-hook{font-size:20px!important}
  .home-v20-day{padding:54px 16px 52px}.home-v20-section-head{margin-bottom:29px}.home-v20-section-head h2{font-size:31px}.home-v20-day-photo{min-height:380px}.home-v20-date-card{right:13px;top:18px;width:87px;height:108px}.home-v20-date-card>span{font-size:37px}.home-v20-day-photo figcaption{left:15px;right:15px;bottom:14px}.home-v20-day-links{padding:0 7px}.home-v20-day-links article{grid-template-columns:31px 1fr 20px;gap:9px}.home-v20-day-links article>span{font-size:20px}.home-v20-day-links h3{font-size:20px}.home-v20-day-links p{-webkit-line-clamp:4;font-size:9.5px}.home-v20-day-actions a{font-size:7px}
  .home-v20-dress{padding:52px 18px}.home-v20-dress-copy h2{font-size:37px}.home-v20-palette{gap:6px}.home-v20-palette>span{width:25px;height:25px}.home-v20-dress-art{height:190px}.home-v20-dress-frame{width:155px;height:155px}.home-v20-dress-frame b{font-size:33px}.home-v20-dress-script{font-size:70px}
  .home-v20-gifts{padding:53px 14px 57px}.home-v20-gifts .home-v20-section-head h2{font-size:35px}.home-v20-gift-preview{grid-template-columns:1fr;gap:11px;max-width:430px}.home-v20-gift-item{height:205px}.home-v20-gift-item>span{left:17px;bottom:15px}.home-v20-gift-item strong{font-size:17px}.home-v20-gifts-flower{width:82px;opacity:.35}.home-v20-gifts-right{width:90px;opacity:.32}
  .home-v20-rsvp{min-height:520px}.home-v20-rsvp-copy{width:calc(100% - 28px);padding:34px 18px}.home-v20-rsvp-copy h2{font-size:31px}.home-v20-rsvp-copy>strong{font-size:15px}.home-v20-button{width:100%;max-width:310px}.home-v20-footer{padding-left:9px;padding-right:9px}
}

@media(prefers-reduced-motion:reduce){.home-v20-gift-item img,.home-v20-link,.home-v20-button,.home-v20-day-links article>a{transition:none!important}}

/* ===== V18.7.8: Revisao visual completa da index =====
   Remove recortes decorativos herdados da v3 e usa apenas botânicos limpos/transparente. */
.home-v20-story-flower{
  left:-46px;
  bottom:-54px;
  width:190px;
  opacity:.24;
  transform:rotate(13deg);
}
.home-v20-day-leaves{
  right:-72px;
  top:35px;
  width:220px;
  opacity:.16;
  transform:scaleX(-1) rotate(18deg);
}
.home-v20-gifts-flower{
  left:-62px;
  top:10px;
  width:188px;
  opacity:.20;
  transform:rotate(11deg);
}
.home-v20-gifts-right{
  right:-62px;
  bottom:-54px;
  width:205px;
  opacity:.17;
  transform:rotate(-8deg);
}
.home-v20-rsvp-leaf{
  left:auto;
  right:-46px;
  top:auto;
  bottom:-44px;
  width:190px;
  opacity:.26;
  transform:scaleX(-1) rotate(12deg);
  filter:brightness(1.22) saturate(.72);
}

/* Pequenos acabamentos para impedir que a decoracao concorra com o conteudo. */
.home-v20-story,
.home-v20-day,
.home-v20-dress,
.home-v20-gifts,
.home-v20-rsvp{overflow:hidden}
.home-v20-story-copy,
.home-v20-day-layout,
.home-v20-day-actions,
.home-v20-dress-copy,
.home-v20-gifts .home-v20-section-head,
.home-v20-gift-preview,
.home-v20-gifts>.home-v20-button,
.home-v20-rsvp-copy{position:relative;z-index:2}

/* O bloco do grande dia nao repete mais o nome do local no texto; o local fica na foto/legenda. */
.home-v20-day-links article:first-child p{max-width:100%}

@media(max-width:899px){
  .home-v20-story-flower{left:-80px;bottom:-54px;width:170px;opacity:.14}
  .home-v20-day-leaves{right:-95px;top:58px;width:180px;opacity:.10}
  .home-v20-gifts-flower{left:-88px;top:12px;width:165px;opacity:.12}
  .home-v20-gifts-right{right:-86px;bottom:-48px;width:170px;opacity:.11}
  .home-v20-rsvp-leaf{right:-96px;bottom:-44px;width:175px;opacity:.16}
}
@media(max-width:620px){
  /* No celular, menos decoracao = mais leitura e nenhum recorte visual estranho. */
  .home-v20-story-flower,
  .home-v20-day-leaves,
  .home-v20-gifts-flower,
  .home-v20-gifts-right,
  .home-v20-rsvp-leaf{display:none}
}

