@font-face{font-family:'DM Sans';src:url('assets/DMSans-Variable.ttf') format('truetype');font-style:normal;font-weight:100 1000;font-display:swap}
:root{font-family:'DM Sans',Arial,sans-serif;font-size:100%;line-height:1.5;color:#33261F;background:#FAF7EF;font-synthesis:none;font-optical-sizing:auto;-webkit-text-size-adjust:100%}
*{box-sizing:border-box}
body{margin:0}
.page{max-width:100rem;margin:auto;padding:0 clamp(1.25rem,4vw,4rem)}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2.25rem 0}
.wordmark{display:block;width:11rem;height:auto}
.masthead p{margin:0;color:#603823;font-size:.875rem;letter-spacing:.025em}
.intro{text-align:center;max-width:58rem;margin:auto;padding:3.25rem 0 3.5rem}
.eyebrow{color:#603823;font-size:.875rem;letter-spacing:.04em;font-weight:500;margin:0 0 1.125rem}
h1{color:#603823;font-size:clamp(3rem,6.6vw,6rem);font-weight:500;line-height:1.02;letter-spacing:-.03em;margin:0;text-wrap:balance}
.description{font-size:clamp(1.125rem,1.8vw,1.375rem);line-height:1.5;letter-spacing:-.015em;margin:1.75rem auto 0;max-width:36rem}
.invitation{font-size:1rem;line-height:1.65;margin:1rem auto 0;max-width:35rem;color:#603823}
nav{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}
.social{display:inline-flex;align-items:center;justify-content:center;gap:.875rem;min-height:3.125rem;padding:.75rem 1.375rem;border:1px solid transparent;border-radius:100px;font-size:.9375rem;font-weight:500;text-decoration:none;touch-action:manipulation;transition:background-color 160ms ease,color 160ms ease,transform 160ms ease}
.social svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
.primary{background:#603823;color:#FAF7EF}
.secondary{background:#E6D8C6;color:#603823}
@media(hover:hover){.primary:hover{background:#33261F}.secondary:hover{background:#d9c7b0}}
.social:active{transform:scale(.97);transition-duration:80ms}
.social:focus-visible{outline:3px solid #5E684E;outline-offset:5px}
.scene{margin:0}
.scene-image{height:clamp(20rem,35vw,34rem);border-radius:1.5rem;overflow:hidden;background:#E6D8C6}
.scene-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 56%}
figcaption{text-align:right;font-size:.6875rem;color:#603823;line-height:1.5;padding:.625rem .25rem 0;letter-spacing:.01em}
figcaption span{padding:0 .3rem}
footer{display:flex;justify-content:space-between;align-items:baseline;gap:1.25rem;padding:2.5rem 0 2.75rem;color:#603823}
footer p{font-size:1rem;margin:0}footer span{font-size:.75rem}
@media(max-width:600px){
 .page{padding:0 1.25rem}.masthead{padding:1.5rem 0;gap:.75rem}.wordmark{width:8.75rem}.masthead p{max-width:6rem;text-align:right;font-size:.6875rem;line-height:1.45}
 .intro{padding:2.5rem 0 2.5rem}.eyebrow{font-size:.8125rem;margin-bottom:1.125rem}h1{font-size:clamp(2.75rem,10.3vw,3.875rem);letter-spacing:-.03em;line-height:1.05}
 .description{margin-top:1.5rem;font-size:1.125rem;max-width:20rem}.invitation{font-size:.9375rem;max-width:21rem;margin-top:1rem}.desktop-break{display:none}
 nav{gap:.625rem;margin-top:1.5rem}.social{font-size:.8125rem;padding:.75rem 1rem;gap:.625rem;min-height:3rem}.scene-image{height:22rem;border-radius:1rem}.scene-image img{object-position:48% center}
 figcaption{text-align:center;font-size:.625rem;padding-top:.75rem}footer{padding:1.75rem 0 2rem;gap:.75rem}footer p{font-size:.875rem}footer span{font-size:.6875rem}
}
@media(max-width:350px){nav{gap:.5rem}.social{padding:.75rem .875rem;gap:.5rem}.social svg{width:.875rem}.scene-image{height:19rem}}
@media(prefers-reduced-motion:reduce){.social{transition:none}.social:active{transform:none}}
@media(prefers-contrast:more){.secondary{border-color:#603823}}
/* Preserve reading flow when the visitor enlarges text. */
.masthead{flex-wrap:wrap}.wordmark{max-width:100%}
footer{flex-wrap:wrap}
.social{max-width:100%}
@media(max-width:600px){h1{font-size:clamp(2.25rem,11.2vw,3.875rem)}}
