:root{--crystal-ink:#17302e;--crystal-gold:#a37232;--crystal-cream:#f8f2eb;--crystal-muted:#69716f;--crystal-line:#e7e2dc}
html{scroll-behavior:smooth}.rsvp-home{margin:0;background:#fff;color:var(--crystal-ink);font:14px 'DM Sans',sans-serif}.rsvp-home *{box-sizing:border-box}.rsvp-home h1,.rsvp-home h2{font-family:'Playfair Display',serif;font-weight:500}.rsvp-home a{text-decoration:none;color:inherit}.site-header{height:74px;padding:0 max(28px,calc((100vw - 1160px)/2));display:grid;grid-template-columns:250px 1fr auto;align-items:center;gap:24px;border-bottom:1px solid var(--crystal-line);background:#fff;position:relative;z-index:10}.crystal-brand{display:inline-flex;align-items:center;gap:10px;font:500 23px 'Playfair Display',serif;text-transform:uppercase;letter-spacing:1.1px;white-space:nowrap}.brand-mark{width:43px;height:43px;display:grid;place-items:center;font-size:42px;line-height:1;color:var(--crystal-gold);transform:rotate(15deg)}.site-header nav{display:flex;justify-content:center;height:100%;gap:32px}.site-header nav a{display:grid;place-items:center;font-size:12px;color:#3f4847;border-bottom:2px solid transparent}.site-header nav a:hover,.site-header nav a.active{color:#68491f;border-color:var(--crystal-gold)}.staff-link{display:flex;align-items:center;gap:9px;border:1px solid #66706d;border-radius:7px;padding:10px 14px;font-size:12px;font-weight:600}.staff-link span{font-size:21px}.menu-toggle{display:none}.crystal-hero{min-height:568px;position:relative;overflow:hidden;display:flex;align-items:center}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,#fffdf9f2 27%,#fffaf2b8 48%,transparent 67%)}.hero-content{position:relative;z-index:2;width:min(1160px,calc(100% - 56px));margin:auto;padding:55px 0 48px}.eyebrow{text-transform:uppercase;color:var(--crystal-gold);font-size:11px;font-weight:600;letter-spacing:2.4px}.hero-content h1{font-size:clamp(45px,5.1vw,68px);line-height:1.06;margin:15px 0 18px;letter-spacing:-1.5px;max-width:670px}.hero-content h1 span{color:#8a622e}.hero-content>p{font-size:16px;line-height:1.65;color:#596260;max-width:520px;margin:0}.hero-actions{display:flex;gap:16px;margin-top:22px}.crystal-button{min-height:52px;border:1px solid transparent;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:0 27px;font-size:13px;font-weight:600;font-family:'DM Sans',sans-serif;cursor:pointer}.crystal-button.primary{background:var(--crystal-ink);color:#fff}.crystal-button.secondary{background:#ffffffd9;border-color:#7c827f;color:#182d2b}.crystal-button:hover{transform:translateY(-1px);box-shadow:0 8px 25px #283c3420}.hero-actions .primary span{font-size:25px}.hero-actions .secondary span{font-size:22px}.hero-highlights{display:flex;gap:0;margin-top:40px}.hero-highlights>div{min-width:150px;padding:0 24px;border-left:1px solid #d8d3cc}.hero-highlights>div:first-child{padding-left:0;border:0}.hero-highlights strong{display:block;font:500 26px 'Playfair Display',serif;color:#8a622e}.hero-highlights span{display:block;font-size:11px;color:#656d6b;margin-top:3px}.feature-strip{max-width:1160px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);padding:32px 0 34px}.feature-strip article{text-align:center;padding:0 25px;border-right:1px solid var(--crystal-line)}.feature-strip article:last-child{border:0}.feature-icon{width:72px;height:72px;border-radius:50%;background:#f6f0eb;display:grid;place-items:center;margin:0 auto 14px;color:#735329;font-size:33px}.feature-strip h2{font-size:20px;margin:0 0 5px}.feature-strip p{margin:0;color:#646c6a;font-size:12px;line-height:1.5}.find-wrap{width:min(1100px,calc(100% - 56px));margin:0 auto 26px;padding:35px 130px 27px;text-align:center;background:linear-gradient(120deg,#fbf7f3,#fff,#f8f1eb);border:1px solid #eee8e2;border-radius:14px;position:relative;overflow:hidden;scroll-margin-top:25px}.find-wrap h2{font-size:38px;margin:8px 0 6px}.find-wrap>p:not(.lookup-error){margin:0;color:#626967}.find-wrap form{display:grid;grid-template-columns:1fr auto;gap:14px;max-width:720px;margin:21px auto 0}.invitation-input{height:52px;display:flex;align-items:center;background:#fff;border:1px solid #ddd8d2;border-radius:6px;box-shadow:0 3px 13px #62523d0c}.invitation-input span{font-size:22px;color:var(--crystal-gold);padding:0 15px;border-right:1px solid #e7e2dc}.invitation-input input{border:0;outline:0;width:100%;height:100%;padding:0 14px;font-size:13px;background:transparent;text-transform:uppercase;letter-spacing:1px}.invitation-input input::placeholder{text-transform:none;letter-spacing:0;color:#9a9e9c}.find-wrap .crystal-button{height:52px}.find-wrap small{display:block;color:#6f7674;margin-top:4px;font-size:11px}.lookup-error{min-height:19px;color:#aa4b45!important;font-size:11px!important;margin:5px 0 0!important}.botanical{position:absolute;font-size:160px;font-family:Georgia,serif;color:#d2ab70;opacity:.55;line-height:1}.botanical-left{left:-30px;top:5px;transform:rotate(-35deg)}.botanical-right{right:-32px;top:0;transform:rotate(145deg)}.couples-section{width:min(1100px,calc(100% - 56px));margin:0 auto 34px;display:grid;grid-template-columns:1fr 1fr;border-radius:12px;overflow:hidden;background:#faf5f0}.couples-photo-wrap{position:relative;min-height:390px;overflow:hidden}.couples-photo-wrap img{width:100%;height:100%;object-fit:cover;object-position:center}.photo-quote{position:absolute;right:12%;top:23%;width:160px;height:190px;background:#f3e6d7e8;border:4px solid #aa7c46;box-shadow:0 10px 30px #2c241b30;display:grid;place-items:center;text-align:center;font:italic 27px/1.25 'Playfair Display',serif;color:#916b3d;transform:rotate(-2deg)}.photo-quote span{font-size:20px}.couples-copy{padding:43px 45px}.couples-copy h2{font-size:35px;line-height:1.1;margin:13px 0}.couples-copy>p{color:#606967;font-size:12px;line-height:1.6}.couples-copy ul{list-style:none;padding:0;margin:15px 0 22px;color:#56605e;font-size:12px;line-height:1.75}.couples-copy li:before{content:'✓';font-weight:700;color:#314d48;margin-right:10px}.couples-copy .crystal-button{min-height:45px;padding:0 23px}.crystal-footer{border-top:1px solid var(--crystal-line);padding:25px max(28px,calc((100vw - 1160px)/2));display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:25px}.crystal-footer .crystal-brand{font-size:18px}.crystal-footer .brand-mark{width:35px;height:35px;font-size:34px}.crystal-footer small{display:block;font-size:9px;color:#66706d;margin-top:2px}.crystal-footer nav{display:flex;gap:22px;font-size:10px}.footer-meta{text-align:right}.footer-meta>a{display:block;font-size:11px;font-weight:600;margin-bottom:5px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.find-page .crystal-hero,.find-page .feature-strip,.find-page .couples-section{display:none}.find-page .find-wrap{min-height:calc(100vh - 210px);display:flex;flex-direction:column;justify-content:center;margin-top:30px}.rsvp-home a:focus-visible,.rsvp-home button:focus-visible,.rsvp-home input:focus-visible{outline:3px solid #b99059;outline-offset:3px}
@media(max-width:980px){.site-header{grid-template-columns:auto 1fr auto;padding:0 24px}.site-header nav{gap:16px}.site-header nav a{font-size:11px}.hero-content{width:calc(100% - 48px)}.hero-content h1{font-size:51px}.hero-shade{background:linear-gradient(90deg,#fff 0%,#fffdf9ec 38%,#fffaf29e 65%,transparent 86%)}.feature-strip{padding-inline:18px}.feature-strip article{padding-inline:12px}.find-wrap{padding-inline:80px}.couples-section{grid-template-columns:.9fr 1.1fr}.photo-quote{right:8%;width:130px}.crystal-footer{grid-template-columns:1fr auto}.crystal-footer nav{display:none}}
@media(max-width:720px){.site-header{height:auto;min-height:66px;grid-template-columns:1fr auto;padding:11px 18px}.crystal-brand{font-size:19px}.brand-mark{font-size:35px;width:36px;height:36px}.menu-toggle{display:block;border:1px solid #9b9f9c;background:white;border-radius:5px;padding:8px 11px}.site-header nav{grid-column:1/-1;display:none;height:auto;flex-direction:column;gap:0;padding:4px 0 10px}.site-header.menu-open nav{display:flex}.site-header nav a{display:block;padding:10px;border:0}.site-header .staff-link{display:none}.crystal-hero{min-height:630px;align-items:flex-start}.hero-photo{object-position:63% center}.hero-shade{background:linear-gradient(180deg,#fff 0%,#fffdf9f2 51%,#fff8ef99 75%,transparent 100%)}.hero-content{width:calc(100% - 38px);padding-top:46px}.hero-content h1{font-size:43px;max-width:520px}.hero-content>p{font-size:14px;max-width:430px}.hero-actions{flex-wrap:wrap}.hero-actions .crystal-button{flex:1;min-width:190px}.hero-highlights{margin-top:28px;justify-content:space-between}.hero-highlights>div{min-width:0;padding:0 11px;flex:1}.hero-highlights strong{font-size:20px}.hero-highlights span{font-size:9px}.feature-strip{grid-template-columns:1fr 1fr;gap:28px 0;padding:30px 18px}.feature-strip article:nth-child(2){border:0}.feature-icon{width:60px;height:60px;font-size:27px}.find-wrap{width:calc(100% - 32px);padding:35px 22px}.find-wrap h2{font-size:32px}.find-wrap form{grid-template-columns:1fr}.find-wrap .crystal-button{width:100%}.botanical{font-size:100px}.couples-section{width:calc(100% - 32px);grid-template-columns:1fr}.couples-photo-wrap{min-height:320px}.couples-copy{padding:33px 27px}.couples-copy h2{font-size:30px}.crystal-footer{grid-template-columns:1fr;text-align:center;padding:24px}.crystal-footer>div:first-child{display:grid;justify-content:center}.crystal-footer .footer-meta{text-align:center}.find-page .find-wrap{margin-top:18px;min-height:calc(100vh - 160px)}}
@media(max-width:420px){.hero-content h1{font-size:38px}.crystal-hero{min-height:650px}.hero-actions{display:grid}.hero-actions .crystal-button{width:100%}.hero-highlights span{display:none}.feature-strip h2{font-size:17px}.feature-strip p{font-size:10px}.couples-copy{padding:29px 23px}.photo-quote{width:115px;height:145px;font-size:21px}}
.crystal-brand{gap:0!important;font:inherit!important;text-transform:none!important;letter-spacing:0!important}.crystal-logo-crop{display:block;position:relative;overflow:hidden;width:188px;height:42px;background:#060a09;flex:0 0 auto}.crystal-logo-crop img{position:absolute;max-width:none;width:329px;height:105px;left:-99px;top:-27px}@media(max-width:720px){.crystal-logo-crop{width:166px;height:37px}.crystal-logo-crop img{width:291px;height:93px;left:-88px;top:-24px}}
