:root{--ink:#51483c;--muted:#7a7062;font-family:Inter,sans-serif;color:var(--ink);background:#fffdf8;--paper:#fffdf8;--gold:#b49a70;--line:#e8dfcf}*{box-sizing:border-box}body{margin:0}html{scroll-behavior:smooth;scroll-padding-top:75px}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.script{font-family:Parisienne,cursive;font-weight:400}.eyebrow{font-size:10px;letter-spacing:.22em;text-transform:uppercase;line-height:1.8}.ornament{font:46px Georgia;color:var(--gold)}#intro{min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:25px;background:radial-gradient(ellipse at 25% 15%,#fffefb,transparent 65%),linear-gradient(130deg,#fffdf8,#f5eddc);overflow:hidden}#intro>.eyebrow{margin-bottom:45px;color:var(--muted);text-align:center}#scene{width:min(680px,90vw);aspect-ratio:1.5;perspective:1800px;touch-action:none}#envelope{height:100%;position:relative;transform-style:preserve-3d;transition:transform 1.1s cubic-bezier(.22,1,.36,1)}#envelope.flipped{transform:rotateY(180deg)}#front,#back{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;border:1px solid #e5d8c2;border-radius:3px;box-shadow:0 30px 65px #554c3826;background:repeating-linear-gradient(0deg,#ffffff08 0,#ffffff08 1px,#bbaa8705 1px,#bbaa8705 3px),linear-gradient(120deg,#fffefb,#f6eedf)}#front{width:100%;color:inherit;display:flex;flex-direction:column;justify-content:center;align-items:center}#front:before{content:"";position:absolute;top:16px;right:16px;bottom:16px;left:16px;border:1px solid #c9b58e70;pointer-events:none}#front .ornament{position:absolute;left:30px;top:15px}.names{font-size:clamp(42px,7vw,78px);margin:15px 0}.rule{display:block;width:65px;height:1px;background:var(--gold);margin:15px auto}.sender{position:absolute;right:30px;bottom:28px;font-size:10px;line-height:1.8;text-align:right;color:var(--muted)}#back{transform:rotateY(180deg);isolation:isolate}.pocket{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(30deg,#f0e5d0,#fffaf0);clip-path:polygon(0 0,50% 53%,100% 0,100% 100%,0 100%);z-index:3}.pocket:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(145deg,transparent 49.8%,#cfbd9c 50%,transparent 50.3%),linear-gradient(215deg,transparent 49.8%,#cfbd9c 50%,transparent 50.3%);opacity:.4}.flap{position:absolute;top:0;right:0;bottom:0;left:0;clip-path:polygon(0 0,100% 0,50% 54%);background:linear-gradient(#fffdf7,#eadcc2);transform-origin:top;z-index:4;transition:transform .85s ease,z-index 0s .4s}#seal{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-9deg);width:85px;height:85px;border-radius:45% 49% 44% 48%;border:4px solid #c5ad83;background:radial-gradient(circle at 30% 25%,#f3e6cb,#d6bf96 65%,#b49a70);box-shadow:inset 0 0 0 3px #fff7e060,2px 8px 12px #79634226;z-index:5;color:#4e4438;font:24px Cormorant Garamond,serif;transition:opacity .3s}#insert{position:absolute;top:12%;right:9%;bottom:4%;left:9%;background:var(--paper);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;z-index:2;transition:transform 1s .65s,scale 1s 1.5s;box-shadow:0 8px 30px #554c3820}#insert .script{font-size:clamp(38px,6vw,65px)}.opening .flap{transform:rotateX(180deg);z-index:1}.opening #seal{opacity:0;pointer-events:none}#intro.leaving{opacity:0;transform:scale(1.1);transition:opacity .65s,transform .8s}#hint{font-size:11px;color:var(--muted);text-align:center;margin-top:38px;line-height:1.8}#intro .intro-footer{margin:40px 0 0}main{background:var(--paper);animation:arrive 1s ease}main[hidden]{display:none}nav{display:flex;justify-content:space-between;align-items:center;padding:20px clamp(22px,6vw,80px);border-bottom:1px solid var(--line);background:#fffdf8f5;position:sticky;top:0;z-index:10}nav>a{font:24px Cormorant Garamond,serif;text-decoration:none}nav div{display:flex;gap:26px;font-size:11px}nav div a{text-decoration:none}section{padding:95px 24px;text-align:center;border-bottom:1px solid var(--line);position:relative;overflow:hidden}.hero{min-height:calc(100svh - 69px);display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse at 50% 45%,#fff,#faf4e7)}h1{font-size:clamp(75px,11vw,140px);margin:25px 0 10px;line-height:1.1;z-index:1}.place{font:28px Cormorant Garamond,serif;margin:15px}.invite{font:23px/1.6 Cormorant Garamond,serif;max-width:620px}.muted{font-size:12px;color:var(--muted);line-height:1.9}.botanical{position:absolute;font:340px Georgia;color:#b49a7026;left:-75px;top:10%;transform:rotate(40deg);pointer-events:none}.scroll{font-size:11px;letter-spacing:.1em;margin-top:35px;text-decoration:none}h2{font:clamp(36px,5vw,54px) "Cormorant Garamond",serif;margin:15px 0}.date{display:flex;align-items:center;justify-content:center;gap:26px;margin:45px auto 30px}.date span{font-size:11px;letter-spacing:.17em;line-height:1.8}.date strong{font:90px Cormorant Garamond,serif;border-inline:1px solid var(--line);padding:0 28px;line-height:1}.countdown{display:flex;justify-content:center;gap:clamp(20px,5vw,48px);margin:40px 0 20px}.countdown strong{display:block;font:44px Cormorant Garamond,serif;font-variant-numeric:tabular-nums}.countdown span{font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:var(--muted)}.button{display:inline-block;background:var(--ink);color:#fffefb;padding:16px 25px;border:1px solid var(--ink);text-decoration:none;font-size:11px;letter-spacing:.07em;border-radius:2px;transition:background .2s}.button:hover{background:#6b5b49}.button:disabled{opacity:.6;cursor:wait}.outline{background:transparent;color:var(--ink);margin-top:20px}.outline:hover{color:#fff}#venue{background:#faf5e9}.map{width:min(760px,100%);height:320px;padding:8px;background:var(--paper);border:1px solid #e8dfcf;margin:35px auto 25px}.map iframe{width:100%;height:100%;border:0}form{max-width:480px;text-align:left;margin:40px auto 0}label,legend{display:block;font-size:12px;margin-bottom:10px}input:not([type=radio]),textarea{width:100%;padding:14px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:2px;margin-bottom:24px;font-size:13px}textarea{resize:vertical}fieldset{border:0;padding:0;margin:0 0 25px}.choice{display:inline-flex;gap:8px;align-items:center;margin:8px 20px 0 0;font-size:12.5px}input[type=radio]{accent-color:var(--ink);width:16px;height:16px}form .button{width:100%}#status{font-size:12px;line-height:1.8;min-height:22px}.honeypot{position:absolute;left:-10000px}#music{position:fixed;bottom:18px;right:18px;z-index:20;background:var(--paper);border:1px solid var(--line);border-radius:30px;padding:13px 18px;color:var(--ink);box-shadow:0 4px 20px #51483c15;font-size:11px}footer{text-align:center;padding:65px 20px 90px;background:#f5eddd}footer .script{font-size:42px;margin:10px}@keyframes arrive{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}@media (max-width:600px){#scene{aspect-ratio:1.24}#intro>.eyebrow{margin-bottom:55px}.sender{bottom:25px;right:25px;font-size:9px}#front .ornament{font-size:30px;left:23px;top:13px}#seal{width:70px;height:70px;font-size:20px}#hint{max-width:260px;font-size:10px}section{padding:70px 22px}.hero{padding-top:50px;padding-bottom:45px}h1{font-size:76px}.invite{font-size:20px}nav div{gap:18px}.date{gap:16px}.date strong{font-size:76px;padding:0 18px}.date span{font-size:9px}.map{height:260px}.botanical{font-size:220px;opacity:.6}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}:root{color-scheme:light}.hero .eyebrow,.hero .place,.hero .invite,.hero .muted{position:relative}#rsvpForm>label,#rsvpForm legend,#otherRelationshipField>label{font-weight:600;margin-bottom:12px}#rsvpForm input:not([type=radio]),#rsvpForm textarea,#rsvpForm select{margin-bottom:36px}#rsvpForm fieldset{margin-bottom:36px}@media (max-width:600px){nav{gap:12px;padding-inline:16px}nav>a{flex-shrink:0}nav div{gap:clamp(8px,2.5vw,15px);font-size:10px}nav div a{white-space:nowrap}}.hero{isolation:isolate}.hero .hero-bismillah,.hero .hero-title{font-size:20px}.hero .hero-bismillah{letter-spacing:normal;text-transform:none}.wedding-rings,.wedding-hearts{position:absolute;z-index:-1;pointer-events:none;color:var(--gold);opacity:.18}.wedding-rings{width:clamp(200px,24vw,360px);left:-45px;top:18%;transform:rotate(-18deg)}.wedding-hearts{width:clamp(140px,15vw,225px);right:25px;bottom:12%;transform:rotate(12deg);opacity:.13}@media (max-width:600px){.wedding-rings{width:200px;left:-100px;top:16%;opacity:.13}.wedding-hearts{width:140px;right:-65px;bottom:9%;opacity:.1}}#day,#venue,#wishes{isolation:isolate}#day:before,#venue:before,#wishes:before{content:"";position:absolute;z-index:-1;pointer-events:none;background-repeat:no-repeat;background-position:center;background-size:contain;opacity:.18;width:clamp(180px,22vw,300px)}#day{background:radial-gradient(ellipse at 50% 40%,#ffffff,var(--paper))}#day:before{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20240%20280'%20fill='none'%20stroke='%23b49a70'%20stroke-width='1.6'%3e%3ccircle%20cx='120'%20cy='140'%20r='91'/%3e%3ccircle%20cx='120'%20cy='140'%20r='80'/%3e%3cpath%20d='M120%2068v9m0%20126v9M48%20140h9m126%200h9M69%2089l6%206m90%2090%206%206M69%20191l6-6m90-90%206-6M120%2094v46l29%2019'%20stroke-linecap='round'/%3e%3cpath%20d='M120%20247c-15-10-27-20-27-30%200-12%2017-17%2027-5%2010-12%2027-7%2027%205%200%2010-12%2020-27%2030Z'%20fill='%23b49a70'%20stroke='none'/%3e%3cpath%20d='m120%2014%203%209%209%203-9%203-3%209-3-9-9-3%209-3Z'/%3e%3c/svg%3e");aspect-ratio:240/280;left:3%;top:16%;transform:rotate(-12deg)}#venue:before{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20260%20340'%20fill='none'%20stroke='%23b49a70'%20stroke-width='1.6'%3e%3cpath%20d='M35%20315V137a95%2095%200%200%201%20190%200v178M49%20315V137a81%2081%200%200%201%20162%200v178M22%20315h216'/%3e%3cpath%20d='M69%20315V153a61%2061%200%200%201%20122%200v162M130%2093v222M69%20161h122'/%3e%3cpath%20d='M130%2069c-14-10-25-19-25-28%200-12%2016-16%2025-5%209-11%2025-7%2025%205%200%209-11%2018-25%2028Z'/%3e%3cpath%20d='m21%2082%203%209%209%203-9%203-3%209-3-9-9-3%209-3Zm218%20111%203%207%207%203-7%203-3%207-3-7-7-3%207-3Z'/%3e%3c/svg%3e");aspect-ratio:260/340;right:2%;top:10%}#wishes:before{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20260%20240'%20fill='none'%20stroke='%23b49a70'%20stroke-width='1.6'%20stroke-linejoin='round'%3e%3crect%20x='37'%20y='88'%20width='186'%20height='119'%20rx='5'/%3e%3cpath%20d='m38%2091%2092%2067%2092-67M38%20204l66-65m118%2065-66-65'/%3e%3cpath%20d='M130%2073c-19-13-35-26-35-40%200-16%2022-22%2035-7%2013-15%2035-9%2035%207%200%2014-16%2027-35%2040Z'/%3e%3cpath%20d='M53%2060c-10-7-19-14-19-21%200-9%2012-12%2019-4%207-8%2019-5%2019%204%200%207-9%2014-19%2021ZM210%2079c-9-6-17-13-17-19%200-8%2011-11%2017-4%206-7%2017-4%2017%204%200%206-8%2013-17%2019Z'/%3e%3c/svg%3e");aspect-ratio:260/240;left:3%;bottom:12%;transform:rotate(-14deg)}#rsvp{background:var(--paper)}@media (max-width:600px){#day:before,#venue:before,#wishes:before{width:180px;opacity:.11}#day:before{left:-95px;top:23%}#venue:before{right:-95px;top:8%}#wishes:before{left:-90px;bottom:8%}}#insert{color:inherit;font:inherit;padding:20px;scale:1;transition:transform .7s ease,scale .85s ease;cursor:default}#insert:disabled{opacity:1}.opening #insert{scale:1;animation:letter-out 1.5s .55s both;transform:translateY(-8%)}@keyframes letter-out{0%{transform:translateY(0);z-index:2}48%{transform:translateY(-115%);z-index:2}49%{transform:translateY(-115%);z-index:6}to{transform:translateY(-8%);z-index:6}}.letter-ready #insert{animation:none;z-index:6;transform:translateY(-8%);scale:1.04;cursor:pointer;box-shadow:0 20px 55px #554c3840}.letter-ready #insert:hover{scale:1.07}.letter-cta{font-size:10px;letter-spacing:.08em;color:var(--muted);opacity:0;transition:opacity .3s}.letter-ready .letter-cta{opacity:1}.zooming #insert,.zooming #insert:hover{transform:translateY(-8%);scale:3;cursor:default}.zooming .letter-cta{opacity:0}@media (prefers-reduced-motion:reduce){.opening #insert{animation:none;z-index:6;transform:translateY(-8%)}}select{font:inherit;width:100%;padding:14px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:2px;margin-bottom:24px;font-size:13px}select:focus-visible{outline:3px solid var(--gold);outline-offset:4px}#wishes{background:#fcf8ef}.wish-wheel{position:relative;max-width:760px;height:310px;margin:25px auto 0;overflow:hidden}.wish-wheel:before{content:"";position:absolute;width:540px;height:540px;border:1px solid #b49a7028;border-radius:50%;left:50%;top:-350px;transform:translate(-50%)}#wishCards{position:absolute;top:0;right:0;bottom:0;left:0}.wish-card{position:absolute;left:50%;top:25px;width:min(440px,85%);margin:0 0 0 max(-220px,-42.5%);padding:25px 24px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px #554c3812;border-radius:4px;max-height:265px;overflow:auto}.wish-card blockquote{font:25px/1.5 Cormorant Garamond,serif;margin:0 0 18px;white-space:pre-wrap;overflow-wrap:anywhere}.wish-card figcaption{font-size:12px;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.wish-enter{animation:wheel-arrive 1.1s ease both}.wish-exit{animation:wheel-depart 1.1s ease both;pointer-events:none}.wish-controls{display:flex;justify-content:center;gap:14px}.wish-controls[hidden]{display:none}.wish-controls button{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:10px 18px;border-radius:24px;font-size:12px}@keyframes wheel-arrive{0%{transform:translate(250px,-230px) rotate(-15deg);opacity:0}50%{transform:translate(165px,-65px) rotate(-6deg);opacity:.7}to{transform:translate(0) rotate(0);opacity:1}}@keyframes wheel-depart{0%{transform:translate(0) rotate(0);opacity:1}50%{transform:translate(-165px,-65px) rotate(6deg);opacity:.7}to{transform:translate(-250px,-230px) rotate(15deg);opacity:0}}@media (prefers-reduced-motion:reduce){.wish-enter,.wish-exit{animation:none}.wish-exit{display:none}}.venue-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:24px;align-items:center;max-width:1000px;margin:35px auto 25px}.venue-layout .map{width:100%;margin:0}.venue-contact{padding:24px;background:var(--paper);border:1px solid var(--line);border-radius:8px;text-align:left}.venue-contact h3,.whatsapp-panel h3{font:28px Cormorant Garamond,serif;margin:0 0 10px}.contact-links{display:grid;gap:10px}.contact-links a{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:12px;text-decoration:none}.contact-links a:hover{background:#f5eddd}.contact-links a>span:last-child{margin-left:auto}.whatsapp-icon{width:22px;height:22px;flex-shrink:0;color:#287b4f}.floating-controls{position:fixed;bottom:18px;right:18px;z-index:20;display:flex;align-items:center;gap:10px}.floating-controls #music{position:static}#whatsapp{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--paper);box-shadow:0 4px 20px #51483c15}.whatsapp-panel{position:absolute;right:0;bottom:58px;width:260px;max-width:calc(100vw - 36px);padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--paper);box-shadow:0 12px 35px #51483c20}.whatsapp-panel[hidden]{display:none}@media (max-width:760px){.venue-layout{grid-template-columns:1fr}.venue-contact{width:100%;max-width:480px;justify-self:center}}
