:root{--burgundy:#3b0014;--ivory:#f0e7c2;--bg:var(--ivory);--ink:var(--burgundy);--font-display:"Playfair Display", Georgia, serif;--font-body:"Montserrat", system-ui, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);margin:0;line-height:1.6}.hero{text-align:center;padding:clamp(2.4rem,8vh,4.8rem) 1rem}.hero h1{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;text-wrap:balance;margin:0;font-size:clamp(2.5rem,8vw,5.5rem);font-weight:700}@media (width<=415px){.hero{padding-block:clamp(1.2rem,4vh,2.4rem)}}.hero p{font-family:var(--font-display);margin:.75rem 0 0;font-size:clamp(1.5rem,3.5vw,2.375rem);font-style:italic;font-weight:400}.site-nav{z-index:1;background:var(--ink);position:sticky;top:0}.site-nav ul{text-align:center;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));max-width:60rem;margin:0 auto;padding:0;list-style:none;display:grid}.site-nav a{color:var(--bg);letter-spacing:.12em;text-transform:uppercase;padding:.9rem .5rem;font-size:.85rem;font-weight:600;text-decoration:none;display:block}.site-nav a:hover,.site-nav a:focus-visible{text-underline-offset:.35em;text-decoration:underline}.hero-photo{width:100%;margin:0}.hero-photo img{object-fit:cover;border-block:1px solid var(--ink);background-color:#b8a878;width:100%;height:auto;max-height:80vh;display:block}main{gap:clamp(3rem,8vh,5rem);width:min(65ch,100% - 2rem);margin:0 auto;padding:0 0 clamp(3rem,8vh,5rem);display:grid}section{text-align:center;scroll-margin-top:5rem}section h2{font-family:var(--font-display);margin:0 0 1rem;font-size:3.6rem;font-weight:500}section h2:before,section h2:after{content:"";background:var(--ink);width:100%;height:1px;margin:1.25rem auto;display:block}.section-title-content{white-space:nowrap;justify-content:center;align-items:center;gap:.45em;max-width:100%;display:inline-flex}.section-title-icon{stroke-width:1.5px;flex:none;width:.85em;height:.85em}#day-of h2:before{margin-top:1rem}section p{margin:.5rem 0}address{font-style:normal}address a{color:inherit;-webkit-text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);text-underline-offset:.3em}address a:hover,address a:focus-visible{text-decoration-color:currentColor}#day-of p,#day-of address{text-transform:uppercase;font-size:1.2rem;line-height:1.8}#day-of .wedding-date{font-family:var(--font-display);text-transform:none;font-size:clamp(1.45rem,4vw,1.9rem);font-style:italic;font-weight:500;line-height:1.5;display:inline-block}#day-of address{margin-top:2rem;font-size:1rem}.dress-code-intro{text-wrap:balance}.dress-code-cards{text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:2rem;display:grid}.dress-code-card{border:1px solid color-mix(in srgb, var(--ink) 32%, transparent);min-height:12rem;padding:1.4rem}.dress-code-card h3{font-family:var(--font-display);margin:0;font-size:1.22rem;font-weight:600;line-height:1.35}.dress-code-card h4{letter-spacing:.12em;text-transform:uppercase;margin:1.25rem 0 .3rem;font-size:.72rem;font-weight:700}.dress-code-card p{margin:.7rem 0 0;font-size:.9rem;line-height:1.55}.dress-code-card ul{margin:0;padding-left:1.2rem;font-size:.9rem;line-height:1.65}.dress-code-note{text-wrap:balance;margin-top:1.5rem}.section-intro{text-wrap:balance;max-width:48ch;margin:0 auto 2.5rem}.hotel-groups{text-align:left;gap:3rem;margin-top:2.75rem;display:grid}.hotel-group h3{font-family:var(--font-display);text-align:center;margin:0 0 1rem;font-size:clamp(1.45rem,4vw,1.9rem);font-style:italic;font-weight:500}.hotel-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.hotel-list li:last-child:nth-child(odd){grid-column:1/-1}.hotel-list a{border:1px solid color-mix(in srgb, var(--ink) 32%, transparent);height:100%;min-height:12rem;color:inherit;flex-direction:column;padding:1.4rem;text-decoration:none;transition:background-color .16s,color .16s,transform .16s;display:flex}.hotel-list a:hover,.hotel-list a:focus-visible{background:var(--ink);color:var(--bg);transform:translateY(-2px)}.hotel-name{font-family:var(--font-display);font-size:1.22rem;font-weight:600;line-height:1.35}.hotel-description{margin:.7rem 0 1.2rem;font-size:.9rem;line-height:1.55}.hotel-link{letter-spacing:.12em;text-transform:uppercase;border-top:1px solid;justify-content:space-between;margin-top:auto;padding-top:.8rem;font-size:.72rem;font-weight:700;display:flex}@media (width<=39rem){.site-nav ul{overscroll-behavior-inline:contain;display:flex;overflow-x:auto}.site-nav li{flex:none}.site-nav a{padding-inline:.9rem}section h2{font-size:clamp(1.25rem,8vw,3.6rem)}.section-title-content{gap:.3em}.section-title-icon{width:.75em;height:.75em}.hotel-list,.dress-code-cards{grid-template-columns:1fr}.dress-code-card{min-height:0}.hotel-list li:last-child:nth-child(odd){grid-column:auto}.hotel-list a{min-height:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hotel-list a{transition:none}}#registry p{text-wrap:balance;max-width:48ch;margin-inline:auto}.registry-link{border:1px solid var(--ink);background:var(--ink);color:var(--bg);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:1.25rem;margin-top:1.5rem;padding:.85rem 1.2rem;font-size:.8rem;font-weight:700;text-decoration:none;display:inline-flex}.registry-link:hover,.registry-link:focus-visible{color:var(--ink);background:0 0}footer{text-align:center;font-family:var(--font-display);opacity:.8;padding:2rem 1rem 3rem;font-style:italic}
