@import url("/static/previews/modern-weddings/base.bb745b917525.css");
.beautiful-age{--paper:#f7f3ea;--ink:#3e382f;--soft:#e9e1d2;--accent:#806647;--line:#b8a88d;font-family:Arial,sans-serif}
.graphite{--paper:#212427;--ink:#eee9df;--soft:#2c3033;--accent:#c8b697;--line:#747473}
.beautiful-age main{container-type:inline-size}.beautiful-age h1,.beautiful-age h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em}.beautiful-age h1{font-size:clamp(50px,6.8cqw,108px)}.beautiful-age h2{font-size:clamp(36px,4.6cqw,66px);line-height:1.12}
.hero{min-height:850px;padding:105px 9% 100px;grid-template-columns:1.05fr 1fr;background:radial-gradient(ellipse at 78% 48%,#fffdf7 0,transparent 55%)}
.graphite .hero{background:radial-gradient(ellipse at 77% 42%,#484744 0,transparent 58%)}
.hero:before{content:'';position:absolute;left:6%;right:6%;bottom:58px;border-bottom:1px solid var(--line);opacity:.5}.hero-copy{position:relative;max-width:100%}.hero .eyebrow{letter-spacing:.14em;font-size:16px;margin-bottom:30px}.hero h1{margin:0 0 8px}.age-number{font:italic clamp(130px,18cqw,245px)/.95 Georgia,serif;letter-spacing:-.085em;color:var(--accent);margin:16px 0 24px}.birthday-age{display:block}.age-number:has([hidden]){display:none}.hero .subtitle{font-size:21px;letter-spacing:.02em}.hero .date{font-size:18px;border:0;border-left:1px solid var(--line);padding:0 0 0 20px;margin-top:28px}.art-stage{margin:0 -15% 0 -8%;animation:none;align-self:center}.art-stage img{max-height:670px;object-fit:contain;filter:drop-shadow(0 25px 28px #32271918)}.hero-foot{left:9%;bottom:22px;font:16px Arial;letter-spacing:.08em}.portrait-add{position:absolute;right:9%;bottom:80px}.hero #portrait{margin:0 0 0 7%;width:93%;max-height:650px;overflow:hidden;border-radius:180px 180px 4px 4px;grid-column:2;grid-row:1;align-self:center}.hero #portrait img{display:block;width:100%;height:auto;max-height:650px;object-fit:contain}.graphite .hero #portrait{border-radius:2px}
.intro{padding:95px 9%;grid-template-columns:1fr 2fr;gap:60px}.section-mark{font-size:16px;letter-spacing:.09em;border-top:1px solid var(--line);padding-top:18px}.intro h2{margin-bottom:28px;max-width:700px}.intro p{font-size:18px;max-width:740px}.intro>div{border-left:1px solid var(--line);padding-left:50px}
.gallery-section{padding:85px 9%}.gallery img{height:auto;max-height:560px;object-fit:contain}.gallery figure{overflow:hidden}.gallery:has(figure:only-child)>figure{flex-basis:min(85%,470px)}
.venue{padding:90px 9%;text-align:left;display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center}.venue:not(:has(#venue-photo:not([hidden]))){display:block;text-align:center;border-bottom:1px solid var(--line);margin:0 9%;padding-inline:0}.venue h2{margin:20px 0}.venue:not(:has(#venue-photo:not([hidden]))) h2{margin-inline:auto}.venue figure{margin:0;overflow:hidden}.venue img{width:100%;height:auto;display:block}.venue .eyebrow{color:var(--accent)}
.program{padding:90px 9%;background:var(--soft);display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:start}.program h2{margin-top:25px}.schedule-row{display:grid;grid-template-columns:70px 1fr;gap:22px;padding:24px 0;border-top:1px solid var(--line);font-size:18px}.schedule-row time{font-size:17px;color:var(--accent)}.plan-text{grid-column:1/-1;white-space:pre-line}.program-heading .eyebrow{max-width:30ch}.invitation-details{padding:90px 12%;background:var(--paper)}.invitation-details .eyebrow{display:block;margin-bottom:24px}.details-copy:before{content:'';display:block;width:80px;height:40px;margin:0 auto 30px;border-top:1px solid var(--line);border-radius:50%}.invitation-details p{max-width:760px;font-size:18px}.rsvp{padding:85px 9%;background:var(--soft);border-block:1px solid var(--line)}.rsvp h2{max-width:800px;margin:24px auto 36px}.rsvp details{max-width:570px}.rsvp summary{border-radius:3px;font-size:18px}.rsvp form{border-radius:3px}.closing{background:var(--paper);padding-top:90px}.closing h2{font-size:clamp(40px,5.8cqw,82px);font-style:italic;max-width:900px}.closing:after{content:'';width:1px;height:60px;display:block;margin:45px auto 0;background:var(--line)}footer{background:var(--paper);padding-top:80px}footer a{font-size:14px}
.graphite .hero h1,.graphite .program h2{font-family:Arial,sans-serif;font-weight:300;letter-spacing:-.055em}.graphite .age-number{font-style:normal;color:#d9d3c7}.graphite .intro h2{font-style:italic}.graphite .rsvp summary{background:#e6ddd0;color:#232729}.graphite .section-mark{color:#ccc6bb}
.scene .waiting{opacity:0;translate:0 20px}.scene>div,.scene>img,.scene>h2{transition:opacity .85s ease,translate .85s ease}.scene>div:nth-child(2){transition-delay:.15s}.scene>div:nth-child(3){transition-delay:.25s}
@media(max-width:1000px) and (min-width:761px){.hero{min-height:740px;padding-inline:7%}.intro{gap:28px}.intro>div{padding-left:28px}.program,.venue{gap:35px}}
@media(max-width:760px){.hero{display:flex;flex-direction:column;min-height:0;padding:96px 7% 70px;gap:0}.hero .eyebrow{font-size:16px;max-width:24ch;margin:0 auto 22px}.hero h1,.editing .hero h1{font-size:clamp(46px,12vw,74px)}.age-number{font-size:clamp(125px,37vw,190px);margin:12px 0 22px}.hero .subtitle{font-size:18px}.hero .date{border:0;border-top:1px solid var(--line);padding:15px 0 0}.art-stage{width:100%;max-width:400px;margin:10px auto 0}.art-stage img{max-height:430px}.hero-foot{margin-top:12px;font-size:16px}.hero:before{bottom:40px}.hero #portrait{margin:35px auto 25px;width:88%;max-height:none}.hero #portrait img{max-height:500px}.portrait-add{position:static;margin:20px auto}.intro{padding:55px 8%;display:block}.intro>div{border:0;padding:0}.section-mark{display:block;margin-bottom:30px}.intro p{font-size:17px}.beautiful-age h2{font-size:clamp(34px,9vw,48px)}.venue,.program{display:block;padding:60px 8%}.venue figure{margin-top:30px}.program-heading{margin-bottom:35px}.schedule-row{font-size:17px;gap:12px;padding:20px 0}.invitation-details{padding:60px 8%}.rsvp{padding:65px 7%}.closing{padding:65px 8% 10px}.closing h2{font-size:42px}.gallery-section{padding:60px 7%}.gallery{gap:14px}.gallery img{height:auto;max-height:430px}.gallery:has(figure:only-child)>figure{flex-basis:88%}.editing .toolbar{flex-wrap:nowrap}.editing .toolbar button{padding-inline:12px}.editing #editor{height:calc(100svh - 68px)}}
@media(prefers-reduced-motion:reduce){.scene .waiting{opacity:1;translate:none}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Champagne: personal celebratory art replaces the abstract divider marks. */
.champagne .closing:after,.champagne .details-copy:before{content:none;display:none}
.champagne .detail-gift{display:block;width:clamp(160px,20vw,245px);height:auto;max-width:65%;margin:30px auto 0}
.champagne .closing-toast{display:block;width:clamp(220px,29vw,350px);height:auto;max-width:80%;margin:30px auto 0}
@media(max-width:760px){.champagne .detail-gift{width:180px}.champagne .closing-toast{width:250px;margin-top:24px}}

/* Keep the name and age together as one compact cover title. */
.beautiful-age .hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.beautiful-age .hero .eyebrow{margin-bottom:22px}
.beautiful-age .hero-identity{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 22px;width:100%;margin-bottom:18px}
.beautiful-age .hero-identity h1{margin:0;max-width:100%;min-width:0}
.beautiful-age .hero-identity .age-number{margin:0;font-size:clamp(105px,13cqw,185px);line-height:.95;flex-shrink:0}
.beautiful-age .hero .subtitle{font-size:20px;line-height:1.5;margin:0}
.beautiful-age .hero .date{margin-top:20px}
@media(max-width:760px){
 .beautiful-age .hero-copy{align-items:center;width:100%}
 .beautiful-age .hero .eyebrow{margin-bottom:20px}
 .beautiful-age .hero-identity{justify-content:center;gap:4px 18px;margin-bottom:18px}
 .beautiful-age .hero-identity h1,.beautiful-age.editing .hero-identity h1{font-size:clamp(42px,11vw,68px)}
 .beautiful-age .hero-identity .age-number{font-size:clamp(90px,26vw,140px)}
 .beautiful-age .hero .subtitle{font-size:18px}
 .beautiful-age .hero .date{margin-top:18px;padding-top:12px}
}
.graphite .hero-identity h1,.graphite.editing .hero-identity h1{font-size:clamp(38px,4.8cqw,76px)}
@media(max-width:760px){.graphite .hero-identity h1,.graphite.editing .hero-identity h1{font-size:clamp(34px,9vw,54px)}}

/* Champagne cover: the name and age carry the invitation on their own. */
.champagne .hero-identity h1,.champagne.editing .hero-identity h1{font-size:clamp(58px,8cqw,126px)}
.champagne .hero-identity .age-number{font-size:clamp(120px,15cqw,210px)}
.champagne .hero .subtitle{font-size:24px;line-height:1.45}
.champagne .hero .date{font-size:21px}
@media(max-width:760px){
 .champagne .hero-identity{gap:4px 14px}
 .champagne .hero-identity h1,.champagne.editing .hero-identity h1{font-size:clamp(46px,13vw,76px)}
 .champagne .hero-identity .age-number{font-size:clamp(104px,30vw,160px)}
 .champagne .hero .subtitle{font-size:21px}
 .champagne .hero .date{font-size:19px}
}
/* Fit the champagne cover to its content instead of reserving a tall screen. */
.champagne .hero{min-height:0;padding-top:78px;padding-bottom:76px}
.champagne .hero .art-stage img{max-height:clamp(410px,49cqw,590px)}
.champagne .hero #portrait,.champagne .hero #portrait img{max-height:570px}
@media(max-width:760px){
 .champagne .hero{padding-top:82px;padding-bottom:52px}
 .champagne .hero .art-stage{margin:0 auto}
 .champagne .hero .art-stage img{max-height:340px}
 .champagne .hero #portrait,.champagne .hero #portrait img{max-height:430px}
}
/* Keep the candles below the card's date on narrow phones. */
@media(max-width:380px){.collection .cover.champagne img{height:57%}}
