:root{--paper:#fcf9f2;--cream:#efe5d1;--ink:#514536;--gold:#947338;--line:#cdbb96;--serif:'Cormorant Garamond',Georgia,serif;--sans:Arial,Helvetica,sans-serif;--script:'Great Vibes',cursive}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0 auto;max-width:660px;background:var(--paper);color:var(--ink);font:20px/1.6 var(--serif);box-shadow:0 0 85px #6d503d18;position:relative}html{background:#e8dfd1}button,input,textarea{font:inherit}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}h1,h2,h3,h4,p{margin-top:0}h2{font:normal 47px/1.2 var(--script);color:var(--gold);margin-bottom:25px}h3{font:normal 35px/1.2 var(--serif)}.topbar{height:61px;display:flex;align-items:center;justify-content:space-between;padding:0 25px;background:var(--paper);border-bottom:1px solid #d7cbb74d}.brand{font:27px var(--script);letter-spacing:3px;text-decoration:none}.brand i{font:italic 19px var(--serif);color:var(--gold)}.topbar>span{font:11px var(--sans);letter-spacing:2px}.header-rsvp{font:12px var(--sans);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:4px}.hero{position:relative;overflow:hidden;background:var(--paper);min-height:calc(100svh - 61px)}.portrait-wrap{position:relative;height:clamp(240px,39svh,400px);margin:18px 18px 0;border:1px solid #c2ac7d;padding:6px;background:#fffcf7}.hero-image{width:100%;height:100%;object-fit:cover;object-position:50% 38%;display:block;transition:transform 1.1s ease,opacity .9s ease}.hero-content{position:relative;isolation:isolate;text-align:center;padding:33px 30px 53px;transition:opacity .7s ease,transform .7s ease}.hero-content::before{content:"";position:absolute;inset:0;z-index:-1;background:url('/floral-paper.png') center/100% 100% no-repeat;opacity:.68}.eyebrow{font:12px/1.7 var(--sans);letter-spacing:2.5px;color:var(--gold);margin-bottom:22px}.hero .eyebrow{font-size:11px;letter-spacing:3px;margin-bottom:12px}.hero h1{font:normal clamp(51px,12vw,79px)/1.45 var(--script);color:#886a31;margin:0 0 3px;white-space:nowrap}.hero h1 em{font:italic .5em var(--serif);padding:0 3px}.hero-message{font:italic 20px/1.45 var(--serif);margin-bottom:21px}.cover-date{display:flex;align-items:center;justify-content:center;gap:15px;margin:20px 0}.cover-date>span{min-width:70px;font:11px/1.7 var(--sans);letter-spacing:1.5px}.cover-date strong{font:52px/1 var(--serif);color:var(--gold);border-left:1px solid var(--line);border-right:1px solid var(--line);padding:4px 23px}.hero-place{font:10px/1.7 var(--sans);letter-spacing:1.4px;margin-bottom:23px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 27px;background:#8e743f;color:white;border:1px solid #8e743f;border-radius:2px;font:13px/1.6 var(--sans);text-decoration:none;letter-spacing:.5px;cursor:pointer;transition:background .25s,transform .25s}.button:hover{background:#735c30;transform:translateY(-2px)}.button.outline{background:#fffcf4c9;border:1px solid var(--gold);color:#735820;min-width:210px}.button.outline:hover{background:#f0e5cc}.cover-signature,.welcome>.welcome-signature{font:27px var(--script);color:#8c7854;letter-spacing:0}.cover-signature{margin:20px 0 0}.hero.is-opening .hero-content{opacity:.15;transform:translateY(-12px) scale(.97)}.hero.is-opening .hero-image{opacity:.7}.section{padding:76px 35px;text-align:center;position:relative}.welcome{background:var(--paper) url('/floral-paper.png') center/100% 100% no-repeat;padding:115px 35px 120px}.welcome>p:not(.eyebrow){font-size:21px;max-width:440px;margin-left:auto;margin-right:auto}.welcome h2{font:italic 33px/1.4 var(--serif);color:#6b5b46}.full-names{display:flex;flex-direction:column;align-items:center;gap:17px;margin:40px 0 25px}.full-names>div{display:flex;flex-direction:column}.full-names .script-name{font:51px/1.4 var(--script);color:#8d6e32}.full-names>div>span:last-child{font:19px var(--serif);letter-spacing:1px}.full-names>i{font:italic 29px var(--serif);color:var(--gold)}.signature{font-style:italic;color:#7d6a4c}.countdown-section{text-align:center;background:#f0e6d2;padding:52px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}.countdown{display:flex;align-items:center;justify-content:center;gap:18px}.countdown>div{display:flex;flex-direction:column;min-width:68px}.countdown strong{font:normal 64px/1.1 var(--serif);color:#896f34;font-variant-numeric:tabular-nums}.countdown span{font:10px/2 var(--sans);letter-spacing:2px}.countdown>i{font:24px var(--serif);color:#baa578;padding-bottom:19px}.countdown-section>p:last-child{font-style:italic;margin:22px 0 0}.section-heading{margin-bottom:35px}.section-heading .eyebrow{margin-bottom:16px}.event-grid{display:grid;grid-template-columns:1fr;gap:25px}.event-card{padding:36px 24px;text-align:center;border:1px solid var(--line);background:#fffdf8;outline:1px solid #e1d6be;outline-offset:-7px}.event-number{font:italic 29px var(--serif);color:#a58b58;display:block;margin-bottom:16px}.event-card .eyebrow{margin-bottom:12px}.event-card h3{font-style:italic;margin-bottom:23px;color:#76623b}.event-time{font:48px/1 var(--serif);color:#8e743b;margin:0 0 24px}.event-time span{font-size:24px}.event-card h4{font:500 29px/1.25 var(--serif);margin:0 auto 12px;max-width:310px}.event-card p{margin-bottom:16px}.event-card .subtle{font-size:17px;color:#7b725f}.event-card .button{margin-top:8px;max-width:100%}.pending{font:14px var(--sans);color:#8d7b58;margin:22px 0!important}.calendar-links{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin:33px 0 0}.calendar-links>span{flex-basis:100%;font-style:italic}.calendar-links a{font:13px var(--sans);color:#82692f;text-underline-offset:5px;min-height:35px}.details-band{background:#f4eddc url('/floral-paper.png') center/100% 100% no-repeat;text-align:center;padding:90px 35px;display:grid;gap:75px}.detail-section{min-width:0}.detail-section p{font-size:20px}.swatches{display:flex;gap:17px;justify-content:center;margin:30px 0 22px}.swatches span{display:block;width:32px;height:32px;border-radius:50%;background:var(--swatch);border:1px solid #00000010;outline:1px solid #b9a782;outline-offset:4px}.small,.detail-section .small{font:12px/1.8 var(--sans);color:#807561}.detail-section details{text-align:left;background:#fffdf7b8;border-top:1px solid #cdbd9b;border-bottom:1px solid #cdbd9b;margin-top:25px;padding:0 15px}.detail-section summary{font:14px/1.7 var(--sans);padding:17px 0;cursor:pointer;min-height:52px}.detail-section details p{font-size:19px;padding:3px 0 15px}.gallery-section{padding-top:75px;padding-bottom:75px}.gallery-pending{padding:37px 22px;margin-top:30px;border:1px solid var(--line);background:#f6efe2}.gallery-monogram{font:55px var(--script);letter-spacing:5px;color:#9d8454}.gallery-monogram i{font:italic 35px var(--serif)}.gallery-pending p{font:italic 21px var(--serif);margin:15px 0 0;color:#887959}.rsvp-section{padding:80px 35px 70px;background:#ece2cc;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.rsvp-intro{text-align:center;margin-bottom:35px}.rsvp-intro h2{font-size:49px}.rsvp-intro p{font-size:21px}.rsvp-date{display:block;font:italic 27px var(--serif);color:#8c743b;margin:25px 0 35px}form{text-align:left;min-width:0;background:#fffdf6;padding:28px 23px;border:1px solid #ccba94}form>label,#guest-details>label{display:block;font:14px/1.7 var(--sans);margin-bottom:9px}label small{font:12px var(--sans);color:#8b806d;margin-left:7px}input:not([type=radio]),textarea{display:block;width:100%;min-height:47px;border:1px solid #c9bfae;background:#fcfaf4;color:#4f483b;border-radius:2px;padding:12px;font:16px/1.5 var(--sans);margin-bottom:23px}input::placeholder,textarea::placeholder{color:#8c8579;font-size:14px}fieldset{border:0;margin:0 0 25px;padding:0}legend{font:14px var(--sans);margin-bottom:16px}.attendance-options{display:flex;flex-direction:column;gap:14px}.attendance-options label{font:14px/1.5 var(--sans);display:flex;align-items:center;gap:9px;cursor:pointer;min-height:30px}.attendance-options input{width:18px;height:18px;accent-color:#8e743f}.privacy{font:12px/1.8 var(--sans);color:#827765;margin-bottom:23px}form .button{width:100%;padding:13px 14px}form .button:disabled{opacity:.65;cursor:wait}#form-status{font:14px/1.6 var(--sans);margin:18px 0 0}footer{text-align:center;background:var(--paper) url('/floral-paper.png') center/100% 100% no-repeat;padding:115px 30px 125px}.footer-names{font:56px/1.4 var(--script);color:#92743b;margin:20px 0}.footer-names i{font:italic 31px var(--serif)}.text-link{display:block;width:fit-content;margin:24px auto;border:0;border-bottom:1px solid var(--gold);background:none;color:#896a30;padding:6px 0;font:14px var(--sans);cursor:pointer}#share-status{font:14px var(--sans)}.music-control{position:fixed;bottom:16px;right:max(16px,calc((100vw - 640px)/2));z-index:10;background:#fffbf0ee;border:1px solid #b8a16c;color:#80632b;border-radius:30px;box-shadow:0 4px 20px #513e241a;display:flex;align-items:center;gap:8px;padding:10px 15px;font:12px var(--sans);cursor:pointer;min-height:44px}.music-control>span:first-child{font-size:20px}.js-motion .reveal{opacity:0;transform:translateY(20px);transition:opacity .85s ease,transform .85s ease}.js-motion .reveal.is-visible{opacity:1;transform:none}#bienvenida:focus{outline:none}@media(min-width:700px){body{margin:30px auto}.portrait-wrap{height:410px;margin:22px 24px 0}.hero-content{padding:35px 55px 60px}.hero h1{font-size:83px}.hero-message{font-size:23px}.section{padding-left:70px;padding-right:70px}.welcome{padding-top:135px;padding-bottom:135px}.details-band{padding:100px 70px}.rsvp-section{padding:85px 65px}.topbar{padding:0 30px}.hero{min-height:0}.countdown{gap:28px}.countdown strong{font-size:78px}footer{padding-left:60px;padding-right:60px}}@media(max-width:360px){.hero h1{font-size:49px}.hero-content{padding-left:20px;padding-right:20px}.topbar{padding:0 18px}.topbar>span{font-size:10px;letter-spacing:1px}.section,.details-band,.rsvp-section{padding-left:23px;padding-right:23px}form{padding:24px 17px}.full-names .script-name{font-size:44px}.countdown{gap:12px}.countdown strong{font-size:57px}.hero-place{letter-spacing:1px}.footer-names{font-size:49px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}.hero.is-opening .hero-content{opacity:1;transform:none}}
/* Soften the paper behind text while keeping the floral edges visible. */
.welcome,.details-band,footer{background-image:linear-gradient(to bottom,#fcf9f210 0%,#fcf9f2df 23%,#fcf9f2dd 74%,#fcf9f210 100%),url('/floral-paper.png');background-position:center;background-size:100% 100%;background-repeat:no-repeat}
.hero-content::before{background-image:linear-gradient(to bottom,#fcf9f200,#fcf9f2bb 20%,#fcf9f2cc 76%,#fcf9f200),url('/floral-paper.png');background-size:100% 100%}
/* A keepsake parchment for the countdown, and gently animated floral ribbons. */
.countdown-section{padding:18px 7px 25px;background:#eae0cd;border:0}
.parchment-timer{position:relative;isolation:isolate;min-height:410px;display:flex;flex-direction:column;justify-content:center;padding:78px 23px 83px}
.parchment-timer::before{content:"";position:absolute;inset:0;z-index:-1;background:url('/countdown-parchment.png') center/100% 100% no-repeat;filter:drop-shadow(0 8px 6px #6d502126)}
#countdown-label{font:normal 39px/1.23 var(--script);text-transform:none;letter-spacing:0;max-width:340px;margin:0 auto 26px;color:#876328;text-wrap:balance}
.parchment-timer .countdown{gap:12px}
.parchment-timer .countdown strong{font-size:72px;color:#7c5e28;text-shadow:0 1px 0 #fff9e8}
.parchment-timer .countdown>div{min-width:70px}
.parchment-timer .countdown span{font-size:11px;letter-spacing:2px;color:#77603c}
.timer-date{font:italic 21px/1.5 var(--serif);color:#7f6b47;margin:25px 0 0}
.events{padding-top:35px}
.event-bow{display:block;object-fit:contain;height:auto;pointer-events:none;user-select:none;margin-left:auto;margin-right:auto;filter:drop-shadow(0 3px 3px #88714c12)}
.heading-bow{width:min(260px,80%);margin-bottom:9px}
.events .section-heading{margin-bottom:36px}
.events .section-heading h2{transform-origin:center;font-size:51px}
.events .section-heading.is-visible h2{animation:title-bloom 1.2s cubic-bezier(.2,.75,.25,1) both}
.events .section-heading.is-visible .heading-bow{animation:ribbon-breeze 6.5s ease-in-out infinite}
.ceremony-card{background:linear-gradient(180deg,#f7f0e0,#fffdf8 48%);padding-top:20px}
.ceremony-bow{width:160px;margin-bottom:12px}
.ceremony-card .event-number{margin-bottom:12px}
.ceremony-card.is-visible .ceremony-bow{animation:ribbon-breeze 7.5s ease-in-out infinite reverse}
@keyframes title-bloom{0%{opacity:0;transform:scale(.87) translateY(10px)}55%{opacity:1;transform:scale(1.045) translateY(-2px)}78%{transform:scale(.992)}100%{opacity:1;transform:scale(1)}}
@keyframes ribbon-breeze{0%,100%{transform:translateY(0) rotate(-1.2deg)}50%{transform:translateY(-5px) rotate(1.2deg)}}
@media(min-width:700px){.parchment-timer{min-height:460px;padding:100px 45px}#countdown-label{font-size:49px;max-width:440px}.parchment-timer .countdown{gap:24px}.parchment-timer .countdown strong{font-size:88px}.heading-bow{width:295px}.ceremony-bow{width:185px}.events{padding-top:40px}}
@media(max-width:360px){.parchment-timer{padding-left:15px;padding-right:15px;min-height:390px}#countdown-label{font-size:35px;max-width:260px}.parchment-timer .countdown{gap:8px}.parchment-timer .countdown>div{min-width:59px}.parchment-timer .countdown strong{font-size:64px}.events .section-heading h2{font-size:46px}.timer-date{font-size:19px}}
@media(prefers-reduced-motion:reduce){.events .section-heading h2,.event-bow{animation:none!important;transform:none!important}}

/* The invitation opens directly on the photograph, without a text header. */
.hero{min-height:100svh;padding-top:1px}
@media(min-width:700px){.hero{min-height:0}}

@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/jost-regular.ttf') format('truetype')}
.hero .eyebrow{font-family:'Jost',Arial,sans-serif;font-size:15px;font-weight:400;line-height:1.65;letter-spacing:3px;color:#816735;margin-bottom:14px}
/* A single ceremony card, styled as fine arched wedding stationery. */
.events{padding:66px 25px 80px}
.events .section-heading{margin-bottom:34px}
.ceremony-card{position:relative;border:1px solid #b99d66;border-radius:160px 160px 4px 4px;outline:0;padding:44px 27px 43px;background:linear-gradient(160deg,#fffdf8 15%,#f7eedb 100%);box-shadow:0 14px 32px #81633a16;isolation:isolate}
.ceremony-card::before{content:"";position:absolute;inset:8px;z-index:-1;border:1px solid #dbccad;border-radius:153px 153px 1px 1px;pointer-events:none}
.ceremony-bow{width:172px;margin:0 auto 24px}
.ceremony-card .eyebrow{font-family:'Jost',Arial,sans-serif;font-size:13px;letter-spacing:2.2px;color:#8b723c;margin-bottom:18px}
.ceremony-card h3{font:normal 43px/1.3 var(--script);color:#83642c;margin-bottom:28px}
.ceremony-card .event-time{font:normal 74px/1 var(--serif);letter-spacing:-2px;color:#73592c;margin-bottom:29px}
.ceremony-card .event-time span{font-size:29px;letter-spacing:0}
.ceremony-card h4{font:500 33px/1.18 var(--serif);max-width:370px;color:#574832;margin-bottom:13px;text-wrap:balance}
.ceremony-card .ceremony-place{font:italic 22px/1.5 var(--serif);color:#857254;margin-bottom:26px}
.ceremony-card .subtle{font:18px/1.6 var(--serif);border-top:1px solid #d0bc96;border-bottom:1px solid #d0bc96;padding:13px 3px;margin:0 auto 23px;width:100%;max-width:330px;color:#77613e}
.ceremony-card .button{background:transparent;border-color:#a3864c;color:#765a25;min-height:50px;padding:13px 23px;font-family:'Jost',Arial,sans-serif;font-size:14px;letter-spacing:1px;margin-top:0}
.ceremony-card .button:hover{background:#eadbc0}
@media(min-width:700px){.events{padding:75px 47px 95px}.ceremony-card{padding:52px 42px 48px;border-radius:220px 220px 4px 4px}.ceremony-card::before{border-radius:213px 213px 1px 1px}.ceremony-bow{width:210px}.ceremony-card h3{font-size:51px}.ceremony-card h4{font-size:38px}.ceremony-card .event-time{font-size:85px}}
@media(max-width:360px){.events{padding-left:17px;padding-right:17px}.ceremony-card{padding:40px 21px 36px}.ceremony-card h3{font-size:38px}.ceremony-card h4{font-size:29px}.ceremony-card .event-time{font-size:68px}.ceremony-card .eyebrow{font-size:12px;letter-spacing:1.7px}}
/* Tappable sections also expose a normal keyboard-accessible next button. */
.tap-section{cursor:pointer}
.tap-section form{cursor:auto}
.section-next{display:block;width:fit-content;min-height:44px;margin:27px auto 0;padding:10px 15px;border:0;border-bottom:1px solid #c5b18b;border-radius:0;background:transparent;color:#8b7141;font:12px/1.8 'Jost',Arial,sans-serif;letter-spacing:1px;cursor:pointer}
.section-next:hover{color:#624617;background:#ddc9a119}
.parchment-timer{align-items:center;text-align:center;width:100%}
.parchment-timer .countdown{justify-content:center;max-width:100%}
.countdown-section>.section-next{margin-top:3px;margin-bottom:12px}
.tap-section:focus,#despedida:focus{outline:none}

/* Welcome: centered wedding stationery, with the couple as its focal point. */
#bienvenida{
  --welcome-gold:#82672f;
  --welcome-ink:#625441;
  isolation:isolate;
  padding:4.5rem 1.875rem 4rem;
  color:var(--welcome-ink);
  background-color:#fbf7ef;
  background-image:linear-gradient(180deg,#fbf7ef15 0%,#fbf7efda 19%,#fbf7eff2 40%,#fbf7eff0 68%,#fbf7ef50 100%),url('/floral-paper.png');
  background-size:100% 100%;
  background-position:center;
  background-repeat:no-repeat;
}
#bienvenida::before{
  content:"";
  position:absolute;
  inset:1.375rem .875rem;
  z-index:-1;
  pointer-events:none;
  border:1px solid #bca47766;
  outline:1px solid #cbb99438;
  outline-offset:-5px;
}
#bienvenida>.welcome-signature{
  font:italic 1.375rem/1.45 var(--serif);
  color:#826d48;
  margin:0 auto 1.125rem;
  letter-spacing:0;
}
#bienvenida>.welcome-message{
  font:italic clamp(1.5rem,6.2vw,1.875rem)/1.4 var(--serif);
  color:var(--welcome-ink);
  max-width:28rem;
  margin:0 auto 2rem;
  text-wrap:balance;
}
#bienvenida .full-names{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0;
  margin:0 auto 1.875rem;
  max-width:100%;
  font-style:normal;
  font-weight:400;
  color:var(--welcome-gold);
}
#bienvenida .welcome-person{display:flex;flex-direction:column;align-items:center;max-width:100%;width:100%}
#bienvenida .script-name{
  display:block;
  max-width:100%;
  padding:.08em .06em 0;
  font-family:var(--script);
  font-weight:400;
  font-style:normal;
  line-height:1.3;
  color:var(--welcome-gold);
  text-wrap:balance;
}
#bienvenida .bride-name{font-size:clamp(4.375rem,19vw,5.625rem)}
#bienvenida .groom-name{font-size:clamp(2.5rem,13.2vw,4.375rem)}
#bienvenida .family-name{
  display:block;
  font:400 clamp(1.25rem,5.2vw,1.5rem)/1.5 var(--serif);
  letter-spacing:.065em;
  color:var(--welcome-ink);
}
#bienvenida .welcome-ampersand{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1rem;
  margin:.625rem 0 .25rem;
  font:italic 2rem/1.4 var(--serif);
  color:#947a44;
}
#bienvenida .welcome-ampersand::before,#bienvenida .welcome-ampersand::after{
  content:"";
  width:2.75rem;
  height:1px;
  background:#bba57799;
}
#bienvenida>.welcome-blessing{
  max-width:23rem;
  margin:0 auto 1.5rem;
  font:400 clamp(1.1875rem,4.8vw,1.375rem)/1.6 var(--serif);
  text-wrap:pretty;
}
#bienvenida>.signature{
  max-width:22rem;
  margin:0 auto;
  font:italic 1.3125rem/1.5 var(--serif);
  color:#806a41;
  text-wrap:balance;
}
#bienvenida>.section-next{margin-top:1.5rem;font-size:.875rem;letter-spacing:.04em;color:#806a41}
@media(min-width:700px){
  #bienvenida{padding:5.5rem 4.5rem 4.75rem}
  #bienvenida::before{inset:1.75rem 1.875rem}
  #bienvenida>.welcome-message{margin-bottom:2.25rem}
}
@media(max-width:360px){
  #bienvenida{padding:3.75rem 1.625rem 3.75rem}
  #bienvenida .family-name{letter-spacing:.045em}
}

/* A vivid floral cover: the portrait stays independent from its floral frame. */
#inicio{
  --cover-gold:#94722e;
  min-height:0;
  padding-top:clamp(2.875rem,8vw,4.25rem);
  background:#fcf8ed;
  background-image:url('/floral-paper.png');
  background-position:center bottom;
  background-size:100% auto;
  background-repeat:no-repeat;
  overflow:hidden;
}
#inicio .portrait-wrap{
  position:relative;
  z-index:2;
  height:auto;
  aspect-ratio:1;
  margin:0 1.125rem;
  padding:.375rem;
  border:1px solid #b49a5d;
  background:#fffcf3;
  box-shadow:0 3px 15px #7662410d;
}
#inicio .hero-image{width:100%;height:100%;object-fit:cover;object-position:50% 0%}
.portrait-flowers{
  position:absolute;
  z-index:3;
  display:block;
  width:60%;
  max-width:23rem;
  height:auto;
  pointer-events:none;
  user-select:none;
}
.portrait-flowers-top{top:-13%;right:-8%}
.portrait-flowers-bottom{bottom:-11%;left:-9%;transform:rotate(180deg);width:57%}
#inicio .hero-content{
  padding:2.5rem 1.625rem 2.875rem;
  isolation:isolate;
}
#inicio .hero-content::before{
  inset:0;
  opacity:1;
  background:linear-gradient(180deg,#fcf8ed90 0%,#fcf8eddd 24%,#fcf8edc4 55%,#fcf8ed00 100%);
}
#inicio .eyebrow{
  position:relative;
  z-index:4;
  font:400 clamp(.9375rem,3.5vw,1.1875rem)/1.6 'Jost',Arial,sans-serif;
  color:#886c34;
  letter-spacing:.17em;
  margin:0 auto 1.25rem;
}
#inicio h1{
  position:relative;
  z-index:4;
  font:400 clamp(3.125rem,13.1vw,5.5rem)/1.4 var(--script);
  color:var(--cover-gold);
  margin:0 auto 1rem;
  white-space:normal;
  text-wrap:balance;
}
#inicio h1 em{font:italic .52em/1 var(--serif);padding:0 .06em}
#inicio .hero-message{
  font:italic clamp(1.25rem,5vw,1.6875rem)/1.55 var(--serif);
  color:#403d30;
  margin:0 auto 1.875rem;
  text-wrap:balance;
}
#inicio .cover-date{gap:1.25rem;margin:0 auto 1.75rem;max-width:100%}
#inicio .cover-date>span{
  min-width:0;
  flex:1;
  max-width:7.5rem;
  font:400 clamp(.875rem,3.2vw,1rem)/1.65 'Jost',Arial,sans-serif;
  color:#514b3c;
  letter-spacing:.04em;
}
#inicio .cover-date strong{
  flex-shrink:0;
  padding:.375rem 1.5rem;
  font:400 clamp(3.5rem,13.5vw,4.75rem)/1.1 var(--serif);
  color:#a08543;
  border-color:#b49a5d;
}
#inicio .hero-place{
  font:400 clamp(.875rem,3.05vw,1rem)/1.6 'Jost',Arial,sans-serif;
  letter-spacing:.035em;
  color:#514b3c;
  margin:0 auto 1.875rem;
  text-wrap:balance;
}
#inicio .button.outline{
  position:relative;
  width:min(100%,21.5rem);
  min-width:0;
  min-height:3.25rem;
  padding:.875rem 1.125rem;
  border:1px solid #9e8448;
  border-radius:1px;
  background:#fffcf380;
  color:#514738;
  font:400 clamp(.9375rem,3.5vw,1.125rem)/1.5 'Jost',Arial,sans-serif;
  letter-spacing:.09em;
  text-transform:uppercase;
}
#inicio .button.outline::before,#inicio .button.outline::after{
  content:"";
  position:absolute;
  top:50%;
  width:.625rem;
  height:.625rem;
  border:1px solid #9e8448;
  background:#fcf8ed;
  transform:translateY(-50%) rotate(45deg);
}
#inicio .button.outline::before{left:-.375rem}
#inicio .button.outline::after{right:-.375rem}
#inicio .button.outline:hover{background:#eee0bf}
#inicio .cover-signature{
  font:400 clamp(1.9375rem,7.4vw,2.625rem)/1.4 var(--script);
  color:#51432f;
  letter-spacing:0;
  margin:1.875rem 0 0;
}
@media(min-width:700px){
  #inicio .portrait-wrap{margin-left:1.75rem;margin-right:1.75rem}
  #inicio .hero-content{padding:3.25rem 3.25rem 3.75rem}
  #inicio .eyebrow{margin-bottom:1.5rem}
}
@media(max-width:360px){
  #inicio .hero-content{padding-left:1.375rem;padding-right:1.375rem}
  #inicio .cover-date{gap:.75rem}
  #inicio .cover-date strong{padding-left:1.125rem;padding-right:1.125rem}
}

/* Bright gold lettering for the couple throughout the invitation. */
#inicio h1,#bienvenida .script-name,#despedida .footer-names{
  color:#b7810b;
  text-shadow:0 1px 1px #79510b1a;
}
#bienvenida .family-name,#bienvenida .welcome-ampersand{color:#a9780a}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
  #inicio h1,#bienvenida .script-name,#despedida .footer-names{
    background-image:linear-gradient(165deg,#996209 5%,#dca91f 23%,#f5d875 36%,#b47a08 49%,#efcb56 57%,#c18a0d 76%,#e5b631 95%);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    color:transparent;
  }
}

/* Keep the announcement above the portrait's overlapping flowers on phones. */
#inicio .hero-content{z-index:4}
#inicio .hero-announcement{
  width:fit-content;
  max-width:100%;
  margin:0 auto 1.5rem;
  padding:.75rem 1.25rem;
  border:0;
  background:none;
  box-shadow:none;
  color:#865807;
  font:500 clamp(1.375rem,5.6vw,1.875rem)/1.35 'Jost',Arial,sans-serif;
  letter-spacing:.09em;
  text-wrap:balance;
  transform-origin:center;
}
@media(prefers-reduced-motion:no-preference){
  #inicio .hero-announcement.is-visible{animation:announcement-boom .9s ease-out both}
}
@keyframes announcement-boom{
  0%{transform:translateY(6px) scale(.86)}
  42%{transform:translateY(-2px) scale(1.08) rotate(-.7deg)}
  64%{transform:translateY(0) scale(.98) rotate(.4deg)}
  82%{transform:scale(1.025)}
  100%{transform:none}
}
