:root{--paper:#f8f7f3;--ink:#696756;--soft:#9c9988;--line:rgba(105,103,86,.20);--white:#fdfcf9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,Arial,sans-serif;font-weight:300}.nav{position:fixed;z-index:20;top:0;left:0;width:100%;height:76px;display:flex;align-items:center;padding:0 4.5vw;border-bottom:1px solid transparent;transition:.35s;background:linear-gradient(to bottom,rgba(248,247,243,.95),rgba(248,247,243,.72),transparent)}.nav.scrolled{background:rgba(248,247,243,.96);backdrop-filter:blur(12px);border-color:var(--line)}.nav-mark{font-family:Italiana,serif;text-decoration:none;color:var(--ink);font-size:20px;display:flex;align-items:center;gap:6px}.nav-mark span{width:1px;height:26px;background:var(--ink);display:inline-block}.desktop-nav{margin-left:auto;display:flex;align-items:center;gap:27px}.desktop-nav>a{font-size:9px;letter-spacing:.18em;color:var(--ink);text-decoration:none}.language{display:flex;align-items:center;gap:7px;margin-left:9px}.language button{border:0;background:none;color:var(--soft);font:300 9px Montserrat;letter-spacing:.12em;padding:0;cursor:pointer}.language .active{color:var(--ink)}.language i{height:11px;width:1px;background:var(--line)}.menu-button{display:none;margin-left:auto;border:0;background:none}.menu-button span{display:block;width:23px;height:1px;background:var(--ink);margin:6px}.hero{min-height:100svh;position:relative;overflow:hidden;padding:120px 4vw 32px;display:flex;flex-direction:column;align-items:center}.hero-title{text-align:center;position:relative;z-index:2}.monogram{display:flex;justify-content:center;align-items:center;gap:14px;font-family:Italiana,serif;font-size:52px;margin-bottom:19px}.monogram b{font-weight:400}.monogram>span{width:1px;height:57px;background:var(--ink);position:relative}.monogram i{width:7px;height:7px;background:var(--ink);position:absolute;top:25px;left:-3px;transform:rotate(45deg)}h1,h2{font-family:'Cormorant Garamond',serif;font-weight:300;margin:0}.hero h1{font-size:clamp(42px,5vw,72px);letter-spacing:.02em}.hero h1 em{font-weight:300;font-size:.65em}.hero-title>p{font-size:9px;letter-spacing:.26em;margin:17px 0 0}.hero-art{width:min(1380px,100%);margin-top:-25px}.hero-art img{width:100%;display:block;mix-blend-mode:multiply}.scroll{position:absolute;bottom:24px;text-decoration:none;color:var(--soft);font-size:8px;letter-spacing:.24em;display:flex;gap:10px;align-items:center}.scroll span{font-size:14px}.paper{background:var(--white)}.intro{min-height:100svh;display:grid;grid-template-columns:42% 58%;align-items:center;padding:9vw 8vw;gap:5vw;border-top:1px solid var(--line)}.eyebrow{font-size:9px;letter-spacing:.28em;margin:0 0 24px}.intro h2,.section h2{font-size:clamp(48px,5vw,76px);line-height:.93}.intro h2 em{font-weight:300}.body-copy{font-family:'Cormorant Garamond',serif;font-size:20px;line-height:1.6;max-width:540px;margin:34px 0;color:#777462}.text-link{display:inline-flex;gap:14px;color:var(--ink);text-decoration:none;font-size:9px;letter-spacing:.22em;padding-bottom:7px;border-bottom:1px solid var(--ink)}.intro-art{height:72vh;overflow:hidden}.intro-art img{width:100%;height:100%;object-fit:cover;object-position:center 63%;mix-blend-mode:multiply}.section{min-height:72vh;padding:10vw 8vw;border-top:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}.section>p:last-child{font-family:'Cormorant Garamond',serif;font-size:21px;margin-top:25px}footer{text-align:center;padding:75px 20px;border-top:1px solid var(--line)}.footer-monogram{font-family:Italiana,serif;font-size:28px}.footer-monogram span{font-size:7px;vertical-align:middle;margin:0 7px}footer p{font-size:8px;letter-spacing:.24em;margin-top:20px}.reveal{opacity:0;transform:translateY(14px);transition:opacity .9s ease,transform .9s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:850px){.nav{height:64px;padding:0 22px}.desktop-nav{display:none}.menu-button{display:block}.hero{padding:100px 14px 30px;min-height:92svh}.monogram{font-size:42px}.monogram>span{height:49px}.monogram i{top:21px}.hero h1{font-size:46px}.hero-title>p{font-size:7px;line-height:1.8;letter-spacing:.18em}.hero-art{width:135%;margin-top:22px}.intro{grid-template-columns:1fr;padding:100px 25px 70px;gap:55px}.intro-art{height:58vh;order:-1}.intro h2,.section h2{font-size:50px}.body-copy{font-size:19px}.section{min-height:60vh;padding:90px 25px}.scroll{display:none}}

/* Keep navigation prominent above the artwork. */
.nav,.nav.scrolled{background:rgba(248,247,243,.98);border-bottom:1px solid var(--line);box-shadow:0 4px 18px rgba(82,78,62,.05);backdrop-filter:blur(10px)}
.desktop-nav>a{font-size:10px;font-weight:400;letter-spacing:.14em;white-space:nowrap;padding:10px 0}
.desktop-nav>a:hover,.desktop-nav>a:focus-visible{color:#353a2e;text-decoration:underline;text-underline-offset:7px}
.language button{font-size:10px;font-weight:400}
section[id]{scroll-margin-top:90px}
@media(max-width:850px){
  .nav,.nav.scrolled{height:110px;padding:0 18px;display:flex;align-items:flex-start;flex-direction:column;justify-content:flex-start}
  .nav-mark{height:54px;flex:none}
  .desktop-nav{display:flex;width:100%;margin:0;gap:22px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:0 0 13px}
  .desktop-nav::-webkit-scrollbar{display:none}
  .desktop-nav>a{font-size:10px;flex:none;padding:8px 0}
  .language{flex:none;margin-left:0;padding:8px 0}
  .menu-button{display:none}
  .hero{padding-top:155px}
  section[id]{scroll-margin-top:125px}
}

.program{min-height:85vh}
.program-intro{font-family:'Cormorant Garamond',serif;font-size:22px;line-height:1.4;max-width:620px;margin:28px 0 55px;color:#777462}
.program-days{width:100%;border-top:1px solid var(--line)}
.event-day{border-bottom:1px solid var(--line)}
.event-day summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:28px;padding:27px 6px;outline-offset:5px}
.event-day summary::-webkit-details-marker{display:none}
.day-number{font-family:Italiana,serif;font-size:58px;line-height:1}
.day-name{font-family:'Cormorant Garamond',serif;font-size:35px;line-height:1}
.day-name small{font-family:Montserrat,sans-serif;font-size:10px;letter-spacing:.2em;margin-left:10px}
.day-action{margin-left:auto;font-size:10px;letter-spacing:.18em;display:flex;align-items:center;gap:22px;white-space:nowrap}
.day-action b{font-family:Montserrat,sans-serif;font-weight:300;font-size:26px;transition:transform .25s}
.event-day[open] .day-action b{transform:rotate(45deg)}
.day-content{padding:20px 6px 70px 95px;animation:day-reveal .35s ease}
.day-content h3{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(38px,4vw,58px);margin:0 0 25px}
.day-content h3 em{font-weight:300}
.moodboard-placeholder{min-height:280px;max-width:840px;border:1px solid var(--line);background:linear-gradient(135deg,#f1eee6 0%,#faf9f5 52%,#e8e4da 100%);display:grid;place-items:center;text-align:center;padding:30px}
.moodboard-placeholder span{font-family:'Cormorant Garamond',serif;font-size:25px;font-style:italic;color:#8c897a}
.attire{max-width:840px;border-top:1px solid var(--line);margin-top:34px;padding-top:24px}
.attire>span{font-size:10px;letter-spacing:.25em}
.attire p{font-family:'Cormorant Garamond',serif;font-size:25px;margin:12px 0 0;color:#777462}
@keyframes day-reveal{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(max-width:850px){.program-intro{font-size:20px;margin:25px 0 40px}.event-day summary{gap:14px;padding:23px 0}.day-number{font-size:48px}.day-name{font-size:29px}.day-name small{display:block;margin:5px 0 0}.day-action{font-size:9px;gap:5px}.day-content{padding:15px 0 50px}.moodboard-placeholder{min-height:220px}}

.rome-intro{font-family:'Cormorant Garamond',serif;font-size:22px;line-height:1.4;margin:28px 0 38px;color:#777462}
.rome-links{display:flex;gap:15px;flex-wrap:wrap;padding-bottom:50px;border-bottom:1px solid var(--line)}
.rome-links span{font-size:10px;letter-spacing:.17em;border:1px solid var(--line);padding:11px 15px}
.restaurants{padding-top:80px;scroll-margin-top:90px}
.restaurants h3{font-family:'Cormorant Garamond',serif;font-size:clamp(45px,5vw,72px);font-weight:400;line-height:1;margin:0 0 48px}
.restaurant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 50px}
.restaurant-card{border-top:1px solid var(--line);padding:29px 0 38px;display:flex;flex-direction:column;align-items:flex-start}
.restaurant-card>span{font-size:9px;letter-spacing:.2em;color:var(--soft)}
.restaurant-card h4{font-family:'Cormorant Garamond',serif;font-size:36px;font-weight:400;margin:17px 0 9px}
.restaurant-card p{font-family:'Cormorant Garamond',serif;font-size:21px;line-height:1.4;max-width:440px;margin:0 0 24px;color:#777462}
.restaurant-card address{font-style:normal;font-size:11px;letter-spacing:.04em;margin-top:auto;color:var(--soft)}
.restaurant-card a{color:var(--ink);font-size:9px;letter-spacing:.18em;text-decoration:none;border-bottom:1px solid var(--ink);padding:6px 0;margin-top:20px}
.restaurant-card a:hover,.restaurant-card a:focus-visible{color:#353a2e}
.restaurant-note{font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--soft);margin:12px 0 0}
@media(max-width:850px){.rome-links{gap:8px;padding-bottom:40px}.rome-links span{font-size:8px;padding:10px}.restaurants{padding-top:65px}.restaurant-grid{grid-template-columns:1fr}.restaurant-card h4{font-size:32px}.restaurant-card p{font-size:19px}}
.rome-links a{font-size:10px;letter-spacing:.17em;border:1px solid var(--line);padding:11px 15px;color:var(--ink);text-decoration:none}
.rome-links a:hover,.rome-links a:focus-visible{border-color:var(--ink);background:#eeece5}
@media(max-width:850px){.rome-links a{font-size:8px;padding:10px}}

.grand-day{display:grid;grid-template-columns:minmax(0,43%) minmax(0,57%);gap:5vw;align-items:center;padding:70px 0 25px;border-bottom:1px solid var(--line)}
.grand-art{background:var(--white)}
.grand-art img{display:block;width:100%;height:auto}
.grand-copy{padding:25px 2vw 25px 0}
.grand-copy h3{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(52px,5vw,78px);line-height:.95;margin:22px 0 25px}
.grand-copy h3 em{font-weight:300}
.grand-location{font-size:10px;letter-spacing:.26em;margin:0 0 45px}
.grand-time{font-family:'Cormorant Garamond',serif;font-size:clamp(38px,4vw,60px);line-height:1;margin:0 0 42px}
.grand-time span{font-size:.48em;font-style:italic;padding:0 7px}
.grand-dresscode{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.grand-dresscode summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.2em;padding:20px 4px;outline-offset:5px}
.grand-dresscode summary::-webkit-details-marker{display:none}
.grand-dresscode summary b{font-family:Montserrat,sans-serif;font-size:26px;font-weight:300;transition:transform .25s}
.grand-dresscode[open] summary b{transform:rotate(45deg)}
.grand-dresscode .day-content{padding:25px 4px 45px}
.grand-dresscode .day-content h4{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:42px;margin:0 0 20px}
.grand-dresscode .day-content h4 em{font-weight:300}
@media(max-width:850px){.grand-day{grid-template-columns:1fr;gap:35px;padding:45px 0 15px}.grand-art{max-width:500px;margin:0 auto}.grand-copy{padding:0}.grand-copy h3{font-size:56px}.grand-location{margin-bottom:25px}.grand-time{margin-bottom:30px}}

/* Day 07: frame only the watercolor and give the event details a quieter hierarchy. */
.grand-day{grid-template-columns:minmax(0,48%) minmax(0,52%);gap:4vw;padding:60px 0}
.grand-art{overflow:hidden}
.grand-art img{width:100%;aspect-ratio:1.5;object-fit:cover;object-position:center 45%}
.grand-copy{padding:15px 1vw 15px 0}
.grand-copy h3{font-size:clamp(38px,3.7vw,54px);line-height:1.05;margin:0 0 35px}
.grand-date{font-family:'Cormorant Garamond',serif;font-size:clamp(29px,2.7vw,39px);line-height:1.1;margin:0 0 10px}
.grand-location{font-family:'Cormorant Garamond',serif;font-size:clamp(23px,2vw,29px);letter-spacing:0;line-height:1.1;margin:0 0 38px}
.grand-time{font-family:Montserrat,sans-serif;font-size:16px;font-weight:400;letter-spacing:.1em;line-height:1.4;margin:0 0 32px}
.grand-time span{font-size:1em;font-style:normal;padding:0 5px}
@media(max-width:850px){.grand-day{grid-template-columns:1fr;gap:35px;padding:45px 0}.grand-art{width:100%;max-width:none}.grand-copy{padding:0}.grand-copy h3{font-size:43px;margin-bottom:25px}.grand-date{font-size:32px}.grand-location{font-size:25px;margin-bottom:28px}.grand-time{font-size:15px;margin-bottom:26px}}
.rome-art{width:min(1100px,100%);margin:0 auto 55px}
.rome-art img{display:block;width:100%;height:auto;mix-blend-mode:multiply}
@media(max-width:850px){.rome-art{width:120%;margin:0 -10% 38px}}

/* Abertura: aquarela de Roma e datas em uma composição leve. */
.hero{min-height:100svh;padding-bottom:55px;justify-content:center}
.hero-art{width:min(1040px,100%);margin:6px auto 0}
.hero-art img{max-height:58svh;object-fit:contain}
.hero-details{display:flex;align-items:center;justify-content:center;gap:27px;margin-top:14px;font-size:11px;font-weight:400;letter-spacing:.22em;line-height:1.6;text-align:center}
.hero-details-divider{width:25px;height:1px;background:var(--line)}
@media(max-width:850px){.hero{justify-content:flex-start;min-height:88svh;padding-bottom:55px}.hero-art{width:112%;margin:20px -6% 0}.hero-art img{max-height:none}.hero-details{gap:12px;margin-top:12px;font-size:10px;letter-spacing:.14em}.hero-details-divider{width:14px}}

.hero-art{width:100vw;max-width:none;margin:12px 0 0}
.hero-art img{width:100%;height:57svh;max-height:none;object-fit:cover;object-position:center 55%}
.hero-details{margin-top:22px;font-size:15px;letter-spacing:.17em;gap:32px}
@media(max-width:850px){.hero{padding-left:0;padding-right:0}.hero-title{padding:0 16px}.hero-art{width:100vw;margin:22px 0 0}.hero-art img{height:50svh;object-fit:cover;object-position:center 55%}.hero-details{margin-top:20px;padding:0 14px;font-size:12px;letter-spacing:.1em;gap:13px}}

/* Introdução emoldurada sem imagem, com espaço para o texto respirar. */
.intro{min-height:78svh;display:flex;justify-content:center;align-items:center;padding:110px 8vw;gap:0}
.intro-copy{width:min(890px,100%);border:1px solid var(--line);padding:88px clamp(34px,7vw,110px) 82px;text-align:center}
.intro h2{font-size:clamp(52px,5vw,72px);line-height:1.02}
.intro .body-copy{max-width:650px;margin:34px auto 36px}
.intro .text-link{justify-content:center}
@media(max-width:850px){.intro{min-height:0;padding:80px 20px}.intro-copy{padding:62px 25px 58px}.intro h2{font-size:clamp(43px,9vw,58px)}.intro .body-copy{font-size:19px;line-height:1.55;margin:30px auto 33px}}

.restaurant-page{max-width:1320px;margin:0 auto;padding:145px 8vw 115px}
.restaurant-back{display:inline-block;color:var(--ink);font-size:10px;letter-spacing:.18em;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:8px}
.restaurant-back:hover,.restaurant-back:focus-visible{border-color:var(--ink)}
.restaurant-page-heading{text-align:center;margin:72px auto 85px}
.restaurant-page-heading .eyebrow{margin-bottom:24px}
.restaurant-page-heading h1{font-size:clamp(68px,8vw,112px);line-height:1}
.restaurant-page-heading>p:last-child{font-family:'Cormorant Garamond',serif;font-size:23px;line-height:1.4;margin:23px auto 0}
.restaurant-page .restaurant-card h2{font-family:'Cormorant Garamond',serif;font-size:36px;font-weight:400;margin:17px 0 9px}
@media(max-width:850px){.restaurant-page{padding:150px 25px 85px}.restaurant-page-heading{margin:65px auto 70px}.restaurant-page-heading h1{font-size:62px}.restaurant-page-heading>p:last-child{font-size:20px}.restaurant-page .restaurant-card h2{font-size:32px}}

/* Roma: quiet editorial layout with transparent illustrations. */
.rome{min-height:650px;padding-top:110px;padding-bottom:95px;align-items:center;text-align:center}
.rome-heading-layout{width:100%;min-height:0}
.rome-heading-copy{max-width:660px;margin:0 auto}
.rome .eyebrow{margin-bottom:20px}
.rome-intro{margin:22px auto 68px;max-width:590px}
.rome-links{width:min(100%,1000px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:42px;padding:0;border:0}
.rome-link-item{min-width:0;display:flex;flex-direction:column;align-items:center;gap:25px}
.rome-link-item img{display:block;width:110px;height:110px;object-fit:contain}
.rome-link-item span,.rome-link-item a{display:inline-block;min-height:0;width:auto;border:0;background:none;padding:0 0 8px;font-size:10px;letter-spacing:.16em;line-height:1.4;text-decoration:none;color:var(--ink)}
.rome-link-item a{border-bottom:1px solid var(--ink)}
.rome-link-item a:hover,.rome-link-item a:focus-visible{background:none;color:#353a2e;border-bottom-color:#353a2e}
@media(max-width:850px){.rome{padding-top:90px;padding-bottom:85px}.rome-intro{margin-bottom:48px}.rome-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 15px}.rome-link-item{gap:12px}.rome-link-item img{width:100px;height:100px}.rome-link-item span,.rome-link-item a{font-size:9px;letter-spacing:.12em}}

.rome-heading-layout{margin-bottom:65px}
a.rome-link-item{color:var(--ink);text-decoration:none;border:0;padding:0;background:none;cursor:pointer;gap:20px}
a.rome-link-item:hover,a.rome-link-item:focus-visible{background:none;border:0;color:#353a2e}
a.rome-link-item span{border:0;padding:0}
a.rome-link-item small{font-size:8px;letter-spacing:.14em;margin-top:-8px;padding-bottom:5px;border-bottom:1px solid var(--line)}
a.rome-link-item:hover small{border-color:var(--ink)}
a.rome-link-item:focus-visible{outline:1px solid var(--ink);outline-offset:12px}

.transport-info{max-width:920px;margin:50px auto 0}
.transport-row{display:grid;grid-template-columns:125px 1fr;gap:45px;align-items:center;padding:40px 0}
.transport-row+.transport-row{border-top:1px solid var(--line)}
.transport-row img{display:block;width:125px;height:110px;object-fit:contain}
.transport-row h2{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:34px;margin:0 0 17px}
.transport-row p{font-size:15px;line-height:1.9;margin:0;max-width:650px}
@media(max-width:850px){.transport-info{margin-top:30px}.transport-row{grid-template-columns:75px 1fr;gap:20px;padding:30px 0}.transport-row img{width:75px;height:80px}.transport-row h2{font-size:27px}.transport-row p{font-size:13px;line-height:1.8}}

/* Keep the transition between Programação and Roma consistent. */
.program{min-height:0;justify-content:flex-start;padding-top:90px;padding-bottom:90px}
.program-days{margin-top:45px}
.program .grand-day{padding-bottom:0}
.rome{min-height:0;padding-top:90px;padding-bottom:90px}
@media(max-width:850px){.program{padding-top:80px;padding-bottom:80px}.program-days{margin-top:35px}.rome{padding-top:80px;padding-bottom:80px}}

/* Shared delicate stationery frame for the introduction and RSVP. */
.invitation-frame{position:relative;width:min(960px,100%);border:1px solid var(--ink);padding:58px clamp(26px,5vw,76px);text-align:center;background:var(--paper)}
.invitation-frame::before{content:"";position:absolute;inset:7px;border:1px solid var(--soft);pointer-events:none}
.invitation-frame .eyebrow{font-size:12px;letter-spacing:.24em;margin:0 0 24px}
.invitation-frame h2{font-family:'Cormorant Garamond',serif;font-size:clamp(48px,5vw,72px);line-height:1.08;font-weight:400}
.intro{min-height:0;padding:90px 8vw;background:var(--paper)}
.intro .intro-copy{padding:58px clamp(26px,5vw,76px)}
.intro .body-copy{font-size:24px;line-height:1.5;margin:28px auto 32px;max-width:710px}
.rsvp-section{min-height:0;padding:90px 8vw;align-items:center}
.rsvp-message{font-family:'Cormorant Garamond',serif;font-size:30px;line-height:1.3;margin:20px 0 38px}
.rsvp-contact h3{font-family:'Cormorant Garamond',serif;font-size:36px;font-weight:400;margin:0 0 12px;line-height:1.2}
.rsvp-contact p{font-size:16px;letter-spacing:.1em;margin:0 0 32px}
.invitation-button{display:inline-block;border:1px solid var(--ink);padding:18px 30px;color:var(--ink);font-size:13px;letter-spacing:.13em;line-height:1.4;text-decoration:none}
.invitation-button:hover{background:var(--ink);color:var(--paper)}
.invitation-button:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
@media(max-width:850px){.intro,.rsvp-section{padding:75px 24px}.invitation-frame,.intro .intro-copy{padding:44px 24px}.invitation-frame h2{font-size:48px}.invitation-frame .eyebrow{font-size:11px;letter-spacing:.18em}.intro .body-copy{font-size:21px}.rsvp-message{font-size:25px;margin-bottom:30px}.rsvp-contact h3{font-size:31px}.rsvp-contact p{font-size:14px;letter-spacing:.06em}.invitation-button{font-size:12px;padding:16px 18px;max-width:100%}}
/* Approved home: airy invitation and a live countdown. Scoped to the home. */
.hero.wedding-home{min-height:0;padding:122px 24px 0;justify-content:flex-start;overflow:visible;text-align:center}
.wedding-home .hero-title{width:100%;padding:0}
.wedding-monogram{display:block;width:104px;height:auto;margin:0 auto 38px}
.wedding-home h1{font-size:clamp(48px,7.6vw,94px);font-weight:400;letter-spacing:0;line-height:1.12}
.wedding-home h1 em{font-style:normal;font-size:.6em}
.wedding-date,.wedding-city{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:25px;letter-spacing:.32em}
.wedding-date{margin-top:30px}
.wedding-rule{display:block;width:152px;height:1px;background:var(--soft);margin:28px auto 20px}
.wedding-city{letter-spacing:.38em}
.wedding-countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:min(880px,100%);margin:90px auto 0}
.wedding-countdown>div{border-right:1px solid var(--soft);padding:0 12px 4px}
.wedding-countdown>div:last-child{border:0}
.wedding-countdown span{display:block;font-family:'Cormorant Garamond',serif;font-weight:400;font-size:52px;line-height:1.1;font-variant-numeric:tabular-nums}
.wedding-countdown small{display:block;margin-top:12px;font-family:'Cormorant Garamond',serif;font-size:16px;letter-spacing:.3em}
.intro.wedding-intro{padding:96px 5vw 90px;border-top:0}
.wedding-intro .intro-copy{width:min(1080px,100%);padding:88px 40px 130px;overflow:hidden;min-height:650px;display:flex;justify-content:flex-end;align-items:center}
.wedding-illustration{position:absolute;left:9px;bottom:9px;width:60%;height:calc(100% - 36px);object-fit:contain;object-position:left bottom;pointer-events:none}
.wedding-intro-text{position:relative;width:57%;z-index:1}
.wedding-intro h2{font-size:clamp(45px,5.5vw,68px);line-height:1.06}
.wedding-intro .body-copy{font-size:24px;line-height:1.25;margin:36px auto 64px}
.wedding-intro .text-link{font-family:'Cormorant Garamond',serif;font-size:14px;letter-spacing:.24em;gap:18px}
@media(max-width:650px){
 .hero.wedding-home{padding:155px 18px 0}
 .wedding-monogram{width:82px;margin-bottom:34px}
 .wedding-home h1{font-size:clamp(38px,9.5vw,60px)}
 .wedding-date{font-size:clamp(12px,3vw,18px);letter-spacing:.2em;line-height:1.8;margin-top:26px}
 .wedding-rule{width:100px;margin:23px auto 20px}
 .wedding-city{font-size:20px}
 .wedding-countdown{margin-top:65px}
 .wedding-countdown>div{padding:0 5px 2px}
 .wedding-countdown span{font-size:38px}
 .wedding-countdown small{font-size:10px;letter-spacing:.15em;margin-top:12px}
 .intro.wedding-intro{padding:72px 18px 65px}
 .wedding-intro .intro-copy{padding:50px 28px 260px;min-height:0}
 .wedding-intro-text{width:100%}
 .wedding-intro h2{font-size:43px}
 .wedding-intro .body-copy{font-size:21px;line-height:1.4;margin:28px auto 32px}
 .wedding-intro .text-link{font-size:12px;letter-spacing:.18em}
 .wedding-illustration{height:250px;width:85%;opacity:.95}
}
.rome .rome-link-item img{width:180px;height:180px;max-width:100%}
@media(max-width:850px){.rome .rome-link-item img{width:140px;height:140px}}
@media(max-width:360px){.rome .rome-link-item img{width:118px;height:118px}}
.rsvp-card.illustrated-rsvp{width:min(1080px,100%);min-height:650px;padding:76px 40px;display:flex;align-items:center;justify-content:flex-start;overflow:hidden}
.rsvp-illustration{position:absolute;right:9px;bottom:9px;width:48%;height:calc(100% - 36px);object-fit:contain;object-position:right bottom;pointer-events:none}
.illustrated-rsvp .rsvp-copy{position:relative;width:53%;z-index:1}
.illustrated-rsvp h2{font-size:clamp(54px,5.5vw,76px)}
.illustrated-rsvp .rsvp-message{font-size:28px;line-height:1.35;margin:30px 0 42px}
.illustrated-rsvp .rsvp-contact{margin-bottom:40px}
.illustrated-rsvp .invitation-button{font-family:'Cormorant Garamond',serif;border:0;border-bottom:1px solid var(--ink);padding:0 0 9px;font-size:14px;letter-spacing:.18em;display:inline-flex;gap:14px;align-items:center}
.illustrated-rsvp .invitation-button:hover{background:none;color:#353a2e}
@media(max-width:650px){.rsvp-card.illustrated-rsvp{min-height:0;padding:48px 24px 270px}.illustrated-rsvp .rsvp-copy{width:100%}.rsvp-illustration{width:85%;height:250px;object-position:right bottom}.illustrated-rsvp h2{font-size:54px}.illustrated-rsvp .eyebrow{font-size:10px}.illustrated-rsvp .rsvp-message{font-size:24px;margin:26px 0 32px}.illustrated-rsvp .rsvp-contact{margin-bottom:32px}.illustrated-rsvp .invitation-button{font-size:12px;letter-spacing:.1em}}

/* Light RSVP preview, centered text with a small corner vignette. */
.rsvp-card.illustrated-rsvp{min-height:610px;justify-content:center;padding:68px 48px 88px}
.illustrated-rsvp .rsvp-copy{width:85%}
.rsvp-illustration{right:18px;bottom:18px;width:230px;height:210px;opacity:.65}
@media(max-width:650px){.rsvp-card.illustrated-rsvp{padding:48px 24px 130px;min-height:0}.illustrated-rsvp .rsvp-copy{width:100%}.rsvp-illustration{width:145px;height:120px;right:15px;bottom:15px;opacity:.55}}
/* RSVP preview: illustration at the same scale as the introduction. */
.rsvp-card.illustrated-rsvp{min-height:650px;justify-content:flex-start;padding:76px 40px}
.illustrated-rsvp .rsvp-copy{width:53%}
.rsvp-illustration{right:9px;bottom:9px;width:60%;height:calc(100% - 36px);object-fit:cover;object-position:right bottom;opacity:1}
@media(max-width:650px){.rsvp-card.illustrated-rsvp{padding:48px 24px 270px;min-height:0}.illustrated-rsvp .rsvp-copy{width:100%}.rsvp-illustration{width:85%;height:250px;object-fit:cover;object-position:right bottom;opacity:1}}
@media(min-width:651px){.rsvp-illustration{height:calc(100% + 130px)}}
/* Alternative RSVP preview: airy Colosseum watercolor. */
.rsvp-illustration{width:48%;height:calc(100% - 36px);object-fit:contain;object-position:right center;opacity:.9}
@media(max-width:650px){.rsvp-illustration{width:85%;height:250px;object-position:right bottom;opacity:.9}}
/* RSVP preview: Colosseum fills the right corner. */
@media(min-width:651px){.rsvp-illustration{right:9px;bottom:9px;width:49%;height:calc(100% - 18px);object-fit:cover;object-position:right center;opacity:.9}}
/* RSVP preview: full distant Colosseum, soft edges and breathing room. */
.rsvp-illustration{right:28px;bottom:68px;width:46%;height:70%;object-fit:contain;object-position:center center;opacity:.8}
@media(max-width:650px){.rsvp-illustration{width:85%;height:210px;right:15px;bottom:20px;object-position:right bottom;opacity:.8}}


.gifts-preview{align-items:center;text-align:center;min-height:0;padding:90px 24px}
.gift-icon{width:180px;height:180px;object-fit:contain;margin:45px 0 24px}
.gift-link-placeholder{font-size:10px;letter-spacing:.18em;color:var(--ink);padding-bottom:8px;border-bottom:1px solid var(--line)}
@media(max-width:650px){.gifts-preview{padding:75px 24px}.gift-icon{width:140px;height:140px;margin-top:35px}}

.pending-day-heading{display:flex;align-items:center;gap:28px;padding:27px 6px}
.pending-day-copy{padding:0 6px 35px 95px;font-family:'Cormorant Garamond',serif;font-size:24px;line-height:1.4}
.pending-day-copy p{margin:0 0 10px}
@media(max-width:850px){.pending-day-heading{gap:14px;padding:23px 0}.pending-day-copy{padding:0 0 28px;font-size:22px}}

.nav-mark,.footer-monogram{font-family:Italiana,serif;font-size:28px;font-weight:400;display:inline-flex;align-items:center;gap:14px;line-height:1}
.nav-mark span,.footer-monogram span{width:auto;height:auto;background:none;display:inline-block;font-size:7px;margin:0;vertical-align:middle}

.dresscode-moodboard{display:block;width:100%;height:auto;margin:0 0 30px}
.black-tie-attire p{margin:14px 0;line-height:1.5}.black-tie-attire strong{font-weight:500}

/* Visible language selection independent of the mobile link strip. */
.rsvp-contact a,.rsvp-contact a:visited,.rsvp-contact a[x-apple-data-detectors]{color:var(--ink)!important;text-decoration:none!important;font:inherit!important}
@media(max-width:850px){
.nav,.nav.scrolled{height:96px;padding:0 18px;justify-content:flex-end}
.desktop-nav{padding:0 0 12px;gap:22px}
.language{position:absolute;top:12px;right:18px;padding:0;margin:0;gap:10px;background:var(--paper)}
.language button{font-size:12px;padding:4px 2px;min-width:28px;min-height:28px}
.language button.active{border-bottom:1px solid var(--ink)}
section[id]{scroll-margin-top:110px}
}

.grand-mobile-title{display:none}
@media(max-width:850px){.grand-mobile-title{display:block;font-family:'Cormorant Garamond',serif;font-weight:400;font-size:43px;line-height:1.05;margin:0}.grand-mobile-title em{font-weight:300}.grand-copy>h3{display:none}}
