@font-face{font-family:'Pinyon Script';font-style:normal;font-weight:400;font-display:swap;src:url('../assets/fonts/PinyonScript-Regular.ttf') format('truetype')}
*{box-sizing:border-box}body{margin:0;background:#f3f0e9;color:#493c2e;font-family:Arial,sans-serif}
header{max-width:1080px;margin:auto;padding:23px 24px;border-bottom:1px solid #dacfbf;display:flex;gap:24px;justify-content:space-between;align-items:center}
header p{margin:0;font:24px Georgia,serif}header small{display:block;margin-top:8px;font:10px Arial,sans-serif;letter-spacing:.17em;text-transform:uppercase}
a{color:inherit;text-underline-offset:4px}header a{font-size:12px;padding:12px 0}
main{max-width:980px;margin:auto;padding:12px 24px 30px}
button,input{font:inherit}button{cursor:pointer;min-height:44px;border:1px solid #bdae98;background:#fcf9f1;color:#493c2e;padding:10px 15px;border-radius:3px}button:hover{background:#eae0d0}button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #665238;outline-offset:4px}
.review-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;font-size:12px;margin-bottom:12px}.review-tools label{display:flex;align-items:center;min-height:44px;gap:7px;margin-left:8px}.review-tools input{width:18px;height:18px;accent-color:#756149}
.scene{position:relative;container-type:inline-size;isolation:isolate;aspect-ratio:2/3;width:min(100%,calc(max(540px,100svh - 190px)*.666667));margin-inline:auto;box-shadow:0 12px 40px #6958401b;background:#d8c7aa;overflow:hidden}
.scene>img,.scene>video{display:block;width:100%;height:100%;object-fit:contain}.scene>video{position:absolute;inset:0;opacity:0;pointer-events:none}.scene.show-entrance #entrance,.scene.show-ambient #ambient{opacity:1}
#enter{position:absolute;left:52.07184%;top:60.64497%;transform:translate(-50%,-50%);padding:0;width:20%;aspect-ratio:1;min-height:64px;min-width:64px;background:transparent;border:0;box-shadow:none;border-radius:50%;color:#493720}
#enter span{position:absolute;top:calc(50% + 45.5cqw);left:50%;transform:translateX(-50%);display:block;width:70cqw;max-width:310px;font:italic clamp(17px,2.8cqw,25px) Georgia,serif;text-shadow:0 1px 3px #fff7e9}#enter small{display:block;font:clamp(10px,1.4cqw,12px) Arial,sans-serif;letter-spacing:.04em;margin-top:8px}#enter[hidden]{display:none}
.wording{position:absolute;inset:0;text-align:center;color:#3b3023;pointer-events:none;opacity:0;transition:opacity 1.1s ease}.scene.is-hero .wording{opacity:1}
.intro{position:absolute;top:34.8%;width:100%;margin:0;font:italic 400 clamp(12px,2.1cqw,18px)/1.2 Georgia,serif;letter-spacing:.015em;color:#352819}.intro span{display:inline-block}
.invitation-copy{position:absolute;top:38.9%;left:16%;right:16%}
.couple{position:relative;isolation:isolate;margin:0;font-family:'Pinyon Script',Georgia,serif;font-size:clamp(43px,11.6cqw,112px);line-height:.86;font-weight:400;letter-spacing:0;text-shadow:0 1px 5px #fffaecaa}
.couple::before{content:'';position:absolute;inset:-24% -12%;z-index:-1;background:radial-gradient(ellipse,#fbf8edb3 0%,#fbf8ed8c 30%,#fbf8ed00 72%);filter:blur(4px)}
.couple .name{display:block;white-space:nowrap}.couple .amp{display:block;margin:.18em 0 .25em;font-family:Georgia,serif;font-size:.46em;line-height:1;font-style:italic;letter-spacing:0;color:#493421}
.event-meta{margin-top:clamp(12px,2.6cqw,24px);font-family:Georgia,serif;text-shadow:0 1px 7px #fff9ef,0 0 14px #fff9ef}.date{margin:0;font-size:clamp(14px,2.3cqw,22px);letter-spacing:.06em;line-height:1.2}.place{margin:1.4cqw 0 0;font-size:clamp(11px,1.6cqw,15px);letter-spacing:.10em;line-height:1.25}
main:has(#wording-visible:not(:checked)) .wording{visibility:hidden}
.note{max-width:630px;margin:20px auto 0;text-align:center;font-size:13px;line-height:1.8;color:#786955}.inspection{max-width:700px;margin:20px auto 0;font-size:12px;border-top:1px solid #dacebb;padding-top:14px}.inspection summary{cursor:pointer;min-height:44px}.checkpoints{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 18px}.checkpoints button{flex:1 1 110px;font-size:12px}.inspection label,.inspection output{display:block;margin:10px 0}.inspection input{width:100%;min-height:44px;accent-color:#84653e}
footer{text-align:center;font-size:11px;line-height:1.6;padding:0 20px 28px;color:#786955}
@media(max-width:550px){header{padding:18px 16px;gap:16px;align-items:flex-start}header p{font-size:21px}header a{flex:none;max-width:90px;text-align:right;line-height:1.4}main{padding:10px 0 25px}.note,.inspection{margin-left:16px;margin-right:16px}.review-tools{padding:0 8px;gap:6px}.review-tools label{margin-left:0}.review-tools button{padding:10px 12px}}
@media(max-width:350px){.couple{font-size:38px}}
@media(prefers-reduced-motion:reduce){.wording{transition:none}}
