/* Persian garden — presentation only; panel data and endpoints remain the source of truth. */
:root{--ink:#503b28;--muted:#78654e;--wine:#782e32;--wine-soft:#9d5051;--paper:#f6ead5;--ivory:#fbf3e3;--cream:#ebdabe;--champagne:#aa8147;--line:#c6ac7f;--rose:#9e383d;--rose-deep:#702a2d;--sage:#6f7754;--shadow:0 18px 50px #69481f12}
body{background:#e7d7b9;color:var(--ink)}body:before{background:radial-gradient(ellipse at 8% 20%,#b2926355,transparent 55%),radial-gradient(ellipse at 100% 75%,#356f7125,transparent 45%)}
#invitation,.site-footer{max-width:800px;background-color:var(--paper);background-image:radial-gradient(ellipse at 45% 20%,#fff9e7b8,transparent 65%),repeating-linear-gradient(95deg,#bda37505 0 1px,transparent 1px 4px);box-shadow:0 0 100px #4935151f}
#invitation:before{inset:12px;border-inline:1px solid #b498625c}#invitation:after{content:'';position:absolute;inset:18px;z-index:-1;border-inline:1px solid #b4986229;pointer-events:none}
.persian-art{display:block;pointer-events:none;line-height:0}.persian-art svg{display:block;width:100%;height:100%;overflow:hidden}.persian-art img{display:block}.section-pad{padding:64px 40px;position:relative}.section-heading h2,.dress-code-heading h2,.venue-card h2{color:var(--wine);font-size:clamp(33px,6vw,45px);line-height:2;padding-block:8px 12px}.section-heading:before{display:none}.section-heading:after{content:'◆';display:block;font:10px/1 Georgia;color:#ad8950;margin:16px auto 0;width:100px;border-inline:35px solid #b59b684f}.section-heading p{color:var(--muted)}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #356f72;outline-offset:4px}.petal-rain i{background:#99282d8a;width:9px;height:14px}.petal-rain{z-index:4}.music-toggle{background:#fff6e6ed;border-color:#bfa277;color:var(--wine)}
/* Gateway: a transparent architecture layer around a Persian garden view. */
.persian-portal{position:relative;aspect-ratio:1314/1197;width:100%;isolation:isolate}.portal-architecture{position:relative;display:block;width:100%;height:auto;z-index:2}.portal-garden{position:absolute;left:36.5%;top:30%;width:27%;height:55%;overflow:hidden;background:#dfddbd;border-radius:48% 48% 0 0}.portal-garden svg{height:145%;width:130%;max-width:none;position:absolute;bottom:0;left:-15%}
.hero{padding:4px 0 85px;min-height:0}.hero-content{max-width:none;width:100%;gap:0}.hero-content>.persian-portal{width:118%;max-width:none;margin:0 -9% -55px}.hero-nameplate{position:relative;z-index:3;margin:0 auto;width:70%;max-width:470px;padding:40px 20px 24px;background:radial-gradient(ellipse at 50% 35%,#fff7e6,#f3e1c0);border:1px solid #b28d4e;border-radius:38% 38% 18px 18px/36px 36px 18px 18px;box-shadow:0 0 0 4px #ebd4ad,0 0 0 5px #aa814780,0 15px 22px #62421b15}
.hero-nameplate:after{content:'';position:absolute;inset:9px;border:1px solid #bda16a80;border-radius:inherit;pointer-events:none}.nameplate-crown{position:absolute;top:-30px;left:8%;width:84%;height:58px;z-index:2}.hero-persian-names{font:400 clamp(36px,8vw,66px)/1.9 Miremad,var(--fa);color:#694626;overflow-wrap:anywhere;margin:0 0 4px}.hero-persian-names span{font-size:.55em;color:#956832;padding:0 .2em}.hero-content h1{font-size:clamp(27px,6vw,45px);line-height:1.5;color:#855c38;margin:0 auto 9px;max-width:95%}.hero-content h1 b{color:#a78a54}.hero-kicker{font:9px/1.8 Georgia;letter-spacing:.25em;color:#937a50;margin:7px 0}.hero-date{letter-spacing:.17em;font-size:13px;margin:10px 0;color:#705334}.nameplate-flourish{width:96px;height:27px;margin:10px auto 0}.hero-guest{font-size:12px;line-height:2.2;padding:0 7px;margin:0 0 15px}.hero-guest strong{display:block;font-weight:600;color:var(--wine);overflow-wrap:anywhere}.scroll-cue{bottom:15px}.scroll-cue i{border-color:#9e7c4c}.scroll-cue i:before{background:#865f31}
/* A calm, readable center surrounded by actual reference ornaments. */
#invitationText{padding:55px 40px 64px}.message-card{padding:68px 34px 46px;border-radius:100px 100px 8px 8px;max-width:610px;background:#fcf3e0;border-color:#bca06b;box-shadow:inset 0 0 0 6px #f0dfbf80,0 14px 40px #6644150b}.message-card:before{display:none}.message-card:after{border-color:#c1a57688}.message-content{gap:20px}.message-content h2{color:var(--wine);font-size:clamp(29px,6vw,38px);line-height:2.2}.message-monogram{color:#a08654}.invitation-copy{font-size:15px;line-height:2.65}.message-content strong{color:#7e6341}.message-bird{position:absolute;width:160px;height:88px;right:10%;top:-6px;z-index:4;transform:rotate(-6deg)}.card-corner{position:absolute;width:74px;height:82px;top:6px;z-index:1;opacity:.95}.corner-right{right:3px;transform:scaleX(-1)}.corner-left{left:3px}.family-pair{white-space:normal;flex-wrap:wrap}.families-name{color:#71542f}.persian-portrait{position:relative;width:85%;max-width:470px;margin:70px auto 0;padding:7px;background:#fff1d8;border:1px solid #b6975b;border-radius:48% 48% 6px 6px;box-shadow:0 0 0 5px #d8c29b55,0 18px 35px #7857281a}.persian-portrait .couple-photo{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;filter:none;border-radius:48% 48% 3px 3px}.portrait-flowers{position:absolute;top:-28px;left:-7%;width:114%;height:105px;z-index:3;transform:rotate(-4deg);transform-origin:center}.portrait-bouquet{position:absolute;width:34%;height:125px;bottom:-35px;right:-9%;z-index:4}
.section-flower{position:absolute;width:105px;height:90px;z-index:3;opacity:.95}.flower-right{right:-20px;bottom:0;transform:rotate(-18deg)}.flower-left{left:-30px;top:26px;transform:scaleX(-1) rotate(-18deg)}
.calendar-section{padding-block:32px 48px}.calendar-card{border:1px solid #b99c6599;border-radius:6px;padding:35px 22px;background:linear-gradient(120deg,#fff7e7,#f2e3c9);box-shadow:inset 0 0 0 6px #fffbef6b}.simple-countdown{gap:12px;direction:rtl}.countdown-unit{padding:10px 2px;border:1px solid #b99b68;border-radius:5px;background:#fff6e6;box-shadow:0 4px 10px #60461908;position:relative}.countdown-unit:last-child{border:1px solid #b99b68}.countdown-unit:after{content:'◆';position:absolute;bottom:-9px;left:calc(50% - 4px);color:#b39561;font-size:8px;background:#f6e9d2;line-height:15px}.simple-countdown strong{font-size:clamp(26px,6vw,40px);color:#744a2b}.calendar-label{margin:0;color:#806a47}.calendar-divider{color:#af8c4e}.calendar-date{color:#75442d}.ceremony-note{font-size:13px}.ceremony-start{color:#634a30}
.program-paper{border-radius:80px 80px 7px 7px;background:#fbf1df;border-color:#b99b688c;padding:36px 22px 28px;overflow:hidden}.program-medallion{width:55px;height:61px;margin:0 auto 14px}.program-week{border-color:#c5ad7a6b}.program-month{color:#76512e}.ceremony-day time{background:#7d3035;color:#fff;box-shadow:0 0 0 3px #b28c4929}.program-day>span{color:#806b4c}.program-item{min-height:164px}.program-copy{width:40%}.program-copy time{color:#8d5334}.program-copy h3{color:#6d422b}.program-icon{color:#a8854c}.route-base{stroke:#b8a279}.route-progress{stroke:#94733e}.program-marker{background:#bc9d61;border-color:#fff5df}.program-item.passed .program-marker{background:#762f34}.timeline-runner{width:35px;height:40px;filter:drop-shadow(0 3px 4px #76532925)}.timeline-runner .persian-art{width:100%;height:100%}.program-end-heart{stroke:#9a683b}
.dress-code-paper{padding:32px 23px;border:1px solid #bea16a80;background:#f8edd8;border-radius:6px;box-shadow:inset 0 0 0 6px #fff9e842}.dress-code-heading p{font-size:14px;line-height:2.4}.dress-code-rule{color:#a37a3e}.fashion-scene{padding:0 18px 12px;border-radius:46% 46% 2px 2px;background:radial-gradient(ellipse,#e4cba16b,transparent 70%);max-width:350px;overflow:visible}.fashion-chandelier{height:142px;width:140px;z-index:2}.fashion-couple{max-width:285px;filter:sepia(.16) saturate(.85)}.fashion-bouquet{position:absolute;width:100px;height:90px;bottom:5px;left:-5px}.persian-swatch{display:block;width:clamp(29px,8vw,52px);aspect-ratio:1;margin:0 auto 13px;border-radius:50%;background:var(--swatch);border:3px solid #f9eed7;outline:1px solid #b29a6b;box-shadow:0 3px 6px #694a2b17}.dress-swatch figcaption{color:#705939}.dress-palette{margin-bottom:10px}
.venue-card{background:#fbf2df;border-color:#b99b61;padding:25px 25px 32px;outline-color:#c6ab7377}.venue-card:before{display:none}.venue-garden{width:100%;height:270px;margin:0 0 25px;overflow:hidden;border-radius:44% 44% 0 0;border:1px solid #b49a60;background:#dccdac}.venue-garden svg{height:145%;max-width:none;transform:translateY(-20%)}.venue-pin{color:#a98646}.venue-card address{line-height:2.4}.map-preview{border-color:#f7e9d0}.neshan-route{background:linear-gradient(115deg,#8b353b,#6e292d);box-shadow:0 5px 12px #74352a1a;border:1px solid #995354}.map-click-layer span{background:#fff5e4ed;color:#634b2e}
.gallery-section{padding-block:54px 58px}.gallery-card{border-color:#b39766;background:#fff5e2;padding:7px}.gallery-card img{background:#f3e6cc}.empty-album{border-color:#c1a470;background:#fbf0db}.empty-album span{color:var(--wine)}
/* Controls sit at the sides of a single item, with the count beneath it. */
.carousel-shell{position:relative;max-width:580px;margin:0 auto;width:100%;padding:0 32px}.carousel-shell .carousel-controls{position:static;margin-top:18px;min-height:26px;gap:0}.carousel-controls button{position:absolute;top:42%;z-index:4;background:#fff6e6f2;border-color:#a68a58;box-shadow:0 3px 12px #59432125;color:#713f2c;width:44px;height:44px;transition:background .2s}.carousel-controls button:first-child{right:-4px}.carousel-controls button:last-child{left:-4px}.carousel-controls button:not(:disabled):hover{background:#ead5af}.carousel-controls button:disabled{opacity:.3}.carousel-count{color:#7f6441!important}.single-item-carousel>.gallery-card img{max-height:580px;min-height:200px;object-fit:contain}.single-item-carousel>blockquote{min-height:150px}.single-item-carousel>figure img,.single-item-carousel>figure video{background:#ede0c6;max-height:520px}.carousel-current{border-color:#bda272!important}
.wedding-form{background:#fff5e2;border-color:#b99c697d;border-radius:6px;box-shadow:inset 0 0 0 6px #f1e1c44d;padding:32px 25px;gap:17px}.wedding-form h3{color:#742f32;line-height:2.2}.wedding-form input:not([type=radio]):not([type=checkbox]),.wedding-form textarea{border-color:#c1aa80;background:#fffaf1;color:#503b28}.wedding-form input[type=radio]{accent-color:#793139}.wedding-form button[type=submit]{background:linear-gradient(115deg,#913c42,#6e292d);border-color:#995158;box-shadow:0 4px 13px #70352515}.wedding-form .choice{border:1px solid #ccb58c;border-radius:24px;margin:8px 0;padding:9px 12px}.wedding-form .choice:has(input:checked){background:#f0e1c9;border-color:#ac8957}.wedding-form .choice span{font-size:13px}#guestbookForm:before{display:none}#guestbookForm{padding-top:32px}.participation-forms{gap:36px}.guestbook-wall{border:1px solid #c0a572;background:#f7ecd5;padding:26px 12px;border-radius:5px}.guestbook-wall header>span{color:#a77d40}.guestbook-wall header h3{color:#72482d}.guest-notes blockquote{background:#fff7e6;border-color:#c5ad83;padding:25px 15px}.guest-notes cite{color:#96583a}.guest-media-paper{background:#faf0dc;border-color:#bda06a;padding:38px 25px;box-shadow:inset 0 0 0 6px #fff9ed77}.guest-media-form{padding:0;background:none;border:0;box-shadow:none}.media-picker{background:#efe0c36b;border-color:#af9058}.media-picker input::file-selector-button{background:#7a3335}.media-consent .choice{border-color:#cbb58d;border-radius:8px}.guest-media-form progress{accent-color:#8b4a37}.shared-moments h3{color:#704731}.shared-media-grid figure{background:#fff6e3}.media-file-card{background:#eee0c8}.back-to-invitation{background:#fff4df;border-color:#bba06f}.lightbox{background:#fff4de;border-color:#b89b66}.lightbox::backdrop{background:#261d13d9}
.site-footer{border-color:#b69a644f;padding:100px 25px 50px;overflow:hidden;isolation:isolate}.site-footer:before{display:none}.footer-garland{position:absolute;top:-8px;left:5%;width:90%;height:105px;z-index:-1}.footer-vase{position:absolute;right:-5px;bottom:0;width:110px;height:148px;opacity:.9;z-index:-1}.footer-couple{color:#845b39}.footer-couple b{color:#ac8a4d}.footer-instagram{color:#8d6341}.footer-logo-link{border-color:#c1a97e}
/* Entry animation moves toward the garden; a custom movie remains available in the panel. */
.persian-intro{background:radial-gradient(ellipse at 50% 45%,#fff8e6,#ead8b6);transition:opacity .9s,visibility .9s}.persian-intro .intro-stage{display:flex;align-items:center;justify-content:center;max-width:850px;height:100%;min-height:100svh;overflow:hidden}.persian-intro .persian-portal{position:absolute;width:130%;max-width:none;left:-15%;top:50%;transform:translateY(-52%);transition:transform 1.6s cubic-bezier(.33,.03,.23,1),filter 1.4s}.persian-intro.playing .persian-portal{transform:translateY(-52%) scale(1.65);filter:brightness(1.7)}.intro-medallion{position:absolute;left:calc(50% - 30px);top:52%;width:60px;height:66px;filter:drop-shadow(0 4px 8px #54412255);transition:opacity .5s,transform .7s}.persian-intro.playing .intro-medallion{opacity:0;transform:scale(1.4)}.persian-intro .intro-hint{bottom:8%;color:#693d24;text-shadow:0 1px 3px #fff8ec;font-size:14px}.persian-intro .intro-hint span{background:#fff4ddf2;border:1px solid #b89b68;padding:10px 23px;border-radius:30px;box-shadow:0 4px 18px #513a1420}.persian-intro .intro-hint i{border-color:#a5814b;margin-top:22px}.persian-intro .intro-personal{top:10%;color:#713d2d!important;text-shadow:0 1px 8px #fff7e3!important;background:#fff3dbed;padding:12px 15px;border:1px solid #c3a56c;border-radius:6px;left:14%;right:14%;font-size:13px}.persian-intro .intro-personal strong{font-size:18px;color:#793238!important;text-shadow:none!important}
@media(min-width:650px){.section-pad{padding-inline:74px}.hero{padding-bottom:85px}.hero-content>.persian-portal{width:100%;margin:0 0 -84px}.hero-nameplate{padding-top:44px}.hero-persian-names{font-size:64px}.hero-content h1{font-size:44px}.hero-nameplate .nameplate-crown{top:-40px;height:72px}.message-bird{right:12%;width:190px;top:-1px}.section-flower{width:145px;height:120px}.flower-right{right:-15px}.flower-left{left:-22px}.invitation-copy{font-size:16px}#invitationText{padding-inline:74px}.portrait-flowers{height:120px}.venue-garden{height:350px}.program-copy h3{font-size:17px}.program-item{min-height:175px}.persian-intro .persian-portal{width:100%;left:0}.persian-intro .intro-hint{bottom:5%}}
@media(max-width:420px){.section-pad{padding-inline:23px;padding-block:48px}#invitationText{padding:44px 23px 50px}.hero-nameplate{width:75%;padding:30px 12px 18px}.hero-persian-names{font-size:38px}.nameplate-crown{top:-26px;height:47px}.hero-content>.persian-portal{margin-bottom:-30px}.hero-content h1{font-size:30px}.hero-date{font-size:11px}.message-card{padding:65px 22px 35px}.message-bird{width:136px;right:7%;top:0}.invitation-copy{font-size:14px;line-height:2.6}.card-corner{width:61px;height:68px}.section-flower{width:84px;height:72px;opacity:.92}.flower-left{left:-24px}.flower-right{right:-20px}.calendar-card{padding:30px 15px}.simple-countdown{gap:8px}.simple-countdown strong{font-size:28px}.program-paper{padding:30px 15px 22px}.program-item{min-height:165px}.program-copy h3{font-size:13px}.program-copy p{font-size:11px}.program-day>span{font-size:8px}.program-day time{width:27px;font-size:11px}.venue-card{padding:18px 17px 27px}.venue-garden{height:230px}.dress-code-paper{padding-inline:14px}.dress-swatch figcaption{font-size:10px}.wedding-form{padding:28px 18px}.guest-media-paper{padding:30px 18px}.guest-media-form{padding:0}.carousel-shell{padding:0 23px}.carousel-controls button:first-child{right:-14px}.carousel-controls button:last-child{left:-14px}.shared-moments .carousel-shell{padding:0 10px}.shared-moments .carousel-controls button:first-child{right:-23px}.shared-moments .carousel-controls button:last-child{left:-23px}.guestbook-wall .carousel-shell{padding:0 20px}.guestbook-wall .carousel-controls button:first-child{right:-10px}.guestbook-wall .carousel-controls button:last-child{left:-10px}.guest-notes blockquote p{font-size:13px}.portrait-flowers{height:82px}.persian-portrait{width:88%;margin-top:55px}.portrait-bouquet{height:85px}.hero-guest{font-size:11px}.site-footer{padding-top:88px}.footer-vase{width:84px;height:120px}}
@media(max-width:350px){.section-pad{padding-inline:20px}.hero-persian-names{font-size:33px}.hero-content h1{font-size:27px}.hero-date{letter-spacing:.1em}.program-paper{padding-inline:10px}.program-day>span{font-size:7px}.wedding-form{padding-inline:15px}.guest-media-paper{padding-inline:16px}.guest-media-form{padding:0}.section-heading h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){.persian-intro .persian-portal{transition:none}.persian-intro.playing .persian-portal{transform:translateY(-52%);filter:none}.persian-art,.persian-art svg{animation:none!important}}
@media print{body{background:white}.wedding-form,.guest-media-form{display:none}#invitation,.site-footer{box-shadow:none}}
/* Bound sprite viewports and fine tile corners. */
.portal-garden svg{width:100%;height:100%;max-width:100%;left:0;bottom:0}.portal-garden svg{overflow:hidden}.venue-garden svg{height:150%;transform:translateY(-19%)}
.persian-paper{position:relative}.paper-corner{position:absolute;top:0;width:49px;height:53px;z-index:3;opacity:.72}.paper-left{left:0}.paper-right{right:0;transform:scaleX(-1)}.program-paper>.paper-corner{top:31px;width:45px}.venue-card>.paper-corner{top:auto;bottom:0;opacity:.6}.venue-card>.paper-left{transform:scaleY(-1)}.venue-card>.paper-right{transform:scale(-1)}
@media(min-width:650px){.paper-corner{width:65px;height:71px}.program-paper>.paper-corner{width:57px;height:62px}}
.fashion-scene{padding:0;max-width:450px;margin:25px auto;border:1px solid #b19763;border-radius:46% 46% 3px 3px;overflow:hidden;background:#ebdbbd;box-shadow:0 0 0 5px #e4d0a953}.fashion-couple{display:block;width:100%;max-width:none;animation:none;filter:none;aspect-ratio:4/5;object-fit:cover}
@media(max-width:420px){.fashion-scene{margin-inline:8px}}
.hero-persian-names{line-height:2.1;padding-bottom:.22em}
.section-heading:after{border:0;width:110px;height:16px;line-height:16px;background:linear-gradient(#b59b6875,#b59b6875) left center/38px 1px no-repeat,linear-gradient(#b59b6875,#b59b6875) right center/38px 1px no-repeat}.venue-pin{display:inline-flex;width:27px;height:32px;margin:0 auto 8px}.venue-pin svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.15}
