@font-face{font-family:Coast;src:url('../fonts/cormorant-garamond-500-italic.woff2') format('woff2');font-style:italic;font-weight:500;font-display:swap}@font-face{font-family:Coast;src:url('../fonts/cormorant-garamond-500.woff2') format('woff2');font-weight:500;font-display:swap}@font-face{font-family:CoastText;src:url('../fonts/static-mona-sans-latin-wdth-normal.woff2') format('woff2');font-weight:400;font-display:swap}:root{--display:Coast,Georgia,serif;--body:CoastText,Arial,sans-serif;--ink:#2e5554}.hero{height:1000px;min-height:1000px}.hero-art{inset:0;height:100%}.sand-art{width:100%;height:100%;position:absolute;inset:0;object-fit:fill}.hero-art::after{display:none}.wave-art{position:absolute;left:0;top:-350px;width:100%;height:800px;object-fit:fill}.hero-copy{padding-top:265px;max-width:1100px}.hero h1{font-family:Coast;font-size:clamp(5rem,9vw,9rem);font-weight:500;letter-spacing:-.04em;margin:18px 0}.hero-title{font-family:Coast;font-style:italic;font-size:2.8rem}.guest-label{font-size:11px;letter-spacing:.22em;text-transform:uppercase}.hero-date{font-size:12px;margin-top:27px}.hero .open-button{margin-top:25px;border-radius:30px;font-size:13px;padding:12px 28px}.topline{color:#214c4c;font-size:12px;text-shadow:0 1px 8px #fff9}.topline span{color:#214c4c}.open-note{font-size:11px}.sand-date{font:italic 3.4rem Coast;bottom:100px;color:#846c50;letter-spacing:.08em}.scene-caption{font-family:Coast;font-style:italic;font-size:1.5rem}.shore-copy{border:1px solid #b6bfa5;background:#f6eddbed;max-width:640px;padding:40px}.shore-copy h2{font-family:Coast;font-style:italic}.shore-art .wave-art{transform:translateY(calc(var(--tide,0)*550px - 50px))}.portrait-frame{border-radius:0;padding:15px 15px 25px;background:#f8efdb;border:0;transform:rotate(-3deg);box-shadow:0 15px 40px #4c685c20}.portrait-inner{border-radius:0;aspect-ratio:4/5}.frame-shutter{display:none}.photo-caption{font-family:Coast;font-size:1.6rem}.countdown-section{background:#416e70;min-height:650px;padding:90px 24px;display:block}.countdown-inner{max-width:900px;margin:auto}.countdown-inner h2{font-family:Coast;font-style:italic;font-size:clamp(3rem,5vw,5rem);max-width:700px;margin-inline:auto}.horizon-line{width:180px;border-bottom:1px solid #d9d6b5;margin:0 auto 40px;position:relative;height:35px}.horizon-line span{font-size:50px;line-height:1;position:absolute;bottom:0;left:65px;height:35px;overflow:hidden;color:#ead9a9}.countdown{gap:0;border-top:1px solid #bbccb480;border-bottom:1px solid #bbccb480;padding:30px 0}.countdown>div{flex:1;border-right:1px solid #bbccb450}.countdown>div:last-child{border:0}.countdown strong{font-family:Coast;font-size:5rem;font-weight:500}.countdown span{font-size:10px;letter-spacing:.12em;text-transform:uppercase}.countdown-section #agenda{font-size:12px;letter-spacing:.06em;border:1px solid #b9cbb4;border-radius:30px;padding:10px 24px}.coastal-arrival{margin:0;position:relative}.coastal-arrival img{display:block;width:100%;border-radius:48% 48% 0 0}.coastal-arrival figcaption{font:italic 1.5rem Coast;text-align:center;margin-top:20px}.place-section{background:#ece2c9}.place-copy h2{font-style:italic}.place-copy .venue{font-family:Coast;font-size:2.3rem}.programme-section{background:#f4eddb;display:block;padding:95px 7%;position:relative}.tide-table-title{text-align:center}.tide-table-title span{font-size:9px;letter-spacing:.22em}.tide-table-title h2{font-family:Coast;font-style:italic;margin-top:25px!important}.tide-line{width:100%;height:140px;display:block;fill:none;stroke:#80a29b;stroke-width:2;margin-top:40px}.programme-section ol{display:grid;grid-template-columns:repeat(4,1fr);border:0;gap:30px;margin-top:0}.programme-section li{padding:20px 0 0;transform:none;border-top:1px solid #a9b8a3}.programme-section li::before{display:none}.programme-section time{font:500 2rem Coast;color:#477774}.programme-section h3{font:500 1.8rem Coast}.programme-section li p{font-size:13px}.dress-section{background:#ced9c9;display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:85px 8%;text-align:left;min-height:550px}.dress-section h2{font-family:Coast;font-style:italic;font-size:3.5rem}.dress-section p{font-size:14px}.dress-section p:first-child{font-size:10px;text-transform:uppercase;letter-spacing:.18em}.fabric-swatches{display:flex;justify-content:center;align-items:center;gap:15px}.fabric-swatches span{display:flex;align-items:end;justify-content:center;padding:20px 10px;width:110px;height:200px;background:repeating-linear-gradient(90deg,#e9e2ca66 0 1px,transparent 1px 3px),repeating-linear-gradient(#fff4 0 1px,transparent 1px 3px),#ece4d1;box-shadow:4px 9px 12px #44634b20;font:italic 1.5rem Coast;transform:rotate(-8deg)}.fabric-swatches span:nth-child(2){background-color:#9dbdb6;transform:rotate(5deg);margin-top:70px}.fabric-swatches span:nth-child(3){background-color:#d9c29c;transform:rotate(-3deg)}@keyframes wave-wash{0%,100%{transform:translateY(-50px)}45%{transform:translateY(550px)}65%{transform:translateY(530px)}}@media(max-width:700px){.hero{height:970px;min-height:970px}.hero-copy{padding:260px 25px 0}.hero h1{font-size:4.7rem;line-height:.95;max-width:310px;margin:20px auto}.hero-title{font-size:1.9rem;max-width:300px}.hero-date{margin-top:24px;font-size:12px}.hero .open-button{font-size:12px;margin-top:23px}.open-note{font-size:10px}.hero-art{inset:0;height:100%}.topline{font-size:10px;padding:24px 18px}.topline a:first-child{max-width:160px}.topline span{display:none}.sand-date{bottom:130px;font-size:2.4rem;letter-spacing:.03em}.wave-art{top:-350px;height:800px}.shore-copy{left:24px;right:24px;bottom:65px;padding:28px}.shore-copy h2{font-size:2.5rem}.countdown-section{min-height:620px;padding:65px 24px}.countdown strong{font-size:3rem}.countdown span{font-size:8px;letter-spacing:0}.countdown-inner h2{font-size:3rem}.event-day{font-size:12px}.coastal-arrival{order:-1}.programme-section{padding:75px 26px}.tide-table-title h2{font-size:3rem}.tide-line{height:80px;margin-top:25px}.programme-section ol{grid-template-columns:1fr 1fr;gap:28px 20px}.programme-section time{font-size:1.8rem}.programme-section h3{font-size:1.6rem}.programme-section li p{font-size:12px}.dress-section{grid-template-columns:1fr;padding:60px 26px;gap:45px;text-align:center}.dress-section>div:last-child{order:-1}.dress-section h2{font-size:3rem}.fabric-swatches span{width:85px;height:145px;font-size:1.3rem}.fabric-swatches span:nth-child(2){margin-top:30px}.fabric-swatches{gap:10px}}@media(prefers-reduced-motion:reduce){.shore-art .wave-art{transform:translateY(120px)}}
.wave-art{object-fit:cover;mask-image:linear-gradient(transparent,#000 16%)}@media(max-width:700px){.hero{height:930px;min-height:930px}.hero-copy{padding-top:220px}.sand-date{bottom:140px}}
.wave-art{transform-origin:50% 0;mask-image:none}.hero .wave-art,.entered .hero .wave-art{transform:scaleY(.95)}.shore-art .wave-art{transform:scaleY(calc(.95 + var(--tide,0)*.95))}@keyframes wave-wash{0%,100%{transform:scaleY(.95)}45%{transform:scaleY(1.9)}65%{transform:scaleY(1.85)}}@media(prefers-reduced-motion:reduce){.hero .wave-art{transform:scaleY(.95)}.shore-art .wave-art{transform:scaleY(1.15)}}

/* A espuma se move sob o cabeçalho; o véu preserva o contraste dos links. */
.hero .topline {
  color: #214546;
  text-shadow: none;
  background: linear-gradient(180deg, rgba(247, 241, 221, .88), rgba(247, 241, 221, .74));
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
  box-shadow: 0 1px 0 rgba(36, 75, 73, .12);
}

.demo-note{max-width:38rem;margin:1rem auto 1.5rem;color:inherit;opacity:.76;font-size:.8rem;line-height:1.5;text-align:center}

/* A lista vira uma coleção de cartões-postais; os recados, bilhetes de praia. */
#guest-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;max-width:900px;margin-top:32px}
#guest-list li{position:relative;min-width:0;padding:22px 18px 18px;border:1px solid #d2c3a4;border-radius:3px;background:#f2ead7;color:#315d5d;box-shadow:0 8px 18px #102f3033;transform:rotate(-.4deg)}
#guest-list li:nth-child(even){transform:rotate(.4deg)}
#guest-list li::before{content:'◌';position:absolute;top:6px;right:12px;color:#bc875a;font:1.25rem Georgia,serif}
#guest-list small{display:block;margin:5px 0 0;color:#647c72}
#messages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;columns:auto;margin-top:38px}
#messages>p{grid-column:1/-1}
#messages blockquote{position:relative;min-width:0;margin:0;padding:27px 24px 24px;border:1px solid #d5c4a8;border-left:5px solid #7d9d91;border-radius:3px;background:#fbf4e5;color:#355956;box-shadow:0 8px 20px #667f6930}
#messages blockquote::before{content:'✦';position:absolute;top:9px;right:13px;color:#be9870;font-size:1rem}
#messages blockquote cite{color:#537267}
@media(max-width:800px){#messages{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){#messages{grid-template-columns:1fr}#guest-list li,#guest-list li:nth-child(even){transform:none}}
