@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,ital,wght@6..96,400;6..96,500;6..96,600&family=Manrope:wght@300;400;500&display=swap');
:root{--obs:#070707;--ivory:#f3efe7;--gold:#c7a35b;--gold2:#e5cf9c;--brown:#33261c}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--obs);color:#fff;font-family:Manrope,Arial,sans-serif;overflow-x:hidden}.grain{position:fixed;inset:0;z-index:999;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.page-line{position:fixed;z-index:1200;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,#8f6d32,var(--gold2),#8f6d32);transform:scaleX(0);transform-origin:left}.royal-nav{position:fixed;z-index:1000;left:0;top:0;width:100%;height:86px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;transition:.45s}.royal-nav.solid{height:64px;background:rgba(7,7,7,.88);backdrop-filter:blur(18px);border-bottom:1px solid #ffffff10}.crest{color:#fff;text-decoration:none;font:23px "Bodoni Moda";letter-spacing:8px}.crest span{color:var(--gold)}.royal-nav nav{display:flex;gap:35px}.royal-nav nav a{color:#fff;text-decoration:none;font-size:9px;letter-spacing:3px;text-transform:uppercase}.nav-menu{display:none;background:none;border:0;color:#fff;font-size:9px;letter-spacing:3px}.hero{height:100vh;min-height:720px;display:grid;grid-template-columns:46% 54%;overflow:hidden}.hero-left{position:relative;background:radial-gradient(circle at 20% 25%,#2d2317 0,transparent 33%),#0a0908;display:flex;align-items:center;padding:8vw}.hero-right{position:relative;overflow:hidden}.hero-photo-wrap{position:absolute;inset:0;overflow:hidden}.hero-photo-wrap img{width:100%;height:112%;object-fit:cover;filter:saturate(.7) contrast(1.04);transform:scale(1.08)}.hero-photo-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0a0908 0,transparent 30%),linear-gradient(0deg,rgba(0,0,0,.48),transparent 50%)}.hero-shine{position:absolute;z-index:2;inset:-40%;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.14) 49%,transparent 57%);transform:translateX(-60%);animation:shine 6s ease-in-out infinite}@keyframes shine{50%,100%{transform:translateX(60%)}}.hero-copy{position:relative;z-index:4}.micro{font-size:8px;letter-spacing:5px;color:var(--gold2)}.hero-copy h1{font:clamp(72px,8.5vw,140px)/.78 "Bodoni Moda";font-weight:400;margin:24px 0 30px;letter-spacing:-5px;max-width:700px}.hero-copy p{font:italic 21px/1.4 "Bodoni Moda";max-width:450px;color:#d4c9b6}.gold-stroke{width:110px;height:1px;background:linear-gradient(90deg,var(--gold),transparent);margin:25px 0}.royal-btn{display:inline-flex;align-items:center;gap:35px;padding:16px 18px 16px 25px;border:1px solid var(--gold);color:#fff;text-decoration:none;font-size:9px;letter-spacing:2px;margin-top:30px;transition:.35s;background:transparent;cursor:pointer}.royal-btn i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#111;font-style:normal}.royal-btn:hover{background:var(--gold);color:#111;box-shadow:0 0 40px #c7a35b33}.royal-btn:hover i{background:#111;color:#fff}.hero-date{position:absolute;left:8vw;bottom:4vh;z-index:3}.hero-date span{display:block;font-size:7px;letter-spacing:4px;color:#888}.hero-date strong{font:18px "Bodoni Moda";font-weight:400;color:var(--gold2)}.floating-card{position:absolute;right:3vw;bottom:4vh;z-index:5;width:260px;padding:20px 22px;background:rgba(10,10,10,.46);border:1px solid #ffffff22;backdrop-filter:blur(14px)}.floating-card>span{font-size:7px;letter-spacing:3px;color:#ccc}.mini-count{display:flex;align-items:baseline;gap:8px;margin-top:12px}.mini-count b{font:37px "Bodoni Moda";color:var(--gold2)}.mini-count small{font-size:6px;letter-spacing:2px;color:#aaa}.ring{position:absolute;width:420px;height:420px;border:1px solid #c7a35b22;border-radius:50%;left:-170px;top:70px;animation:spin 28s linear infinite}.r2{width:280px;height:280px;left:-100px;top:140px;border-style:dashed;animation-direction:reverse}@keyframes spin{to{transform:rotate(360deg)}}.lux-marquee{height:68px;background:#0b0a09;border-top:1px solid #ffffff0d;border-bottom:1px solid #ffffff0d;overflow:hidden;display:flex;align-items:center}.lux-marquee div{white-space:nowrap;font:30px "Bodoni Moda";color:#ffffff11;animation:marq 26s linear infinite}@keyframes marq{to{transform:translateX(-50%)}}.story{background:var(--ivory);color:#17120d;display:grid;grid-template-columns:48% 52%;min-height:1800px}.story-sticky{height:100vh;position:sticky;top:0;padding:8vh 4vw 8vh 8vw}.story-photo-main{height:84vh;overflow:hidden;position:relative}.story-photo-main img{width:100%;height:100%;object-fit:cover;filter:saturate(.75)}.story-photo-main:after{content:"";position:absolute;inset:0;border:1px solid #fff6;margin:14px}.story-caption{font-size:7px;letter-spacing:4px;margin-top:15px;color:#7e7468}.story-text{padding:14vw 8vw 12vw 5vw}.section-no{display:block;font:85px "Bodoni Moda";color:#0000000e}.micro.dark{color:#84652f}.story-block h2{font:italic 72px/.9 "Bodoni Moda";font-weight:400;margin:25px 0 40px}.story-block p{font-size:14px;line-height:1.9;color:#5e564c}.story-quote{margin:160px 0}.story-quote>span{font:130px "Bodoni Moda";color:var(--gold);line-height:.4}.story-quote blockquote{font:italic 36px/1.35 "Bodoni Moda";margin:15px 0;color:#6d5630}.story-mini-gallery{display:grid;grid-template-columns:42% 58%;gap:40px;align-items:center}.gallery-card{height:430px;overflow:hidden}.gallery-card img{width:100%;height:100%;object-fit:cover}.gallery-copy small{font-size:8px;letter-spacing:4px;color:#8d6b31}.gallery-copy h3{font:47px/1.05 "Bodoni Moda";font-weight:400}.gallery-copy h3 i{color:#9f793a}.day{padding:11vw 7vw;background:#0b0a08}.day-head{text-align:center;margin-bottom:100px}.day-head h2{font:clamp(65px,8vw,120px)/.88 "Bodoni Moda";font-weight:400;margin:20px}.acts{max-width:1300px;margin:auto;display:grid;gap:120px}.act{display:grid;grid-template-columns:52% 48%;min-height:520px;position:relative}.act.second{grid-template-columns:48% 52%}.act.second .act-photo{order:2}.act-photo{overflow:hidden}.act-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s;filter:saturate(.72)}.act:hover .act-photo img{transform:scale(1.04)}.act-info{padding:80px;background:linear-gradient(145deg,#15120e,#0f0d0b);border:1px solid #ffffff0b;display:flex;flex-direction:column;justify-content:center}.act-info small{font-size:8px;letter-spacing:4px;color:var(--gold)}.act-info h3{font:italic 50px/.95 "Bodoni Moda";font-weight:400;margin:30px 0}.act-info p{font-size:13px;line-height:1.7;color:#aaa092}.act-info strong{font-size:8px;letter-spacing:3px;color:var(--gold2);margin-top:28px}.act-index{position:absolute;z-index:5;right:25px;top:5px;font:95px "Bodoni Moda";color:#ffffff08}.full-quote{height:90vh;position:relative;display:grid;place-items:center;overflow:hidden}.full-photo{position:absolute;inset:0}.full-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.6)}.full-overlay{position:absolute;inset:0;background:linear-gradient(0deg,#090806cc,#0002),radial-gradient(circle at center,transparent,#0009)}.full-copy{position:relative;text-align:center}.full-copy span{font-size:8px;letter-spacing:6px;color:var(--gold2)}.full-copy h2{font:clamp(62px,8vw,120px)/.88 "Bodoni Moda";font-weight:400;margin:25px}.full-copy h2 i{color:var(--gold2)}.gifts{background:var(--ivory);color:#18130d;padding:11vw 7vw}.gift-shell{max-width:1200px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:end}.gift-title h2{font:80px/.85 "Bodoni Moda";font-weight:400;margin:25px 0}.gift-copy p{font-size:15px;line-height:1.8;color:#5f574d}.gift-actions{display:flex;align-items:center;gap:30px;margin-top:35px}.dark-btn{color:#111}.text-btn{background:none;border:0;border-bottom:1px solid #9b7b44;color:#6e5328;padding:9px 0;font-size:8px;letter-spacing:3px;cursor:pointer}.rsvp{min-height:850px;display:grid;grid-template-columns:52% 48%}.rsvp-left{position:relative;overflow:hidden}.rsvp-bg{position:absolute;inset:0}.rsvp-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.65)}.rsvp-overlay{position:absolute;inset:0;background:linear-gradient(0deg,#000b,#0001 60%)}.rsvp-title{position:absolute;left:7vw;bottom:9vh;z-index:2}.rsvp-title h2{font:75px/.88 "Bodoni Moda";font-weight:400;margin:18px 0}.rsvp-title p{font:italic 20px "Bodoni Moda";color:#d6cdbd}.rsvp-right{background:#11100e;padding:9vw 7vw;display:flex;align-items:center}.rsvp-right form{width:100%;display:grid;gap:28px}.rsvp-right label{font-size:7px;letter-spacing:3px;color:#9d927f}.rsvp-right input,.rsvp-right select{display:block;width:100%;border:0;border-bottom:1px solid #ffffff1e;background:transparent;color:#fff;padding:14px 0;font:14px Manrope;outline:0}.rsvp-right select option{color:#111}.submit-btn{width:max-content}footer{min-height:60vh;background:#070707;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.footer-crest{color:var(--gold);font-size:24px}footer>span{font-size:8px;letter-spacing:5px;color:var(--gold2);margin-top:20px}footer h2{font:italic 80px "Bodoni Moda";font-weight:400;margin:25px}footer p{font:17px "Bodoni Moda";color:#aaa}footer a{color:var(--gold2);font-size:8px;letter-spacing:3px;text-decoration:none;border-bottom:1px solid;margin-top:25px;padding-bottom:6px}.admin-float{position:fixed;z-index:1100;right:18px;bottom:18px;width:44px;height:44px;display:grid;place-items:center;background:var(--gold2);color:#111;text-decoration:none;border-radius:50%}.reveal,.reveal-left,.reveal-right{opacity:0;transition:1s cubic-bezier(.16,.8,.2,1)}.reveal{transform:translateY(50px)}.reveal-left{transform:translateX(-65px)}.reveal-right{transform:translateX(65px)}.show{opacity:1;transform:none}

/* compatibilidade com painel e demais páginas */
.admin{background:#efefef;color:#222}.admin nav{background:#0b0a09;color:#fff;padding:18px 5%;display:flex;gap:25px}.admin nav b{margin-right:auto}.admin main{max-width:1200px;margin:auto;padding:35px 20px}.admin-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:20px}.panel{background:#fff;padding:25px;margin-bottom:20px}.panel form{display:grid;gap:12px}.panel input,.panel textarea{padding:12px}.pill{padding:14px;border:0;background:#111;color:#fff}.table{overflow:auto}.table table{width:100%;border-collapse:collapse}.table td,.table th{padding:9px;border-bottom:1px solid #ddd;text-align:left}.checkout{min-height:100vh;display:grid;place-items:center;padding:20px;background:#efefef;color:#222}.checkout-box{background:#fff;padding:40px;max-width:600px;width:100%;text-align:center}.checkout-box form{display:grid;gap:12px}.checkout-box input,.checkout-box textarea{padding:14px}.gift-page{background:#0c0b09;color:#eee}.gift-head{padding:60px 5%;display:flex;justify-content:space-between}.gift-grid{padding:20px 5% 80px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gift-card{background:#15120e;border:1px solid #c7a35b25}.gift-media{height:330px;display:grid;place-items:center;background:#211a13}.gift-media img{width:100%;height:100%;object-fit:cover}.gift-emoji{font-size:90px}.gift-info{padding:25px}.gift-buy{display:block;margin-top:20px;background:var(--gold);color:#111;padding:12px;text-align:center;text-decoration:none}

@media(max-width:900px){
.royal-nav nav{display:none;position:absolute;top:64px;left:0;right:0;background:#080706f2;padding:30px;flex-direction:column}.royal-nav nav.open{display:flex}.nav-menu{display:block}.hero{grid-template-columns:1fr}.hero-left{position:absolute;z-index:5;inset:0;background:linear-gradient(90deg,#090807ee,#09080766 65%,transparent);padding:8vw}.hero-right{grid-column:1}.story{grid-template-columns:1fr}.story-sticky{position:relative;height:auto;padding:70px 30px}.story-photo-main{height:70vh}.story-text{padding:100px 30px}.act,.act.second{grid-template-columns:1fr}.act.second .act-photo{order:0}.act-photo{height:420px}.gift-shell{grid-template-columns:1fr;gap:30px}.rsvp{grid-template-columns:1fr}.rsvp-left{height:650px}.rsvp-right{padding:80px 30px}.gift-grid{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}}
@media(max-width:560px){
.hero-copy h1{font-size:68px}.hero-copy{max-width:90vw}.floating-card{width:210px}.story-mini-gallery{grid-template-columns:1fr}.gallery-card{height:360px}.story-quote{margin:100px 0}.story-block h2{font-size:52px}.act-info{padding:45px 25px}.act-info h3{font-size:40px}.full-copy h2{font-size:58px}.gift-title h2{font-size:60px}.gift-actions{flex-direction:column;align-items:flex-start}.rsvp-title h2{font-size:58px}.gift-grid{grid-template-columns:1fr}}

.music-player{position:fixed;z-index:1090;left:22px;bottom:22px;display:flex;align-items:center;gap:12px;padding:9px 16px 9px 9px;background:rgba(8,7,6,.72);border:1px solid #c7a35b55;backdrop-filter:blur(18px);box-shadow:0 15px 45px #0006;transition:.35s}
.music-player:hover{border-color:#c7a35baa;transform:translateY(-2px)}
.music-player button{width:46px;height:46px;border-radius:50%;border:1px solid #c7a35b;background:#c7a35b;color:#111;display:grid;place-items:center;cursor:pointer;position:relative}
.music-icon{font:22px Georgia}.music-bars{display:none;height:18px;gap:2px;align-items:end}.music-bars i{display:block;width:2px;background:#111;animation:musicbar .7s ease-in-out infinite alternate}.music-bars i:nth-child(1){height:7px}.music-bars i:nth-child(2){height:15px;animation-delay:-.2s}.music-bars i:nth-child(3){height:10px;animation-delay:-.4s}.music-bars i:nth-child(4){height:17px;animation-delay:-.1s}.music-player.playing .music-icon{display:none}.music-player.playing .music-bars{display:flex}.music-meta{display:flex;flex-direction:column;max-width:180px}.music-meta small{font-size:6px;letter-spacing:2px;color:#a99a83}.music-meta b{font:italic 14px "Bodoni Moda";font-weight:400;color:#e5cf9c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes musicbar{to{height:4px;opacity:.55}}
@media(max-width:560px){.music-player{left:12px;bottom:12px;padding-right:10px}.music-meta{max-width:115px}.music-meta small{display:none}.music-meta b{font-size:12px}.admin-float{right:12px;bottom:12px}}

#ytPlayerHost{position:fixed;width:1px;height:1px;left:-10px;bottom:-10px;overflow:hidden;opacity:.01;pointer-events:none}
.yt-music{position:fixed;z-index:1090;left:22px;bottom:22px;display:flex;align-items:center;gap:12px;padding:9px 16px 9px 9px;background:rgba(8,7,6,.78);border:1px solid #c7a35b55;backdrop-filter:blur(18px);box-shadow:0 15px 45px #0007}
.yt-music button{width:46px;height:46px;border-radius:50%;border:1px solid #c7a35b;background:#c7a35b;color:#111;display:grid;place-items:center;cursor:pointer}.yt-note{font:22px Georgia}.yt-eq{display:none;height:18px;gap:2px;align-items:end}.yt-eq i{display:block;width:2px;background:#111;animation:yteq .65s ease-in-out infinite alternate}.yt-eq i:nth-child(1){height:7px}.yt-eq i:nth-child(2){height:16px;animation-delay:-.2s}.yt-eq i:nth-child(3){height:10px;animation-delay:-.4s}.yt-eq i:nth-child(4){height:14px;animation-delay:-.1s}.yt-music.playing .yt-note{display:none}.yt-music.playing .yt-eq{display:flex}.yt-meta{display:grid;max-width:180px}.yt-meta small{font-size:6px;letter-spacing:2px;color:#a99a83}.yt-meta b{font:italic 14px "Bodoni Moda";font-weight:400;color:#e5cf9c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.yt-meta span{font-size:6px;letter-spacing:2px;color:#888}@keyframes yteq{to{height:4px;opacity:.5}}
.music-welcome{position:fixed;z-index:5000;inset:0;background:radial-gradient(circle at 50% 35%,#352719,#080706 58%);display:grid;place-items:center;text-align:center;transition:opacity .7s,visibility .7s}.music-welcome.closed{opacity:0;visibility:hidden}.welcome-inner{width:min(520px,90vw);padding:55px 35px;border:1px solid #c7a35b55;background:#ffffff05;backdrop-filter:blur(18px);box-shadow:0 30px 100px #0008}.welcome-inner>span{color:#c7a35b;font-size:25px}.welcome-inner small{display:block;margin:20px 0;font-size:7px;letter-spacing:4px;color:#cdbb9c}.welcome-inner h3{font:italic 52px "Bodoni Moda";font-weight:400;margin:15px}.welcome-inner p{color:#aaa092;font-size:12px;line-height:1.7}.welcome-inner button{display:block;width:100%;margin-top:12px;padding:15px;border:1px solid #c7a35b;background:#c7a35b;color:#111;font-size:8px;letter-spacing:2px;cursor:pointer}.welcome-inner #enterSilent{background:transparent;color:#b9ab94;border-color:#ffffff18}
@media(max-width:560px){.yt-music{left:12px;bottom:12px}.yt-meta{max-width:115px}.welcome-inner h3{font-size:42px}}


/* ===== V11 MOBILE / RESPONSIVO ===== */
html,body{max-width:100%;overflow-x:hidden}
img{max-width:100%}

/* Tablet */
@media(max-width:1024px){
  .royal-nav{padding:0 24px}
  .hero{grid-template-columns:1fr;min-height:760px;height:auto}
  .hero-left{
    position:absolute;inset:0;z-index:5;
    background:linear-gradient(90deg,rgba(7,7,7,.94),rgba(7,7,7,.7) 56%,rgba(7,7,7,.25));
    padding:120px 50px 100px;
    align-items:center
  }
  .hero-right{height:760px}
  .hero-photo-wrap img{height:100%;transform:scale(1.04)}
  .hero-copy{max-width:620px}
  .hero-copy h1{font-size:clamp(70px,10vw,110px)}
  .floating-card{right:24px;bottom:24px}
  .hero-date{left:50px;bottom:30px}
  .story{grid-template-columns:1fr;min-height:auto}
  .story-sticky{position:relative;height:auto;padding:70px 50px 20px}
  .story-photo-main{height:70vh;min-height:520px}
  .story-text{padding:80px 50px 100px}
  .story-quote{margin:90px 0}
  .act,.act.second{grid-template-columns:1fr}
  .act.second .act-photo{order:0}
  .act-photo{height:460px}
  .act-info{padding:60px 50px}
  .gift-shell{grid-template-columns:1fr;gap:30px}
  .rsvp{grid-template-columns:1fr}
  .rsvp-left{height:650px}
  .rsvp-right{padding:80px 50px}
}

/* Celular */
@media(max-width:700px){
  body{font-size:16px}

  .royal-nav{
    height:62px!important;
    padding:0 16px;
    background:rgba(7,7,7,.82);
    backdrop-filter:blur(16px)
  }
  .crest{font-size:19px;letter-spacing:5px}
  .nav-menu{display:block}
  .royal-nav nav{
    display:none;
    position:absolute;
    top:62px;left:0;right:0;
    background:rgba(7,7,7,.98);
    border-top:1px solid #ffffff10;
    padding:22px 18px 28px;
    flex-direction:column;
    gap:0
  }
  .royal-nav nav.open{display:flex}
  .royal-nav nav a{
    display:block;
    padding:16px 4px;
    border-bottom:1px solid #ffffff0d;
    font-size:10px
  }

  .hero{
    min-height:760px;
    height:100svh;
    max-height:900px
  }
  .hero-left{
    padding:110px 22px 110px;
    background:linear-gradient(180deg,rgba(5,5,5,.52),rgba(5,5,5,.78) 58%,rgba(5,5,5,.96))
  }
  .hero-right{height:100%}
  .hero-photo-wrap{inset:0}
  .hero-photo-wrap img{
    width:100%;height:100%;
    object-position:center;
    transform:scale(1.02)!important
  }
  .hero-photo-wrap:after{
    background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.32) 45%,rgba(0,0,0,.86))
  }
  .hero-copy{width:100%;max-width:none;margin-top:110px}
  .micro{font-size:7px;letter-spacing:3px}
  .hero-copy h1{
    font-size:clamp(54px,17vw,82px);
    letter-spacing:-3px;
    line-height:.82;
    margin:20px 0 22px
  }
  .hero-copy p{
    font-size:18px;
    max-width:92%;
    line-height:1.35
  }
  .gold-stroke{margin:18px 0;width:75px}
  .royal-btn{
    width:100%;
    justify-content:space-between;
    margin-top:24px;
    padding:14px 14px 14px 18px
  }
  .hero-date{
    left:22px;
    bottom:24px;
    max-width:52%
  }
  .hero-date strong{font-size:15px}
  .floating-card{
    width:auto;
    min-width:155px;
    right:16px;
    bottom:18px;
    padding:13px 14px
  }
  .floating-card>span{font-size:6px}
  .mini-count{gap:5px}
  .mini-count b{font-size:29px}
  .ring{display:none}

  .lux-marquee{height:52px}
  .lux-marquee div{font-size:21px}

  .story-sticky{padding:50px 18px 15px}
  .story-photo-main{
    height:62vh;
    min-height:420px;
    max-height:620px
  }
  .story-caption{font-size:6px;letter-spacing:3px}
  .story-text{padding:65px 22px 80px}
  .section-no{font-size:62px}
  .story-block h2{
    font-size:48px;
    margin:18px 0 28px
  }
  .story-block p{
    font-size:14px;
    line-height:1.75
  }
  .story-quote{margin:75px 0}
  .story-quote>span{font-size:95px}
  .story-quote blockquote{
    font-size:28px;
    margin-top:10px
  }
  .story-mini-gallery{
    grid-template-columns:1fr;
    gap:24px
  }
  .gallery-card{height:420px}
  .gallery-copy h3{font-size:38px}

  .day{padding:85px 18px}
  .day-head{margin-bottom:55px}
  .day-head h2{
    font-size:54px;
    margin:15px 0
  }
  .acts{gap:55px}
  .act{min-height:auto}
  .act-photo{height:330px}
  .act-info{padding:40px 24px}
  .act-info h3{
    font-size:38px;
    margin:22px 0
  }
  .act-index{
    font-size:70px;
    right:14px
  }

  .full-quote{
    height:72vh;
    min-height:560px
  }
  .full-copy{
    padding:0 20px
  }
  .full-copy h2{
    font-size:50px;
    line-height:.9;
    margin:20px 0
  }

  .gifts{padding:80px 20px}
  .gift-shell{gap:35px}
  .gift-title h2{
    font-size:56px;
    margin:18px 0
  }
  .gift-copy p{font-size:14px}
  .gift-actions{
    flex-direction:column;
    align-items:stretch;
    gap:12px
  }
  .gift-actions .royal-btn{
    width:100%;
    margin-top:0
  }
  .text-btn{
    width:100%;
    padding:14px 0
  }

  .rsvp-left{
    height:60vh;
    min-height:500px
  }
  .rsvp-title{
    left:22px;
    right:22px;
    bottom:45px
  }
  .rsvp-title h2{
    font-size:50px;
    margin:15px 0
  }
  .rsvp-title p{font-size:18px}
  .rsvp-right{
    padding:65px 22px 80px
  }
  .rsvp-right form{gap:24px}
  .rsvp-right input,.rsvp-right select{
    font-size:16px;
    padding:15px 0
  }
  .submit-btn{width:100%}

  footer{
    min-height:520px;
    padding:70px 20px
  }
  footer h2{
    font-size:56px;
    line-height:.95;
    margin:22px 0
  }

  .yt-music{
    left:10px!important;
    bottom:10px!important;
    max-width:calc(100vw - 74px);
    padding:7px 10px 7px 7px!important
  }
  .yt-music button{
    width:42px!important;
    height:42px!important;
    flex:0 0 42px
  }
  .yt-meta{
    max-width:120px!important
  }
  .yt-meta b{
    font-size:11px!important
  }

  .music-welcome{
    padding:16px
  }
  .welcome-inner{
    width:100%!important;
    padding:38px 22px!important;
    max-height:92svh;
    overflow:auto
  }
  .welcome-inner h3{
    font-size:38px!important;
    line-height:1
  }
  .welcome-inner p{
    font-size:13px!important
  }
  .welcome-inner button{
    min-height:48px
  }

  .admin-float{
    width:42px;height:42px;
    right:10px;bottom:10px
  }

  /* Admin no celular */
  .admin nav{
    padding:14px 16px;
    flex-wrap:wrap;
    gap:12px
  }
  .admin nav b{width:100%;margin:0}
  .admin main{padding:20px 12px}
  .admin-grid{grid-template-columns:1fr}
  .panel{
    padding:16px;
    overflow:hidden
  }
  .image-admin-grid{grid-template-columns:1fr!important}
  .image-preview{height:210px!important}
  .gift-admin-list{grid-template-columns:1fr!important}
  .table{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .table table{min-width:650px}
  .panel input,.panel textarea,.panel select{
    width:100%;
    max-width:100%
  }

  /* Lista de presentes celular */
  .gift-head{
    padding:80px 18px 35px;
    display:block;
    text-align:center
  }
  .gift-head>a{
    display:block;
    text-align:left;
    margin-bottom:25px
  }
  .gift-grid{
    grid-template-columns:1fr!important;
    padding:10px 14px 80px;
    gap:18px
  }
  .gift-card{
    border-radius:18px;
    overflow:hidden
  }
  .gift-media{height:300px}
  .gift-info{padding:22px}
  .gift-buy{
    min-height:46px;
    display:flex;
    align-items:center;
    justify-content:center
  }

  /* Checkout/presente no celular */
  .checkout{padding:12px}
  .checkout-box{
    padding:28px 18px;
    width:100%;
    max-width:100%;
    border-radius:18px
  }
  .checkout-box h1{font-size:30px}
  .checkout-box input,.checkout-box textarea{
    width:100%;
    font-size:16px
  }
}

@media(max-width:380px){
  .hero-copy h1{font-size:52px}
  .floating-card{display:none}
  .hero-date{max-width:80%}
  .story-block h2,.gift-title h2,.rsvp-title h2{font-size:44px}
  .full-copy h2{font-size:44px}
  footer h2{font-size:48px}
}

/* Safe areas iPhone */
@supports(padding:max(0px)){
  .royal-nav{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
  .yt-music{bottom:max(10px,env(safe-area-inset-bottom))}
  .admin-float{bottom:max(10px,env(safe-area-inset-bottom))}
}


/* ===== V12 FIX YOUTUBE NO CELULAR ===== */
#ytPlayerHost{
  position:fixed!important;
  z-index:-1!important;
  left:0!important;
  bottom:0!important;
  width:320px!important;
  height:180px!important;
  opacity:.001!important;
  pointer-events:none!important;
  overflow:hidden!important;
  display:block!important;
  visibility:visible!important;
}
#ytPlayerHost iframe{
  width:320px!important;
  height:180px!important;
  display:block!important;
  visibility:visible!important;
}
#enterMusic:disabled{opacity:.55;cursor:wait}
.music-welcome.closed{pointer-events:none}
@media(max-width:700px){
  #ytPlayerHost,#ytPlayerHost iframe{
    width:240px!important;
    height:135px!important;
  }
  #enterMusic,#enterSilent,#ytToggle{touch-action:manipulation}
}

/* =========================================================
   MODELO 11 · AZUL NOITE + DOURADO + FLORES BRANCAS
   Correção visual 19/08/2026
   ========================================================= */
:root{
  --obs:#071322;
  --ivory:#f7f8f6;
  --gold:#c9ab62;
  --gold2:#eadcae;
  --brown:#0e2b47;
  --navy:#071322;
  --blue:#0b2843;
  --blue2:#17466d;
  --ice:#eef5f8;
}
body{background:var(--navy)}
.royal-nav.solid{background:rgba(5,18,32,.92);border-color:#d8bd7428}
.hero-left{background:radial-gradient(circle at 18% 22%,#17466d 0,transparent 38%),linear-gradient(135deg,#061321,#0a233a 68%,#071522)}
.hero-photo-wrap:after{background:linear-gradient(90deg,#071522 0,rgba(7,21,34,.55) 28%,transparent 58%),linear-gradient(0deg,rgba(4,14,26,.62),transparent 52%)}
.hero-photo-wrap img{filter:saturate(.78) contrast(1.04) hue-rotate(2deg)}
.royal-btn{border-color:var(--gold)}
.lux-marquee{background:#06111e;border-color:#d5bb7020}
.story{background:#f7f8f6}
.story-quote blockquote,.gallery-copy h3 i{color:#315b7b}
.day{background:linear-gradient(180deg,#071321,#091b2d)}
.act-info{background:linear-gradient(145deg,#0c2942,#071725);border-color:#d0b56e1f}
.full-overlay{background:linear-gradient(0deg,#061421e6,#06203d44),radial-gradient(circle at center,transparent,#03101fc4)}
footer{background:#05101c}
.admin-float{background:var(--gold2)}

/* Contagem regressiva inspirada na referência */
.countdown-band{position:relative;min-height:390px;background:linear-gradient(135deg,#06131f,#0a2034 55%,#071522);display:flex;align-items:center;justify-content:center;overflow:hidden;border-top:1px solid #d8bd7425;border-bottom:1px solid #d8bd7425}
.countdown-band:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 20%,#1b486a55,transparent 52%);pointer-events:none}
.countdown-inner{position:relative;z-index:3;width:min(1040px,88vw);text-align:center}
.count-star{display:block;color:var(--gold2);font-size:24px;margin-bottom:24px;text-shadow:0 0 28px #d9bf7570}
.countdown-inner>p{margin:0 0 42px;font-size:10px;letter-spacing:7px;color:#f3f6f7}
.countdown-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.countdown-grid>div{min-height:104px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-left:1px solid #d8bd7430}
.countdown-grid>div:first-child{border-left:0}
.countdown-grid b{font:56px/.95 "Bodoni Moda";font-weight:400;color:var(--gold2)}
.countdown-grid small{margin-top:13px;font-size:8px;letter-spacing:5px;color:#f1f5f6}
.count-flower{position:absolute;z-index:2;width:430px;opacity:.16;filter:saturate(.65) sepia(.12);mix-blend-mode:screen;pointer-events:none}
.count-flower-left{left:-200px;bottom:-250px;transform:rotate(18deg)}
.count-flower-right{right:-220px;top:-280px;transform:rotate(195deg)}

/* Lista de presentes igual ao espírito da referência, porém azul/dourada */
.gifts{position:relative;overflow:hidden;background:linear-gradient(180deg,#fbfcfb,#f2f6f7);color:#0a2740;padding:120px 7vw 130px}
.gifts:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,#0c3152,#c9ab62,#0c3152)}
.screenshot-gifts{display:block;max-width:1180px}
.gift-center{text-align:center;max-width:990px;margin:auto;position:relative;z-index:3}
.gift-center .micro{color:#a08038}
.gift-center h2{font:italic clamp(55px,6vw,86px)/1 "Bodoni Moda";font-weight:400;color:#123b5d;margin:22px 0 34px}
.gift-center p{max-width:930px;margin:0 auto 18px;font-size:18px;line-height:1.55;color:#4b5c66}
.gift-center p strong{color:#b09145}
.screenshot-actions{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin:70px auto 0;max-width:980px}
.gift-main-button{min-height:68px;border:1px solid #cdb877;background:linear-gradient(135deg,#edf1f0,#e8edea);color:#173b59;text-decoration:none;font-size:13px;letter-spacing:4px;display:flex;align-items:center;justify-content:center;gap:18px;padding:18px 24px;cursor:pointer;transition:.35s;box-shadow:0 12px 32px rgba(17,49,75,.08)}
.gift-main-button i{font-style:normal;color:#ae8d3f;font-size:18px}
.gift-main-button:hover{transform:translateY(-4px);background:#0c3152;color:#fff;box-shadow:0 18px 38px rgba(8,36,60,.2)}
.gift-pix-button{font-family:Manrope,Arial,sans-serif;width:100%}
.gift-flower{position:absolute;width:460px;opacity:.12;filter:saturate(.58);mix-blend-mode:multiply;pointer-events:none}
.gift-flower-left{left:-205px;bottom:-220px;transform:rotate(18deg)}
.gift-flower-right{right:-215px;top:-245px;transform:rotate(205deg)}

/* RSVP muito mais aparente */
.rsvp-highlight{position:relative;border-top:7px solid var(--gold);box-shadow:inset 0 22px 70px #d0b36b0d}
.rsvp-highlight:before{content:"CONFIRME SUA PRESENÇA";position:absolute;z-index:8;left:50%;top:0;transform:translate(-50%,-50%);padding:13px 28px;background:var(--gold);color:#071522;font-size:8px;letter-spacing:4px;white-space:nowrap;box-shadow:0 8px 30px #0005}
.rsvp-left{background:#081b2d}
.rsvp-overlay{background:linear-gradient(0deg,#061522ef,rgba(5,22,38,.15) 70%),linear-gradient(90deg,rgba(4,24,42,.12),rgba(4,24,42,.36))}
.rsvp-title h2 i{color:var(--gold2);font-weight:400}
.rsvp-title p{max-width:450px}
.rsvp-badge{display:inline-block;margin-top:22px;border:1px solid #d3b96d;padding:10px 14px;color:#f2dfaa;font-size:7px;letter-spacing:3px;background:#07192baa}
.rsvp-right{background:linear-gradient(150deg,#0b2b47,#071827 75%);position:relative}
.rsvp-right:before{content:"";position:absolute;inset:20px;border:1px solid #d0b36b24;pointer-events:none}
.rsvp-right form{position:relative;z-index:2}
.rsvp-right label{color:#d9c88f}
.rsvp-right input,.rsvp-right select{border-bottom-color:#d8c27a38}
.submit-btn{background:linear-gradient(90deg,#b89442,#dfca88);color:#071522;border-color:#e4ce8b;box-shadow:0 12px 45px #d4b55d2e;transform:scale(1.03);transform-origin:left center}
.submit-btn i{background:#071522;color:#fff}
.submit-btn:hover{background:#f0d992;box-shadow:0 15px 55px #e2c86d40}
.rsvp-flower{position:absolute;z-index:4;left:-180px;bottom:-320px;width:560px;opacity:.25;mix-blend-mode:screen;pointer-events:none;transform:rotate(25deg)}

/* Página de presentes - mesma identidade do modelo 11 */
.gift-page{background:linear-gradient(180deg,#061522,#0b2944);color:#eff5f6;min-height:100vh}
.gift-page:before{content:"";position:fixed;inset:0;background:url('assets/flores-brancas.png') left -260px bottom -400px/650px auto no-repeat;opacity:.10;mix-blend-mode:screen;pointer-events:none}
.gift-head{position:relative;z-index:2;padding:70px 5% 48px;border-bottom:1px solid #d8bd7430;align-items:flex-end}
.gift-head>a{color:#e4d39e;text-decoration:none;font-size:9px;letter-spacing:2px;text-transform:uppercase}
.gift-head h1{font:italic clamp(44px,6vw,82px)/.95 "Bodoni Moda";font-weight:400;margin:0;color:#f4f7f7}
.gift-head p{font-size:8px;letter-spacing:5px;color:#d3bb75}
.gift-grid{position:relative;z-index:2;max-width:1400px;margin:auto;padding:55px 5% 100px;gap:24px}
.gift-card{background:#0b2237;border:1px solid #d2b76c2e;overflow:hidden;box-shadow:0 18px 55px #0209143d;transition:.35s}
.gift-card:hover{transform:translateY(-6px);border-color:#d4ba70a1}
.gift-media{height:260px;background:linear-gradient(135deg,#173f61,#071522);position:relative;overflow:hidden}
.gift-media img{filter:saturate(.78) contrast(1.02)}
.gift-media:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0b2237d9,transparent 58%)}
.gift-emoji{display:none}
.gift-media.no-photo:before{content:"L & T";font:italic 64px "Bodoni Moda";color:#e5d39a;letter-spacing:-3px}
.gift-media.no-photo:after{background:radial-gradient(circle,#1c537d,transparent 65%)}
.gift-info{padding:28px 26px 30px}
.gift-info h3{font:31px/1.05 "Bodoni Moda";font-weight:400;margin:0 0 14px;color:#f7f9f9}
.gift-info p{min-height:58px;color:#9fb0bc;line-height:1.65;font-size:12px}
.gift-info strong{display:block;color:#dcc580;font:24px "Bodoni Moda";margin:18px 0 0}
.gift-buy{background:linear-gradient(90deg,#b89543,#dec983);color:#061522;font-size:9px;letter-spacing:3px;padding:15px}
.gift-buy:hover{filter:brightness(1.08)}

@media(max-width:700px){
  .countdown-band{min-height:330px;padding:56px 0}
  .countdown-inner{width:92vw}
  .countdown-inner>p{font-size:7px;letter-spacing:4px;margin-bottom:30px}
  .countdown-grid{grid-template-columns:repeat(4,1fr)}
  .countdown-grid>div{min-height:82px}
  .countdown-grid b{font-size:36px}
  .countdown-grid small{font-size:5px;letter-spacing:2px;margin-top:10px}
  .count-flower{width:280px}
  .count-flower-left{left:-150px;bottom:-170px}
  .count-flower-right{right:-160px;top:-175px}

  .gifts{padding:88px 20px 100px}
  .gift-center h2{font-size:54px}
  .gift-center p{font-size:14px;line-height:1.65}
  .screenshot-actions{grid-template-columns:1fr;gap:14px;margin-top:46px}
  .gift-main-button{min-height:62px;font-size:10px;letter-spacing:3px;padding:16px}
  .gift-flower{width:300px}

  .rsvp-highlight:before{font-size:6px;letter-spacing:2px;padding:11px 14px}
  .rsvp-flower{width:350px;left:-160px;bottom:-190px}
  .submit-btn{transform:none}

  .gift-head{padding:70px 20px 32px;display:block}
  .gift-head>a{display:inline-block;margin-bottom:28px}
  .gift-grid{grid-template-columns:1fr;padding:30px 18px 80px}
  .gift-media{height:230px}
}

/* V11.6 - continuidade visual da foto durante toda a seção História */
@media (min-width:1001px){
  .story{position:relative;isolation:isolate;align-items:stretch;overflow:visible}
  /* camada de segurança: mesmo quando o sticky chega ao fim, nunca aparece vazio à esquerda */
  .story:before{content:"";position:absolute;z-index:0;left:0;top:0;bottom:0;width:48%;background:linear-gradient(90deg,rgba(8,35,58,.12),transparent 25%),url('assets/welcome.jpg') center center/cover no-repeat;}
  .story:after{content:"";position:absolute;z-index:1;left:-80px;bottom:-110px;width:430px;height:560px;background:url('assets/flores-brancas.png') left bottom/contain no-repeat;pointer-events:none;opacity:.78;filter:saturate(.75)}
  .story-sticky{z-index:2;position:sticky;top:64px;height:calc(100vh - 64px);padding:0 0 0 0;align-self:start;background:transparent}
  .story-photo-main{height:100%;min-height:0}
  .story-photo-main img{height:100%;object-position:center center}
  .story-photo-main:after{margin:20px;border-color:#d5b85b99}
  .story-caption{position:absolute;left:28px;bottom:20px;z-index:4;margin:0;padding:8px 12px;color:#fff;background:#071827a8;backdrop-filter:blur(8px)}
  .story-text{position:relative;z-index:3;background:linear-gradient(90deg,rgba(247,248,246,.97),#f7f8f6 13%);min-height:100%}
}

/* Ações flutuantes solicitadas */
.quick-floating-actions{position:fixed;z-index:1095;right:22px;bottom:78px;display:flex;flex-direction:column;gap:12px;align-items:flex-end}
.quick-float{display:flex;align-items:center;gap:11px;min-width:178px;padding:10px 15px 10px 10px;border-radius:999px;text-decoration:none;border:1px solid #e4cc83;box-shadow:0 12px 35px rgba(2,18,31,.26);backdrop-filter:blur(12px);transition:.28s}
.quick-float span{flex:0 0 39px;width:39px;height:39px;border-radius:50%;display:grid;place-items:center;font-size:18px}
.quick-float b{font-size:7px;line-height:1.45;letter-spacing:1.8px;font-weight:600}
.quick-rsvp{background:linear-gradient(135deg,#c49b43,#e6ce8a);color:#071827}
.quick-rsvp span{background:#fff7;color:#fff}
.quick-gifts{background:rgba(6,28,47,.94);color:#f4e3ad}
.quick-gifts span{background:#c9a34f;color:#071827}
.quick-float:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 16px 42px rgba(2,18,31,.34)}
@media(max-width:700px){
  .quick-floating-actions{right:12px;bottom:66px;gap:8px}
  .quick-float{min-width:0;width:52px;height:52px;padding:6px;border-radius:50%;justify-content:center}
  .quick-float span{width:39px;height:39px;flex-basis:39px}
  .quick-float b{display:none}
}

/* V11.7 - foto única fixa durante TODA a seção História (desktop)
   Evita a duplicação de imagens e elimina o vazio à esquerda. */
@media (min-width:1001px){
  .story{
    position:relative;
    isolation:isolate;
    overflow:visible;
  }

  /* A foto da história vira uma única camada fixa no lado esquerdo. */
  .story:before{
    content:"";
    position:absolute;
    z-index:0;
    left:0;
    top:0;
    bottom:0;
    width:48%;
    background-image:
      linear-gradient(90deg,rgba(5,27,45,.08),rgba(5,27,45,0) 28%),
      url('assets/welcome.jpg');
    background-repeat:no-repeat,no-repeat;
    background-size:48vw calc(100vh - 64px),48vw calc(100vh - 64px);
    background-position:left 64px,left 64px;
    background-attachment:fixed,fixed;
    box-shadow:inset -1px 0 0 rgba(198,157,68,.28);
  }

  /* Flores decorativas acompanham a composição sem repetir a fotografia. */
  .story:after{
    content:"";
    position:absolute;
    z-index:2;
    left:-55px;
    bottom:-35px;
    width:410px;
    height:520px;
    background:url('assets/flores-brancas.png') left bottom/contain no-repeat;
    pointer-events:none;
    opacity:.88;
    filter:saturate(.78);
  }

  /* Mantemos a coluna para o grid, mas escondemos a antiga foto para não duplicar. */
  .story-sticky{
    position:relative !important;
    top:auto !important;
    height:auto !important;
    min-height:100%;
    padding:0 !important;
    background:transparent;
    z-index:1;
    pointer-events:none;
  }
  .story-photo-main,
  .story-caption{
    visibility:hidden;
  }

  .story-text{
    position:relative;
    z-index:3;
    min-height:100%;
    background:linear-gradient(90deg,rgba(247,248,246,.985),#f7f8f6 15%);
  }
}

/* Em telas menores volta ao comportamento normal, sem background fixed. */
@media (max-width:1000px){
  .story:before,.story:after{display:none !important}
  .story-sticky{position:relative !important;height:auto !important;min-height:0 !important;padding:70px 50px 20px !important;pointer-events:auto}
  .story-photo-main,.story-caption{visibility:visible !important}
}
@media (max-width:560px){
  .story-sticky{padding:50px 18px 15px !important}
}

/* V11.8 — história com uma única foto fixa e sem duplicações */
@media (min-width:1001px){
  .story{display:grid!important;grid-template-columns:48% 52%!important;align-items:start!important;min-height:0!important;position:relative!important;overflow:visible!important;background:#f7f8f6!important;isolation:isolate}
  .story:before,.story:after{display:none!important}
  .story-sticky{display:block!important;visibility:visible!important;position:sticky!important;top:64px!important;height:calc(100vh - 64px)!important;min-height:620px!important;padding:0!important;align-self:start!important;overflow:hidden!important;background:#0a2034!important;z-index:2!important;pointer-events:auto!important;box-shadow:20px 0 55px rgba(7,24,39,.08)}
  .story-photo-main{display:block!important;visibility:visible!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;overflow:hidden!important}
  .story-photo-main img{display:block;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 48%!important;filter:contrast(1.025) saturate(.96) brightness(1.02)!important;transform:translateZ(0) scale(1.002)!important}
  .story-photo-main:before{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(5,24,40,.10),transparent 24%),linear-gradient(0deg,rgba(4,18,31,.22),transparent 32%)}
  .story-photo-main:after{content:""!important;position:absolute!important;inset:22px!important;margin:0!important;border:1px solid rgba(215,183,101,.62)!important;z-index:3;pointer-events:none}
  .story-flower-overlay{display:block;position:absolute;z-index:4;left:-75px;bottom:-115px;width:min(29vw,430px);max-height:65%;object-fit:contain;object-position:left bottom;pointer-events:none;opacity:.86;filter:drop-shadow(0 16px 32px rgba(0,0,0,.16)) saturate(.90)}
  .story-caption{display:block!important;visibility:visible!important;position:absolute!important;z-index:5!important;left:34px!important;bottom:30px!important;margin:0!important;padding:9px 14px!important;color:#f5e7b9!important;background:rgba(5,25,42,.76)!important;border:1px solid rgba(215,183,101,.32);backdrop-filter:blur(10px)}
  .story-text{position:relative!important;z-index:3!important;min-height:155vh!important;padding:11vh clamp(55px,6vw,105px) 12vh clamp(55px,5vw,90px)!important;background:radial-gradient(circle at 92% 12%,rgba(218,188,108,.10),transparent 24%),linear-gradient(90deg,#f7f8f6 0%,#fbfaf7 100%)!important}
  .story-text:before{content:"";position:absolute;top:0;left:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent,#cda94f66 12%,#cda94f66 88%,transparent)}
  .story-block{max-width:720px}.story-block h2{font-size:clamp(58px,5.2vw,82px)!important;color:#0a2034}.story-block p{font-size:15px!important;line-height:2!important;color:#554f47!important}
  .story-quote{margin:120px 0 100px!important;max-width:690px}.story-quote>span{color:#c9a34f!important}.story-quote blockquote{font-size:clamp(32px,3vw,46px)!important;color:#315b7b!important}
  .story-chapter{position:relative;max-width:720px;margin-top:35px;padding:54px 56px 52px;border:1px solid rgba(192,151,65,.35);background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(240,236,226,.58));box-shadow:0 24px 70px rgba(28,39,45,.08);overflow:hidden}
  .story-chapter:after{content:"03";position:absolute;right:25px;bottom:-28px;font:110px "Bodoni Moda";color:rgba(10,32,52,.045)}
  .chapter-kicker{font-size:8px;letter-spacing:5px;color:#9a7333}.story-chapter h3{font:52px/1.02 "Bodoni Moda";font-weight:400;color:#101820;margin:22px 0}.story-chapter h3 i{color:#315b7b;font-weight:400}.chapter-line{display:flex;align-items:center;gap:14px;color:#c7a35b;margin:20px 0}.chapter-line:before,.chapter-line:after{content:"";height:1px;width:70px;background:#c7a35b66}.story-chapter p{max-width:590px;font-size:14px;line-height:1.9;color:#625b51;margin:0}
}
@media (max-width:1000px){
  .story-flower-overlay{display:none!important}.story-mini-gallery,.gallery-card{display:none!important}.story-chapter{margin-top:35px;padding:34px 28px;border:1px solid rgba(192,151,65,.35);background:#fbfaf7}.story-chapter h3{font:42px/1.05 "Bodoni Moda";font-weight:400;color:#101820;margin:18px 0}.story-chapter h3 i{color:#315b7b}.chapter-kicker{font-size:7px;letter-spacing:4px;color:#9a7333}.chapter-line{color:#c7a35b;margin:18px 0}.story-chapter p{font-size:14px;line-height:1.75;color:#625b51}.story-photo-main img{filter:contrast(1.02) saturate(.98) brightness(1.02)!important}
}

/* =========================================================
   V11.10 — FOTO ÚNICA STICKY NA HISTÓRIA
   - remove qualquer foto de fundo/duplicada atrás da foto principal
   - a foto começa junto com a seção História
   - fica fixa durante toda a rolagem dos textos da coluna direita
   - termina exatamente quando termina a área branca da História
   ========================================================= */
@media (min-width:1001px){
  .story{
    display:grid!important;
    grid-template-columns:48% 52%!important;
    align-items:stretch!important;
    position:relative!important;
    min-height:0!important;
    overflow:visible!important;
    background:#f7f8f6!important;
    isolation:isolate!important;
  }

  /* Não usar imagem de continuidade: era ela que aparecia por trás e
     criava a sensação de duas fotos / emenda durante a rolagem. */
  .story:before,
  .story:after{
    content:none!important;
    display:none!important;
    background:none!important;
  }

  .story-sticky{
    display:block!important;
    position:sticky!important;
    top:64px!important;
    height:calc(100vh - 64px)!important;
    min-height:0!important;
    align-self:start!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    z-index:2!important;
    background:#0a2034!important;
    box-shadow:18px 0 48px rgba(7,24,39,.08)!important;
    transform:none!important;
  }

  .story-photo-main{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
    visibility:visible!important;
  }

  .story-photo-main img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    object-fit:cover!important;
    object-position:center 48%!important;
    filter:contrast(1.03) saturate(.98) brightness(1.025)!important;
    transform:scale(1.002)!important;
  }

  .story-photo-main:before{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    z-index:2!important;
    pointer-events:none!important;
    background:linear-gradient(90deg,rgba(5,24,40,.08),transparent 25%),linear-gradient(0deg,rgba(4,18,31,.18),transparent 34%)!important;
  }

  .story-photo-main:after{
    content:""!important;
    position:absolute!important;
    inset:22px!important;
    margin:0!important;
    z-index:3!important;
    pointer-events:none!important;
    border:1px solid rgba(215,183,101,.62)!important;
  }

  .story-flower-overlay{
    z-index:4!important;
  }

  .story-caption{
    z-index:5!important;
  }

  /* A coluna direita é quem define a altura total da seção. O sticky da
     esquerda permanece no viewport até o último conteúdo branco terminar. */
  .story-text{
    position:relative!important;
    z-index:3!important;
    min-height:auto!important;
    height:auto!important;
    align-self:stretch!important;
    padding-top:11vh!important;
    padding-bottom:10vh!important;
    background:radial-gradient(circle at 92% 12%,rgba(218,188,108,.10),transparent 24%),linear-gradient(90deg,#f7f8f6 0%,#fbfaf7 100%)!important;
  }

  .story-chapter{
    margin-bottom:0!important;
  }
}

/* Tablet/celular: volta ao fluxo normal, sem sticky forçado. */
@media (max-width:1000px){
  .story:before,.story:after{content:none!important;display:none!important}
  .story-sticky{position:relative!important;top:auto!important;height:auto!important;min-height:0!important}
}

/* =========================================================
   V11.11 — FOTO DA HISTÓRIA PRESA ENTRE OS DOIS LIMITES
   Comportamento solicitado:
   1) começa inteira exatamente no início da seção branca;
   2) ao rolar, permanece fixa logo abaixo do menu;
   3) só deixa de ficar fixa quando o fim da seção branca
      chega ao viewport, parando exatamente antes da seção azul;
   4) ao subir, o movimento acontece ao contrário, sem saltos,
      sem foto duplicada e sem espaço branco na coluna esquerda.
   O posicionamento vertical é controlado por JS para evitar
   diferenças de comportamento do position:sticky entre browsers.
   ========================================================= */
@media (min-width:1001px){
  .story{
    display:grid!important;
    grid-template-columns:48% 52%!important;
    position:relative!important;
    align-items:stretch!important;
    overflow:visible!important;
    min-height:0!important;
    background:#f7f8f6!important;
  }

  .story:before,.story:after{content:none!important;display:none!important}

  /* reserva permanentemente a coluna esquerda no grid */
  .story-sticky{
    grid-column:1!important;
    grid-row:1!important;
    display:block!important;
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:48%!important;
    height:calc(100vh - 64px)!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#0a2034!important;
    z-index:4!important;
    box-shadow:18px 0 48px rgba(7,24,39,.08)!important;
    transform:none!important;
  }

  /* durante a parte central da rolagem a foto fica presa ao viewport */
  .story-sticky.story-photo-fixed{
    position:fixed!important;
    top:64px!important;
    bottom:auto!important;
    left:var(--story-left,0px)!important;
    width:var(--story-photo-width,48vw)!important;
  }

  /* quando a próxima seção azul começa a entrar, a foto encosta
     no fim da área branca e passa a subir junto com a página */
  .story-sticky.story-photo-bottom{
    position:absolute!important;
    top:auto!important;
    bottom:0!important;
    left:0!important;
    width:48%!important;
  }

  /* estado inicial: foto nasce junto com o topo da seção branca */
  .story-sticky.story-photo-top{
    position:absolute!important;
    top:0!important;
    bottom:auto!important;
    left:0!important;
    width:48%!important;
  }

  .story-photo-main{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    overflow:hidden!important;
  }
  .story-photo-main img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center 48%!important;
    filter:contrast(1.035) saturate(1.00) brightness(1.025)!important;
    transform:translateZ(0) scale(1.001)!important;
    image-rendering:auto!important;
  }

  /* a coluna direita sempre fica na segunda coluna, mesmo quando
     a foto muda para position:fixed */
  .story-text{
    grid-column:2!important;
    grid-row:1!important;
    position:relative!important;
    z-index:2!important;
    min-height:155vh!important;
    align-self:stretch!important;
  }
}

@media (max-width:1000px){
  .story-sticky,
  .story-sticky.story-photo-top,
  .story-sticky.story-photo-fixed,
  .story-sticky.story-photo-bottom{
    position:relative!important;
    top:auto!important;
    bottom:auto!important;
    left:auto!important;
    width:auto!important;
    height:auto!important;
  }
  .story-text{grid-column:auto!important;grid-row:auto!important;min-height:auto!important}
}
