:root{--paper:#f5f1e8;--cream:#fcf9f1;--ink:#353d32;--sage:#65715b;--sage-light:#e4e8dc;--gold:#a78d59;--muted:#6f7468;--line:#d9d9c9;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Manrope",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.8;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.15;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' opacity='.22' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}input:focus,textarea:focus,select:focus{outline:2px solid var(--sage);outline-offset:2px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.03}h2{font-size:clamp(40px,9.7vw,58px);letter-spacing:-1.5px}h2 em{font-weight:400;color:var(--sage)}[hidden]{display:none!important}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.eyebrow{font-family:var(--sans);font-size:9px;font-weight:600;letter-spacing:2.6px;line-height:1.8}.draft-ribbon{position:absolute;top:0;left:0;right:0;text-align:center;font-size:8px;letter-spacing:1.7px;padding:5px 12px;background:#e5e7da;color:#5b6351;z-index:40}.draft-ribbon span{padding:0 8px}.entry{min-height:100svh;display:flex;flex-direction:column;position:relative;overflow:hidden;background:radial-gradient(ellipse at 15% 50%,#dfe2d580,transparent 60%);padding:50px 22px 24px}.entry-top,.entry-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;max-width:680px;margin:auto;font-size:8px;letter-spacing:1.8px}.entry-top{margin:0 auto}.tiny-date{white-space:nowrap;font-size:10px;letter-spacing:2px}.entry-bottom{margin:0 auto}.entry-bottom svg{width:15px;height:15px;color:var(--gold);flex-shrink:0}.envelope-scene{flex:1;width:100%;max-width:600px;margin:auto;display:flex;align-items:center;flex-direction:column;justify-content:center;padding:36px 0 30px}.entry-title{text-align:center;transition:opacity .5s,transform .8s}.entry-title .eyebrow{margin-bottom:16px;color:var(--sage)}.entry-title h1{font-size:clamp(36px,8.8vw,56px);letter-spacing:-1.3px}.entry-title h1 em{font-weight:400;color:var(--sage)}.envelope-wrap{width:min(82vw,380px);position:relative;margin:56px 0 10px;perspective:1000px;isolation:isolate}.envelope{width:100%;aspect-ratio:1.45;position:relative;transform:rotate(-6deg);filter:drop-shadow(0 22px 16px #48513b24);transition:transform 1s cubic-bezier(.22,.68,0,1.1)}.envelope-back{position:absolute;inset:0;background:#d7d4c6;border-radius:3px}.envelope-front{position:absolute;inset:0;background:linear-gradient(125deg,#efe9dc,#f6f0e3);clip-path:polygon(0 0,50% 58%,100% 0,100% 100%,0 100%);z-index:5}.envelope-bottom{position:absolute;inset:0;background:linear-gradient(168deg,#f9f3e8,#e8dfcc);clip-path:polygon(0 100%,0 94%,50% 43%,100% 94%,100% 100%);z-index:6}.envelope-flap{position:absolute;inset:0;clip-path:polygon(0 0,100% 0,50% 59%);background:linear-gradient(172deg,#fffbf2,#e7decc);z-index:7;transform-origin:50% 0;transition:transform 1s .25s,z-index 0s .7s}.envelope-flap:after{content:"";position:absolute;inset:1px;clip-path:polygon(0 0,100% 0,50% 59%);background:linear-gradient(160deg,#f9f5ec,#ece4d5);z-index:1}.wax-seal{position:absolute;left:calc(50% - 33px);top:calc(50% - 27px);width:66px;height:66px;z-index:8;display:grid;place-items:center;background:radial-gradient(ellipse at 35% 25%,#b6b99e 0,#899378 55%,#768368 100%);border:0;border-radius:46% 52% 44% 50% / 48% 46% 53% 48%;box-shadow:inset 1px 2px 2px #f3eedb80,inset -1px -3px 3px #3f4d3959,0 4px 4px #3b3b3336;transition:transform .6s,opacity .5s}.wax-seal:before{content:"";position:absolute;inset:7px;border:1px solid #e6e9d180;border-radius:50%;box-shadow:inset 0 1px 1px #4a59454f,0 1px 1px #e6e9d166}.wax-seal span{font-family:var(--serif);font-size:24px;color:#f6f4e1;text-shadow:0 1px 1px #435338}.wax-seal i{font-size:15px;margin:0 1px}.wax-seal:hover{transform:scale(1.07)}.envelope-address{position:absolute;z-index:6;bottom:22px;left:0;right:0;text-align:center;font-family:var(--serif);font-size:15px;font-style:italic;line-height:1.2;color:#767660}.letter{position:absolute;inset:9px 12px 13px;background:var(--cream);border:1px solid #b0aa853d;padding:20px 12px 12px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;z-index:3;transition:transform 1.2s .8s}.letter .eyebrow{font-size:7px}.letter-names{font-family:var(--serif);font-size:36px;line-height:.95}.letter-names i{font-size:25px;color:var(--gold)}.letter-date{font-size:8px;letter-spacing:2px}.envelope-leaf{position:absolute;width:120px;height:230px;color:#788566;z-index:-1;opacity:.75}.leaf-one{left:-50px;top:-49px;transform:rotate(-30deg)}.leaf-two{right:-35px;bottom:-50px;transform:rotate(140deg)}.open-label{border:0;background:none;margin:19px 0 25px;font-size:11px;letter-spacing:.5px;min-height:44px}.open-label span{color:var(--gold);font-size:18px;padding-left:5px}.entry-signature{font-family:var(--serif);font-size:23px;letter-spacing:.5px}.entry-signature i{color:var(--gold);margin:0 3px}.opening .envelope{transform:rotate(0deg) translateY(25px)}.opening .envelope-flap{transform:rotateX(180deg);z-index:2}.opening .wax-seal{transform:translateY(22px) scale(.7);opacity:0;pointer-events:none}.opening .letter{transform:translateY(-65%)}.opening .entry-title{opacity:0;transform:translateY(-20px)}.opening .open-label,.opening .entry-signature{opacity:0;transition:opacity .3s}.name-card{width:100%;max-width:420px;margin:auto;padding:36px 5px;text-align:center;animation:appear .7s both}.mini-monogram{font-family:var(--serif);font-size:28px;letter-spacing:1px;color:var(--sage)}.mini-monogram i{font-size:20px;color:var(--gold)}.small-sprig{height:65px;width:75px;color:var(--sage);transform:rotate(20deg);margin:12px auto 22px}.name-card h2{margin:18px 0 20px;font-size:46px}.name-card>p:not(.eyebrow){font-size:12px;line-height:1.9;color:var(--muted)}form{text-align:left}.name-card form{margin-top:30px}.name-card form label{font-size:11px}input:not([type=radio]),select,textarea{width:100%;border:1px solid #c8cbbb;background:#fffdf6b0;border-radius:2px;padding:14px 15px;color:var(--ink);font-size:16px;min-height:52px}input::placeholder,textarea::placeholder{color:#777c70;font-size:12px}label{display:block;font-size:12px;font-weight:500;margin-bottom:8px}label span:not(.choice-grid span){font-size:10px;color:var(--muted);font-weight:400}textarea{resize:vertical;line-height:1.6}select{appearance:auto}.button{width:100%;display:flex;align-items:center;justify-content:center;gap:20px;min-height:54px;padding:15px 18px;font-size:11px;font-weight:600;letter-spacing:.3px;border-radius:2px;transition:background .2s,transform .2s}.button svg{width:19px;height:19px;flex-shrink:0}.button-primary{background:var(--sage);border:1px solid var(--sage);color:#faf8ee}.button-primary:hover{background:#4d5a43}.button-outline{background:transparent;border:1px solid #88917d;color:var(--ink)}.button-outline:hover{background:#e4e8dc}.text-button{border:0;background:none;font-size:11px;min-height:44px;color:var(--muted);margin-top:15px}.form-error{font-size:12px;color:#9b4537;line-height:1.6;margin:10px 0;min-height:0}.form-error:empty{display:none}.name-card .button{margin-top:18px}.demo-picker{text-align:left;margin-top:23px;font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:13px}.demo-picker summary{cursor:pointer;min-height:35px}.demo-picker p{font-size:10px;margin-bottom:8px}.demo-picker div{display:grid;gap:6px}.demo-picker button{background:#e8eadf;border:0;padding:12px;font-size:11px;text-align:left;border-radius:2px}
#invitation{max-width:1440px;margin:auto;animation:appear 1s both}.site-header{height:95px;padding:28px 26px 0;display:flex;align-items:center;justify-content:space-between}.monogram{font:27px var(--serif);letter-spacing:1px}.monogram i{font-size:20px;color:var(--gold)}.header-rsvp{font-size:10px;letter-spacing:.5px;padding:12px 0;border-bottom:1px solid #b6baa7}.header-rsvp span{margin-left:8px;color:var(--gold)}.section{padding:76px 28px;position:relative}.hero{text-align:center;min-height:650px;min-height:calc(100svh - 95px);padding:60px 24px 40px;display:flex;flex-direction:column;align-items:center;isolation:isolate;overflow:hidden}.hero-arch{position:absolute;top:12px;left:21px;right:21px;bottom:30px;border:1px solid #aab39769;border-radius:250px 250px 1px 1px;z-index:-1}.hero-arch-inner{position:absolute;inset:7px;border:1px solid #bfc1a638;border-radius:240px 240px 1px 1px}.hero>.eyebrow{margin:28px 0 25px;color:var(--sage)}.hero h1{font-size:clamp(69px,18vw,110px);font-weight:400;letter-spacing:-3px;line-height:.82;display:flex;flex-direction:column}.hero h1 i{font-size:.6em;line-height:1.1;color:var(--gold);font-weight:400;margin:1px 0 0}.hero-date{display:flex;flex-direction:column;gap:6px;margin-top:35px}.hero-date span{font-size:8px;letter-spacing:2.2px}.hero-date strong{font-family:var(--serif);font-weight:400;font-size:30px;letter-spacing:3px;line-height:1.2}.hero-note{font-family:var(--serif);font-size:17px;line-height:1.45;font-style:italic;margin:25px 0;color:#69715e}.hero-scroll{margin-top:auto;display:flex;flex-direction:column;gap:10px;padding:16px 0 9px}.hero-scroll span:first-child{font-size:8px;letter-spacing:2px}.hero-scroll span:last-child{font-size:22px;line-height:1}.hero-sprig{position:absolute;z-index:-1;width:140px;height:250px;color:#839370;opacity:.6}.hero-sprig-left{left:-48px;top:43%;transform:rotate(-18deg)}.hero-sprig-right{right:-47px;top:12%;transform:rotate(165deg)}.personal{text-align:center;max-width:540px;margin:auto}.star{width:20px;height:20px;color:var(--gold);margin-bottom:29px}.personal h2{margin:20px -7px 27px;font-size:45px}.personal>p:not(.eyebrow){font-size:12px;line-height:1.95;max-width:355px;margin:0 auto 14px;color:var(--muted)}.personal-ticket{position:relative;text-align:left;margin:32px 0 23px;padding:23px 20px;background:#e4e8dc;display:grid;grid-template-columns:1fr 40px;gap:13px;border-top:1px solid #b7c0a5;border-bottom:1px solid #b7c0a5}.personal-ticket .eyebrow{font-size:8px;letter-spacing:2px}.personal-ticket strong{display:block;font-family:var(--serif);font-size:27px;line-height:1.15;margin-top:8px;font-weight:500}.ticket-number{font-family:var(--serif);color:var(--sage);font-size:34px;align-self:center;justify-self:end}.personal-ticket p{grid-column:1/-1;font-size:11px;line-height:1.8;color:#5c6553}.handwritten{display:block;font-family:var(--serif);font-size:22px;font-style:italic;margin-top:25px;color:var(--sage)}.date-section{text-align:center;background:var(--sage);color:var(--paper);padding:48px 25px}.date-section>.eyebrow{color:#d2d8c6;font-size:8px}.date-large{display:flex;justify-content:center;align-items:center;gap:17px;margin:22px auto 24px}.date-large>span:first-child{font:64px/.9 var(--serif)}.date-large i{font:italic 40px var(--serif)}.date-large>span:last-child{font:22px var(--serif);padding-left:15px;border-left:1px solid #bbc1af7a}.calendar-button{color:var(--paper);background:transparent;border:0;border-bottom:1px solid #a3ad968a;font-size:10px;padding:10px 1px;min-height:44px}.calendar-button span{font-size:15px;margin-right:10px}.calendar-note{font-size:9px;margin-top:13px;color:#d1d8c6}.section-head{display:flex;align-items:center;gap:14px;margin-bottom:24px}.section-index{font-size:10px;color:var(--gold);letter-spacing:1px}.section-intro{font-size:12px;color:var(--muted);line-height:1.9;margin-top:24px}.schedule{max-width:580px;margin:auto}.sample-note{font-size:9px;color:#737966;line-height:1.7;letter-spacing:.2px;margin:24px 0}.timeline{padding:0;margin:26px 0 0;list-style:none}.timeline li{display:grid;grid-template-columns:43px 48px 1fr;align-items:start;gap:17px;position:relative;padding:22px 0}.timeline li:not(:last-child):after{content:"";position:absolute;top:70px;bottom:-15px;width:1px;left:83px;background:#b4bea4}.timeline-time{font-size:10px;letter-spacing:.5px;margin-top:10px}.timeline svg{width:44px;height:44px;color:var(--sage)}.timeline h3{font-size:24px;line-height:1.15;margin:5px 0 6px}.timeline p{font-size:10px;color:var(--muted)}.location{padding:0 15px 55px}.location-card{position:relative;overflow:hidden;background:#e4e8dc;text-align:center;max-width:580px;margin:auto;padding:37px 30px 34px;border-radius:200px 200px 3px 3px}.location-card>.section-index{display:block;margin-top:18px}.location-card>.eyebrow{margin-top:12px;font-size:8px}.location-title{font:56px/.85 var(--serif);color:#748064;margin:47px 0 30px;display:flex;flex-direction:column;position:relative;z-index:1}.location-title em{font-size:90px;font-weight:400;line-height:.9;color:var(--sage)}.location-card h2{font-size:40px;letter-spacing:-.5px}.location-card>p:not(.eyebrow){font-size:11px;color:#5e6854;margin-top:9px}.location-card .hairline{height:1px;width:28px;background:var(--gold);margin:23px auto}.location-card .location-address{font-size:12px!important;line-height:1.9}.location-card .button{margin:23px auto 0;max-width:320px}.location-source{font-size:9px;display:block;margin-top:17px;color:#5e6854}.location-sprig{position:absolute;right:-40px;top:90px;width:155px;height:240px;transform:rotate(-27deg);color:#899477;opacity:.45}.rsvp{max-width:540px;margin:auto;padding-top:40px}.rsvp form{margin-top:28px}.attendance{border:0;padding:0;margin:0 0 23px}.attendance legend{font-size:12px;margin-bottom:12px;font-weight:600}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice-grid label{margin:0;position:relative}.choice-grid input{position:absolute;opacity:0;width:1px;height:1px}.choice-grid label>span{display:flex;flex-direction:column;align-items:flex-start;padding:16px 12px;border:1px solid #cbd0bf;background:#faf8f0;min-height:126px;cursor:pointer;position:relative;transition:background .2s}.choice-grid input:checked+span{background:#e3e8da;border-color:var(--sage)}.choice-grid input:checked+span:after{content:"✓";position:absolute;right:12px;top:12px;font-size:11px;color:var(--sage)}.choice-grid input:focus-visible+span{outline:2px solid var(--gold);outline-offset:3px}.choice-icon{font-size:24px;line-height:1.1;margin-bottom:14px;color:var(--sage)}.choice-grid strong{font-size:11px;font-weight:600}.choice-grid small{font-size:9px;color:var(--muted);margin-top:4px}.form-line{padding:16px 0;margin:2px 0 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;gap:10px;justify-content:space-between;font-size:10px}.form-line strong{font-weight:600}.rsvp label{margin-top:22px}.rsvp label span{float:right}.rsvp .choice-grid label{margin:0}.rsvp .button{margin-top:27px}.rsvp .form-error{margin-top:18px}.form-footnote{text-align:center;font-size:9px;color:var(--muted);line-height:1.7;margin-top:14px}.solo-note{font-size:11px;line-height:1.8;padding:17px;border-left:2px solid var(--gold);background:#ebece1}.rsvp-success{text-align:center;background:#e7ebdf;border:1px solid #bcc4ae;padding:30px 20px;margin-top:35px}.success-heart{font-size:45px;line-height:1.2;color:var(--sage)}.rsvp-success h3{font-size:37px;margin:16px 0}.rsvp-success p{font-size:12px;line-height:1.85;margin-bottom:14px}.rsvp-success #success-summary{font-size:10px;color:var(--muted)}.questions{padding-top:25px;max-width:540px;margin:auto}.questions h2{margin-top:20px;margin-bottom:35px}.questions details{border-top:1px solid var(--line);font-size:11px}.questions details:last-child{border-bottom:1px solid var(--line)}.questions summary{padding:21px 0;display:flex;gap:15px;align-items:center;justify-content:space-between;cursor:pointer;list-style:none}.questions summary::-webkit-details-marker{display:none}.questions summary span{font-size:17px;color:var(--sage)}.questions details[open] summary span{transform:rotate(45deg)}.questions details p{padding:0 15px 24px 0;line-height:1.9;color:var(--muted)}footer{text-align:center;border-top:1px solid var(--line);padding:35px 22px 110px;position:relative;overflow:hidden}footer .eyebrow{font-size:7px}footer .footer-names{font:37px var(--serif);margin:20px 0 14px}footer .footer-names i{color:var(--gold);font-size:26px}footer>span{font-size:8px;letter-spacing:2px}.footer-sprig{width:70px;height:90px;color:var(--sage);transform:rotate(40deg);margin-bottom:20px}footer button{display:block;border:0;background:none;margin:22px auto 0;padding:12px;font-size:9px;color:var(--muted);min-height:44px}.mobile-bottom{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;align-items:center;justify-content:center;background:#f8f6eefa;backdrop-filter:blur(12px);border-top:1px solid #c5c9b789;padding:10px 18px calc(10px + env(safe-area-inset-bottom));gap:18px;transform:translateY(100%);transition:transform .3s}.mobile-bottom.visible{transform:translateY(0)}.mobile-bottom a:first-child{font-size:10px;text-align:center;padding:13px 5px;flex:1;max-width:180px}.mobile-bottom a:last-child{background:var(--sage);color:var(--cream);font-size:11px;letter-spacing:.3px;padding:13px 20px;display:flex;justify-content:space-between;gap:20px;flex:1.3;max-width:230px;border-radius:2px}.noscript{padding:30px;text-align:center}@keyframes appear{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:700px){.entry{padding-top:65px}.envelope-wrap{width:410px;margin-top:55px}.entry-title h1{font-size:61px}.envelope-scene{padding:45px 0}.entry-signature{margin-top:6px}.envelope-address{bottom:30px;font-size:18px}.wax-seal{width:76px;height:76px;left:calc(50% - 38px);top:calc(50% - 31px)}.entry-top,.entry-bottom{font-size:9px}.site-header{padding-left:60px;padding-right:60px}.hero{min-height:790px;padding-top:75px;max-width:720px;margin:auto}.hero-arch{left:70px;right:70px}.hero h1{font-size:130px}.hero>.eyebrow{margin-bottom:36px}.hero-date{margin-top:36px}.hero-sprig-left{left:0}.hero-sprig-right{right:0}.hero-note{font-size:21px}.personal h2{font-size:56px}.personal>p:not(.eyebrow){font-size:13px}.section{padding-top:90px;padding-bottom:90px}.date-section{max-width:none;padding:60px}.date-large{gap:25px}.date-large>span:first-child{font-size:85px}.date-large i{font-size:58px}.date-large>span:last-child{font-size:30px}.location{padding:0 20px 70px}.location-card{padding:50px 65px;max-width:580px}.rsvp{padding-top:30px}.questions{padding-top:20px}.timeline li{padding-top:26px;padding-bottom:26px}.mobile-bottom{max-width:450px;left:50%;right:auto;width:100%;border:1px solid var(--line);border-radius:4px 4px 0 0;transform:translate(-50%,100%)}.mobile-bottom.visible{transform:translate(-50%,0)}footer{padding-bottom:110px}}
@media(max-width:360px){.entry{padding-left:18px;padding-right:18px}.entry-top .eyebrow{font-size:8px;letter-spacing:1.8px}.entry-bottom{font-size:7px;letter-spacing:1px}.envelope-scene{padding:25px 0}.entry-title h1{font-size:35px}.envelope-wrap{margin-top:40px}.open-label{margin-bottom:9px}.section{padding-left:22px;padding-right:22px}.hero h1{font-size:65px}.hero{padding-left:20px;padding-right:20px}.hero-note{font-size:16px}.personal h2{font-size:39px}.personal-ticket strong{font-size:24px}.timeline{margin-top:10px}.timeline li{gap:12px;grid-template-columns:36px 40px 1fr}.timeline li:not(:last-child):after{left:68px}.timeline svg{width:39px}.timeline h3{font-size:22px}.choice-grid label>span{padding:13px 10px}.choice-grid small{font-size:8px}.name-card h2{font-size:41px}}
.couple-portrait{max-width:460px;margin:0 auto;padding:28px 28px 0;text-align:center}.portrait-frame{border:1px solid #b8bea780;border-radius:220px 220px 3px 3px;padding:7px}.portrait-placeholder{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:4/5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:27px;background:linear-gradient(145deg,#e5e9dd,#eeeae0);border-radius:210px 210px 1px 1px;color:var(--sage);padding:65px 22px 30px}.portrait-placeholder>.eyebrow{font-size:8px;letter-spacing:2px}.portrait-monogram{font:64px/.95 var(--serif);letter-spacing:-3px}.portrait-monogram i{font-size:44px;color:var(--gold);font-weight:400}.portrait-hint{font:italic 27px/1.15 var(--serif);max-width:240px}.portrait-sprig{position:absolute;right:-40px;bottom:-35px;width:150px;height:230px;color:#84916f;opacity:.35;transform:rotate(-18deg);z-index:-1}.couple-portrait figcaption{font:italic 20px/1.4 var(--serif);color:var(--sage);margin:18px 0 0}.portrait-frame>img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:210px 210px 1px 1px}.gifts{max-width:580px;margin:auto;padding-top:14px;padding-bottom:45px}.gift-card{text-align:center;border-top:1px solid #b8bea780;border-bottom:1px solid #b8bea780;padding:34px 17px 32px;background:linear-gradient(165deg,#e7eadf70,#f5f1e800)}.gift-illustration{display:block;width:58px;height:58px;color:var(--gold);margin:0 auto 23px}.gift-card h2{font-size:clamp(38px,10.5vw,54px);letter-spacing:-1px;margin-bottom:25px}.gift-card p{font-size:13px;line-height:1.95;color:var(--muted);max-width:345px;margin:16px auto 0}.gift-card .gift-lead{color:var(--ink);font-size:14px}.gift-card .handwritten{font-size:21px;line-height:1.4;margin-top:24px}@media(min-width:700px){.couple-portrait{padding-top:5px}.gifts{padding-top:0;padding-bottom:65px}.gift-card{padding:40px 30px}}@media(max-width:360px){.couple-portrait{padding-left:22px;padding-right:22px}.portrait-placeholder{gap:22px;padding-top:48px}.portrait-monogram{font-size:56px}.portrait-hint{font-size:24px}.couple-portrait figcaption{font-size:18px}.gift-card{padding-left:10px;padding-right:10px}.gift-card .handwritten{font-size:19px}}
.named-companions{border:0;padding:0;margin:22px 0 0;min-width:0}.named-companions legend{font-size:12px;font-weight:600;margin-bottom:5px}.named-companions>p{font-size:11px;color:var(--muted);margin-bottom:12px}.rsvp .companion-option{display:flex;align-items:center;gap:12px;padding:14px;margin:8px 0;border:1px solid var(--line);background:#faf8f0;min-height:54px;cursor:pointer}.rsvp .companion-option:has(input:checked){border-color:var(--sage);background:var(--sage-light)}#companion-options input{width:19px;height:19px;min-height:19px;padding:0;flex:0 0 19px;accent-color:var(--sage)}.rsvp .companion-option span{float:none;font-size:12px;color:var(--ink);overflow-wrap:anywhere}
.witnesses{max-width:600px;margin:auto;padding-top:20px;text-align:center}.witnesses-star{display:block;width:23px;height:23px;color:var(--gold);margin:0 auto 24px}.witnesses h2{margin:18px 0 24px}.witnesses-intro{max-width:390px;margin:0 auto;font-size:13px;line-height:1.95;color:var(--muted)}.witness-cards{display:grid;gap:14px;margin:30px auto 0;max-width:370px}.witness-card{padding:24px 18px 16px;border:1px solid #b8bea780;background:linear-gradient(135deg,#e5e9dd90,#f5f1e840)}.witness-card h3{font-size:29px;color:var(--sage);line-height:1.2}.witness-phone{display:flex;align-items:center;justify-content:center;gap:11px;min-height:48px;margin:10px 0 0;font-size:13px;font-variant-numeric:tabular-nums}.witness-phone svg{width:17px;height:17px;fill:none;stroke:var(--sage);stroke-width:1.3;stroke-linejoin:round}.witness-phone .phone-arrow{color:var(--gold);font-size:19px}.witness-phone:hover{color:var(--sage)}.witness-link{text-decoration:underline;text-underline-offset:3px}.witnesses>.handwritten{font-size:21px;line-height:1.5;margin-top:27px}@media(min-width:700px){.witness-cards{grid-template-columns:1fr 1fr;max-width:none;gap:16px}.witness-card{padding:27px 12px 17px}.witness-card h3{font-size:27px}.witnesses{padding-bottom:70px}}@media(max-width:360px){.witnesses>.handwritten{font-size:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;transition-delay:0s!important}}
