/* Illustrated stationery openings: artwork, textile and paper, without a seal control. */
.ao-preview{margin:0;background:#eee9df;color:#43574e;font-family:system-ui,sans-serif;min-height:100svh}
.ao-preview [hidden],.atelier-opening [hidden]{display:none!important}
.ao-preview [lang=ur],.atelier-opening [lang=ur]{display:none}
html[data-lang=ur] .ao-preview [lang=en],html[data-lang=ur] .atelier-opening [lang=en]{display:none}
html[data-lang=ur] .ao-preview [lang=ur],html[data-lang=ur] .atelier-opening [lang=ur]{display:inline;opacity:1;margin:0}
.ao-preview .atelier-opening{max-width:660px;margin:auto;min-height:100svh}
.atelier-opening,.atelier-opening *{box-sizing:border-box}
.atelier-opening{--ao-ink:#365347;--ao-gold:#a68b54;--ao-paper:#faf6e9;position:relative;z-index:2;width:100%;height:100%;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;align-items:center;justify-content:safe center;gap:18px;padding:24px 20px max(20px,env(safe-area-inset-bottom));color:var(--ao-ink);background:var(--ao-paper);font-family:'Cormorant Garamond',Georgia,serif}
.atelier-opening>*{position:relative;flex-shrink:0}
.ao-heading{font:400 9px/1.8 system-ui,sans-serif;letter-spacing:.26em;text-transform:uppercase;text-align:center}
.ao-heading::after{content:'';display:block;width:32px;height:1px;background:var(--ao-gold);margin:12px auto 0;opacity:.65}
.ao-heading [lang=ur]{letter-spacing:0;font:14px/2 'Noto Nastaliq Urdu',serif}
.ao-scene{width:min(100%,calc((100svh - 180px)*.6667),520px);min-width:min(100%,240px);aspect-ratio:2/3;position:relative;isolation:isolate;overflow:hidden;background:var(--ao-art) center/100% 100% var(--ao-paper);box-shadow:0 12px 38px #443b2514}
.ao-letter{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:22% 15%;background:var(--ao-art) center/100% 100% var(--ao-paper);text-align:center;overflow:auto;opacity:0;transform:translateY(15px);transition:opacity 1.6s .6s,transform 2.4s cubic-bezier(.2,.7,.2,1)}
.is-opening .ao-letter{opacity:1;transform:none}
.ao-blessing{font:clamp(15px,4vw,23px)/1.9 'Noto Nastaliq Urdu',serif;margin:0 0 8px}
.ao-names{max-width:100%;width:100%;font:clamp(26px,7vw,43px)/1.65 var(--font-script,'Great Vibes',cursive)}
.ao-names .fit-names-line{display:inline-block;white-space:nowrap;max-width:none;font-size:var(--fit-name-size,1em)}
.ao-names [lang=ur]{font-family:'Noto Nastaliq Urdu',serif;font-size:.6em}
.ao-date{font-size:15px;letter-spacing:.08em;margin:4px 0 0;padding-top:18px;border-top:1px solid color-mix(in srgb,var(--ao-gold) 45%,transparent)}
.ao-caption{font-size:17px;line-height:1.5;margin:0;overflow-wrap:anywhere}
.ao-note{white-space:pre-line;text-align:center;max-width:420px;font-size:17px;line-height:1.7;margin:0;overflow-wrap:anywhere}
.ao-note [lang=ur]{font:15px/2 'Noto Nastaliq Urdu',serif}
.ao-photo{display:block;width:100%;max-height:180px;object-fit:cover;margin-bottom:6px;flex-shrink:0;box-shadow:0 6px 20px #443b251a}
.ao-decor{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.ao-decor>*{position:absolute}
.ao-surface{position:absolute;z-index:4;inset:0;width:100%;height:100%;cursor:pointer;border:0;background:none;color:inherit}
.ao-surface:focus-visible{outline:2px solid var(--ao-gold);outline-offset:-10px}
.ao-door,.ao-lace,.ao-curtain{top:0;bottom:0;width:50.15%;background:var(--ao-art) left center/200% 100%;transform-origin:left center;transition:transform 2.8s cubic-bezier(.35,0,.18,1),filter 2.8s}
.ao-left{left:0}.ao-right{right:0;background-position:right center;transform-origin:right center}
.ao-door::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 70%,#fff5 94%,#59452e25);border-inline-end:1px solid var(--ao-gold)}
.ao-door.ao-right::after{transform:scaleX(-1)}
.is-opening .ao-door.ao-left{transform:translateX(-103%) rotate(-3deg)}.is-opening .ao-door.ao-right{transform:translateX(103%) rotate(3deg)}
[data-effect=glass] .ao-door::after{background:linear-gradient(115deg,transparent 20%,#ffffff70 35%,transparent 50%,#eddca52b 80%);border-color:#b69a62}
[data-effect=glass].is-opening .ao-door.ao-left{transform:translateX(-104%)}[data-effect=glass].is-opening .ao-door.ao-right{transform:translateX(104%)}
[data-effect=venue] .ao-door{transition-duration:3.2s}[data-effect=venue].is-opening .ao-door.ao-left{transform:translate(-103%,2%) rotate(-7deg)}[data-effect=venue].is-opening .ao-door.ao-right{transform:translate(103%,2%) rotate(7deg)}
.ao-lace{background-image:url('../img/collection/lace-fabric-v2.webp');filter:drop-shadow(0 6px 5px #67573b20);transition:transform 3s cubic-bezier(.3,.1,.18,1),opacity 3s}
.is-opening .ao-lace.ao-left{transform:translate(-104%,-8%) rotate(-8deg);opacity:.4}.is-opening .ao-lace.ao-right{transform:translate(104%,-6%) rotate(8deg);opacity:.4}
.ao-curtain{background-image:url('../img/collection/velvet-fabric-v2.webp');transition:transform 3.2s cubic-bezier(.4,.03,.18,1),filter 3s;filter:drop-shadow(2px 0 4px #1f101030)}
.is-opening .ao-curtain.ao-left{transform:translateX(-88%) scaleX(.3)}.is-opening .ao-curtain.ao-right{transform:translateX(88%) scaleX(.3)}
.ao-valance{inset:0 0 auto;height:5%;background:linear-gradient(#42242b99,transparent);transition:opacity 2s}.is-opening .ao-valance{opacity:0}
.ao-sky{inset:0;background:linear-gradient(#162039c9,#2939584d 55%,#e1bd8a38),var(--ao-art) center/100% 100%;transition:opacity 2.9s}
.ao-sun{width:25%;aspect-ratio:1;border-radius:50%;left:37.5%;top:20%;background:radial-gradient(#ffe8ba,#eed4a04d 60%,transparent 72%);opacity:0;transform:translateY(80px);transition:opacity 2s,transform 3s}
.ao-moon{width:32px;height:32px;right:22%;top:19%;border-radius:50%;box-shadow:-6px 2px 0 1px #f1dbab;transition:opacity 2s}.ao-stars{inset:12% 15%;color:#e8d9b7;font:20px/4 Georgia;letter-spacing:16px;transition:opacity 1.5s}
.is-opening .ao-sky{opacity:0}.is-opening .ao-moon,.is-opening .ao-stars{opacity:0}.is-opening .ao-sun{transform:translateY(-20px);opacity:1}
.ao-fold{left:0;right:0;height:50.2%;background:var(--ao-art) center top/100% 200%;transition:transform 2.8s cubic-bezier(.3,0,.2,1);box-shadow:0 0 12px #4b352516}
.ao-fold.ao-top{top:0}.ao-fold.ao-bottom{bottom:0;background-position:bottom}.is-opening .ao-fold.ao-top{transform:translateY(-104%) rotate(-4deg)}.is-opening .ao-fold.ao-bottom{transform:translateY(104%) rotate(4deg)}
.ao-pop-garden{display:none}
.ao-heart{inset:0;width:100%;background:var(--ao-art) center/100% 100%;transition:transform 3s cubic-bezier(.3,.05,.15,1),opacity 2.8s;filter:drop-shadow(0 4px 5px #47372220)}
.ao-heart.ao-left{clip-path:polygon(0 0,52% 0,64% 35%,50% 55%,36% 35%,50% 100%,0 100%)}
.ao-heart.ao-right{clip-path:polygon(52% 0,100% 0,100% 100%,50% 100%,36% 35%,50% 55%,64% 35%)}
.is-opening .ao-heart.ao-left{transform:translateX(-104%) rotate(-8deg);opacity:.3}.is-opening .ao-heart.ao-right{transform:translateX(104%) rotate(8deg);opacity:.3}
.ao-ribbon{top:48%;left:0;right:0;height:15px;background:linear-gradient(#e5d7b7,#faf0d7,#bb9e69);transition:transform 2.8s,opacity 2s}
.ao-bird{width:24%;top:33%;fill:var(--ao-paper);stroke:var(--ao-gold);stroke-width:1.5;filter:drop-shadow(0 3px 3px #57422920);transition:transform 3s,opacity 2.8s}
.ao-bird.ao-left{left:22%}.ao-bird.ao-right{right:22%;transform:scaleX(-1)}
.is-opening .ao-bird.ao-left{transform:translate(-220%,-100%) rotate(-15deg);opacity:0}.is-opening .ao-bird.ao-right{transform:translate(220%,-100%) scaleX(-1) rotate(-15deg);opacity:0}.is-opening .ao-ribbon{transform:translateY(-140px) rotate(-9deg);opacity:0}
.ao-wing{transform-origin:90px 70px}.is-opening .ao-wing{animation:aoWing .65s ease-in-out 4 alternate}@keyframes aoWing{to{transform:scaleY(.45)}}
.ao-flower{inset:0}.ao-flower i{position:absolute;inset:0;background:var(--ao-art) center/100% 100%;clip-path:var(--petal-clip);transform:translate(0,0);transform-origin:center;transition:transform 2.7s cubic-bezier(.3,.1,.2,1),opacity 2.5s;transition-delay:calc(var(--n)*.035s)}
.ao-flower i::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,transparent 50%,#fff2)}
.is-opening .ao-flower i{transform:translate(var(--dx),var(--dy)) rotate(6deg);opacity:0}.ao-flower b{display:none}
.ao-tassel{left:calc(50% - 12px);top:40%;height:34%;width:24px;touch-action:none;cursor:grab;pointer-events:auto;transition:transform 1.4s,opacity 1.4s;background:linear-gradient(90deg,transparent 45%,var(--ao-gold) 45% 55%,transparent 55%)}
.ao-tassel i{position:absolute;bottom:0;width:24px;height:35px;clip-path:polygon(40% 0,60% 0,100% 100%,0 100%);background:repeating-linear-gradient(90deg,#b39154 0 1px,#f0dca4 1px 3px)}.is-opening .ao-tassel{transform:translateY(100px);opacity:0}
.ao-pearls{inset:0;background:linear-gradient(var(--ao-paper),transparent 70%);transition:opacity 2s 1s}.ao-pearls i{position:absolute;left:calc(var(--n)*9% + 4%);width:5px;height:100%;background:radial-gradient(circle at 35% 32%,#fffef5,#e2d5bc 60%,#99845c 72%,transparent 74%) 0 0/5px 12px;transform-origin:top;transition:transform 2.7s cubic-bezier(.4,0,.2,1);transition-delay:calc(var(--n)*.04s)}
.is-opening .ao-pearls{opacity:0}.is-opening .ao-pearls i{transform:translateY(-102%) rotate(calc((var(--n) - 5)*2deg))}
.ao-candles{inset:0;background:linear-gradient(#18142166,#18142130);transition:opacity 1.6s 1.4s}.ao-candles i{position:absolute;left:calc(30% + var(--n)*17%);bottom:22%;width:13px;height:calc(12% + var(--n)*2%);background:linear-gradient(90deg,#c5b794,#fff8e2,#d4c6a5);border-radius:3px 3px 0 0;box-shadow:2px 4px 4px #0002}
.ao-candles i::after{content:'';position:absolute;bottom:-7px;left:-7px;width:27px;height:8px;border-radius:50%;background:linear-gradient(#e3c894,#927145)}
.ao-candles b{position:absolute;top:-22px;left:2px;height:22px;width:9px;border-radius:80% 20% 70% 30%;background:radial-gradient(at 50% 75%,#fff9d2,#ffd65a,#e78e30);opacity:0;transform:scaleY(.2);transition:opacity .6s,transform .6s;transition-delay:calc(var(--n)*.4s);box-shadow:0 0 28px 12px #eac57866}
.is-opening .ao-candles b{opacity:1;transform:scaleY(1)}.is-opening .ao-candles{opacity:0}
.ao-wave{inset:0;background:var(--ao-art) center/100% 100%;clip-path:ellipse(120% 110% at 50% 100%);transition:transform 3s cubic-bezier(.4,.05,.2,1),opacity 2.6s}
.ao-wave-back{background:linear-gradient(#c8dcd8,var(--ao-paper));transition-delay:.15s}.is-opening .ao-wave{transform:translateY(106%) rotate(4deg);opacity:.3}
.ao-chain{display:none}.ao-locket{inset:0;background:var(--ao-art) center/100% 100%;border:1px solid var(--ao-gold);transform-origin:8% center;transition:transform 3s cubic-bezier(.3,0,.2,1),opacity 2.7s}
.ao-locket i{position:absolute;left:calc(50% - 25px);top:40%;width:50px;text-align:center;font:42px Georgia;color:var(--ao-gold)}.is-opening .ao-locket{transform:translateX(-105%) rotate(-9deg);opacity:.3}
.ao-scratch{inset:0;width:100%;height:100%;pointer-events:auto;touch-action:none;transition:opacity 1.1s}
[data-effect=photo] .ao-letter,[data-effect=sparkle] .ao-letter{opacity:1;transform:none}.is-opening .ao-scratch{opacity:0;pointer-events:none}
.ao-sparkles{inset:0;pointer-events:none;overflow:hidden}.ao-sparkles i{position:absolute;left:50%;top:48%;font-style:normal;font-size:14px;color:var(--ao-gold);opacity:0}
.is-opening .ao-sparkles i{animation:aoStarBurst 1.8s ease-out .35s both;--angle:calc(var(--n)*20deg)}
@keyframes aoStarBurst{0%{opacity:0;transform:rotate(var(--angle)) translateY(0) scale(.2)}15%{opacity:1}100%{opacity:0;transform:rotate(var(--angle)) translateY(-200px) scale(.6)}}
.ao-walk-art{inset:0;transition:opacity 2.4s;overflow:hidden;background:var(--ao-paper)}
.ao-walk-art i{position:absolute;inset:calc(var(--n)*9%);border:16px solid transparent;border-radius:48% 48% 0 0;background:var(--ao-art) center/cover;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;padding:14px;transform:scale(calc(1 + var(--ao-progress,0)*(4 - var(--n)*.7)));transform-origin:center 65%}
.ao-walk-scroll{inset:0;overflow-y:auto;overscroll-behavior:contain;pointer-events:auto;scrollbar-width:thin;scrollbar-color:var(--ao-gold) transparent;touch-action:pan-y}
.ao-walk-scroll>div{height:360%;min-height:1200px}.is-opening .ao-walk-art{opacity:0}.is-opening .ao-walk-scroll{pointer-events:none;visibility:hidden}
.ao-actions{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;z-index:5}
.ao-actions button{font:400 10px/1.8 system-ui,sans-serif;letter-spacing:.17em;text-transform:uppercase;background:none;color:var(--ao-ink);border:0;border-bottom:1px solid color-mix(in srgb,var(--ao-gold) 50%,transparent);padding:8px 12px;min-height:40px;cursor:pointer;max-width:100%;white-space:normal}
.ao-actions button:disabled{opacity:.45;cursor:default}.ao-actions .ao-skip{border:0;letter-spacing:.04em;text-transform:none;font-size:10px;opacity:.7;min-height:32px;padding:3px 12px}
.ao-actions button:focus-visible{outline:2px solid var(--ao-gold);outline-offset:3px}
.ao-status{position:absolute;left:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:0}
.ao-actions [lang=ur]{font-family:'Noto Nastaliq Urdu',serif;line-height:2;letter-spacing:0;font-size:13px}
@media(max-width:480px){.atelier-opening{padding:18px 12px max(16px,env(safe-area-inset-bottom));gap:14px}.ao-heading{font-size:8px}.ao-scene{width:min(100%,calc((100svh - 170px)*.6667));min-width:min(100%,250px)}.ao-note{font-size:15px}.ao-names{font-size:34px}}
@media(max-height:560px){.atelier-opening{justify-content:flex-start}.ao-scene{width:260px;min-width:min(100%,260px)}.ao-heading{font-size:8px}.ao-blessing{font-size:16px}.ao-names{font-size:28px}}
@media(prefers-reduced-motion:reduce){.atelier-opening *{animation:none!important;transition-duration:.01ms!important;transition-delay:0ms!important}.is-opening .ao-decor{opacity:0}}
@media print{.atelier-opening{display:none!important}}

/* Rich artwork continues through the full card, with different compositions per family. */
body[data-design-family^="collection-"] .hero.hero-art{min-height:800px;padding:205px 90px 180px;background-size:100% 100%;background-repeat:no-repeat}
body[data-design-family^="collection-"] .hero .name{font-size:clamp(2.7rem,9vw,4.8rem);text-shadow:none}
body[data-design-family^="collection-"] .sec:not(.hero){position:relative}
body[data-design-family^="collection-"] .sec:not(.hero)::after{content:none}
body[data-design-family^="collection-"] .event{border:1px solid var(--line);border-radius:90px 90px 4px 4px;padding:35px 22px;background:color-mix(in srgb,var(--card) 94%,var(--accent))}
body[data-design-family="collection-editorial"] .hero .name{font-family:'Cormorant Garamond',Georgia,serif;text-transform:uppercase;letter-spacing:.045em;font-size:clamp(2rem,7vw,3.6rem)}
body[data-design-family="collection-editorial"] .sec-title{font-style:italic}body[data-design-family="collection-editorial"] .event{border-radius:0;border-width:1px 0}
body[data-design-family="collection-paper"] .frame{box-shadow:6px 7px 0 var(--card),7px 8px 0 var(--accent),12px 14px 0 var(--card),13px 15px 0 var(--line)}
body[data-design-family="collection-glass"] .event{background:linear-gradient(130deg,#b6cec333,transparent 60%,#e9ca8a33);border:2px solid var(--accent)}
body[data-design-family="collection-theatre"] .sec-title{font-style:italic}body[data-design-family="collection-theatre"] .closing{border-top:9px double var(--accent)}
body[data-design-family="collection-tile"] .frame{border:8px double var(--accent)}
body[data-design-family="collection-bold"] .hero .name{font-family:Georgia,serif;letter-spacing:-.04em}body[data-design-family="collection-bold"] .event{border:3px solid var(--ink);border-radius:0;box-shadow:6px 6px 0 var(--accent)}
body[data-design-family="collection-noir"] .hero,body[data-design-family="collection-noir"] .sec{color:var(--ink);background-color:var(--card)}
.atelier-opening[data-family="collection-noir"] .ao-letter{background:linear-gradient(#24252acc,#24252acc),var(--ao-art) center/100% 100%}
body[data-design-family="collection-boho"] .event{border-radius:120px 120px 12px 12px}body[data-design-family="collection-boho"] .sec-title{font-family:Georgia,serif}
.announcement-card{max-width:640px;margin:auto;text-align:center;background:var(--atelier-paper,#fff9ee);color:var(--atelier-ink,#365347);min-height:100svh;padding:70px 30px 100px}
.announcement-art{background:var(--atelier-art) center/100% 100%;padding:170px 50px;min-height:650px;display:flex;flex-direction:column;justify-content:center}
.announcement-art .name{font:clamp(2.4rem,8vw,4rem)/1.4 'Great Vibes',cursive}.announcement-art .name [lang=ur]{font-family:'Noto Nastaliq Urdu',serif;font-size:.65em}
.announcement-art .eyebrow{font:11px/1.8 system-ui;letter-spacing:.17em}.announcement-art .date{font:22px/1.6 Georgia,serif}.announcement-art img{width:100%;max-height:230px;object-fit:cover;margin:20px 0}
.announcement-note{font:21px/1.7 'Cormorant Garamond',Georgia,serif;white-space:pre-line;overflow-wrap:anywhere}.announcement-card .countdown{margin:28px 0}.announcement-card .btn{margin:8px}
@media(max-width:480px){body[data-design-family^="collection-"] .hero.hero-art{min-height:690px;padding:165px 65px 160px}body[data-design-family^="collection-"] .hero .name{font-size:clamp(2rem,9vw,3rem)}.announcement-card{padding:25px 12px 90px}.announcement-art{padding:150px 48px;min-height:620px}}

@media(prefers-reduced-motion:reduce){.atelier-opening *{animation:none!important;transition-duration:.01ms!important;transition-delay:0ms!important}}
@media print{.atelier-opening{display:none!important}}
