/* La Rosa — engraved Mexican lottery, cream paper and red ink. */
:root{--linen:#faedce;--paper:#fff3d5;--ink:#1e211c;--wine:#c94740;--pink:#c94740;--gold:#c2a278;--green:#63765e;--muted:#756c5f;--line:#211f1a42;--serif:'Cormorant Garamond',Georgia,serif;--display:'Cormorant Garamond',Georgia,serif;--script:'Cormorant Garamond',Georgia,serif;--sans:'Urbanist',Arial,sans-serif}
body{background:var(--linen)}body::before{background-image:radial-gradient(#523520 0.5px,transparent .8px);background-size:4px 5px;opacity:.1}h2{font:italic 400 clamp(35px,4.3vw,53px)/1.25 var(--serif)}.eyebrow{font-size:10px;letter-spacing:.2em;color:var(--wine)}.section-heading h2{color:var(--ink)}.section-heading::after{border-bottom:1px solid var(--ink);width:65px}.section{padding-block:84px}.text-link{font-size:11px;font-weight:600}.button-outline{border-color:var(--ink);border-radius:4px}
/* A single collectible card, shaped and printed like the reference. */
.welcome{background:#efe0bc;padding:36px 24px;color:var(--ink)}.welcome::before{background-image:radial-gradient(#523520 0.5px,transparent .8px);background-size:4px 5px;opacity:.13}.loteria-welcome-grid{display:block;max-width:376px;width:100%;margin:auto}.loteria-intro{display:none}.envelope-scene{transform:none;filter:drop-shadow(0 12px 18px #422e2525)}.invitation-card{padding:22px;background:var(--paper);border:3px solid var(--ink);border-radius:24px;overflow:hidden}.loteria-card-top{position:absolute;z-index:4;top:37px;left:38px;right:38px;padding:0;justify-content:flex-end;color:var(--ink);pointer-events:none}.loteria-card-top>span:first-child{font:italic 400 32px var(--serif)}.loteria-card-top>span:nth-child(2),.loteria-card-top>svg{display:none}.seal-button{border:0;border-radius:13px;background:#efd1ab}.seal-button img{height:320px;width:100%;object-fit:cover;object-position:center;mix-blend-mode:multiply}.welcome-content{padding:21px 0 0;text-align:center;color:var(--ink)}.welcome-kicker{color:var(--muted);font-size:8px;letter-spacing:.16em;margin-bottom:14px}.welcome-content h2{font:italic 400 33px/1.2 var(--serif);text-transform:none;letter-spacing:-.065em;color:var(--ink);white-space:nowrap}.welcome-content h2 span{font:italic 28px var(--serif);margin:0 3px;color:var(--wine)}.welcome-message{font:11px/1.7 var(--sans);margin:17px auto 10px;max-width:270px}.welcome-rosa-date{font:italic 12px var(--serif);margin:12px 0 20px}.welcome-content .button{border-radius:4px;background:var(--ink);border-color:var(--ink);font-size:9px;font-weight:600;letter-spacing:.14em;min-height:45px}.welcome-content .button:hover{background:var(--wine);border-color:var(--wine)}.welcome.is-opening .invitation-card{transform:translateY(-30px);opacity:0;transition:opacity .7s,transform .7s}#rotuloapi{font-size:11px;white-space:normal}
/* Generous paper margins, fine dark outlines, engraved accents. */
.hero{padding-block:70px 80px;gap:80px}.hero-copy{text-align:center;position:relative}.hero-copy>.eyebrow{margin-bottom:19px}.hero-pretitle{font:italic 18px var(--serif);color:var(--muted);margin-bottom:30px}.hero h1{font:400 clamp(66px,7vw,96px)/1.06 var(--serif);text-transform:none;align-items:center;letter-spacing:-.065em;color:var(--ink)}.hero .ampersand{font:italic 45px/1 var(--serif);color:var(--wine);margin:5px 0 9px}.hero-stitch{display:none}.hero-rosa{width:112px;height:114px;object-fit:cover;border-radius:8px;margin:23px auto 20px;mix-blend-mode:multiply}.hero-date{font:600 13px var(--sans);letter-spacing:.08em}.hero-date span{font:italic 18px var(--serif);color:var(--ink)}.hero-link{margin-top:26px;font-size:10px;color:var(--ink);font-weight:600}.hero-link svg{color:var(--wine)}.hero-photo{padding:15px 15px 0;border:2px solid var(--ink);border-radius:22px;background:var(--paper);transform:none;box-shadow:7px 7px 0 #d0b593}.hero-photo img{height:485px;border-radius:12px;filter:sepia(.15) saturate(.85)}.photo-card-caption{font:italic 20px var(--serif);padding:20px 0;gap:15px;line-height:1.2}.photo-card-caption b{font:italic 24px var(--serif)}.photo-card-caption>span{font:9px var(--sans);letter-spacing:.03em}.site-header{background:#fff3d5f2;border-block:1px solid var(--ink)}.nav-monogram{font:italic 26px var(--serif)}.nav-monogram span{font:italic 24px var(--serif)}.nav-links a{font-size:10px;letter-spacing:.07em;font-weight:600}.date-section{background:#ecd0ac;border-block:1px solid var(--ink)}.date-section .section-heading h2{font-style:italic}.countdown{gap:58px}.countdown strong{font:400 59px/1.1 var(--serif);letter-spacing:-.04em}.countdown span{font-size:9px;font-weight:500}.calendar{border-color:#211f1a30}.calendar h3{font:italic 15px var(--serif);margin-bottom:18px}.calendar .text-link{font-weight:500}.history-section{background:#f8e7c6;color:var(--ink);border-bottom:1px solid var(--line)}.history-photo{padding:12px 12px 25px;border:2px solid var(--ink);border-radius:22px;transform:none;background:var(--paper)}.history-photo img{height:510px;border-radius:12px;filter:sepia(.2) saturate(.85)}.history-copy .eyebrow{color:var(--wine)}.history-copy h2{color:var(--ink)}.history-copy p{font:15px/1.95 var(--sans);color:#5f584d}.places-section{background:var(--paper)}.place-grid{gap:40px}.place{background:#f3dfbd;border:2px solid var(--ink);border-radius:22px;padding:15px 15px 26px;box-shadow:none}.place>img{border-radius:10px;height:255px;filter:sepia(.12) saturate(.9)}.place h3{font:italic 400 32px/1.25 var(--serif);text-transform:none;margin-bottom:16px}.place h6{font-size:10px;letter-spacing:.1em}.place p{font-size:13px}.place p.bold-text{font-size:15px}.place-links{color:var(--ink)}.dress-section{background:#e2e5ce;border-block:1px solid var(--ink)}.dress-grid>a{background:var(--paper);border:2px solid var(--ink);border-radius:18px;box-shadow:none;padding:28px 20px}.dress-grid>a>span{font-size:11px;font-weight:500}.timeline-section{background:var(--linen)}.timeline-item{border:1px solid var(--ink);border-radius:16px;background:#f2dfc1;padding:40px 15px 25px}.timeline-number{font:italic 20px var(--serif);color:var(--ink);top:13px;left:13px}.timeline-item h3{font:italic 400 23px/1.3 var(--serif);text-transform:none}.timeline-item>img{width:55px;height:55px;filter:grayscale(1);margin-top:16px}.time{color:#a63d34;font-size:11px}.gallery-section{background:#ddaa8f;border-block:1px solid var(--ink)}.gallery-section .eyebrow,.gallery-section h2{color:var(--ink)}.gallery-section .section-heading::after{border-color:var(--ink)}.gallery-photo{border:2px solid var(--ink);border-radius:18px;background:var(--paper);padding:10px 10px 30px;box-shadow:none}.gallery-photo img{border-radius:9px;filter:sepia(.12) saturate(.9)}.gallery-photo:nth-child(odd),.gallery-photo:nth-child(even){transform:none}.registry-section{background:var(--paper)}.gift-link{border:1px solid var(--ink);border-radius:16px;background:#f3e4c6;padding:28px 20px}.gift-link p{color:var(--ink)}.rsvp-section{background:#873450;border-block:1px solid var(--ink)}.rsvp-section .eyebrow{color:#f1d9b0}.rsvp-section .section-heading::after{border-color:#f1d9b0}.hotels-section{background:var(--linen)}.hotels-section .place{background:#f2dfc1}.hotels-section .place>img{border-radius:10px}.hotels-section .place h3{font:italic 400 26px/1.3 var(--serif)}.app-section{background:var(--paper);border-top:1px solid var(--line)}.app-section h2{font-style:italic;font-size:30px}.site-footer{background:#ecd0ac;color:var(--ink);border-top:2px solid var(--ink);padding-block:65px}.loteria-footer-call{font:italic 400 clamp(65px,9vw,108px)/1 var(--serif);color:var(--ink);letter-spacing:-.06em}.loteria-footer-note{font:italic 16px/1.7 var(--serif);margin:18px auto 32px}.footer-monogram{color:var(--ink);font:italic 30px var(--serif)}.footer-monogram em{color:var(--wine);font:italic 29px var(--serif)}.site-footer h3{color:var(--muted)}.footer-hashtag{color:var(--ink);font:italic 29px var(--serif)}.back-to-top{color:var(--ink)}.footer-logo{border:1px solid var(--ink);border-radius:8px}.music-control{background:var(--paper);border-color:var(--ink);box-shadow:none;color:var(--ink)}
@media(max-width:1000px){.hero{gap:45px}.hero h1{font-size:76px}.hero-photo img{height:450px}.photo-card-caption{font-size:17px}.history-section{gap:40px}.history-photo img{height:470px}}
@media(max-width:760px){.welcome{padding:32px 24px}.loteria-welcome-grid{max-width:350px}.invitation-card{padding:18px;border-radius:23px}.loteria-card-top{top:32px;right:32px;left:32px}.loteria-card-top>span:first-child{font-size:29px}.seal-button img{height:305px}.welcome-content{padding:20px 0 0}.welcome-content h2{font-size:32px}.welcome-content h2 span{font-size:27px}.welcome-kicker{font-size:7px;margin-bottom:14px}.welcome-message{font-size:10px;margin:16px auto 10px}.welcome-rosa-date{font-size:11px;margin:12px 0 18px}.welcome-content .button{font-size:9px;min-height:45px}.section{padding:62px 24px}.hero{grid-template-columns:minmax(0,1fr);width:calc(100% - 48px);padding-block:42px 52px;gap:36px}.hero-pretitle{font-size:16px;margin-bottom:22px}.hero h1{font:400 clamp(31px,9.6vw,43px)/1.2 var(--serif);letter-spacing:-.07em;flex-direction:row;align-items:center;justify-content:center;gap:9px}.hero .ampersand{font:italic 29px var(--serif);margin:0}.hero-rosa{width:85px;height:85px;margin:19px auto 17px}.hero-date{font-size:11px}.hero-date span{font-size:17px}.hero-link{font-size:9px;margin-top:21px}.hero-photo{padding:12px 12px 0;border-radius:19px;box-shadow:5px 5px 0 #d0b593}.hero-photo img{height:370px;border-radius:9px}.photo-card-caption{font-size:17px;padding:17px 0;gap:11px}.photo-card-caption b{font-size:20px}.photo-card-caption>span{font-size:9px;max-width:55px}.nav-links{background:var(--paper)}.countdown{gap:23px}.countdown strong{font-size:40px}.countdown span{font-size:8px;letter-spacing:.12em}.history-photo{padding:10px 10px 22px;border-radius:19px}.history-photo img{height:340px;border-radius:9px}.history-copy h2{font-size:35px}.history-copy p{font-size:14px}.place-grid{gap:30px}.place{padding:12px 12px 25px;border-radius:19px}.place>img{height:230px}.place h3{font-size:29px}.place p{font-size:12px}.place-links{gap:20px}.dress-grid>a{padding:22px 15px;border-radius:16px}.timeline{gap:20px 15px}.timeline-item{padding:38px 12px 22px;border-radius:14px}.timeline-item h3{font-size:20px}.timeline-number{font-size:17px}.timeline-item>img{width:46px;height:46px}.timeline-item p{font-size:11px}.time{font-size:10px}.gallery-photo{padding:8px 8px 24px;border-radius:14px}.gallery-photo img{height:215px;border-radius:7px}.gift-link{padding:22px 17px;border-radius:14px}.rsvp-section{padding-inline:14px}.hotels-section .place h3{font-size:24px}.loteria-footer-call{font-size:76px}.loteria-footer-note{font-size:14px;max-width:270px}.site-footer{padding-block:50px}.app-section h2{font-size:27px}}
@media(max-width:360px){.welcome{padding:27px 20px}.invitation-card{padding:15px}.seal-button img{height:270px}.loteria-card-top{top:28px;right:28px}.welcome-content h2{font-size:28px}.welcome-content h2 span{font-size:23px}.welcome-content{padding-top:18px}.welcome-message{font-size:10px;max-width:220px}.hero h1{font-size:31px;gap:7px}.hero .ampersand{font-size:26px}.hero-photo img{height:315px}.photo-card-caption{font-size:14px;gap:8px}.photo-card-caption>span{font-size:8px}.countdown{gap:17px}.countdown strong{font-size:35px}.timeline-item h3{font-size:18px}.gallery-photo img{height:185px}}
@media(max-height:620px) and (min-width:761px){.welcome{padding:25px}.loteria-welcome-grid{display:block;max-width:300px}.invitation-card{padding:15px}.loteria-card-top{top:27px;right:27px}.seal-button img{height:220px}.welcome-content{padding-top:15px}.welcome-content h2{font-size:27px}.welcome-content h2 span{font-size:23px}.welcome-message{margin:12px auto 8px}.welcome-rosa-date{margin:9px 0 14px}.welcome-kicker{margin-bottom:10px}}

/* Vibrant palette requested: papel pink, marigold, talavera and agave. */
:root{--linen:#fff9ed;--paper:#fff7e3;--ink:#182a40;--wine:#e4007c;--pink:#e4007c;--gold:#ff8200;--green:#708b60;--muted:#62675e;--line:#1c458735;--talavera:#1c4587}
body::before{opacity:.06}.welcome{background:var(--talavera)}.welcome::before{background-image:radial-gradient(#fff 0.5px,transparent .8px);opacity:.12}.invitation-card{border-color:#182a40;background:var(--paper)}.loteria-card-top{color:var(--talavera)}.seal-button{background:var(--paper)}.seal-button img{mix-blend-mode:normal}.welcome-content h2{color:var(--talavera)}.welcome-content h2 span{color:var(--pink)}.welcome-kicker{color:var(--talavera)}.welcome-content .button{background:var(--pink);border-color:var(--pink);color:#fff}.welcome-content .button:hover{background:var(--talavera);border-color:var(--talavera)}.hero h1{color:var(--talavera)}.hero .ampersand{color:var(--pink)}.hero-pretitle{color:#536746}.hero-rosa{mix-blend-mode:normal}.hero-photo{box-shadow:7px 7px 0 var(--pink)}.hero-photo img,.history-photo img,.place>img,.gallery-photo img{filter:none}.photo-card-caption{color:var(--talavera)}.site-header{background:#fff7e3f5}.nav-monogram{color:var(--talavera)}.nav-monogram span{color:var(--pink)}.section-heading h2{color:var(--talavera)}.section-heading::after{border-color:var(--pink)}.date-section{background:var(--gold)}.date-section .eyebrow,.date-section h2,.countdown strong,.countdown span,.calendar h3{color:var(--ink)}.history-section{background:var(--green)}.history-copy .eyebrow,.history-copy h2,.history-copy p{color:#152413}.history-photo{background:var(--paper)}.place{background:var(--paper);border-color:var(--ink)}.place h3{color:var(--talavera)}.place h6{color:#ab005c}.place-links{color:var(--talavera)}.dress-section{background:#e8efda;border-top:5px solid var(--green);border-bottom:1px solid var(--ink)}.timeline-item{background:var(--paper)}.timeline-number{color:var(--pink)}.timeline-item h3{color:var(--talavera)}.time{color:#ab005c}.gallery-section{background:var(--pink)}.gallery-section .eyebrow,.gallery-section h2{color:#fff}.gallery-section .section-heading::after{border-color:#fff}.gallery-photo{background:var(--paper)}.gift-link{background:var(--paper)}.gift-link p{color:var(--talavera)}.rsvp-section{background:var(--talavera)}.rsvp-section .eyebrow,.rsvp-section .section-heading h2{color:var(--paper)}.rsvp-section .section-heading::after{border-color:var(--gold)}.hotels-section .place{background:var(--paper)}.app-section h2{color:var(--talavera)}.app-copy p a,.app-copy .inline-links{color:#ab005c}.site-footer{background:var(--talavera);color:var(--paper);border-top:7px solid var(--gold)}.loteria-footer-call,.footer-monogram,.footer-hashtag,.back-to-top{color:var(--paper)}.loteria-footer-note,.site-footer h3{color:#ece7d8}.footer-monogram em{color:#ff88bd}.footer-logo{background:var(--paper)}.music-control{color:var(--talavera)}.music-bars i{background:var(--pink)}
@media(max-width:760px){.hero-photo{box-shadow:5px 5px 0 var(--pink)}}

/* Molded lettering inspired by Mexican lottery and hand-painted signs. */
:root{--display:'Cormorant Garamond',Georgia,serif}
.invitation-card,.hero-photo{border-color:var(--pink)}
button:focus-visible,a:focus-visible{outline-color:var(--talavera)}
.welcome-content .button:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--paper)}
.welcome-content h2{font:400 29px/1.35 var(--display);text-transform:uppercase;letter-spacing:-.045em}
.welcome-content h2 span{font:400 25px var(--display);margin:0 3px}
.hero h1{font:400 clamp(64px,6.4vw,88px)/1.08 var(--display);text-transform:uppercase;letter-spacing:-.035em}
.hero .ampersand{font:400 40px/1 var(--display);margin:8px 0}
.section-heading h2,.history-copy h2{font:400 clamp(29px,3.5vw,44px)/1.3 var(--display);letter-spacing:-.025em}
.place h3,.hotels-section .place h3{font:400 26px/1.3 var(--display);letter-spacing:-.025em}
.timeline-item h3{font:400 20px/1.4 var(--display)}
.photo-card-caption{font:400 18px/1.3 var(--display)}
.loteria-footer-call{font:400 clamp(60px,8vw,96px)/1.2 var(--display);letter-spacing:-.035em}
@media(max-width:760px){.welcome-content h2{font-size:27px}.welcome-content h2 span{font-size:23px}.hero h1{font:400 clamp(27px,8.4vw,36px)/1.3 var(--display);gap:7px;letter-spacing:-.04em}.hero .ampersand{font:400 25px var(--display);margin:0}.section-heading h2,.history-copy h2{font-size:29px}.place h3,.hotels-section .place h3{font-size:24px}.timeline-item h3{font-size:18px}.photo-card-caption{font-size:15px}.loteria-footer-call{font-size:59px}}
@media(max-width:360px){.welcome-content h2{font-size:23px}.welcome-content h2 span{font-size:20px}.hero h1{font-size:27px}.hero .ampersand{font-size:22px}.photo-card-caption{font-size:13px}.timeline-item h3{font-size:16px}}
@media(max-height:620px) and (min-width:761px){.welcome-content h2{font-size:23px}.welcome-content h2 span{font-size:20px}}

/* Clear printing serif, with the weight of traditional lottery labels. */
.welcome-content h2,.welcome-content h2 span,.hero h1,.hero .ampersand,.section-heading h2,.history-copy h2,.place h3,.hotels-section .place h3,.timeline-item h3,.photo-card-caption,.loteria-footer-call{font-weight:600;letter-spacing:-.025em}

/* Wedding typography and warm cream behind the illustrated card. */
.welcome{background:#f8ebd2}.welcome::before{background-image:radial-gradient(#866b43 0.5px,transparent .8px);opacity:.08}
.welcome-content h2,.welcome-content h2 span,.hero h1,.hero .ampersand,.section-heading h2,.history-copy h2,.place h3,.hotels-section .place h3,.timeline-item h3,.photo-card-caption,.loteria-footer-call{font-weight:400;letter-spacing:0;text-transform:none}
.welcome-content h2{font-size:43px;line-height:1.1}.welcome-content h2 span{font-size:36px}
.hero h1{font-size:clamp(76px,7.5vw,108px);line-height:.98}.hero .ampersand{font-size:49px}
.section-heading h2,.history-copy h2{font-size:clamp(38px,4.5vw,57px);line-height:1.15}
.place h3,.hotels-section .place h3{font-size:35px}.timeline-item h3{font-size:27px}.photo-card-caption{font-size:25px}
@media(max-width:760px){.welcome-content h2{font-size:40px}.welcome-content h2 span{font-size:33px}.hero h1{font-size:clamp(37px,11vw,49px)}.hero .ampersand{font-size:35px}.section-heading h2,.history-copy h2{font-size:39px}.place h3,.hotels-section .place h3{font-size:33px}.timeline-item h3{font-size:26px}.photo-card-caption{font-size:22px}}
@media(max-width:360px){.welcome-content h2{font-size:35px}.welcome-content h2 span{font-size:29px}.hero h1{font-size:37px}.hero .ampersand{font-size:30px}.photo-card-caption{font-size:19px}.timeline-item h3{font-size:23px}}
@media(max-height:620px) and (min-width:761px){.welcome-content h2{font-size:35px}.welcome-content h2 span{font-size:29px}}

/* Two typefaces only: titles in Cormorant, reading and actions in Urbanist. */
.welcome-rosa-date,.hero-date,.hero-date span,.loteria-intro-date{font-family:var(--sans);font-style:normal}.hero-date span{font-size:inherit;font-weight:600}

/* Couple names in the italic cut of the same serif family. */
#welcome-names,#welcome-names span,#couple-names,#couple-names .ampersand{font-style:italic}

/* Delicate cut-paper florals on cream, behind the opening card. */
.welcome::after{display:block;content:'';position:fixed;inset:0;border:0;border-image:none;pointer-events:none;background:url('../images/loteria/talavera-referencia-v1-opt.webp?v=20261013-2') center/380px 380px repeat;opacity:.14;z-index:0}
@media(max-width:760px){.welcome::after{border:0;background-size:290px 290px;opacity:.12}}

/* Calligraphy specifically requested for the couple, serif retained in titles. */
#welcome-names,#welcome-names span,#couple-names,#couple-names .ampersand{font-family:'Ephesis',cursive;font-style:normal;font-weight:400;letter-spacing:0}
#welcome-names{font-size:49px;line-height:1.2}#welcome-names span{font-size:40px}
#couple-names{font-size:116px;line-height:1}#couple-names .ampersand{font-size:63px}
@media(max-width:760px){#welcome-names{font-size:46px}#welcome-names span{font-size:36px}#couple-names{font-size:54px}#couple-names .ampersand{font-size:40px}}
@media(max-width:360px){#welcome-names{font-size:39px}#welcome-names span{font-size:31px}#couple-names{font-size:45px}#couple-names .ampersand{font-size:34px}}
@media(max-height:620px) and (min-width:761px){#welcome-names{font-size:39px}#welcome-names span{font-size:31px}}
/* Match the itinerary numbers: blue ink with a cream outline, no box. */
.loteria-card-top>span:first-child{background:transparent;border:0;border-radius:0;box-shadow:none;-webkit-text-stroke:3px #f5dfb5;paint-order:stroke fill}
