:root{--sage:#969785;--olive:#63674c;--champagne:#d5c2ad;--taupe:#927f6a;--ivory:#ece6dc;--mushroom:#cec7ba;--deep-olive:#3f4432;--line:#63674c47;--serif:Georgia, "Times New Roman", serif;--sans:Arial, Helvetica, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--deep-olive);background:var(--ivory);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit}.site-header{border-bottom:1px solid var(--line);background:#ece6dcf5;justify-content:space-between;align-items:center;gap:2rem;min-height:5.25rem;padding:1.1rem clamp(1.25rem,4vw,4.5rem);display:flex}.site-header nav{flex-wrap:wrap;justify-content:flex-end;gap:clamp(1rem,2.5vw,2rem);display:flex}.site-header nav a,.footer-links a{letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;text-decoration:none}.site-header nav a:hover,.site-header nav a:focus-visible,.footer-links a:hover,.footer-links a:focus-visible{text-underline-offset:.35rem;text-decoration:underline}.wordmark{font-family:var(--serif);white-space:nowrap;font-size:1.25rem;text-decoration:none}.wordmark span,.ampersand,.gate-monogram span{color:var(--taupe);font-style:italic}main{min-height:65svh}.home-hero{text-align:center;background:radial-gradient(circle at 50% 45%, #d5c2adb8, transparent 46%), var(--ivory);border-bottom:1px solid var(--line);place-content:center;justify-items:center;min-height:min(48rem,100svh - 5.25rem);padding:clamp(5rem,12vw,9rem) 1.5rem;display:grid}.eyebrow{color:var(--olive);letter-spacing:.2em;text-transform:uppercase;margin:0 0 1rem;font-size:.68rem;font-weight:700;line-height:1.5}h1,h2{font-family:var(--serif);margin-top:0;font-weight:400}.home-hero h1{letter-spacing:-.065em;max-width:75rem;margin:0;font-size:clamp(4rem,12vw,10rem);line-height:.88}.ampersand{font-size:.65em}.hero-copy{max-width:37rem;font-family:var(--serif);margin:clamp(2rem,5vw,3.5rem) auto 0;font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.6}.button-row{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:2.25rem;display:flex}.button{border:1px solid var(--olive);letter-spacing:.13em;text-transform:uppercase;justify-content:center;align-items:center;min-height:3.1rem;padding:.95rem 1.35rem;font-size:.68rem;font-weight:700;text-decoration:none;transition:background .16s,color .16s;display:inline-flex}.button-primary{color:var(--ivory);background:var(--olive)}.button-primary:hover{background:var(--deep-olive)}.button-secondary:hover{color:var(--ivory);background:var(--olive)}.section-wrap{width:min(100% - 2.5rem,78rem);margin-inline:auto}.feature-grid{background:var(--line);grid-template-columns:repeat(3,1fr);gap:1px;padding-block:clamp(4rem,8vw,7rem);display:grid}.feature-card{min-height:26rem;color:var(--deep-olive);background:var(--mushroom);flex-direction:column;justify-content:space-between;gap:3rem;padding:clamp(1.5rem,3vw,2.5rem);text-decoration:none;display:flex}.feature-card-story{background:var(--champagne)}.feature-card-journal{background:var(--sage)}.feature-card:hover .text-link{transform:translate(.3rem)}.feature-card h2{margin-bottom:.8rem;font-size:clamp(2rem,4vw,3.25rem)}.feature-card p:not(.eyebrow){max-width:21rem;line-height:1.65}.card-number{font-family:var(--serif);align-self:flex-end;font-size:.85rem}.text-link{letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:700;text-decoration:none;transition:transform .16s;display:inline-block}.story-teaser{text-align:center;padding:clamp(5rem,11vw,10rem) clamp(1rem,6vw,6rem)}.display-quote{max-width:58rem;font-family:var(--serif);letter-spacing:-.035em;margin:1rem auto 2rem;font-size:clamp(2.2rem,5vw,4.75rem);line-height:1.1}.page-shell{width:min(100% - 2.5rem,72rem);margin-inline:auto;padding:clamp(4rem,9vw,8rem) 0}.page-intro{max-width:52rem;margin-bottom:clamp(4rem,8vw,7rem)}.page-intro h1,.wedding-gate h1{letter-spacing:-.05em;margin-bottom:1.5rem;font-size:clamp(3.5rem,9vw,7.5rem);line-height:.95}.page-intro>p:last-child,.wedding-gate>p{max-width:39rem;font-family:var(--serif);font-size:clamp(1.1rem,2vw,1.4rem);line-height:1.65}.timeline{max-width:58rem;margin-inline:auto}.timeline-entry{grid-template-columns:10rem 1.25rem 1fr;gap:clamp(1rem,3vw,2.5rem);padding-bottom:clamp(3.5rem,7vw,6rem);display:grid;position:relative}.timeline-entry:after{content:"";background:var(--olive);opacity:.45;width:1px;position:absolute;top:1rem;bottom:0;left:calc(10.58rem + clamp(1rem,3vw,2.5rem))}.timeline-entry time{letter-spacing:.1em;text-transform:uppercase;padding-top:.15rem;font-size:.7rem;font-weight:700}.timeline-marker{z-index:1;border:1px solid var(--olive);background:var(--champagne);border-radius:50%;width:1.25rem;height:1.25rem}.timeline-entry h2{margin-bottom:.8rem;font-size:clamp(2rem,4vw,3.25rem)}.timeline-entry p,.timeline-more{line-height:1.7}.timeline-more{color:var(--taupe);font-family:var(--serif);margin-left:calc(13.75rem + clamp(1rem,3vw,2.5rem));font-style:italic}.album-grid{grid-template-columns:repeat(2,1fr);gap:clamp(2rem,5vw,4rem) 1.5rem;display:grid}.album-placeholder{aspect-ratio:4/3;color:var(--deep-olive);background:var(--mushroom);border:1px solid var(--line);place-items:center;margin-bottom:1.5rem;display:grid}.album-2 .album-placeholder{background:var(--sage)}.album-3 .album-placeholder{background:var(--champagne)}.album-4 .album-placeholder{background:var(--taupe);color:var(--ivory)}.album-placeholder span{font-family:var(--serif);font-size:.9rem;font-style:italic}.album-card h2{font-size:clamp(1.8rem,3vw,2.65rem)}.empty-state,.contact-note{background:var(--champagne);border:1px solid var(--line);max-width:42rem;padding:clamp(2rem,6vw,5rem)}.empty-state h2,.contact-note h2{font-size:clamp(2rem,4vw,3.5rem)}.empty-state>p:last-child,.contact-note>p:last-child{line-height:1.7}.contact-layout{grid-template-columns:1.2fr .8fr;align-items:end;gap:clamp(2rem,7vw,7rem);display:grid}.contact-layout .page-intro{margin:0}.contact-note{background:var(--mushroom);padding:clamp(2rem,4vw,3.5rem)}.wedding-gate{text-align:center;background:linear-gradient(135deg, var(--mushroom), var(--ivory) 45%, var(--champagne));flex-direction:column;justify-content:center;align-items:center;min-height:calc(100svh - 5.25rem);padding:clamp(4rem,9vw,8rem) 1.5rem;display:flex}.gate-monogram{border:1px solid var(--olive);width:7rem;height:7rem;font-family:var(--serif);border-radius:50%;place-items:center;margin-bottom:2.5rem;font-size:1.45rem;display:grid}.wedding-gate h1{max-width:58rem}.gate-form-preview{border:1px solid var(--line);background:#ece6dca6;gap:.65rem;width:min(100%,31rem);margin-top:2rem;padding:.65rem;display:grid}.gate-form-preview span,.gate-form-preview button{color:#3f4432b8;border:1px solid var(--line);background:var(--ivory);letter-spacing:.08em;text-align:left;text-transform:uppercase;align-items:center;min-height:3.4rem;padding:1rem;font-size:.72rem;display:flex}.gate-form-preview button{color:var(--ivory);background:var(--olive);opacity:.65;justify-content:center}.wedding-gate .privacy-note{max-width:33rem;font-family:var(--sans);margin-top:1.5rem;font-size:.72rem;line-height:1.6}.site-footer{color:var(--ivory);background:var(--deep-olive);grid-template-columns:1fr auto;gap:3rem;padding:clamp(3rem,6vw,5rem) clamp(1.25rem,4vw,4.5rem);display:grid}.site-footer p{margin-bottom:0;font-size:.75rem;line-height:1.6}.footer-links{grid-template-columns:repeat(2,auto);align-content:start;gap:1.25rem 2.5rem;display:grid}.copyright{opacity:.7;grid-column:1/-1}:focus-visible{outline:2px solid var(--taupe);outline-offset:4px}@media (max-width:760px){.site-header{align-items:flex-start}.site-header nav{gap:.75rem 1rem;max-width:18rem}.site-header nav a{font-size:.58rem}.home-hero h1{flex-direction:column;align-items:center;gap:.05em;font-size:clamp(4.5rem,24vw,7.5rem);display:flex}.ampersand{margin:-.12em 0;font-size:.45em}.feature-grid,.album-grid,.contact-layout{grid-template-columns:1fr}.feature-card{min-height:22rem}.timeline-entry{grid-template-columns:1fr 1.25rem}.timeline-entry time{grid-column:1/-1}.timeline-entry:after{top:3.25rem;left:auto;right:.58rem}.timeline-entry>div:last-child{grid-area:2/1}.timeline-marker{grid-area:2/2}.timeline-more{margin-left:0;margin-right:3rem}.site-footer{grid-template-columns:1fr}.copyright{grid-column:auto}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}
